10 KiB
需求文档 · 问答中心左侧栏改造(0616)
整理自 2026-06-16 需求草稿。本批需求统一围绕「问答中心」菜单下 5 个页面入口的左侧侧边栏进行改造,目标是让每个业务页面的左栏从「通用导航」变为「贴合该业务场景的快捷入口 + 历史记录」。
菜单结构参考:
frontend-web/src/core/page-layout/sidebar-menu.ts中qa-center(问答中心)分组,含 5 个子项,正好对应下文 5 条需求。
0. 背景与共性约定
| 需求 | 菜单项 | id | 现有路由 | 对应页面/组件 |
|---|---|---|---|---|
| 1 | 通用问答 | general-qa |
/page/workspace/chats/new |
Workspace Chat + 左栏(recent-chat-list.tsx 等) |
| 2 | 多智能体会商 | multi-agent-roundtable |
/page/strategy/qa/multi-agent-roundtable |
roundtable-planning/pages/RoundtablePlanningPage.tsx |
| 3 | zzJC支持 | qa-zzjc |
/page/strategy/agents/6bf/chats/new |
pages/AgentChatPage.tsx |
| 4 | zzXD应用 | qa-zzxd |
/page/strategy/agents/10d69686718349688e58a8790cb61024/chats/new |
pages/AgentChatPage.tsx |
| 5 | 课题研究 | qa-research |
/page/canvas/ai-writing |
open-canvas/pages/AIWritingPage.tsx |
共性约定(适用于全部 5 条,除非单条另有说明):
- 「更多」一律为可点击入口;点击后跳转到对应的完整列表/管理页(具体目标见各条「待确认」)。
- 列表为空时的兜底:参考各条「现状」中的级联/空态规则;无内容时该区块整体隐藏或显示占位文案(待 UI 设计确认,默认隐藏,与现有
recent-chat-list.tsx一致)。 - 左栏宽度、折叠交互沿用现有侧边栏体系(
SidebarGroup系列组件)。 - 所有「智能体」相关数据复用
core/agents(Agent类型已含is_pinned/is_favorite/featured_order,scope 支持mine/square/builtin)。
1. 通用问答 — 左侧栏改造
页面:/page/workspace/chats/new
1.1 现状
当前左栏主要展示「最近会话」列表(recent-chat-list.tsx,已过滤 scheduler / bootstrap / roundtable 类型线程,置顶会话优先)。
1.2 目标布局(自上而下)
左栏从上到下依次为三块:新建回答按钮 → 常用智能体 → 聊天记录。
① 顶部:新建回答
- 左栏最顶部放置「新建回答」按钮(主操作)。
- 点击 = 开启一次全新的通用问答会话(等价于跳转
/page/workspace/chats/new)。
② 常用智能体(最多 3 个 + 更多)
- 展示「常用智能体」卡片/列表项,最多 3 个。
- 数据来源采用级联兜底逻辑(取到即用,不足再降级):
- 若用户有置顶智能体(
is_pinned = true)→ 展示置顶的; - 否则展示用户自己的智能体(
scope = "mine"); - 仍没有 → 展示默认广场智能体(
scope = "square"/builtin,即广场默认推荐)。
- 若用户有置顶智能体(
- 三者按上述优先级取,最终最多取 3 个。
- 下方显示「更多」入口。
- 点击某个常用智能体 → 进入该智能体的对话(待确认:是否为该智能体新建会话)。
③ 聊天记录(最多 10 条 + 更多)
- 展示用户的问答聊天记录,最多 10 条(沿用现有
useThreads+ 过滤规则)。 - 下方显示「更多」入口。
- 点击「更多」→ 跳转到问答记录页面(完整聊天记录列表页)。
1.3
- 「常用智能体」点击后「打开该智能体主页」
- 「常用智能体」的「更多」跳转目标页 智能体管理
/page/strategy/agents。 - 「聊天记录」的「问答记录页面」具体路由http://localhost:5173/#/page/workspace/chats。
- 级联兜底是(置顶组够 3 个就完全不展示我的/广场)如果不够「补足到 3 个
2. 多智能体会商 — 左侧栏重做
页面:/page/strategy/qa/multi-agent-roundtable(RoundtablePlanningPage)
2.1 现状
圆桌会商页已有业务链选择、分析草稿等能力(roundtable-planning/api/chains.ts、hooks/useRoundtableDrafts.ts)。需求要求左栏整体重做。
2.2 目标布局(自上而下)
① 顶部:业务链(公共,前 3 个)
- 顶部展示业务链,仅取公共链条(
listChains("public"),即所有已发布is_public = true的链条)。 - 仅展示前 3 个。
- 点击某条业务链 → 以该业务链启动一次会商(沿用现有"会商自动串联圆桌"流程,见记忆
business-chain-mapping)。
② 下方:分析记录
- 业务链下方展示「分析记录」列表。
- 数据来源:圆桌分析草稿/历史(
useRoundtableDrafts/listDrafts)。 - 点击某条分析记录 → 打开对应的历史会商分析。
2.3 待确认
- 「业务链」是否需要「更多」入口跳转到业务链条配置页(
/page/strategy/business-chains)?需求未提及,默认仅展示前 3 个、无更多。 需要更多入口 - 「分析记录」是否需要分页/「更多」?需求未提及,默认展示全部或合理上限 分析记录默认全部吧。
- 公共业务链「前 3 个」的排序口径(创建时间倒序?已有
listChains默认 newest first) 按照现在默认的显示来吧,然后要支持用户单选,如果用户选择后,点击进入多智能体研讨按钮时,直接按照选择的业务链进去执行,如果用户取消勾选,或没有勾选就还是打开弹窗。
3. zzJC支持 — 左侧栏改造(按类型聚合智能体)
页面:/page/strategy/agents/6bf/chats/new(当前为单一智能体 6bf 的对话页)
3.1 现状
当前 zzJC支持直接进入某个固定智能体(id=6bf)的对话页(AgentChatPage)。
3.2 目标布局
- 左栏按「类型」分组,展示该类型下的智能体列表("类型"待确认,推测为智能体
tags/ 分类)。 - 智能体分组下方展示聊天记录。
- 左栏宽度与通用问答(需求 1)保持一致("左侧是问答宽")。
3.3 Admin 设置入口
- 在 admin 账号权限下,页面右侧顶部显示「设置」图标按钮(齿轮图标)。
- 点击设置按钮 → 打开设置面板,可对该模块进行配置。
- 非 admin 账号不显示设置按钮(沿用
sidebar-menu.ts中adminOnly同款角色判断)。
3.4 待确认
- 「类型」的确切含义:是智能体的
tags,还是 zzJC 业务自定义的一组分类? - 现 zzJC 入口是单个智能体
6bf;改为「按类型展示多个智能体」后,进入该菜单时默认落地页是什么(智能体列表?还是仍默认进6bf对话)?是否需要新建一个 zzJC 聚合页。 - Admin「设置」具体可配置项:配置「该模块纳入哪些类型/哪些智能体」?还是其他(如默认智能体、欢迎语)?需明确设置项清单。
- 「聊天记录」过滤范围:仅 zzJC 相关会话,还是全部会话?
4. zzXD应用 — 左侧栏改造
页面:/page/strategy/agents/10d69686718349688e58a8790cb61024/chats/new
4.1 需求
与需求 3(zzJC支持)完全一致:
- 左栏按类型展示该类型下的智能体 + 下方聊天记录;
- 左栏宽度同通用问答;
- admin 账号下右侧顶部显示设置图标按钮,可设置。
4.2 待确认
- 同需求 3 全部待确认项。
- zzXD 与 zzJC 是否共用同一套「按类型 + 设置」组件(仅数据源/默认智能体不同),还是各自独立配置?建议抽象为同一可复用组件,通过参数区分。
5. 课题研究 — 左侧栏改造(研究模板 + 笔记本)
页面:/page/canvas/ai-writing(AIWritingPage)
5.1 目标布局(自上而下)
① 上半部分:研究模板
- 左栏上半部分展示「研究模板」。
- 研究模板 = 原来的「文章类型」(
open-canvas/hooks/useArticleTypes.ts的articleTypes,即 AI 写作表单里的「文章类型」选择项)。 - 点击某个研究模板 → 以该模板/文章类型发起课题研究(沿用现有
articleType设置逻辑)。
② 下半部分:笔记本
- 左栏下半部分展示「笔记本」。
- 笔记本内容 = 「简洁模式」左侧菜单下方展示的笔记本内容(
useStudioNotebooks,即workspace-nav-studio.tsx中渲染的 studio notebooks 列表)。 - 点击某个笔记本 → 打开该笔记本(沿用现有
/page/workspace/studio/notebooks/{id}行为,或作为课题研究的素材来源materialSource = 'notebook',待确认)。
备注:草稿原文写作「简介模式」,结合代码应为「简洁模式」(
appearance-settings-page.tsx中的全局界面模式:全量 / 简洁;简洁模式下笔记本在左栏菜单展示)。
5.2 待确认
- 「研究模板」点击行为:仅预填表单
articleType,还是直接开始生成? - 「笔记本」点击行为:跳转笔记本详情页,还是将笔记本设为当前课题研究的素材来源(
materialSource='notebook')? - 上/下两部分是否各自可折叠、是否需要「更多」入口与数量上限?需求未提及。
6. 整体待确认与建议
- 复用性:需求 3 / 4(zzJC / zzXD)布局完全相同,建议实现为同一套「按类型分组 + 聊天记录 + admin 设置」可复用组件,通过配置区分模块。
- 左栏宽度统一:需求 1 / 3 / 4 都要求"问答宽",建议统一左栏宽度常量,避免各页面各写一套。
- 「更多」目标页:需求 1 涉及「智能体更多」「聊天记录更多→问答记录页」两个跳转目标需先确定路由是否已存在。
- Admin 设置项清单:需求 3 / 4 的设置面板具体能配置什么,需要产品给出字段清单后才能落地。
- 入口语义变更:需求 3 / 4 把原「单一智能体对话」入口改为「按类型聚合」,菜单
path与默认落地页可能需要调整,需同步确认。