董宏凯 and Claude Opus 4.8
ba885ca201
fix(定时任务): require_html 选内置模板时用真实模板出页,保留全部子页面
...
- 模板是 JS 驱动多页 SPA,子页面靠脚本从 DATA 渲染;之前用 style_reference 抽 CSS 摘要
让模型自由渲染,结果只剩主页、子页面全丢
- 改为:_run_html_page_attempt 见 tpl:<id> 参考即提前分支到 _run_html_template_reference,
用真实模板文件出页——可转换模板=检索数据→转换→fill_template;只展示模板=原样输出;
转换失败兜底默认数据,保证页面与子页面始终可用
- 抽出 _convert_to_template_data / _finalize_template_html 复用,删除已废弃的 style_reference
- 测试覆盖:真模板保留 const DATA/script/id=tabs;只展示原样;转换失败回退
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 11:47:16 +08:00
董宏凯 and Claude Opus 4.8
ec60b77a71
feat(定时任务): 必须生成HTML的「参考收藏页面」加入 no.1/no.2 模板作为风格参考
...
- 引擎 template_fill.style_reference:抽取模板 <style> CSS + 去脚本结构骨架(~13-28KB),
剥掉巨大数据常量,供 require_html 渲染模型模仿风格;reference_template_id 解析 tpl:<id>
- 调度器 _run_html_page_attempt:参考来源为 tpl:<id> 时用模板风格参考,否则走收藏 store
- 前端 ScheduledTasksPage:require_html 模式下「参考收藏页面」列表加入「模板:no.1/no.2」,
值存 tpl:<id>;htmlTemplates 在 require_html 时也拉取
- 文档同步
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 11:09:48 +08:00
董宏凯 and Claude Opus 4.8
ae3788a87d
feat(定时任务): 模板数据转换器对话页加「页面模板+渲染预览」调试入口
...
- 后端 POST /api/scheduled-tasks/template-fill/render:不调模型,抽取回复里的 JSON
→ 校验 → 填充,返回完整 HTML + 校验错误/缺失字段(非法也照样填充便于看效果),
只展示模板原样返回
- 前端仅 template-json-builder 智能体的 AgentChatPage:顶部加页面模板下拉 +「渲染预览」
按钮,取最近一条 AI 回复填进所选模板,弹窗用 sandbox=allow-scripts iframe 预览 +
校验状态;严格按 agent id 门控,不影响其他智能体对话页
- 文档同步
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 10:00:18 +08:00
董宏凯 and Claude Opus 4.8
3d2cc9e5cd
fix(深链会商): Step2 文件产物虚拟预览仅在有内容时用,否则回退 HTTP 按创建者解析(修复跨账号看不到)
...
- useStep2Orchestration.openArtifactPreview: stub 无内容(str_replace/跨账号草稿恢复)时不再短路,
回退到 artifacts HTTP 接口,并优先用子席位 thread(roundtable 线程→后端按对话创建者解析+放行跨账号)
- findSeatArtifactSource 一并返回 stub 捕获的 content 供判断
- 附:模板数据转换器「源数据抽取」手工测试清单文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 21:47:46 +08:00
董宏凯 and Claude Opus 4.8
00181ebde8
feat(定时任务): 模板转换支持纯文本/含JSON文本/纯JSON三种源输入
...
- template_fill.extract_embedded_json:字符串感知平衡扫描,从含 JSON 的文本里抠出
内嵌 {…}/[…](纯文本返回 None)
- 调度器转换 prompt 预识别内嵌 JSON,单独标注「识别到的结构化数据」并保留原文;
纯文本则让模型按语义理解;conversion prompt 重写覆盖三种形态
- 内置 agent SOUL 说明三种源数据形态
- 文档同步
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:28:05 +08:00
董宏凯
320f2ef814
Merge branch 'dhk-1' into 'master'
...
feat(深链会商): rwfx-A/3qfx-A 首条消息附带 taskId,xdfx-A 附带 taskId+actionId
See merge request knowledge-base-bj/deerflow-server!146
2026-06-23 12:09:45 +00:00
董宏凯
5fddb08e04
Merge branch 'dhk-1' into 'master'
...
fix(roundtable): xdfx-A 深链会商聊天记录按行动id隔离存储
See merge request knowledge-base-bj/deerflow-server!145
2026-06-23 11:48:10 +00:00
董宏凯 and Claude Opus 4.8
498e3c6a84
fix(深链): 「上一步」进大屏绘制页强制显示全局导航栏+侧边栏
...
- PageLayout 对 /strategy/dashboard-agent 路由强制 pageSidebarAllowed(不受界面模式/
会话级 sidebar 标志影响;仍尊重 embed=1 嵌入态隐藏),避免从去 chrome 的深链工作区进来后整页无顶栏/侧栏
- 「上一步」按钮 openMode 改回 self(同窗导航;forceChrome 后同窗/新窗都能带回 chrome)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:47:02 +08:00
董宏凯 and Claude Opus 4.8
34893007a7
feat(深链会商): rwfx-A 复用单智能体 3q 预检闸门,未完成引导前往三情会商(3qfx-A)
...
- 抽出共用组件 RwfxSqReportGate(单/多智能体共用),targetGoPath 参数化「前往」目标
- 单智能体 TaskFxWorkspace 改为 import 共用组件(默认 3qfx),清理因抽离失效的 import
- 多智能体会商 RoundtablePlanningPage 深链 rwfx-A 挂同一闸门,目标 3qfx-A(三情会商)
- 改一处两处都生效,避免双份逻辑漂移
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:26:00 +08:00
董宏凯 and Claude Opus 4.8
cd33aaeded
feat(定时任务): 内置「模板数据转换器」按 HTML 模板填充 JSON 生成大屏
...
- 模板填充引擎 template_fill.py:模板注册表 + schema 骨架 + 结构校验 + 行级安全填充;
模板自带 DATA 即 schema 来源。no.1 可转换填充(含 MANIFEST 更新时间刷新),
no.2 暂为「只展示」(convertible=False) 原样输出已有数据
- 内置 agent template-json-builder(seed + SOUL),随 lifespan 注入,自动出现在
定时任务「执行智能体」下拉
- 调度器新增模板填充执行分支 _run_template_fill_attempt:源 JSON→大模型转换→
结构校验→失败回喂重试;空源/只展示模板直接用模板默认数据,绝不失败
- API:GET /api/scheduled-tasks/html-templates
- 前端:选中该 agent 后条件渲染「HTML模板」下拉 + .json 上传,只展示型模板隐藏 JSON 输入
- 文档同步(前后端 CLAUDE.md)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 18:00:00 +08:00
董宏凯 and Claude Opus 4.8
1a2ef0a537
feat(大屏绘制): 战情大屏样式优化与脱敏全覆盖
...
- 去掉顶栏与「生成于」时间标签;无数据时仅显示「暂无数据」、隐藏导航与标题
- 战情各页 + 导航 Tab 文本全部脱敏(响应式取后台敏感词,避免 replaceDesensitizeMap 时序竞态)
- 全页最小字号 16px,调整行高/对齐;表格加横向滚动防溢出
- 关键事件改时间线样式(灰色虚线 + 浅红空心圆圈节点),敌情三块改单行全宽
- 应对方案渲染 Markdown;处置建议由 7 列大表改为单条卡片(字段标签改 #222222)
- 通用过滤引用角标([[1]] / 资料[[1]] / (资料[[1]]) 等,解析末尾整树清洗)
- safelist + 本页兜底 CSS 修复 border 语义色回退成灰色(时间线圆圈/FooterNote 强调条)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 12:36:36 +08:00
董宏凯 and Claude Opus 4.8
fc632f26e9
feat(大屏绘制): 战情七页版式 + 对接 selectSqReport 真实数据
...
- 新增 dashboard-agent 独占战情多页(总览/敌情/我情/战场环境/情况判断/决心建议/处置建议),
经 DashboardApp 的可选 pages 插槽注入,会商 Step3 大屏多页样式零影响
- 总览由六类数据聚合;六个详情页对接 selectSqReport(防御式解析,容错不抛错,
接口为空显示「暂无数据」)
- 展示层 desensitizeDeep 脱敏 + 请求加载框;去掉所有「更多」按钮
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 22:47:43 +08:00
董宏凯
57ffe1a706
Merge branch 'dhk-1' into 'master'
...
feat(layout): 简洁模式右上角加换肤 + 界面模式下拉切换
See merge request knowledge-base-bj/deerflow-server!142
2026-06-22 11:17:40 +00:00
董宏凯 and Claude Opus 4.8
7748661963
feat(roundtable): 历史卡片显示所用业务链(自由模式) + 诊断只收报错日志
...
- 历史「分析记录」卡片/侧边栏列表:把「第X步」改为本次会商所用业务链名,
无链条显示「自由模式」。后端 list 轻量 meta 从 step2 正则抽取 chain_title
(不整体解析大块 JSON),个人草稿 + task 草稿两个 store 都覆盖。
- 会商诊断改为只收集报错日志:record_diagnostic 写库前丢弃 level==info
运行日志(begin/consensus/gather/job_started),只留 warning/error。
单点收口覆盖前台/后台/recorder 全部写路径;诊断页标题改「会商报错日志」。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 16:36:31 +08:00
董宏凯
6e3896fed3
Merge branch 'dhk-1'
2026-06-21 20:43:32 +08:00
董宏凯 and Claude Opus 4.8
545ec178b8
fix(roundtable): 第三步重新分析前复位入库状态,避免重分析后仍问是否入库
...
重跑总结/重新或修改流程图前整体复位 ingest 状态为 idle(隐藏旧产物的入库
询问卡/协助卡/手动入库按钮);流程图类重分析出新图后 runFlowExtract 在 idle
时重新询问,重新生成报告则在报告重写完成后(若已有流程图)重新询问是否入库。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 20:43:06 +08:00
董宏凯 and Claude Opus 4.8
6dd1f9c017
fix(roundtable): 模型容错提示顺序前置 + 回看历史时残留「加载中」气泡强制收尾
...
- 第二步模型自动容错:系统提示气泡改为插入到失败气泡正前方,使「已切换其他
模型」先于新模型重答过程显示(旧实现追加到列表末尾,反而排在答案之后)。
- 加载历史草稿(hydrateFromDraft)时把任何残留 streaming 的气泡强制收尾为静止
态(去加载光标、角标改「已结束」、空正文补「(已结束)」),避免用户点聊天
记录回看时误以为研讨仍在进行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 20:42:54 +08:00
董宏凯 and Claude Opus 4.8
6b963fd918
fix(roundtable): 修复管理员连续编辑第二条他人业务链保存 404「已删除」
...
编辑器 chainId 闸门由「整组件生命周期只加载一次」改为「按已应用的 chainId 追踪、变化即重载」。
此编辑器实例在多次导航间可能不卸载(从业务链弹窗进来时尤甚),旧闸门导致第二次打开另一条链条
时根本不加载,currentChainId 停在上一条 → 保存打到错误 id → 后端 404,必须重新登录才恢复。
同一 chainId 不重复加载、也不覆盖编辑器内的手动切换;getChain 取不到时给出明确提示。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 20:21:49 +08:00
董宏凯 and Claude Opus 4.8
f13a1bb7fe
feat(roundtable): 业务链条配置增加管理员权限,管理员可配所有链条
...
- 后端 store/路由:scope=all(仅管理员)列全量;get/update/delete 加 is_admin 旁路,管理员可操作任意 owner 链条且不转移归属;非管理员请求 all 退化为 mine
- 前端列表页/会商弹窗:管理员多「全部链条」筛选 tab,canManage=isAdmin||isMine 放开发布/设置/删除
- 编辑器:管理员可见发布按钮;按 chainId 找不到本地列表时直接 getChain 拉取(修复管理员从「全部链条」进编辑器空白),并修掉自身无链条时加载卡死的边界
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 17:17:19 +08:00
董宏凯
02115bccfe
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 会商席位「技能识别强化」改为按需开关(智能体级 + 链条每席位级)
See merge request knowledge-base-bj/deerflow-server!141
2026-06-21 08:59:10 +00:00
董宏凯 and Claude Opus 4.8
48744441ba
fix(roundtable): 修复会商消息列表滚动条被分栏手柄抢占、且过细难抓
...
- Step2/Step3 分栏拖拽手柄 ::after 命中区(16px,居中跨分隔线)向左探出 8px
压住左侧消息列表纵向滚动条,抓滑块误触发左右拖动;改为命中区整体移到
分隔线右侧(沙箱一侧),左侧滚动条让出
- 会商页滚动条 6px→12px(透明边框+background-clip 收成带内边距圆条),更易抓
- 覆盖 Step1/Step2/Step3(summary/report)所有消息列表,含有沙箱与流程图分栏场景
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 00:42:40 +08:00
董宏凯 and Claude Opus 4.8
5ae6261e82
fix(roundtable): 结构化抽取按实际产出抽全(不固定条数/不编造),提升准确度
...
不动 rwfx 链路结构(任务→目的→行为体→预期行为→驱动因素→叙事;仅预期行为↔驱动因素
1:1,其余皆 1:N)。只修准确度:
- 叙事不再凭空多出来一堆:驱动因素→叙事 仍是 1:N,但叙事条数严格按报告/叙事席位
实际写出的来(写几条抽几条),删掉「每个驱动因素抽出它名下的若干条叙事」这种诱导
逐驱动因素编造的措辞——根治「叙事席位只产 3 条、流程图却冒出十几条」
- 去掉所有写死的条数假设(目的「通常3个」、预期行为「3-5条」、叙事「2-4条」、
候选「10→3」)——各席位交付条数本就不固定,一律以实际产出为准,不漏不多不硬凑
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 00:34:00 +08:00
董宏凯 and Claude Opus 4.8
a76e28e018
fix(roundtable): 结构化抽取严格以报告为准,根治从席位候选池抽出一堆目的
...
报告只锁定 3 个目的(从 10 个候选里取舍),但流程图抽出一堆目的——根因是之前
「候选项也要抽全」+ 把各席位原始交付当补充来源,诱导模型去席位候选池里把被淘汰的
候选也抽进来。
按用户原则修正优先级(优先方案总结报告及其文件内容,只有报告不足/缺失才看席位产物):
- extraction_spec _SOURCE_NOTE:改为「严格以报告为准;席位仅兜底(报告整层缺失/只说N条
没逐条列才用),绝不用席位扩充报告已取舍的层、淘汰候选一律不抽」
- _COMPLETENESS_NOTE:由「候选项也要抽全(含落选)」改为「按报告逐条抽全、不漏也不多」——
报告列几条抽几条(不漏),但报告已锁定 N 条的层只抽这 N 条、不去候选池凑数(不多)
- rwfx completeness_note 目的/叙事:抽报告最终采用的(3 个目的/几条叙事),不抽候选池
- flow_extract._material:席位交付明确标为「兜底参考,仅报告不足时用」,禁止扩充已取舍层
- _extract_messages / _validate_messages:同步改为报告为准、补漏但不新增被淘汰候选
经核对:本次方案总结报告本身准确(3 目的=席位最终 Top3、3 行为体、12 预期行为↔12 驱动
因素已做 1:1 配对、3 叙事),问题只在抽取从席位候选池过度抽取。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-21 00:08:23 +08:00
董宏凯 and Claude Opus 4.8
f63a1faf3b
fix(roundtable): rwfx 结构化抽取纯树·单父兜底,根治叙事多对一乱线
...
rwfx 全链是一棵树:除预期行为↔驱动因素 1:1 外其余皆 1:N,任何节点只有一个父节点、
绝无多对一/多对多/汇聚。但弱模型常把「叙事」连到一片驱动因素 → 汇聚乱线。
- extraction_spec:ChainSpec 加 single_parent 标志(rwfx=True,xdfx 有汇聚=False);
helper is_single_parent_chain / chain_level_rank;强化 rwfx ②「叙事只有一个父驱动因素」
+ 新增④「全链是树,每个非根节点恰一个 from」
- flow_extract:_collapse_to_single_parent 确定性兜底——纯树业务把每个节点的多父入边
收敛到「紧邻上一层」的单一父节点(只删多余入边、不新增、不动节点),在 final 前执行;
非纯树业务(xdfx)跳过
- dag-types/types:DAG 派活忠实本阶段目标——不擅自加数量上限/精简、不替席位加体例风格、
逐条全部输出、不诱导脱离输入编造(前后台同步)
- Tests: tests/test_flow_extract_single_parent.py
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 23:37:49 +08:00
董宏凯 and Claude Opus 4.8
3d75040297
fix(roundtable): 会商消息列表只竖向滚,修复滑块被横向拖动抢占难点击
...
消息列表用 `overflow-y-auto` 单写时,按 CSS 规范另一轴(overflow-x)会被计算成
auto——任何子元素溢出一两像素就让整列横向可滚,鼠标移到右侧竖滚条滑块时极易误
触发横向拖动、抓不住滑块。给消息流容器补 `overflow-x-hidden` 只保留竖向滚动;
宽内容(代码块/表格)在各自气泡内已有 max-w-full + overflow-x-auto 自带横滚,裁掉
列表横向不影响查看。
覆盖 Step1/Step2(会商)/Step3 总结·报告·大屏 五处聊天消息流容器。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 22:58:44 +08:00
董宏凯 and Claude Opus 4.8
8447790c47
fix(roundtable): 预期行为↔驱动因素严格 1:1,根治结构化抽取多对一/一节点多出边
...
报告把某行为体的多个驱动因素合并写进一个表格单元格(其余预期行为行留空),
导致结构化抽取把「多条预期行为汇聚到一个驱动因素」(多对一)、或一个节点冒出
多条连线。根因:1:1 两层节点数不相等时,模型与确定性补边(_derive_layered_edges)
都只能退化成多对一/比例平铺。
修复(让两层严格等量、一一配对):
- extraction_spec rwfx relations_note①: 强化为「严格 1:1」——为每条预期行为归纳
那一个核心驱动因素、两层等量、每个驱动因素 from 只连一条预期行为、严禁多对一/
一节点多出边;源数据把多个驱动因素合并在一处时必须按预期行为拆开/重新归纳成等量
- extraction_spec completeness_note: 驱动因素层节点数=预期行为层节点数(1:1 特例)
- build_summary_directive: 让报告本身把 1:1 相邻层写成逐条配对表(一行一对、数量相等),
不要把多个下层条目用「+」合并塞进一个单元格或只写第一行——从源头消除多对一
- flow_extract 校验新增「一对一层级必须严格 1:1、绝不多对一」必查必补项
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 22:43:48 +08:00
董宏凯 and Claude Opus 4.8
b5f11ad790
fix(roundtable): 结构化抽取逐条抽全(候选项不漏)+报告不足回看席位交付
...
修复深链接(rwfx等)结构化流程图抽取「同层多条只抽一条」的准确性问题:
报告里 3 个候选目的只抽出 1 个、每个行为体名下多条预期行为被合并成 1 条、
3 组候选叙事只画 2 个且连线错。
- extraction_spec: 新增业务无关的 _COMPLETENESS_NOTE「逐条抽全、候选项也要抽」
注入通用规范+写实规范; rwfx completeness_note 显式点名候选目的/每行为体多条
预期行为/候选叙事都要全抽; _SOURCE_NOTE 改为「报告为主+席位交付补充」
- flow_extract._material: 报告与各席位原始交付一起喂给模型(报告把某层条目压缩
时回到交付逐条抽全,冲突以报告为准),不再 report present 就只用报告
- flow_extract 抽取/校验 prompt: 补「逐条抽全+候选项全抽+不许合并+不要只照搬
方案总纲精简主干」,校验新增「候选/多条目是否抽全」必查必补项
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 22:16:27 +08:00
董宏凯 and Claude Opus 4.8
d383b0e9dd
feat(roundtable): 第二/三步模型自动容错(出问题自动换下一个模型)
...
模型出问题时按 config.yaml models[] 顺序自动切到下一个模型继续,并告知用户
「『X』模型异常 → 已切换『Y』继续」。前台实时 + 后台挂起两条路径都覆盖。
- 中间件兜底/熔断 AIMessage 打 LLM_ERROR_MARKER 标记,is_llm_error_message 可识别
- roundtable_model_fallback: fallback_model_chain 候选链 + reason_text + 总开关
env ROUNDTABLE_MODEL_FALLBACK
- 触发: 异常(start_run失败/idle卡死) / 兜底错误文案 / 交付为空(仅seat/leader)
- 后台 InProcessRoundtableGateway._run_turn_with_fallback 包住每轮 run
- 前台 _special_run/_leader_run 收尾检测失败→model_switch 帧+换模型重流
- 结构化抽取 flow_extract round1 astream 同款换模型循环
- Step2 单席位异常隔离: 单席位失败不拖垮整批/整链/整个作业
- 时间线插「系统提示」气泡 + toast + 诊断 model_switch 事件
- Tests: test_roundtable_model_fallback.py
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 21:37:45 +08:00
董宏凯 and Claude Opus 4.8
ae2706dad3
feat(roundtable): xdfx 行动名喂入 summary/抽取 + 第三步意图理解增强
...
- xdfx:把本次「行动名称」喂进 summary 材料(buildMaterials 加 actionName) 与结构化抽取
材料(flow_extract._material 加【本次行动】抬头),让报告/流程图都贴着该行动展开
- 第三步意图识别(classify_flow_intent)增强:新增 can_ingest 上下文 + ingest 意图;重写
_INTENT_SYS 走语义理解——「介绍/解释/为什么/总结一下」等对内容的提问→qa(文字答);
「帮我入库」(可入库时)→ingest→直接入库;能判断就给具体意图不轻易 unclear;
不可入库时误判 ingest 自动降级 qa。前端 classifyFlowIntent 传 canIngest,ask 新增 ingest 分支
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 20:39:24 +08:00
董宏凯
fba417918f
feat(roundtable): xdfx 左上角只显行动名/cop-task-detail可mock/抽取根节点用行动名
...
- xdfx 深链左上角「当前行动」只显示行动名称,去掉行动叙事
- cop-task-detail 加本地假数据开关 VITE_MOCK_COP_TASK_DETAIL(仿 VITE_MOCK_SQ_REPORT):
true 走 mockCopTaskDetail(dev=true,sit/network=false);真实接口未就绪时调试用
- 结构化抽取(flow-json):FlowExtractRequest 加 root_label,xdfx 强制根节点 n1 的 label
用本次「行动名称」(前端 useStep3Summary 传 readActionDetail().actionName);extract+validate 两段都注入
注:行动详情 mock(actionName/narration) 在 config.yaml(按惯例不提交)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 20:18:02 +08:00
董宏凯 and Claude Opus 4.8
b513a0d56c
feat(roundtable): 深链接第一步任务/行动展示 + xdfx 行动详情接入会商
...
- Step1 深链接(taskId)下:左栏顶部「业务链选择」隐藏,改显当前任务(rwfx/3qfx:任务名称+描述)
或当前行动(xdfx:行动名称+叙事);顶栏「业务链条」入口隐藏;「新建任务」改「重新分析」
(复位 autoStarted + resetToStep1,对同一任务重做意图分析)
- xdfx 行动详情接入会商:fetchActionDetail 取到即 persistActionDetail 缓存;新增
readActionDetail/persistActionDetail + ACTION_DETAIL_STORAGE_KEY;resolveTaskDeeplinkTarget
会商分支为 xdfx 把 actionId/actionName 带入 roundtablePrefill
- xdfx 首条交给任务理解的消息 = 任务名称 + 任务描述 + 行动名称
- 「原任务已有结果」(目的树预览 headerLeftSlot) 仅 rwfx-A(6BF) 显示
注:行动详情 mock(actionName/narration) 在 config.yaml(按惯例不提交,单独管理)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 20:05:27 +08:00
董宏凯 and Claude Opus 4.8
b1b1ff98f5
feat(roundtable): 深链接业务链抽取规范 + 总结报告文件干净/对话强制核对
...
深链接会商(taskId+goPath,businessCode)下按所选业务链完整层级强制校正
结构化抽取(flow-json) 与 方案总结报告:
- 新增 harness 层 extraction_spec(app+harness 共用,单份领域知识两角色用法):
build_structure_directive / build_summary_directive 按 businessCode 取
· rwfx(6BF):线性 任务→目的→行为体→预期行为→驱动因素→叙事;预期行为↔驱动因素 1:1、余 1:N
· xdfx(7BF):分叉汇聚 DAG,根=行动;行动→受众目标/关键传播节点(1:N)→脆弱点(1:N)→策略(多对一)
· 其余业务通用规范(强约束完整性+命名+取数、不套固定模板);business_code 空→零副作用
- 结构化抽取:flow_extract._hierarchy_hint + _validate_messages 用 structure_directive
权威覆盖默认层级(根治"无论什么业务都按目的→行为体抽/停在行为体");前端 streamFlowExtract
传 business_code(源 ingestBusinessCode)
- 方案总结报告:前台 multi_agent._special_run(summary) + 后台 build_summary_prompt 注入
business 完整性核对(StartJobRequest/StartParams 透传)
- 报告产物策略:.md 报告文件保持完整、干净、无需修改(不写 待补充/不足/⚠️ );
「核对说明」(意图对齐+业务链完整性+不足/可补充)改为只在对话回复正文、且每次必出
- 种子 roundtable-structure SOUL 层级顺序改 spec-driven、去 rwfx 写死示例
Tests: test_roundtable_extraction_spec / test_roundtable_summary_prompt
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 18:13:03 +08:00
董宏凯 and Claude Opus 4.8
3ab674e438
feat(roundtable): Step2 提速四件套 + 方案总结报告意图对齐
...
Step2 提速:
- 每席位推理深度覆盖(seat_mode): 业务链条逐席位可配 flash/thinking/pro/ultra,
覆盖链条级 seatMode;前台三处 dispatch + 后台 job 透传, run_seat 用 _SEAT_MODE_PARAMS 解析
- recommend 后端批内并行: engine._run_recommend 由串行 for 改 asyncio.gather(对齐前端)
- 研讨前并行取数两段式(gather_first, 业务链条 opt-in): 研讨前全席位并行只取数,
产出作为共享资料注入研讨轮(_seat_message gathered + 前台 runGatherPhase);
新增 gather_first 列(migration 20260620_02 + idempotent SQL)
- 削减重复广播: suppressPreBroadcast 扩到 recommend(round>=2)/chain(i>0)/chain收口,
保留首轮背景打底,省 N 次读写大 thread
方案总结报告效果:
- summary 加"意图对齐+缺口核对+防幻觉护栏": SOUL + 后端 build_summary_prompt +
前端 buildSummaryPrompt 三处对齐; 推断标注(综合推断)、缺真实信息标注待补充交给用户、绝不凭空编
Tests: test_roundtable_seat_modes / test_roundtable_gather_phase / test_roundtable_summary_prompt
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 16:28:02 +08:00
董宏凯 and Claude Opus 4.8
9a1b674950
feat(roundtable): 会商席位「技能识别强化」改为按需开关(智能体级 + 链条每席位级)
...
弱模型补偿指令从全域生效改为默认关闭、两个 opt-in 开关取 OR:
- 智能体级: AgentConfig.seat_skill_directive(config.yaml),在智能体编辑弹窗
(agent-card / agent-detail-panel)开关;agents 路由 create/update/读写全程穿。
- 业务链条每席位级: 存进链条 seats JSON(ChainSeatSchema.seat_skill_directive,
无需 DB 列/迁移),在链条编辑器每个席位卡片右侧 ✨ 图标→下拉框(开关+说明)配置;
按 agentId 查表穿到前台 useStep2Orchestration 各席位调用 + 后台作业
seat_skill_directives:{agentId:bool} → InProcessRoundtableGateway.run_seat。
- ROUNDTABLE_SEAT_SKILL_DIRECTIVE 降级为总熔断开关(默认放行,不再 force-on)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-20 13:37:29 +08:00
董宏凯
9278fd772f
Merge branch 'dhk-1' into 'master'
...
fix(roundtable): 会商 Step2/Step3 沙箱产物按对话创建者解析,修复历史/跨用户查看不了
See merge request knowledge-base-bj/deerflow-server!140
2026-06-19 15:47:18 +00:00
董宏凯
a8c06ca7dc
代码提交
2026-06-19 23:46:53 +08:00
董宏凯 and Claude Opus 4.8
762d3620c4
feat(roundtable): 会商前端调用报错收集 + 诊断页用户名/范围切换
...
- 前端调用报错收集(用户实际遇到的报错,服务端诊断看不到的也收):新增
POST /api/roundtable-diagnostics/report(非 admin,scope="client")+ 前端上报器
roundtable-planning/api/diagnostics-report.ts。streamMultiAgent(第二步席位 +
第三步报告/结构化/绘制/大屏)覆盖 HTTP 错误(502)、SSE error 帧、worker error 帧
(模型没调用成功)、fetch 网络不可达、流式中途中断,reported 去重;initMultiAgent /
intent / recommend / 后台作业接口同步上报。
- 诊断页:每条报错显示上报用户名(👤 ,user_id→邮箱@前缀,后端 best-effort 解析);
第一个筛选改为「后台挂起 / 前台调用」切换(前台调用=foreground,client,后端 scope
支持逗号多值),阶段下拉随范围联动(后台→二三步;前台→一二三步)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 23:45:34 +08:00
董宏凯 and Claude Opus 4.8
4a403c95c5
feat(roundtable): 会商诊断日志 + 后台挂起卡死兜底(idle 超时)
...
- 新增会商全流程诊断日志:新表 roundtable_diagnostics + 仓储 + admin API
(/api/roundtable-diagnostics) + 管理员诊断页(会商页右上角设置按钮入口),
覆盖第一/二/三步及后台执行器/进程内网关各处报错与关键事件,支持按
范围/阶段/级别/事件/关键词筛选 + 分页。诊断写入全程 best-effort,绝不打断会商。
- 修复后台挂起「执行完第一个席位后永久卡死」:进程内网关每轮 agent run 改为
idle(无活动)超时(默认 20min)——只要还在持续产出 token/工具事件就一直等,
仅当连续无任何输出才判卡死并取消+报错+落 seat_turn_timeout 诊断;慢但活着的
生成绝不打断。可经 ROUNDTABLE_SEAT_IDLE_TIMEOUT_SECONDS 调整。
- 一并提交进行中的会商 seat-skill 注入 / 业务链条编辑器相关改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 22:55:56 +08:00
董宏凯
551c748aa8
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 第三步「数据入库」由结构化输出智能体自行调用技能
See merge request knowledge-base-bj/deerflow-server!139
2026-06-19 09:59:51 +00:00
董宏凯
3b165d9ea5
Merge branch 'dhk-1' into 'master'
...
feat(agent-sidebar): 独立问答智能体列表栏增加「最近的对话」区(参考首页)
See merge request knowledge-base-bj/deerflow-server!138
2026-06-19 09:53:27 +00:00
董宏凯 and Claude Opus 4.8
a85d2480b4
feat(auth): 独立登录会话开关(设置-外观)—— 同浏览器多账号互不覆盖
...
复用 iframe 嵌入的按标签页隔离机制:新增 ?isolate=1 标志,authStorage()
从「仅嵌入」放宽为 isEmbedActive() || isIsolatedSession(),独立态走
sessionStorage 故本标签页登录态不被其它标签页覆盖。设置→外观→「登录会话」
加 Switch,开启时先 migrateAuthToSession() 把 localStorage 受保护键快照搬进
sessionStorage 再翻标志,无感不登出;AuthSyncWatcher 跨标签监听对隔离态实时
忽略,运行时开关即刻生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 17:51:08 +08:00
董宏凯
a6dd0fdd85
Merge branch 'dhk-1' into 'master'
...
fix(dashboard): 抽取 report-json 前剥离 <think> 思考过程做容错
See merge request knowledge-base-bj/deerflow-server!137
2026-06-19 07:42:29 +00:00
董宏凯 and Claude Opus 4.8
30cf0fed91
fix(dashboard): 抽取 report-json 前剥离 <think> 思考过程做容错
...
推理模型(DeepSeek-R1/QwQ 等)输出的 <think>...</think> 思考里常含
```json/裸 {…},会被误当候选导致抽到错误/残缺数据。抽取前先剥离 think:
- 前端 report-template.ts::extractReportData 开头 stripReasoning(复用 reasoning.ts,
兼容完整/多段/流式未闭合/只吐闭合四形态)
- 后端 report_json.py 新增 _strip_reasoning 在 extract_report_json 开头调用
- report-template.test.ts +3 例(均通过)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 15:36:34 +08:00
董宏凯
bc9936bb2b
Merge branch 'dhk-1' into 'master'
...
feat(dashboard-agent): 深链大屏接入研判情报报告接口 selectSqReport + 样例假数据
See merge request knowledge-base-bj/deerflow-server!136
2026-06-19 06:30:58 +00:00
董宏凯
d8f32690a3
feat(dashboard-agent): 真实模式先请求数据再抽取 + 重新生成/编辑闸门
...
- dashboard-input: 缓存仅 mock 开发用,真实模式不读缓存、不兜底假数据,
只用接口真实返回;新增 forceRefresh 跳过缓存强拉最新数据
- DashboardAgentPage: 请求期间「正在请求任务数据…」加载态 + 失败提示/重试;
重新生成(redraw)/编辑(ask)前先 forceRefresh 拉最新数据,
guardedGenerate 闸门——拿到数据才生成,拿不到 toast 取消(防并发)
2026-06-19 14:04:42 +08:00
董宏凯 and Claude Opus 4.8
2b58fe6c8b
feat(dashboard-agent): 深链大屏接入研判情报报告接口 selectSqReport + 样例假数据
...
- dashboard-input: 请求 {consumer}/cop/selectSqReport?taskId=,新增 extractSqReport
反序列化各条 contentJson、按 categoryType 归类成干净结构喂给智能体
- 真实接口未就绪:新增 sq-report-mock(.json/-data.ts) 样例假数据 + adapter,
request.ts 按 VITE_MOCK_SQ_REPORT 开关挂载(机制同 cop-task-detail)
- env:dev=true 走假数据,prod/network/sit=false 真实接口
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 10:19:31 +08:00
董宏凯
758a8fda09
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): taskId 会商记录独立存储(不分权) + 第三步生成过程对话/步骤条入库
See merge request knowledge-base-bj/deerflow-server!135
2026-06-18 11:18:24 +00:00
董宏凯 and Claude Opus 4.8
bd5623ebc5
fix(dashboard): 大屏绘制独立页顶栏深色适配 + 修复卡 loading/重绘无数据
...
- 顶栏(dashboard-agent-topbar)深色下改深蓝(《深蓝色 UI 规范》卡片#122347/
页面#0C1836/边框#1A2F5A/文字#C5CFE0),不再白底;仅作用于顶栏。
- init effect 始终并行拉输入 JSON 写入 inputRef,恢复历史后「重新绘制」/续问
才有源数据,否则回退空 prompt 生成不出数据。
- 修复卡在「正在加载任务大屏…」:init effect 改为只依赖 [taskId]、start/
hydrateTranscript 经 ref 读取、finally 无条件 setLoading(false),避免模型异步
加载触发 cleanup 把首跑标记 cancelled 后 loading 永不置 false。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 18:01:30 +08:00
董宏凯 and Claude Opus 4.8
3758122cf7
style(workspace): 全量模式通用问答左栏深色深蓝玻璃适配
...
深色(.dark)主题下,全量模式聊天页左栏(GeneralQaSidebar)由扁平 bg-sidebar
改为「深蓝主题底图 + 半透明蓝罩」玻璃面板:与右侧 workspace-chat-bg 主区同一张
fixed 底图、左右连续,叠蓝罩略深一档作面板区分。浅色/浅蓝主题不命中,仍用
sidebar token,内部元素走语义 token 自适配。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 17:45:17 +08:00
董宏凯 and Claude Opus 4.8
03b6fb724c
feat(roundtable): 深链策划流程小图 + 流程图弹窗横向/缩略图/深蓝适配
...
- Step1 消息列表头部:深链 taskId 模式取到目的树后,左侧标题换成「策划流程」
彩色层级小图(任务→目的→…→叙事,每级配色对齐流程图节点 + 类型小图标),
点击打开任务目的流程图弹窗;仅第一步、有数据时出现。
- TaskPurposeDialog 流程图:横向(LR)布局 + 右下角缩略图(MiniMap)。
- FlowGraphPanel 深蓝主题适配(随 ThemeContext):容器/头部/画布点阵/连线/图例/
小地图/节点详情弹窗 + 节点配色(FLOW_NODE_TYPE_META_DARK),浅色红主题不受影响。
- 圆桌侧栏深色兜底:neutral 家族 + 米色 hex(#FAF6F5/#ECE7E4/#E8D0CC) 映射到深蓝
token(关系图背板、第N步 tag 等不再泛白)。
附带提交工作区其余暂存改动(AI 写作等),不含 config.yaml。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 17:39:19 +08:00
董宏凯
62549ab976
Merge branch 'dhk-1' into 'master'
...
feat: 圆桌第3步大屏多页改用专职智能体 + 健壮 report-json 抽取
See merge request knowledge-base-bj/deerflow-server!134
2026-06-18 06:27:18 +00:00
董宏凯 and Claude Opus 4.8
32772b7448
feat(dashboard): 大屏绘制智能体独立页面(按 taskId 存取,不分权)
...
- 新增带导航+侧边栏的独立页面 DashboardAgentPage:按 taskId 取/存会话,
有有效 report-json 直显大屏(DashboardApp),否则进生成过程(不自动跳)+输入框可改
- 后端 dashboard_sessions 存储(model/sql/__init__)+路由/by-task(GET/PUT 不分权)
+ deps/app/models 接线;新表靠 create_all 建,无迁移
- 扩展 useStep3Dashboard:buildInitialPrompt(输入任务JSON) + hydrateTranscript(恢复聊天记录)
- 抽出共享 DashboardChatPanel;report-template 增 buildDashboardPromptFromJson
- 输入 seam core/auth/dashboard-input:JSON 接口未就绪先用占位/演示数据兜底
- 路由 StrategyRoutes dashboard-agent + 侧边栏「问答管理→大屏绘制」
- 圆桌业务链卡片「关系图」改横向布局
- 顺带提交:AIWritingContext 登录切换处理、thread-access-error helper
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 14:26:27 +08:00
董宏凯 and Claude Opus 4.8
ed887f762e
feat: 圆桌第3步大屏多页改用专职智能体 + 健壮 report-json 抽取
...
修复「大屏多页抽取 json 又失败」:旧实现复用画 HTML 的 roundtable-report
智能体 + rfind 围栏 + 单次 json.loads 的简单粗暴抽取,弱模型跑偏/格式偏差即失败。
- 新内置专职单例 roundtable-dashboard「大屏多页数据智能体」:SOUL 专讲逐席位
分析 → report-json 契约,禁工具/禁文件/禁 HTML;新 run policy dashboard 禁用一切工具
- harness 新增 report_json.py:多策略抽取(report-json/json/裸 JSON/截断)+ schema
归一化(移植前端 extractReportData/coerceReportData),返回可直接渲染的归一化 JSON
- 后台 run_dashboard_data 改用专职 agent + dashboard policy + 健壮抽取
- 新增 /api/multi-agent/dashboard/init;前端 initDashboardThread + useStep3Dashboard 改用之
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 21:47:21 +08:00
董宏凯
a2fcd85746
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-17 20:41:56 +08:00
董宏凯
c97d88d33f
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-17 20:38:59 +08:00
董宏凯
60cc6665ce
tij
2026-06-17 20:38:51 +08:00
董宏凯
d82973c8c8
Merge branch 'dhk-1' into 'master'
...
feat: 业务链条配置管理导航与顶栏用户名统一
See merge request knowledge-base-bj/deerflow-server!133
2026-06-17 12:25:17 +00:00
董宏凯 and Cursor
e6a41dbc97
Merge branch 'master' into dhk-1
...
Integrate task deeplink/FX workspace updates from master while keeping dhk-1 menu-overrides and sensitive-words documentation in CLAUDE.md.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-17 19:39:14 +08:00
董宏凯 and Claude Opus 4.8
6746fe4a78
feat: 导航/侧边栏菜单脱敏 + 圆桌会商各步输入框自适应高度
...
- 菜单标签展示层脱敏:useSidebarMenuItems 直接用 /api/sensitive-words
结果构造脱敏器,覆盖导航栏/三套侧边栏皮肤/三级子导航;菜单管理页用原始树不受影响
- 新增可复用 AutoGrowTextarea(自适应高度多行框),替换圆桌 Step1/2/3 输入框:
多行时自动扩展、到上限框内滚动;Step2 两个单行 input 改多行;统一 Enter 发送/Shift+Enter 换行
- 各步输入框最大展开高度翻倍(Step1 320 / Step2 280 / Step3 224)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 19:13:48 +08:00
董宏凯 and Claude Opus 4.8
25e4e3dbc9
feat: 敏感词管理页面(脱敏词后台化,限 lqq 账号)
...
- 后端 /api/sensitive-words:全局共享词表,开放读、admin 或 lqq 整体替换写
- 前端 desensitize 种子化:SEED_DESENSITIZE_MAP + 运行时 replaceDesensitizeMap
- 启动加载后台配置回灌脱敏映射;管理页支持增删改启停 + 一键导入种子词
- 入口置于左下角设置下拉(全量/简洁两种侧边栏均有),仅用户名 lqq 可见
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 18:05:07 +08:00
董宏凯 and Claude Opus 4.8
39d7dab3e2
chore: 提交 AI 写作研究侧栏改动与前端开发环境变量
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 17:32:40 +08:00
董宏凯 and Claude Opus 4.8
fc7576fea3
feat: 圆桌会商 Step1 左栏样式优化(业务链关系图/分析记录卡片)
...
- 业务链:红色主题卡片头+单选圆点+席位胶囊+描述;选中可展开关系图,
席位按 stages 分组用彩色圆形小图标排列,悬停浮层显示名称/描述
- 分析记录:圆角改 5px,新增已完成/未完成标签与「第 N 步」进度,
标题/状态/时间/步骤四角布局,加选中高亮与 hover 阴影
- 修复滚动容器 overflow 裁剪导致卡片左边框被切
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 17:31:24 +08:00
董宏凯 and Claude Opus 4.8
ef1a12ab74
feat: zzJC/zzXD 左栏智能体列表对齐全量版彩色卡片样式
...
- 抽出共享配色助手 agent-icon-color.ts(按 id 散列、分浅色/深蓝主题),
general-qa-sidebar 与 agent-module-sidebar 共用
- AgentModuleSidebar:背景改白底、去毛玻璃;智能体项改为彩色渐变图标卡片
(图标+名称+两行简介+选中态主色描边/右侧主色条);分组标题与聊天记录配色统一
- 保留按类型分组/折叠与会话过滤逻辑
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 13:11:27 +08:00
董宏凯 and Claude Opus 4.8
1c8b5b23a1
feat: 菜单管理(侧边栏覆盖层)
...
管理员可对一/二/三级菜单(含注入的 iframe 轻应用节点)改名、停用/启用、
排序、跨层级移动。静态菜单仍是图标/路由来源,后端只存每节点覆盖项。
后端: /api/menu-overrides(全局共享;开放读、admin 原子替换;≤3 级校验),
新增 persistence/menu_overrides 持久化层(create_all 自动建表)。
前端: 合并逻辑 menu-overrides.ts、MenuManagementPage(@dnd-kit 拖拽+移动到
父级选择器+上下箭头+改名/停用)、左下角设置入口、Header/侧边栏自动生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 23:34:12 +08:00
董宏凯
7afdf5b363
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 22:01:18 +08:00
董宏凯
6c5a2cffe3
配置页面修改
2026-06-16 22:01:06 +08:00
董宏凯
1fa2338ac3
Merge branch 'dhk-1' into 'master'
...
feat(task): 任务详情(cop-task-detail)登录深链增加本地假数据开关
See merge request knowledge-base-bj/deerflow-server!130
2026-06-16 13:07:13 +00:00
董宏凯
56e17f826c
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 21:06:22 +08:00
董宏凯
bc5c2fa3d4
样式修改
2026-06-16 21:06:14 +08:00
董宏凯 and Claude Opus 4.8
2fce5e61c9
feat(ui): 全量版通用问答侧栏深蓝主题适配 + 任务深链接口路径修正
...
- general-qa-sidebar:侧栏底色 bg-white → bg-sidebar(随主题,深蓝主题=深蓝);
「新对话」按钮底色 color-mix 混 transparent 而非 white;智能体图标底色改用
《深蓝 UI 规范》§1.1.7/§1.1.8 的蓝-青系(替换原高彩度玫瑰/琥珀/翠绿渐变)
- task-deeplink:cop-task-detail 接口路径修正 taskAnalysSearch → taskAnalyseSearch
- 同步 mock-data 路径 + CLAUDE.md 文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 20:57:21 +08:00
董宏凯 and Claude Opus 4.8
d5d0494928
feat(task): 任务详情(cop-task-detail)登录深链增加本地假数据开关
...
- 新增 VITE_MOCK_COP_TASK_DETAIL 开关(默认 false 走真实接口;true 时该接口走本地假数据,
供 consumer 外网不可达时调试),与 VITE_USE_REAL_DATA 独立
- utils/request.ts 按开关把 cop-task-detail 请求切到本地 mock adapter
- task-mock-data.ts 增加 cop-task-detail 假数据 + matcher/adapter
- 各 .env(development/network/production/sit) + .env.example 补充该开关说明
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 20:57:21 +08:00
董宏凯
e621ce88e6
Merge branch 'dhk-1' into 'master'
...
feat(ai-writing): 进入写作后自动收起研究模板侧栏
See merge request knowledge-base-bj/deerflow-server!129
2026-06-16 11:50:26 +00:00
董宏凯
761491ec41
代码修改
2026-06-16 19:50:07 +08:00
董宏凯
a35ed77ff0
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 19:41:40 +08:00
董宏凯 and Claude Opus 4.8
245ac969a7
feat(task-deeplink): 会商/智能体问答嵌入任务管理布局
...
任务深链(goPath=3qfx/3qfx-A 等)跳转的多智能体会商 / 单智能体问答
改为嵌进「任务管理」对应业务上下文,侧边栏保持 COH中任务→对应业务 高亮。
- StrategyRoutes: task-management 配下新增 6 条嵌入路由(每业务 roundtable + agent)
- AgentChatPage: 新增 chatBasePath 可选属性,覆盖发消息后 URL 改写 / 新会话路径
- task-deeplink: 跳转目标改为业务别 task-management 嵌入路由(BUSINESS_TASK_BASE)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 19:41:28 +08:00
董宏凯
380407ae2f
Merge branch 'dhk-1' into 'master'
...
代码提交
See merge request knowledge-base-bj/deerflow-server!128
2026-06-16 11:31:03 +00:00
董宏凯
baf3fadce6
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!127
2026-06-16 11:02:34 +00:00
董宏凯
e3c1adb71a
Merge branch 'dhk-1' into 'master'
...
feat(qa-center): 问答中心左侧栏改造(0616 需求 2-5)
See merge request knowledge-base-bj/deerflow-server!126
2026-06-16 10:56:47 +00:00
董宏凯
ce165ece69
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 18:56:13 +08:00
董宏凯
63bddfdea7
代码修改
2026-06-16 18:56:04 +08:00
董宏凯 and Claude Opus 4.8
45049975c2
feat(roundtable): 多智能体会商 + 业务链条页脱敏
...
- 区域级脱敏 Hook useDesensitizeSubtree:对左右侧面板、顶部标题、
业务链条选择器/列表弹窗/列表页/配置页/映射页整片脱敏(文本节点,
跳过 input/textarea 等可编辑控件)
- 消息列表正文保持原文,仅智能体名称脱敏(senderName / 席位名 / 流程图节点)
- Step3 总结/报告/大屏、推荐弹窗等结果面板脱敏
- 沙箱产物预览不脱敏:ArtifactFileDetail 加 disableDesensitize,会商沙箱传入
- desensitize.ts 新增 desensitizeDeep 递归脱敏结构化数据
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 16:43:29 +08:00
董宏凯
fe0dc8d1a5
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 第二步席位执行模式(快速/思考/专业问答/多智能体)+ 子智能体任务卡片 + 后台完成跨页通知 + 链条默认模式持久化
See merge request knowledge-base-bj/deerflow-server!124
2026-06-16 06:19:04 +00:00
董宏凯
8794c51f88
提交
2026-06-16 14:18:15 +08:00
董宏凯 and Claude Opus 4.8
8d1669adad
feat(roundtable): 后台作业按用户并发限流 + 草稿持久化优化
...
后台挂起作业每个 agent 轮次(leader/seat/report/summary/dashboard)开跑前
先取该用户的后台并发额度(默认 2,ROUNDTABLE_BACKGROUND_SLOTS_PER_USER 可调),
跑完释放;同一用户多个后台作业共享额度,避免把单连接 SQLite checkpointer 和
离线模型端点打满拖垮前台实时会商。前台实时路径不经过此额度,不受限。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 14:17:30 +08:00
董宏凯 and Claude Opus 4.8
da3d38013e
feat(ai-writing): 素材收集技能调用失败时容错回退到其他技能
...
默认/选中技能调用失败(超时、报错、全部检索词失败)时不再直接报错,
改用其他技能继续检索:节点 emit skill_error 步骤(带真实原因),配置技能
全部失败且无新素材时跑 fallback 兜底(内置知识库检索优先,再到目录其它已
启用技能)。前端 SkillStepsCard 渲染 skill_error(玫红)/ fallback(琥珀),
时间线展示"技能报错→改用其他技能搜集"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 14:15:49 +08:00
董宏凯
c7dccf8c0b
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 10:09:35 +08:00
董宏凯
2526304394
sd
2026-06-16 10:09:30 +08:00
董宏凯 and Claude Opus 4.8
9ed5420381
feat(light-app): 应用管理页加类型分类筛选 + 修复深色顶栏标题高分屏内边距
...
- 应用管理工具栏新增「全部/新页跳转/iframe嵌套」分类切换,选中 iframe
嵌套时出现挂载菜单下拉,可按 mountLocation 进一步筛选(深色/浅蓝主题适配)
- 深色顶栏 .header-center-title 内边距由固定 155px 改为 8.07vw,随视口
等比缩放以匹配 background cover,修复 4K 等高分屏两侧菜单贴近中间的问题
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 22:33:18 +08:00
董宏凯 and Claude Sonnet 4.6
69c8c14c91
fix(nav): 修复问答梳理等带子路径页面的导航高亮丢失问题
...
KnowledgeBasePage 加载后自动跳转至 /knowledge/:noteId,原精确路径匹配
导致顶栏和侧边栏选中态丢失。将 hasActiveChild / isItemActive /
menuItemContainsPath 等 8 处判断统一改为前缀匹配
(pathname === path || pathname.startsWith(path + "/")),
覆盖浅色侧边栏、深色侧边栏、顶部导航栏三套组件。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-15 20:50:26 +08:00
董宏凯 and Claude Sonnet 4.6
88b1a330a6
fix(roundtable): 修复弹窗被顶部导航栏遮挡的 z-index 问题
...
将全局 Header z-[2101] 降为 z-[45]、圆桌页内部 header z-[2000] 降为 z-[40],
使两者低于 Shadcn Dialog 遮罩层 z-50,弹窗打开时可正常覆盖导航栏。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-15 18:32:07 +08:00
董宏凯
9e481cdcaa
Merge branch 'dhk-1' into 'master'
...
feat(theme): 浅蓝色主题适配 —— COH任务三子页 + 应用中心子页
See merge request knowledge-base-bj/deerflow-server!122
2026-06-15 10:21:08 +00:00
董宏凯 and Claude Sonnet 4.6
b1b2540dc0
feat(theme): 浅蓝色主题适配 —— COH任务三子页 + 应用中心子页
...
- ThemeContext: 新增 data-theme="lightblue" 属性管理,支持红/蓝双浅色主题
- strategy-data.css: 新增 [data-theme="lightblue"] 变量覆盖块(与浅红默认共存)
- SentimentAnalyzes / TaskAnalyzes / ActionAnalyzes / KanbanColumn / TaskCard / ActionColumn:
isDark ? dark : isLightBlue ? blue : red 三路适配
- LightAppListPage: 应用列表页品牌色(标题点、徽章、搜索 focus、计数、进入按钮)浅蓝适配
- LightAppNoteQAPage: 问答发送按钮浅蓝适配
- light-app-management.css: 新增 [data-theme="lightblue"] CSS 覆盖块(主按钮、保存、开关、输入 focus 等)
- light-app-pages.css: 浅蓝模式页面底色轻染 #F9FCFF
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-15 18:16:06 +08:00
董宏凯
5dc1ed5685
Merge branch 'dhk-1' into 'master'
...
fix(sandbox): 修复 Markdown 编辑保存后内容被重置回原值
See merge request knowledge-base-bj/deerflow-server!121
2026-06-15 09:11:09 +00:00
董宏凯
1ad8da5ef2
代码提交
2026-06-15 17:04:53 +08:00
董宏凯 and Claude Opus 4.8
22e9f18d08
chore(chat): 移除 landing 紧凑态底部 V1.2 免责声明
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 16:55:10 +08:00
董宏凯 and Claude Opus 4.8
b6c9265e31
feat(light-app): 轻应用中心列表/管理页深蓝主题适配
...
- 新增 light-app-pages.css / light-app-management.css,引入《深蓝色 UI 规范》
tokens,.dark 下覆盖页面底图、页头文案、主按钮、表格、下拉弹层等
- 列表/管理页根节点加 className 钩子与 dark: 背景类,浅色样式不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 16:55:06 +08:00
董宏凯 and Claude Opus 4.8
ee6ab38c37
feat(nav): 浅色模式导航重构(顶栏一级 + 侧边栏二级图标卡 + 三级右侧列)
...
浅色(红/蓝)主题改为与深色一致的导航逻辑,颜色经 --brand-* 变量自动切换:
- 一级导航正常横排进顶栏(白字落在 banner 上,选中加粗 + 底部粗白线)
- 二级导航为侧边栏图标卡片(图标主题色、文字 #222222、选中铺满列宽 + 右侧粗边)
- 三级导航改到侧边栏二级右侧的「三级列」:激活二级项有三级时整列展开、
侧边栏 96→236px 整体变宽并带过渡动画,主内容左内边距同步平滑右移
- 顶栏三级横条改为仅深色用;浅色不支持侧边栏收起
- 任务管理二级项改用区分图标(ClipboardList/Activity/Gauge/Radar)
- 字体统一用全局 --font-sans,修复雅黑兜底下加粗不生效
- 抽出 getActiveThirdLevelItems / useActiveThirdLevel 供侧边栏与 PageRoutes 共用
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 16:53:21 +08:00
董宏凯 and Claude Opus 4.8
fbd237531e
fix(roundtable-share): 修复分享拿不到总控结论/各席位交付 + 分享总结报告与大屏多页
...
排查发现后台作业把结果写进 step2.runs[activeRun],而顶层 step2 残留前台 seed
的陈旧气泡(无交付、无结论)。_result_sections 旧逻辑「顶层为空才回退 run」因顶层
非空而永不回退,导致分享页 consensus 与 seat_deliveries 为空。改为优先读活动 run
(与前端 hydrate 一致),已有分享链接无需重建即生效。
同时把第三步另外两个产物纳入分享:
- 方案总结报告(step3.summaryReport.md,Markdown 内联渲染)
- 大屏多页(step3.dashboardJson,用应用内 React 大屏 DashboardApp 渲染,新增
/roundtable-share/:code/dashboard 路由,与应用渲染/新窗口打开同源)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 12:57:33 +08:00
董宏凯 and Claude Opus 4.8
49101ef0e8
feat(roundtable): 第二/三步沙箱 md 文件支持用户编辑
...
复用主聊天页同款 ArtifactFileDetail 编辑能力:新增 allowVirtualMarkdownEdit
开关,圆桌沙箱里 write-file 虚拟 md 在流式结束后切回真实 artifacts API
(可加载 + PATCH 保存),由 Step2SandboxLayout 与 HighFidelityReport 启用。
主聊天页等其它调用方默认关闭、行为不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 12:57:18 +08:00
董宏凯
8751ee7361
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-15 11:39:24 +08:00