diff --git a/frontend-web/src/components/workspace/input-box.tsx b/frontend-web/src/components/workspace/input-box.tsx
index 7bc633fa..4bc67415 100644
--- a/frontend-web/src/components/workspace/input-box.tsx
+++ b/frontend-web/src/components/workspace/input-box.tsx
@@ -80,35 +80,14 @@ import {
DropdownMenuTrigger,
} from "../ui/dropdown-menu";
+import { useRecommendedQuestions } from "@/core/recommended-questions/hooks";
+
import { useThread } from "./messages/context";
import { ModeHoverGuide } from "./mode-hover-guide";
import { Tooltip } from "./tooltip";
type InputMode = "flash" | "thinking" | "pro" | "ultra";
-// 推荐问题列表 — 可自由配置 title(卡片标题)和 content(发送给对话的内容)
-const RECOMMENDED_QUESTIONS: { title: string; content: string }[] = [
- {
- title: "市场分析报告",
- content: "请帮我写一份关于当前 AI 市场的详细分析报告,包括市场规模、主要玩家和发展趋势。",
- },
- {
- title: "制定学习计划",
- content: "请帮我制定一个为期 3 个月的 Python 编程学习计划,从基础到进阶,每周安排具体任务。",
- },
- {
- title: "代码审查建议",
- content: "请帮我审查代码,找出潜在的问题、性能瓶颈以及改进建议,并给出修改示例。",
- },
- {
- title: "数据分析方案",
- content: "请帮我设计一个用于分析用户行为数据的方案,包括数据收集、处理和可视化策略。",
- },
- {
- title: "文章润色优化",
- content: "请帮我润色以下文章,使其更加流畅、专业,并保持原意不变。",
- },
-];
function getResolvedMode(
mode: InputMode | undefined,
@@ -185,6 +164,8 @@ export function InputBox({
null,
);
+ const [recommendedQuestions] = useRecommendedQuestions();
+
useEffect(() => {
if (models.length === 0) {
return;
@@ -461,11 +442,11 @@ export function InputBox({
)}
- {isNewThread && searchParams.get("mode") !== "skill" && (
+ {isNewThread && searchParams.get("mode") !== "skill" && recommendedQuestions.length > 0 && (
- {RECOMMENDED_QUESTIONS.map((q) => (
+ {recommendedQuestions.map((q) => (