董宏凯
ac92f29db1
chore(persistence): 增加 Workflow Studio 表重建开关与迁移兼容修正
...
提交内容:为数据库生命周期增加按白名单清单重建 Workflow Studio 表的受限流程,限定仅 MySQL 且检查当前连接数据库名称一致,避免误删非目标 schema。
启动流程中新增 DEER_FLOW_REBUILD_WORKFLOW_SCHEMA 环境变量入口与持久层重建 API,并在 lifespan 里按需执行;导出到 persistence 包,便于后续调用与测试复用。
迁移与模型修复:将 workflow 相关大文本字段切到 MySQL LONGTEXT,不再给 TEXT/LONGTEXT 设置 server_default;新增 draft_canvas_schema_json 的迁移回填与非空约束变更,规避 MySQL 5.7 对默认值限制。
测试覆盖:补充 workflow 定义 ddl 长文本断言与 schema 重建保护性测试(仅允许清单表、数据库名不匹配直接拒绝),并把新测试文件加入版本追踪。
2026-08-31 16:45:06 +08:00
董宏凯
f0ddade8a7
feat(roundtable): 增强多智能体 Step2 流式推理与产物展示
...
提交内容:将 roundtable 的流式消息拆分为文本与 think 推理,支持思考内容以 <think> 形式内联渲染,解决仅返回 reasoning token 时的内容空洞问题。新增 stream-reasoning 工具与单元测试,保证 reasoning 首包到正文的闭合行为稳定。
交互与预览修正:write_file/str_replace 工具的沙箱打开策略改为更接近实时席位行为,不再因为文件后缀限制阻塞临时脚本写入可视化;通过新增 streaming-artifacts 工具统一处理可预览路径、最终交付产物过滤与目录快照比对,支持 bash/脚本直接落盘场景在流式阶段自动发现新增文档。
体验细节:步骤面板文件卡片从工具路径与最终 artifact 统一收敛,避免 read_file 点击误触发;自动滚动逻辑新增布局高度抖动识别,防止模型推理渲染导致的误判向上滚动。
2026-08-31 16:45:01 +08:00
董宏凯
fbf9031e25
feat(会商第三步): 恢复普通会商完整成果并隔离8BF报告模式
...
- 为普通多智能体会商恢复报告完成后的结构化流程图、最终方案展示、经典结果绘制和大屏多页,并保持三个生成流独立并行。
- 8BF 入口显式采用 report-only 模式:只生成和编辑 Markdown 总结报告,不再启动或露出流程图、结果绘制及大屏功能。
- 结构化流程图增加抽取、校验、暂停、失败重试和歧义选择交互;报告完成后状态文案准确切换,自动滚动定位到抽取与校验进度。
- 为总结报告、经典 HTML 绘制和大屏虚拟 write_file 补齐完成结果及历史恢复处理,避免并行分支或旧草稿让完成产物误显示为生成中。
- 最终方案展示中的已落盘文件直接按完成态预览,并恢复 MD、HTML 等文件类型徽标,不再被提交按钮覆盖。
2026-08-30 21:24:47 +08:00
董宏凯
2254841822
fix(会商第二步): 恢复总控派活实时展示并修正沙箱预览状态
...
- 流式解析改为跟踪当前 tool call id,连续多次 agent_orchestration 派活时前端即时展示最新席位和任务,不再等模型完整回复后一次性出现。
- 总控派活步骤按 tool call 独立归档并合并增量参数,避免同名工具调用互相覆盖或只显示半截任务。
- 沙箱自动打开改为按单个产物预览键管理:用户关闭当前文件后不反复弹出,但后续新文件仍可自动预览。
- 为圆桌虚拟 write_file 补齐工具完成结果,并在席位收尾和历史草稿恢复时兜底收口,防止完成文件长期显示“正在生成”。
2026-08-30 21:24:30 +08:00
董宏凯
74fc849241
fix(会商滚动): 让第二、三步新消息与结构化进度即时定位到底部
...
- 为圆桌滚动钩子增加强制落底能力,阶段切换和布局变化不再被平滑滚动的旧高度截断。\n- 第二步用户发送消息后立即下滑到底部,不再等待模型首个输出。\n- 经典结果绘制与大屏对话面板接入内容高度观察,新增气泡、Markdown 和工具卡继续增高时保持跟随。\n- 保留用户手动上翻时的正常阅读行为,仅在新一轮发起或关键阶段切换时强制定位。
2026-08-30 21:24:08 +08:00
董宏凯
dd560ceb46
fix: 会商沙箱预览头仅在可提交的 Markdown 产物显示提交按钮
2026-08-30 20:02:21 +08:00
董宏凯
a4f95a4fa9
fix: 会商第一步隐藏继续追问与跳过此项按钮
2026-08-30 20:02:21 +08:00
董宏凯
b92a26cdd4
fix: 会商第二步只对可预览成品出文件卡/开沙箱,去掉干预并发送按钮
2026-08-30 20:02:21 +08:00
董宏凯
7066798ab0
chore: 配置新增 qwen3.8-flash 模型
2026-08-30 20:02:15 +08:00
董宏凯
222595d6c4
feat: 工作流画布支持草稿试运行(target=draft 执行当前草稿图)
2026-08-30 20:02:15 +08:00
董宏凯
3384f2e51c
fix: 会商席位与总控角色隔离,编排能力只归总控
2026-08-30 20:02:09 +08:00
董宏凯
ff80cc110d
fix: 写作管线步骤条改用不涉及检索的文案
...
- 「拆解检索问题」→「梳理写作思路」(已梳理出 N 个论述角度)
- 「检索参考资料」→「整理对话资料」(已整理 1/2 个论述角度的
资料 · 累计 N 条)
- 管线实际只汇总对话已收集的资料再成稿,原文案会让用户误以为
管线在重新检索;测试补标签断言防止回退
2026-08-30 16:21:02 +08:00
董宏凯
2ab3ab8444
fix: 写作管线整批接收对话检索结果,不再自己检索
...
- 相关性过滤新增位置通道:收割器给每条材料标记来源消息位置,课题
请求之后的检索结果整批入池(与语言/词面无关)——线上中文课题 +
英文检索结果被纯词面匹配误杀 31/35 条,报告只带着 4 条残料在写
- 课题切换保护保留:新请求之前的旧课题检索仍按词面强过滤,不凑
门槛、不入报告;对话里找不到课题消息时退化为原词面过滤
- 删除死代码 HarvestPlusSearchMaterialProvider(retrieve=True 的
自检索补充分支,早已被显式忽略):写作管线只负责写文件,检索
全部由对话完成成为结构保证
- 测试:锚点规则(澄清回答不充当新课题)、中文课题+英文资料整批
保留、课题切换旧检索过滤等场景,25 个用例入库(此前该测试文件
一直被 tests/* 忽略规则挡在版本库外)
2026-08-30 16:20:55 +08:00
董宏凯
f7e6ed65bd
fix: retry httpx timeout family as transient LLM errors
...
Live incident: the compatible-mode provider stalled mid-stream after
200 OK (~17s without data) and raised httpx.ReadTimeout, which was not
in the retriable exception-name set, so the call failed after 1
attempt and killed the whole run. Add ReadTimeout/ConnectTimeout/
WriteTimeout/PoolTimeout/TimeoutError/ConnectError to the transient
set in LLMErrorHandlingMiddleware (retry with backoff, then a
transient fallback message instead of generic), and add ReadTimeout/
ConnectTimeout to ai_writing's classify_exception for model
switching.
2026-08-30 15:53:51 +08:00
董宏凯
4964967295
fix: writing mode first-report allows only the pipeline to write the report
...
- Strip write_file/str_replace/bash from the model binding in the
first-report run: after_model rewrites only fire after a full model
response, so any bound write tool let weak models draft the whole
essay into tool args (write_file content or bash cat>/python
heredocs) for tens of invisible seconds before interception
- Hallucinated hand-writes are still handled: after_model rewrites
bash cat >/python open('w')/tee and leftover write calls to
deep_research_report; wrap_tool_call rejects whatever reaches the
tool layer; post-success writes are dropped, nudged to a 2-3
sentence summary, and patched with a fallback closing message so
the turn never ends silently
- The rewritten pipeline call carries topic = original request
(clarification answers skipped) plus focus = clarification answers,
so the pipeline writes the clarified subject instead of the raw
prompt text; prompts updated to match (tools unavailable, call the
tool directly, do not draft first)
- Frontend write-step interception and streaming preview scoping now
applies only in writing mode; normal mode shows/previews writes
exactly as before
2026-08-30 15:53:43 +08:00
董宏凯 and Cursor
49c01cb72b
fix: writing mode uses chat search then pipeline write only
...
Keep deep_research_report as a write-only deliverable from conversation materials, block post-success rewrite loops with a summary nudge, fill thin/empty pools from model knowledge, and open the sandbox only on real report.md content.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 12:41:04 +08:00
董宏凯 and Cursor
9afb9750e5
Merge branch 'master' into master-nj
...
Keep Win7 flowchart SVG labels and bring over Mermaid syntax repair plus HTML chart color downleveling.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 09:28:52 +08:00
董宏凯 and Cursor
f18994fd38
fix: show generated HTML charts on Win7 Chrome
...
Rewrite oklch/color-mix and space-separated rgb before iframe preview so pie and bar fills are not dropped on Chrome 109.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 09:25:09 +08:00
董宏凯 and Cursor
7c15ca6710
fix: show sandbox flowcharts on Win7 Chrome and repair common Mermaid syntax
...
Disable HTML labels so nodes use native SVG text, and rewrite bare edge labels plus invalid class statements before render.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 09:05:29 +08:00
董宏凯
31cfa93408
feat: 智能体列表页引导改为手动触发,完成/跳过不再跳转创建页
...
- AgentGuide 新增 autoStart 属性(默认 true),列表页挂载传 false:进智能体列表页不再自动弹引导,仅由头部「使用引导」按钮手动触发
- 去掉 list 段与创建页的联动:finish 不再 router.push,最后一步按钮恢复默认「完成」,跳过/走完都就地结束并写记忆
- AGENTS.md 同步更新智能体引导条目
2026-08-30 08:53:34 +08:00
董宏凯 and Cursor
b164e70541
fix: unlock send immediately after SSE close
...
Normal Q&A no longer waits on GET /runs before the next message. Probe run status only on 409 or dropped streams.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 08:48:53 +08:00
董宏凯
17cf849361
代码提交
2026-08-30 01:25:20 +08:00
董宏凯 and Cursor
4ac7bc21cd
feat: 优化对话历史与会商引导体验
...
列表引导改为手动触发且不跳转创建页;历史 Tab 展示会商步骤/链条与深度研究模板;Step2 增加暂停与内容高度跟随滚动,并修复旧草稿恢复兜底。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 20:25:21 +08:00
董宏凯 and Cursor
832e180c52
fix: 改进流式 write_file 沙箱预览与 Mermaid 旧浏览器兼容
...
同轮次非末尾 write_file 也能自动打开沙箱并跳过 JSON 大文件预览;Mermaid 改用 SVG 标签;agentfx 强制先写 md 再写 json。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 16:21:39 +08:00
董宏凯 and Cursor
875001a8c0
feat: 对话历史页收纳会商/写作/深度研究 Tab,侧栏移除重复入口
...
ChatsPage 新增四类历史 Tab 与统一搜索筛选 UI;简洁模式侧栏不再展示会商与写作列表;深度研究页支持 ?session= 深链打开指定记录。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 15:43:02 +08:00
董宏凯 and Cursor
36653c53a6
feat: 补充对话历史页深度研究 Tab 组件
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 13:01:58 +08:00
董宏凯 and Cursor
37517c2778
fix: 嵌套深链改为按路由去 chrome,顶层不再清除共用 embed.session
...
避免全量父页清掉老版内层深链仍依赖的 embed.session;深链问答/会商/大屏绘制由 isHostNestedSurfacePath 控制 chrome,并抽取对话历史 Tab 共享行组件。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 13:01:46 +08:00
吉鑫升
3715af3138
chore: move offline release assets to standalone repository
2026-08-27 23:35:57 +08:00
吉鑫升
973500a0f0
fix: preserve LF in offline deployment assets
2026-08-27 22:35:57 +08:00
吉鑫升
d9a94245fc
feat: standardize DeerFlow offline deployment
2026-08-27 22:06:43 +08:00
董宏凯
1764d0d5f2
Merge branch 'master-nj' into 'master'
...
fix: 8BF 无 taskId 开全新会话,公共链条发布联动席位智能体
See merge request knowledge-base-bj/deerflow-code!35
2026-08-27 13:48:17 +00:00
董宏凯 and Cursor
84370e2072
fix: 8BF 无 taskId 开全新会话,公共链条发布联动席位智能体
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 21:47:31 +08:00
董宏凯
0289a76fce
Merge branch 'master-nj' into 'master'
...
feat: 新增 agentfx 任务深链与研判报告入库流程
See merge request knowledge-base-bj/deerflow-code!34
2026-08-27 10:39:04 +00:00
董宏凯 and Cursor
32e509b2b3
fix: 岗位会商 handoff 将上游产物镜像到当前席位沙箱
...
席位线程隔离导致下游 read_file 找不到上游路径;镜像到 workspace/upstream 并改写 handoff 引用,附带安全路径校验与 SQL 回退测试。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 18:35:17 +08:00
董宏凯
440b490b0d
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into master-nj
2026-08-27 16:33:33 +08:00
董宏凯 and Cursor
52b9cbf707
feat: 新增 agentfx 任务深链与研判报告入库流程
...
支持 goPath=agentfx 的 iframe 嵌入问答、内置研判助手种子与报告导入协助卡,并完善深度研究流式报告能力。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 16:32:22 +08:00
吉鑫升
11326eeb1c
feat: improve skill uploads and agent runtime stability
2026-08-27 11:14:23 +08:00
吉鑫升
485a8fa9d9
feat: standardize Word export and Office conversion
2026-08-27 00:09:53 +08:00
董宏凯
4ce2f3a502
Merge branch 'master-nj' into 'master'
...
feat: 智能体问答页右侧面板受控折叠,收起整列归零并在 header 提供展开入口
See merge request knowledge-base-bj/deerflow-code!33
2026-08-26 10:25:11 +00:00
董宏凯 and Cursor
6e9e89a6cb
fix: 流式自动开沙箱分阶段收起侧栏,避免同帧布局卡顿
...
新增 preOpen 两阶段标记,先错开收起左右侧栏再展开沙箱;智能体详情面板据此提前收起,减少与沙箱展开同帧叠加造成的卡顿。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 18:24:06 +08:00
董宏凯 and Cursor
90d29ed232
feat: 智能体问答页右侧面板受控折叠,收起整列归零并在 header 提供展开入口
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:37:23 +08:00
董宏凯
d9de41dd67
代码修改
2026-08-26 17:15:04 +08:00
董宏凯
f1245da3e4
Merge branch 'master-nj' into 'master'
...
feat: 舆情分析智能体改为经 Gateway 转发外部 AG-UI 网关
See merge request knowledge-base-bj/deerflow-code!32
2026-08-26 09:00:55 +00:00
董宏凯
38c3de39f0
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into master-nj
...
# Conflicts:
# AGENTS.md
# frontend-web/src/pages/AgentChatPage.tsx
2026-08-26 16:37:41 +08:00
董宏凯 and Cursor
33639e5b89
fix: 修复嵌套 iframe 污染 embed 会话与协助卡后流式显示异常
...
顶层窗口通过 topOwned 标记自愈老版嵌套页写脏的 embed.session;协助卡提交后避免冻结 checkpoint 覆盖实时 SSE,并仅在服务端回显新 human 消息时清除乐观气泡。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 16:28:10 +08:00
吉鑫升
676b00afb6
Merge branch 'ji' into master
2026-08-26 16:07:37 +08:00
吉鑫升
0980eea975
feat: unify formal Word export
2026-08-26 16:02:23 +08:00
董宏凯
eba3008482
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into master-nj
2026-08-26 15:48:23 +08:00
吉鑫升
9b904ac3dd
Merge branch 'ji' into master
...
# Conflicts:
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/README.md
# offline-backend-20260512/backend/app/gateway/routers/llmwiki.py
# offline-backend-20260512/backend/config.yaml
# offline-backend-20260512/backend/packages/harness/deerflow/config/llmwiki_config.py
# offline-backend-20260512/backend/tests/test_llmwiki_weknora.py
2026-08-26 15:46:58 +08:00
董宏凯
704438b3d2
bug修改
2026-08-26 15:46:49 +08:00