董宏凯
d7ad0624b7
代码提交
2026-07-15 16:13:03 +08:00
董宏凯
27e6b0b23e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into dhk-dev
...
# Conflicts:
# frontend-web/src/open-canvas/components/ai-writing/AIWritingForm.tsx
2026-07-11 19:01:10 +08:00
董宏凯
55b5c2cc9f
代码部署说明
2026-07-11 18:58:16 +08:00
董宏凯
d5d5199f6d
Merge branch 'dhk-1' into 'master'
...
代码合并
See merge request knowledge-base-bj/deerflow-code!2
2026-07-11 10:16:38 +00:00
fengxiangdebaozi
0bd0ac41cd
代码合并
2026-07-11 18:16:08 +08:00
董宏凯
b1c396717b
Merge branch 'dhk-1' into 'master'
...
feat(message-token-usage): 速度条下方常驻颜色含义图例
See merge request knowledge-base-bj/deerflow-code!1
2026-07-11 10:12:52 +00:00
fengxiangdebaozi
388a9133fc
fix: adapt frontend for legacy Chrome and runtime config
2026-07-11 16:55:08 +08:00
董宏凯
221e947488
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-dev
...
# Conflicts:
# frontend-web/src/open-canvas/components/ai-writing/AIWritingForm.tsx
# frontend-web/src/open-canvas/components/ai-writing/AIWritingPanel.tsx
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/app/gateway/services.py
# offline-backend-20260512/backend/tests/test_ai_writing_knowledge_base.py
2026-07-03 22:28:21 +08:00
董宏凯
a1c63a1fe5
代码提交
2026-07-03 22:11:50 +08:00
吉鑫升
db2f21191c
fix(frontend): handle clipboard fallback and markdown word export
2026-07-03 16:54:16 +08:00
董宏凯
195ef3ee40
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!169
2026-07-03 08:37:06 +00:00
fengxiangdebaozi
f3511e5cd0
样式修改
2026-07-03 16:35:52 +08:00
fengxiangdebaozi
96947d7636
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-03 14:56:49 +08:00
fengxiangdebaozi
034a379ecd
技能提交
2026-07-03 14:56:35 +08:00
董宏凯
da856f2b58
fix: improve ai writing chat streaming and intent handling
2026-07-02 17:43:23 +08:00
董宏凯
845c87e3ee
feat: add AI writing chat workspace
2026-07-02 13:56:46 +08:00
董宏凯
7d9c0894f8
fix: limit roundtable chain rail height
2026-07-02 11:17:52 +08:00
吉鑫升
ae30a20739
Merge remote-tracking branch 'origin/master' into ji
2026-07-02 11:15:06 +08:00
吉鑫升
7e7d3c9846
fix: truncate rwfx 3q context
2026-07-02 11:05:12 +08:00
吉鑫升
daff70c34f
fix: include rwfx 3q status in context
2026-07-02 10:43:16 +08:00
董宏凯
94188db9ea
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!168
2026-07-02 02:15:43 +00:00
董宏凯
b12497898a
fix: polish roundtable chain rail toggle
2026-07-02 10:14:40 +08:00
董宏凯
3e51208024
feat: add roundtable chain rail scroll
2026-07-02 10:06:24 +08:00
吉鑫升
36a3851233
feat: inject 3q context into rwfx chat
2026-07-02 10:03:34 +08:00
董宏凯
54190d7a83
提交代码
2026-07-01 19:24:23 +08:00
fengxiangdebaozi
2215ec3c49
feat: add user-assisted xdfx skill flow
2026-07-01 19:21:18 +08:00
董宏凯
d21dbeb214
feat: refine ai writing search flow
2026-07-01 18:00:14 +08:00
董宏凯
ba0c32dcee
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!167
2026-07-01 09:51:15 +00:00
fengxiangdebaozi
f5efe9b041
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-01 17:50:33 +08:00
fengxiangdebaozi
a4a44e1154
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-01 17:50:06 +08:00
fengxiangdebaozi
cef08638af
技能修改
2026-07-01 17:49:51 +08:00
董宏凯
025e43f4c5
feat: improve ai writing imitation flow
2026-07-01 17:16:12 +08:00
董宏凯
fa04ab8b5a
fix: filter position-granted agent favorites
2026-07-01 14:51:14 +08:00
董宏凯
f3e5a3bb35
fix: prevent notebook writing redirect to agent chat
2026-07-01 14:48:40 +08:00
董宏凯
0547fb1715
提交
2026-07-01 11:22:26 +08:00
董宏凯
bb6b9bd84b
feat: add ai writing imitation mode
2026-07-01 11:21:41 +08:00
董宏凯
4bfaeb728b
fix: disable ssl verification for intranet ai writing search
2026-07-01 10:21:52 +08:00
董宏凯
c8cdd1d0b2
Merge branch 'dhk-1' into 'master'
...
统一外部 access_token 存储与轻应用 URL 拼接,修复嵌入会话鉴权隔离。
See merge request knowledge-base-bj/deerflow-server!165
2026-06-30 11:21:42 +00:00
董宏凯
8fbfd35296
Add scheduled HTML templates no19-no27
2026-06-30 19:18:48 +08:00
董宏凯
dfb745a5e4
代码提交
2026-06-30 16:04:51 +08:00
董宏凯 and Cursor
537e2e4d06
fix(登录): token 登录补全 userInfo + 全方式打印路由参数
...
- 把「拉外部用户信息(yUserId→consumer)」与登录鉴权方式解耦:只要 URL 带
yUserId 就填充 userInfo(含 token 登录,consumer 失败非致命),修复 token
登录后 userInfo 残缺、iframe/轻应用拿不到 yUserId/userName/gateDepartName/
typeName/accessToken 的问题。
- token 登录用 auth.username 写入正确用户名(不覆盖 consumer 已落的 userName)。
- 保留 yUserId 优先级(onlineTicket/toolToken 仅在无 yUserId 时启用)。
- 新增登录路由参数 + 落地结果日志(令牌脱敏),方便排查各登录方式取值问题。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-29 23:36:33 +08:00
董宏凯 and Cursor
9268c73776
feat(沙箱): md 产物支持 AI 写作编辑与划词改写
...
- 新增 MarkdownAiEditor,复用 AI 写作的 TipTap 编辑器与 AI 改写流程
- 沙箱 md 增加 AI 写作视图切换,默认仍为预览;单文件隐藏文件名避免工具栏错位
- 单智能体聊天页开启 allowVirtualMarkdownEdit,生成完成后可编辑
- 会商总结页续看时自动收起研讨原料侧栏
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-29 23:08:55 +08:00
fengxiangdebaozi
6378cd33bd
统一外部 access_token 存储与轻应用 URL 拼接,修复嵌入会话鉴权隔离。
...
将 access_token 纳入 scoped storage 迁移,yUserId 登录优先并独立持久化 token;轻应用/按钮管理默认改用 access_token 参数名,支持 hash 路由占位符替换与自动追加。
2026-06-29 23:00:31 +08:00
fengxiangdebaozi
8c6d08d6bf
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-29 18:08:37 +08:00
fengxiangdebaozi
29082b349d
技能修改
2026-06-29 18:08:09 +08:00
Administrator
7d8656bfde
fix xdfx task start context recovery
2026-06-29 17:45:46 +08:00
fengxiangdebaozi
45ce14e15a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-29 17:39:52 +08:00
g zy
17650afe96
Merge branch 'revert-f22a6a99' into 'master'
...
Revert "Merge branch 'revert-d8af6c8f' into 'master'"
See merge request knowledge-base-bj/deerflow-server!163
2026-06-29 09:19:24 +00:00
g zy
80fce34c1a
Revert "Merge branch 'revert-d8af6c8f' into 'master'"
...
This reverts merge request !158
2026-06-29 09:19:17 +00:00
fengxiangdebaozi
6851c96a45
技能提交
2026-06-29 16:59:23 +08:00
g zy
f22a6a9957
Merge branch 'revert-d8af6c8f' into 'master'
...
Revert "Merge branch 'gzy' into 'master'"
See merge request knowledge-base-bj/deerflow-server!158
2026-06-29 08:45:40 +00:00
fengxiangdebaozi
210cb5117f
fix: polish compact workspace controls
2026-06-29 16:44:13 +08:00
g zy
75e8a90ac7
Revert "Merge branch 'gzy' into 'master'"
...
This reverts merge request !157
2026-06-29 08:43:19 +00:00
g zy
d8af6c8f48
Merge branch 'gzy' into 'master'
...
feat: iframe增加智能体显示
See merge request knowledge-base-bj/deerflow-server!157
2026-06-29 08:43:11 +00:00
Rocky Kwok
1ab4216ccb
feat: iframe增加智能体显示
2026-06-29 16:42:38 +08:00
g zy
6157b42f5a
Merge branch 'gzy' into 'master'
...
Gzy
See merge request knowledge-base-bj/deerflow-server!156
2026-06-29 06:33:12 +00:00
Rocky Kwok
be4b180d92
fix: 智能体对应
2026-06-29 14:31:55 +08:00
Rocky Kwok
e9e4c181b9
feat: 插件管理及域名和智能体对应
2026-06-29 14:31:40 +08:00
fengxiangdebaozi
eb61b332a2
Add XDFX skill data artifacts
2026-06-29 10:25:36 +08:00
fengxiangdebaozi
4fce6f9104
Add intranet retrieval diagnostics for AI writing
2026-06-29 10:21:10 +08:00
fengxiangdebaozi
bcd656fb49
代码提交
2026-06-28 18:50:59 +08:00
Administrator
2d3033434b
Fix async thread title generation flow
2026-06-28 18:09:48 +08:00
Administrator
d522498cc9
ji
2026-06-28 00:23:01 +08:00
fengxiangdebaozi
65449ffd71
merge dhk-1 yuser login cache
2026-06-27 19:58:57 +08:00
fengxiangdebaozi
006c5bc4c1
fix: cache yuser login info by user id
2026-06-27 19:57:06 +08:00
Administrator
a046d19ce1
fix: improve model concurrency limiting
2026-06-27 18:57:01 +08:00
Administrator
aca089e8ef
feat: add per-model concurrency limits
2026-06-27 18:57:01 +08:00
董宏凯
24eb629773
Merge branch 'dhk-1' into 'master'
...
feat(ai写作): 历史记录可继续未完成的会话(从checkpoint续跑)
See merge request knowledge-base-bj/deerflow-server!155
2026-06-27 09:31:57 +00:00
fengxiangdebaozi
1847eb9d6a
fix(auth): normalize external accessToken and preserve on empty yUser login
2026-06-27 17:29:52 +08:00
董宏凯
44d7304f8e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-27 16:00:47 +08:00
董宏凯 and Cursor
5de74e90dc
feat(ai写作): 左栏智能体 Tab 内嵌问答并优化模块侧栏
...
AI 写作页默认展示智能体 Tab,在页内复用 ai-writing 模块配置与 AgentChatPage;确认类型后侧栏扁平展示类型名并支持整块收起动画。同步历史回看、流式续跑、改写菜单与 researcher 检索相关改动。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-27 15:53:51 +08:00
Administrator
6fdca41a1d
Merge branch 'ji' into master
2026-06-27 15:13:45 +08:00
Administrator
c978a25b7f
Fix 3qfx task context fallback
2026-06-27 15:12:28 +08:00
董宏凯 and Claude Opus 4.8
c11307aa67
feat(ai写作): 历史记录可继续未完成的会话(从checkpoint续跑)
...
历史列表里 in_progress/draft_ready/review_ready 记录加绿色▶️ 「继续未完成」按钮
(点标题亦可);done/error/background 不可继续。多 worker 安全——与4个确认卡同机制,
全基于共享 checkpoint(gateway GET /threads/{id}/state + /history 读,任意 worker)。
链路:continueWriting(sessionId) → closeHistory + 设活跃 sessionId → useStream
fetchStateHistory 拉该 thread checkpoint 进 stream.values → host rehydrate effect
(continueTargetRef 守卫,每 thread 一次)用 buildRehydrateSnapshot 重建已完成阶段;
status=awaiting_* → 显示确认卡等用户操作,否则 submit({command:{}}) 从 checkpoint
续跑当前阶段。重新加回 buildRehydrateSnapshot + rehydrate action。
入口在侧栏 WritingHistoryItem。刷新=重置不受影响(这是显式点击,非自动重连)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-27 13:12:47 +08:00
吉鑫升
199269712f
Merge branch 'ji' into master
...
账号级登录口令(白名单管理页设明文口令,凭 /login/<用户名>?password= 直登)。
2026-06-27 11:19:58 +08:00
吉鑫升 and Claude Opus 4.8
9572b66ecb
feat(白名单): 账号级登录口令——管理员设明文口令,用户凭 /login/<用户名>?password= 直登
...
白名单管理页可给单个账号设明文登录口令(users.login_password,可空):
设置后该账号用户名直登(/login/username)须带匹配 ?password=,且优先于全局共享口令门;
未设口令的账号行为不变。前端登录 URL 已支持透传 ?password=,无需改登录页。
- 后端:UserRow/User 新增 login_password + 仓储映射;/login/username 账号级口令闸门
(_lookup_user_by_username 仅查不建);新管理员接口 PUT /users/{id}/login-password;
UserListItem 暴露明文(仅 admin 列表);migration 20260625_04 + 幂等补列 SQL。
- 前端:白名单页新增「登录口令」列(设置/修改/清除 + 复制登录链接);
core/auth api+hooks 增 setUserLoginPassword/useSetUserLoginPassword(含 Y-Log)。
- 文档:根 + 后端 CLAUDE.md 同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-27 11:03:39 +08:00
董宏凯
45315f18d2
Merge branch 'dhk-1' into 'master'
...
fix(ai写作): 恢复内网直连检索(知识库检索)空地址回退默认端点
See merge request knowledge-base-bj/deerflow-server!154
2026-06-26 16:02:52 +00:00
董宏凯 and Claude Opus 4.8
e889cc25cf
fix(ai写作): 历史记录 in_progress 不再误显示「进行中」转圈
...
刷新=重置后,开始过但没跑完的会话 DB status 永远停在 in_progress、且无任何活进程,
历史列表却转圈显示「进行中」,误导用户以为还在运行。改为中性、不转圈的「未完成」
(text-slate-400)。真正在跑的 background(后台挂起,有 executor 驱动)保留「挂起中」转圈。
改 WRITING_STATUS_PILL(侧栏列表) + STATUS_LABELS(下拉)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-27 00:01:32 +08:00
董宏凯 and Claude Opus 4.8
8385d1913a
fix(ai写作): 继续从checkpoint续跑(修resume_is_map) + 刷新=重置不重连
...
后端 worker(runtime/runs/worker.py): 空 command(无 resume/update/goto)不再构造
Command()(会因无挂起 interrupt 抛 'resume_is_map' 未绑定错误),改为 astream(None)
让 Pregel 续跑 checkpoint 里挂起的当前阶段节点。有 resume/update/goto 时(4个干预卡)
仍走 Command,行为不变。前端"继续"发空 command:{} 即从当前阶段续跑、不回 intent。
按用户要求把"断网/刷新自动重连续跑"整套移除(刷新=重置即可):
- 删 sessionStorage 持久化 + reconnectTargetRef + 恢复/持久化 effect + host rehydrate
- 删 buildRehydrateSnapshot/rehydrate action(保留 clear_streaming)
- 提交去掉 onDisconnect:'continue'/streamResumable;reconnectOnMount 改 false
- 卸载不再自动后台挂起;刷新断 SSE 后端默认 cancel 取消 run,页面回 idle
手动暂停/继续保留:暂停=stream.stop(),继续=clear_streaming+空command 从checkpoint续。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 23:44:37 +08:00
董宏凯 and Claude Opus 4.8
9f462beec5
fix(ai写作): 继续(暂停后)从checkpoint续跑而非从头重跑意图
...
根因:resumeWriting 的 stream.submit(undefined) 没带 command。后端 worker
(runtime/runs/worker.py:283) 只有收到 command 才翻成 Command() 让 Pregel 从最近
checkpoint 恢复;不带 command 时按 graph_input 起新一轮=从图入口 intent_parser
重跑,于是"规划大纲/检索素材时暂停后继续又从识别意图开始"。
修复:继续时带空 command:{},走 Command 恢复路径(与4个干预卡续跑同机制),
Pregel 从 checkpoint 续跑当前未完成阶段(已完成阶段不丢),不再重跑 intent。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 23:31:48 +08:00
董宏凯 and Claude Opus 4.8
4f0c75e76e
feat(ai写作): 暂停/继续 + 断网刷新后自动重连续跑
...
需求:写作任一活跃阶段(素材搜集/大纲/写作/审核中)断网也能继续。
断网续跑(纯前端,后端无需改):
- 所有 stream.submit 加 onDisconnect:'continue'(断开后端不取消 run,继续跑到
下一个确认点等待);不开 streamResumable(避免与 rehydrate 重复累积时间线)
- 活跃 sessionId 存 sessionStorage,刷新后渲染期同步恢复 → threadId 首帧即交给
useStream(reconnectOnMount) 重连该 run
- 重连后用 graph values 快照 buildRehydrateSnapshot 重建 reducer(rehydrate
action),素材/大纲/草稿/审核/时间线立刻回显;currentPause 由 interrupt effect 设
- 去掉卸载时"自动后台挂起跑完"(会自动替用户确认),改为自然续跑等待;显式后台挂起按钮保留
手动暂停/继续:
- ENABLE_PAUSE_RESUME_UI 开启;暂停=stream.stop()(已完成阶段已落 checkpoint),
继续=clear_streaming 后从 checkpoint 重新 submit 续跑(重跑当前阶段,已完成不丢)
- 按钮"停止"→"暂停"(Pause 图标)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 23:20:48 +08:00
董宏凯 and Claude Opus 4.8
2097587b42
feat(ai写作): 左侧研究栏加历史记录列表(参考会商样式)+侧栏可收起
...
- ResearchSidebar 底部新增「历史记录」列表,跟随侧栏自然滚动;样式对齐
多智能体会商 HistoryDropdown(圆角卡片+divide-y+状态药丸+打开/改名/删除)
- 点历史记录在右侧区域显示历史回看,左侧栏保留(showSidebar 含历史态)
- 侧栏顶部加「收起」按钮,收起为细窄展开条(页面承载 sidebarCollapsed)
- 「挂起中」记录点击经 window 事件 ai-writing:show-progress 打开进度流程图弹窗
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 22:54:10 +08:00
董宏凯
53af352ce8
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-26 22:14:31 +08:00
董宏凯 and Claude Opus 4.8
0089af94d3
fix(ai写作): 恢复内网直连检索(知识库检索)空地址回退默认端点
...
knowledge_base 检索类型遇到空 intranet_search_url 会短路报「未配置」、返回 0
素材,导致「内网直连检索不能用」。旧版 get_search_provider(search_provider=
intranet) 在空地址时由 IntranetSearchProvider 回退内置默认内网端点,所以不配
地址也能直连。本次去掉该短路,空地址原样下传由 provider 回退默认端点,恢复旧逻辑。
- researcher.py: knowledge_base 分支无条件构造 IntranetSearchProvider
- test_ai_writing_knowledge_base.py: 空地址用例改为断言回退默认端点仍出素材
- backend CLAUDE.md: 检索类型段说明更新
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 22:13:19 +08:00
吉鑫升
26ab6f663c
Merge branch 'ji' into master
...
完善并发监控图表(整数刻度Y轴 + 图例 + 说明)
2026-06-26 21:23:40 +08:00
吉鑫升 and Claude Opus 4.8
bce0abba6e
fix(监控): 完善并发监控图表——整数刻度Y轴 + 图例 + 说明
...
- 修复并发量图左轴出现「0 0 0 1 1」重复刻度:值很小时改用整数刻度(nice
ticks,0/1/2…无重复),并修正按 axisMax 归一
- 每张图加图例(带当前读数)+ 一句中文说明,讲清每条线含义:
并发量=峰值(红)/平均(橙);出字速度=平均(蓝)/最慢(紫)
- 修复两张图共用同一个 SVG 渐变 id 导致的颜色串用(改 useId 唯一化)
- 空数据态更友好(虚线占位 + 引导开启采样)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 21:23:08 +08:00
董宏凯
c732fd75e4
Merge branch 'dhk-1' into 'master'
...
feat(定时任务): 新增 9 个 HTML 模板,下拉补齐为 no.1~no.18(只展示)
See merge request knowledge-base-bj/deerflow-server!153
2026-06-26 12:51:31 +00:00
董宏凯
89232d7521
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-26 20:50:47 +08:00
吉鑫升
9ef8b1990e
Merge branch 'ji' into master
...
实时并发监控 + 真正停止对话 + 409 中文化(管理员排行榜)
2026-06-26 20:40:56 +08:00
吉鑫升 and Claude Opus 4.8
26f8010a57
feat(监控): 管理员排行榜实时并发监控 + 真正停止对话 + 409 中文化
...
- 排行榜页顶部新增「实时并发监控」面板(admin-only):当前并发大模型调用数 +
调用列表(用户/智能体/类型/已运行时长),每行「停止」+「全部停止」经
RunManager.cancel 真正中断 LLM 流式调用,减轻大模型压力
- 并发量折线图(峰值/均值,按分钟/小时):新增轻量后台采样器写入新表
concurrency_samples(create_all 自动建表),可按分/时聚合
- 大模型出字速度折线图(tokens/秒,按分钟/小时):复用 llm_call_metrics 聚合,
便于定位是模型/供应商慢
- 后台采样可开关、默认关闭(opt-in)、运行时切换免重启、对线上零影响
(单条极小 INSERT、保留期清理、查询有上限、全程 best-effort)
- 409 中文化:上一轮未结束又发新问题时返回中文提示,前端 onError 友好映射
后端:runtime/runs/manager.py(list_active)、persistence/concurrency(新模块)、
config/system_settings(ConcurrencyMonitorSettings)、gateway/routers/admin_active_runs、
app.py(采样后台任务)、services.py(409)。前端:core/admin/{active-runs,hooks}、
components/workspace/admin/concurrency-monitor、AdminUserLeaderboardPage、threads/hooks。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 20:29:26 +08:00
董宏凯 and Claude Opus 4.8
abf97cdc78
feat(大屏绘制): 战情大屏隐藏顶部标题区,只保留导航 Tab
...
DashboardApp 顶部 Header(标题+副标题+生成时间)在 usingPages 模式下整块隐藏,
dashboard-agent 战情大屏直接从导航 Tab 起;会商 Step3 大屏行为不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 14:36:29 +08:00
fengxiangdebaozi
4d10590511
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-26 11:04:19 +08:00
fengxiangdebaozi and Claude Opus 4.8
3d60651491
feat(ai-writing): 检索类型加回「知识库检索」(直连内网 ES 接口)
...
弱模型常识别不了配置技能(deepseek-chat 等),恢复旧的"不用技能"检索路径
作为独立检索类型 knowledge_base:绕过技能编排,直接调
ai_writing.intranet_search_url 内网知识库 ES 接口(IntranetSearchProvider)
对检索词并发检索;未配地址 → 无素材 + skill_error 告警。
- researcher.py: material_source 归一保留 knowledge_base + 新增直连内网分支
- state.py: material_source 三值注释
- 前端 AIWritingForm/WritingFormContext/types: 下拉新增「知识库检索」
- tests/test_ai_writing_knowledge_base.py: 直连/未配/不编排技能 3 用例
- backend CLAUDE.md: 检索类型段更新为三值
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 10:04:57 +08:00
董宏凯 and Claude Opus 4.8
a400989f64
feat(定时任务): 新增 9 个 HTML 模板,下拉补齐为 no.1~no.18(只展示)
...
- 从 zt-0625 加入 no.8/no.9/no.10/no.11/no.14/no.15/no.16/no.17/no.18
- 新 no.8/no.9 的 id 用 no8b/no9b(no8/no9 已被显示名 no.12/no.13 的模板占用)
- 重排 TEMPLATES 使下拉按显示名升序 no.1→no.18;均 convertible=False 只展示
- 测试覆盖全部 id 存在、显示名覆盖 1~18、各模板文件可读为完整 HTML
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 09:55:34 +08:00
董宏凯
2a1f50f726
Merge branch 'ji' into 'master'
...
fix(ai写作): 弱模型也能真正执行技能脚本(执行优先的强提示)
See merge request knowledge-base-bj/deerflow-server!152
2026-06-25 15:00:57 +00:00
fengxiangdebaozi and Claude Opus 4.8
158d157af4
feat(ai写作): 内网检索接口执行诊断写入 material_package.intranet_debug(排查用)
...
- material_package 新增 intranet_debug:是否配置/端点/知识库/超时/每个检索词命中数与
报错/原始响应片段/总命中数/是否被采用为兜底/status(not_configured|pending|ran|
cancelled|crashed)。随 values 事件回前端,前端忽略该字段,仅供 devtools 排查。
- 新增 config ai_writing.intranet_search_debug(默认 false):开启后即使技能成功也跑完
内网并记录完整结果,用于验证内网接口是否真能通。
- 前端不改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 22:55:27 +08:00
fengxiangdebaozi and Claude Opus 4.8
1ed004fbb1
fix(ai写作): 弱模型也能真正执行技能脚本(执行优先的强提示)
...
弱模型在 lead agent 能执行 py 脚本、在 ai写作子智能体却不能:根因是子智能体的
_MATERIAL_OUTPUT_CONTRACT 过度强调"只输出 JSON",弱模型据此跳过工具执行直接吐空 JSON。
对齐 lead agent 的 skill_system 强框架,把契约改成"执行优先":
- 第一步强制先用 bash 实际运行技能脚本(给出 cd 技能目录 && python3 scripts/..py 的命令形态),
严禁不调用工具就直接输出 JSON/凭记忆编造
- JSON 输出降级为第二步"检索完成后再整理"
- task 末尾追加"现在立刻开始执行检索"的强指令,进一步推动弱模型先动手
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 22:50:10 +08:00
吉鑫升
38f98cdf5c
Merge branch 'ji' into master
...
# Conflicts:
# offline-backend-20260512/backend/scripts/sql/column_additions_mysql.sql
2026-06-25 21:49:12 +08:00
吉鑫升 and Claude Opus 4.8
a417124c21
feat(auth): 登录白名单细化为黑名单模式(approved 默认放行)+ 同步构建产物
...
- approved 放行标记默认 True:新账号首次登录即放行,登录白名单开关打开时只拦截
被管理员显式「取消放行」(approved=False) 的用户;enforce_user_approved 放在
各登录端点拿到 user 后、签发 JWT 前调用,admin 永远放行。
- 同步调整 LoginWhitelistPage / local_provider / models / system_settings /
迁移 20260625_02 / user model / column_additions_mysql.sql 与 CLAUDE.md。
- 更新 backend/backend.zip 构建产物。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 21:41:15 +08:00
吉鑫升 and Claude Opus 4.8
f3f11461de
fix(open-3qfx): 免登录建会话补 default 用户上下文,修复 thread_meta 不落库
...
开放接口 /api/open/3qfx/ask 免登录、无 user context,start_run 写 thread_meta
前先 thread_store.get() 默认 user_id=AUTO,resolve_user_id(AUTO) 在无 context 时
抛 RuntimeError 被 start_run 的 try/except 当「非致命」吞掉,thread_meta 行从未
创建,前端按 metadata.taskId 怎么也搜不到这条会话(run 却已建)。
- 调 start_run 前显式 set_current_user 为 default 用户桶(后台 run_agent task
在 create_task 时快照此 context,故后台运行也归属 default,符合任务深链对话
全局共享、按创建者解析文件的语义),thread_meta 正常落库。
- 把 cop_task_detail_* 配置补到实际加载的 offline-backend-20260512/config.yaml
(此前只加在不生效的 backend/config.yaml)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 21:40:57 +08:00
董宏凯
2e79cee24a
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!151
2026-06-25 13:30:25 +00:00
fengxiangdebaozi
1fd997303e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-25 21:29:14 +08:00
吉鑫升
cc017a22c7
Merge branch 'ji' into master
2026-06-25 20:38:33 +08:00
Administrator and Claude Opus 4.8
5f01e8dd03
feat(message-token-usage): 速度条图例按当前速度只显示对应颜色
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 20:29:26 +08:00
fengxiangdebaozi
ce69905950
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-25 19:54:58 +08:00
fengxiangdebaozi
71e7b9dd63
代码提交
2026-06-25 19:54:37 +08:00
吉鑫升 and Claude Opus 4.8
58357547c9
Merge branch 'ji' into master
...
按钮管理「登录参数」两套实现冲突解决——两分支各自独立给跳转按钮加了登录态追加能力,
二者正交、保留两套,互不影响:
- master: login_params (JSON 列 login_params_json,从 userInfo 解析,类似轻应用登录参数)
- ji: append_auth + auth_token_param + auth_name_param (token 登录时追加 token1+用户名)
迁移 revision 碰撞修复(两分支都用了 20260625_01):重编号为线性链
20260620_02 → 20260625_01 (login_params) → 20260625_02 (auth_params) → 20260625_03 (users_approved)
并同步 column_additions_mysql.sql 注释里的 migration 编号。
前后端 task_buttons(model/sql/memory/router/前端 type·api·admin 页)均保留两套字段;
两份 CLAUDE.md 文档合并为同时记录两种机制。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 19:36:43 +08:00
Administrator and Claude Opus 4.8
fe7c6cb8f7
feat(open-3qfx): 开放接口按 taskId 直接发起 3qfx 第一次问答
...
新增 POST /api/open/3qfx/ask(无需登录,/api/open/ 白名单 + CSRF 豁免):
只传一个 taskId,后端解析 3Q 业务配置的智能体 + 按 id 拉取 cop-task-detail
拼出与前端一致的开场白,新建带 metadata.{taskId,agent_id} 的真实会话并后台
启动持久化运行,立即返回 thread_id(随后在 3qfx 任务工作区对话列表观看)。
- start_run() 增加 keyword-only enforce_access(默认 True);开放接口传 False
绕过按当前(无)登录用户的智能体可见性校验
- task_deeplink 配置新增 cop_task_detail_url / _authorization / _test + mock
- tests/test_open_3qfx.py(10 项,tests/ 被 .gitignore 故未入库)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 19:19:17 +08:00
fengxiangdebaozi and Claude Opus 4.8
dc5b83e8cd
Merge branch 'dhk-3': 会商第一步分析记录按业务链筛选
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 18:09:37 +08:00
fengxiangdebaozi and Claude Opus 4.8
27fffbec61
feat(会商第一步): 分析记录按业务链筛选(漏斗下拉, 选项从草稿chainTitle去重)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 18:08:36 +08:00
Administrator and Claude Opus 4.8
d35d121261
feat(auth): 登录白名单也拦「接口问答」(已登录的 run 接口按用户放行)
...
开关开启时,未放行用户(非 admin)即便持旧 token,直接调发起问答的 run 接口
(/api/threads/{id}/runs[/stream|/wait]、/api/runs/{stream|wait})也返回 403,
不止拦登录。在 AuthMiddleware 解析出 user 后仅对问答 run 请求复用
enforce_user_approved;GET 列表/join/cancel/feedback 及普通浏览不受影响;
内部/渠道调用与无鉴权 /api/open/chat 不在此范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 17:37:47 +08:00
fengxiangdebaozi
368673c3b4
Merge branch 'dhk-1': ai写作技能检索稳定接收数据 + 内网兜底优化
2026-06-25 17:06:01 +08:00
fengxiangdebaozi and Claude Opus 4.8
854de9b43c
fix(ai写作): 技能检索稳定接收数据(复用参考文献提取+截断抢救+上限早停)
...
- 复用主智能体「参考文献」模式的提取逻辑(deerflow.runtime.references)解析技能JSON,字段并集兼容
- bash输出中间截断时逐条抢救完整记录对象,不再因大JSON解析失败而全丢
- 所有退出路径(超时/递归上限/异常)都从tool输出收割,不依赖模型最终汇总
- 达到max_materials上限即停止驱动模型,修复步骤条爆100+条/素材超额
- 步骤条实时显示每次检索获得多少条数据
- 内网兜底:与技能并行预跑、响应解析兼容两套接口字段、0结果换简单检索词重试、超时放宽到10分钟
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 17:05:09 +08:00
Administrator
0aa55eb333
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-25 16:09:51 +08:00
Administrator and Claude Opus 4.8
1d1ab384ef
feat(auth): 登录白名单(注册后管理员审批放行 + 全局开关)
...
用户仍可自助注册,普通账号默认 approved=False(待审批),admin 建号即 True;
存量用户迁移回填 True 避免锁死。系统设置 login_whitelist.enabled 总开关:关=
所有人可登录,开=仅已放行用户(或 admin)可登录。三登录端点建号后、发 token 前
经 enforce_user_approved 拦截,未放行返回 403 PENDING_APPROVAL。管理员在「白名单
管理」页(设置下拉入口)切总开关 + 逐用户放行。取消放行只拦下次登录。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 16:09:38 +08:00
吉鑫升 and Claude Opus 4.8
864224e07c
feat(message-token-usage): 速度条下方常驻颜色含义图例
...
生成结束后在速度条下方展示一行图例(SpeedLegend),把进度条配色归并为用户视角的
延迟正常/微长/长 + 无响应四类说明,帮助用户理解速度条颜色代表的模型生成延迟状态。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 16:07:54 +08:00
吉鑫升 and Claude Opus 4.8
04b38a4a25
fix(task-buttons): append_auth 显式 server_default 修复旧库 /api/task-buttons 报 500
...
旧库已存在 task_buttons 表时,启动期自动补列 _ensure_orm_columns_sync 会跳过
「NOT NULL 且无 server_default」的列,导致 2026-06-25 新增的 append_auth 永远补不上,
GET /api/task-buttons 查询报 Unknown column → 500。给该列加 server_default="0" 后,
重启即自动 ALTER TABLE 补列,与迁移 20260625_01 保持一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 15:57:26 +08:00
吉鑫升 and Claude Opus 4.8
f8b40353ef
feat(task-buttons): 跳转按钮可追加登录态 token+username + token 登录离线测试映射
...
rwfx/3qfx/xdfx 任务工作区的可配置跳转按钮(按钮管理)新增「追加登录态」开关:
url 类型按钮可在外链后拼 ?token=<token1>&username=<登录名>(参数名可配,默认
token/username),供跳转目标外部系统识别当前登录用户。
- 仅 token 登录(login/token)生效: token1 = ?authToken=,username = 后端用
token 调 getTokenInfo 解析出的原始登录名(非邮箱前缀/非解 JWT)。二者登录时
经 persistLoginCredentials 存入 login.token1/login.username(scoped-storage
自动隔离嵌入/独立会话);非 token 登录读不到 token1 则跳过追加。
- 后端 UsernameLoginResponse 回传 username(原始名,规避邮箱归一化有损);
token_login 加 mock_tokens 离线测试映射(123ewq->admin),命中即跳过外网
getTokenInfo,便于本地全链路联调。
- task_buttons 加列 append_auth/auth_token_param/auth_name_param
(migration 20260625_01 + 幂等 SQL)。
Tests: test_task_buttons.py, test_auth_login_modes.py(mock token/username 回传)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 14:52:07 +08:00
fengxiangdebaozi and Claude Opus 4.8
893f1e6933
fix(会商第三步): 流程图入库限 rwfx-A + 修复跳过报告生成流程图出现双调度中卡片
...
- 入库功能仅 rwfx-A(businessCode 6BF)深链会商模式提供,其它业务深链生成流程图不再出现入库按钮/询问
- 流程图抽取串行化:auto 自动出图与用户「跳过报告直接生成流程图」手动出图竞态时,先中止上一轮、复用/移除被取代气泡,保证任意时刻只有一张流程图卡片
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 12:29:45 +08:00
fengxiangdebaozi and Claude Opus 4.8
04e6d0aa00
fix(ai写作): 前端实时接收技能步骤(此前被白名单丢弃,只在快照里一次性显示)
...
根因在前端:后端 _emit_skill_step 以 writer({"type":"skill_search_step", **step})
发出,**step 里的 type(invoke_skill/list_skills/skill_result/select_skills/
match_skills/skill_error/fallback/stop_early)会覆盖外层 "skill_search_step",
所以 custom 事件实际 type 是这些内层值。customToProgressEvent 的白名单没有它们,
直接 return null 丢弃——后端逐条实时发(SSE id 时间戳已证实分散在 0~76s),前端却
全扔了,技能步骤只能等节点结束的素材包快照一次性出现(前端一直 loading)。
修复:customToProgressEvent 按内层 step 类型识别,实时归一成 skill_search_step
事件(与快照里的 step 同格式),让技能调用过程一步步实时进时间线。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 01:20:21 +08:00
fengxiangdebaozi and Claude Opus 4.8
1d6659f9e7
fix(ai写作): 技能步骤从节点协程 emit,custom 事件真正实时刷给前端
...
前端/SDK 都是实时的(onCustomEvent 逐条即触发,draft_chunk 同链路就实时)。
问题在后端:技能步骤原来在节点内的嵌套 agent.astream 里直接 emit,custom 事件
被攒到整段跑完才一次性吐到 SSE(后端在跑、前端一直 loading)。
改为:嵌套 astream 跑后台任务,只把工具调用塞进 asyncio.Queue;真正的 writer
由 researcher 节点**自身协程**从队列取出来调(与 draft_chunk 同一上下文),
custom 事件即被 LangGraph 实时刷给前端。撤掉上一版无效的 sleep(0)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 01:04:49 +08:00
fengxiangdebaozi and Claude Opus 4.8
a4a67c1a00
fix(ai写作): 技能流式每步主动让出事件循环,custom 事件实时刷给前端
...
前端 skill_search_step 已是 pushImmediate(实时渲染),但事件在节点内的嵌套
agent.astream 里发出后没及时让出事件循环,被攒到整段跑完才一次性吐到 SSE,
前端看着像卡死。每个 chunk 处理完 await asyncio.sleep(0) 主动让出,促使刚 emit
的 custom 事件实时刷给前端(对齐 draft_chunk 的实时行为)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 00:48:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
8f773d3f1b
fix(ai写作): 技能调用实时流式显示 + 去掉大纲拼检索词/复用检索词
...
- 技能调用过程改为实时流式:run_skill_via_real_agent 不再 to_thread 阻塞跑
executor.execute(),而是复用其 agent/state 构建后在图事件循环里 astream,
每个工具调用(读 SKILL.md / bash / 检索)实时推一条步骤到时间线——内网慢时
用户能看到技能在执行,不会以为卡死。整段 asyncio.wait_for 卡 5 分钟超时。
- 回退检索词相关改动(实测无用、且结合大纲后检索词变长不利按词匹配):
- intent_parser 不再顺便生成 keywords,删 precomputed_keywords 状态字段;
- researcher 不再复用,每次自己现生成检索词(回到原行为);
- 检索词提示词去掉「结合大纲/{outline_section}」,删 keyword_outline_section。
保留:关思考、技能真实运行时、技能目录修复、内网兜底。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 00:33:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
c0305c9269
fix(ai写作): 修复内网技能检不出东西(技能目录路径 + 模型 + 兜底 + 开关)
...
对比主智能体与 AI 写作两份调用日志定位到根因:真实 agent 路径只注入了
SKILL.md 内容、没告诉模型技能在容器内的目录,模型用相对路径跑脚本
(python3 scripts/search)→ No such file。主智能体则 cd 进技能绝对目录再跑。
- _skill_agent:注入 skill.get_container_path() 的绝对目录,要求先 cd 再执行
脚本/用绝对路径(对齐主智能体 skill_view 拿 location 后的行为)。
- researcher:跑技能的 agent 改用用户选定的写作主模型(model_name_fallback=None),
不再用常配成外网的 keyword_model,避免技能 agent 连不上自己的模型。
- researcher:所有技能都 0 条时,最终兜底直连内网 ES 接口(IntranetSearchProvider),
受 ai_writing.intranet_search_url 控制。
- config.yaml:开 researcher_skill_agent=true(内网技能必须走真实运行时),
新增 intranet_search_url / intranet_knowledge_base 兜底配置项。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 23:52:32 +08:00
吉鑫升 and Claude Opus 4.8
6989dd45f1
fix(chat): 问答回答时间戳不再漂移到当前电脑时间
...
AI 回答无自身时间戳,原先在首次渲染时用 new Date() 兜底,导致
未在原会话完成、或从历史重新加载的回答显示加载时刻而非真实时间。
改为让 AI 回答继承同轮提问的可靠 client_ts(turnTime),并停止给
AI 消息打 now 戳;显示层优先用提问时间,可自愈历史错误时间。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:57:21 +08:00
fengxiangdebaozi and Claude Opus 4.8
d8b43e7579
fix(ai写作): 技能检索超时硬编码 5 分钟(内网慢检索不被过早切断)
...
内网检索很慢,原 120s 在三个真正生效的层把检索切断。统一硬编码 300s,
不依赖环境变量(部署方不一定会配):
- researcher._SKILL_SEARCH_TIMEOUT_SECONDS:120(env) → 300(写死),删掉 _env_int;
作用于直连/定向技能检索的 wait_for,也传给真实智能体路径。
- IntranetSearchProvider 默认 httpx 超时:120 → 300(直连内网 ES 的真正瓶颈)。
- run_skill_via_real_agent 整段运行上限:max(timeout_s, 300),至少 5 分钟。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:54:42 +08:00
fengxiangdebaozi
4f68235c94
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-24 22:45:42 +08:00
吉鑫升
c1143564ef
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-24 22:42:21 +08:00
吉鑫升 and Claude Opus 4.8
ea2ea9783e
feat(task-deeplink): xdfx 开场信息追加行动标题与行动内容
...
xdfx(行动分析)深链开场信息原先只附行动id(action_id),现额外
拼上行动标题(actionName)与行动内容(narration)。优先读登录时
缓存的行动详情(readActionDetail),无缓存再 fetchActionDetail,避免
重复请求。buildOpeningText 第三参数由 actionId 改为 ActionOpeningInfo。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:34:25 +08:00
吉鑫升 and Claude Opus 4.8
e3e93712b6
feat(task-deeplink): xdfx 开场信息追加行动标题与行动内容
...
xdfx(行动分析)深链开场信息原先只附行动id(action_id),现额外
拼上行动标题(actionName)与行动内容(narration)。优先读登录时
缓存的行动详情(readActionDetail),无缓存再 fetchActionDetail,避免
重复请求。buildOpeningText 第三参数由 actionId 改为 ActionOpeningInfo。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:33:09 +08:00
fengxiangdebaozi and Claude Opus 4.8
afb78a6943
feat(ai写作): 素材收集专家按真实智能体运行时跑技能 + 步骤条对齐
...
- 新增 run_skill_via_real_agent:复用 SubagentExecutor(与 lead agent / 子智能体
同一套运行时),加载技能 SKILL.md + 全套工具 + 懒加载沙箱,让技能的真实检索逻辑
(读文件 / 调内网接口 / MCP)真正执行,再按 JSON 契约收割结构化素材;researcher 的
_execute_skill 在 researcher_skill_agent 开启时切到它,失败/空结果回退直连检索。
解决内网技能(在别的智能体里好使)在 AI 写作里检不出东西的问题。
- 步骤条轻量对齐别的智能体:技能调用拆成「读取 SKILL.md → 执行检索 → 检索到 N 条」
三段(前两段新增,结果段沿用 skill_result);前端 SkillStepsCard 零改动。
- 含 roundtable-planning(业务链选择 / Step2 编排)的进行中改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:19:30 +08:00
董宏凯 and Claude Opus 4.8
1a127ef602
chore(定时任务): 替换 no.3 模板内容为 no.3-1.html(仍只展示)
...
- templates/no3/no3.html 覆盖为新版(73KB,const DATA = {…} 内联)
- id/name/注册不变,仍为 convertible=False 只展示
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:17:24 +08:00
Administrator and Claude Opus 4.8
acc29c8121
fix(middlewares): 标题模型推理不再泄漏到 UI 流 + open/ephemeral 会话避免无谓 DB 访问
...
- title: 标题模型用隔离 config(不继承父级 streaming callbacks),force_disable_thinking,<think> 块清洗,避免推理 token 进入实时流/运行日志
- uploads: 无文件的普通对话轮次直接跳过,不再解析线程归属(避免命中 DB)
- thread_data: ephemeral 会话用当前登录用户解析数据目录
- thread_paths: open-/__skill-review__ 等合成线程视为 local-only,直接用当前用户
- frontend: 新增 build:test 构建脚本
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 21:20:12 +08:00
董宏凯 and Claude Opus 4.8
ca31490241
chore(定时任务): no.9 模板显示名称改为 no.13(id 仍为 no9)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 21:11:33 +08:00
董宏凯 and Claude Opus 4.8
6c42f86e30
chore(定时任务): no.8 模板显示名称改为 no.12(id 仍为 no8)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 21:09:56 +08:00
董宏凯
5b818836d7
Merge branch 'dhk-1' into 'master'
...
fix(登录): redirect 透传登录 URL 其余 query 到目标页
See merge request knowledge-base-bj/deerflow-server!150
2026-06-24 11:49:00 +00:00
fengxiangdebaozi
3ea8e73389
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-24 19:48:15 +08:00
fengxiangdebaozi and Claude Opus 4.8
c117e296cb
feat(ai写作): 草稿局部修改只改命中章节,支持改章节标题,修改时右侧流式重写
...
用户在草稿确认填修改意见(user_revise)时,按章节定位只重写命中章节、
其余字节级保留;新增范围识别区分「改标题」与「改正文」,改标题同步回写
outline 使其持久生效(修复改章节标题不生效);整体性/结构性意见自动回退
整篇重写。前端新增 isRevising:修改时右侧先恢复初始占位(清空旧稿),
重写流到达后实时展示被改章节的流式重写。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 19:45:00 +08:00
fengxiangdebaozi and Claude Opus 4.8
42f55251f2
feat(ai写作): 历史回看右侧成稿可编辑并保存回历史记录
...
- 后端新增 PUT /api/ai-writing/sessions/{id}/draft(属主校验,draft_title 可选)
- 前端历史模式放开只读,工具栏新增「保存」按钮持久化修改
- 实时写作完成态保持原样(仅导出,不落库)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:32:11 +08:00
fengxiangdebaozi and Claude Opus 4.8
304e1b637a
feat(ai写作): 意图解析顺便生成检索词 + 修复快捷模式
...
- 意图解析(intent_parser)与意图理解共用同一次 LLM 调用顺便生成检索词
(结合意图 + 大纲覆盖各章节主题),存入 state.precomputed_keywords;
researcher 首轮直接复用,省掉素材收集阶段单独的「生成检索词」LLM 往返。
解析失败/为空时回退到 researcher 自己生成(优雅降级);re_search 仍重新生成。
keyword_outline_section 提到 _utils 供两处共用。
- 修复快捷模式:之前被「大纲先行确认」改动拖累,先误成「问一堆问题」,再被我
过度修正成「不生成大纲」。现修正为——快捷模式 = 用默认选项、不逐项澄清提问
(make_lead_agent 在快捷模式下直接不挂 ask_clarification 工具,物理上问不了),
但**仍生成并确认大纲**再提交;普通模式不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:32:10 +08:00
fengxiangdebaozi and Claude Opus 4.8
49173d9c28
feat(ai写作): 大纲整理可见化 + 检索词结合大纲 + 素材/大纲阶段关思考
...
- 草稿确认卡:「给出修改意见」「让编辑继续审核」移到「确认定稿」上方。
- 大纲整理阶段文案:用户自带大纲时显示「整理你的大纲」而非「规划大纲」
(OutlineStreamingView / 骨架屏 / 状态栏,按 request.userOutline 切换)。
- 素材收集专家:用户自带大纲时把大纲原文带入检索词生成,让关键词结合写作
意图覆盖各章节主题(_keyword_outline_section,agent + legacy 两路)。
- 素材收集(检索词/排序)与大纲整理/生成阶段强制关闭思考
(create_chat_model force_disable_thinking:GLM thinking.disabled +
Qwen/vLLM enable_thinking=false),关不掉的模型仍由 ThinkTagParser 把
<think> 分流到思考框正常展示。disable_thinking 串入
_utils.get_model/llm_json 与 _agent_runner.stream/run_writing_agent。
- 含草稿「局部修改」WIP(writer_draft 只重写命中章节)及外观控件改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:32:10 +08:00
董宏凯 and Claude Opus 4.8
8678ceb422
feat(定时任务): 新增第九个 HTML 模板 no.9(只展示)
...
- no.9.html(160KB)复制进 templates/no9/;数据用 `const DATA = {…}`(= 前有空格,同 no.6),
当前引擎正则要求 const DATA=,不匹配,故先注册为 convertible=False 只展示
- 前端下拉/参考列表自动出现 no.9
- 测试覆盖 no.9 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:17:56 +08:00
董宏凯 and Claude Opus 4.8
31cd19aabb
feat(定时任务): 新增第八个 HTML 模板 no.8(只展示)
...
- no.8.html(77KB)复制进 templates/no8/;数据存于 <script id="DATA"
type="application/json"> 元素(同 no.4/no.7 元素注入),当前引擎只支持 const VAR= 行注入,
故先注册为 convertible=False 只展示
- 前端下拉/参考列表自动出现 no.8
- 测试覆盖 no.8 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:16:34 +08:00
董宏凯 and Claude Opus 4.8
60029ae3dc
feat(定时任务): 新增第七个 HTML 模板 no.7(只展示)
...
- no.7.html(605KB)复制进 templates/no7/;数据存于 <script id="PAGE_DATA"
type="application/json"> 元素(同 no.4 类元素注入),当前引擎只支持 const VAR= 行注入,
故先注册为 convertible=False 只展示
- 前端下拉/参考列表自动出现 no.7
- 测试覆盖 no.7 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:13:38 +08:00
董宏凯 and Claude Opus 4.8
4f62703477
feat(定时任务): 新增第六个 HTML 模板 no.6(只展示)
...
- no.6.html(266KB)复制进 templates/no6/;数据用 `const DATA = {…}`(= 前有空格),
当前引擎正则要求 const DATA=,不匹配,故先注册为 convertible=False 只展示
- 前端下拉/参考列表自动出现 no.6
- 测试覆盖 no.6 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:09:47 +08:00
董宏凯 and Claude Opus 4.8
c0af23aefe
feat(定时任务): 新增第五个 HTML 模板 no.5(只展示)
...
- no.5.html(174KB)复制进 templates/no5/;数据用 `let DATA = {…}`(let+空格,非
const DATA= 行),当前引擎行注入正则不匹配,故先注册为 convertible=False 只展示
- 前端下拉/参考列表自动出现 no.5
- 测试覆盖 no.5 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 17:51:12 +08:00
董宏凯 and Claude Opus 4.8
6a6195f883
feat(定时任务): 新增第四个 HTML 模板 no.4(只展示)
...
- no.4.html(3.9MB)复制进 templates/no4/;数据存于 <script id="app-data"
type="application/json"> 元素(非 const DATA= 行),当前引擎只支持 const VAR= 行注入,
故先注册为 convertible=False 只展示,转换后续接(需扩展元素注入)
- 前端下拉/参考列表从 API 拉取,no.4 自动出现
- 测试覆盖 no.4 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 17:45:40 +08:00
吉鑫升
1a87077642
Merge branch 'ji' into master
...
并入: loop 跨事件循环 DB 访问修复(asyncmy attached to a different loop)、y-log 前缀、全角参考文献角标识别
# Conflicts:
# CLAUDE.md
2026-06-24 17:13:45 +08:00
fengxiangdebaozi and Claude Opus 4.8
e9c8d1cea2
feat(ai写作): 自带大纲/会商及研究模板等前后端改动
...
提交工作区中 AI 写作(表单/时间线/历史/上下文/流式 hook/类型)、
研究模板配置页、lead_agent、researcher/graph/state 及 gateway/config
的进行中改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 16:15:39 +08:00
fengxiangdebaozi and Claude Opus 4.8
d2c76100f2
perf(ai写作): 用户自带大纲整理提速并流式化
...
用户自带大纲时「整理大纲」原有两个阻塞式非流式 LLM 调用,内网模型
<think> 关不掉导致用户长时间干等:
- 素材关联(每次都调)改为确定性词重叠 _assign_materials_heuristic,
零 LLM、瞬时;有编号/标题/缩进的大纲整理几乎零等待。
- 散文化大纲的 LLM 归一改为流式 _stream_normalize_user_outline:
ThinkTagParser 把思考推思考框、正文实时打字机展示并累积解析;
并在 OUTLINE_NORMALIZE_USER 末尾追加 /no_think。
- researcher 路径只做确定性解析,解析不出返回 None,交给 writer_outline
流式归一(outline_chunk 在该阶段天然映射大纲思考框)。
- 移除废弃的 OUTLINE_MATERIAL_ASSIGN_* 提示词与 llm_json 死引用。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 16:15:39 +08:00
吉鑫升 and Claude Opus 4.8
6aff165d09
fix(db): 路由跨 loop 的 DB 访问回引擎主 loop,消除 asyncmy "attached to a different loop"
...
会商/定时任务/沙箱工具等在 worker 线程的临时 loop 上用 asyncio.run 跑全局引擎连接池的
DB 操作,连接被绑定到随即关闭的临时 loop;池子回收/释放该连接时 asyncmy
_terminate_graceful_close 在错误的 loop 上触发 future,持续刷
"got Future attached to a different loop"。
- engine.py: 新增 run_db_blocking(fire_and_forget_db_write 的带返回值版本)。离开主 loop
时用 run_coroutine_threadsafe 把协程送回主 loop 执行、阻塞调用线程拿结果;仅在无主 loop
或正同步处于主 loop 内(送回会死锁)时退回临时 loop。
- thread_paths / prompt / skill_tools: 三处同步→异步阻塞读桥(任务owner解析/常驻技能/
技能可见性)改走 run_db_blocking,删除各自重复的 _run_coro_blocking。
- llm/tool metrics 中间件: fire-and-forget 写改走 fire_and_forget_db_write。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 15:57:04 +08:00
吉鑫升 and Claude Opus 4.8
5ecf28e60c
feat(y-log/knowledge): 日志前缀改 CM助手-全量 + 入库 nodeName 按标题去时间戳保持一致
...
1. Y-Log 上报 optDetail 前缀 B1-CM助手 → CM助手-全量(全量替换 44 个前端文件 + 文档)
2. 知识库入库 nodeName 改为只取 md5(标题).md(去掉时间戳),同一篇 md 每次入库一致,避免重复记录
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 15:46:51 +08:00
g zy
fb103b6ad9
Merge branch 'gzy' into 'master'
...
Gzy
See merge request knowledge-base-bj/deerflow-server!149
2026-06-24 07:42:20 +00:00
Rocky Kwok
71a865dc0c
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-24 15:41:25 +08:00
Rocky Kwok
8ed54448c2
feat: 打开 browser_act
2026-06-24 15:40:56 +08:00
董宏凯 and Claude Opus 4.8
5a2441cc9f
feat(定时任务): 新增第三个 HTML 模板 no.3(只展示)
...
- no.3.html(3.8MB)复制进 templates/no3/,无 const DATA= 注入点 → 注册为
convertible=False 只展示模板(同 no.2,后续接转换再开)
- 前端下拉/参考列表从 API 拉取,no.3 自动出现,无需前端改动
- 测试覆盖 no.3 存在/只展示/文件可读
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 14:38:49 +08:00
董宏凯 and Claude Opus 4.8
089d3e171f
fix(定时任务): 抽取开关只控制模板HTML数据,不再影响Markdown等正常操作
...
- 之前关闭抽取会整段跳过 gather/agent,连带把 Markdown 生成也跳过了
- 改为:抽取开关只决定 HTML 用「抽取数据」还是「模板默认数据」;require_markdown 独立——
需要时照常跑 gather 产出 .md 并校验/带出,与开关无关
- gather 仅在 do_extract(开关开+有描述+可转换) 或 require_markdown 时跑一次,两者复用同一次
- 只展示模板恒不抽取,但仍尊重 require_markdown;_finalize_template_html 支持 extra_files 带出 .md
- 测试:关闭抽取+必须Markdown → 仍产出.md/不转换/HTML用默认数据
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 14:23:45 +08:00
xu hd
ed71df1b60
Merge branch 'xuhd' into 'master'
...
fix(notebook): 来源搜索导入后立刻显示占位卡并刷新来源列表
See merge request knowledge-base-bj/deerflow-server!148
2026-06-24 05:15:19 +00:00
xuhd and Claude Sonnet 4.6
85cd2c888e
fix(notebook): 来源搜索导入后立刻显示占位卡并刷新来源列表
...
- handleImport 成功后调用 onUploadComplete 通知父组件(原先缺失)并关闭弹窗
- 新增 pendingImportTitles state,同步导入后立刻渲染 PendingSourceCard
- sources 刷新后按标题匹配移除占位卡并自动选中新来源
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 13:14:36 +08:00
董宏凯 and Claude Opus 4.8
6673121f3f
feat(定时任务): 选内置模板时加「执行数据抽取」开关,关闭则直接用默认数据
...
- html_config.template_extract(默认关,仅参考选 tpl:<id> 时显示开关):
关闭→跳过检索/转换,直接用模板默认数据填充;开启→才执行检索+转换抽取
- 后端 _run_html_template_reference 在只展示分支后先判开关
- 前端 ScheduledTasksPage:参考选内置模板时显示 Switch,存进 html_config.template_extract,编辑回显
- 测试覆盖 开/关 两条路径
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 13:09:16 +08:00
董宏凯 and Claude Opus 4.8
4898ea0a85
build(harness): 显式把 no.1/no.2 HTML 模板纳入打包,保证新机器内置可见
...
- harness pyproject [tool.hatch.build] artifacts 显式包含 templates/**/*.html,
任何构建方式(wheel/sdist)都带上模板(已验证 wheel 内含 no1/no2)
- 模板文件本就 git 跟踪、源码安装直读、内置 agent 启动自动 seed —— 新机器 clone
装好即可直接看到
- 加自检测试 test_all_registered_template_files_exist
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 13:05:43 +08:00
董宏凯 and Claude Opus 4.8
7d9a0637ca
fix(定时任务): 模板子页面空内容回退原数据,避免子页面显示不全
...
- 引擎 merge_with_reference:按顶层键(=子页面)逐一合并,转换结果里没抽到有效内容的
子页面/字段回退模板原有数据(_has_content/_merge_fill 递归,列表/标量整体保留,
字典逐键回退空分支);整体为空等价于返回模板默认数据
- _run_html_template_reference:描述与任务prompt都为空→直接用原数据不检索;转换成功后
对结果做 merge_with_reference 补空子页面
- _run_template_fill_attempt 同样套用 merge,空子页面一致回退
- 测试覆盖 _has_content/merge 各场景 + 端到端空子页面回退/空描述用原数据
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 12:20:12 +08:00
董宏凯 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
3e68260afa
fix(citations): 识别全角参考文献角标(全角数字/合并/区间)
...
正文里的引用角标识别此前全角括号只支持单个半角数字 【1】,
导致 【1】(全角数字)、【1,2】/【1,2】/【1、2】(合并)、
【1-3】/【2~5】(区间) 等中文常见写法无法识别成参考文献。
补齐全角括号的「全角数字 / 合并 / 区间」三种形态,转成半角后交给
原有半角逻辑统一处理;仍保留 isValidIndex 闸门,避免把正文里的
【3】(越界)、【附录】(非数字) 误判为引用。新增 inline-citations.test.ts。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 22:14:52 +08:00
fengxiangdebaozi and Claude Opus 4.8
f551c7af9b
fix(登录): redirect 透传登录 URL 其余 query 到目标页
...
?redirect=/page/strategy/dashboard-agent&taskId=3334 时把 taskId 等非登录消费参数
透传到目标页 query(目标自带同名参数优先),鉴权类参数不透传以防泄漏到地址栏。
修复跳转后目标页「缺少 taskId」。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 22:10:40 +08:00
董宏凯
b1ef4ccb1a
Merge branch 'dhk-1' into 'master'
...
feat(定时任务): 模板转换支持纯文本/含JSON文本/纯JSON三种源输入
See merge request knowledge-base-bj/deerflow-server!147
2026-06-23 13:53:18 +00:00
fengxiangdebaozi
e3631a9fd6
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:52:27 +08:00
fengxiangdebaozi and Claude Opus 4.8
8241f8dd6b
feat(登录): 新增 ?redirect= 参数,登录后跳转指定站内页面
...
支持 ?redirect=page/strategy/dashboard-agent(可不带前导斜杠、可自带 query),
优先级高于 taskId/goPath 深链与默认首页;仅接受站内相对路径,拒绝绝对/协议相对
URL 与反斜杠以防开放式跳转。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 21:51:59 +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
fengxiangdebaozi
e263d86fc3
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:22:02 +08:00
fengxiangdebaozi
151384b26d
代码修改
2026-06-23 21:21:49 +08:00
fengxiangdebaozi
030ede6887
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:07:05 +08:00
fengxiangdebaozi
e6ca2bf64f
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:06:19 +08:00
fengxiangdebaozi
47cff9e2f9
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:06:09 +08:00
fengxiangdebaozi
6742346eb4
代码提交
2026-06-23 21:05:58 +08:00
吉鑫升
b5e682cfd2
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-23 21:01:05 +08:00
吉鑫升
2193c4484b
Merge remote-tracking branch 'origin/master' into ji
2026-06-23 20:58:41 +08:00
Administrator
4fc3d7dae2
Merge remote-tracking branch 'origin/master' into ji
2026-06-23 20:57:01 +08:00
Administrator
6f0f9fb1fc
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# CLAUDE.md
2026-06-23 20:52:39 +08:00
Administrator and Claude Opus 4.8
df9c59e21c
feat(y-log): 问答按 LLM 调用各记一条 + 全量补齐各 API 操作埋点
...
- 问答日志从「每轮 onFinish 一条」改为 useThreadStream onLangChainEvent
监听 on_chat_model_end,每次大模型调用结束各上报一条(含子代理)
- 广覆盖各 API client 成功路径:查看(view)/查询(search)/新增(create)/
编辑(edit)/删除(delete)/启停(enabled·disabled)/导入导出,补齐此前
整模块零埋点与漏掉的单条详情 GET;跳过高频 typeahead/轮询/bootstrap
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:42:54 +08:00
Administrator and Claude Opus 4.8
6131eda219
feat(y-log): 问答按 LLM 调用各记一条 + 全量补齐各 API 操作埋点
...
- 问答日志从「每轮 onFinish 一条」改为 useThreadStream onLangChainEvent
监听 on_chat_model_end,每次大模型调用结束各上报一条(含子代理)
- 广覆盖各 API client 成功路径:查看(view)/查询(search)/新增(create)/
编辑(edit)/删除(delete)/启停(enabled·disabled)/导入导出,补齐此前
整模块零埋点与漏掉的单条详情 GET;跳过高频 typeahead/轮询/bootstrap
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:41:07 +08:00
吉鑫升 and Claude Opus 4.8
14082b3e7b
fix(深链): 删除接口空响应体也判成功
...
dropSixOrSevenData 成功时返回空响应体,原 success: obj.success === true
永远为 false,导致删除已成功却总弹「清除失败/无法覆盖」。改为
success: obj.success !== false:请求未抛错即算成功,仅显式 {success:false} 才失败。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:28:18 +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
fengxiangdebaozi and Claude Opus 4.8
8b022bffc5
feat(深链会商): rwfx-A/3qfx-A 首条消息附带 taskId,xdfx-A 附带 taskId+actionId
...
会商 Step1 自动发送的「任务信息」现追加任务/行动 id,与单智能体路径口径一致,
id 标签统一用驼峰(taskId / actionId)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:08:33 +08: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
fengxiangdebaozi
0fedb6ffd8
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 19:47:54 +08: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
fengxiangdebaozi
85aa242fd5
Merge branch 'master' into dhk-1
2026-06-23 19:45:41 +08:00
fengxiangdebaozi and Claude Opus 4.8
6f94a40303
fix(ai-writing): 写作分栏拖拽条不再压住左侧滚动条
...
隐形拖拽热区只向右(草稿区留白)延伸 + 抓手微右移,避免鼠标抓左侧时间线滚动条时
误触左右 resize 导致滑不动;不留任何视觉间隙。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:37:30 +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
Administrator
053d3e300e
Merge branch 'ji' into master (操作日志 Y-Log 上报)
...
# Conflicts:
# CLAUDE.md
2026-06-23 19:22:53 +08:00
吉鑫升 and Claude Opus 4.8
a1fbfaf864
feat(xdfx): 行动历史查询与删除(与 rwfx 共用 dropSixOrSevenData 删除接口)
...
- 删除接口统一为 dropSixOrSevenData:rwfx 传 ?taskId=、xdfx 传 ?actionId=,另一参数直接不出现在 URL
- xdfx 工作区新增「清除记录」按钮(按行动id 删除),删除前预检「行动历史是否存在」
- action_history_url 配置位(地址待提供,留空则不查询/不阻断删除)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:14:16 +08:00
fengxiangdebaozi and Claude Opus 4.8
b8c78ba06e
feat(ai-writing): 大纲先行确认 + 新文章类型识别 + 参考文献 + 编辑器修复
...
- 写作配置 Q&A 改为「先流式生成大纲并多轮确认 → 再确认意图」,放宽轮数上限
- 意图识别出列表外的新文章类型时带上类型名+简介(仅本次写作临时使用)
- 成稿支持参考文献:正文 [n] 角标 + 文末按出现顺序的「参考文献」列表(表单开关,默认开)
- 流式接取未闭合 <think> 思考内容,首 token 前加「正在整理…」占位
- 修复右侧编辑器输入空格只出一次、光标跳字(避免自激回灌 setContent 重置光标)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:07:03 +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
5aa66fc07d
chore(backend): 放宽递归与循环检测阈值
...
- build_run_config recursion_limit 100 -> 250
- LoopDetectionMiddleware 默认阈值放宽(warn/hard/window/tool-freq)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 17:48:23 +08:00
吉鑫升 and Claude Opus 4.8
23d170cde1
fix(rwfx): 3q 无数据时不默认发送问题,仅「不去3q分析」才发送
...
问题:rwfx 进入时的 3q 预检弹框与「目的树为空自动发送第一次问题」相互独立,
导致 3q 无数据时弹框出现的同时问题已被自动发出。
修复:新增 rwfx 专用 3q 门控(rwfx-sq-gate.tsx,RwfxSqGateProvider + useRwfxSqGate),
把自动发送交给门控——
- 3q 完成/无法判定 → 立即发送;
- 3q 未完成 → 弹「前往 3qfx」框并挂起发送,仅当用户「暂不(不去3q分析)」或关闭弹框才发送;
点「前往 3qfx」则跳转并丢弃发送。
TaskPurposePanel 自动开始改调 gateStart(onStart);手动「开始问答」/覆盖确认不受影响。
替换原独立的 RwfxSqReportGate(它弹同一个框但没门控自动发送)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 17:48:23 +08:00
Administrator and Claude Opus 4.8
d2be3b206d
feat(y-log): 操作日志上报(前端直连 + 后端公开只读下发地址)
...
- 后端新增 y_log 公开只读配置:YLogConfig + AppConfig.y_log +
GET /api/public/config/y-log,地址写在 config.yaml(mtime 热重载)
- 前端核心 src/core/log/:writeYLog(双门控/异步即发即忘/永不抛错/
去ip-host/对象序列化裁剪/optResult恒0)+ 配置加载 + token1 隔离存取
- 登录(token)持久化 token1 并报登录、登出先报后清;启动预热配置
- 各 API client 成功路径埋点:敏感词/菜单/按钮/技能地址/轻应用、
会商草稿+任务草稿+后台任务、智能体/定时任务/知识库、Word导出,
以及问答完成钩子(ChatPage/AgentChatPage onFinish)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 17:46:08 +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
xu hd
ce3a5b6bf9
Merge branch 'xuhd' into 'master'
...
feat(frontend): 来源弹窗加loading + 笔记页暗色适配 + 主题透传
See merge request knowledge-base-bj/deerflow-server!144
2026-06-23 03:28:12 +00:00
xuhd and Claude Sonnet 4.6
91a6183757
feat(notebook): 来源上传优化 + 工作室问答停止回答功能
...
- 上传来源后显示处理中占位卡,轮询成功后自动选中该来源
- 失败时不选中,占位卡去重(已在真实列表中则不显示)
- 输入框三态:空→无按钮,有内容→发送箭头,streaming→停止按钮
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 11:27:40 +08:00
g zy
076cdc746e
Merge branch 'gzy' into 'master'
...
Gzy
See merge request knowledge-base-bj/deerflow-server!143
2026-06-23 02:57:41 +00:00
Rocky Kwok
1c2e524b28
fix: iframe页面子智能体不跳出,增加按钮
2026-06-23 10:56:51 +08:00
xuhd and Claude Sonnet 4.6
42ce20b4df
feat(frontend): 来源弹窗加loading + 笔记页暗色适配 + 主题透传
...
- 来源上传弹窗 A系统基因库 tab 搜索时显示 loading spinner
- NetworkActor 组件初始加载时显示 loading spinner(初始状态设为 true)
- StudioNotebooksPage 笔记卡片支持暗色主题样式
- StudioNotebookDetailPage / NotebookAIWritingPage 跳转时透传 themekey 参数
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 10:07:13 +08:00
Rocky Kwok
1cbc0e2dd6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-23 09:21:01 +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
fengxiangdebaozi
adabfa2fe3
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-22 21:03:19 +08:00
吉鑫升
ec56fa671b
Merge branch 'ji'
...
# Conflicts:
# CLAUDE.md
2026-06-22 21:02:35 +08:00
fengxiangdebaozi and Claude Opus 4.8
f144a59c97
fix(roundtable): xdfx-A 深链会商聊天记录按行动id隔离存储
...
xdfx 深链 URL ?taskId= 原始值即 actionId(登录时解析成真实任务id)。
一个任务可派生多个行动,各行动会商需互相独立,故聊天记录/后台作业
按 actionId 存取,而非解析出的真实 taskId。
新增 recordTaskIdOf(prefill)=actionId??taskId,应用到草稿 CRUD/回显
(useDraftPersistence/useRoundtableDrafts/loadLatestByTask) 与后台作业
(startJob/getJobByDraft/cancelJob/startJobKeepalive)。目的树/入库/任务
详情/底部快捷跳转栏仍用真实 taskId。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 21:01:34 +08:00
吉鑫升 and Claude Opus 4.8
dd942cdd60
feat(xdfx): 行动分析聊天记录按行动id划分 + 首问追加 action_id
...
xdfx 单智能体问答不再按 task_id 划分聊天记录,改按「行动id(action_id)」划分:
- TaskContext 增加 partitionByAction 标记 + taskThreadMetadata 统一产出线程标签
- xdfx 新建线程额外打 metadata.actionId,对话列表按 actionId(+agent_id) 过滤
- 仍保留 metadata.taskId 以维持后端「任务深链对话全局共享」语义
- 首次提问开场信息追加「行动id(action_id)为…」
- useTaskThreads 增加 actionId 过滤参数;useChatsBase 从上下文派生
rwfx / 3qfx 行为不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 21:00:22 +08:00
吉鑫升 and Claude Opus 4.8
fbec222eb4
Merge branch 'ji' into master
...
合并 ji 的功能:开放问答接口(/api/open/chat[/stream] 回传生成文件 + 临时不留存)、
技能地址管理、智能体详情「最近对话」等。
冲突 frontend StrategyRoutes.tsx 已解决:同时保留 admin/roundtable-diagnostics(master)
与 admin/skill-addresses(ji) 两个管理员路由。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 19:39:35 +08:00
吉鑫升 and Claude Opus 4.8
7c55a577ad
feat(open-chat): 开放问答接口回传生成文件 + 临时不留存
...
- /api/open/chat[/stream] 新增 include_files(默认开),把智能体在 outputs 目录
生成的文件(name/virtual_path/encoding(text|base64)/content)随结果回传,
解决"报告写进文件、answer 只回一段总结"导致拿不到完整内容的问题;
既无 answer 也无文件时返回 502。
- 无状态运行标记 ephemeral:lead agent 跳过记忆与知识库中间件(不召回/不留存/
不自动沉淀),取完文件后清理临时线程目录,做到"通过本接口的聊天记录不存储"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 19:36:30 +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
06b169d7a1
feat(skill-addresses): 新增技能地址修改记录,支持单次记录回退
...
后端:
- 每次「应用」写一份 {id}.manifest.json(记录本次 from→to 替换明细/文件数/处数),
放在备份目录的同级,避免被回退误恢复或计入文件数
- GET /backups 返回每条记录的 replaced_total + replacements;POST /rollback/{id} 回退单条
前端:
- 把「撤销上次」升级为「修改记录」面板:每条显示时间/改了哪些地址/文件数,
带「回退此次」(二次确认);应用后自动展开
- BackupEntry 类型扩展 replacedTotal + replacements
同步更新前后端 CLAUDE.md。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 18:05:05 +08:00
吉鑫升 and Claude Opus 4.8
7487395e44
feat(skill-addresses): 地址检索升级为多关键词匹配
...
- 空格分隔多个关键词,全部命中(地址或技能名任一包含)才显示,便于在大量地址中收窄
- 搜索框加清除按钮 + 更清晰的占位提示
- 过滤时列表头显示「命中 / 总数」
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:55:44 +08:00
吉鑫升 and Claude Opus 4.8
26557b30a0
feat(skill-addresses): 将「技能地址管理」并入管理员「技能管理」页的标签页
...
- SkillAddressesPage 主体抽成可复用的 SkillAddressesPanel(默认导出保留旧路由作直链回退)
- AdminSkillsPage 顶部加 Tabs:技能列表 + 技能地址管理(嵌入 panel)
- 移除 page-sidebar 左下角设置下拉里两处独立的「技能地址管理」入口
- 同步更新前后端 CLAUDE.md 文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:35:42 +08:00
吉鑫升 and Claude Opus 4.8
f8228847ab
fix(skill-addresses): 补提交被 gitignore 漏掉的 address_scan 引擎模块
...
skills/ 忽略规则误伤了 packages/harness/deerflow/skills/address_scan.py,
导致部署环境缺模块、启动报 ModuleNotFoundError: deerflow.skills.address_scan。
强制纳入跟踪。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:29:10 +08:00
吉鑫升 and Claude Opus 4.8
6b480fdbe9
feat: 新增技能地址管理与开放问答接口,完善任务工作区
...
- 新增「技能地址管理」页面与 /api/skill-addresses 路由(扫描/预览/批量替换技能内地址)
- 完善 /api/open/chat 开放问答接口与模型工厂、网关配置
- 调整任务工作区、侧边栏与路由
- 将本地 0622/ 临时目录与 __pycache__/ 加入忽略,不提交
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:17:54 +08:00
fengxiangdebaozi and Claude Opus 4.8
0a456e9146
feat(ai-writing): 后台挂起改为即时返回,乐观标记历史「挂起中」
...
点击「转后台」后立刻 reset 回初始页,挂起请求 fire-and-forget;
历史下拉靠 markBackground/clearBackground 乐观标记马上显示「挂起中」,
不等后端确认,与「多智能体会商」交互一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08:00
fengxiangdebaozi and Claude Opus 4.8
b59cbd51d9
feat(ai-writing): 各阶段模型调用自动容错,失败时换下一个模型继续
...
参考多智能体会商的容错思路:意图解析/大纲/正文/审核四个 LLM
环节失败时,按 config.yaml models 顺序换下一个模型重跑该环节,
并通过 model_switch 事件在前端时间线提示「『X』模型<原因>,
已自动切换到『Y』继续」。正文逐章节、审核逐维度独立切换,
已生成的章节/维度保留;意图解析成功的模型还会写回 state
供下游阶段沿用,避免每阶段重复经历同一次失败。
- nodes/_model_fallback.py: 候选模型链 + 异常分类 + model_switch
事件构造(沿用 ROUNDTABLE_MODEL_FALLBACK[_MAX] env 开关)
- intent_parser/writer_outline/writer_draft/editor: 失败循环换模型
- 前端 types/reducer/timeline: 新增 model_switch 事件类型,按
stage 复位对应流式缓冲并以 amber 系统提示渲染
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08:00
fengxiangdebaozi and Claude Opus 4.8
23743ee193
chore: 精简 AI 写作示例文案
...
ai-writing 表单/检索/欢迎页的占位与示例改为通用文案。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08: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
fengxiangdebaozi and Claude Opus 4.8
e28277b21b
feat(layout): 全量模式右上角也加界面模式切换
...
复用 appearance-controls 的 LayoutModeSwitcher,Header 操作区在换肤旁
补上界面模式下拉,与简洁模式右上角保持一致。LayoutModeSwitcher 新增
fallback 属性指明 mode 未设置时的兜底界面(Header 传 full,ChatPage 传 compact)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 15:43:55 +08:00
吉鑫升 and Claude Opus 4.8
32476c7ad4
feat: 智能体详情新增「最近对话」列表,完善推荐问题与任务深链配置
...
- 新增 AgentRecentChats 组件,在智能体详情面板底部按 agent_id 展示最近对话
- 调整问答/智能体侧边栏与最近对话列表展示逻辑
- 补充 dashboard-input、task-deeplink 相关配置与线程工具方法
- 后端推荐问题接口标签处理及 position_sync 微调,新增相关测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 14:47:43 +08:00
Rocky Kwok
ab305b3514
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-22 14:44:24 +08:00
吉鑫升 and Claude Opus 4.8
16ba5deb0e
feat(agents): 智能体归属/发布操作前增加「账号已切换」提醒
...
- 新增 useLiveAccount 钩子:跟踪「实时」登录账号(随 storage/focus 刷新),
并与组件挂载时捕获的账号对比;token 存 localStorage 会被同浏览器其他标签页
共享,另一标签页登录会静默替换本页 API 所用账号
- agent-card / agent-detail-panel / publish-square-picker-dialog / NewAgentPage
接入该钩子,切换账号后对归属/发布类操作做提醒,避免误归属
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 11:30:15 +08:00
吉鑫升 and Claude Opus 4.8
2b6424b3ff
feat(open-chat): 新增 /api/open/chat 开放问答接口
...
- 无需登录(/api/open/ 加入 auth 白名单 + CSRF 豁免),供外部系统直接调用本项目智能体做问答
- 可指定模型(model_name)与智能体(agent_name 中文名称,扫描 agents/*/config.yaml 解析为运行 id);GET /api/open/agents 列出可选名称
- 只返回最终结果(answer = 最后一段 markdown),不含中间过程/工具调用
- 可靠关闭思考:thinking_enabled=false 时下发 thinking_force_disabled,经 create_chat_model(force_disable_thinking=True) 强制注入 enable_thinking=false(及 GLM thinking.type=disabled),覆盖只声明 supports_thinking 的内网 vLLM/Qwen 模型(与生成标题关思考一致)
- 一次性问答设 is_scheduled_run 跳过自动起标题
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 11:21:56 +08:00
fengxiangdebaozi and Claude Opus 4.8
79f1a004a0
feat(layout): 简洁模式右上角加换肤 + 界面模式下拉切换
...
抽出共享 appearance-controls(ThemeSwitcher 按 tone 适配 banner/content
配色,新增图标+下拉的 LayoutModeSwitcher);Header 复用换肤组件,简洁模式
ChatPage 顶栏右上角补上换肤与界面模式切换,与全量模式保持一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 11:02:51 +08:00
Rocky Kwok
b89933e60a
chore: ignore
2026-06-22 10:55:00 +08:00
fengxiangdebaozi
548cfd1719
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-22 10:47:15 +08:00
fengxiangdebaozi
7d32b41e90
加载框样式
2026-06-22 10:46:57 +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
fengxiangdebaozi and Claude Opus 4.8
8ca16c74bc
fix(roundtable): 会商第三步各席位产物弹窗经 portal 挂 body,修复顶部被顶栏盖住
...
页面 <main> 的 `relative z-0` 新建层叠上下文,把内部 fixed 弹窗困在 z-0 层级,
被会商页头(z-40)/全局顶栏(z-45)盖住标题栏。ContentModal 与 ArtifactPreviewModal
改用 createPortal 挂到 document.body,脱离该上下文后正常盖在顶栏之上。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 22:12:45 +08:00
fengxiangdebaozi and Claude Opus 4.8
60626c384a
fix(roundtable): 会商 Step2/Step3 沙箱产物按对话创建者解析,修复历史/跨用户查看不了
...
圆桌会商系统线程(metadata.thread_type==roundtable)的 Step2 席位/总控 +
Step3 报告/总结/大屏/结构化 沙箱产物(md/流程图/报告)落在创建者目录下,
之前按当前登录解析路径 + owner_check 校验 → 历史草稿重开或 taskId 会商被
其他账号打开时 403/404 查看不了。沿用任务深链对话方案(23e6685 )扩展到圆桌:
- thread_paths._is_creator_shared_thread:taskId 或 thread_type==roundtable
都解析到对话创建者(threads_meta.user_id),覆盖所有线程路径关口
- ThreadMetaRepository.check_access:圆桌系统线程同样跳过 owner 过滤
(artifacts 路由 owner_check 据此放行其他账号/历史查看)
线程 id 仅存在于草稿中,无关账号无法发现,与 taskId 共享模型一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 20:51:05 +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
fengxiangdebaozi and Claude Opus 4.8
03c155f8a7
feat(roundtable): 第三步「数据入库」由结构化输出智能体自行调用技能
...
- 入库改为让 roundtable-structure 走完整 agent 运行时(ingest run policy)
自行挑选/读取/调用入库技能并传入 taskId,不再前端代调演示
- 新增 /api/flow-extract/ingest-eligibility(智能体判断当前业务场景是否有
合适入库技能,决定入库按钮是否显示)+ /api/multi-agent/structure/init
- 入库前判断是否已生成流程图:无则发起「是否先生成流程图」用户协助
- 「知识库入库」更名为「数据入库」
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 17:58:36 +08: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
fengxiangdebaozi and Claude Opus 4.8
a9f01bec79
feat(task-buttons): 外链按钮新增「打开方式」(新窗口/当前窗口)
...
按钮管理(/page/strategy/admin/task-buttons)的 url 外链按钮可配置打开方式:
- blank=新窗口(默认,window.open(_blank),行为同改前)
- self=当前窗口(window.location.assign,嵌入态即当前 iframe)
新增 TaskButton.openMode 字段贯通前后端:前端 task-buttons.ts 类型+种子+
runTaskButton 打开逻辑、api 客户端 snake⇄camel 映射、TaskButtonsPage 下拉;
后端 router schema + ORM open_mode 列(可空默认 blank,启动自动 ALTER 补列,
无需手动迁移)+ sql/memory store 归一化。仅 url 类型生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 16:09:01 +08:00
吉鑫升 and Claude Opus 4.8
e906a911b2
feat(agent-sidebar): 「智能体」区支持收起/展开
...
标题栏改为可折叠头(chevron 切换),收起后仅留标题栏并隐藏来源下拉/搜索/列表,
下方「最近的对话」占满剩余空间;收起状态持久化到 localStorage。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 16:09:01 +08:00
吉鑫升 and Claude Opus 4.8
8cc2650e98
feat(agent-sidebar): 独立问答智能体列表栏增加「最近的对话」区(参考首页)
...
左栏改为上下双区:上半智能体列表(来源下拉+名称搜索),下半新增「最近的对话」——
跨智能体近期会话、计数徽标、历史搜索、点击打开/当前高亮/置顶标记,含重命名/置顶/
收藏/分享/导出/删除菜单。会话链接走 usePathOfThread,自动带路由命名空间与 agent_id。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 16:09:01 +08:00
Administrator
593daa91ec
Merge branch 'ji' into master
2026-06-19 15:43:23 +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
吉鑫升 and Claude Opus 4.8
1f2a1aaa76
feat(agent-sidebar): 「智能体」区支持收起/展开
...
标题栏改为可折叠头(chevron 切换),收起后仅留标题栏并隐藏来源下拉/搜索/列表,
下方「最近的对话」占满剩余空间;收起状态持久化到 localStorage。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 15:04:30 +08:00
吉鑫升 and Claude Opus 4.8
c1c23d9136
feat(agent-sidebar): 独立问答智能体列表栏增加「最近的对话」区(参考首页)
...
左栏改为上下双区:上半智能体列表(来源下拉+名称搜索),下半新增「最近的对话」——
跨智能体近期会话、计数徽标、历史搜索、点击打开/当前高亮/置顶标记,含重命名/置顶/
收藏/分享/导出/删除菜单。会话链接走 usePathOfThread,自动带路由命名空间与 agent_id。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 14:42:40 +08:00
Administrator
4b2a93a542
Merge branch 'ji' into master
...
合并 md/产物按对话创建者解析路径修复(切换账号找不到文件)与 master 现有前端改动。
2026-06-19 14:39:54 +08:00
Administrator and Claude Opus 4.8
23e6685977
fix(task-deeplink): 共享任务对话的 md/产物按对话创建者解析路径,修复切换账号后找不到文件
...
xdfx/rwfx/3qfx 任务深链对话按 metadata.taskId 全局共享、不区分用户,但生成的
md/artifacts 与上传文件物理存在 users/{user_id}/threads/{thread_id}/ 下,user_id
之前取当前登录账号。导致 A 账号生成的文件,B 账号打开同一共享对话时后端去
users/B/ 找 → 404「找不到」。
新增 deerflow/runtime/thread_paths.py(resolve_path_user_id /
aresolve_path_user_id):带 taskId 的共享对话统一解析到对话创建者
(threads_meta.user_id),个人对话仍走当前登录(行为不变)。在所有线程文件路径关口替换:
写入源 ThreadDataMiddleware、present_files、uploads(manager+middleware+router)、
产物读写(path_utils → artifacts/skills router)、嵌入式 client.get_artifact。
正向结果进程内缓存;无 DB/内存态/无行均安全回退到当前登录。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 14:35:22 +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
fengxiangdebaozi
ef615bbfb6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-19 14:15:13 +08:00
董宏凯
d8f32690a3
feat(dashboard-agent): 真实模式先请求数据再抽取 + 重新生成/编辑闸门
...
- dashboard-input: 缓存仅 mock 开发用,真实模式不读缓存、不兜底假数据,
只用接口真实返回;新增 forceRefresh 跳过缓存强拉最新数据
- DashboardAgentPage: 请求期间「正在请求任务数据…」加载态 + 失败提示/重试;
重新生成(redraw)/编辑(ask)前先 forceRefresh 拉最新数据,
guardedGenerate 闸门——拿到数据才生成,拿不到 toast 取消(防并发)
2026-06-19 14:04:42 +08:00
fengxiangdebaozi and Claude Opus 4.8
31f9838095
feat(embed): iframe 嵌入模式(去 chrome + 主题隔离 / hideJump / 登录用户隔离)
...
外部系统用 iframe 套用深链单智能体问答/多智能体会商时,三个按标签页(sessionStorage)
开关,由深链 URL 参数开启、跨登录跳转/刷新/页内导航存活,绝不跨标签污染正常系统页:
- embed=1(可带 theme=):去全局导航栏 + 侧边栏;按外部主题色强制明/暗,走
next-themes forcedTheme(不写 localStorage),嵌入侧不调 setTheme/persistSidebarEnabled
- hideJump=1:隐藏深链底部「快捷跳转」栏 TaskJumpBar(底部「下一步」按钮 + 右侧悬浮菜单)
- 登录隔离:嵌入态鉴权/身份键(deerflow.auth/userInfo/login.*/tools_token 等)改走
sessionStorage(core/auth/scoped-storage.ts 的 authStorage),iframe 登录用户与正常
登录用户完全隔离、互不覆盖;token 读取统一过 getStoredAuth,改中心函数即全体生效;
跨标签账号变更监听 AuthSyncWatcher 嵌入态禁用
嵌入会话在 main.tsx 渲染前同步启用(早于任何鉴权写入)。正常标签页 isXxx() 恒 false,
行为零变化。新增 core/embed/embed-session.ts、core/auth/scoped-storage.ts。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 12:02:36 +08:00
吉鑫升 and Claude Opus 4.8
13ef1942f2
feat(agent-sidebar): 独立问答智能体列表栏顶部增加智能体名称模糊搜索
...
下拉来源切换下面加搜索框:防抖 300ms 走服务端 search(按原始名 + 内置缩写
脱敏映射匹配,与智能体管理页一致),在当前来源(我的/某广场)内搜全量;
带清除按钮、无结果显示「未找到匹配的智能体」、搜索中复用 isFetching 半透明指示。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 11:16:39 +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
fengxiangdebaozi
81ca13280b
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-19 10:03:10 +08:00
fengxiangdebaozi
bb7283dcd9
接口
2026-06-19 10:03:00 +08:00
吉鑫升 and Claude Opus 4.8
0bd4524334
feat(task-deeplink): 首次进入且任务无历史时自动发送,无需手动点开始回答/覆盖
...
新增「首次进入且该任务无聊天对话」信号 taskAutoStart:TaskFxIndexResolver 在
「无历史 → /new」时注入 state,用户主动点「新建对话」则不带。
- 3qfx/xdfx:taskAutoStart 时自动发出开场词(一次性 ref,不受 mount 时 threadId
抖动影响、不会重复发),不显示「开始回答」按钮;用户主动新建对话才显示按钮手动发。
- rwfx:闸门 autoStartWhenEmpty = autoStartWhenPurposeEmpty && taskAutoStart,即仅
首次无对话历史时目的树为空才自动开始;目的树有数据始终弹「覆盖并开始问答」确认(不误删 B 系统数据)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 09:51:50 +08:00
fengxiangdebaozi
ce78cbf936
代码提交
2026-06-18 21:09:37 +08:00
吉鑫升 and Claude Opus 4.8
6aaa4c841e
feat(task-deeplink): 3qfx/xdfx 新建对话改手动「开始回答」+ xdfx 行动详情卡片 + 独立问答智能体列表栏
...
- AgentChatPage: 纯绑定深链(3qfx/xdfx)不再自动发开场信息,改由右上角「开始回答」按钮手动触发,从根上消除新建对话竞态导致的重复发送;移除 autoSentArmedRef/streamThreadId 相关逻辑
- task-deeplink.ts: 抽出 fetchActionDetail 返回整包 ActionDetail,fetchTaskIdFromAction 复用之
- TaskFxWorkspace: xdfx 左栏「当前任务」下新增「行动详情」卡片(行动名称/叙事)
- StrategyRoutes/WorkspaceRoutes: 独立智能体问答整页新增最左「智能体列表」栏(showAgentList);xdfx 右侧宿主改用 TaskBindChat(精简版)
- 新增 agent-chat-sidebar.tsx
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 20:55:41 +08:00
吉鑫升
179a3f2b2f
Merge branch 'ji' into master
2026-06-18 19:24:03 +08:00
吉鑫升 and Claude Opus 4.8
678035afed
fix(frontend): 修复 3qfx/xdfx「新建对话」开场白重复发送两次
...
根因:mount 进入 /new 时 useThreadChat 会抖动 threadId(useState 先给一个 uuid,
紧接着 effect 又 setThreadId(新 uuid))。旧去重用 taskAutoSentRef,而 reset effect
依赖 threadId,被抖动重置回 false;此时 onCreated 未回、streamThreadId 仍为
undefined(守卫放行),自动发送 effect 二次触发 → 发两次、创建两个线程,回答开始时
切到最终线程,表现为「开始回答后突然变成一个」。
改为「武装」标志去重,只在会话真正创建完成(isNewThread→false)后才重新武装,
对 threadId 抖动免疫,保证每个新建会话恰好自动发一次。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 19:19:23 +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
fengxiangdebaozi and Claude Opus 4.8
3a315798e9
feat(roundtable): 深链会商页引入底部快捷跳转栏(去编辑/弹框查看)
...
抽出 TaskJumpBar 为独立组件,单智能体问答与多智能体会商共用;会商深链
taskId 模式按业务渲染按钮管理配置,并隐藏「编辑」与「弹框查看」按钮。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 19:17:45 +08: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
fengxiangdebaozi
6a8f118ad0
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
...
# Conflicts:
# CLAUDE.md
2026-06-18 17:53:23 +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
吉鑫升
3aa629f0df
Merge branch 'ji' into master
2026-06-18 17:17:11 +08:00
吉鑫升 and Claude Opus 4.8
e5ca717783
fix(frontend): 修复 3qfx/xdfx 任务深链「新建对话」开场白发进上一个会话
...
根因竞态:从已有会话点「新建对话」时 isNewThread 立刻翻 true,但 useThreadStream
的 onStreamThreadId 慢一帧才归零;自动发送 effect 同帧 submit,而 SDK 的
SubmitOptions.threadId 仅在 hook 线程为空时生效,于是开场白发进了上一个对话
(表现为「一直在同一个聊天框里发消息」,首次正常、之后每次都串)。
- useThreadStream 追加返回当前绑定的流线程 id onStreamThreadId(向后兼容)
- AgentChatPage 自动发送 effect 增加守卫 streamThreadId == null:等底层 stream
切到全新线程后再发,开场白即落到新建对话
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 17:16:19 +08:00
fengxiangdebaozi and Claude Opus 4.8
85cca36ddb
feat(roundtable): 入库门控——未挂载入库技能则不显示入库按钮、也不执行入库
...
- 门控改为「是否挂载了入库相关技能」:按 name/name_zh/description 含 `ingest` 或「入库」
识别任意启用的入库相关技能,不写死示例技能名(真实入库技能改名也能自动识别;
知识库检索类技能不误命中)。
- 操作层加保险:runIngest 在 ingestAvailableRef 为假时直接 no-op,未挂载技能/非深链
即使被触发也不执行任何入库动作。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 17:05:53 +08:00
吉鑫升 and Claude Opus 4.8
29cc004b69
feat(frontend): 任务工作区/目的树脱敏 — 业务名→业务码 + 数据值过 desensitize
...
- 种子脱敏表新增 任务分析→rwfx / 三情分析→3qfx / 行动分析→xdfx(整词在前,优先于「任务」「行动」匹配)
- TaskFxWorkspace:左上业务名 + 底部快捷跳转按钮标签过 desensitize
- TaskPurposePanel:目的树表头/单元格正文/理由过 desensitize
- 硬编码 UI 文案与 admin 按钮管理页保持原文(与菜单管理一致)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 16:52:59 +08:00
fengxiangdebaozi and Claude Opus 4.8
19028ba627
feat(roundtable): 第三步流程图后入库(示例技能 · 仅深链 taskId 模式)
...
- 流程图生成完成后,发起用户协助询问是否入库:现在 / 稍后 / 不入库。
- 仅**深链(taskId)模式**(会商 rwfx-A / 3qfx-A / xdfx-A 等)且入库技能启用时才出现入库
询问 / 协助卡 / 手动入库按钮;普通会商不受影响。
- 「稍后入库」后输入框自由文字做意图识别(后端 /api/flow-extract/ingest-intent:
start_ingest / add_data / other / unclear),模糊则发起入库协助;另提供手动入库按钮。
- 入库执行复用总结智能体的同一线程,在消息列表出一条「知识库入库」气泡并显示步骤条
(调度 → 调用入库技能 →(补充内容)→ 提交 → 完成),与第二步同款。
- 入库数据以**用户最后修改后的流程图**为准;并把深链 **taskId 一并传给入库技能**(技能必需)。
- 入库状态(asking/later/done 等)随第三步草稿存取,重载不重复询问。
- 入库技能先用示例(演示用):skills/public/knowledge-base-ingest/SKILL.md(force-add,
skills/ 目录默认 gitignore),后续替换为真实入库技能时沿用同名即无缝切换。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 16:49:36 +08:00
吉鑫升
77aa895a70
Merge branch 'ji' into master
...
# Conflicts:
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/app/gateway/app.py
# offline-backend-20260512/backend/app/gateway/deps.py
2026-06-18 16:36:30 +08:00
Administrator and Claude Opus 4.8
f762a76ecf
feat: 任务工作区 UI 细化(底部按钮主题色/左上业务名/右侧智能体信息默认收起/xdfx目的弹框按行动id解析)
...
- 底部「快捷跳转」按钮改用主题色 var(--color-main)(随红/蓝主题自适配),hover 用 --brand-950
- 三个工作区左上角标明当前分析页面(任务分析/三情分析/行动分析)
- 进入任务工作区(taskGate/taskBind)时右侧「智能体信息」面板默认收起(AgentDetailPanel defaultCollapsed)
- xdfx「弹框查看」目的树:先用行动id换回任务id 再查(TaskPurposeDialog resolveFromActionId);
仅深链原始行动id(≠任务id)时触发,切换业务进入不误解析
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 16:19:02 +08:00
Administrator and Claude Opus 4.8
095469b8a9
feat: 任务深链对话(metadata.taskId)全局共享、不区分用户
...
任务工作区(rwfx/3qfx/xdfx)的对话改为按 taskId(+agent_id) 全局共享、跨用户可见可续聊,
不再按创建者隔离;普通个人对话仍按 owner 隔离不变。
- ThreadMetaStore.search/count:metadata 含 taskId 时跳过 owner 过滤(SQL+Memory)
- check_access / _check_ownership / update_metadata / delete / _get_owned_record:
行 metadata 含 taskId 时视为共享,任何登录用户可读/写/续聊/改标题状态/删除
- 覆盖 require_permission(owner_check) + runs 续聊 owner 校验 + 列表
- 测试 tests/test_thread_meta_task_sharing.py(SQL 跨用户可见/隔离/check_access)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 15:54:51 +08:00
Administrator and Claude Opus 4.8
16afa9bcbb
feat: 任务工作区可配置跳转按钮(按钮管理) + 底部快捷跳转栏 + 目的树收起/空自动问答
...
- 新增「按钮管理」admin 页(/admin/task-buttons):按业务(rwfx/3qfx/xdfx)配置跳转按钮,
支持改名称/类型(外链·切换业务·目的树弹框)/目标/追加参数名(id·task_id)/任务id·行动id/启停/排序
- 跳转按钮从左侧栏移到工作区底部「快捷跳转」栏:红底白字、靠右、变大;rwfx 历史 4 按钮纳入配置
- 后端新增全局共享 store /api/task-buttons (table task_buttons,admin 整体替换)
- xdfx 行动id/任务id:登录暂存原始行动id,按钮可选追加任一;id 参数名可自定义
- rwfx 清除记录移到「新建对话」下、去掉任务操作框;查询任务目的为空时自动发第一次问答
- 目的树面板默认收起;「弹框查看」抽成可复用 TaskPurposeDialog,可作为按钮配置到任意页面
- 文档(根/后端 CLAUDE.md) + 后端测试 tests/test_task_buttons.py
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 15:41:05 +08:00
fengxiangdebaozi
b04b830039
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
...
# Conflicts:
# frontend-web/src/roundtable-planning/hooks/useStep3Dashboard.ts
2026-06-18 15:18:41 +08:00
fengxiangdebaozi and Claude Opus 4.8
a8da6c2632
feat(roundtable): taskId 会商记录独立存储(不分权) + 第三步生成过程对话/步骤条入库
...
taskId 深链会商存储独立化:
- 新增独立表 roundtable_task_drafts + 路由 /api/roundtable-task-drafts,只按 task_id
归属、完全不按 user 分权(created_by 仅审计),与个人 roundtable_drafts 物理分离;
个人草稿表恢复严格按用户隔离(去掉原 task 放权)。
- 后台研讨作业按 taskId 共享:roundtable_jobs 加 task_id,get/get_by_draft/stream/
resume/cancel 支持 ?task_id= 跨用户读取与控制,作业报告写回 task-draft 存储。
- 前端:新增 api/task-drafts.ts 客户端,useDraftPersistence / useRoundtableDrafts /
roundtable-jobs / DispatchChainJobModal / RoundtablePlanningPage 按 taskId 路由读写。
- 迁移 20260618_01 + column_additions_mysql.sql(jobs.task_id) + 数据搬迁脚本
scripts/migrate_roundtable_task_drafts.py(把历史 task_id 行迁出个人表)。
第三步聊天记录像第二步一样存全:
- 总结报告 / 经典看板 / 大屏 三条流的生成过程对话(中间文字 + 步骤条 + stub)落库,
加载草稿整段回显,而非只剩最终 md / 流程图 / HTML。DraftStep3Snapshot 扩展
dialogues/seatStubMessages 槽位;存稿走页面 render 期 ref,恢复走各 hook hydrateSaved
(旧草稿无字段则回退单条「历史记录」气泡)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 15:11:50 +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
ecb79ce49c
feat: 3qfx/xdfx 任务深链 1:N 工作区 + xdfx 行动id解析 + 3q详情链接
...
- 3qfx/xdfx 单智能体改走任务工作区(TaskFxWorkspace):按 taskId+agent_id 隔离的
1:N 对话列表;3qfx 纯绑定(taskBind 自动发开场信息),xdfx 带目的树闸门(taskGate)
- 左上角「当前任务」卡片:留存查询到的任务名称+简介(readCopTaskDetail)
- rwfx 工作区新增「切换到三情分析」按钮,带同一 taskId 进入 3qfx
- xdfx 深链传入的是行动id:resolveDeeplinkTaskId 经 action 接口解析出真正任务id
(可配置 action_detail_url + action_test/mock.action_detail,离线可测)
- 目的树面板「弹框查看」旁新增可配置「3q详情」链接(detail_3q_url + ?id=任务id)
- AgentChatPage 拆分 taskGate/taskBind;use-task-threads 增加 agentId 过滤隔离
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 11:37:05 +08:00
fengxiangdebaozi and Claude Opus 4.8
500a562bb6
fix(roundtable): 校验环节真正"逐个查 from 缺则补"——删掉自相矛盾的"你不用管连线"
...
校验本就把第一次抽取的完整 JSON(extracted)传给模型,但开头一句"连线由系统按
层级自动生成、你不用管连线"与第①要点"查每个非根节点 from 缺则补"自相矛盾,
模型读到前者就跳过补 from。删掉该句,改成明确指令:逐个节点检查上面这份 JSON
是不是缺字段,只要某节点缺 from 就补上正确的 from,绝不让非根节点悬空。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 23:32:59 +08:00
fengxiangdebaozi and Claude Opus 4.8
b5744a1378
feat(roundtable): 结构化抽取连线质量加固——尊重模型 from + 弱模型层级兜底
...
- parse_flow_graph 选边改为两全策略:模型把连线连全了(仅根节点无入边)→直接用
模型的 from/edges;模型漏连(≥2 节点无入边,最常见就是漏 from 导致平铺)→按 group
层级关系确定性推导补全,永不平铺,连线质量与模型能力解耦。
- SOUL.md 增加正确/错误节点示例(带 from vs 漏 from)+ 硬性要求:除根节点外每个
节点都必须填 from;画法④拆成 group/对应顺序/from 三件事并强调"漏 from 最常见"。
- 校验 prompt 把"连接关系"提为第①要点:逐个检查非根节点是否有 from,缺了必须补对。
- _STRUCTURE 兜底 prompt 同步要求填 from。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 23:28:07 +08:00
fengxiangdebaozi and Claude Opus 4.8
b8b71523b5
fix: 流程图连线推导加固——个别节点漏 group 时按发射顺序就近归层(carry-forward)
...
弱模型可能漏标个别节点的 group,原逻辑一漏标就整体放弃推导导致节点平铺。改为漏 group 的
节点沿用前一节点的层级,只有开头无 group / 全程无 group 才回退模型连边。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 23:18:05 +08:00
fengxiangdebaozi and Claude Opus 4.8
cc06d3f4d2
feat: 流程图连线后端确定性推导(弱模型也连对) + 校验不删边/不简化理由 + 调度中即时反馈
...
- 连线质量:新增 _derive_layered_edges——连线不再信任模型,后端按节点 group 分层 +
层级对应关系确定性推导(任务→各目的扇出、相邻等量层按下标一一对应、不规则层对回退模型边)。
模型只需 group 标对 + 各层内按相同对应顺序排列,连线就一定对。SOUL/_STRUCTURE 据此调整。
- 校验不删边:validate 要求节点数≥原图 + gen() 兜底「校验后节点/边变少则回退抽取结果」。
- 不简化理由:_SHAPE + SOUL detail 改为完整理由原样保留、不简化/精简。
- 调度中即时反馈:ask() 意图分类前立刻建「调度中」气泡,定意图后各分支复用(relabelDialogue
+ runFlowExtract.bubbleId),不再等 intent 接口返回才出内容。
- 测试 tests/test_flow_extract_parse.py 加层级连线推导 3 例(共 10 过)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:56:04 +08:00
fengxiangdebaozi and Claude Opus 4.8
0890b3c375
feat: 第三步流程图后端抽取智能体 + 意图识别 + 问答/画布编辑
...
- 新增专职「结构化抽取智能体」roundtable-structure(种子资产 SOUL+config,注册进 seeder
启动 seed+sync 进 DB,可在智能体管理页编辑、未来挂入库技能)。
- /api/flow-extract/stream 改用该 agent 的 SOUL(load_agent_soul,缺失回退内置默认) +
模型(前端所选 > agent 配置 > 默认);抽取/校验/编辑统一。SOUL 先输出简要分析过程再出
flow-json,模型慢时也有实时反馈(含 <think> 思考流)。
- 新增 /api/flow-extract/intent 意图识别(参考 ai_writing 一次性 JSON 范式):识别
重做报告/改流程图/重画流程图/提问/模糊;前端按意图分流,模糊则发起澄清让用户点选,
不再用关键词硬路由(修「说重做报告却出流程图」)。
- Phase 2 问答修改:edit 模式(当前图+指令→改图→校验);Phase 3 画布手动改/删节点。
- 修:用户消息发送即上屏(不等模型/分类返回);regenerate_report 不再清空对话历史;
全屏 portal 到 body 工具栏恢复;解析兼容独立 edges 数组。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:19:02 +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
fengxiangdebaozi
bb05f7b1de
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-17 21:31:30 +08:00
fengxiangdebaozi
d3880f51b3
第三步结构化输出优化
2026-06-17 21:31:22 +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
吉鑫升 and Claude Opus 4.8
47bf0c2a1b
Merge branch 'ji' into master
...
合入 ji 的两处前端修复(任务深链开场信息补 task_id + 加宽任务目的弹框)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 20:40:47 +08:00
吉鑫升 and Claude Opus 4.8
85dc5466c5
fix(frontend): 任务深链开场信息补充 task_id + 加宽任务目的弹框
...
- rwfx 任务深链开场信息末尾追加「任务id(task_id)为xxx」,让后端能识别任务
(buildOpeningText 增加 taskId 参数,覆盖 pendingAgentMessage 与任务上下文两条路径)。
- 任务目的「弹框查看」用 sm:!max-w-[90vw] 覆盖 DialogContent 基类的 sm:max-w-lg
(此前无前缀的 max-w-4xl 被基类响应式类压回 512px,故加宽不生效)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 20:39:22 +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
fengxiangdebaozi and Claude Opus 4.8
fca39eeaee
feat: taskId 深链会商按任务隔离草稿 + 第三步自动结构化流程图
...
- 深链 ?taskId=&goPath=*-A 透传 taskId 进会商,按 taskId 隔离存取草稿(一个 taskId 多条、可新建);
后端新增 GET /api/roundtable-drafts/by-task/{id} 列表 + RoundtableJobRepository.status_map_by_drafts 富化。
- 第三步生成 md 报告后自动结构化输出流程图(仅 taskId 模式):有报告基于报告、无报告基于各席位交付,
整段内联数据来源逐条抽取;层级优先用业务链总控提示词写明的层级,否则用 stages 的 goal。
- 流程图节点加 group(层级名)标签 + detail(条目名称+理由);强 prompt 压制 coordinatorPrompt 报告锚定,
禁阶段编号节点;FLOW_STRUCTURE_RULE 精确画法(根=任务、每层每条成节点、按对应关系串分支、排除汇总段落)。
- flow-graph 解析容错:JSON.parse 失败退回正则逐字段抽取,兼容裸换行/尾逗号,避免节点被整体丢弃。
- 修:重开第二步后第三步基于新一轮分析重新生成(复位 step3 闸门 + 中断旧三流)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 19:45:35 +08: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
吉鑫升
af8db1d24c
Merge branch 'ji' into master
2026-06-17 17:39:23 +08:00
Administrator
bb2e896fba
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-17 17:37:48 +08:00
Administrator and Claude Opus 4.8
0dca637645
style: 任务FX工作区操作区从右下角浮层移入左侧任务栏底部
...
- TaskFloatingActions 重命名为 TaskActionsPanel,挂到对话列表底部
- 不再 absolute 覆盖右侧聊天输入框;编辑/下一步/清除记录改为操作卡片
- 左侧栏样式增强(标题/会话数/选中态高亮)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 17:37:35 +08:00
吉鑫升 and Claude Opus 4.8
54fff09e74
feat(frontend): 不带 sidebar 的聊天页顶栏右侧也展示名称+岗位
...
紧凑布局(无全局 Header)下复用 UserIdentityBadge,数据源与全量模式 Header 一致,仅在 !compactChrome 时渲染,避免与全局顶栏重复。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 17:36:39 +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
吉鑫升
6c47da82c4
Merge branch 'ji' into master
2026-06-17 17:21:15 +08:00
吉鑫升 and Claude Opus 4.8
392394b4c9
fix(db): 修复 alembic 多 head 导致后端启动失败
...
迁移图存在两处问题导致 `alembic upgrade head`(网关启动时执行)报
"Multiple head revisions are present":
1. 20260612_01 分叉出 20260615_01 与 20260616_03 两个 head 未合并;
2. 20260611_01、20260616_02 各被两个文件重复占用,污染 DAG 产生幽灵 head。
处理:
- roundtable_draft_task_id 20260611_01 -> 20260611_02(接在 square_id 之后),
20260612_01 父节点改指 20260611_02;
- skill_favorites 20260616_02 -> 20260616_04(接在 knowledge_folders 之后),
20260616_03 父节点改指 20260616_04;
- 新增 no-op 合并迁移 20260617_01 合并 (20260615_01, 20260616_03)。
保留 20260611_01 / 20260616_02 原 id 不变,仅重命名重复副本,已 stamp 的库不受影响;
所有迁移均有 _has_table/_has_column 守卫,全链路在已建表的库上重跑为安全 no-op。
`alembic heads` 现仅余单一 head 20260617_01,无重复告警。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 17:19:29 +08:00
吉鑫升 and Claude Opus 4.8
a2bb8c80a2
feat: 任务目的树表格化展示 + 切换会话停止老对话服务端 run
...
- task-purpose: normalizeNode 容错(未知 *Dto 兜底/文本字段改名兜底);新增 flattenPurposeTree 拍平目的树
- TaskPurposePanel: 目的树改表格展示(列数自适应),支持弹框放大查看
- threads/hooks: 新增 stopThreadRun,真正取消服务端 run(非仅断开本地 SSE)
- AgentChatPage: taskGate 下切换/卸载会话时停掉老对话服务端 run
- TaskFxWorkspace: 操作按钮(编辑/下一步/清除)改右下角常驻红色浮层
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 16:42:05 +08:00
Administrator and Claude Opus 4.8
ba0ec20532
chore: .env.development 也开启 cop-task-detail mock(VITE_MOCK_COP_TASK_DETAIL=true)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 16:10:57 +08:00
Administrator and Claude Opus 4.8
138a5adb1c
chore: 前端 cop-task-detail 走 mock + 后端 task_deeplink 同步到 backend/config.yaml
...
- frontend-web/.env.production: VITE_MOCK_COP_TASK_DETAIL=true(consumer 外网不可达,登录深链任务详情走本地假数据)
- backend/config.yaml: 补上 task_deeplink 段(test/delete_test=true 走 mock),与外层 config.yaml 对齐;服务器实际加载的是 backend/config.yaml,否则 /api/public/config/task-deeplink 返回空导致 rwfx 目的树闸门失效
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 16:08:54 +08:00
吉鑫升 and Claude Opus 4.8
a2d767e2db
feat: rwfx 任务深链支持目的树闸门 + 任务↔对话(1:N)绑定
...
后端
- config.yaml 新增 task_deeplink 段:完整 URL(无 base)+ test/delete_test 两个独立测试开关
+ mock 假数据(目的树 / delete 结果,可随时编辑)
- 新增 TaskDeeplinkConfig 模型挂到 AppConfig;新增公开只读接口
GET /api/public/config/task-deeplink 暴露给前端(/api/public 已在鉴权白名单)
前端
- 登录深链 goPath=rwfx 进入「任务工作区」:左侧按 metadata.taskId 过滤的对话列表
(新建对话 / 编辑 / 下一步 / 清除任务记录)+ 右侧问答
- 新建对话(含首次进入)顶部展示目的树闸门:有数据弹覆盖确认→调 delete,success 才开始问答;
恢复历史对话不跑闸门
- 新建 thread 打 metadata.taskId 标签实现「一个任务挂多个对话」(1:N)
- 地址/开关/假数据全部走后端配置,拿不到时用内置默认值兜底;test/delete_test=true 走假数据
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 15:59:02 +08:00
g zy
dd631d57d4
Merge branch 'gzy' into 'master'
...
feat: 按钮样式变更
See merge request knowledge-base-bj/deerflow-server!131
2026-06-17 06:29:32 +00:00
ZyGuo
a3c8c50212
feat: 按钮样式变更
2026-06-17 13:49:06 +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
fengxiangdebaozi
8d0759123a
chore: 同步 backend CLAUDE.md 文档换行格式
2026-06-16 22:43:18 +08:00
fengxiangdebaozi
318f6c0c0c
feat: 业务链条配置管理导航与顶栏用户名统一
...
业务链条页增加配置管理入口与返回导航;配置管理页通过 aliasPaths 保持侧栏选中;顶栏用户名与设置个人信息页共用 getAccountDisplayName。
2026-06-16 22:42:42 +08:00
fengxiangdebaozi
d8102e8db8
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 22:18:22 +08:00
Administrator and Claude Opus 4.8
5b610fd807
feat: 上下文压缩支持状态持久化缓存,前端过滤隐藏消息
...
- summarization_middleware 摘要缓存写入 LangGraph thread state,跨进程/重启可复用
- 摘要消息改为 SystemMessage,提示模型静默使用、不泄露
- thread_state 新增 context_summary_cache 字段
- app_config 加载时记录 summarization 配置日志
- config.yaml 压缩触发/保留阈值调整为生产值(token 预算)
- 前端 input-box / message-list 过滤 hide_from_ui 消息
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 22:16:06 +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
fengxiangdebaozi
0bad0eb306
代码隐藏
2026-06-16 22:00:30 +08:00
吉鑫升
5f39879e4d
Merge remote-tracking branch 'origin/master' into ji
2026-06-16 21:08:37 +08:00
吉鑫升 and Claude Opus 4.8
342fa8265a
feat: 知识批量沉淀改为后台任务,避免 nginx 504
...
- /ingest/threads/batch 新增 background 参数(默认 true),立即返回 {queued:true}
- 抽取循环抽出 _run_batch_ingest,后台路径显式传入 created_by
- 前端知识库页与输入框、线程 hooks/types 配套调整
- config.yaml 上下文压缩测试值
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 21:07:17 +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
fengxiangdebaozi
44cb118f95
bug修复
2026-06-16 20:59:44 +08:00
fengxiangdebaozi and Claude Opus 4.8
1ece2c5a4f
fix: 修复全量模式综合管理用户排行榜泄漏到其他侧边栏
...
综合管理菜单存在两个 id 相同的「用户排行榜」子项,侧边栏以
key={item.id} 渲染导致 React keyed reconciliation 失效,离开综合
管理切换到其他一级菜单时重复 key 的节点无法正确卸载,残留到新的
侧边栏。删除冗余的 adminOnly 重复项(保留的项已通过 userPath 同时
覆盖 admin/非 admin)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 20:59: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
Administrator
b380575f16
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/core/page-layout/sidebar-menu.ts
# frontend-web/src/core/system-settings/api.ts
# frontend-web/src/core/system-settings/hooks.ts
# frontend-web/src/strategy-components/Header.tsx
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/app/gateway/routers/system_settings.py
# offline-backend-20260512/backend/packages/harness/deerflow/config/system_settings.py
# offline-backend-20260512/backend/scripts/sql/column_additions_mysql.sql
2026-06-16 20:01:42 +08:00
Administrator and Claude Opus 4.8
c21a1127f8
feat: 提炼模板弹窗加宽,后端配置上下文压缩测试值
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 19:50:33 +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
fengxiangdebaozi and Claude Opus 4.8
ab21911696
feat(ai-writing): 进入写作后自动收起研究模板侧栏
...
把侧栏+内容区抽成 Provider 内组件 AIWritingBody,读 useAIWriting 状态:
status==='idle' && 非历史模式才显示研究模板侧栏;开始写作/查看历史后收起,写作区铺满。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 19:41:05 +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
fengxiangdebaozi
c0e89044c7
代码提交
2026-06-16 19:30:36 +08:00
吉鑫升 and Claude Opus 4.8
4f0494a97a
feat: 聊天增加回到最新悬浮钮,智能体面板生成即收起
...
- 复用 ConversationScrollButton 接入 MessageList,滚离底部时显示一键回到最新问答的悬浮按钮;新增 scrollButtonClassName 以适配各页输入框高度
- 智能体详情面板改用 open+selectedArtifact 判定收起,流式写文件开始即收起让位预览,不再等生成结束
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 19:24:48 +08: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
fengxiangdebaozi
ecf068a61c
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 19:01:59 +08:00
fengxiangdebaozi
ecaaec939d
路由修改
2026-06-16 19:01:52 +08: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
fengxiangdebaozi
208a02a912
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 17:59:35 +08:00
fengxiangdebaozi
f750b7f04d
地址修改
2026-06-16 17:59:27 +08:00
fengxiangdebaozi and Claude Opus 4.8
ba5aeefe98
feat(ai-writing): 研究模板独立实体 + 配置页 + 内置范例 + 点击直接进入写作(0616 #5)
...
后端:
- 新持久化包 research_templates(表 ai_writing_research_templates,create_all 建表,注册 models/__init__),deps 接 research_template_store
- 路由 /api/ai-writing/research-templates CRUD(在 ai_writing.py)
- 内置范例 网摘/周报/要讯(DEFAULT_RESEARCH_TEMPLATES + seed_defaults,表空时由 list 接口幂等播种)
- tests/test_research_templates.py(9 passed)
前端:
- api/ai-writing-research-templates.ts + hooks/useResearchTemplates.ts
- 配置页 ResearchTemplatesConfigPage(/page/canvas/research-templates)CRUD
- ResearchSidebar 研究模板改用研究模板实体;点击回填整张表单并直接 startWriting 进入写作;顶部齿轮进配置页
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 17:59:05 +08:00
吉鑫升 and Claude Opus 4.8
d82b5ed884
feat: 摘要中间件增加压缩日志,提炼模板编辑框定高
...
- summarization_middleware: 真正压缩与复用缓存均记录 info 日志,便于无 stream writer 场景(定时任务/渠道/测试)排查
- KnowledgeManage: 提炼模板 system prompt 编辑框固定为 50vh 高度,内部滚动
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 17:40:14 +08:00
xu hd
12f50123dc
Merge branch 'xuhd' into 'master'
...
Xuhd
See merge request knowledge-base-bj/deerflow-server!125
2026-06-16 09:27:02 +00:00
xuhd
4511c0dee7
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-06-16 17:26:19 +08:00
xuhd
f6809349d2
来源上传组件样式优化
2026-06-16 17:26:13 +08:00
吉鑫升 and Claude Opus 4.8
97da7dc87f
feat: 推荐问题配置支持按标签搜索并在列表展示标签
...
- 后端列表接口为每个推荐问题附带 tags,并支持 tag_ids OR 过滤
- 前端配置页新增 TagSearchBar(标题/内容搜索 + 标签筛选),卡片展示标签
- 打标签后失效 recommended-questions 查询,列表即时刷新
- 过滤时禁用拖拽排序,避免破坏 sort_order
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 16:52:30 +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
fengxiangdebaozi and Claude Opus 4.8
0e4caa5a66
feat(ai-writing): 课题研究笔记本内嵌打开 + 新建/所有空间入口(0616 #5)
...
- 左栏点笔记本/所有空间 → 右侧内嵌打开(不跳路由),写作布局保持挂载(display:none,不丢 setup 线程),顶部「返回写作」
- ResearchSidebar 加「新建空间」(弹窗 createSearchSpace) 与「所有空间」入口
- StudioNotebookDetailPage 加可选 notebookId prop;StudioNotebooksPage 加可选 onOpenNotebook(内嵌时卡片走回调而非 Link),列表内点空间内嵌打开详情
- 内嵌笔记本详情用 ChatRuntime 包裹(修复 useArtifacts must be used within an ArtifactsProvider)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 16:38:22 +08:00
fengxiangdebaozi and Claude Opus 4.8
f39cffcb9a
feat(qa-center): 问答中心左侧栏改造(0616 需求 2-5)
...
- 多智能体会商:Step1 落地左栏「业务链(public 前3) + 分析记录」;点链=勾选(autoChainResult),第一步澄清后点「进入研讨」才按链执行
- zzJC/zzXD:独立模块路由 /page/strategy/qa/{zzjc,zzxd},常驻左栏(按 agent 标签分组 + 仅本模块会话的聊天记录),点智能体模块内切换不跳页,默认落地配置类型下首个智能体
- zzJC/zzXD admin 设置:左栏齿轮→单选类型(TDesign)配置面板+智能体预览;后端 system_settings.agent_modules 持久化(GET 开放/PUT admin)+ test_agent_modules
- 课题研究:左栏「研究模板(文章类型) + 笔记本」;模板点击预填表单,笔记本点击设为素材来源(selectedNotebookId 上提 WritingFormContext)
- 通用问答:全量模式历史侧栏默认展开
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 16:38:22 +08:00
吉鑫升 and Claude Opus 4.8
5182ea5d11
feat: 技能收藏与常驻(always-on)支持
...
- 新增 skill_favorites / skill_always_on 迁移与持久化模型字段
- skills 路由、存储、前端设置页支持收藏与常驻
- 调整摘要中间件与 lead agent 提示词
- 同步岗位 position_sync 及相关配置清理
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 16:37:43 +08:00
吉鑫升 and Claude Opus 4.8
5ebbb82d66
feat: 知识库文件夹/模板、技能压缩设置与摘要窗口调优
...
- 知识库新增文件夹与模板支持(模型/仓储/服务/迁移),前端知识管理组件
- 岗位管理模型与接口完善
- 技能新增压缩设置页与相关存储/工具能力
- 系统设置扩展配置项
- 摘要中间件 keep 窗口改用 token 预算(16000),减少重复压缩
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 15:23:54 +08:00
吉鑫升 and Claude Opus 4.8
e6662cf673
refactor: 移除提示词模板页面及相关接口,精简岗位/标签/用户提示词模型
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 14:32:21 +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
g zy
b2ef4ce89e
Merge branch 'gzy' into 'master'
...
feat: iframe增加智能体选择
See merge request knowledge-base-bj/deerflow-server!123
2026-06-16 05:07:03 +00:00
ZyGuo
f525c49267
feat: iframe增加智能体选择
2026-06-16 13:06:36 +08:00
吉鑫升 and Claude Opus 4.8
838e986670
feat: 导航菜单新增岗位管理与提示词模板入口
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 11:14:47 +08:00
吉鑫升
fa70b31873
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/input-box.tsx
# offline-backend-20260512/backend/CLAUDE.md
2026-06-16 11:07:31 +08:00
吉鑫升 and Claude Opus 4.8
3855c30edd
feat: 新增岗位管理、提示词模板与资源标签,完善用户提示词与推荐问题接口
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 10:49:36 +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
fengxiangdebaozi
e1da39253a
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-16 10:06:14 +08:00
fengxiangdebaozi
6b49741e69
代码修改
2026-06-16 10:05:54 +08:00
吉鑫升 and Claude Fable 5
2f414c6e08
fix: HTML 预览子页面改用 JS 切换,避免沙箱 blob 导航被拦截
...
上一版通过设置 location.hash 触发 CSS :target 切页,但沙箱 blob
iframe 禁止导航到自身 blob URL,浏览器报 Not allowed to load local
resource,且 :target 仅在真实片段导航时更新,注定失效。改为完全
不动 hash,用 JS 模拟 html-multipage 技能的 .page/.pages 显示隐藏
(内联 display 覆盖类级 CSS),普通目录锚点仍平滑滚动。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-16 09:19:15 +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
fengxiangdebaozi
db50493577
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-15 18:20:39 +08:00
fengxiangdebaozi and Claude Opus 4.8
3907034a1d
feat(roundtable): 第二步席位执行模式(快速/思考/专业问答/多智能体)+ 子智能体任务卡片 + 后台完成跨页通知 + 链条默认模式持久化
...
- 席位执行模式:选择参会智能体弹窗加模式选择器,映射 thinking/reasoning/subagent
透传 recommend/chain/dag 三条编排;后端 _special_run 覆盖 seat policy(仅席位,
总控不变);ultra 解锁席位 task 子代理(custom 流回传 task_running 实时进度)。
- 子智能体任务卡片:复用主聊天 SubtaskCard + SubtaskContext,从席位流解析 task
调用/结果,在 Step2 气泡渲染多张任务卡片(覆盖业务链条路径)。
- 后台挂起也按所选模式跑(StartParams→inprocess gateway→run_seat 覆盖 policy)。
- 后台作业完成全工作区跨页通知:RoundtableJobNotifier 挂在 PageLayout 常驻层,
作业终态弹「达成共识」同款浮窗。
- 业务链条可配「默认执行模式」并持久化(roundtable_chains.seat_mode;选链时弹窗
默认用它,仍可临时改)。
- 修复后台 Step3 HTML 看板概率截断:deepseek max_tokens=4096 单轮写不完长 HTML,
产物自愈重试上限 2→5,让 append 续写写完整(同惠及 summary/dashboard)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 18:20:20 +08: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
董宏凯 and Claude Haiku 4.5
01012ff300
feat(settings): 轻应用登录参数与界面模式管理员默认
...
- 登录时从路由参数 yUserId/access_token 获取并存入 userInfo
- 轻应用管理页路由参数新增 userName/gateDepartName/typeName 选项
- 添加系统默认界面模式设置(管理员可指定全量/简洁)
- useLayoutMode hook 支持优先级:用户自选 > 管理员默认 > 会话级
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-06-15 11:39:02 +08:00
fengxiangdebaozi and Claude Opus 4.8
2a2bb4d28e
fix(sandbox): 修复 Markdown 编辑保存后内容被重置回原值
...
useArtifactContent 查询键含 publicShareCode(5 元素),而 onSuccess
的 setQueryData 仅用 4 元素,精确哈希不匹配导致写入幽灵缓存、真实缓存
仍为旧值;保存后 useEffect 据旧 content 重置 draftContent。改用
setQueriesData 前缀匹配命中真实缓存。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 11:37:24 +08:00
fengxiangdebaozi
ce04f14f58
Merge branch 'origin/dhk-1' into dhk-1
...
Resolve CLAUDE.md conflict by keeping remote version.
2026-06-15 11:13:42 +08:00
fengxiangdebaozi
16b36e2b9f
代码修改
2026-06-15 11:02:33 +08:00
董宏凯
c597941128
Merge branch 'dhk-1' into 'master'
...
fix(roundtable): 查看编排流程图按钮直接进入基本信息步骤
See merge request knowledge-base-bj/deerflow-server!120
2026-06-14 14:29:41 +00:00
董宏凯 and Cursor
ab22b50faf
fix(roundtable): 查看编排流程图按钮直接进入基本信息步骤
...
移除弹窗预览,改为跳转到第二步以便同时编辑基本信息并查看流程图。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 19:37:22 +08:00
董宏凯
7785091bae
Merge branch 'dhk-1' into 'master'
...
feat(圆桌): 业务链条配置页流程图点阵放大 + 侧边栏菜单项按设计稿还原
See merge request knowledge-base-bj/deerflow-server!119
2026-06-14 11:31:50 +00:00
董宏凯
56449ed129
feat(ui): theme & layout improvements
...
- Dark-blue theme background assets and styling integration
- Appearance settings with layoutMode (full/compact) preference
- Settings dialog and auth context updates
- AI writing form and panel refinements
- Open Canvas context updates
- Roundtable planning styling and dashboard enhancements
- Strategy components and header updates
- Light app management and routing improvements
- Global style enhancements for dark theme
- Various page layout and workspace routing optimizations
2026-06-14 19:30:54 +08:00
董宏凯
da2864f422
fix(chat): align compactChrome logic with layoutMode preference for dark-blue bg
...
ChatPage's compactChrome was still using readSidebarEnabled() alone, but
PageRoutes now honors the explicit layoutMode setting (full/compact). When a
user sets layout to 'full' without portal login, PageRoutes shows chrome but
ChatPage didn't apply workspace-chat-bg, hiding the dark-blue theme background.
Now ChatPage mirrors PageRoutes' logic: prioritize layoutMode, fallback to
readSidebarEnabled() if unset.
2026-06-14 19:30:04 +08:00
董宏凯 and Cursor
c702119e66
feat(ui): 浅蓝主题、外观设置与圆桌看板主题适配,优化工作区布局
...
新增 lightblue 主题与外观设置联动,圆桌 Step3 看板/report 统一配色;工作区侧边栏、输入框与轻应用 iframe 主题参数同步更新。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 12:43:16 +08:00
董宏凯
30d4f9667b
样式修改
2026-06-13 20:43:18 +08:00
董宏凯 and Claude Opus 4.8
cd3a71baab
feat(agents): 内置智能体筛选(仅管理员)+ 内置 agent 默认用途标签
...
- 后端 scope=builtin(user_id IS NULL)加入 sql/memory 的 scope 过滤;
/api/agents 扩展 scope 正则并加 admin 闸门(非管理员请求 403)
- 新增 _builtin_agent_tag_seed:启动时幂等给功能型内置 agent 按用途打标签
(roundtable-* → 多智能体规划,ai-writing-* → AI写作),只追加不覆盖;
无用途的内置 agent 不打标签
- 前端 agent-gallery 新增「内置智能体」Tab(仅 system_role==admin 可见),
scope 类型在 api.ts/hooks.ts 同步
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 20:42:26 +08:00
董宏凯 and Claude Opus 4.8
391409b6c0
feat(圆桌): 查看运行中作业改为接管回前端续跑 + 后台挂起续跑方案文档
...
- onView 运行中/待澄清作业改走 takeOverRunningJob:cancelJob 停后端 →
handleLoadDraft 恢复作业真实线程/协调名/对话 → 解除只读闸门 →
resumeLiveTakeover 在作业线程上由前端继续实时流式编排
- hydrateFromDraft 同步写 threadIdsRef/coordinatorNameRef,使接管同帧可读真实线程
- 新增 docs/multi-agent-后台挂起续跑实现方案.md(仅方案,待实现)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 18:49:19 +08:00
董宏凯 and Claude Opus 4.8
25dbeb7a9a
feat(圆桌): 业务链条配置页流程图点阵放大 + 侧边栏菜单项按设计稿还原
...
- ChainFlowDiagram 点阵背景点尺寸/不透明度上调,更接近设计稿颗粒感
- 全局侧边栏菜单项:锐利方角(2px)、选中整高左竖条、图标 hover 微放大、间距微调;保留原菜单内容与红/青配色
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 18:41:50 +08:00
董宏凯
12360c6f3f
Merge branch 'dhk-1' into 'master'
...
轻应用主题参数:随当前主题色映射传值
See merge request knowledge-base-bj/deerflow-server!118
2026-06-13 10:01:30 +00:00
董宏凯 and Claude Opus 4.8
61754acb87
feat(圆桌): 后台挂起按钮移至顶部暂停按钮右侧 + 实时研讨复位历史闸门
...
- Step2 顶部「暂停/恢复会商」右侧新增「后台挂起」按钮(查看历史时隐藏),移除底部干预栏里的旧入口
- handleConfirmAgents 从第一步开启实时研讨时复位 loadedFromDraftRef,修复看过历史后再开新讨论按钮不出现的问题
- 大屏 dashboard 多组件样式与业务链条编辑页细节调整
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 17:37:14 +08:00
董宏凯 and Claude Opus 4.8
634cb1413b
feat(圆桌): 业务链条配置页按设计稿还原
...
统计卡 + 筛选工具栏(我的/公共/搜索/排序/网格列表) + 富链条卡(流程脉络图),
数据来自 /api/roundtable-chains 按用户隔离;品牌主色 #CF1322,深蓝模式按规范取色。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 16:32:40 +08:00
董宏凯 and Claude Opus 4.8
2fa40c5e96
feat(圆桌): 大屏多页席位多样式+新窗口React页+布局优化+切历史记录刷新
...
- 新窗口打开改为渲染应用内 React 大屏(独立全屏路由 /roundtable-dashboard,
经 localStorage 传数据,无侧边栏),替代原自包含 HTML blob
- 总览页布局:上半两列(总控共识+竞争力排行),核心风险分布下移到数据研判中心后
- 席位交付/执行路线网格列数自适应(grid.ts):不足4个卡片撑满整行
- 席位专页主体多样式变体(SeatShowcase):框架矩阵/洞察卡阵/双栏对比/清单核对/
发布声明,按席位序号轮转分配,总结席位固定发布声明,全部数据驱动
- 修复切换历史记录时大屏/报告不刷新:渲染期复位入口闸门+hydrate依赖草稿id,
hydrateSaved清残留data;数据切换时大屏自动回总览页
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 16:32:32 +08:00
董宏凯
432c12fbac
@
...
feat(圆桌): Step3 大屏多页模板重构 + 独立 dashboard 组件化
- 新增 roundtable-planning/dashboard 模块化大屏(DashboardApp + 各分析卡片
组件 + data-context + 类型/样式)
- Step3DashboardMode 接入新 dashboard,report-template 大屏 HTML 模板重写
- useStep3Dashboard 配套调整
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-06-13 15:32:49 +08:00
董宏凯
146c8e76f0
@
...
feat(圆桌): 业务链条显示配置人 + 配置页拆两步并新增精美流程图
- 列表/弹窗卡片显示「配置人」(后端把 owner user_id 解析为 email,
ChainResponse 增 owner_id/owner_name,store 输出 owner_id)
- 配置编辑器拆为两步:第一步基本信息(描述改多行文本),第二步链条编排
- 第一步有编排内容时,左侧基本信息 + 右侧 ChainFlowDiagram 流程图:
直角连线、点节点开详情抽屉、连线显示阶段目标(依赖)、滚轮缩放、
拖动平移、全屏 + 全屏右下角缩略图
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-06-13 15:32:37 +08:00
董宏凯
e9f44c8f0f
@
...
feat(圆桌): 大屏多页浅色模板重写为蓝图工程图风(参考设计图)
- 浅色 palette 改玫瑰红(#E11D48)+slate 中性+白底网格,席位色序对齐设计图
- 卡片四角红色角标 + slate 网格 overlay(蓝图风);KPI 加彩色图标
- 共识竖条摘要 + 要点列表;席位卡进度条 + 风险药丸;席位专页精致化
- 新增折线图 svgLine(趋势),donut 升级镂空中心数字+图例;契约加 line 类型
- 图表保持纯 SVG(零依赖离线自包含,沙箱/新窗口/下载/分享通用,与参考源码一致)
- 深色保持深蓝 token 套同结构
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
@
2026-06-13 10:51:10 +08:00
董宏凯
f3202f95b6
Merge remote-tracking branch 'origin/dhk-1' into dhk-1
2026-06-13 10:37:16 +08:00
董宏凯
d5f319d9cb
@
...
feat(圆桌): Step3 三产物并行 + 大屏多页模式 + 后台挂起查看恢复流程
后台挂起 Step3:
- engine 总结报告/结果绘制/大屏数据 asyncio.gather 三流并行,故障隔离
- request.state 回归修复(进程内虚拟 request 补 state),恢复后台报告
- ROUNDTABLE_JOB_GATEWAY 默认 inprocess;产物自愈重试(截断/缺失纠偏)
- 大屏后端只产 report-json(dashboardJson),前端按当前主题渲染
结果绘制大屏多页模式(模式二):
- report-template 模板渲染(report-json→大屏HTML),零截断、主题跟随
- 与模式一同款交互(流式+沙箱+可修改);沙箱新窗口打开按钮
最终方案展示:左侧席位栏+总控头像、交付/文件合并、收展动画、内联沙箱
后台挂起查看=恢复实时流程:
- handleLoadDraft 返回 Promise,await hydrate 后订阅 streamJob SSE 跟随
- saveDraftNow 强制存(发起前+查看前各一次)防丢
第二步优化:总控判断串/并行(并行单列可写)、席位上下文+交付模板、
peerDeliveries、失败重试、共识标记、流程图小窗(缩放/拖动/并行批)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
@
2026-06-13 10:36:46 +08:00
fengxiangdebaozi and Claude Opus 4.8
74324f4585
轻应用主题参数:随当前主题色映射传值
...
- 主题参数改为按系统主题(red/dark-blue)映射取目标应用对应的值
- 应用管理弹窗用结构化映射编辑器(逐主题色配置目标值,默认同名)
- iframe 嵌套显式传入当前主题色,切主题时 src 重建
- 读取/保存时规范化映射串;解析支持 light/dark 等别名,取不到回退主题色名而非恒为 red
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 22:30:31 +08:00
吉鑫升 and Claude Fable 5
21e53310f8
fix: HTML 预览锚点点击同步 hash,修复多页面技能子页面切换失效
...
预览 iframe 注入的锚点拦截脚本只 preventDefault + scrollIntoView,
URL hash 从未改变,html-multipage 技能基于 CSS :target 的子页面
切换永远不命中,子页面 section 保持隐藏,点击无效。改为拦截后
同步 location.hash 触发 :target 切页,仅当目标元素已渲染时再平滑滚动。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 21:49:32 +08:00
董宏凯
a7596001c5
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 21:46:05 +08:00
董宏凯
93243298e1
代码修改
2026-06-12 21:45:55 +08:00
fengxiangdebaozi
ca098e821f
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 21:39:48 +08:00
fengxiangdebaozi
00d6bd8595
主题色修改
2026-06-12 21:38:38 +08:00
董宏凯
f0c85c4795
后台挂起功能修改
2026-06-12 21:38:20 +08:00
吉鑫升 and Claude Opus 4.8
74113b3e6e
feat: 智能体与技能列表显示创建时间字段
...
- 新增共享 formatDateTime 工具(YYYY-MM-DD HH:mm)
- agent-card 卡片/列表视图在发布者下方显示创建时间
- skill 设置页 metaNodes 显示创建时间
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 21:20:33 +08:00
董宏凯
cca954d01c
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 20:29:03 +08:00
吉鑫升
d825cc7cfe
Merge branch 'ji'
2026-06-12 20:28:27 +08:00
董宏凯
ffca4261d7
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 20:27:39 +08:00
董宏凯
865a0bfaf6
代码修改
2026-06-12 20:27:34 +08:00
吉鑫升 and Claude Opus 4.8
595da9f339
fix: 私密广场首次加载默认 page=1,使搜索/标签过滤生效
...
私密广场标签页传 page: pages.private,初始为 undefined,被 JSON.stringify 丢弃后后端走非分页分支忽略 search/tag_ids。补上 ?? 1 兜底,与主标签页一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 20:27:29 +08:00
吉鑫升 and Claude Opus 4.8
44b4a4beba
feat: 注册知识入库接口 + 优化大规模知识图谱力导向布局
...
- 后端 Gateway 挂载 /api/knowledge-ingest 路由(发布 md 制品)
- 知识图谱力模拟按节点规模缩放斥力/截断距离/冷却速率,避免数百节点时布局长时间不收敛
- 斥力与碰撞改为基于均匀网格的近邻对计算,并增加每帧最大位移限制防止抖动与飞出
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 20:14:22 +08:00
董宏凯
c66c359432
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!117
2026-06-12 11:33:18 +00:00
fengxiangdebaozi
1214ea0d91
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 19:30:56 +08:00
fengxiangdebaozi
cfa05e01c4
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 19:30:46 +08:00
Administrator
6a71272b79
Merge remote-tracking branch 'origin/master' into ji
2026-06-12 18:48:20 +08:00
Administrator
b9b55b4e5b
fix: 调整提问导航悬浮索引到右侧居中
2026-06-12 18:48:18 +08:00
董宏凯 and Cursor
3f2aef2925
Merge remote-tracking branch 'origin/dhk-1' into dhk-1,保留本地应用中心菜单配置。
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 18:48:11 +08:00
fengxiangdebaozi
7a8a29639f
代码修改
2026-06-12 18:45:04 +08:00
董宏凯 and Cursor
becfd9b211
Merge branch 'origin/dhk-1' into dhk-1,解决 sidebar-menu 冲突并保留应用中心菜单。
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 18:38:53 +08:00
fengxiangdebaozi
c6b17d5946
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 18:34:14 +08:00
fengxiangdebaozi
e24e058ab2
代码修改
2026-06-12 18:32:58 +08:00
Administrator
e74ef4b7dc
Merge branch 'ji' into master
2026-06-12 18:28:13 +08:00
董宏凯
c2f6d4fd6f
Merge branch 'dhk-1' into 'master'
...
AI 写作四阶段内置智能体 Phase 1-4 落地
See merge request knowledge-base-bj/deerflow-server!116
2026-06-12 10:20:27 +00:00
Administrator
2862eee33b
chore: 提交本地修改
2026-06-12 18:09:07 +08:00
fengxiangdebaozi
3ad920457a
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 17:54:10 +08:00
fengxiangdebaozi
768c6860f5
feat: Header 顶部二三级菜单与 AI 写作表单收起优化
2026-06-12 17:53:52 +08:00
董宏凯 and Cursor
369efc784b
应用管理页样式对齐参考设计,修复参数明细弹层被裁切问题。
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 17:50:56 +08:00
xu hd
522327d807
Merge branch 'xuhd' into 'master'
...
feat(studio): 上传组件用我的笔记 token + 关闭上传弹窗刷新来源列表
See merge request knowledge-base-bj/deerflow-server!115
2026-06-12 09:38:20 +00:00
xuhd
915233c5b6
Merge remote-tracking branch 'origin/master' into xuhd
2026-06-12 17:24:13 +08:00
吉鑫升 and Claude Opus 4.8
229830ee89
feat: 智能体 md 产物一键发布到外部知识入库接口
...
- 智能体新增「入库模板名」(template_name) 配置,持久化到 config.yaml
并经 AgentCreate/Update/Response 回读(NewAgentPage / AgentDetailPanel)
- 新增 POST /api/knowledge-ingest/publish:把 md 标题+全文发到 knowes,
标题字段先「名称」失败再用同一 nodeName 换「标题」重试一次
- md 产物预览右上角新增「发布入库」按钮(仅智能体会话且配置了模板名时显示)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 16:38:04 +08:00
董宏凯 and Cursor
dd329e7a4f
圆桌第二步支持按席位筛选会商记录,左侧角色卡与消息头像联动。
...
新增 seat-filter 归一化匹配逻辑,点击角色卡或气泡头像可只看该席位发言,并支持一键显示全部。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 16:36:58 +08:00
g zy
da56a53a9c
Merge branch 'gzy' into 'master'
...
Gzy
See merge request knowledge-base-bj/deerflow-server!114
2026-06-12 08:33:39 +00:00
ZyGuo
3f014a6fe1
feat: chats_iframe去掉侧边栏和主题
2026-06-12 16:32:28 +08:00
吉鑫升 and Claude Fable 5
d9d5780ea7
feat: 提问导航悬浮索引 + 知识库召回会话级开关 + 智能体技能白名单收紧
...
- 新增 QuestionNavigator:聊天/智能体页右侧悬浮提问索引,点击滚动定位到对应消息(message-list 为 human 消息生成锚点 id)
- 知识库召回开关从单会话头部按钮迁移到侧边栏,改为会话级内存开关(刷新重置,不再写 localStorage),开启时所有对话默认携带 knowledge_rag_enabled
- 智能体可配置技能收紧为「内置 + 自己的 + 已发布到广场的」(新增 core/skills/utils.ts 的 isAgentSkillCandidate,NewAgentPage 与 agent-detail-panel 共用)
- 智能体详情面板在 artifact 预览展开/新文件生成时自动收起让位
- 启用 html-multipage 技能并更新后端 CLAUDE.md 文档
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 16:10:00 +08:00
董宏凯
9002ae157a
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 15:48:53 +08:00
董宏凯
f279613f5d
代码提交
2026-06-12 15:48:48 +08:00
董宏凯 and Cursor
b58e731c19
圆桌会商各步接入流式回答速度指示器,复用主聊天 SpeedPill 与全局开关。
...
新增 DialogueSpeedMeter 与 useDialogueSpeedMetrics,在 Step1/2/3 气泡底部展示 tok/s 与耗时。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-12 15:43:58 +08:00
fengxiangdebaozi
9d73f27146
feat: light app center and iframe refactor
2026-06-12 15:40:09 +08:00
吉鑫升 and Claude Fable 5
81f2a48c6d
feat: 公开嵌入页主题支持外部指定 + 排行榜入口移至左上角
...
- 公开页(/share、/public、/roundtable-share)新增 ?theme= 与
deerflow:set-theme postMessage 两种外部主题指定方式,经
usePublicEmbedTheme 接成 next-themes forcedTheme,不写 localStorage
- 排行榜入口从欢迎语旁移到 workspace-header 左上角应用名旁
- 新增 docs/embed-public-pages-theme.md 嵌入主题使用文档
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 15:12:17 +08:00
吉鑫升 and Claude Fable 5
57a87d6322
feat: MySQL 索引长度兼容 + 启动自动补列 + 未发布徽标与查询加载态
...
后端:
- 索引/唯一键改用 mysql_length 前缀索引,适配 MySQL 767 字节限制(error 1071):knowledge_notes、knowledge_entities、knowledge_graph_blacklist、agent_skills、feedback
- engine.py 新增 _ensure_orm_columns_sync:启动时对比 ORM 元数据,自动 ALTER TABLE 补齐缺失的可空/带默认值列及其索引
- 新增 scripts/audit_index_key_lengths.py 审计全部索引键长度
- 更新 backend/CLAUDE.md 迁移说明
前端:
- 智能体卡片/技能列表:所有者与管理员可见未发布徽标
- 智能体广场:服务端查询进行中时灰显旧结果并悬浮加载提示
- 排行榜入口从 Header 移到欢迎语旁
- threads/hooks.ts:抽取 updateCachedThreadLists 统一处理数组与分页两种缓存形态
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 14:51:50 +08:00
董宏凯
728a4b1170
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 14:10:08 +08:00
董宏凯
9de85591bc
提交
2026-06-12 14:09:12 +08:00
董宏凯 and Claude Fable 5
086c280e5d
圆桌第三步流程图模式 + 后台 DAG 任务编排
...
- 方案总结报告:用户要求结构化输出/流程图时跳过 md 直出 flow-json 流程图,
报告用文字展示;报告与流程图均可多轮修改、互相切换(detectFlowIntent 识别意图)
- 流程图画布放右侧沙箱位(sidePanel 插槽)不覆盖消息列表,可与 md 预览切换;
节点随容器宽度自适应缩放并 fitView 居中
- 后台挂起支持真 DAG 编排(分层并行/阶段目标/总控提示词),新增
orchestration_plan 持久化列 + 迁移;大弹窗流程图按 DAG 分层渲染
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 13:52:17 +08:00
Administrator and Claude Opus 4.8
da677f87d5
feat: 公开页背景色支持 iframe 外部配置 + CM助手旁排行榜入口
...
- 新增 usePublicBackground:公开页(排行榜/分享/会商分享/计划任务)支持
嵌套方通过 ?bg=/?text= 查询参数或 postMessage 覆盖背景/文字色
- Header 左上角 CM助手 旁新增「排行榜」按钮,新标签打开公开排行榜页
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 12:21:25 +08:00
吉鑫升 and Claude Fable 5
28098b3155
feat: 知识库实体筛选、技能白名单收紧、嵌入主题与提问组件优化
...
- 知识库笔记列表支持按实体精确筛选(路由/服务/仓储层透传,关系图索引查询)
- 自定义智能体技能白名单在 skill_view 与 skill_manage 的 list/view 别名上同样生效;
config 未声明 skills 时视为无可见技能
- 嵌入圆桌主题解析默认深蓝,强制主题期间不再写 localStorage 覆盖主站选择
- 智能体提问建议拆出 agent-question-chips 组件,编辑器与详情面板联动优化
- 新增 qa-client 问答测试脚本
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 11:09:32 +08:00
xuhd and Claude Opus 4.8
c268348e29
feat(studio): 上传组件用我的笔记 token + 关闭上传弹窗刷新来源列表
...
- document-upload-popup: 新增 getNotebookToken(),上传/导入到笔记后端
(source/import、documents/fileupload)改用「我的笔记」token;
其余请求由调用方在 init.headers 自带 Authorization,不再注入本系统 token
- query-client-provider: 导出 queryClient 单例,便于非 hook 处读取缓存的 token
- network-actor: consumerUrl 改为读 VITE_AIPI_CONSUMER_URL;修复 source/import
headers 语法并去掉重复 token
- StudioNotebookDetailPage: DocumentUploadDialogProvider 增加 onClose,
关闭上传弹窗时刷新来源列表与 source_count
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-12 10:14:49 +08:00
fengxiangdebaozi
b33426416b
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-12 09:19:47 +08:00
fengxiangdebaozi
cf3dd2d225
代码修改
2026-06-12 09:19:38 +08:00
吉鑫升
11bc442f10
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-12 09:19:23 +08:00
ZyGuo
41ce95cbf1
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-12 09:07:23 +08:00
董宏凯
75258db0a2
提交
2026-06-12 00:38:17 +08:00
董宏凯 and Claude Fable 5
df8bf895ef
圆桌第三步与业务链条增强:主题跟随/插话暂停/提示词优化/结构化流程图
...
- 结果绘制跟随日/夜间主题(深色按深蓝 UI 规范令牌绘制),提示词注入真实生成时间
- 绘制支持暂停与随时插话(线程存活时免带原料续线程省 token)、失败自动重试一次、草稿主题不匹配提示条
- 总结报告优先执行用户最终总结要求(结构化输出/重点席位可整体替换默认章节)
- 业务链条总控提示词与各阶段目标加「AI 优化」按钮(新接口 POST /api/roundtable-chains/optimize-prompt)
- 总结报告 flow-json 结构化流程图:流式增量绘制、最新连线蚂蚁线动画、拖拽/缩放/复位/全屏、节点详情弹窗、沙箱切换按钮/无沙箱自动打开
- roundtable-report / roundtable-summary 两个内置智能体 SOUL 更新(双主题、多轮修改允许读底稿、KPI 估算标注、流程数据契约)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 00:37:45 +08:00
Administrator
1b86373a54
feat: 知识库标签/实体关联跳转 + 会话重连容错
...
前端:
- Wiki 标签与实体改为可点击,弹出 RelatedNotesDialog 查看关联知识
- 知识库首次进入自动打开最近笔记,避免空白阅读区
- 流式重连识别 "Run not found",清理 sessionStorage 残留 key 并静默回退历史
后端:
- 线程鉴权区分 not found / not accessible,并支持 DB 切换产生的孤儿线程认领
- run 查询/join 在内存未命中时回退持久化存储,重启后返回干净的终止 SSE 而非 404
2026-06-11 23:19:09 +08:00
董宏凯 and Cursor
a4a9a4d26e
AI 写作四阶段内置智能体 Phase 1-4 落地
...
新增 ai-writing-researcher/outliner/writer/editor 种子 agent、_agent_runner 与 use_builtin_agents 灰度开关;四节点可按 flag 切换 SOUL 模式;时间线补大纲规划师配色并更新改造文档。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 22:58:38 +08:00
董宏凯
1a41ac97d2
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-11 22:09:40 +08:00
董宏凯
55aab67383
需求梳理
2026-06-11 22:09:35 +08:00
fengxiangdebaozi
76e2e67af8
Merge branch 'dhk-1' into master
2026-06-11 21:52:39 +08:00
fengxiangdebaozi
b682ff5d08
Step3 总结报告支持随时插话、暂停与附件上传
...
生成中可打断并续问,输入框支持上传参考文件并随消息注入总结线程。
2026-06-11 21:51:59 +08:00
fengxiangdebaozi
2d74f8883e
Step3 总结报告与顶栏主题背景图
...
新增 roundtable-summary 智能体及前后端 Step3 Markdown 总结流程;顶栏在浅/深主题下分别使用红/深蓝横幅背景。
2026-06-11 21:51:59 +08:00
吉鑫升 and Claude Fable 5
e7b51a30a3
fix: 智能体可见性对齐——列表可见即可打开问答,消除 404
...
get_visible 此前比列表过滤更严格(仅 内置/本人/已发布),导致私密广场
智能体(转私密强制 published=false)和「我的」里已收藏但被取消发布的
智能体能在列表看到、点开问答却 404(前端连带报 X.map is not a function)。
- AgentRepository._visible_filter / MemoryAgentStore._is_fetchable:
单条读取放宽为所有列表口径的并集(+is_private 豁免、+本人收藏豁免)
- 详情接口与 _enforce_agent_access 运行门禁:管理员回退 get_any,
对齐 ?admin=true 全量列表
- 普通未发布草稿对陌生人仍不可见,隐私不放开
- 本地新增 tests/test_agent_visibility.py 覆盖 SQL/Memory 双实现
(tests/ 目录在本仓库被 gitignore,不随提交)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 21:25:36 +08:00
吉鑫升
0b98d18483
Merge remote-tracking branch 'origin/master' into ji
2026-06-11 20:28:15 +08:00
吉鑫升 and Claude Fable 5
3d6f35391e
feat: 对话列表显示总数,SOUL 编辑区高度自适应收敛
...
- 新增 POST /threads/count:与 /threads/search 同一套过滤(标题搜索、
系统会话排除),仅返回 {total};ThreadMetaStore 增加 count 方法
(SQL 走 COUNT(*),JSON 过滤分批扫描计数)
- 对话页面搜索框下常驻显示「共 N 条对话」,分页条显示 当前页/总页数
(useThreadsCount,仅随筛选条件变化,翻页不重复请求)
- 智能体右侧 SOUL 预览改为 40vh 上限自适应展开(不再全部展开);
详情面板/卡片编辑/创建页的 SOUL 输入框统一为适中高度 + 可拖拽
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 20:26:44 +08:00
吉鑫升
10047de745
Merge remote-tracking branch 'origin/master'
2026-06-11 20:00:26 +08:00
吉鑫升
82600a3404
Merge branch 'ji'
2026-06-11 19:59:58 +08:00
董宏凯
b73eb77b95
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!113
2026-06-11 11:59:48 +00:00
董宏凯
1fca24765a
代码修改
2026-06-11 19:59:23 +08:00
吉鑫升 and Claude Opus 4.8
f107ebc46d
feat: 完善知识图谱交互与 Agent/线程持久化
...
- 知识图谱画布、侧边栏、详情面板交互优化,新增图谱相关 API 与 hooks
- Agent 卡片与详情面板调整,对话页面重构
- 线程元数据持久化增强(base/memory/sql),knowledge 仓储与导出补充
- 网关路由 agents/knowledge/threads 同步更新
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 19:58:34 +08:00
吉鑫升
f2ffae8a22
Merge remote-tracking branch 'origin/master' into master
2026-06-11 18:59:15 +08:00
吉鑫升 and Claude Opus 4.8
ea78fe9726
fix(checkpointer): use_postgres 回退为 false 恢复本地 SQLite 聊天历史
...
- 发版 40206dc9 将 checkpointer 切到空的远程 Postgres 导致历史不可见,
且迁移/dual-read 未生效;翻回 SQLite 恢复历史
- config.yaml(backend): 注释掉暂不使用的模型条目
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 18:58:28 +08:00
吉鑫升 and Claude Opus 4.8
7d61bc09bc
feat: 新增表格文件预览,优化知识图谱与 Agent 详情交互
...
- 新增 spreadsheet-preview 组件及 xlsx 解析工具,支持产物中的表格文件预览
- 优化知识图谱画布、详情面板及样式
- 调整 Agent 详情面板、聊天与消息列表交互
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 17:43:09 +08:00
董宏凯
b1231fd981
Merge branch 'dhk-1' into 'master'
...
wujie应用联调
See merge request knowledge-base-bj/deerflow-server!112
2026-06-11 09:41:04 +00:00
董宏凯 and Cursor
bcc3d617a0
Merge branch 'ji' into dhk-1
...
Resolve column_additions_mysql.sql conflict: keep square_id columns from master and roundtable_drafts.task_id from dhk-1.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-11 17:40:08 +08:00
fengxiangdebaozi
6890176c76
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-11 17:38:43 +08:00
fengxiangdebaozi
d12c50ea4e
样式修改
2026-06-11 17:38:36 +08:00
董宏凯
31525e79a8
套用wujie修改
2026-06-11 17:36:20 +08:00
董宏凯
c48317672c
样式修改
2026-06-11 17:21:24 +08:00
董宏凯
f3ca996116
wujie应用联调
2026-06-11 17:11:28 +08:00
吉鑫升
5daa4b3e20
Merge remote-tracking branch 'origin/master' into ji
2026-06-11 16:39:30 +08:00
吉鑫升
80e84de868
Merge remote-tracking branch 'origin/hlh' into ji
2026-06-11 16:35:18 +08:00
吉鑫升
7efd811e75
feat: update knowledge and agent UI
2026-06-11 16:18:38 +08:00
xu hd
5e68f81a1f
Merge branch 'xuhd' into 'master'
...
chore(env): 添加我的笔记相关环境变量配置
See merge request knowledge-base-bj/deerflow-server!111
2026-06-11 08:05:17 +00:00
吉鑫升 and Claude Fable 5
bebe4feccf
chore(leaderboard): 用户排行榜当天快照刷新间隔默认调整为半天
...
ADMIN_LEADERBOARD_TODAY_TTL_SECONDS 默认值 300s -> 43200s,
当天数据约每半天重算一次;调度器 tick、凌晨定稿与手动“刷新当天”不变。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 14:57:27 +08:00
吉鑫升 and Claude Opus 4.8
e684de30bd
feat(knowledge): 知识库 wiki/知识图谱重构,新增发布广场选择弹窗
...
- 知识库页拆分出 wiki 组件(侧边栏/目录树/Markdown 阅读器等)
- 知识图谱页拆分出 knowledge-graph 组件并增强交互
- 新增发布广场选择弹窗 publish-square-picker-dialog
- config.yaml 新增 MiniMax-M2.5 / Ling-flash-2.0 / DeepSeek-V4-Pro 模型
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 14:52:25 +08:00
xuhd
bd0d922737
Merge branch 'xuhd' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-06-11 14:20:29 +08:00
xuhd
1668c1da87
Merge remote-tracking branch 'origin/master' into xuhd
...
# Conflicts:
# frontend-web/.env.production
# frontend-web/.env.sit
# frontend-web/package.json
# offline-backend-20260512/backend/config.yaml
2026-06-11 14:19:01 +08:00
xuhd and Claude Opus 4.8
95dec0e72e
fix(studio): 修复流式返回时空间引用角标渲染错乱
...
Streamdown 的 parseIncompleteMarkdown 会把流式途中未闭合的 [[cite:N
当作未完成链接改写成 [[cite:N](streamdown:incomplete-link),导致
rehypeCitations 匹配失败、引用闪成坏链接。送入渲染前剥除未完成的引用
标记,待 ]] 到齐再由 rehype 渲染为上标。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 14:11:21 +08:00
liuq_1233
5a33f66ad6
修改上传来源的文件类型提示
2026-06-11 11:58:52 +08:00
xuhd and Claude Opus 4.8
33276dae76
docs(knowledge): 经济交往时间线 markdown 排版规范化
...
在加粗事件标题后补空行,统一列表前的空白。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:45:47 +08:00
xuhd and Claude Opus 4.8
b0e48b6bda
refactor(studio): 文案“我的笔记/笔记本”统一改为“我的空间”
...
涉及空间详情页、AI 写作表单/上下文/类型、researcher 注释及 env 注释。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:45:35 +08:00
吉鑫升 and Claude Opus 4.8
f0aec4cd7f
feat(square): 新增发布广场功能,智能体/技能按广场分类展示
...
- 后端新增 PublishSquare/PublishSquaresSettings 配置与读写接口
- agents/skills 增加 square_id 字段及对应迁移脚本
- 前端新增发布广场设置页、技能转移选择器,画廊按广场分 Tab 展示
- lead_agent prompt 及若干持久化层适配调整
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:37:42 +08:00
xuhd and Claude Opus 4.8
5ed636bce4
chore(frontend): env 注释中“笔记本”改为“空间”
...
统一前端各环境 env 文件注释文案,与界面命名保持一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:31:49 +08:00
xuhd and Claude Opus 4.8
fa6191b448
fix(studio): 移除来源卡片悬停 tooltip,失败来源显示报错并可删除
...
- 去掉来源卡片 hover 时弹出的自定义 tooltip div
- status 为 failed 的来源卡片显示红色报错图标与提示,禁用选中,保留删除按钮
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 11:30:52 +08:00
董宏凯
93ca273312
Merge branch 'tjl' into 'master'
...
tjl
See merge request knowledge-base-bj/deerflow-server!110
2026-06-11 03:21:02 +00:00
xuhd
82d14351fc
修改名称 笔记本改为 空间
2026-06-11 11:19:26 +08:00
吉鑫升 and Claude Opus 4.8
3845d5090b
feat(knowledge): 支持文件导入沉淀知识,知识图谱可视化随主题切换
...
- 后端新增 /api/knowledge/ingest/file:上传 md/txt/pdf/word/ppt/excel,
转 Markdown 后走 wiki-capture LLM 蒸馏为陈述式知识笔记,失败回退逐字草稿
- service.capture_file + 文档专用蒸馏提示词,按主题拆分 1~4 页
- 知识图谱导出 HTML 支持 ?theme=light|dark,布局稳定后冻结,
按度数缩放节点,悬停/点击聚焦邻居
- 前端知识库页新增「导入文件」对话框与 ingestKnowledgeFile API
- 智能体问答页与简介侧边栏 UI 优化;批量人物蒸馏脚本提取正文逻辑修正
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 10:25:27 +08:00
吉鑫升 and Claude Opus 4.8
17bb3715d1
feat(agents): 智能体问答页落地态展示常用问题入口并默认展开简介栏
...
- 落地页 Hero 以"Hi,我是{名称}"问候,将管理员配置的常用问题渲染为可点击的引导气泡,点击即发起对话
- 右侧智能体简介栏改为默认展开,作为主要"专家信息"卡片,仍可手动收起
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 09:52:27 +08:00
ZyGuo
f28426063f
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-11 09:46:10 +08:00
吉鑫升
6efe1b80c5
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-11 09:34:45 +08:00
吉鑫升 and Claude Opus 4.8
01696f75e9
新增批量人物蒸馏脚本,精简排行榜相关接口
...
- batch-distill: 独立单文件脚本,按时间窗调用线上服务批量蒸馏人物档案
- 精简 admin_users / public_leaderboard 路由及前端排行榜页面
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 09:34:34 +08:00
Administrator and Claude Opus 4.8
e97017b297
feat(agents): 智能体常用问题——侧边栏展示并一键提问
...
新增 common_questions(常用问题)字段:后端贯通 agents_config、
config.yaml 读写与 create/update API,前端 Agent 类型补充字段并在
AgentChatPage 新增 AgentInfoSidebar 组件展示常用问题,点击即填充并提交。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 08:34:39 +08:00
Administrator and Claude Opus 4.8
22222308a1
feat(summarization): 非破坏性上下文压缩——保留原始对话仅在请求时瞬态压缩
...
重写 DeerFlowSummarizationMiddleware:将 stock before_model 的
RemoveMessage(REMOVE_ALL_MESSAGES) 改为 no-op,改在 wrap_model_call 中
瞬态压缩为 [summary, *recent],完整原始对话仍保留在 state 中,前端继续
渲染用户真实问答。summary 消息标记 hide_from_ui 且永不持久化,按 thread
缓存以避免每次模型调用都触发 LLM。前端 isHiddenFromUIMessage 额外隐藏旧
版本持久化的 name="summary" 消息。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-11 08:34:28 +08:00
Administrator
7fb3870247
@
...
feat(summarization): 非破坏性上下文压缩——保留原始对话仅在请求时瞬态压缩
重写 DeerFlowSummarizationMiddleware:将 stock before_model 的
RemoveMessage(REMOVE_ALL_MESSAGES) 改为 no-op,改在 wrap_model_call 中
瞬态压缩为 [summary, *recent],完整原始对话仍保留在 state 中,前端继续
渲染用户真实问答。summary 消息标记 hide_from_ui 且永不持久化,按 thread
缓存以避免每次模型调用都触发 LLM。前端 isHiddenFromUIMessage 额外隐藏旧
版本持久化的 name="summary" 消息。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
@
2026-06-11 08:34:09 +08:00
董宏凯
c57696cf80
Merge branch 'dhk-1' into 'master'
...
接口地址修改
See merge request knowledge-base-bj/deerflow-server!109
2026-06-10 13:57:49 +00:00
董宏凯
0784f30e23
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 21:57:12 +08:00
董宏凯
9af93ecde6
接口地址修改
2026-06-10 21:57:04 +08:00
fengxiangdebaozi
d9e3a87911
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 19:39:06 +08:00
fengxiangdebaozi
f01789a17e
多智能体会商上传文件
2026-06-10 19:38:58 +08:00
董宏凯
688514eab6
Merge branch 'dhk-1' into 'master'
...
接口地址修改
See merge request knowledge-base-bj/deerflow-server!108
2026-06-10 11:25:24 +00:00
董宏凯
3d069179d6
接口地址修改
2026-06-10 19:24:58 +08:00
董宏凯
f90a6e7082
Merge branch 'dhk-1' into 'master'
...
code
See merge request knowledge-base-bj/deerflow-server!107
2026-06-10 11:14:40 +00:00
董宏凯
406c02ad07
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 19:08:50 +08:00
董宏凯
3bc824b462
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 19:08:39 +08:00
董宏凯
c705e0b5ae
样式修改
2026-06-10 19:08:32 +08:00
吉鑫升
3a04ba5726
Merge remote-tracking branch 'origin/master' into ji
2026-06-10 19:01:16 +08:00
董宏凯
60a6db8b47
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 第一步识别出的意图支持手动编辑并保存
See merge request knowledge-base-bj/deerflow-server!106
2026-06-10 10:59:29 +00:00
fengxiangdebaozi
cf5550ab0a
接口地址修改
2026-06-10 18:58:55 +08:00
董宏凯
19aeba5fab
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 17:44:51 +08:00
董宏凯
d9afd8d887
代码提交
2026-06-10 17:44:44 +08:00
hkdong
7422f083b4
tjl
2026-06-10 17:19:27 +08:00
xuhd
06508cfb7c
Merge remote-tracking branch 'origin/master' into xuhd
2026-06-10 17:15:51 +08:00
xuhd and Claude Opus 4.8
980d8ba44f
chore(deps): declare mermaid dependency
...
补上 b0fdeab9 引入 mermaid 图表渲染(roundtable 产物预览)时漏提交的
依赖声明,否则全新 pnpm install 后构建会因找不到 mermaid 失败。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 17:15:28 +08:00
吉鑫升 and Claude Opus 4.8
d658b05ee9
feat(skills): 安装成功后引导填写/AI生成中文名 + 生成超时提至60s
...
- 上传安装技能成功后,弹窗进入「设置中文名」步骤:用户可手动填写,或用所选大模型自动生成默认值,亦可跳过(回退英文名)
- 技能中文名生成超时由 30s 提高到 60s(思考模式构建时已关闭)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 17:14:42 +08:00
xuhd and Claude Opus 4.8
123fe36ee4
refactor(studio): rename 笔记本 to 空间 in workspace nav and notebook pages
...
统一术语:侧边栏「新建笔记本/所有笔记本」、笔记列表与笔记本管理页的
新建按钮与弹窗标题,全部由"笔记本"改为"空间"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 17:13:23 +08:00
xuhd and Claude Opus 4.8
4bf4b96fa9
feat(notebook): redesign ai-writing header to space-info-only glass pill
...
移除品牌"索财笔记"与右侧"这是我的笔记"标签,header 只保留空间信息;
空间徽章重做成玻璃胶囊(渐变图标徽标 + 已连接状态点),高度 44→52px,
顶部加品牌高光线与 hover 微光,延续索财深蓝品牌色阶。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 17:06:21 +08:00
fengxiangdebaozi
b8680275e5
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-10 17:01:25 +08:00
fengxiangdebaozi
e03ca7b4bd
代码修改
2026-06-10 17:01:17 +08:00
吉鑫升 and Claude Opus 4.8
3178b4c45e
fix(auth): CSRF/鉴权中间件兼容反向代理路径前缀 + 无会话请求豁免
...
清空浏览器缓存后(尤其 token 换登录)报「CSRF token missing」。根因:
反向代理把请求转发到带前缀的路径(如 /xxx/api/v1/auth/login/token),
FastAPI 用 root_path 剥前缀做路由,但 Starlette 中间件跑在路由之前,
看到的仍是带前缀的 path,导致 CSRF 豁免名单与公开路径白名单(精确/前缀
匹配)全部失配。清缓存前靠 localStorage 残留 token 当 Bearer 绕过 CSRF,
清掉后裸奔才暴露。
- 新增 proxy_path.app_relative_path:匹配前按 root_path / X-Forwarded-Prefix
剥掉代理前缀(无前缀时 no-op)。
- csrf_middleware:should_check_csrf / is_auth_endpoint 改用应用相对路径;
补上漏收的 /api/v1/auth/login/token 豁免;新增「无 access_token 会话
cookie 则跳过 CSRF」兜底(无会话请求不存在可被跨站伪造利用的会话)。
- auth_middleware:公开路径判断改用应用相对路径,避免 /xxx/api/public/*
分享页被误判 401。
- langgraph_auth:无 access_token cookie 时跳过 CSRF,与网关链路一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 15:51:01 +08:00
吉鑫升 and Claude Opus 4.8
413f92e270
fix(migrations): 合并 alembic 多头(skill_name_zh 与 chain-stages 分支)
...
20260609_01(skills.name_zh)直接挂在 20260608_01 之下,与
20260608_02..06(chain-stages/parallel-agent 分支)形成两个 head,导致
`alembic upgrade head` 报 Multiple head revisions。新增空 merge 版本
20260609_02 同时指向 20260608_06 与 20260609_01,使 head 归一。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 14:39:37 +08:00
董宏凯
bd426ed1d3
da
2026-06-10 12:51:13 +08:00
董宏凯
ca9960c8bc
代码修改
2026-06-10 12:51:05 +08:00
xuhd
6b9e1f3c2a
2222
2026-06-10 12:37:13 +08:00
xuhd
b8d3a549df
buggggg
2026-06-10 11:27:48 +08:00
吉鑫升 and Claude Opus 4.8
546dec67a1
fix(agents): 私有 tab 未解锁时隐藏搜索栏
...
私有广场只有在功能可用且校验过密码后才解锁;未解锁时展示门禁/解锁提示并
隐藏关键词/标签搜索栏(此时没有可筛选的列表)。TagSearchBar 按 tab key 重挂载,
切 tab 时内部关键词输入与展开状态随父级筛选一起重置。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:24:52 +08:00
吉鑫升 and Claude Opus 4.8
d61aa853f1
feat(admin): 用户排行榜每日快照——手动刷新当天 + 凌晨自动定稿前一天
...
- 新增 POST /api/admin/users/leaderboard/refresh-today:同步强制重建当天快照
并返回合并区间;前端 useRefreshTodayLeaderboard + AdminUserLeaderboardPage
「刷新当天」按钮
- Gateway 调度循环在每日 ADMIN_LEADERBOARD_FINALIZE_HOUR(默认凌晨1点)对前一天
强制重算一次,避免临近午夜落库的 runs/tool-calls 漏统计;判定逻辑下沉为纯函数
deerflow.persistence.admin_stats.finalize.should_finalize_previous_day
- 新增 scripts/sql/column_additions_mysql.sql:既有 MySQL 库手动补列的幂等脚本
(Alembic 自动迁移已禁用,create_all 不改既有表)
- CLAUDE.md 补充排行榜快照、Schema 迁移约定,并补齐技能/知识库选模型的文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:24:21 +08:00
吉鑫升 and Claude Opus 4.8
96e0d695c0
feat(skills,knowledge): 中文名补全与知识库沉淀支持可选大模型并明确大模型报错
...
技能中文名:
- 单个「AI 生成」与「一键补充中文名」均可在请求体 model_name 选择大模型
- 一键补充改为仅管理员开放
- _generate_skill_name_zh 在模型自身失败(构建/超时/API 报错)时抛
SkillNameZhModelError,与模型返回无效名称区分;单个接口返回
502「大模型报错,无法补全技能中文名」,批量在 model_error 中带回代表性报错
知识库沉淀:
- 对话保存到知识库 / 批量导入均新增可选 model_name(透传至 capture_thread
→ extract_thread_llm_multi)
- 批量返回 llm_fallback 计数;模型异常时仍按既有逻辑回退规则抽取并落草稿,
前端明确提示「已改用规则抽取」(保存按钮保持后台异步)
前端新增 components/workspace/model-name-select.tsx 复用下拉(默认=系统配置模型)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 11:23:01 +08:00
吉鑫升 and Claude Opus 4.8
8fbbfc8093
feat(frontend): 广场搜索体验优化与切换tab重置筛选
...
- 智能体广场:切换 我的/广场/私密广场 时清空重置搜索/标签/排序/发布者筛选
- 通用搜索栏(TagSearchBar):新增「搜索」按钮与回车立即触发(跳过防抖)、
搜索中转圈提示,新增 hideTags / searchPlaceholder 选项
- 定时任务广场:新增客户端搜索(名称/摘要/创建者,兼容脱敏文本)
- agents 分页 hook 暴露 isFetching 以驱动搜索中状态
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 09:37:39 +08:00
ZyGuo
853a349265
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-10 09:19:37 +08:00
ZyGuo
621d4c82af
chore: apik
2026-06-10 09:18:38 +08:00
Administrator
87e0ae683e
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# offline-backend-20260512/backend/app/gateway/app.py
# offline-backend-20260512/backend/config.yaml
# offline-backend-20260512/backend/packages/harness/deerflow/persistence/models/__init__.py
# offline-backend-20260512/backend/packages/harness/deerflow/runtime/checkpointer/async_provider.py
2026-06-10 09:09:26 +08:00
Administrator and Claude Opus 4.8
44c0f6189b
wip: 合并 master 前暂存本地改动
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 08:36:47 +08:00
董宏凯
64afa9a1ed
代码提交
2026-06-09 22:52:12 +08:00
Administrator and Claude Opus 4.8
1ce15fbb15
style(knowledge): 实体改回纯展示(不可点击),chip 精致化
...
按需求去掉点击筛选,实体为静态彩色 chip:色点 + 名称 + 胶囊型类型标签。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 20:34:59 +08:00
董宏凯
ace30af202
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-09 20:08:06 +08:00
董宏凯
559340143e
代码提交
2026-06-09 19:51:56 +08:00
董宏凯
ae29bb4ca8
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!105
2026-06-09 11:48:57 +00:00
Administrator and Claude Opus 4.8
f6af9379b7
feat(knowledge): 笔记页实体可点击筛选 + chip 美化
...
- 实体改为按钮:点击即在左侧列表筛出提及该实体的知识(清空来源/状态筛选)
- chip 加阴影/hover 上浮/类型 ring 标签/实体区 Sparkles 图标,更精致
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 19:48:20 +08:00
董宏凯
57e286b8ad
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-09 19:45:51 +08:00
fengxiangdebaozi
7acedfd385
代码修改
2026-06-09 19:41:48 +08:00
董宏凯
946799d19d
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-09 19:41:08 +08:00
董宏凯
7282a32859
提交代码
2026-06-09 19:41:01 +08:00
董宏凯
5080f1dc39
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!104
2026-06-09 09:19:14 +00:00
fengxiangdebaozi
cba165933c
提交代码
2026-06-09 17:18:40 +08:00
xuhd and Claude Opus 4.7
e54f42c0eb
fix(skill_manage): refuse agent writes to human-authored skills
...
Even after the previous owner check, the agent could still patch/edit
a UI-uploaded skill (source=upload) it happened to own. Uploaded skills
represent human-reviewed content; letting the agent rewrite them risks
silent drift from what the user approved.
Add _assert_skill_is_agent_authored which reads usage.json and refuses
unless source==agent. Wired into all five write actions
(create/edit/patch/delete/write_file/remove_file). Skills with no usage
entry default to source=upload, so legacy and adopted-orphan skills are
also refused — only skills the agent created via mark_agent_created in
the create flow stay editable.
Note: this check is independent of skill_store availability (it reads
the usage file, not the DB), so it runs even when skill_store is None.
Tests that exercise non-create paths against pre-existing skills will
need to call mark_agent_created first or mock get_entry.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-09 16:00:44 +08:00
xuhd and Claude Opus 4.7
c493639119
feat(skill-review): strict-mode prompt + raise min_tool_calls 3 to 5
...
The review agent was creating too many low-value skills. Three changes
tighten the funnel:
- review_worker prompt: rewritten in "保守模式". Default decision is
do-nothing. To create, all five AND conditions must hold (>=5 tool
calls with step dependencies, an explicit fail->fix->success episode,
cross-scenario reusability, no >=70% overlap with skill_list, can
produce >=300 chars of substance). Adds 7 explicit NO categories
(single-tool loops, one-off queries, LLM common knowledge, etc.)
and a 4-question self-check before any create. Hard cap of 1 new
skill per review, with patch preferred over create.
- min_tool_calls: 3 -> 5. Matches the prompt's ">=5 steps" hard
condition so trivial turns never reach the LLM reviewer.
- Updated config.yaml, the default-value assertion in
test_skill_review_worker, and the middleware docstring's "(default
3)" annotation to keep all three references in sync.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-09 16:00:29 +08:00
董宏凯 and Claude Opus 4.8
cc5ada1f3d
feat(roundtable): 第一步识别出的意图支持手动编辑并保存
...
「当前意图摘要」卡新增编辑态:核心目标(必填)、约束、关键假设(可增删列表),
保存后由 useStep1Intent.updateIntentReady 覆盖权威 intentReady,下游(Step 2
种子消息 buildInitialIntent、侧栏摘要卡、step2Locked)随之生效,并落草稿持久化。
持久化用「计数 + effect」触发 handleManualSave,避免 enqueueSave 闭包在 setState
flush 前读到旧意图的竞态(与 step2/step3 计数触发器同构)。聊天气泡内的绿色意图卡
保持为历史记录,右侧「当前意图摘要」为可编辑的当前值。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 15:58:24 +08:00
xuhd and Claude Opus 4.7
539a8bcec8
fix(skill_manage): block cross-user writes on patch/edit/write_file/remove_file
...
Only delete had a DB owner check via _assert_agent_may_delete. The other
four write actions only called ensure_custom_skill_is_editable, which
just verifies the directory exists under skills/custom/ — it does not
check owner_user_id. Any agent that knew a skill's name could overwrite
or strip support files from another user's UI-uploaded skill.
Generalise the helper to _assert_agent_may_modify (same three rules:
no DB row / built-in owner=None / owner mismatch) and call it from
edit, patch, delete, write_file, and remove_file. Hoist user_id +
skill_store to the top of the lock block so the four newly-guarded
branches stay one-liners and create/delete reuse the same handles.
Behaviour preserved when skill_store is None (no DB) — matches the
existing delete fallback.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-09 15:49:26 +08:00
xuhd and Claude Opus 4.7
4416348c51
fix(studio): hide sidebar group until token resolves; remove VITE_STUDIO_ENABLED
...
- workspace-nav-studio: return null while isLoading so the "工作室" group
no longer briefly mounts and then unmounts when getTokenByEmail returns
"用户不存在" (404). Skeleton branch became dead code, removed.
- studio/hooks: switch all three token queries from retry: 1 to false —
account-not-found is a permanent error; retry just doubled isError latency.
- env: drop VITE_STUDIO_ENABLED everywhere (env.ts + 7 env files +
workspace-nav-chat-list). Sidebar availability is now decided at runtime
by token success instead of a build-time flag.
- env: add VITE_AIPI_PRESENT_URL + VITE_AIPI_KNOWES_URL for the document
upload popup's A-system jump + B-system knowledge iframe; reuse the
existing VITE_AIPI_KNOWLEDGE_URL for the Y-system iframe.
- document-upload-popup: replace 8 hardcoded URLs (6 present, 1 knowes,
1 knowlibrary) with the corresponding env vars.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-09 15:48:24 +08:00
xuhd
bd0eceda61
Merge remote-tracking branch 'origin/master' into xuhd
...
# Conflicts:
# offline-backend-20260512/backend/config.yaml
2026-06-09 15:43:40 +08:00
fengxiangdebaozi
dddd3c1670
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-09 14:06:18 +08:00
fengxiangdebaozi
10795d55e6
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-09 14:06:01 +08:00
fengxiangdebaozi
230fab013a
代码合并
2026-06-09 14:05:51 +08:00
董宏凯
2082d20b88
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 业务链条流程图改弹窗 + 每阶段「本阶段目标」注入总控
See merge request knowledge-base-bj/deerflow-server!103
2026-06-09 05:43:00 +00:00
董宏凯 and Claude Opus 4.8
c230f7a6c6
feat(parallel-agents): 子智能体禁派活/脚本(防模仿总控) + 面板能力完善
...
后端 parallel_agents.py:每个并行席位 excluded_tools 增加 agent_orchestration
(派活) 与 bash(脚本逃逸),并在任务消息里加「角色边界」护栏——根治弱模型拿到
带「总控/业务链条」语气的任务后模仿总控输出「总控调度指令…」、绕道 glob/bash
翻找派活脚本的问题。新增 /api/parallel-agents/auth/token 取 token 端点
(auth/csrf 豁免)。
parallel-agents-vue 面板:协作澄清卡片、步骤图标/步骤展示、API 与类型完善等。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 13:41:39 +08:00
董宏凯 and Claude Opus 4.8
3405795371
fix(roundtable): 业务链条「本阶段目标」串行链可保存/回显 + 新增「总控提示词」
...
本阶段目标 bug:每步只有一个智能体(无并行)时,stageGroupsToStagePayload/
stageGroupsToStageGoals 一律折叠为 null(旧设计=线性链),导致目标保存即丢、
无从回显。改为「有并行 或 任一 stage 填了目标」就落显式分层,串行带目标链按
分层 DAG 跑(总控逐阶段按目标派活);BusinessChainPicker 同步:有并行/有目标/
有总控提示都走 dag。
新增「总控提示词」(per-chain,仅 dag 模式生效):写给总控的整体派活指引。
后端 roundtable_chains 加 coordinator_prompt LONGTEXT 列 + migration 20260608_06;
前端编辑器加输入框,注入 buildDagStageLeaderTask 每阶段派活提示。填了总控提示
也强制显式分层(forceExplicit),否则纯线性链里被静默忽略。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-09 13:41:20 +08:00
Administrator and Claude Opus 4.8
b70ed38d51
feat(knowledge): 图谱跟随删除 + 笔记页展示实体 + 标签美化
...
图谱不随删除变化的根因:实体/关系删除时从不清理,build_graph 又把所有实体
都当节点,导致已删笔记的实体(六福珠宝/COMEX/CM助手…)永久残留。
- build_graph 只保留被「活笔记」提及的实体,孤儿实体节点不再出现(render 层兜底,
历史脏数据无需迁移即生效)
- delete_note 删除时 clear_note_relations + prune_orphan_entities,DB 同步收敛
- get_note 返回 entities(repo.list_note_entities),笔记详情页展示实体
- 前端:实体按类型彩色 chip 展示(人物/机构/概念/产品/技术/地区…),标签改为 pill 样式
- 测试:get_note 返回实体 + 删除后图谱与实体表同步收敛
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 23:39:25 +08:00
Administrator and Claude Opus 4.8
70bb2783b9
chore(knowledge): 每次沉淀必打入口/结果日志,便于确认是否触发
...
success 路径原先完全静默,导致"看不到日志"无法区分"没触发"还是"日志不可见"。
现在每次 capture_thread 至少打 [knowledge] capturing… + 结果/跳过/失败 各一行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 23:11:54 +08:00
Administrator and Claude Opus 4.8
d9fc7c9fdf
chore(knowledge): 沉淀决策日志统一加 [knowledge] 前缀,跳过提到 WARNING 级
...
便于 docker logs 一条 grep 抓全部捕获决策(跳过/回退/失败):
docker logs deerflow-vite-gateway 2>&1 | grep "\[knowledge\]"
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 22:55:44 +08:00
董宏凯
1938c80061
代码提交
2026-06-08 22:52:18 +08:00
Administrator and Claude Opus 4.8
76320ca5a3
fix(knowledge): 模型判定 should_ingest=false 时直接跳过,不再落草稿
...
日志显示寒暄/无效会话并非 LLM 调用失败,而是模型正确返回 should_ingest=false。
上一版把这种情况也当失败回退、堆成草稿,反而把无价值对话存进了库。
- llm_extractor: 模型显式 should_ingest=false 且无 notes → 抛 LLMRejectedIngest
- capture_thread: 捕获后抛 EmptyThreadError → 整条跳过、不入库(寒暄/总结此页这类不再进库)
- 仅当真正失败(API 报错 / 非 JSON)才回退规则抽取并落草稿
- 兼容包装 extract_thread_llm 吞掉该异常返回 None
- 更新测试(should_ingest=false 跳过)+ CLAUDE.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 22:49:00 +08:00
Administrator and Claude Opus 4.8
4aef81284a
feat(knowledge): 出处标记渲染 + 相关笔记按标签精确匹配 + LLM 回退落草稿
...
A) 前端把 ^[inferred]/^[ambiguous] 渲染成「推测」「存疑」小角标(原先原样显示文本)
B) 相关笔记只按"区分性标签"精确匹配(去掉标题/摘要关键词检索——中文分词导致
助手/知识图谱/页面 等泛词误关联,如「AI助手打招呼」被错误拉进 Related);
无区分性标签则不关联、不渲染 ## Related 段
C) LLM 提炼启用但失败时不再静默回退成"原文堆砌":
- 回退笔记落为 draft(草稿)而非 approved,便于复核
- capture_thread 记 WARNING 并返回 llm_fallback;router 透出该标志
- llm_extractor 在 JSON 解析失败/无 notes 时补充可诊断的 WARNING 日志
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 22:22:28 +08:00
Administrator and Claude Opus 4.8
e7ff07debd
feat(knowledge): 项目名改 zncm + 去除元链接噪音 + 创建人显示人名
...
- project_name 默认 deerflow → zncm(config.yaml + 配置默认 + 模块内字面量)
- related_links() 返回空:笔记 Related 不再注入 index/_meta/taxonomy/hub 结构链接,
只保留真实相关笔记的可点 [[标题]];无相关笔记且无来源时不再渲染 ## Related 段
- 移除随之多余的项目 hub 页脚手架(index.md/_meta/taxonomy.md 仍由 obsidian 脚手架保留,可解析)
- GET /notes/{id} 用 auth provider 把 created_by/updated_by(UUID) 解析为邮箱
(created_by_name/updated_by_name),前端 footer 显示人名、解析不到才显示短 id
- 仅对新沉淀笔记生效,现有笔记不动
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 21:50:56 +08:00
Administrator and Claude Opus 4.8
df3fac1032
feat(knowledge): 可跳转 wikilink + 真实相关 note + 一对话多页
...
- [[wikilink]] 解析器:note id / vault_path / 标题 / vault 元页 / missing
- 前端 MarkdownRenderer 把非数字 [[...]] 渲染成可点链接,元页弹窗查看,缺失置灰
- vault 脚手架补建项目 hub 页,三个结构性链接(index/taxonomy/hub)始终可跳
- capture 时按标题+摘要+区分性标签检索同主题 note,注入真实 [[标题]] 到 Related + 记 related 图谱边
- LLM 提取支持 notes[] 数组,一次对话拆 1~4 页并按标题互链(multi_note_enabled 开关)
- 新增接口 POST /resolve、GET /notes/{id}/wikilinks、GET /vault-page
- 新增配置 related_notes_enabled / related_notes_limit / multi_note_enabled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 21:20:31 +08:00
吉鑫升 and Claude Opus 4.8
92a46003f8
feat: 知识库一键后台保存 + 对话置顶仅首页 + 排行榜页面增强
...
- 知识库「保存」改为一键触发,无需填表;后端经 BackgroundTasks 异步沉淀到 wiki,点击立即返回 {queued:true}
- 对话列表置顶分区仅在第一页展示,翻页后不再重复顶置
- 公开/管理员排行榜页面重构与维度增强;排行榜页改为整页统一滚动
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 19:59:55 +08:00
Administrator
24db448cfd
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-08 19:12:34 +08:00
hlh
9e14c2e289
禁用了知识库技能,添加了知识库memory
2026-06-08 18:35:05 +08:00
Administrator and Claude Opus 4.8
e750df3c0d
docs: 知识库阶段二至四(RAG/治理/图谱)更新 CLAUDE.md
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:33:08 +08:00
Administrator and Claude Opus 4.8
81e4fd92ce
feat(knowledge): 阶段三 知识治理 + 阶段四 图谱增强
...
阶段三(治理):
- sensitive.py:写入前脱敏 token/密钥/手机号/身份证/邮箱(sensitive_redaction_enabled)
- 版本快照:更新前写 knowledge_note_versions;GET /notes/{id}/versions
- dedup.py:标题/摘要 Jaccard + 内容哈希查重;GET /duplicates、POST /merge(来源并入主条目、重复项归档)
- auto_ingest.py:独立后台队列/线程沉淀,不阻塞问答;中间件 after_agent 在 auto_ingest_enabled 时入队;价值判断(最小字符)+ skip_existing 去重;自动沉淀落 draft 待审
阶段四(图谱):
- LLM 抽取 entities/relations;service 存 knowledge_entities/knowledge_relations 并连边
- exporter.build_graph 支持实体节点 + note→entity/entity→entity 边;graph.html/json 增强
- GET /api/knowledge/graph 返回产品图谱数据
前端:知识库页「查重合并」对话框 + 相关 api/hooks
配置:sensitive_redaction_enabled / dedup_similarity_threshold / entity_extraction_enabled
测试:tests/test_knowledge.py 20 passed
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:31:33 +08:00
Administrator and Claude Opus 4.8
683cc6d76e
feat(knowledge): 阶段二 向量 RAG 与召回注入
...
- embeddings.py:OpenAI 兼容 embedding 客户端,未配置时关键词兜底
- chunking.py + knowledge_embeddings 表:Markdown 分块与向量索引(Python 余弦)
- search.py:keyword/vector/hybrid 三种模式,向量不可用自动降级
- 笔记创建/更新自动重建向量索引;新增 /reindex 维护接口
- KnowledgeRagMiddleware:按对话级开关 knowledge_rag_enabled 注入 <knowledge-context>,接入 lead agent 中间件链(默认随 config.knowledge.rag_enabled)
- service.build_rag_context(wiki-query 风格分层召回)
- 笔记版本快照(knowledge_note_versions)+ GET /notes/{id}/versions
- 前端:聊天页「知识库」对话级 RAG 开关 + 类型字段
- 新增 entities/relations 表(阶段四预置)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:18:04 +08:00
吉鑫升
fb692a0555
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-08 18:02:14 +08:00
吉鑫升 and Claude Opus 4.8
40206dc94d
fix: Postgres store 自愈连接池 + 启用 PG checkpointer + 分析查询超时按服务端适配
...
- async_provider: AsyncPostgresStore 改用连接池(check_connection 校验),
避免单条长连接在服务重启/空闲超时后永久失效;池大小可经
DEER_FLOW_PG_POOL_MIN/MAX 环境变量调整
- admin_users: 排行榜分析查询的每语句超时按服务端区分
(MySQL>=5.7.4 max_execution_time / MariaDB max_statement_time /
MySQL<=5.6 跳过 / PostgreSQL statement_timeout)
- config.yaml: checkpointer.use_postgres 置为 true
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:01:55 +08:00
吉鑫升 and Claude Opus 4.8
50d70a5050
feat: 对话列表支持分页、收藏、置顶
...
收藏(is_favorite)/置顶(is_pinned)作为布尔标记存入对话已有 metadata,
复用现有 PATCH /api/threads/{id} 与 search 往返,无需后端改动与迁移。
- hooks: 新增 useUpdateThreadMetadata + useToggleThreadPin/Favorite
- utils: 新增 isThreadPinned/isThreadFavorite/sortThreadsPinnedFirst
- 侧边栏: 置顶优先排序 + 下拉菜单收藏/置顶项 + 置顶图标
- 对话页: 置顶区 + 全部/收藏过滤 + 页码翻页(每页20) + 行内收藏/置顶按钮
- i18n: zh-CN/en-US/types 新增相关文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:01:03 +08:00
Administrator and Claude Opus 4.8
8463289f75
feat(knowledge): LLM 提炼陈述式知识(wiki-capture 规范),规则抽取兜底
...
之前沉淀直接堆砌对话原文。现默认用大模型按 wiki-capture 规范提炼为 Context/Finding/Reasoning/Implications/Related 结构化陈述式知识,过滤寒暄与中间推理;LLM 不可用或解析失败时回退规则抽取。新增 llm_extractor.py + 配置 llm_extract_enabled/extract_model_name/extract_max_input_chars。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:00:46 +08:00
董宏凯 and Claude Opus 4.8
b101ee7fc9
feat(roundtable): 业务链条左栏卡片拖动手柄 + 加入按钮 + 智能体详情抽屉
...
- 左栏候选卡片加拖动手柄(与右栏席位一致),仅点手柄才拖动
- 加入改为显式「加入」按钮,点卡片本体改为打开详情抽屉
- 右栏席位操作区加「查看详情」按钮,打开同一抽屉
- 新增 AgentDetailSheet:按需拉取(useAgent)展示名称/模型/描述/
标签/技能+工具组/人设,对齐智能体详情页内容
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 18:00:42 +08:00
Administrator and Claude Opus 4.8
d06c8d49d7
feat: 工作台左侧导航新增「知识库」入口
...
之前只加在了 strategy shell 的 sidebar-menu,工作台 shell 用的是 WorkspaceNavChatList,这里补上入口指向 /page/workspace/knowledge。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 17:55:11 +08:00
Administrator and Claude Opus 4.8
e193c2df21
feat: 接入知识库聊天入口与前端路由
...
在聊天页工具栏接入「保存到知识库」按钮,并补回 /page/workspace/knowledge 列表/详情/图谱路由(此前被回退丢失)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 17:43:55 +08:00
Administrator and Claude Opus 4.8
cc99ebba81
feat: 产品内知识库(obsidian-wiki 兼容 vault)
...
后端:新增自包含 deerflow.knowledge 模块(models/repository/schemas/
extractor/sources/markdown_vault/manifest/obsidian_adapter/exporter/
search/service),通过 deps.py 装配为 app.state.knowledge_service,
挂载 /api/knowledge 路由;config.yaml 增加 knowledge 配置段,
AppConfig 注册 KnowledgeConfig,ORM 注册 4 张 knowledge_* 表。
前端:新增知识库页面(KnowledgeBasePage/KnowledgeGraphPage)、
core/knowledge api/hooks/types、聊天侧 knowledge-save-trigger,
侧边栏增加「知识库」入口。
知识库为全局共享,不做 user_id 隔离,写入记录 created_by/updated_by
作为审计。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 17:38:28 +08:00
吉鑫升 and Claude Opus 4.8
80d2db6315
feat: 公开用户排行榜页面 + 修复 checkpointer 连接与前端依赖
...
- 新增公开排行榜页面与后端 public_leaderboard 路由
- 完善 skills/agents 路由
- checkpointer Postgres 改用连接池(自愈), 解决连接关闭后定时任务连环失败
- 修复前端 mermaid 依赖未声明导致 Vite 解析失败 (新增 pnpm-lock)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 17:09:28 +08:00
董宏凯
c05e7df48e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-08 16:31:00 +08:00
董宏凯 and Claude Opus 4.8
834df64650
feat(roundtable): 业务链条流程图改弹窗 + 每阶段「本阶段目标」注入总控
...
- 业务链条配置页流程图从底部内嵌改为按钮 + Dialog 弹窗查看
- 每个 Stage 新增可选「本阶段目标」文本框,告诉总控本阶段要产出
什么、如何依赖上一阶段产出(仅分层 DAG 生效)
- StageGroups 重构为 StageGroup[]({seats, goal?}),goal 随 stage
在增删改/重排中自动跟随;新增 stageGoals 持久化(与 stages 同下标对齐)
- 运行时注入:buildDagStageLeaderTask(总控派活,主)+ pickDagSeatTask
(席位任务,兜底)
- 后端 roundtable_chains 加 stage_goals 列 + 校验 + Alembic 20260608_04
- 老链条/草稿无该字段时不注入,行为不变
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 16:10:46 +08:00
吉鑫升
8113b822c5
docs: add product knowledge base plan
2026-06-08 16:02:43 +08:00
Administrator and Claude Opus 4.8
a53e565e5a
feat: 管理菜单增加「用户排行榜」入口
...
侧边栏综合管理与右上角工作区下拉菜单新增「用户排行榜」(admin only),
指向 /page/strategy/admin/user-leaderboard,并默认展开综合管理分组。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 13:47:15 +08:00
Administrator and Claude Opus 4.8
d4a71ce384
feat: 浏览器扩展支持交互式页面操作 (browser_act)
...
在原有只读抓取 (browser_fetch_page) 基础上,新增 observe→act 循环,
让 Agent 能在用户的 Chrome 中实际操作网页:点击/输入/滚动/等待/页内跳转。
后端:
- 新工具 browser_act,按 session 复用标签页,返回带编号的可交互元素清单+正文
- browser_context 任务队列扩展 kind/session_id/action 与 observation 结果
- /api/browser-context 路由下发 act 任务、接收 observation
- BrowserContextConfig 增加 actions_enabled 等开关,tools.py 两级门控
- 接线 app.py 路由挂载、app_config.py 配置字段、config.yaml 工具注册
前端:
- ChatPage 处理「发送当前页」回跳的 browser_context query 参数并自动提交
扩展 (browser-extension/deer-web-clipper):
- shared.js 自包含注入函数 deerObservePage / deerPerformAction
- background.js 按 kind 分发任务,session→tab 映射存 chrome.storage.session
测试:tests/test_browser_act.py(队列往返 + 工具校验 + 模拟扩展成功路径,8 passed)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-08 13:47:00 +08:00
g zy
004853f030
Merge branch 'gzy_iframedf' into 'master'
...
feat: 登录token回传至宿主
See merge request knowledge-base-bj/deerflow-server!102
2026-06-08 04:35:35 +00:00
ZyGuo
37be59b0dd
feat: 登录token回传至宿主
2026-06-08 12:33:24 +08:00
董宏凯
273503ddb9
Merge branch 'dhk-1' into 'master'
...
样式修改
See merge request knowledge-base-bj/deerflow-server!101
2026-06-07 15:54:16 +00:00
董宏凯
ce431ee155
样式修改
2026-06-07 23:53:52 +08:00
董宏凯
12844e341c
Merge branch 'dhk-1' into 'master'
...
feat(roundtable): 业务链条「发布为公共」+ 我的/公共筛选
See merge request knowledge-base-bj/deerflow-server!100
2026-06-07 14:56:48 +00:00
董宏凯 and Cursor
eaf1e075f2
fix(roundtable): 本地 SQLite 路径与离线并行席位禁用 web_search
...
将 backend 配置中的 SQLite/checkpointer 改为相对路径以便本地开发,并在离线部署下禁止并行席位使用 web_search,统一走技能检索。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-07 22:55:50 +08:00
董宏凯 and Claude Opus 4.8
7affaaf7c0
feat(roundtable): 业务链条「发布为公共」+ 我的/公共筛选
...
后端:roundtable_chains 加 is_public 列;list_chains 支持 scope=mine|public(public=所有已发布,任何账号可查看/选入研讨);get_chain 放开公共可见;响应加 is_public/is_mine;update 支持 is_public(发布/取消,owner 限定,编辑/删除仍仅 owner)。迁移 20260608_03 接在合并 head 20260608_02 之后,保证单一 alembic head(多 head 会让启动自动迁移失败、静默降级 create_all → 列缺失 500)。
前端:listChains(scope) + setChainPublic;BusinessChain 加 isPublic/isMine;列表弹窗与研讨选择器加「我的/公共」筛选 tab;列表卡片发布/取消发布 + 公共徽标(别人的只读);配置页头部加发布按钮(已保存且本人)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 22:30:23 +08:00
董宏凯
90f3564d0b
Merge branch 'dhk-1' into 'master'
...
fix(roundtable): 后台任务临时跳过 Step3 报告生成
See merge request knowledge-base-bj/deerflow-server!99
2026-06-07 13:28:21 +00:00
董宏凯
05d14bb364
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-07 21:25:54 +08:00
董宏凯 and Claude Opus 4.8
7b8c11852e
feat(roundtable): 圆桌 Step2 分层 DAG 编排(并行/沙箱双模式 + 流程图 + 按需取全文)
...
数据模型/编辑器:链条加 stages 分层(前后端 + alembic 20260607_03);BusinessChainEditorPage 竖列 Stage 编辑 + 底部只读流程图预览;lib/dag-types + chain-stages 纯逻辑(含单测)。
调度(runDagOrchestration,方案 A 总控驱动):每个 stage 由总控经 agent_orchestration 派活给计划钉死的席位,批内 Promise.all 并行、批间 barrier 串行;末尾交回 runOrchestration 收口。抑制 leader 预广播 + 干净席位任务,根治『席位模仿派活』。
执行子模式:快速(双列·产物走正文·禁写文件 seat_parallel)/ 沙箱(单列·写 .md·沙箱跟随预览 seat);统一禁 bash(防 .py 脚本),提示词禁 .py。
显示:头像条 + 两列/单列 + ref 全量累积 + 节流 flush(仅选中渲染);DAG 流程图弹窗(按 stage 分列,节点随执行点亮,只到共识);沙箱跟随当前席位(防错位 + 修第一个席位自动开沙箱)。
按需取全文:新增 harness 只读工具 read_peer_delivery(从 run context 取网关注入的前序席位完整交付),席位默认看摘要、需要时取全文。
修:宽表溢出、并行自动下滑、data-lov-id Fragment 警告等。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 21:20:58 +08:00
董宏凯 and Claude Opus 4.8
5164fd362c
feat: 重新设计浏览器标签页图标(智能助手中心)
...
玫红渐变磁贴 + 白色对话气泡 + 气泡内 AI 闪光星 + 角落小闪光,围绕「助手 / 多种智能工具」主题;并在 index.html 补上 favicon 链接。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 21:20:58 +08:00
董宏凯 and Claude Opus 4.8
2e689e4482
docs(roundtable): 圆桌 DAG 编排 + 并行执行显示分步需求文档
...
锁定三项设计决策:分层 Stage(非自由连线)、并行跳过 leader 前端直派、主区固定 2 列(窄屏降 1 列)。含数据模型/编辑器交互/并行调度/禁写文件/高性能流式渲染/分步实现计划(Phase 1-8)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 21:20:58 +08:00
董宏凯 and Cursor
1ee2e6ca0a
perf(roundtable): 轻量 thread 接口降低广播与席位状态核对开销
...
新增 messages/append 与 last-ai-message 接口,圆桌广播和总控派活轮改走服务端轻量读写,避免 loopback 传输整份 state。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-07 21:20:58 +08:00
董宏凯 and Cursor
924c8f2fac
fix(roundtable): 优化 Step2 总控派活稳定性与并发编排
...
限制总控工具白名单、关闭圆桌记忆注入、综合轮 synthesis_mode 与编排 epoch 防双发,并优化广播异步化及 Postgres checkpointer 连接池。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-07 21:20:58 +08:00
Administrator
0001f86826
feat: 完善公开任务预览和用户问答历史
2026-06-07 21:18:16 +08:00
fengxiangdebaozi
9c9c912657
refactor(strategy): 任务分析页移除演示数据并接入真实接口
...
舆情分析与规划任务分析看板统一改为后端任务列表拉取,去掉 mock/演示切换,并修正 running 列状态与日期筛选交互。
2026-06-06 20:23:58 +08:00
董宏凯
024c8ee5a1
Merge branch 'ji' into 'master'
...
feat: 重新设计浏览器标签页图标(智能助手中心)
See merge request knowledge-base-bj/deerflow-server!97
2026-06-06 01:21:19 +00:00
董宏凯
2e7985639e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-06 09:19:15 +08:00
Administrator and Claude Opus 4.8
e7c745a512
feat: 排行榜日快照分析 + 数据库连接池/索引调优
...
- 排行榜改为按天预计算快照(admin_leaderboard_daily_stats),请求只读取合并,重统计移至后台调度;过去日不可变、当天 TTL 刷新,避免在线聚合长时间占用数据库
- 为 runs/tool_call_metrics/llm_call_metrics/threads_meta 增加面向时间段+用户聚合的复合索引(model __table_args__ + migration 20260608_01)
- 连接池可调:DatabaseConfig 新增 max_overflow / pool_timeout,接入 postgres/mysql 引擎;config.yaml 上调 pool_size=20/max_overflow=20
- 新增手动执行的索引脚本 scripts/sql/leaderboard_indexes_mysql.sql(幂等,适用于已存在数据、create_all 不补索引且 alembic 关闭的部署)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-06 00:52:24 +08:00
董宏凯
1b75887615
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-05 23:47:07 +08:00
董宏凯 and Claude Opus 4.8
a1bcc6eed4
feat: 重新设计浏览器标签页图标(智能助手中心)
...
玫红渐变磁贴 + 白色对话气泡 + 气泡内 AI 闪光星 + 角落小闪光,围绕「助手 / 多种智能工具」主题;并在 index.html 补上 favicon 链接。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 23:45:28 +08:00
fengxiangdebaozi
0bf6285287
fix(roundtable): 后台任务临时跳过 Step3 报告生成
...
后台挂起路径在真模型下仍无法稳定写出报告 HTML,先只跑完 Step2 研讨并正确设置 furthest_step;测试可通过 enable_report 覆盖验证报告链路。
2026-06-05 23:41:28 +08:00
Administrator
4df71f32a8
fix: use sqlite backend config
2026-06-05 22:44:21 +08:00
fengxiangdebaozi
44b7f9fa99
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-05 22:40:44 +08:00
fengxiangdebaozi
03329387b3
样式修改
2026-06-05 22:22:38 +08:00
吉鑫升
e5ba898fc7
hide user leaderboard entry
2026-06-05 22:11:31 +08:00
吉鑫升
a41b5a6d4c
fix: improve agent handoff and leaderboard scheduling
2026-06-05 21:46:04 +08:00
董宏凯
cbbde887d4
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-05 21:17:31 +08:00
董宏凯
89724d6e4d
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!96
2026-06-05 13:17:03 +00:00
董宏凯
6d5325d444
代码修改
2026-06-05 21:16:35 +08:00
吉鑫升
db1b32612b
fix: run leaderboard stats in background
2026-06-05 21:15:20 +08:00
吉鑫升
f4ccef8c70
fix: optimize leaderboard and agent handoff
2026-06-05 21:06:23 +08:00
董宏凯
99aa064e6c
Merge branch 'ji' into 'master'
...
Ji
See merge request knowledge-base-bj/deerflow-server!95
2026-06-05 12:36:02 +00:00
吉鑫升
24a5ca0c06
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-05 20:07:03 +08:00
吉鑫升
6eda572f31
tijiaodaim
2026-06-05 20:06:55 +08:00
董宏凯
7b6dd9ba6f
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-05 19:56:51 +08:00
董宏凯
1341767692
Merge branch 'dhk-1' into 'master'
...
feat: 多智能体会商草稿分享(import 复制 / view 公开结果页)
See merge request knowledge-base-bj/deerflow-server!94
2026-06-05 11:48:08 +00:00
董宏凯 and Claude Opus 4.8
f845805706
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
...
解决 StrategyRoutes.tsx import 冲突:保留双方各自唯一的页面导入(AgentsPage/ChatPage/ChatsPage + AdminUserLeaderboardPage/SettingsPage),去掉与下方重复的 13 个 import。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 19:46:19 +08:00
董宏凯 and Claude Opus 4.8
b2132dd668
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
...
解决 artifact 预览组件冲突:mermaid 渲染(dhk-1) 与 markdown 锚点跳转(master) 取并集;package-lock.json 按 master 删除(项目用 pnpm)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 19:43:02 +08:00
fengxiangdebaozi
fc5eaa2941
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-05 19:28:19 +08:00
fengxiangdebaozi
045bb11abf
样式修改
2026-06-05 19:28:09 +08:00
董宏凯
9a31155581
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-05 19:00:28 +08:00
董宏凯 and Cursor
9e510ce088
feat: 优化会商公开分享页,展示总控结论与各席位交付
...
公开分享页拆分为落地页与独立报告页,后端补充 consensus_text 与 seat_deliveries 字段。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 19:00:13 +08:00
fengxiangdebaozi
a642ba91fa
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-05 18:58:37 +08:00
fengxiangdebaozi
b0fdeab995
代码修改
2026-06-05 18:58:28 +08:00
吉鑫升
1bf1fc6512
增加依赖
2026-06-05 17:36:53 +08:00
吉鑫升
392373b4b7
chore: add qwen model config
2026-06-05 17:32:53 +08:00
吉鑫升
f3def88342
feat: add sqlite checkpoint fallback switch
2026-06-05 17:28:44 +08:00
吉鑫升
690d09a3d1
feat: add workspace view mode settings
2026-06-05 17:21:49 +08:00
吉鑫升
9471e72171
feat: add checkpoint postgres migration admin
2026-06-05 17:16:31 +08:00
g zy
9ebde3b315
Merge branch 'gzy_iframedf' into 'master'
...
feat: iframe传 文件进入
See merge request knowledge-base-bj/deerflow-server!93
2026-06-05 07:10:59 +00:00
吉鑫升 and Claude Opus 4.8
eaa061dd06
feat: 新增技能置顶功能
...
- 后端:新增 PUT /skills/custom/{name}/featured 接口,在 usage 中实现 set_featured 与 featured 字段(与 pinned 正交,仅影响排序)
- 前端:新增 setSkillFeatured API、置顶/取消置顶操作及中英文文案
- ScheduledTasksPage:优化助手选择下拉框的宽度与文本换行
- config.yaml:整理 log_system 配置块
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 15:02:50 +08:00
ZyGuo
5f6ab41798
feat: iframe传 文件进入
2026-06-05 14:15:42 +08:00
xuhd and Claude Sonnet 4.6
9adb0fee28
fix(notebook): preserve selected notebook/docs when switching material source with studioToken
...
- Initialize materialSource via WritingFormProvider initialMaterialSource prop
- Don't clear selectedNotebookId/selectedDocumentIds on source switch when studioToken is set
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:58:34 +08:00
xuhd and Claude Sonnet 4.6
c577833e7c
fix(notebook): default material source to notebook when studioToken or initialNotebookId is set
...
Replace useEffect-based approach with synchronous effectiveMaterialSource
derived value to avoid first-render flash and timing issues.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:53:10 +08:00
xuhd and Claude Sonnet 4.6
d57bcd9aa2
feat(notebook): lock material source to notebook when studioToken is provided
...
- Auto-switch materialSource to 'notebook' on mount when initialNotebookId is set
- Replace material source dropdown with static label when studioToken is present
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:45:24 +08:00
xuhd and Claude Sonnet 4.6
0e7149eec3
feat(notebook): load notebook space via token and pre-select docs/sources
...
- NotebookAIWritingPage reads `token` from URL, fetches space data from
notebook-token API (search_space_id, doc_ids, user_token) and space
name from searchspaces API; keep-alive ping every 50s resets Redis TTL
- Pass user_token as studioToken through AIWritingPage → AIWritingLayout
→ WritingFormPanel → AIWritingPanel → AIWritingForm to skip
getTokenByEmail when studio token is already available
- useStudioNotebooks accepts enabled flag; useNotebookSources accepts
overrideToken to bypass the internal token fetch
- AIWritingForm hides notebook selector when studioToken is provided
(notebook is pre-locked) and pre-selects initialDocumentIds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:38:08 +08:00
xuhd
e53c1a0f7b
feat(notebook): pre-select notebook source when notebook_id is in URL
2026-06-05 13:35:35 +08:00
xuhd
e689493723
feat(notebook): add /page/notebook/ai-writing route for 索财笔记 view
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
e6d3226c47
feat(studio): replace notes source upload with multi-tab popup
...
- Add document-upload-popup.tsx with tabs for B系统/A系统/Y系统/XWT/upload
- Add network-actor.tsx for XWT search tab
- Add empty.tsx for empty state
- Refactor SourcesDialog: left panel becomes single "上传来源" button that opens new popup
- Wire DocumentUploadDialogProvider around StudioNotebookDetailPage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
2c2650ff07
feat(skill-evolution): expose model_name as per-user configurable field
...
前端恢复模型选择器,后端允许 model_name 写入 per-user skill_evolution.json。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
603d667608
fix(skill-evolution): strip non-user-configurable fields from per-user overrides
...
load_user_overrides 只保留 interval_hours/stale_after_days/archive_after_days,
过滤掉老文件中的 enabled、model_name 等字段,防止旧数据覆盖全局开关。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
e9125b0900
test(curator): add scheduler startup non-blocking and execution tests
...
验证 curator 调度器不阻塞启动、启动延迟后真实执行、无锁时跳过。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
d0c696e523
refactor(skill-evolution): simplify config UI to 3 user-editable fields
...
前端配置页只保留运行间隔、陈旧阈值、归档阈值三个字段,
其余配置(enabled、model_name 等)走 config.yaml 全局默认。
后端 PUT /api/curator/config 仅保存这三个字段到 per-user skill_evolution.json。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd
6f9afcdba2
修复技能审核agent提示词
2026-06-05 13:32:19 +08:00
xuhd
705de81c78
fix(skill-review): use uuid per review run to avoid checkpoint context bleed
2026-06-05 13:32:19 +08:00
xuhd
335bc3cf48
fix(skill-review): propagate user_id through review chain for correct DB ownership
2026-06-05 13:32:19 +08:00
xuhd
857798ff2f
fix(skill-review): pass RunnableConfig with thread_id to satisfy ThreadDataMiddleware
2026-06-05 13:32:19 +08:00
xuhd
3955bd72b5
refactor(skill-review): use create_agent with skill_evolution disabled to allow autonomous skill creation
2026-06-05 13:32:19 +08:00
xuhd
b5d80025e9
fix(skill-review): lower CREATE threshold and log agent decision
2026-06-05 13:32:19 +08:00
xuhd
5b5e4f8ff0
fix(thread-data): guard runtime.context None on line 110
2026-06-05 13:32:19 +08:00
xuhd
ad5bd22c5e
refactor(skill-review): use make_lead_agent instead of create_react_agent
...
Reuses the full middleware chain (ToolErrorHandlingMiddleware,
LLMErrorHandlingMiddleware, etc.) so tool errors like 'already exists'
and invalid SKILL.md are converted to ToolMessages by the middleware,
not silently swallowed or crashing the review task.
2026-06-05 13:32:19 +08:00
xuhd
b2ed6f1acf
fix(skill-review): add strict SKILL.md format spec to review prompt
2026-06-05 13:32:19 +08:00
xuhd
2a8364e902
fix(skill-review): use runtime.context to get thread_id
2026-06-05 13:32:19 +08:00
xuhd
23a18ec318
fix(skill-review): after_agent must be sync, not async
2026-06-05 13:32:19 +08:00
xuhd
d713f0209d
feat(curator): restrict per-user config to archiving thresholds only
2026-06-05 13:32:19 +08:00
xuhd
0a21d37146
chore(config): enable skill_evolution, review_worker, and curator (24h) in config.yaml
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
c645142f82
feat(skill-evolution): register SkillReviewMiddleware in lead agent chain
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
0e7a1de4db
feat(skill-evolution): add SkillReviewMiddleware to trigger post-turn review
...
Implements SkillReviewMiddleware that hooks into after_agent to call
maybe_start_review() as a background task after each agent turn, without
blocking the HTTP response. Exceptions are caught and logged only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
ef3ef433c1
feat(skill-evolution): add SkillReviewWorker for passive post-turn skill creation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd
0da91be9b1
test(skill-evolution): fix unused import and add max_messages assertion
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
69454ada69
feat(skill-evolution): add ReviewWorkerConfig to SkillEvolutionConfig
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
xuhd and Claude Sonnet 4.6
1126fedea8
chore(env): 添加我的笔记相关环境变量配置
...
- VITE_AIPI_FRONTEND_URL: 我的笔记前端地址
- VITE_STUDIO_ENABLED: 控制侧边栏我的笔记入口显示
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 13:32:19 +08:00
董宏凯
69c28e3563
代码修改
2026-06-05 13:04:44 +08:00
吉鑫升 and Claude Opus 4.8
b117bb1dc2
Revert skill list layout and tune leaderboard report
...
- Revert skill settings to vertical list layout with pinned sorting
- Default leaderboard range 30d -> 7d, hide stats while report generating
- Reframe leaderboard report prompt as user-behavior analysis (cache v5)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 11:34:39 +08:00
董宏凯
9c9330114f
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-05 11:20:22 +08:00
董宏凯 and Cursor
0fd314632a
feat: 多智能体会商草稿分享(import 复制 / view 公开结果页)
...
支持会商草稿生成分享码、导入副本与公开只读结果页,并在侧边栏展示最近会商记录。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 11:19:09 +08:00
吉鑫升
0d91c74289
style: enlarge leaderboard report dialog
2026-06-05 11:17:09 +08:00
吉鑫升
d59f9e218f
feat: enhance leaderboard AI report
2026-06-05 11:00:08 +08:00
fengxiangdebaozi
9bbd04d6cf
后台挂起功能优化
2026-06-05 10:59:56 +08:00
吉鑫升
22be6325a8
Resolve merge conflicts
2026-06-05 10:28:45 +08:00
吉鑫升
e96cc97462
Merge origin/master into ji
2026-06-05 10:04:11 +08:00
Administrator
92f5cb8fe3
enhance admin leaderboard and previews
2026-06-05 01:51:48 +08:00
Administrator
a5897caec4
enhance leaderboard reporting and grouping
2026-06-05 00:02:05 +08:00
Administrator
88c83b4dd7
refine admin leaderboard experience
2026-06-04 23:41:19 +08:00
Administrator
fe0ede178e
polish admin leaderboard analytics
2026-06-04 21:09:36 +08:00
fengxiangdebaozi
cca3d8eb41
字体大小修改
2026-06-04 20:49:32 +08:00
Administrator
5590f7d85a
style: polish admin user leaderboard
2026-06-04 20:22:37 +08:00
fengxiangdebaozi
90bced3ed2
第二次生成结果后台挂起
2026-06-04 20:18:34 +08:00
fengxiangdebaozi
19399482e1
后台挂起
2026-06-04 20:00:58 +08:00
吉鑫升
7657c45aae
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-04 19:37:19 +08:00
吉鑫升
e6e0832c8a
chore: commit local changes
2026-06-04 19:35:56 +08:00
Administrator
8f80b7c1ef
feat: add admin user leaderboard analytics
2026-06-04 19:35:11 +08:00
董宏凯
c766e3fa3b
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!92
2026-06-04 11:10:18 +00:00
fengxiangdebaozi
788118ce3d
下载图片
2026-06-04 19:08:52 +08:00
fengxiangdebaozi
77f8ded1e6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-04 18:50:50 +08:00
fengxiangdebaozi
9d863f63e5
代码提交
2026-06-04 18:50:31 +08:00
Administrator
1e4ef070cf
fix: 调整提示词和 agent 管理入口
2026-06-04 18:45:16 +08:00
吉鑫升
c1336ad5b3
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/settings/memory-settings-page.tsx
# frontend-web/src/core/auth/sync.tsx
2026-06-04 17:49:26 +08:00
吉鑫升
143e0478ef
Merge remote-tracking branch 'origin/ji' into ji
2026-06-04 17:46:50 +08:00
吉鑫升
cbd07c9d1b
chore: update ji branch work
2026-06-04 17:46:11 +08:00
Administrator and Claude Opus 4.8
e3b0958c23
fix: drive logout from real 401s, not local storage changes
...
apiFetch now redirects to login only on a genuine backend 401 (auth endpoints excluded, only when previously logged in). AuthSyncWatcher no longer treats localStorage.clear()/unrelated writes as a logout, fixing spurious sign-outs (e.g. when uploading skills).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 17:41:46 +08:00
g zy
b843ab6542
Merge branch 'gzy_iframedf' into 'master'
...
feat: 中断回复
See merge request knowledge-base-bj/deerflow-server!91
2026-06-04 09:03:00 +00:00
ZyGuo
dccce9355d
feat: 中断回复
2026-06-04 17:00:56 +08:00
吉鑫升
6c30e649e3
Merge remote-tracking branch 'origin/ji' into ji
2026-06-04 16:59:05 +08:00
吉鑫升
bcebc8d5fb
feat: 支持智能体置顶配置
2026-06-04 16:58:42 +08:00
Administrator and Claude Opus 4.8
225398972d
fix: add missing axios dependency to frontend-web
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 16:53:07 +08:00
Administrator and Claude Opus 4.8
87f764bfa9
feat: improve markdown rendering, artifact file preview, and public scheduled task page
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 16:52:30 +08:00
fengxiangdebaozi
47217e9158
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-04 15:41:03 +08:00
fengxiangdebaozi
10334ddfe1
feat: AI writing history, Word export, roundtable dispatch chain
2026-06-04 15:40:15 +08:00
董宏凯
002e71f971
Merge branch 'dhk-1' into 'master'
...
样式修改
See merge request knowledge-base-bj/deerflow-server!89
2026-06-04 06:55:59 +00:00
吉鑫升 and Claude Opus 4.8
1f2b1e3b8a
feat: 删除提问时级联删除其回答,并移除回答上的删除按钮
...
- 删除按钮只保留在用户提问气泡上;AI 回答不再单独提供删除
- 后端 DELETE /messages/{id} 改为按整轮删除:从提问删到下一条提问之前,
返回实际删除的 deleted_ids,保持 checkpoint 合法(无孤立工具结果/回答)
- 前端隐藏后端返回的整批 id,删除后即时消失
- 更新删除相关中英文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:34:52 +08:00
吉鑫升 and Claude Opus 4.8
5d12616211
chore: 将登录失败次数上限从 5 提高到 100
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:34:42 +08:00
吉鑫升
9704eff9f7
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-04 14:28:22 +08:00
吉鑫升 and Claude Opus 4.8
362a8268e8
feat: 支持删除单条聊天消息(用户提问与模型回答)
...
- 后端新增 DELETE /api/threads/{thread_id}/messages/{message_id},从最新 checkpoint 的 messages 通道过滤掉指定 id 并写回新 checkpoint
- 前端 useDeleteMessage 钩子 + DeleteMessageButton(带确认框)组件
- 在用户问题气泡与助手回答工具栏上各加删除按钮,仅对已落库消息显示
- MessageList 本地隐藏已删消息并在切换会话时重置;只读/分享场景禁用删除
- 新增 deleteMessage 相关中英文案
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 14:28:11 +08:00
fengxiangdebaozi
c0e3c5d692
样式修改
2026-06-04 14:19:53 +08:00
Administrator and Claude Opus 4.8
94c02ded2a
feat: add user preferences, agent name desensitization and related improvements
...
- Add user preferences persistence (model, migration, router, frontend core)
- Add agent name desensitization config
- Add agent_id to user custom prompts with migration
- Enhance agents persistence (base, memory, model, sql) and scheduler service
- Improve frontend agent cards/gallery, scheduled tasks, custom prompt menu
- Add pagination UI component; remove stale package-lock.json
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 12:40:18 +08:00
董宏凯
998bd0ce06
Merge branch 'zhujingyi' into 'master'
...
'feat:技能样式改成卡片式'
See merge request knowledge-base-bj/deerflow-server!87
2026-06-04 03:13:33 +00:00
fengxiangdebaozi
6b6465b5e3
Merge remote branch into zhujingyi
2026-06-04 11:12:45 +08:00
董宏凯
57da50b8d6
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!88
2026-06-04 03:10:18 +00:00
fengxiangdebaozi
f87f6031de
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-04 11:09:29 +08:00
fengxiangdebaozi
5b686824c5
样式修改
2026-06-04 11:08:42 +08:00
g zy
95487d362f
Merge branch 'gzy_iframedf' into 'master'
...
feat: 从iframe对接模型配置
See merge request knowledge-base-bj/deerflow-server!86
2026-06-04 03:05:26 +00:00
ZyGuo
f496546cc0
feat: 从iframe对接模型配置
2026-06-04 11:03:50 +08:00
zjy
9423d7e892
'feat:技能样式改成卡片式'
2026-06-04 10:44:55 +08:00
fengxiangdebaozi
062f984262
ai写作位置调整
2026-06-04 10:40:16 +08:00
吉鑫升 and Claude Opus 4.8
925675ab54
chore: update ji local changes
...
- frontend: scheduled tasks pages, system-settings api, workspace nav menu
- backend: system_settings router, app_config, log_system_config, config.yaml
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 09:18:32 +08:00
董宏凯
c05513ae1e
Merge branch 'dhk-1' into 'master'
...
fix(roundtable): 文件卡截断、Step3 完整 HTML 与跨标签页登录体验
See merge request knowledge-base-bj/deerflow-server!85
2026-06-03 13:46:33 +00:00
fengxiangdebaozi
f257ccb682
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 21:45:21 +08:00
fengxiangdebaozi
d5b0bd4d31
fix(roundtable): 文件卡截断、Step3 完整 HTML 与跨标签页登录体验
...
第二步消息列表长文件名不再溢出卡片;第三步绘制结束后从沙箱回灌完整 HTML(修复 append 续写 stub 被截短),进入第三步时关闭第二步沙箱;HTML 预览与提示词强调 utf-8/中文。跨标签页切换账号改为 toast 提示而非强制刷新;方案总结智能体 SOUL 去掉「AI 自动生成」标签要求。
2026-06-03 21:44:46 +08:00
董宏凯
5026bd1887
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 21:07:17 +08:00
董宏凯
b0b0cf7b9e
地址修改
2026-06-03 21:07:12 +08:00
fengxiangdebaozi
bf96cf4cb4
接口地址修改
2026-06-03 19:12:30 +08:00
吉鑫升
aeef1dca59
Merge remote-tracking branch 'origin/ji' into ji
2026-06-03 19:01:56 +08:00
吉鑫升
a1d460e220
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/messages/message-list-item.tsx
# offline-backend-20260512/backend/app/gateway/app.py
# offline-backend-20260512/backend/packages/harness/deerflow/runtime/scheduler/html_page.py
# offline-backend-20260512/backend/packages/harness/deerflow/runtime/scheduler/service.py
2026-06-03 19:01:45 +08:00
吉鑫升
e2a962de32
chore: update ji local changes
2026-06-03 18:57:49 +08:00
董宏凯
dbf1f46fa1
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!84
2026-06-03 10:57:34 +00:00
fengxiangdebaozi
ce07a27b8d
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 18:54:45 +08:00
fengxiangdebaozi
8f6e08eb2f
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 18:54:26 +08:00
董宏凯
a4b14e4911
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!78
2026-06-03 09:38:24 +00:00
fengxiangdebaozi
56114562cb
fix: ²¹Æë Step3 ɳÏä²Ù×÷²¢Îȶ¨д×÷³ÎÇåÁ÷³Ì
...
Ϊ roundtable µÚÈý²½ɳÏ䲹»ØÐ´°¿ڴò¿ªÓëÏÂÔزÙ×÷£¬²¢ÐÞÕýд×÷ÅäÖóÎÇåµÄÌύÁ÷³ÌÓëĬÈÏËزÄÀ´Դ£¬±ÜÃâÓû§ÔڶƬ³¡¾°ÏÂÌáǰÌύ»ò½øÈ벻·ûºÏԤÆڵļìË÷·¾¶¡£
2026-06-03 17:36:52 +08:00
董宏凯
ba7834f222
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 17:27:18 +08:00
董宏凯 and Claude Opus 4.8
d49406d2f1
Merge branch 'master' into dhk-1
...
解决 8 处冲突:
- app.py:同时挂载 public_embed + html_page_favorites 两个 router
- .env:保留 dhk-1 的 CORS 配置(含 5174、ALLOW_ALL=0)
- message-list.tsx:并入双方新增(onSetupWriting* 解构 + contentClassName/fitMessageRowsToContent 类型)
- WorkspaceRoutes.tsx:采用 master 的路由结构(含 chats_iframe/IframeChatPage),补回 dhk-1 的 BusinessChainEditorPage 导入与 roundtable/chains 路由
- LoginPage.tsx:合并两套登录(master 的 token 换登录 + dhk-1 的 online-ticket),并集依赖数组
- ScheduledTasksPage.tsx:采用 master 的 HTML 定时任务表单(isHtmlTask 分支)
- AIWritingForm.tsx:保留 dhk-1 的 useWritingForm 重构,补回 master 的笔记来源 useState;WritingFormContext.materialSource 扩展支持 'notebook'
- useAIWritingStream.ts:保留 dhk-1 重构(仅 reducer/helpers,useAIWriting 已移至 AIWritingContext),不并入 master 在此文件的旧实现
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 17:26:52 +08:00
fengxiangdebaozi
a81d8adc90
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 16:34:25 +08:00
fengxiangdebaozi
3eae4a0f45
代码修改
2026-06-03 16:34:17 +08:00
董宏凯
016f921cf0
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 16:28:34 +08:00
董宏凯
9c8230a867
跨域修改
2026-06-03 16:28:29 +08:00
董宏凯 and Cursor
aea7724cdb
修复 embed 跨域并持久化圆桌 Step3 结果
...
- Gateway 默认 CORS 白名单增加 5174,embed 文档补充跨域配置说明
- 圆桌草稿新增 step3 快照字段与迁移,结果绘制 HTML 可随草稿恢复
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 16:27:42 +08:00
fengxiangdebaozi
79d87ad661
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-03 16:22:51 +08:00
fengxiangdebaozi
ad4b27b7ca
feat: 无界 ticket 登录、AI 写作配置确认与定时任务弹窗修复
...
无界 onlineTicket 对接 MaxKey 与 consumer 接口并用 sub 登录;新增 setup_writing 写作配置确认流;定时任务创建弹窗限制多行高度并支持滚动。
2026-06-03 16:20:45 +08:00
董宏凯 and Cursor
40ba81ee6a
新增 iframe 结果接口与圆桌 Step3 结果绘制
...
- 公开 API:GET /api/public/embed/sessions/{sessionId}/result 返回 messages、generated_text、generated_files
- 圆桌 Step3:内置 roundtable-report 智能体、report/init 与结果绘制 UI
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-03 13:57:37 +08:00
xu hd
d0e71a8104
Merge branch 'xuhd' into 'master'
...
技能详情对话框新增文件浏览面板:支持预览、编辑、下载、复制路径
See merge request knowledge-base-bj/deerflow-server!83
2026-06-03 04:36:31 +00:00
xuhd
f2d7d43e38
Merge remote-tracking branch 'origin/master' into xuhd
2026-06-03 11:55:44 +08:00
g zy
d7cb19ee96
Merge branch 'gzy_iframedf' into 'master'
...
Gzy iframedf
See merge request knowledge-base-bj/deerflow-server!82
2026-06-03 03:51:09 +00:00
ZyGuo
9d425a19e8
fix: 去掉iframe页顶部栏
2026-06-03 11:49:18 +08:00
xuhd and Claude Sonnet 4.6
48f37df3d5
chore(env): 更新本地开发环境配置
...
- 开启 GATEWAY_CORS_ALLOW_ALL=1(本地开发跨域放行)
- 更新前端 .env.development
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 11:45:54 +08:00
fengxiangdebaozi
ab876fc7d8
feat(ai-writing): 支持用户粘贴已有大纲并按结构生成
...
表单可提交 userOutline,后端解析/归一用户大纲并关联素材;补充大纲测试用例与右侧编辑器滑词/段落菜单文档。
2026-06-03 11:43:44 +08:00
xuhd and Claude Sonnet 4.6
712326387f
merge: 合并 origin/xuhd,解决 message-list-item 和 WorkspaceRoutes 冲突
...
- message-list-item: 保留 EmbeddedPageContext + 消息内联编辑两套功能
- WorkspaceRoutes: 保留 IframeChatPage + NotebookDetailPageWithKey
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 11:41:49 +08:00
Administrator and Claude Opus 4.8
133054e2dd
feat(skills/settings): 技能复制 + 设置持久化等会话前改动
...
- 技能复制:新增 POST 复制接口(_rewrite_skill_frontmatter_name 重写 frontmatter name + 校验 + 去重),前端 skills api/hooks 与技能设置页配套
- 设置持久化:lastAgentId、线程 RAG 模式锁(settings/index、local)
- i18n(en/zh/types)、agent-card/input-box/message-list 等页面文案与交互微调
- scheduler/element.py 小修
(本批为会话前已存在的工作区改动,按要求一并提交;构建产物 backend.zip 未提交)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 11:38:47 +08:00
Administrator and Claude Opus 4.8
adcc5a358b
feat(scheduled-tasks): 新增 HTML 页面定时任务(生成/预览/收藏/技能)
...
后端:
- 新增 task_kind=html_page 任务类型,与普通定时任务并存,配置存 execution_context(无需迁移)
- 执行流水线:智能体检索数据 -> 选定模型渲染 HTML -> 清洗/校验 -> 失败自动修复 -> 完整性闸门(缺 doctype/html/head/body/title 或残留脚本即失败) -> 归档 index.html -> 落库
- 新增 scheduled_html_pages / html_page_favorites 表与 store;收藏去重(不可重复)、可删除、收藏时提取可复用风格
- HTML 预览接口(鉴权 + 公开)、收藏接口
- 渲染注入已启用的 HTML 技能(metadata.kind=html_page);全程使用用户所选模型,去除硬编码 GLM-5
- 定时任务跳过 TitleMiddleware,避免标题生成回退默认模型
前端:
- 创建/编辑弹窗增加任务类型与 HTML 配置(页面要求/限制/参考收藏页/模型下拉)
- 运行详情页与公开页 iframe 沙箱预览 HTML;收藏按钮(已收藏禁用)
- 参考收藏页可选可删
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 11:35:38 +08:00
Administrator and Claude Opus 4.8
5c2379577b
fix(auth): token 登录将令牌放入 Authorization: Bearer 头
...
token 换登录调上游 getTokenInfo 时参数传错:原来发静态头
Authorization: Bearer admin + 令牌放 access_token cookie。上游实际
从 Authorization: Bearer <token> 头读取令牌。
- 鉴权头改为 "Bearer "+前端传入 token,删除 access_token cookie
- service_authorization 配置项弃用(保留兼容,不再参与请求)
- 新增回归测试 test_token_login_upstream_call.py
- 同步更新 AUTH_LOGIN.md / CLAUDE.md / config.yaml 注释 / login_config 文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-03 11:35:38 +08:00
Administrator and Claude Opus 4.8
c5352f2ee7
本地启动环境修复与配置
...
- config.yaml: checkpointer 连接串改为相对路径(原为他机绝对路径,本地无法创建)
- frontend-web: 补充缺失的 dayjs 直接依赖(lockfile 已有,package.json 缺失)
- .gitignore: 忽略 backend/uv.lock 并取消其跟踪
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 11:35:38 +08:00
ZyGuo
5574364438
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy_iframedf
2026-06-03 11:33:50 +08:00
ZyGuo
cb0b30690e
fix: 去掉用户气泡中<>的显示
2026-06-03 11:33:23 +08:00
g zy
8442e6ec8d
Merge branch 'gzy_iframedf' into 'master'
...
fix: 传图修复
See merge request knowledge-base-bj/deerflow-server!80
2026-06-03 03:12:40 +00:00
ZyGuo
8ba3a67401
fix: 传图修复
2026-06-03 11:12:10 +08:00
g zy
f2dc03b51e
Merge branch 'gzy_iframedf' into 'master'
...
Gzy iframedf
See merge request knowledge-base-bj/deerflow-server!79
2026-06-03 03:08:10 +00:00
ZyGuo
5d39aa55bd
feat: 支持传图
2026-06-03 10:51:42 +08:00
xuhd and Claude Sonnet 4.6
22574d3ada
fix(setup_agent): 限制技能数量最多 5 个
...
- middleware 拦截阶段静默截断 skills[:5],超出不报错不中断流程
- 工具执行阶段同样截断,双重兜底
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:48:13 +08:00
董宏凯
0727b4564b
圆桌规划第3步修改
2026-06-03 10:01:10 +08:00
董宏凯
6521218308
样式修改
2026-06-03 09:54:11 +08:00
ZyGuo
34a9f15cb4
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy_iframedf
2026-06-03 09:41:14 +08:00
ZyGuo
a5b65f4087
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy_iframedf
2026-06-03 09:41:09 +08:00
Administrator and Claude Opus 4.8
f590f672be
feat(skills/settings): 技能复制 + 设置持久化等会话前改动
...
- 技能复制:新增 POST 复制接口(_rewrite_skill_frontmatter_name 重写 frontmatter name + 校验 + 去重),前端 skills api/hooks 与技能设置页配套
- 设置持久化:lastAgentId、线程 RAG 模式锁(settings/index、local)
- i18n(en/zh/types)、agent-card/input-box/message-list 等页面文案与交互微调
- scheduler/element.py 小修
(本批为会话前已存在的工作区改动,按要求一并提交;构建产物 backend.zip 未提交)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:48:19 +08:00
Administrator and Claude Opus 4.8
d9afaca51f
feat(scheduled-tasks): 新增 HTML 页面定时任务(生成/预览/收藏/技能)
...
后端:
- 新增 task_kind=html_page 任务类型,与普通定时任务并存,配置存 execution_context(无需迁移)
- 执行流水线:智能体检索数据 -> 选定模型渲染 HTML -> 清洗/校验 -> 失败自动修复 -> 完整性闸门(缺 doctype/html/head/body/title 或残留脚本即失败) -> 归档 index.html -> 落库
- 新增 scheduled_html_pages / html_page_favorites 表与 store;收藏去重(不可重复)、可删除、收藏时提取可复用风格
- HTML 预览接口(鉴权 + 公开)、收藏接口
- 渲染注入已启用的 HTML 技能(metadata.kind=html_page);全程使用用户所选模型,去除硬编码 GLM-5
- 定时任务跳过 TitleMiddleware,避免标题生成回退默认模型
前端:
- 创建/编辑弹窗增加任务类型与 HTML 配置(页面要求/限制/参考收藏页/模型下拉)
- 运行详情页与公开页 iframe 沙箱预览 HTML;收藏按钮(已收藏禁用)
- 参考收藏页可选可删
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:46:20 +08:00
董宏凯
3b5525a0a5
ai写作修改
2026-06-02 22:55:22 +08:00
董宏凯
fdfb888be9
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-02 21:26:21 +08:00
fengxiangdebaozi
02eee4bd3e
页面修改
2026-06-02 21:25:44 +08:00
董宏凯
b257963551
ai写作
2026-06-02 21:22:31 +08:00
fengxiangdebaozi
fb43c036f6
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-02 21:15:53 +08:00
fengxiangdebaozi
9ae6184dc1
业务链条
2026-06-02 21:15:46 +08:00
董宏凯
7efedc7b44
ai写作修改
2026-06-02 20:36:22 +08:00
Administrator and Claude Opus 4.8
e1e9be8daa
fix(auth): token 登录将令牌放入 Authorization: Bearer 头
...
token 换登录调上游 getTokenInfo 时参数传错:原来发静态头
Authorization: Bearer admin + 令牌放 access_token cookie。上游实际
从 Authorization: Bearer <token> 头读取令牌。
- 鉴权头改为 "Bearer "+前端传入 token,删除 access_token cookie
- service_authorization 配置项弃用(保留兼容,不再参与请求)
- 新增回归测试 test_token_login_upstream_call.py
- 同步更新 AUTH_LOGIN.md / CLAUDE.md / config.yaml 注释 / login_config 文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 19:33:38 +08:00
Administrator
247ff86f2f
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-06-02 19:06:42 +08:00
吉鑫升
89cb5ab2f1
Merge remote-tracking branch 'origin/master' into ji
2026-06-02 17:40:56 +08:00
吉鑫升 and Claude Opus 4.8
c484481964
登录鉴权:新增用户名口令门 + token 换登录两种模式
...
- config 新增 auth_login 段(login_config.py):
- username_login.require_password 开启后,用户名直登必须带 ?password=,口令留空默认 123ewq
- token_login 用上游 token 调 getTokenInfo 换用户名再登录,用户名不在库自动注册;含 verify_ssl/ca_cert_path 处理 HTTPS 自签证书
- auth.py:口令门、/login/token 端点、共享 _get_or_create_user_by_username 与 _fetch_username_from_token;登录类报错文案改中文
- auth_middleware:/login/token 加入免鉴权白名单
- 前端 api.ts/LoginPage:透传 ?password=、?authToken=;修复错误体为对象时显示 [object Object] 的问题
- 文档:backend/CLAUDE.md + docs/AUTH_LOGIN.md 接口说明
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 17:39:56 +08:00
xuhd and Claude Sonnet 4.6
613cece224
fix(studio): 笔记切换页面不刷新 + 侧边栏错误提示友好化
...
- WorkspaceRoutes 给 StudioNotebookDetailPage 加 key={notebookId},切换笔记时强制重新挂载
- createSearchSpace 接口失败时解析响应体 detail 字段,直接展示服务端错误信息
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 17:24:08 +08:00
吉鑫升 and Claude Opus 4.8
5aa1fdca04
识图与文件上传/预览:可配置视觉模型 + 修复上传与回显
...
后端:
- 新增可配置识图模型(config: vision.model_name/prompt/max_tokens)。配置后 view_image 委托该模型识别并返回文字结果,文本主模型也能“看图”;未配置时回退到主模型自带视觉能力。新增 deerflow/models/vision.py 与 VisionConfig。
- 修复 Windows 上传全部报 unsafe:open_upload_file_no_symlink 不再强制要求 POSIX 专有的 O_NOFOLLOW,缺失时降级(仍用 lstat/fstat 防符号链接),Windows 追加 O_BINARY。
- 修复 normalize_input 丢弃 human 消息 additional_kwargs:保留 files/client_ts 等,使上传文件能回传到 UI 并被 UploadsMiddleware 识别。
- 约束 agent 行为:上传图片时引导只用 view_image,禁止用 read_file/grep/bash/python 解析图片字节;view_image 工具说明同步加固。
- 启用文档转换(uploads.auto_convert_documents),PDF/Word/Excel/PPT 自动转 Markdown 供 read_file/grep 读取。
- 订正若干模型错误的 supports_vision 标记。
前端:
- 修复上传文件不回显:parseUploadedFiles 不再因 "(empty)" 提前返回。
- 修复 artifact 401 破图:改用带 Authorization 头的 apiFetch 取 blob 显示(新增 useAuthedObjectUrl)。
- 新增上传文件预览弹窗:点击卡片可查看图片/文本/Markdown、Office(读转换后的 .md)、PDF;文件卡片改为可点击。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-02 16:43:53 +08:00
xuhd and Claude Sonnet 4.6
73700cca54
fix(ai_writing): 笔记来源素材使用真实检索分数并打印请求日志
...
- 笔记 chunk 的 relevance_score 改用接口返回的 score 字段(向量相似度/RRF),接口无分数时降级为位置估算
- _search_notebook 增加 INFO 级日志,输出每次请求的 payload 和响应 status/body,便于调试
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 16:31:57 +08:00
ZyGuo
3c92e87156
feat: 标题去除特殊tag
2026-06-02 16:24:01 +08:00
ZyGuo
0122d3e361
feat: 生成中状态
2026-06-02 16:18:00 +08:00
董宏凯
30410b0a93
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!77
2026-06-02 07:19:19 +00:00
fengxiangdebaozi
5c5632967c
样式修改
2026-06-02 15:16:39 +08:00
fengxiangdebaozi
d872f4e177
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-02 14:11:24 +08:00
fengxiangdebaozi
677faab273
代码提交
2026-06-02 11:50:22 +08:00
董宏凯
d40ee80680
Merge branch 'zhujingyi' into 'master'
...
Zhujingyi
See merge request knowledge-base-bj/deerflow-server!76
2026-06-02 03:49:25 +00:00
董宏凯
79dd6b9be0
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!75
2026-06-02 03:48:56 +00:00
ZyGuo
49cfc687f9
fix: 对话区域显示问题修复
2026-06-02 11:26:28 +08:00
fengxiangdebaozi
f0ccd6fb09
代码提交
2026-06-02 11:04:25 +08:00
zjy
372d4f7933
'feat:暗色模式样式修改'
2026-06-02 11:01:07 +08:00
fengxiangdebaozi
6621519f11
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-02 10:47:29 +08:00
fengxiangdebaozi
1777a0171b
d
2026-06-02 10:47:01 +08:00
fengxiangdebaozi
93e702f9ca
fix(frontend): show raw chat messages and improve roundtable draft saves
2026-06-02 10:45:20 +08:00
fengxiangdebaozi
0d8cdf3afb
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-01 22:17:44 +08:00
fengxiangdebaozi
fa41d620fd
字号调整
2026-06-01 22:17:39 +08:00
Administrator and Claude Opus 4.8
93543919d4
本地启动环境修复与配置
...
- config.yaml: checkpointer 连接串改为相对路径(原为他机绝对路径,本地无法创建)
- frontend-web: 补充缺失的 dayjs 直接依赖(lockfile 已有,package.json 缺失)
- .gitignore: 忽略 backend/uv.lock 并取消其跟踪
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-01 20:29:29 +08:00
董宏凯
001b04ac5a
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-01 20:00:46 +08:00
董宏凯
417ec01fb2
代码修改
2026-06-01 20:00:05 +08:00
fengxiangdebaozi
0c5938a5a3
代码代码修改
2026-06-01 19:54:45 +08:00
ZyGuo
2e6eff43ad
feat: 去掉demo按钮
2026-06-01 18:13:23 +08:00
xuhd and Claude Sonnet 4.6
c714351819
feat: 我的笔记列表与详情页 UI 重构(Gemini 风格)
...
- StudioNotebooksPage: 卡片改为灰底无边框圆角网格,hover 显示三点菜单,支持重命名(PATCH)和删除(DELETE)
- StudioNotebookDetailPage: 详情页背景改为主题色渐变,内容垂直居中,输入框内联布局,模型选择器移至右侧,历史对话限显 5 条可展开/滚动
- api.ts: 新增 deleteSearchSpace、renameSearchSpace、uploadSourceText 接口
- 来源 Dialog:新增「复制的文字」面板,支持粘贴文本上传
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 17:36:42 +08:00
董宏凯
e9c56f8635
部署
2026-06-01 17:33:40 +08:00
ZyGuo
5f88efb2c9
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy_iframedf
2026-06-01 17:29:30 +08:00
ZyGuo
e6af567206
iframe 页面优化
2026-06-01 17:27:57 +08:00
吉鑫升
43cbcd86be
Merge remote-tracking branch 'origin/master' into ji
2026-06-01 17:11:08 +08:00
董宏凯
44931f8205
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!74
2026-06-01 09:01:23 +00:00
吉鑫升
bc7622b0bd
Merge remote-tracking branch 'origin/master' into ji
2026-06-01 16:59:56 +08:00
xuhd
1a1d22d6ee
添加环境变量我的笔记的前端地址
2026-06-01 16:59:09 +08:00
xuhd and Claude Sonnet 4.6
ab9034633a
feat: StudioNotebookDetailPage 添加「我的笔记」跳转
...
- 聊天视图顶栏和列表视图右上角均新增「我的笔记」链接
- 点击跳转目标系统 callback 页面并携带 token 和 redirect 参数
- 来源弹窗仅保留「上传文件」和「复制的文字」两个选项
- VITE_AIPI_BACKENP_URL 用于 Studio API 调用,VITE_AIPI_FRONTEND_URL 用于页面跳转
- useStudioNotebooks 新增 token 返回值供页面直接使用
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 16:55:39 +08:00
吉鑫升 and Claude Opus 4.8
c860ee85f7
技能展示适配:支持多结果集(result sets)渲染
...
- 后端 extensions_config 新增 SkillDisplayResultSetConfig,SkillDisplayConfig 增加 resultSets 字段
- threads 引用响应增加 resultSetKey / resultSetLabel,runtime/references 适配多结果集
- 前端 skill-display 适配器/运行时/类型支持多结果集渲染,聊天框、消息组、技能展示面板相应更新
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 16:42:39 +08:00
ZyGuo
16adb90653
feat: 登陆后跳转位置增加iframe判断
2026-06-01 16:13:47 +08:00
fengxiangdebaozi
a5d877207e
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-01 15:11:14 +08:00
fengxiangdebaozi
685abb6aa9
深蓝色ui
2026-06-01 15:11:05 +08:00
xuhd and Claude Sonnet 4.6
7f0a0d92a3
feat: 素材来源新增「我的笔记」选项
...
- materialSource 枚举新增 notebook 值
- 选择「我的笔记」时展开笔记本 + 文档多选选择器
- 切换其他来源自动清空笔记选择
- 只有 notebook 模式才向后端传笔记参数
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 14:30:16 +08:00
xuhd and Claude Sonnet 4.6
e4983be9d7
fix: 解决 merge 冲突,恢复笔记来源字段
...
合并 master 时冲突导致 notebook_search_space_id / notebook_source_ids
被覆盖,现补回;同时兼容 master 新增的 material_source / model_name 字段。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 14:22:55 +08:00
xuhd
e30b44dae1
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-06-01 14:21:20 +08:00
ZyGuo
0922c8299f
feat: iframe page
2026-06-01 14:16:13 +08:00
董宏凯
8adb4d5cef
一键部署
2026-06-01 13:53:57 +08:00
董宏凯
5198f6c4df
Merge branch 'dhk-1' into 'master'
...
圆桌草稿持久化:localStorage 迁至后端 MySQL
See merge request knowledge-base-bj/deerflow-server!73
2026-06-01 04:59:24 +00:00
董宏凯 and Claude Opus 4.8
5d0bafd651
AI写作:新增素材来源选项(知识库/技能检索)
...
写作表单新增「素材来源」下拉:知识库(默认 web/intranet 检索)/
技能检索(用已启用技能编排检索)。用户选择后素材收集专家首次检索
据此决定检索方式。
- state 新增 material_source 通道(缺省 knowledge_base,兼容老 session)
- researcher 首次检索(无干预)时按来源决定 is_skill_search;
PAUSE-1「启用技能检索」按钮仍独立有效
- 前端 AIWritingRequest.materialSource + 表单下拉 + hook 提交 material_source
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 12:58:50 +08:00
xuhd and Claude Sonnet 4.6
b749c78efa
feat: AI写作集成笔记来源,支持多文档多选检索
...
- 前端 AIWritingForm 新增笔记来源选择器(笔记本单选 + 文档多选 checkbox)
- AIWritingRequest 类型新增 noteSearchSpaceId / noteSourceIds 字段
- AIMaterial.sourceType 新增 notebook 类型
- useAIWritingStream startWriting 时自动获取 notebook_token 并携带笔记参数
- 后端 AIWritingState 新增 notebook_search_space_id / notebook_source_ids 字段
- researcher 节点新增 _search_notebook,解析 API 返回的 documents/chunks,
每个 chunk 作为独立素材(source_type=notebook)混入素材包
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 11:47:37 +08:00
xuhd
22b93e32eb
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-06-01 10:49:53 +08:00
ZyGuo
c767566cb6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-06-01 10:29:39 +08:00
ZyGuo
a2cc1832f2
chore: ignore
2026-06-01 10:27:31 +08:00
fengxiangdebaozi
169346cdbd
样式修改
2026-06-01 10:06:28 +08:00
董宏凯
ea50540bd5
样式修改
2026-05-31 18:23:34 +08:00
董宏凯
8e909ef1c1
ui规范
2026-05-31 18:11:17 +08:00
董宏凯
7ad42ccf16
ui规范
2026-05-31 16:48:43 +08:00
董宏凯 and Cursor
633a350bfc
AI写作:技能检索进度反馈与超时兜底
...
检索等待时 SkillStepsCard 显示 spinner;单技能检索 25s 超时避免卡死;前后端增加 skill-timing 调试日志。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 14:42:51 +08:00
董宏凯 and Cursor
23d6f9efc2
圆桌 Step1:支持多澄清实时展示与合并提交
...
流式解析 ask_clarification 逐题渲染澄清卡;草稿恢复 selectedAgents 修复参与角色;Step3 隐藏左侧栏让报告区全宽。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 14:23:43 +08:00
董宏凯 and Cursor
838cae0d2d
圆桌草稿持久化:localStorage 迁至后端 MySQL
...
新增 /api/roundtable-drafts 草稿 CRUD 与会话级推荐历史;前端 useDraftPersistence 改走 api/drafts,删除本地 drafts.ts。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 00:23:25 +08:00
董宏凯
24e92c437d
ai写作bug修改
2026-05-29 22:16:19 +08:00
董宏凯
7d45c89d72
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-29 20:56:43 +08:00
董宏凯
8e931c5acc
代码
2026-05-29 20:56:07 +08:00
fengxiangdebaozi
be37779472
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-29 20:17:07 +08:00
fengxiangdebaozi
27cfd53c06
样式修改
2026-05-29 20:16:41 +08:00
吉鑫升
00e74a5e45
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# offline-backend-20260512/backend/app/gateway/services.py
2026-05-29 18:36:29 +08:00
fengxiangdebaozi
c890ae5a15
样式修改
2026-05-29 18:17:08 +08:00
fengxiangdebaozi
786ddaa38f
代码修改
2026-05-29 18:07:45 +08:00
董宏凯
d162e5533f
Merge branch 'zhujingyi' into 'master'
...
'feat:智能体暗色模式样式修改'
See merge request knowledge-base-bj/deerflow-server!72
2026-05-29 07:30:17 +00:00
董宏凯
e68b726f9a
Merge branch 'dhk-1' into 'master'
...
圆桌 Step2:固定协调员单例、优化调度性能、修正研讨中状态
See merge request knowledge-base-bj/deerflow-server!71
2026-05-29 07:29:17 +00:00
fengxiangdebaozi
8ed3b0eb91
路由样式修改
2026-05-29 15:26:41 +08:00
fengxiangdebaozi
a9332c0ab0
技能联调
2026-05-29 15:22:28 +08:00
xuhd
423abf4fde
上传文件添加
2026-05-29 15:15:29 +08:00
fengxiangdebaozi
07ad87365f
作家写作
2026-05-29 11:42:30 +08:00
吉鑫升 and Claude Opus 4.7
2c136c1fde
参考文献模式合并为单一 referenceBatch 并统一连续编号
...
将同一轮检索结果合并为一个 referenceBatch,由系统统一从 [1] 连续编号,避免每个检索词各自重新编号;提示词引导优先并行检索后再作答。智能体列表接口并发加载技能等轻量信息以渲染卡片徽章,并新增参考文献相关测试。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-29 11:31:31 +08:00
fengxiangdebaozi
1a122eb7fd
代码修改
2026-05-29 11:19:58 +08:00
xuhd and Claude Sonnet 4.6
4a63399363
feat: 新增工作室展示开关 VITE_STUDIO_ENABLED
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-29 10:47:50 +08:00
zjy
ee8e2b3225
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into zhujingyi
2026-05-29 09:56:12 +08:00
zjy
8aa52e7e3c
'feat:智能体暗色模式样式修改'
2026-05-29 09:51:44 +08:00
董宏凯 and Cursor
de597b602a
圆桌 Step2:固定协调员单例、优化调度性能、修正研讨中状态
...
将 roundtable-coordinator 改为内置单例避免重复创建;legacy sync 加 TTL 减少 runs/stream 延迟;前端仅当前发言者显示研讨中。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-28 23:23:40 +08:00
董宏凯
2371364911
代码优化
2026-05-28 22:35:05 +08:00
董宏凯
214e794451
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 21:22:54 +08:00
董宏凯
ab902f948a
代码合并
2026-05-28 21:22:49 +08:00
fengxiangdebaozi
ce1e36f4fd
样式修改
2026-05-28 21:15:45 +08:00
fengxiangdebaozi
72eb5204ff
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 20:18:43 +08:00
xuhd
e4da5bec8d
22222
2026-05-28 18:56:11 +08:00
xuhd
6102963624
000
2026-05-28 18:43:20 +08:00
xuhd
b152cb43fc
222
2026-05-28 18:37:48 +08:00
xuhd and Claude Sonnet 4.6
ebe1678b30
Merge origin/master into xuhd
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 18:31:16 +08:00
fengxiangdebaozi
8a0962681a
代码修改
2026-05-28 18:29:50 +08:00
fengxiangdebaozi
9778f9521e
接口地址修改
2026-05-28 18:29:50 +08:00
fengxiangdebaozi
4a3cfb9dfa
任务理解修改
2026-05-28 18:29:50 +08:00
董宏凯
1cfa93e855
点击后打开沙箱
2026-05-28 18:29:50 +08:00
董宏凯
4fab13c728
文件浏览
2026-05-28 18:29:50 +08:00
fengxiangdebaozi
a3c69dab07
代码修改
2026-05-28 18:29:50 +08:00
董宏凯
e3dd430e68
按钮修改
2026-05-28 18:29:44 +08:00
董宏凯
d018ecd805
速度优化
2026-05-28 18:29:44 +08:00
fengxiangdebaozi
a4b7ab5e9d
代码修改
2026-05-28 18:29:37 +08:00
董宏凯
ef1481be63
智能体查询优化
2026-05-28 18:29:37 +08:00
董宏凯
3a2b5d5ccd
代码修改
2026-05-28 18:29:32 +08:00
吉鑫升 and Claude Opus 4.7
78f6e37f76
新增智能体收藏、定时任务必须生成MD校验、问答时间显示及账号绑定的常用提示词
...
- 智能体支持从广场收藏到「我的」(新增 agent_favorites 表与收藏/取消收藏接口)
- 定时任务新增「必须生成Markdown文件」开关:注入提示词并校验生成的 .md 文件且正文超过100字,否则记为失败(存于 execution_context,无需迁移)
- 聊天问答展示时间(年月日 时分):问题在右下角、回答在左下角
- 常用提示词改为与账号绑定(新增 user_custom_prompts 表与 /api/user-prompts 接口),仅在首页输入框上方以居中标签 + 轮播展示,齿轮置于最右侧管理
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:29:32 +08:00
xuhd and Claude Sonnet 4.6
1ea521abab
前端优化:chat-box、消息列表、rehype 及 Studio 相关交互改进
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 18:29:10 +08:00
xuhd
b8a97f2138
xxx
2026-05-28 18:29:10 +08:00
吉鑫升 and Claude Opus 4.7
dac5ff38db
技能展示配置持久化并适配引用来源,新增技能文件预览组件
...
- 后端将技能展示适配配置存入数据库,引用批次按持久化映射进行适配
- 前端新增技能文件预览弹窗与文件树组件,完善技能来源展示
- 修正 .gitignore 中宽泛的 skills/ 规则误忽略前端组件目录的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:29:10 +08:00
董宏凯
ac98d2f585
ai写作默认模型
2026-05-28 18:29:10 +08:00
董宏凯
37a9cca82d
代码修改
2026-05-28 18:29:10 +08:00
董宏凯
8c53594df7
多智能体会商沙箱
2026-05-28 18:29:10 +08:00
hkdong and Claude Opus 4.7
eec7567ac6
修复总控智能体共识后仍被错判为继续派活的死循环
...
_find_dispatch_message 原实现会一路向前翻历史,直到撞到任意一条带
tool_calls 的 AIMessage,导致本轮 LLM 即使共识(tool_calls=[]),也会
被上一轮的派活 AI 翻出来再用一次,前端因此把同样的 task 又发给子智能体,
形成"嘴上共识、手上派活"的死循环。
改成只看最新一条 AIMessage(跳过末尾 skill_stop / clarification ack
ToolMessage 即可),让 tool_calls 是否为空作为本轮的唯一权威信号。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 18:29:10 +08:00
fengxiangdebaozi
920fde9cd0
代码提交
2026-05-28 18:29:10 +08:00
董宏凯
742bbdf3ac
点击确认
2026-05-28 18:29:10 +08:00
董宏凯
4da8a1301e
报告沙箱
2026-05-28 18:29:10 +08:00
董宏凯
3bd5cfab9d
代码修改
2026-05-28 18:29:10 +08:00
董宏凯
4f8b0f1c67
ai写作修改
2026-05-28 18:29:10 +08:00
fengxiangdebaozi
c59819f6dc
开发文档
2026-05-28 18:29:10 +08:00
fengxiangdebaozi
96d0f4ae73
接口修改
2026-05-28 18:29:03 +08:00
吉鑫升
a35aeee6a2
代码提交
2026-05-28 18:28:57 +08:00
吉鑫升
2688cda6b5
忽略RAG调试日志
2026-05-28 18:28:57 +08:00
吉鑫升
f668133297
实现RAG参考文献显示模式
2026-05-28 18:28:57 +08:00
吉鑫升 and Claude Opus 4.7
89bd07be92
管理员智能体/技能管理 + 跨标签登录同步 + 上游响应异常重试
...
- 「设置和更多」新增「智能体管理」「技能管理」入口,与定时任务管理同级;
独立的 AdminAgentsPage/AdminSkillsPage 复用 AgentCard/SkillRow,
管理员可查看并编辑/删除所有用户的智能体与技能。
- 后端 /api/agents、/api/skills 增加 ?admin=true 越权列表;agents 端
放宽 _get_editable_or_raise 让管理员可编辑/删除任意智能体;新增
list_all/update_any/delete_any(agents)与 list_all(skills)。
- 新增 AuthSyncWatcher:监听 localStorage["deerflow.auth"] 的 storage
事件,user_id 变化时自动 reload,修复多标签切换登录后老页面点击
「新对话」偶发 404 的问题。
- LLMErrorHandlingMiddleware 将 bad_response_status_code / JSON
decode 等上游网关乱码识别为可重试的 upstream 类故障。
- 侧边栏「任务管理」改名为「定时任务」。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
a5fb806028
轮换 LLM 凭证与默认模型(DeepSeek → zai-org/GLM-5-FP8)
...
- backend/config.yaml、config.yaml 把默认模型从 deepseek-chat 切到
zai-org/GLM-5-FP8(modal endpoint),并轮换对应 API key / Bearer
- .env 同步更新
注意:这些文件包含真实凭证,应用部署时务必通过 .env 或私有 config
覆盖,不要把仓库里的版本直接用于生产。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
83714f628b
私密/公开互斥兜底 + 智能体搜索按显示后名称匹配 + 多处小修
...
- 后端 update_agent / set_agent_private 增加兜底:is_private=true 时强制
published=false,杜绝同时落在公开+私密两个广场的灰色态
- agent-card 编辑弹窗暴露 editIsPrivate 开关,与公开发布开关在前端互斥校验
- agent-gallery 智能体模糊搜索改为前端针对 desensitize() 后的名字比对,
解决脱敏显示与原始名字不一致导致看似搜索失效的问题
- useUpdateAgent 在 onSuccess 立刻把新数据 patch 进所有 ["agents"] 列表
缓存,卡片在后台 refetch 完成前先行 re-render,避免「切换私密/发布后
好像没反应」的体感延迟
- useGlobalShortcuts 对 event.key 为 undefined(IME 合成 / 扩展注入)做
容错,否则会抛 TypeError 把后续所有快捷键吃掉
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升 and Claude Opus 4.7
ae3e2fb4e8
默认主题改为浅色 + 管理员可配置全局默认主题
...
- system_settings 新增 AppearanceSettings(default_theme),默认为 light,
对应 GET /api/system-settings/appearance(任何人可读)+ PUT(admin 可写)
- App.tsx 把 NextThemesProvider 的 defaultTheme 从 dark 改为 light,并把
QueryClientProvider 提到 ThemeProvider 外层以便后者使用 useQuery
- ThemeContext 新增 localStorage 标志 strategy-theme-user-set:用户调用
toggleTheme / setTheme 时打标;每次启动若标志未设,则跟随 admin 配置的
default_theme 同步主题,admin 改动用户刷新即生效;标志一旦存在永远尊重
用户个人选择
- legacy 'theme' 键迁移视为用户显式选择,避免老用户被新默认覆盖
- frontend system-settings api/hook 增 appearance 拉取与更新
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:49 +08:00
吉鑫升
650102cedb
feat: improve citation display and skill persistence
2026-05-28 18:28:45 +08:00
吉鑫升 and Claude Opus 4.7
61babbdf7d
技能展示样本运行器 + 参考文献来源过滤调整
...
- skills 路由新增 _run_skill_python_sample,按本地 Python 候选实际执行
技能脚本,作为展示适配器的真实样本来源
- skill-display 运行时与适配器调整,参考文献收集放宽起始消息约束
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升 and Claude Opus 4.7
3734b6a05f
新增智能体私密广场(is_private + 管理员密码门控)
...
- agents 表新增 is_private 列与迁移 20260526_01;列表 filter 拆分为公开
广场用的 _listing_filter(剔除私密)与单条访问用的 _visible_filter(保留可达)
- system_settings 增 PrivateSquareSettings(enabled + password_hash),
对应 GET/PUT /api/system-settings/private-square 由管理员管理
- /api/agents 接口:列表/创建/更新新增 is_private 字段;新增
POST /api/agents/private-square/list(密码校验后返回私密智能体)与
PUT /api/agents/{id}/private(管理员跨用户搬动智能体)
- 前端「智能体」页签新增「私密广场」入口(密码校验 + sessionStorage 缓存 +
锁定按钮),卡片增加紫色私密徽章与盾牌切换按钮(owner 自助 / 管理员跨用户),
「广场」与首页推荐候选均剔除私密智能体
- 新增管理员配置页 /settings/private-square 与侧边栏入口
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升 and Claude Opus 4.7
0256d527f0
技能展示适配持久化 + 参考文献收集与新对话流式修复
...
- 后端新增 skill_display_adapters 表,持久化每个技能的 display 配置与 sample
payload;/api/skills 列表、详情、设置接口同步读写
- 新增 /api/skills/{name}/display-sample 端点,编辑器优先加载库中样例
- 前端展示适配面板改为从后端加载持久样例,无样例时提示"自动识别"
- 参考文献收集修复:仅在 bash/shell/python 等执行类工具上从参数推断技能
名,避免 read_file / web_fetch 误匹配;引用列表纳入最新一条助手消息
- ChatBox 改用「最新 human → 最新 ai」窗口收集引用,并仅保留 citation
模式
- 修复「新对话」点击后已发消息消失:useThreadStream 只在 threadId 切回
空值时重置/中止 SSE,避免 onCreated 分配 id 时把刚开始的流打断;
ChatPage 在 landing 状态隐藏 MessageList,移除 KeyedChatPage remount
- 技能详情对话框:所有者可查看源码与文件 tab(不再要求管理员)
- LocalSandbox:Windows PowerShell 5 路径下把 && 重写为 ;,并以
UTF-8 解码 subprocess 输出,避免中文乱码
- knowledge-search-v2 mock 样例改为中文固定测试数据
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:28:41 +08:00
吉鑫升
7adb93fb8e
修复「新对话」流式中无法重置 + 参考文献开关默认关闭并加对勾
...
- 流式回答过程中点「新对话」:URL 同路径导致 react-router navigate 静默 no-op,
下游 hook 收不到事件;改为显式 navigate(..., {replace:true, state:{resetAt}})
保证每次点击刷新 location.key,并让 useThreadChat 监听 location.key 触发重置
- useThreadStream 在 threadId 变化时 stop() 掉上一条 SSE,避免旧流继续派发事件
- 引入 KeyedChatPage 用 location.key 作 ChatRuntime key,真正的导航触发整树 remount,
解决 useStream 内部 stream.values 残留导致欢迎页底下还能看到旧消息的过渡帧问题
- 「参考文献」开关默认关闭(local.ts),开启态在文字前额外多一个 ✓ 对勾
2026-05-28 18:28:33 +08:00
吉鑫升
97f24f17eb
新增 RAG 引用展示模式:支持技能结果按编号引用/列表/表格渲染
...
- 前端新增 skill-display 适配层(runtime/display-adapter)与可视化适配面板,
支持从技能返回 JSON 自动识别字段并配置 citation/list/table/card 展示
- 正文 [[N]] 编号渲染为可点击徽章,点击不跳 URL 而是定位到右侧参考文献面板;
参考卡片样式重做(圆形编号、悬停高亮、过滤掉 "result" 占位类型)
- bash 工具调用按命令中的 skills/{public,custom}/<name>/ 路径反查展示适配,
解决调用名为 "bash" 时无法匹配到具体技能的问题
- 工具结果 JSON 解析放宽:能从 stderr/exit code 噪声尾巴里抢救出 JSON 主体
- 展示适配自动识别接入 LLM:读 SKILL.md 让模型推断真实返回结构,失败回退 mock
- 展示适配面板修复保存回显:保存后表单跟随服务端最新值刷新,样例文本不再被抹掉
- 设置页加 "RAG 引用模式" 开关(默认开),关联 lead-agent prompt 注入引用规则
2026-05-28 18:28:33 +08:00
吉鑫升 and Claude Opus 4.7
96b0bae6ca
技能详情对话框新增文件浏览面板:支持预览、编辑、下载、复制路径
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 18:27:12 +08:00
董宏凯
3632b0d726
代码合并
2026-05-28 17:49:18 +08:00
吉鑫升
6792b4f4c4
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/chats/chat-box.tsx
# offline-backend-20260512/backend/app/gateway/routers/agents.py
2026-05-28 17:29:36 +08:00
吉鑫升 and Claude Opus 4.7
10e35055e0
新增智能体收藏、定时任务必须生成MD校验、问答时间显示及账号绑定的常用提示词
...
- 智能体支持从广场收藏到「我的」(新增 agent_favorites 表与收藏/取消收藏接口)
- 定时任务新增「必须生成Markdown文件」开关:注入提示词并校验生成的 .md 文件且正文超过100字,否则记为失败(存于 execution_context,无需迁移)
- 聊天问答展示时间(年月日 时分):问题在右下角、回答在左下角
- 常用提示词改为与账号绑定(新增 user_custom_prompts 表与 /api/user-prompts 接口),仅在首页输入框上方以居中标签 + 轮播展示,齿轮置于最右侧管理
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 17:16:15 +08:00
董宏凯
7548620683
样式修改
2026-05-28 17:14:01 +08:00
董宏凯
d5e12e3506
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!70
2026-05-28 07:58:17 +00:00
fengxiangdebaozi
23b9d401b7
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 15:56:58 +08:00
董宏凯
44894765b6
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!69
2026-05-28 07:54:20 +00:00
fengxiangdebaozi
c2568f4be9
代码修改
2026-05-28 15:50:31 +08:00
董宏凯
90adb9dfa3
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 15:48:15 +08:00
董宏凯
d2f3eba434
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
...
# Conflicts:
# frontend-web/src/components/workspace/chats/chat-box.tsx
# frontend-web/src/pages/StrategyRoutes.tsx
# offline-backend-20260512/backend/app/gateway/routers/agents.py
2026-05-28 15:36:11 +08:00
fengxiangdebaozi
2fe058e0ee
接口地址修改
2026-05-28 15:24:00 +08:00
吉鑫升 and Claude Opus 4.7
4410acaee8
技能展示配置持久化并适配引用来源,新增技能文件预览组件
...
- 后端将技能展示适配配置存入数据库,引用批次按持久化映射进行适配
- 前端新增技能文件预览弹窗与文件树组件,完善技能来源展示
- 修正 .gitignore 中宽泛的 skills/ 规则误忽略前端组件目录的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 15:16:56 +08:00
fengxiangdebaozi
d03f5fbbc0
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 15:10:25 +08:00
fengxiangdebaozi
ae1c2f95a7
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-28 14:25:54 +08:00
fengxiangdebaozi
381547ec78
任务理解修改
2026-05-28 14:25:44 +08:00
董宏凯
f4672ea6b8
点击后打开沙箱
2026-05-28 13:56:05 +08:00
董宏凯
51a270a2f7
文件浏览
2026-05-28 13:52:25 +08:00
fengxiangdebaozi
f3c8f2e1ab
代码修改
2026-05-28 11:45:25 +08:00
xuhd
e2b676caaa
修复
2026-05-28 10:00:40 +08:00
董宏凯
68ac49259c
按钮修改
2026-05-28 09:09:02 +08:00
董宏凯
d94c0aae4b
速度优化
2026-05-27 23:12:02 +08:00
董宏凯
047e700d09
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 22:23:44 +08:00
董宏凯
9ccc473982
智能体查询优化
2026-05-27 22:23:37 +08:00
董宏凯
4142029f48
代码修改
2026-05-27 21:25:15 +08:00
fengxiangdebaozi
dbf2cc8d80
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 20:57:19 +08:00
吉鑫升
f200972c00
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-05-27 20:28:38 +08:00
董宏凯
3033597f02
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!68
2026-05-27 12:28:25 +00:00
董宏凯
a16dd889cf
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 20:28:05 +08:00
董宏凯
dab6ecbf9a
ai写作默认模型
2026-05-27 20:28:00 +08:00
董宏凯
8bdbf6ab15
代码修改
2026-05-27 19:43:28 +08:00
fengxiangdebaozi
8f75e12871
代码修改
2026-05-27 19:43:15 +08:00
xuhd
36311e6cef
999
2026-05-27 19:30:54 +08:00
fengxiangdebaozi
8f5af46ec2
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 19:15:19 +08:00
fengxiangdebaozi
aeebf53739
api
2026-05-27 19:15:09 +08:00
吉鑫升
1d81ee9ed0
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
2026-05-27 19:12:27 +08:00
董宏凯
e1c9d24aa4
Merge branch 'dhk-1' into 'master'
...
多智能体会商沙箱
See merge request knowledge-base-bj/deerflow-server!67
2026-05-27 11:12:07 +00:00
董宏凯
b7da062a4c
多智能体会商沙箱
2026-05-27 19:11:36 +08:00
吉鑫升
6fd6d564eb
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/messages/message-list-item.tsx
# frontend-web/src/components/workspace/messages/message-list.tsx
# offline-backend-20260512/backend/packages/harness/deerflow/agents/lead_agent/agent.py
# offline-backend-20260512/backend/packages/harness/deerflow/agents/lead_agent/prompt.py
2026-05-27 19:10:27 +08:00
吉鑫升
106f1d1794
代码提交
2026-05-27 19:02:19 +08:00
董宏凯
3809d7f3e7
Merge branch 'tjl' into 'master'
...
修复总控智能体共识后仍被错判为继续派活的死循环
See merge request knowledge-base-bj/deerflow-server!66
2026-05-27 10:08:50 +00:00
hkdong and Claude Opus 4.7
c769dd20f7
修复总控智能体共识后仍被错判为继续派活的死循环
...
_find_dispatch_message 原实现会一路向前翻历史,直到撞到任意一条带
tool_calls 的 AIMessage,导致本轮 LLM 即使共识(tool_calls=[]),也会
被上一轮的派活 AI 翻出来再用一次,前端因此把同样的 task 又发给子智能体,
形成"嘴上共识、手上派活"的死循环。
改成只看最新一条 AIMessage(跳过末尾 skill_stop / clarification ack
ToolMessage 即可),让 tool_calls 是否为空作为本轮的唯一权威信号。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-27 18:07:30 +08:00
董宏凯
445865e422
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!65
2026-05-27 09:48:13 +00:00
fengxiangdebaozi
24d4934c27
代码提交
2026-05-27 17:47:20 +08:00
吉鑫升
fe7cdba07e
忽略RAG调试日志
2026-05-27 17:44:02 +08:00
吉鑫升
c56db15a03
实现RAG参考文献显示模式
2026-05-27 17:40:10 +08:00
董宏凯
deb9993a64
点击确认
2026-05-27 17:25:10 +08:00
董宏凯
1ff8860b98
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 17:20:47 +08:00
董宏凯
198fc18c50
报告沙箱
2026-05-27 17:20:41 +08:00
董宏凯
621fdc9244
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!64
2026-05-27 08:02:37 +00:00
fengxiangdebaozi
9ece6213a9
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 16:02:12 +08:00
fengxiangdebaozi
35c313b689
开发文档
2026-05-27 16:02:07 +08:00
董宏凯
d6b88b842d
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 15:31:00 +08:00
董宏凯
ff90cac755
代码修改
2026-05-27 15:30:51 +08:00
董宏凯
8f93606c81
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-27 14:19:18 +08:00
董宏凯
95baa44a1c
ai写作修改
2026-05-27 14:19:11 +08:00
ZyGuo
fa65e67069
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-05-27 12:07:07 +08:00
xu hd
066d5032f9
Merge branch 'xuhd' into 'master'
...
修复一下
See merge request knowledge-base-bj/deerflow-server!63
2026-05-27 03:44:16 +00:00
xuhd
3f8a520624
修复一下
2026-05-27 11:40:41 +08:00
fengxiangdebaozi
6ab6695be7
接口修改
2026-05-27 11:37:07 +08:00
吉鑫升 and Claude Opus 4.7
eda0ccffdb
管理员智能体/技能管理 + 跨标签登录同步 + 上游响应异常重试
...
- 「设置和更多」新增「智能体管理」「技能管理」入口,与定时任务管理同级;
独立的 AdminAgentsPage/AdminSkillsPage 复用 AgentCard/SkillRow,
管理员可查看并编辑/删除所有用户的智能体与技能。
- 后端 /api/agents、/api/skills 增加 ?admin=true 越权列表;agents 端
放宽 _get_editable_or_raise 让管理员可编辑/删除任意智能体;新增
list_all/update_any/delete_any(agents)与 list_all(skills)。
- 新增 AuthSyncWatcher:监听 localStorage["deerflow.auth"] 的 storage
事件,user_id 变化时自动 reload,修复多标签切换登录后老页面点击
「新对话」偶发 404 的问题。
- LLMErrorHandlingMiddleware 将 bad_response_status_code / JSON
decode 等上游网关乱码识别为可重试的 upstream 类故障。
- 侧边栏「任务管理」改名为「定时任务」。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 11:13:29 +08:00
xu hd
1d399c3c21
Merge branch 'xuhd' into 'master'
...
feat: 笔记本 Studio 模块 — RAG 聊天、引用弹窗、侧边栏工作室
See merge request knowledge-base-bj/deerflow-server!62
2026-05-27 03:10:13 +00:00
ZyGuo
cfd0faf5e7
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-05-27 10:01:35 +08:00
ZyGuo
ffee030548
chore: ignore
2026-05-27 10:01:15 +08:00
董宏凯
9d81858ff4
Merge branch 'dhk-1' into 'master'
...
代码提交
See merge request knowledge-base-bj/deerflow-server!61
2026-05-27 01:16:50 +00:00
fengxiangdebaozi
f791210e70
代码提交
2026-05-27 09:16:25 +08:00
xuhd and Claude Sonnet 4.6
794ff93fa9
chore: 更新 .env 配置(notebook API 地址、数据库连接)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 23:56:14 +08:00
xuhd and Claude Sonnet 4.6
ff8eb930f7
feat: 笔记本 Studio 模块 — RAG 聊天、引用弹窗、侧边栏工作室
...
- 新增 Studio 笔记本列表页与详情页(RAG 流式聊天、历史线程切换)
- 修复 streamSubgraphs: true 使 AI 流式消息正常展示
- 引用圆圈 [[cite:N]] 渲染 + 点击弹窗显示文档 chunk 内容
- 侧边栏「工作室」区域支持折叠/展开,笔记本过滤 is_owner=true
- 后端 lead_agent 支持 notebook_source_ids / notebook_token 参数
- 线程 metadata 改为 thread_type=notebook,侧边栏过滤同步
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-26 23:55:08 +08:00
董宏凯
d71a21ca8b
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!60
2026-05-26 15:25:32 +00:00
fengxiangdebaozi
2bd23dd374
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-26 23:21:13 +08:00
fengxiangdebaozi
a501463ac7
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-26 23:20:58 +08:00
fengxiangdebaozi
9bd049923e
多智能体页面结构修改
2026-05-26 23:20:50 +08:00
董宏凯
67152f1c83
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-26 21:10:33 +08:00
董宏凯
8ca3fdec75
ai写作
2026-05-26 21:10:27 +08:00
fengxiangdebaozi
8e7fc54548
代码修改
2026-05-26 21:09:02 +08:00
吉鑫升
1642c3e694
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/contexts/ThemeContext.tsx
# offline-backend-20260512/backend/config.yaml
2026-05-26 19:34:43 +08:00
董宏凯
d738c13e9e
Merge branch 'dhk-1' into 'master'
...
智能体列表
See merge request knowledge-base-bj/deerflow-server!59
2026-05-26 11:32:35 +00:00
fengxiangdebaozi
45eb46c3f3
智能体列表
2026-05-26 19:31:59 +08:00
吉鑫升 and Claude Opus 4.7
7b629d0697
轮换 LLM 凭证与默认模型(DeepSeek → zai-org/GLM-5-FP8)
...
- backend/config.yaml、config.yaml 把默认模型从 deepseek-chat 切到
zai-org/GLM-5-FP8(modal endpoint),并轮换对应 API key / Bearer
- .env 同步更新
注意:这些文件包含真实凭证,应用部署时务必通过 .env 或私有 config
覆盖,不要把仓库里的版本直接用于生产。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 19:31:10 +08:00
吉鑫升 and Claude Opus 4.7
89a1fa5042
私密/公开互斥兜底 + 智能体搜索按显示后名称匹配 + 多处小修
...
- 后端 update_agent / set_agent_private 增加兜底:is_private=true 时强制
published=false,杜绝同时落在公开+私密两个广场的灰色态
- agent-card 编辑弹窗暴露 editIsPrivate 开关,与公开发布开关在前端互斥校验
- agent-gallery 智能体模糊搜索改为前端针对 desensitize() 后的名字比对,
解决脱敏显示与原始名字不一致导致看似搜索失效的问题
- useUpdateAgent 在 onSuccess 立刻把新数据 patch 进所有 ["agents"] 列表
缓存,卡片在后台 refetch 完成前先行 re-render,避免「切换私密/发布后
好像没反应」的体感延迟
- useGlobalShortcuts 对 event.key 为 undefined(IME 合成 / 扩展注入)做
容错,否则会抛 TypeError 把后续所有快捷键吃掉
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 19:30:00 +08:00
吉鑫升 and Claude Opus 4.7
c9c59b761f
默认主题改为浅色 + 管理员可配置全局默认主题
...
- system_settings 新增 AppearanceSettings(default_theme),默认为 light,
对应 GET /api/system-settings/appearance(任何人可读)+ PUT(admin 可写)
- App.tsx 把 NextThemesProvider 的 defaultTheme 从 dark 改为 light,并把
QueryClientProvider 提到 ThemeProvider 外层以便后者使用 useQuery
- ThemeContext 新增 localStorage 标志 strategy-theme-user-set:用户调用
toggleTheme / setTheme 时打标;每次启动若标志未设,则跟随 admin 配置的
default_theme 同步主题,admin 改动用户刷新即生效;标志一旦存在永远尊重
用户个人选择
- legacy 'theme' 键迁移视为用户显式选择,避免老用户被新默认覆盖
- frontend system-settings api/hook 增 appearance 拉取与更新
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 19:29:45 +08:00
吉鑫升
8b2f398015
feat: improve citation display and skill persistence
2026-05-26 19:27:03 +08:00
董宏凯
5c5bf7a60e
Merge branch 'dhk-1' into 'master'
...
提示词修改
See merge request knowledge-base-bj/deerflow-server!58
2026-05-26 06:49:51 +00:00
fengxiangdebaozi
6cf4404243
提示词修改
2026-05-26 14:48:06 +08:00
ZyGuo
56ff310f29
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-05-26 14:40:01 +08:00
吉鑫升
b671b49725
Merge remote-tracking branch 'origin/master' into ji
2026-05-26 14:25:02 +08:00
吉鑫升 and Claude Opus 4.7
d3d7db1f34
技能展示样本运行器 + 参考文献来源过滤调整
...
- skills 路由新增 _run_skill_python_sample,按本地 Python 候选实际执行
技能脚本,作为展示适配器的真实样本来源
- skill-display 运行时与适配器调整,参考文献收集放宽起始消息约束
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 14:24:47 +08:00
吉鑫升 and Claude Opus 4.7
26a388e3bf
新增智能体私密广场(is_private + 管理员密码门控)
...
- agents 表新增 is_private 列与迁移 20260526_01;列表 filter 拆分为公开
广场用的 _listing_filter(剔除私密)与单条访问用的 _visible_filter(保留可达)
- system_settings 增 PrivateSquareSettings(enabled + password_hash),
对应 GET/PUT /api/system-settings/private-square 由管理员管理
- /api/agents 接口:列表/创建/更新新增 is_private 字段;新增
POST /api/agents/private-square/list(密码校验后返回私密智能体)与
PUT /api/agents/{id}/private(管理员跨用户搬动智能体)
- 前端「智能体」页签新增「私密广场」入口(密码校验 + sessionStorage 缓存 +
锁定按钮),卡片增加紫色私密徽章与盾牌切换按钮(owner 自助 / 管理员跨用户),
「广场」与首页推荐候选均剔除私密智能体
- 新增管理员配置页 /settings/private-square 与侧边栏入口
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 14:24:29 +08:00
董宏凯
6a9d8e903e
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!57
2026-05-26 06:19:16 +00:00
董宏凯
daba5c0599
代码修改
2026-05-26 14:18:00 +08:00
董宏凯
d1e6cd5a8f
多智能体协作修改
2026-05-26 13:01:01 +08:00
fengxiangdebaozi
eeb7f30585
代码修改
2026-05-26 11:47:47 +08:00
董宏凯
29fdb06cea
Merge branch 'dhk-1' into 'master'
...
修改
See merge request knowledge-base-bj/deerflow-server!56
2026-05-26 01:52:02 +00:00
fengxiangdebaozi
6d02e2c89e
ai写作修改
2026-05-26 09:50:24 +08:00
fengxiangdebaozi
cf8c17d08b
敏感词修改
2026-05-26 09:15:32 +08:00
吉鑫升 and Claude Opus 4.7
ad5d55220c
技能展示适配持久化 + 参考文献收集与新对话流式修复
...
- 后端新增 skill_display_adapters 表,持久化每个技能的 display 配置与 sample
payload;/api/skills 列表、详情、设置接口同步读写
- 新增 /api/skills/{name}/display-sample 端点,编辑器优先加载库中样例
- 前端展示适配面板改为从后端加载持久样例,无样例时提示"自动识别"
- 参考文献收集修复:仅在 bash/shell/python 等执行类工具上从参数推断技能
名,避免 read_file / web_fetch 误匹配;引用列表纳入最新一条助手消息
- ChatBox 改用「最新 human → 最新 ai」窗口收集引用,并仅保留 citation
模式
- 修复「新对话」点击后已发消息消失:useThreadStream 只在 threadId 切回
空值时重置/中止 SSE,避免 onCreated 分配 id 时把刚开始的流打断;
ChatPage 在 landing 状态隐藏 MessageList,移除 KeyedChatPage remount
- 技能详情对话框:所有者可查看源码与文件 tab(不再要求管理员)
- LocalSandbox:Windows PowerShell 5 路径下把 && 重写为 ;,并以
UTF-8 解码 subprocess 输出,避免中文乱码
- knowledge-search-v2 mock 样例改为中文固定测试数据
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-25 23:16:51 +08:00
董宏凯
2ecd50f5dc
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!55
2026-05-25 14:52:19 +00:00
董宏凯
48d22e0d42
ui规范
2026-05-25 22:51:38 +08:00
董宏凯
096e85fbc3
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-25 22:39:56 +08:00
董宏凯
e3d8e534f6
样式修改
2026-05-25 22:39:50 +08:00
fengxiangdebaozi
acadc246cb
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-25 21:22:09 +08:00
fengxiangdebaozi
fd2c8d1d64
ui规范
2026-05-25 21:21:54 +08:00
董宏凯
f7575e4ddb
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!54
2026-05-25 12:35:09 +00:00
董宏凯
114ee8f6ac
代码修改
2026-05-25 20:34:46 +08:00
董宏凯
b91a45639f
模型下拉框
2026-05-25 20:23:33 +08:00
吉鑫升
c4277f8566
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/messages/message-list-item.tsx
2026-05-25 19:50:17 +08:00
吉鑫升
b7aa8b06ca
修复「新对话」流式中无法重置 + 参考文献开关默认关闭并加对勾
...
- 流式回答过程中点「新对话」:URL 同路径导致 react-router navigate 静默 no-op,
下游 hook 收不到事件;改为显式 navigate(..., {replace:true, state:{resetAt}})
保证每次点击刷新 location.key,并让 useThreadChat 监听 location.key 触发重置
- useThreadStream 在 threadId 变化时 stop() 掉上一条 SSE,避免旧流继续派发事件
- 引入 KeyedChatPage 用 location.key 作 ChatRuntime key,真正的导航触发整树 remount,
解决 useStream 内部 stream.values 残留导致欢迎页底下还能看到旧消息的过渡帧问题
- 「参考文献」开关默认关闭(local.ts),开启态在文字前额外多一个 ✓ 对勾
2026-05-25 19:47:55 +08:00
董宏凯
26097b7cfe
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!53
2026-05-25 11:39:59 +00:00
董宏凯
6addf507cb
样式修改
2026-05-25 19:39:31 +08:00
董宏凯
f0bf29ba08
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-25 19:38:23 +08:00
董宏凯
6ef7701805
样式修改
2026-05-25 19:38:16 +08:00
fengxiangdebaozi
70814b1026
脱敏
2026-05-25 19:30:36 +08:00
fengxiangdebaozi
ca1d7e77ba
脱敏
2026-05-25 19:30:26 +08:00
吉鑫升
a800baf8ae
Merge remote-tracking branch 'origin/master' into ji
2026-05-25 18:59:32 +08:00
fengxiangdebaozi
2f7f07467e
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-25 18:20:50 +08:00
fengxiangdebaozi
f472bba9f0
敏感词
2026-05-25 18:20:40 +08:00
董宏凯
48de418d21
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!52
2026-05-25 10:19:58 +00:00
吉鑫升
8892637b97
新增 RAG 引用展示模式:支持技能结果按编号引用/列表/表格渲染
...
- 前端新增 skill-display 适配层(runtime/display-adapter)与可视化适配面板,
支持从技能返回 JSON 自动识别字段并配置 citation/list/table/card 展示
- 正文 [[N]] 编号渲染为可点击徽章,点击不跳 URL 而是定位到右侧参考文献面板;
参考卡片样式重做(圆形编号、悬停高亮、过滤掉 "result" 占位类型)
- bash 工具调用按命令中的 skills/{public,custom}/<name>/ 路径反查展示适配,
解决调用名为 "bash" 时无法匹配到具体技能的问题
- 工具结果 JSON 解析放宽:能从 stderr/exit code 噪声尾巴里抢救出 JSON 主体
- 展示适配自动识别接入 LLM:读 SKILL.md 让模型推断真实返回结构,失败回退 mock
- 展示适配面板修复保存回显:保存后表单跟随服务端最新值刷新,样例文本不再被抹掉
- 设置页加 "RAG 引用模式" 开关(默认开),关联 lead-agent prompt 注入引用规则
2026-05-25 18:19:52 +08:00
董宏凯
8c55d4b55d
文档修改
2026-05-25 18:19:16 +08:00
董宏凯
dffb8a955b
暂停修改
2026-05-25 17:56:40 +08:00
董宏凯
86e3b4de06
Merge branch 'dhk-1' into 'master'
...
接口联调
See merge request knowledge-base-bj/deerflow-server!51
2026-05-25 09:50:01 +00:00
董宏凯
525218f9a7
多智能体协作
2026-05-25 17:48:59 +08:00
董宏凯
9a70329db2
代码提交
2026-05-25 16:08:18 +08:00
吉鑫升 and Claude Opus 4.7
9a63a4b7ca
技能详情对话框新增文件浏览面板:支持预览、编辑、下载、复制路径
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-25 14:17:39 +08:00
董宏凯
357f245aec
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-25 14:14:39 +08:00
董宏凯
8f9451a24b
接口修改
2026-05-25 14:14:31 +08:00
fengxiangdebaozi
6396ccc701
接口修改
2026-05-25 14:14:01 +08:00
董宏凯
9361c069db
Merge branch 'dhk-1' into 'master'
...
代码修改
See merge request knowledge-base-bj/deerflow-server!50
2026-05-24 14:16:58 +00:00
董宏凯
0b5cc2d639
代码修改
2026-05-24 22:16:25 +08:00
董宏凯
61358b6233
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!49
2026-05-24 13:13:48 +00:00
董宏凯
05815d9475
多智能问答
2026-05-24 21:13:19 +08:00
董宏凯
77db1a6297
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-23 23:36:55 +08:00
董宏凯
21254a060a
接口联调
2026-05-23 23:36:41 +08:00
董宏凯
f049936ec4
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!48
2026-05-23 15:05:37 +00:00
董宏凯
8673eb5eca
接口联调
2026-05-23 23:05:01 +08:00
董宏凯
43df9175df
修改
2026-05-23 17:46:31 +08:00
董宏凯 and Cursor
7fcf22de90
Merge origin/dhk-1: resolve config.yaml database backend conflict
...
Use sqlite as temporary fallback while MySQL is unavailable; keeps
local persistence instead of in-memory backend.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-23 17:44:52 +08:00
董宏凯
6f9d81ca68
样式修改
2026-05-23 17:43:46 +08:00
董宏凯
267ce81be2
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!47
2026-05-23 09:42:11 +00:00
fengxiangdebaozi
3987ee7ee3
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-23 17:23:22 +08:00
fengxiangdebaozi
87c9986b33
接口联调
2026-05-23 17:23:15 +08:00
fengxiangdebaozi
a85f1571a0
接口修改
2026-05-23 10:49:16 +08:00
董宏凯
d6ff00226a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-22 21:41:52 +08:00
董宏凯
7f1f34e34f
样式修改
2026-05-22 21:41:26 +08:00
fengxiangdebaozi
edb3238f3e
接口修改
2026-05-22 20:40:36 +08:00
吉鑫升 and Claude Opus 4.7
67d5e43ec4
标题生成强制关闭 think 模式,回答速度指示器默认开启
...
- TitleMiddleware 给模型实例注入 extra_body 关 think(覆盖 Zhipu GLM 与 Qwen/vLLM 两套写法),并兜底剥离不闭合/残留的 <think> 标签,避免 GLM5 起标题时长时间思考与标签泄漏。
- 前端 streamSpeedMeterEnabled 默认改为 true,设置项描述同步为"默认开启"。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 18:03:24 +08:00
吉鑫升 and Claude Opus 4.7
f8e3a3e5b4
公开定时任务页:每条记录标题前加 M月D日 前缀
...
同名任务多次执行后列表全是同一行,加上日期前缀方便扫描;
用 muted-foreground + text-xs + font-normal 弱化,不喧宾夺主。
Tooltip / title / 删除确认弹窗内的文案也同步带上日期。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 16:38:44 +08:00
吉鑫升
ef410e298d
Merge remote-tracking branch 'origin/master' into ji
2026-05-22 16:23:11 +08:00
吉鑫升 and Claude Opus 4.7
80fc2a9240
新增技能目录重新扫描接口与分页,关掉技能安全扫描的配置开关
...
- 后端新增 POST /api/skills/reconcile-custom:扫描 custom 目录,把磁盘存在但 DB 无记录的技能登记到调用者名下(published=false),附 4 个单元测试
- 前端技能列表加"重新扫描技能目录"按钮,列表分页每页 10 条
- SkillsConfig 新增 security_scan.enabled(默认 true)用于关闭 LLM 安全扫描;scan_skill_content 在开关关闭时直接放行
- 智能体卡片/对话页长名 truncate 显示 + loading 占位
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 16:22:42 +08:00
xu hd
3ae1202536
Merge branch 'xuhd' into 'master'
...
feat: 统一 Admin 用户中心 + 修复默认对话记忆存储路径
See merge request knowledge-base-bj/deerflow-server!46
2026-05-22 08:05:32 +00:00
xuhd and Claude Sonnet 4.6
2c0bb2041b
feat: 统一 Admin 用户中心 + 修复默认对话记忆存储路径
...
## 前端
- 新增 AdminUserHub 页面,合并用户管理/审计/记忆三个页面为统一中心(左侧用户列表 + 右侧 Tab)
- 旧三条 admin 路由重定向到新 /admin 路由
- 侧边栏导航菜单合并为单一入口"用户中心"
- memory-settings-page: 默认助手下拉选项传 agent=default(后端识别为全局哨兵)
## 后端
- memory.py: 将 "default" 加入全局哨兵 _GLOBAL_AGENT_VALUES,?agent=default 读全局记忆文件
- memory_middleware.py: _resolve_agent_id() 无 agent 上下文时返回 None,默认对话写入 users/{id}/memory.json
- manager.py: 移除 agent_id or "default" 回退,让 None 透传给 V1 provider
- admin_users.py: Admin 记忆 API 将"默认助手"桶改为读全局文件(agent_id=None)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 16:04:49 +08:00
董宏凯
ab6b6876aa
样式修改
2026-05-22 15:26:20 +08:00
董宏凯
284445e0c9
样式修改
2026-05-22 15:20:59 +08:00
董宏凯
05729505d8
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-22 15:13:44 +08:00
董宏凯
4004fb908b
接口地址
2026-05-22 15:13:28 +08:00
董宏凯
19660e49d2
样式修噶
2026-05-22 14:56:59 +08:00
吉鑫升
b6a2c9336e
Merge remote-tracking branch 'origin/master' into ji
2026-05-22 14:25:23 +08:00
吉鑫升 and Claude Opus 4.7
ba2bc46042
智能体对话选 Agent 直达、澄清问题批量提交、LLM 错误中文化等
...
- 前端:新会话选 Agent 后直接跳转并自动发送,智能体页输入框宽度与首页对齐
- 前端:澄清卡片支持多选+多问题合并提交,消除单题逐一发送的割裂感
- 前端:定时任务弹窗 Agent 下拉支持长描述截断,避免撑破布局
- 后端:ask_clarification 支持同回合多次调用以提多个独立问题
- 后端:LLM 错误处理与定时任务失败提示统一改为中文
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 14:24:29 +08:00
wg he
ad8f74c964
Merge branch 'hwg' into 'master'
...
修改数据库连接
See merge request knowledge-base-bj/deerflow-server!45
2026-05-22 06:10:44 +00:00
wghe
ded3123af2
修改数据库连接
2026-05-22 14:09:03 +08:00
董宏凯
e076abe759
ui规范
2026-05-22 12:34:11 +08:00
xu hd
c1bb4864ab
Merge branch 'xuhd-2' into 'master'
...
feat: V1记忆系统支持、管理员记忆编辑及对话记忆注入开关
See merge request knowledge-base-bj/deerflow-server!44
2026-05-22 04:34:07 +00:00
xuhd and Claude Sonnet 4.6
b3a39cbdf7
feat: V1记忆系统支持、管理员记忆编辑及对话记忆注入开关
...
- 新增 V1 记忆系统(memory.json)支持:提取结果强制中文、历史字段修复为增量累积日志
- 用户设置页面:V1 模式下新增 agent 选择器,可查看各 agent 的私有记忆
- 管理员记忆页面:区分 V1/V2 渲染,V1 支持完整 CRUD(用户画像/历史摘要/事实记录)
- 后端新增 V1 记忆 CRUD API(sections/facts),前端同步添加对应 hooks 和 API 调用
- 新建专家页面:标记 bootstrap 线程类型,跳过记忆保存,侧边栏过滤该类线程
- 输入框工具栏新增「记忆」开关:关闭时 V1/V2 均不注入,开启时按 config.yaml 版本正常注入
- 修复 agent 目录不存在时的 FileNotFoundError,回退至默认配置
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-22 12:32:47 +08:00
董宏凯
d59e0514b3
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!43
2026-05-22 03:12:49 +00:00
董宏凯
6e88c5a1c5
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-22 11:11:57 +08:00
吉鑫升
c74be2b789
Merge branch 'master' into ji
2026-05-22 10:58:20 +08:00
吉鑫升 and Claude Opus 4.7
a258122e22
定时任务:修复智能体执行 422、新增描述字段、公开页删除按钮等
...
- 定时任务执行时按 agent.id 解析智能体,老数据中存的中文显示名会回退按 name 查找,避免 422
- scheduled_tasks 表新增 description 字段(迁移 20260522_01),创建/编辑表单支持,公开页标题下显示
- 公开页(/public/scheduled-tasks/{id})新增删除单次执行记录入口,使用样式化 Dialog 确认
- 公开页左侧标题区精简:去掉 schedule/timezone/最近状态两行;执行列表标题剥离尾部时间戳,"计划"改为"执行时间"
- 工作区定时任务列表:超长标题改为按字符换行不再截断;按 created_at 倒序(新建任务在前)
- 启动 Alembic 升级加超时与单独线程,MySQL 缺库时自动 CREATE DATABASE
- vite build 增加 8GB 内存上限
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 10:55:59 +08:00
董宏凯
a01d7123d7
来源新增修改
2026-05-22 10:43:12 +08:00
董宏凯
7652db4601
样式修改
2026-05-21 22:26:25 +08:00
董宏凯
433c540ee2
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!42
2026-05-21 12:49:11 +00:00
董宏凯
37e1f7104f
代码提交
2026-05-21 20:47:45 +08:00
董宏凯
6467c8a870
样式修改
2026-05-21 20:42:57 +08:00
吉鑫升 and Claude Opus 4.7
a892f55cb2
Merge branch 'master' into ji
...
冲突解决:
- frontend-web/src/pages/AgentChatPage.tsx: 保留 HEAD 的 isLandingState +
AgentWelcome 欢迎页扩展,丢弃 master 的旧版 InputBox 风格
- offline-backend-20260512/backend/config.yaml: 保留 HEAD 的对齐注释格式;
master 引入的中文 bank_mission / bank_retain_mission 已自动合入
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 20:31:49 +08:00
吉鑫升
ac4424bab2
代码修改
2026-05-21 20:19:44 +08:00
wg he
99992c951d
Merge branch 'hwg' into 'master'
...
feat: 智能体精选排序与新对话智能体选择器
See merge request knowledge-base-bj/deerflow-server!41
2026-05-21 11:49:54 +00:00
wghe
c516b74b75
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into hwg
2026-05-21 19:44:15 +08:00
xu hd
da53b81bf9
Merge branch 'xuhd' into 'master'
...
22
See merge request knowledge-base-bj/deerflow-server!37
2026-05-21 11:43:01 +00:00
xuhd
f730924572
222
2026-05-21 19:42:46 +08:00
董宏凯
0fb69a38cd
Merge branch 'dhk-1' into 'master'
...
笔记本页面
See merge request knowledge-base-bj/deerflow-server!39
2026-05-21 11:41:20 +00:00
董宏凯
125e8b271b
笔记本页面
2026-05-21 19:40:54 +08:00
董宏凯
8c2ab6b860
Merge branch 'dhk-1' into 'master'
...
意图理解
See merge request knowledge-base-bj/deerflow-server!38
2026-05-21 10:48:46 +00:00
董宏凯
d639b24c2d
意图理解
2026-05-21 18:48:15 +08:00
wghe
6ebbf3aa32
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into hwg
2026-05-21 18:35:56 +08:00
wghe
b97548f8d6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into hwg
2026-05-21 18:30:28 +08:00
wghe
87eff3e133
22
2026-05-21 18:29:55 +08:00
xuhd
2e6ce67b64
22
2026-05-21 18:04:45 +08:00
吉鑫升 and Claude Opus 4.7
843eda6fea
fix: 公开接口豁免 CSRF 校验
...
/api/public/ 命名空间下的匿名 PUT/POST 请求没有会话 cookie,
被 CSRF 中间件拦在 403。auth 中间件已放行该前缀,CSRF 这里补齐豁免,
让公开定时任务页的编辑保存能正常调用。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 17:45:54 +08:00
吉鑫升
643f9b2c76
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/pages/AgentChatPage.tsx
2026-05-21 17:44:09 +08:00
董宏凯
2089f5e8ee
Merge branch 'dhk-1' into 'master'
...
配置参数修改
See merge request knowledge-base-bj/deerflow-server!36
2026-05-21 09:38:12 +00:00
董宏凯
7e98d7dc52
配置参数修改
2026-05-21 17:37:39 +08:00
xu hd
a514b2fe79
Merge branch 'xuhd' into 'master'
...
feat: 记忆配置改为数据库存储,用户只可配置召回模式
See merge request knowledge-base-bj/deerflow-server!35
2026-05-21 09:34:48 +00:00
xuhd and Claude Sonnet 4.6
d56230e04d
feat: 记忆配置改为数据库存储,用户只可配置召回模式
...
- 新增 persistence/memory_config/ 模块:UserMemoryConfigRow ORM 模型 +
SqlUserMemoryConfigRepository + MemoryUserMemoryConfigStore(内存兼容)
- 新增 Alembic 迁移脚本 20260521_01 创建 user_memory_configs 表
- memory_config.py:USER_WRITABLE_FIELDS 从 3 个缩减为 1 个
(hindsight.recall_budget),移除文件 IO,改为进程内 cache + async DB 对接函数
- Gateway lifespan 启动时批量预热 recall_budget cache
- memory router PATCH/DELETE 改用 DB 存储,支持 400 校验非法 budget 值
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 17:34:25 +08:00
董宏凯
03e0d8248d
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!34
2026-05-21 09:23:14 +00:00
董宏凯
065bd8f28a
样式修改
2026-05-21 17:22:40 +08:00
董宏凯
ca13a9199f
样式修改
2026-05-21 16:39:48 +08:00
董宏凯
b59d476c2d
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!32
2026-05-21 08:31:57 +00:00
董宏凯
c69486556a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-21 16:31:27 +08:00
董宏凯
bfd75da308
功能迁移,页面整体样式修改
2026-05-21 16:30:11 +08:00
吉鑫升 and Claude Opus 4.7
53bbb9b15b
feat: 公开定时任务页支持正文/MD 切换与内联编辑
...
- 公开查看器右侧改为 Tabs:MD 附件优先、然后是「正文」;标签使用文件名(去后缀)
- 新增内联编辑:正文与 MD 文件均可编辑保存,每个 Tab 支持 Word 下载
- 后端新增公开 PUT 端点(/runs/{run_id}/files/{i}、/runs/{run_id}/body),服务层提取 _apply_run_file_edit 并新增 admin_update_run_file / admin_update_run_body
- 列表过滤:仅展示 succeeded 且有正文或可用 MD 的执行记录;后端在响应中标记每个文件 available,前端隐藏磁盘已缺失的 MD Tab
- 左侧任务名与右侧执行记录标题均改为可换行 + Tooltip 显示完整内容
- .gitignore 增加 frontend-web/dist
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 15:53:43 +08:00
吉鑫升
f1d58983c2
feat: 智能体精选排序与新对话智能体选择器
...
- 后端新增 featured_order 字段及精选排序 API(/agents/selector、/agents/{id}/featured、/agents/featured/order),移除 user_agent_pin 表
- 前端新对话页 (ChatPage) 与输入框 (InputBox) 接入 agent-selector,选中后跳转 AgentChatPage 并通过 sessionStorage 透传首条消息
- 新增管理员智能体管理弹窗 (agent-manage-dialog) 支持精选添加/移除/上下移动
2026-05-21 14:39:12 +08:00
xu hd
a8a545690f
Merge branch 'xuhd' into 'master'
...
feat: 智能体创建流程优化与管理员记忆页面
See merge request knowledge-base-bj/deerflow-server!31
2026-05-21 03:50:02 +00:00
xuhd and Claude Sonnet 4.6
3748513996
feat: 智能体创建流程优化与管理员记忆页面
...
- 创建智能体页面:保存后自动跳转列表页、技能列表增加搜索过滤框
- Bootstrap 模式:开放全部技能可见性,注入专属提示词(skill_list 匹配意图、禁止 skill_manage)
- 管理员记忆页面:新增 AdminMemoryPage 及路由,支持查看/编辑用户记忆条目
- 内存配置与管理员用户接口同步更新
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 11:43:59 +08:00
董宏凯
18c2a4122f
Merge branch 'dhk-1' into 'master'
...
更新
See merge request knowledge-base-bj/deerflow-server!30
2026-05-21 00:32:37 +00:00
董宏凯
04664c8d42
更新
2026-05-21 08:31:33 +08:00
董宏凯
628bbe14a8
Merge branch 'dhk-1' into 'master'
...
样式修改
See merge request knowledge-base-bj/deerflow-server!29
2026-05-20 14:47:15 +00:00
董宏凯
abae7c9d67
样式修改
2026-05-20 22:46:37 +08:00
董宏凯
eeee00f6cd
样式修改
2026-05-20 22:17:59 +08:00
吉鑫升 and Claude Opus 4.7
6971ea5f9c
fix: 修正 config.yaml 中 minimax 模型条目缩进,避免 YAML 解析失败
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 19:45:52 +08:00
吉鑫升
cee38f93c8
Merge remote-tracking branch 'origin/master' into ji
2026-05-20 19:38:00 +08:00
吉鑫升 and Claude Opus 4.7
fa5a6b8176
fix: 技能详情弹窗宽度自适应
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 19:37:46 +08:00
董宏凯
97f8940b15
样式修改
2026-05-20 17:21:29 +08:00
董宏凯
556d23ade5
样式修改
2026-05-20 17:13:59 +08:00
吉鑫升
313290b22c
Merge remote-tracking branch 'origin/master'
2026-05-20 17:06:06 +08:00
吉鑫升 and Claude Opus 4.7
d339db4799
feat: 公开定时任务页面、Word 导出、定时任务实时刷新与技能详情重构
...
- 新增 /public/scheduled-tasks/:taskId 公开只读访问页与对应的
/api/public/scheduled-tasks 后端路由(无需登录)
- 新增对话整体 / 单条消息 / Markdown 工件 "另存为 Word (.docx)" 能力
- 定时任务列表与运行列表在任务执行中自动轮询刷新,并新增"正在执行"标记
- 定时任务运行消息接口在事件存储为空时回退到 LangGraph checkpoint,
让正在执行的任务也能立即看到提示词与流式输出
- 技能详情对话框由折叠面板改为 Tab 切换(Detail / SKILL.md),
并支持 Rendered / Raw 切换、一键复制
- config.yaml 增加 database (MySQL) 与 checkpointer (SQLite) 配置块
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 17:04:58 +08:00
董宏凯
03dff2ce77
样式修改
2026-05-20 15:21:23 +08:00
董宏凯
c2c44f8d29
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-20 15:10:09 +08:00
董宏凯
13130c7f27
展开收起动画
2026-05-20 15:09:50 +08:00
董宏凯
30b986bb33
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!28
2026-05-20 06:06:30 +00:00
董宏凯
0196b0a445
文档修改
2026-05-20 14:05:53 +08:00
董宏凯
8edd06fb67
文档配置文件修改
2026-05-20 14:03:26 +08:00
ZyGuo
38b59cc198
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into gzy
2026-05-20 13:42:37 +08:00
董宏凯
4fbd0bb5c5
ai写作
2026-05-20 13:06:29 +08:00
董宏凯
c2563661d0
Merge branch 'dhk-1' into 'master'
...
容错处理
See merge request knowledge-base-bj/deerflow-server!27
2026-05-20 04:54:00 +00:00
董宏凯
f358cfb7c7
容错处理
2026-05-20 12:51:04 +08:00
董宏凯
ef11d3e0ed
Merge branch 'dhk-1' into 'master'
...
报错兜底
See merge request knowledge-base-bj/deerflow-server!26
2026-05-19 14:56:01 +00:00
董宏凯
f44e2ccf52
报错兜底
2026-05-19 22:54:36 +08:00
吉鑫升
7e75c5b9b9
Merge remote-tracking branch 'origin/master' into ji
2026-05-19 19:58:59 +08:00
董宏凯
15ae11f966
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!25
2026-05-19 11:54:42 +00:00
董宏凯
226439ef36
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-19 19:54:18 +08:00
董宏凯
81aca93b81
章节问答
2026-05-19 19:51:44 +08:00
吉鑫升 and Claude Opus 4.7
777c3b0079
fix: 定时任务执行过程实时刷新——RunJournal 增加按时间 flush
...
RunJournal 原本只在缓冲满 20 条或运行结束时才把事件落库,短运行会在结束前一直查不到消息,导致定时任务执行详情页的「执行过程」一直显示「暂无执行消息」。
新增 _FLUSH_INTERVAL_SECONDS=3s 的按时间 flush(由 _put 驱动);flush 失败时退回缓冲并重新抛出以便区分成败;flush 成功后若缓冲仍有残留则补一次 flush,失败则不重试避免空转。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 18:18:14 +08:00
董宏凯
ab85e4df72
效果优化
2026-05-19 18:10:15 +08:00
吉鑫升
cf8185498a
Merge branch 'ji'
2026-05-19 17:22:45 +08:00
吉鑫升 and Claude Opus 4.7
bf34b7df4e
fix: 修复 Memory V2 合并导致的启动崩溃
...
master 的 Memory V2 重构删除了 memory/updater.py,admin_users.py 仍从中导入 get_memory_data 导致启动 ImportError。改用 BuiltinFileProvider 读取 V2 的 USER.md / 各 agent MEMORY.md;前端 MemoryBucketView 同步改为渲染 V2 条目列表。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 17:22:27 +08:00
吉鑫升 and Claude Opus 4.7
028c5a34e6
fix: 速度胶囊每轮只显示一次 + 技能调用按 run 合并统计
...
速度胶囊:原本每条 AI 消息都渲染,agentic 多轮 LLM 调用会出现多个胶囊。改为只在每轮 turn-final 消息(下一条 human 之前的最后一条 AI 消息)显示。
技能统计:tool_call_metrics 改为按 (run_id, skill_name) upsert 合并——同一 run 内同一技能的多次调用/重试合并为一行;任一成功即记成功,全部失败则记一行 error 并累积所有报错信息;非技能调用不受影响。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 17:22:17 +08:00
xuhd
c0ea0b0f5a
标题生成
2026-05-19 16:30:41 +08:00
吉鑫升
4c38055d38
Merge remote-tracking branch 'origin/master' into ji
2026-05-19 16:28:39 +08:00
吉鑫升 and Claude Opus 4.7
87fcbc5bfb
chore: vite 构建产物使用相对路径 (base: "./")
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-19 16:28:29 +08:00
ZyGuo
043a1aab21
update git ignore
2026-05-19 16:12:12 +08:00
xu hd
9f86c8e40d
Merge branch 'xuhd' into 'master'
...
feat(memory): Memory V2 重写 - 可插拔 provider + Hindsight 集成
See merge request knowledge-base-bj/deerflow-server!22
2026-05-19 08:10:25 +00:00
xuhd
3330da0e59
记忆的config.yaml修改
2026-05-19 16:06:51 +08:00
xuhd
64492bec43
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-19 16:05:11 +08:00
董宏凯
2402a84c71
检索逻辑修改
2026-05-19 15:14:51 +08:00
董宏凯
294d06f22b
文档修改
2026-05-19 13:00:40 +08:00
xuhd
d6e788dc89
修复
2026-05-19 09:55:20 +08:00
xuhd
070cd07199
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-19 09:40:19 +08:00
xuhd
4ded0ccd4f
补充
2026-05-19 09:38:20 +08:00
xuhd
6253a2bca9
修改优化
2026-05-19 09:38:00 +08:00
吉鑫升
bd1efd8026
Merge branch ji into master: 工具/技能调用统计 + 用户活动审计 + 标签多选筛选
2026-05-19 09:28:44 +08:00
吉鑫升 and Claude Opus 4.7
4940e0d8ed
feat: 工具/技能调用统计 + 用户活动审计 + 标签多选筛选
...
- 任务1: 用户管理/定时任务管理移入左下角菜单, 从侧边栏删除原入口
- 任务2: 管理员查看用户问答(读 LangGraph checkpoint)与记忆, 新增 admin_users 路由与审计页
- 任务3: 标签筛选改为顶部多选标签栏(OR), agents/skills/scheduled_tasks 三端
- 任务4: 新增 tool_call_metrics 表 + ToolMetricsMiddleware + tool-metrics 路由,
工具/技能调用统计并入大模型统计页, 含错误分类
- 技能识别: lead agent 经 read_file 加载 /mnt/skills/<cat>/<name>/SKILL.md 调用技能,
中间件扫描工具参数里的 skills/{public,custom}/{name}/ 路径还原 skill_name
- 单元测试 tests/test_tool_metrics_middleware.py (18 项全过)
- 附: SQLite->MySQL 切换后清理脚本
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 00:59:15 +08:00
董宏凯
8d6cc65530
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!21
2026-05-18 15:08:25 +00:00
董宏凯
b8adefbb88
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-18 23:08:02 +08:00
董宏凯
2c56a84bb7
接口报错异常处理
2026-05-18 23:06:59 +08:00
董宏凯
613e22d6ca
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!20
2026-05-18 14:53:35 +00:00
董宏凯
73e76fc72f
依赖安装
2026-05-18 22:46:57 +08:00
董宏凯
1e5e2581c8
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-18 22:45:25 +08:00
董宏凯
b25c4e33cb
异常处理
2026-05-18 22:41:44 +08:00
董宏凯
17b28f43f8
大纲规划
2026-05-18 21:43:48 +08:00
吉鑫升 and Claude Opus 4.7
e3cde9be25
feat: 定时任务运行详情执行过程视图 + 管理员下载删除 + MySQL 迁移修复
...
定时任务:
- 运行详情页新增「执行过程」标签页,按 agent_run_id 拉取该次运行的
agent 消息(GET /scheduled-tasks/runs/{id}/messages),运行中每 4s
自动刷新,可观察卡住的任务停在哪一步
- 详情页「返回」按钮回到来源列表(普通/管理员)并重新选中原任务
- 管理员可下载、删除任意用户的执行记录(DELETE /runs/{id} 加管理员兜底)
MySQL 兼容修复:
- 合并迁移 20260518_06 汇合 ai-writing 与 thread-shares 两个 head
- 20260517_02 改用 SQLAlchemy Core 构造,规避保留字 key 的 1064 报错
- list_messages_by_run 各事件存储补 user_id 形参以保持接口一致
测试: 新增 test_scheduled_task_admin_run_delete.py
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 21:13:58 +08:00
吉鑫升
449703a6f0
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# offline-backend-20260512/backend/app/gateway/deps.py
2026-05-18 19:35:16 +08:00
吉鑫升 and Claude Opus 4.7
358d5c72a6
feat: 业务库切换 MySQL + 修复定时任务运行详情递归与重名 500
...
- 业务 ORM 数据支持 MySQL 后端(asyncmy),新增 PortableJSON/
BeijingDateTime 可移植列类型、迁移脚本与切库脚本
- 修复 GET /api/scheduled-tasks/runs/{id} 的 _load_run 无限递归
(误调用自身,应委托 service.get_run)导致的 RecursionError 500
- 定时任务名按用户唯一:create/update/admin_update 主动校验,
冲突抛 DuplicateTaskNameError,路由转 409 而非裸 IntegrityError 500
- 补充回归测试 test_scheduled_task_run_lookup / _name_uniqueness
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 19:34:14 +08:00
董宏凯
abd2ced4b4
Merge branch 'dhk-1' into 'master'
...
ai写作
See merge request knowledge-base-bj/deerflow-server!19
2026-05-18 09:55:50 +00:00
董宏凯
49e5aaea6b
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-18 17:47:33 +08:00
董宏凯
d1f431d121
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-18 17:45:10 +08:00
fengxiangdebaozi
fd759d6845
依赖更新
2026-05-18 17:44:08 +08:00
董宏凯
5be5531722
容错显示
2026-05-18 17:41:51 +08:00
吉鑫升
2a4fccde70
Merge remote-tracking branch 'origin/likun'
2026-05-18 15:41:36 +08:00
吉鑫升
d6f018e581
Merge branch 'master' into ji
2026-05-18 15:39:57 +08:00
吉鑫升 and Claude Opus 4.7
e0c1cb6581
feat: 定时任务管理 + 会话只读分享
...
定时任务:
- 管理员可查看/编辑/删除/触发全部用户的定时任务(新增 /api/scheduled-tasks/admin/* 接口与管理页)
- 卡死任务恢复:单次执行超 30 分钟超时重试(最多 3 次),耗尽后标记 failed;看门狗回收服务重启遗留的「执行中」任务
会话分享:
- 新增「只读链接」分享模式,生成公开免登录的只读对话快照页(/share/:code)
- 公开接口 /api/public/shares/* 提供对话快照与图片附件
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 15:39:40 +08:00
xuhd and Claude Opus 4.7
f80a00e211
feat(skills): curator 面板加 pinned 计数 + 运行时输出技能名日志
...
- get_curator_status 的 agent_created_skills 增加 pinned 计数,与
active/stale/archived 正交;前端技能进化面板同步展示「被钉住」一项
(curator/types.ts、skill-evolution-panel.tsx、zh-CN/en-US/types i18n)。
- run_curator_review 每次运行时把涉及的技能名输出到日志:新增
_log_scanned_skills(扫描到的技能名)与 _candidate_skill_names
(候选技能名),logger 与 curator_log 双写。
新增 test_curator_status_counts.py、test_curator_skill_logging.py。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 15:25:13 +08:00
xuhd and Claude Opus 4.7
4aee413680
revert(memory): Hindsight document_id 改回每轮独立文档
...
commit dba821a 把 document_id 从带时间戳改成按 thread_id 确定性派生
(同一 thread 累积成一个文档)。经复核,改回原来的带微秒时间戳写法 ——
每轮对话的 retain 重新落到各自独立的 Hindsight 文档。
retain_every_n_turns 轮次节流(turn_index)与 aiohttp 客户端泄漏修复
保持不动,仅回退 document_id 这一处。
test_hindsight_provider.py 的 TestDocumentId 按"每轮独立文档"重写。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 15:24:13 +08:00
likun
2a91e2e7ad
知识库补充到p6
2026-05-18 15:18:22 +08:00
xuhd
dba821a70e
@
...
fix(memory): 修复 Hindsight provider 生命周期的三处缺陷
HindsightProvider 被 build_memory_manager 每轮重新构造,以下三个问题
都源于这个无状态特性未被正确处理:
1. document_id 每轮漂移 —— 原 _reset_retain_batch 用微秒时间戳拼接,
导致同一 thread 的每轮 retain 落到不同文档,文档数随对话轮数线性膨胀。
改为按 thread_id 确定性派生 (thread-{thread_id}),同一 thread 累积成一份。
2. retain_every_n_turns 失效 —— 进程内 _turn_counter 每轮被 initialize
重置,retain_every_n_turns > 1 时永不触发。新增 turn_index 参数贯穿
sync_turn/sync_all,由 MemoryMiddleware 按对话历史 (count_user_turns)
算出并传入;_turn_counter 仅作缺省退路。
3. aiohttp ClientSession 泄漏 —— 缓存的客户端从不 shutdown,且 _run_coro
每次新建事件循环使缓存客户端失效,触发 "Unclosed client session"。
改为客户端即开即关:_run_with_client 在 finally 保证关闭,_client_factory
作为可覆盖的测试注入点。
测试:test_hindsight_provider.py 全量重写 (含 TestDocumentId /
TestRetainEveryNTurnsAcrossRecreation / TestClientLifecycle),
新增 test_memory_message_processing.py,test_memory_manager.py 补
turn_index 透传用例。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-18 14:34:22 +08:00
董宏凯
836dd73446
容错处理
2026-05-18 11:29:40 +08:00
xuhd
8f88427d4e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-18 10:25:51 +08:00
xuhd
817585a4ce
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd-v2
2026-05-18 10:22:23 +08:00
xuhd and Claude Opus 4.7
0386f54449
feat(skills): 接入技能使用埋点,修复活跃技能被 curator 误归档
...
技能正文不进 system prompt,Agent 按 Progressive Loading 用 read_file
加载 SKILL.md 才算真正用到该技能。此前 read_file 与 skill_manage 的
patch/edit 都不更新 .usage.json,curator 的年龄流转据 latest_activity_at
判断闲置,导致每天都在用的 agent 创建技能在 30/90 天后被误标陈旧并归档。
- sandbox/tools.py: 新增 _custom_skill_name_from_path / _record_skill_read,
read_file 读取 custom 技能目录下文件时 bump_use(best-effort,失败不影响主流程)
- skill_manage_tool.py: patch/edit 经 _bump_patch_best_effort 记 patch_count
- tests/test_skill_usage_signals.py: 12 项,覆盖路径解析、埋点与异常兜底
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 10:22:15 +08:00
吉鑫升
4761677676
Merge remote-tracking branch 'origin/master' into ji
2026-05-18 10:03:49 +08:00
吉鑫升 and Claude Opus 4.7
f61d053010
feat(skills): 新增技能详情字段并统一发布图标
...
- 技能新增 detail 字段(skills 表新增列 + Alembic 迁移),
由管理员或技能发布者编辑,内置/公开技能仅管理员可编辑
- 新增 PUT /api/skills/{name}/detail 接口,GET/列表接口返回 detail
- 新增可复用的技能详情弹窗组件,支持 Markdown 渲染与内联编辑
- 智能体创建/编辑选技能、智能体卡片技能徽章均可查看技能详情
- 将定时任务/智能体/技能的发布图标统一为 Globe/Lock
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 10:03:37 +08:00
fengxiangdebaozi
8440d02198
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-18 10:03:06 +08:00
xuhd
ebcdf847d2
222
2026-05-18 10:02:00 +08:00
fengxiangdebaozi
5c553aae19
文档更新
2026-05-18 09:58:34 +08:00
董宏凯
0af8ca5f78
历史记录回显
2026-05-17 22:55:01 +08:00
董宏凯
52ba178c4e
字数要求修改
2026-05-17 22:33:43 +08:00
董宏凯
166016a741
检索结果过程添加
2026-05-17 22:01:29 +08:00
董宏凯
20786e690d
自动下滑
2026-05-17 21:33:24 +08:00
董宏凯
c19417a706
暂停继续
2026-05-17 21:19:12 +08:00
董宏凯
b768e0affb
改写弹窗出现的位置
2026-05-17 20:38:35 +08:00
董宏凯
05ff10df1b
ai改写调用
2026-05-17 20:18:11 +08:00
董宏凯
a0a6227368
文章类型添加
2026-05-17 19:50:52 +08:00
董宏凯
918e65d8d3
ai写作
2026-05-17 19:29:10 +08:00
董宏凯
6cab62d140
作家大纲拖拽调整顺序
2026-05-17 18:00:07 +08:00
董宏凯
9526268f1f
加载框顺序调整
2026-05-17 17:55:42 +08:00
董宏凯
016ec1877a
ai写作
2026-05-17 17:39:41 +08:00
董宏凯
772e75f04d
ai写作
2026-05-17 17:25:18 +08:00
董宏凯
10d7190ea4
ai写作
2026-05-17 14:22:25 +08:00
董宏凯
cc8703577d
ai写作
2026-05-17 13:08:45 +08:00
董宏凯
4533755704
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-16 22:03:41 +08:00
董宏凯
da4a08dfe1
智能选中文字
2026-05-16 22:00:34 +08:00
xuhd
48ddbf0412
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-16 15:51:49 +08:00
xuhd and Claude Opus 4.7
39def1c20b
feat(skills): curator 健壮性加固 + 评审模型可配置 + 手动触发体验
...
调度健壮性:
- 技能进化总开关 skill_evolution.enabled 真正生效;CuratorConfig
与 CuratorSubConfig 默认 enabled 改为 false(显式 opt-in)
- 新增 per-user 运行锁(.curator_state 的 running/started_at),
防定时器与手动触发并发重复运行;6h stale 检测防进程残留死锁
- maybe_run_curator 改用 ThreadPoolExecutor 限并发(上限 5),
防首次部署所有用户同时到期的惊群
- 首次运行持续失败时按 6h 退避重试,不再每个 tick 烧 LLM 配额
- should_run_now 时间解析容忍 naive 时间串;损坏的 last_run_at
触发重跑而非永久死锁
- SkillStore 新增 list_published_names 批量接口,curator 一轮
只查一次 published,取代逐技能查库
LLM 评审超时:
- _run_llm_review 给 agent.invoke 套整体超时
(curator.review_timeout_seconds,默认 600s),超时中止本次评审
并在 curator 日志输出,curator 正常收尾、释放运行锁
- copy_context 把 user 上下文传入工作线程
模型可配置:
- 新增 curator.model_name;curator 评审与技能安全审核共用该模型,
未配置则回退主模型
- 移除独立的 moderation_model_name 配置
- 前端进化面板新增模型下拉选择器
手动触发体验:
- /api/curator/run 派发后台线程前先预检,返回 {triggered, reason},
不再无论开关状态都提示"已开始"
- 前端:总开关/curator 开关未开时禁用"立即执行"按钮,
被预检拦下时按原因(开关未开 / 已有任务在跑)给出准确提示
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-16 15:50:15 +08:00
董宏凯
e8a31b5d37
代码修改
2026-05-16 14:24:44 +08:00
董宏凯
5a25dd08f6
Merge branch 'dhk-2' into 'master'
...
文档修改
See merge request knowledge-base-bj/deerflow-server!18
2026-05-16 01:07:56 +00:00
fengxiangdebaozi
b34219ce86
文档修改
2026-05-16 09:07:18 +08:00
董宏凯
05548b0fa6
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!17
2026-05-15 15:28:24 +00:00
董宏凯
e08e7be24c
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-15 23:27:48 +08:00
董宏凯
1be600155b
openCanvas
2026-05-15 23:27:34 +08:00
xuhd
be757b1f2f
@
...
feat(skills): skill_list 可见性过滤 + skill 只读工具常驻 + 进化面板对照展示
- skill_list:默认 lead agent 改为只暴露未归档、且内置或属于当前用户的技能;
自定义 agent 仍严格按白名单。SkillStore 不可用时降级放行全部自定义技能。
- prompt:注入系统提示词的技能列表剔除已归档(state=archived)技能。
- tools:skill_list/skill_view 只读工具改为常驻提供;skill_manage 写工具仍按
生效配置(含 per-user 覆盖)的 skill_evolution.enabled 门控。
- curator:should_run_now 解析异常时改为不运行;get_curator_status 返回上次
LLM 建议与实际工具调用两份记录,供前端对照。
- 前端:技能进化面板新增建议 vs 实际动作对照展示 + 配套 i18n。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-15 20:39:13 +08:00
xuhd and Claude Opus 4.7
d592e1e535
fix(skills): curator 自我进化周期调度 + 并发/配置/安全修复
...
调度:
- app.py 新增常驻 curator 调度器,每小时检查一次"需不需要进化",
替代原来"仅启动跑一次";多 worker 下用跨平台文件锁做 leader 选举,
只有一个进程跑调度;启动延迟 5 分钟避开启动高峰
curator 逻辑修复:
- C1: should_run_now / apply_automatic_transitions / get_curator_status
调用 _get_curator_config 时传 user_id,使 per-user 配置在运行时生效
- C3: usage.py 的 .usage.json 读-改-写加进程内锁,bump_* 改回调式,
避免 curator 多线程并发丢状态更新
- C4a: curator 受限版 skill_manage 在工具层屏蔽 delete,
堵住绕过 skill_archive 安全网删技能的口子
- C4b: 进化记录同时保存 LLM 自述(suggestions)与真实工具调用(actual_actions)
- 无候选技能时跳过 LLM 评审,省掉无意义的模型调用
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 19:31:05 +08:00
xuhd
e381e9f52e
222
2026-05-15 18:00:11 +08:00
吉鑫升
3b951efd13
Merge remote-tracking branch 'origin/master' into ji
2026-05-15 16:54:56 +08:00
吉鑫升
33161c5bad
Merge remote-tracking branch 'origin/likun' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/artifacts/artifact-file-detail.tsx
# frontend-web/src/components/workspace/code-editor.tsx
# frontend-web/src/components/workspace/input-box.tsx
# frontend-web/src/pages/ChatPage.tsx
# offline-backend-20260512/backend/app/gateway/routers/artifacts.py
2026-05-15 16:54:10 +08:00
xuhd
8b6236c796
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd-v2
2026-05-15 16:42:48 +08:00
xuhd and Claude Opus 4.7
a59d80d7f3
feat(i18n): 全局将「专家」文案改为「智能体」
...
统一智能体功能的 UI 文案:侧边栏、智能体页、新建/保存流程、
审批卡片、登录提示及后端审批消息中的「专家」均改为「智能体」。
保留 prompt 人设、QA 子应用等非该功能语义的「专家」表述。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:42:40 +08:00
xuhd and Claude Opus 4.7
a5c76591ac
feat(i18n): 全局将「专家」文案改为「智能体」
...
统一智能体功能的 UI 文案:侧边栏、智能体页、新建/保存流程、
审批卡片、登录提示及后端审批消息中的「专家」均改为「智能体」。
保留 prompt 人设、QA 子应用等非该功能语义的「专家」表述。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:42:11 +08:00
xuhd
c2a975af9e
@
...
feat(i18n): 全局将「专家」文案改为「智能体」
统一智能体功能的 UI 文案:侧边栏、智能体页、新建/保存流程、
审批卡片、登录提示及后端审批消息中的「专家」均改为「智能体」。
保留 prompt 人设、QA 子应用等非该功能语义的「专家」表述。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
@
2026-05-15 16:41:44 +08:00
xuhd
ab48cd5b55
111
2026-05-15 16:36:02 +08:00
吉鑫升 and Claude Opus 4.7
ed4909a28d
chore: 纳入 skill_evolution 运行时配置文件
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:29:26 +08:00
吉鑫升
afc517b3a7
Merge remote-tracking branch 'origin/master' into ji
...
# Conflicts:
# frontend-web/src/components/workspace/agents/agent-gallery.tsx
# frontend-web/src/components/workspace/settings/skill-settings-page.tsx
2026-05-15 16:27:56 +08:00
likun
de9f6b6711
feat: 新增写作画布系统
2026-05-15 16:22:04 +08:00
吉鑫升 and Claude Opus 4.7
646cb8caeb
feat: 标签管理功能 + 问答前缀对用户隐藏
...
标签管理:
- 新增 tags/tag_assignments 持久化层、迁移、/api/tags 路由
- 标签分智能体/技能/定时任务三类, 仅同类型可互打, 仅 admin 可增删改与打标签
- 三类资源列表支持按名称模糊检索与按标签筛选(走后端查询参数)
- 前端新增标签管理页、TagPickerDialog(点击即时绑定)、彩色标签 chip
问答前缀:
- 前缀不再拼入消息 content, 改存 additional_kwargs 由 PromptPrefixMiddleware
在调模型前临时注入, 用户界面看不到前缀但模型仍收到
- 修正 thread_existed 闸门导致首轮前缀被跳过的问题
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 16:19:08 +08:00
likun
d533ddde88
feat: 补充知识库内容p4
2026-05-15 16:17:55 +08:00
xuhd and Claude Opus 4.7
9664cb653a
feat(frontend): 记忆从设置弹窗移至侧边栏独立入口
...
- 新增 MemoryPage 及路由 /page/workspace/memory
- 侧边栏在「技能」下方新增「记忆」入口
- 设置弹窗注释掉「记忆」标签页
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:47:49 +08:00
xuhd
1574d44cc3
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-15 15:26:16 +08:00
xuhd and Claude Opus 4.7
6981fc06ca
feat(skills): 点击技能展示 SKILL.md 详情弹窗
...
- 后端新增 GET /api/skills/{name}/content 接口,返回公共/自定义技能的 SKILL.md 原文
- 前端技能行内容区可点击,弹窗以等宽原文展示 SKILL.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:23:34 +08:00
xuhd and Claude Opus 4.7
12798c00bc
feat(frontend): 设置弹窗移除「技能」标签页
...
技能管理已有侧边栏独立入口(/page/workspace/skills),设置弹窗内的入口冗余,移除。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:10:43 +08:00
xuhd and Claude Opus 4.7
ebb6be816b
feat(frontend): 技能/专家广场展示调整 + 通知合并入设置菜单
...
- 技能与专家「广场」标签只展示内置和已发布项,Tab 顺序调为「我的」在前并默认选中
- 「智能体」全量更名为「专家」
- 通知由侧边栏铃铛改为「设置和更多」菜单内的弹窗入口,合并通知列表与通知设置
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 15:08:56 +08:00
likun
ae4e4f67c2
新增大模型知识库技能
2026-05-15 14:51:16 +08:00
xuhd and Claude Opus 4.7
013aafde17
feat(frontend): 记忆页面迁移到 Memory V2
...
前端记忆模块整体迁到后端 Memory V2 接口,修复调旧端点 /api/memory
返回 404 的问题。
- core/memory/{types,api,hooks}.ts 重写为 V2 数据模型与端点
(USER.md / MEMORY.md 条目增删改、配置读写、Hindsight 检索)
- memory-settings-page.tsx 重写:用户画像 + 工作笔记两区的条目
增删改、记忆设置面板(白名单字段)、Hindsight 检索面板
- 工作笔记按专家隔离,顶部专家下拉(默认助手 + useAgents 列出的
用户专家),专家列表取自 agents 注册表
- settings-dialog 记忆分区移到技能下方
- i18n(zh-CN/en-US/types)memory 文案整体替换
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 14:14:08 +08:00
董宏凯
050b1ad78e
代码提交
2026-05-15 14:08:01 +08:00
xuhd and Claude Opus 4.7
21a76f5e7c
refactor(memory): Memory V2 P3 - 舍弃后台抽取 + Gateway 端点收口
...
P3 在 P1/P2 基础上完成 Memory V2 收尾:
舍弃后台抽取:
- 删除 updater/queue/storage/prompt/summarization_hook 五个模块
- 移除 background_extraction 配置段、扁平字段兼容、storage 字段
- 理由:Hindsight auto_retain 已自动留存每轮对话,后台抽取冗余
Hindsight 召回注入改用 wrap_model_call:
- 由 before_model 改为 wrap_model_call —— 召回只注入单次模型请求、
不落持久 state,从根上消除 <memory-context> 泄漏给前端的风险
- builtin frozen snapshot 仍走系统提示词
Gateway 端点收口为 /api/memory/v2*:
- 删除旧 facts/history 端点 (/api/memory、/memory/facts 等)
- 新增 entries 增删改 (POST/PUT/DELETE /memory/v2/entries)
- 新增 POST /memory/v2/search —— Hindsight recall/reflect 检索代理
- client.py memory 方法重写为 V2 等价方法
文档同步更新 CLAUDE.md 与 MEMORY_V2_DESIGN_ZH.md。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 13:08:18 +08:00
xuhd and Claude Opus 4.7
f9d7610679
feat(memory): Memory V2 重写 - 可插拔 provider + Hindsight 集成
...
以 Hermes 的可插拔记忆架构为骨架重写 deerflow 记忆模块,兼容原有
结构化数据,并新增 Hindsight 作为外部记忆后端。
P1 - 抽象层 + builtin 本地记忆:
- MemoryProvider 抽象基类 + MemoryManager 编排层(builtin + ≤1 外部)
- BuiltinFileProvider:USER.md/MEMORY.md 二元存储、字符配额、文件锁、
原子写、frozen snapshot
- memory 工具(LangChain @tool):LLM 主动写入用户画像/工作笔记
- 记忆内容安全扫描(注入/外渗模式 + 不可见 unicode)
- memory_config 改为嵌套结构 + 旧扁平字段兼容 + per-user 三层覆盖
- 迁移脚本 migrate_memory_to_v2.py:旧 memory.json -> USER.md/MEMORY.md
- Gateway 新增 /api/memory/v2 与 v2/config 端点(用户可配置白名单字段)
P2 - Hindsight 外部 provider:
- HindsightProvider:双 bank 隔离(user bank 跨 agent 共享 + work bank
agent 私有)、并发召回合并、auto-retain、on_memory_write 镜像
- hindsight_recall/reflect/retain 三个 LangChain 工具
- MemoryMiddleware.before_model 注入 Hindsight 动态召回
- context/tools/hybrid 三种 memory_mode
- hindsight-client 作为可选依赖,未装时自动退回纯 builtin
注入走系统提示词(builtin frozen snapshot)+ before_model(Hindsight
动态召回)。后台抽取保留但默认关闭,P3 期重接入。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 12:15:55 +08:00
吉鑫升
aeba15eb16
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/pages/WorkspaceRoutes.tsx
# offline-backend-20260512/backend/packages/harness/deerflow/persistence/models/__init__.py
2026-05-15 11:21:48 +08:00
董宏凯
b81f64a253
Merge branch 'dhk-2' into 'master'
...
Dhk 2
See merge request knowledge-base-bj/deerflow-server!16
2026-05-15 02:43:25 +00:00
fengxiangdebaozi
a0d04cba50
文档修改
2026-05-15 10:42:44 +08:00
xu hd
43bdbcf89c
Merge branch 'xuhd' into 'master'
...
feat(skills): 自我进化后端 — curator 配置可编辑 + 运行日志可读
See merge request knowledge-base-bj/deerflow-server!15
2026-05-15 01:36:33 +00:00
xuhd and Claude Opus 4.7
6947a3ffa7
chore(tests): ignore tests/ 目录 + 同步现有测试到新 skill_archive 签名
...
- .gitignore: 新增 offline-backend-20260512/backend/tests/* 规则,
让后续新增的测试文件不再误进入版本控制
- test_skills_multitenancy.py: 同步上次 feat(skills) 提交里
skill_archive(name, reason) 必填 reason 的签名变更
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 00:03:07 +08:00
xuhd and Claude Opus 4.7
62d525dae7
feat(skills): 自我进化 - 软归档/恢复 + Agent 归属 + 状态分层 UI
...
后端:
- 新增 PUT /api/skills/custom/{name}/state 与 /pinned 软归档/恢复 + 钉选 API
- skill_manage 工具: agent 创建写 DB 归属; 删除清理 .usage.json + DB row + cascade 引用; 加 ownership 预校验
- curator 全部软归档(文件保留在 custom/), 加 reason 必填(中文), 修 user_context 跨线程传播 / 协程泄漏 / archive 文件不再移动
- LLM 评审接 ToolErrorHandlingMiddleware, 工具异常自动重试不中止本轮; 替换 create_react_agent 为 create_agent
- skill_list 按当前 agent config.yaml 的 skills 字段过滤(custom agent), lead agent 仍可见全部
- 自我进化提示词对齐 Hermes 风格: 主动询问保存, reason 强制中文且面向用户
- 控制台日志增强: 自动归档/标过时/LLM 合并/删减建议 都按条目输出原因
前端:
- 技能管理页 Tab 改「全部 / 我的」, 正确包含他人发布的 custom 技能(修复 isCustom 互斥 bug)
- 新增「过时 N / 归档 N」右侧抽屉(恢复/查看/立即归档 ⋯ 菜单)
- 新增徽章: 钉选 / 来源(Agent 创建 / 用户上传) / 使用次数展示
- 内置技能徽章修复(原 isBuiltin && isCustom 永远 false)
- 自我进化日志 run_started sentinel 在前端展示为中文分隔条
- 移除冗余 enabled 开关(归档已覆盖此能力, 减少术语)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 00:00:52 +08:00
xuhd
f8bc74b27f
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-14 23:45:10 +08:00
董宏凯
044370f13c
沙箱内容可保存
2026-05-14 22:12:20 +08:00
xuhd
a2c45492cb
2222
2026-05-14 20:45:22 +08:00
xuhd
9a67ca7c03
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into xuhd
2026-05-14 20:45:02 +08:00
xuhd and Claude Sonnet 4.6
40cd8a24af
feat: admin skill public upload + user management page
...
- Admin users can choose to install skills to public (built-in) or custom category via UI radio selector in InstallSkillDialog
- Backend: SkillStorage.ainstall_skill_from_archive accepts target_category param; non-admin 403 on public install
- Backend: AgentStore/SkillStore add count_owned(user_id); UserRepository/LocalAuthProvider add list_users()
- Backend: GET /api/v1/auth/users endpoint (admin-only) returns all users with skill_count and agent_count
- Frontend: admin-only "用户管理" nav item in sidebar; /page/workspace/admin/users route with user table
- i18n: added sidebar.users and adminUsers section in zh-CN/en-US
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 20:40:23 +08:00
吉鑫升 and Claude Sonnet 4.6
28948975db
Merge: 解决 ScheduledTaskRunDetailPage 合并冲突
...
保留 HEAD 的编辑功能 import(useCallback、Edit3、Loader2、Save、X),
同时采用 b78672 中的 useRouteNavigate 自定义导航 hook。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 19:29:35 +08:00
fengxiangdebaozi
1ce1db9689
代码处理
2026-05-14 19:28:07 +08:00
fengxiangdebaozi
86cdeed6ef
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-2
2026-05-14 19:26:01 +08:00
fengxiangdebaozi
d6ec0afbd6
路由嵌套修改
2026-05-14 19:25:39 +08:00
吉鑫升
3ea33e1dee
大模型速度增加提示
2026-05-14 19:12:14 +08:00
xuhd and Claude Opus 4.7
3e6e3c08d5
feat(skills): curator 三条件过滤 — agent 创建 + 未发布 + 无引用
...
Curator 之前只过滤 source=='agent',导致两类 skill 仍会被自动归档:
1. owner 已 published 的 skill(user B 在用,结果被 curator 收走)
2. 加进 agent.skills 但 .usage.json 活动不够频繁的 skill
新规则:curator transitions 和 LLM 合并候选**只**作用于同时满足
三条件的 skill —— source=='agent' + published==False + 不被任何
agent.config.yaml 的 skills 字段引用。
curator.py
- 新 helper _collect_referenced_skill_names():扫所有
.deer-flow/agents/*/config.yaml 把 skills 字段聚合成 set,一次
curator run 内只调一次
- 新 helper _is_skill_published(name):通过 SkillStore 查 published
状态,失败时返回 False(保守降级到旧行为)
- 新 helper _eligible_for_curation(name, entry, owned_set, referenced_set)
三条件合一判定
- apply_automatic_transitions 应用三条件过滤;返回的 counters 加
skipped_referenced / skipped_published 计数
- _render_candidate_list 应用同一过滤,LLM 看不到 protected skill
- _make_skill_archive_tool safety net:即使 LLM 编造名字调 archive,
工具内部再做一次"被引用 + published"检查,违规拒绝并记 warning
测试 tests/test_skills_multitenancy.py 新增 5 用例:
- test_curator_skips_skill_referenced_by_any_agent
- test_curator_skips_published_skill
- test_curator_archives_orphan_unpublished_skill
- test_skill_archive_tool_refuses_referenced_or_published
- test_collect_referenced_skill_names_aggregates_from_disk
跑测试:tests/test_skills_multitenancy.py 17/17,全套 36/36 全过。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 18:49:22 +08:00
xuhd and Claude Opus 4.7
6155a2ec2b
fix: curator + notifications react-query cache 按 user_id 隔离
...
切换账号在同一 tab 里时,旧 cache key (["curator","config"] 等) 会
让新账号"看到"上一个账号的值。如果用户没意识到、直接点保存,就会
把上一个账号的配置原样写到新账号的 per-user JSON 里去。
修复:在 useCuratorKeys / useNotificationKeys hook 里读
getStoredAuth().user_id 织进 queryKey。每个用户拥有独立 cache
桶,切换账号绝不命中对方的数据。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 18:20:41 +08:00
董宏凯
4e0787ec77
Merge branch 'dhk-2' into 'master'
...
页面接口整体修改
See merge request knowledge-base-bj/deerflow-server!14
2026-05-14 10:14:39 +00:00
fengxiangdebaozi
8ecc32da6d
页面结构修改
2026-05-14 18:13:58 +08:00
xuhd and Claude Opus 4.7
eb41da78f2
fix: 四处 router.push 缺 /page 前缀导致 404
...
HashRouter 顶层路由是 /page/*,所有 workspace 子路由必须带这个前缀
才能命中。以下四处 router.push 字面量遗漏,点击后落到 NotFoundPage:
- skill-evolution-panel.tsx 返回技能按钮
- NewAgentPage.tsx 返回 agents
- NewAgentPage.tsx 创建后“开始对话”
- agent-card.tsx 列表卡片“聊天”按钮
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:56:32 +08:00
xuhd and Claude Opus 4.7
a508969331
chore: 忽略 skill_evolution.json 运行时文件
...
前端 PUT /api/curator/config 会把 per-user 覆盖写到
backend/skill_evolution.json(全局 fallback),属于运行时
数据不该入库。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:46:36 +08:00
xuhd and Claude Opus 4.7
99febda256
feat(skills/notifications): 多租户阶段 4 — 测试 + 前端
...
后端:
tests/test_skills_multitenancy.py(12 个用例,全部通过)
- SkillStore: 可见性 / 全局重名拒绝 / owner-only update+delete /
admin override / ensure_legacy 仅补 NULL owner
- 路由助手 _get_editable_skill_or_raise / _get_owned_skill_or_raise
的 owner / admin / 403 / 404 分流
- cascade_skill_unpublished_or_deleted:
· unpublish 同时扫两个用户的 agent,剥掉 skill;自己改自己不发
通知,其他人收 agent_skill_removed
· admin_takedown 额外给 skill owner 发 skill_taken_down
- NotificationStore CRUD + unread_count + 跨用户隔离
- 同步版 apply_automatic_transitions 用户隔离:A 跑 curator 不
动 B 的 skill;curator_log per-user 分桶
前端 — core/notifications/{types,api,hooks,index}.ts
- 类型对齐 routers/notifications.py 的 NotificationItem
- listNotifications / getUnreadCount / markRead / markAllRead /
deleteNotification
- useNotifications / useUnreadCount(refetchInterval=30s) / mutation 钩子
前端 — components/workspace/notification-bell.tsx
- 顶部铃铛图标 + 未读红点(>99 显示 99+)
- 复用 DropdownMenu 作为弹层(项目暂无 Popover 原语)
- 列表项:未读蓝点 + 标题 + body + 相对时间,悬停露出删除按钮
- 标记单条已读 / 全部已读 / 删除
- 接入 workspace-nav-menu.tsx,作为 SidebarMenuItem 放在设置入口上方
前端 — Skill 多租户字段
- core/skills/type.ts 加 owner_user_id / published / builtin
- core/skills/api.ts 加 setSkillPublished + deleteCustomSkill
- core/skills/hooks.ts 加 useSetSkillPublished + useDeleteCustomSkill
前端 — settings/skill-settings-page.tsx
- 抽出 SkillRow 子组件,每项渲染 owner badge(内置/我的/来自他人/
已发布),样式抄自 agent-card.tsx 的 isBuiltin/isOwned/isFromOthers
- canManage = isOwned || isAdmin;canTogglePublish 同上但排除内置
- 发布/取消发布按钮(Eye / EyeOff),调用 setSkillPublished
- 删除按钮 + 二次确认 Dialog,调用 deleteCustomSkill
- 启用开关保持原样
前端 — i18n
- types.ts: 新增 NotificationsTranslations + Translations.notifications;
settings.skills 加 badgeBuiltin/badgeMine/badgeFromOthers(+Title) /
badgePublished(+Title) / publishAction / unpublishAction /
publishSuccess / unpublishSuccess / deleteAction / deleteConfirm /
deleteSuccess
- zh-CN.ts / en-US.ts 同步补齐对应文案
验证
- PYTHONPATH=. uv run pytest tests/test_skills_multitenancy.py -v →
12 passed in 2.08s
- 与现有 test_agents_backend / test_skill_evolution_runtime /
test_skills_install_upload 并行跑:41 通过 + 1 个 pre-existing 失败
(test_validate_rejects_missing_skill_md 期望 "SKILL.md" 但收到
"Skill archive is empty",与本期改动无关)
- pnpm typecheck:本次新增/修改的文件零新增错误;剩余报错全部为
pre-existing 的 next/link、next/navigation 别名声明缺失、
workspace-nav-menu.tsx 的 SettingsSection 类型不匹配、nextra
缺失、markdown-docx 第三方库等
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:35:02 +08:00
fengxiangdebaozi
543d78e040
路由调整
2026-05-14 17:24:45 +08:00
xuhd and Claude Opus 4.7
4ef96c7930
feat(skills): 多租户阶段 3 — Curator + 配置 per-user
...
curator_log.py
- ring buffer 从单一 deque 改为 dict[user_id -> deque],每个用户
自己的运行日志互不可见
- start_new_run / record / get_recent / clear 全部接 user_id
关键字参数;未传时落入 __default__ 桶兼容旧调用
- 新增 clear_all() 用于跨用户清理(仅测试用)
curator.py
- 状态文件路径从 skills/.curator_state 改为
.deer-flow/users/{user_id}/.curator_state(per-user 隔离)
- 所有公开 API 接受 user_id 参数:should_run_now /
apply_automatic_transitions / _render_candidate_list /
run_curator_review / _curator_thread_target /
get_curator_status / _make_skill_archive_tool / _run_llm_review
- 新增 _list_user_owned_skill_names(user_id):通过 SkillStore
查询当前用户拥有的 skill 名集合,用于过滤 transitions / LLM
candidates,保证 user A 跑 curator 不会动 user B 的 skill;
SkillStore 不可达时退化为"全部 agent-created skill"(兼容旧部署)
- _get_curator_config(user_id) 通过 load_skill_evolution_config_for_user
叠加 per-user override,让阈值/间隔/moderation_model 也是 per-user
- maybe_run_curator 启动时枚举 UserRow,按用户检查 should_run_now
并各起一个 daemon 线程跑
skill_evolution_runtime.py
- 全局 backend/skill_evolution.json 语义保留作为 fallback
- 新增 per-user API:resolve_user_path / load_user_overrides /
save_user_overrides / get_user_overrides_mtime,文件落到
.deer-flow/users/{user_id}/skill_evolution.json
- 新增 load_skill_evolution_config_for_user(user_id):读全局
SkillEvolutionConfig 作为 baseline,浅合并 per-user JSON,
返回 Pydantic 实例。验证失败时回落到 baseline
routers/skills.py
- /api/curator/status / run / config GET+PUT / logs 全部接
_current_user_id 注入运行上下文
- update_curator_config 改为 per-user:保存到
users/{user_id}/skill_evolution.json,不再 reset_app_config
- _build_curator_config_response 接受 SkillEvolutionConfig 实例
(而不是 AppConfig)以适配 per-user 合并结果
旧 19 个测试继续通过;未引入新依赖。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:09:05 +08:00
fengxiangdebaozi
7a7c99f752
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-2
2026-05-14 16:51:58 +08:00
fengxiangdebaozi
6b1f17d6a8
页面导入
2026-05-14 16:51:32 +08:00
xuhd and Claude Opus 4.7
cf191ef874
feat(skills/notifications): 多租户阶段 2 — 路由 + 级联 + 启动迁移
...
后端工作:
deps.py
- 挂载 skill_store / notification_store 到 app.state
- 启动时 set_notification_store(...) 注入到 harness sender;
关闭时清空,保证测试和 embedded 模式不留状态
- 加 get_skill_store / get_notification_store FastAPI 依赖
routers/skills.py
- 加 _current_user_id / _is_admin_user / _get_owned_skill_or_raise /
_get_editable_skill_or_raise(对齐 routers/agents.py)
- SkillResponse 加 owner_user_id / published / builtin 字段,
_skill_to_response 接受 SkillStore 记录映射
- GET /api/skills 与 GET /api/skills/custom 改 per-user 可见性过滤
- POST /api/skills/install + /install-upload 预解析 archive 名校验
全局 name 不被他人持有;安装后 ensure_legacy 注册 owner=current
- DELETE /api/skills/custom/{name} 走 _get_editable_skill_or_raise,
调 cascade(owner 自删 = delete,admin 跨用户 = admin_takedown),
SkillStore.delete / delete_admin 同步清除 DB 记录
- 新增 PUT /api/skills/custom/{name}/published 切换发布状态;
从 published → unpublished 时触发 cascade(unpublish / admin_takedown)
skills/cascade.py(新)
- 扫所有 .deer-flow/agents/{id}/config.yaml,把指定 skill 从其 skills
数组移除,并通过 deerflow.persistence.notifications.notify 给受
影响 agent 的 owner 发站内信;admin 强制下架时另给 skill owner 发
一条
- 操作类型:unpublish / delete / admin_takedown,对应不同文案
routers/notifications.py(新)+ app.include_router
- GET /api/notifications(unread_only / limit)
- GET /api/notifications/unread_count(红点用)
- POST /api/notifications/{id}/read
- POST /api/notifications/read_all
- DELETE /api/notifications/{id}
app.py lifespan
- _sync_legacy_skills(app):每次启动扫 skills/custom/ 把没在 DB
的 skill 落库为 admin owner + published=True,幂等、非阻塞失败
- 调用顺序:_ensure_admin_user → _sync_legacy_skills → 启动 curator
测试:19 个旧用例继续通过;阶段 4 会写 test_skills_multitenancy.py
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 16:24:42 +08:00
董宏凯
f6d3d013fd
Merge branch 'dhk-2' into 'master'
...
样式修改
See merge request knowledge-base-bj/deerflow-server!13
2026-05-14 08:04:28 +00:00
fengxiangdebaozi
e6ad3c414f
页面布局调整
2026-05-14 16:01:25 +08:00
xuhd and Claude Opus 4.7
8162719e36
feat(skills/notifications): 多租户阶段 1 — 持久化层
...
新增两套 persistence 模块,仿 persistence/agents/ 模板:
1. persistence/skills/
- SkillRow ORM (PK=name, owner_user_id, published, timestamps)
- SkillStore 抽象:list_visible / get_visible / get_any /
get_owned / create / ensure_legacy / update / update_admin /
delete / delete_admin
- SqlAlchemy 实现 SkillRepository
- MemorySkillStore 用于测试
- 可见性 = owner OR published OR builtin
2. persistence/notifications/
- NotificationRow ORM (id, user_id, type, title, body, payload JSON,
read, created_at)
- NotificationStore 抽象:create / list_for_user / unread_count /
mark_read / mark_all_read / delete
- SqlAlchemy 实现 NotificationRepository
- MemoryNotificationStore 用于测试
- sender.notify(user_id, type, ...) 全局接口;harness 不能 import
app.*,所以用 set_notification_store / get_notification_store
注入模式
3. persistence/models/__init__.py 注册 SkillRow + NotificationRow
后续阶段会接入路由、cascade、curator per-user 重构、前端。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 15:44:36 +08:00
xuhd and Claude Opus 4.7
f5bc02d598
fix: skills 路由两个小修复
...
skills.py:
- update_curator_config 直接 await get_curator_config() 报错
('Depends' object has no attribute 'skill_evolution')。FastAPI 路由
默认参数 Depends(...) 只在请求时被框架解析,直接调用拿到的是依赖标记。
抽出 _build_curator_config_response(config) 让 GET 和 PUT 共用。
skill_manage_tool.py:
- 模型把 action='list' 当成可用动作误调 skill_manage 报
Unsupported action。补两个 read-only 别名 list/view,分别委派到
skill_list_tool 和 skill_view_tool,docstring 同步更新。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 15:43:26 +08:00
fengxiangdebaozi
139dfb76e4
bug修改
2026-05-14 14:59:12 +08:00
fengxiangdebaozi
f4769c4046
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-2
2026-05-14 14:28:31 +08:00
fengxiangdebaozi
fea3cc741f
系统合并
2026-05-14 14:28:17 +08:00
xuhd and Claude Opus 4.7
4e764350a4
feat(agents): 创建专家页面加模型选择
...
NewAgentPage 在两处加 Select 下拉:
- 左侧聊天框上方 "当前对话模型":透传给 useThreadStream 的
context.model_name,控制当前 bootstrap 对话调用的 LLM
- 右侧表单 "模型":写入 agent.model,控制专家保存后被使用时调用
的 LLM
两个下拉互相独立,复用 useModels() 拉 /api/models。页面加载完
模型列表后自动 seed 到列表第一个(与 config.yaml 全局默认对齐),
用户可随时切换。
杂项:.gitignore 忽略 skills/ 与 hermes-agent-main/ 运行时目录。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:59:10 +08:00
xuhd
c63811367e
123
2026-05-14 12:45:04 +08:00
xuhd and Claude Opus 4.7
4cc8b3198b
fix: 修复 setup_agent 创建专家流程的多个问题
...
后端 (setup_agent_approval_middleware.py):
- 拦截策略从 wrap_tool_call + Command(goto=END) 改为
after_model + jump_to="end"。在 tool_node 执行前直接终止图,
避免模型并行调多个 tool_call 时 Command 输出被稀释、graph
路由不稳定的问题(症状:审批 ToolMessage 发出后流不结束)。
- 用 @hook_config(can_jump_to=["end"]) 装饰器声明跳转能力,
否则 LangChain 不会为该 hook 构造 conditional edge。
前端 (NewAgentPage.tsx):
- 聊天阶段不再调 ensureAgent / POST /api/agents,placeholder
agent 不再落库;agent 仅在用户点右上角“保存”时创建。
- 自动生成的占位名 "未命名专家-xxx" 不再回写到输入框,保持空白
直到用户输入或 setup_agent 审批回填。
- handleApproveSetupAgent 仅把模型 propose 的 payload 填入表单,
不再 PUT /api/agents/{id};落库交给手动保存按钮。
- onToolEnd 不再 getAgentWithRetry —— 工具被 middleware 拦截、
根本不会执行,没有 agent 状态可拉。清理对应死代码(getAgent
import、wait()、AGENT_READ_RETRY_DELAYS_MS、getAgentWithRetry)。
- 路由跳转补齐 /page 前缀:返回按钮、“开始对话”按钮。
- 右侧表单:SOUL.md textarea 加 max-h-[400px],技能列表外框加
max-h-[240px],各自 overflow-y-auto,避免长内容撑高整列。
前端 (agent-card.tsx):
- 列表卡片“聊天”按钮的跳转路径补齐 /page 前缀,避免点击后 404。
无新依赖。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:35:49 +08:00
xuhd and Claude Opus 4.7
5c6ac06656
feat(skills): 自我进化前端 — Skills 独立侧边栏 + /skills/evolution 页面
...
UI 重构:
- settings-dialog.tsx:把 Skills section 从设置弹窗移除
- workspace-nav-chat-list.tsx + WorkspaceRoutes.tsx + SkillsPage.tsx:
Skills 提升为独立侧边栏导航项,/workspace/skills 路由直接渲染
SkillSettingsPage(同事原型已就绪)
- skill-settings-page.tsx:顶部追加 "自我进化" 跳转按钮
自我进化页面:
- /workspace/skills/evolution 子路由 → SkillEvolutionPage 包装
- skill-evolution-panel.tsx:三段式
· 状态卡:启用/暂停徽章 + 累计运行次数 + 上次运行时间/摘要 +
技能计数 (total/active/stale/archived) + 立即执行按钮
· 配置表单:enabled / curator.enabled / interval_hours /
stale_after_days / archive_after_days / moderation_model_name
本地暂存 → 保存调 PUT,热生效
· 日志面板:拉 GET /api/curator/logs,2 秒自动刷新,monospace
展示,warning 黄、error 红
- core/curator/api.ts + hooks.ts + types.ts:TanStack Query 包装
status / config (GET/PUT) / run / logs
i18n:
- types.ts 新增 settings.skillEvolution.* 类型签名
- zh-CN.ts / en-US.ts:状态卡 / 配置表单 / 日志面板文案,
以及 settings.skills.goToEvolution
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:00:54 +08:00
xuhd and Claude Opus 4.7
9b6b94d919
feat(skills): 自我进化后端 — curator 配置可编辑 + 运行日志可读
...
后端骨架:
- curator.py / usage.py / skill_tools.py:基于使用计数的生命周期管理
+ LLM 合并/归档建议(同事已有原型,集中提交)
- skill_evolution_config.py:CuratorConfig 嵌套模型
- app.py:启动时按间隔触发 curator 后台线程
- tools.py:开启自我进化时一并注册 skill_list / skill_view 工具
- skill_manage_tool.py:agent 创建技能时标记 source=agent
本次新增:
- skill_evolution_runtime.py:skill_evolution.json 读写,原子写入
- app_config.py:把 overrides 深合并到 AppConfig.skill_evolution,
并把 overrides 的 mtime 纳入缓存失效条件,前端 PUT 后热生效
- curator_log.py:进程内 ring buffer (maxlen=200),所有 record/get
操作内部兜异常,保证 logging 永远不会让 curator 跑挂
- curator.py 关键节点插桩:run_started / 自动转换计数 / 候选数 /
LLM agent invoke / 解析结果 / archive 动作 / run complete
- routers/skills.py:GET/PUT /api/curator/config(写到
skill_evolution.json + reset_app_config)+ GET /api/curator/logs
测试:
- tests/test_skill_evolution_runtime.py:overrides 往返、损坏 JSON
容错、AppConfig 合并、ring buffer 线程安全、record 异常吞咽
杂项:
- .gitignore:忽略 .deer-flow/* 与 skills/* 等运行时目录
- uv.lock:跟随依赖锁更新
- 清理已废弃的 agent runtime 数据 SOUL.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:00:21 +08:00
董宏凯
8f4af5ece4
Merge branch 'dhk-2' into 'master'
...
添加提示词权限
See merge request knowledge-base-bj/deerflow-server!12
2026-05-14 03:52:27 +00:00
fengxiangdebaozi
2d9248889f
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-2
2026-05-14 11:51:51 +08:00
fengxiangdebaozi
804f37dcfa
提示词权限配置
2026-05-14 11:51:29 +08:00
董宏凯
bf98713a55
Merge branch 'dhk-2' into 'master'
...
推荐问题接口添加
See merge request knowledge-base-bj/deerflow-server!11
2026-05-14 03:08:14 +00:00
fengxiangdebaozi
2f2ba44c7c
添加推荐问题修改接口
2026-05-14 11:07:28 +08:00
fengxiangdebaozi
62292500ba
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-2
2026-05-14 10:52:08 +08:00
fengxiangdebaozi
a7f1e89ce9
提示词修改
2026-05-14 10:51:29 +08:00
董宏凯
20c7e2841c
Merge branch 'dhk-2' into 'master'
...
提示词修改
See merge request knowledge-base-bj/deerflow-server!10
2026-05-14 02:45:46 +00:00
fengxiangdebaozi
c79f5c5a7a
样式修改
2026-05-14 10:42:37 +08:00
xu hd
d3771ed31f
Merge branch 'xuhd' into 'master'
...
feat: skill 名字允许下划线分隔
See merge request knowledge-base-bj/deerflow-server!9
2026-05-14 02:42:15 +00:00
xuhd and Claude Opus 4.7
230eec1baf
feat: skill 名字允许下划线分隔
...
放宽 skill 命名校验:除连字符外也接受下划线作为分隔符,首尾和连续
分隔符的限制扩展到 _ 与混合分隔(--、__、-_、_- 都拒绝)。前置
frontmatter 校验与存储层正则同步放宽。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 10:41:37 +08:00
xu hd
0bae393e07
Merge branch 'xuhd' into 'master'
...
fix: /login/admin 自动把历史 admin 账户升级为 admin 角色
See merge request knowledge-base-bj/deerflow-server!8
2026-05-14 02:28:42 +00:00
xuhd and Claude Opus 4.7
434cf40b36
fix: /login/admin 自动把历史 admin 账户升级为 admin 角色
...
历史上以 username=admin 自动注册的账户曾被建成 system_role=user,
登录时按 username 修正一次,避免老库需要手工改表。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 10:25:24 +08:00
xu hd
7417a1c950
Merge branch 'xuhd' into 'master'
...
feat: admin可删除内置专家
See merge request knowledge-base-bj/deerflow-server!7
2026-05-14 02:18:33 +00:00
xu hd
799ccbe300
Merge branch 'xuhd' into 'master'
...
feat: admin可编辑内置专家 + agent列表Tab分组
See merge request knowledge-base-bj/deerflow-server!6
2026-05-14 02:06:42 +00:00
xuhd and Claude Opus 4.7
43044232bb
feat: admin可删除内置专家
...
复用 _get_editable_or_raise 分支,给 AgentStore 增加 delete_builtin,
路由按 edit_mode 决定走 delete 还是 delete_builtin;前端 agent-card
为 admin 显示内置 agent 的删除按钮。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 09:53:13 +08:00
董宏凯
4567db8836
Merge branch 'dhk-2' into 'master'
...
页面结构调整
See merge request knowledge-base-bj/deerflow-server!5
2026-05-14 01:43:08 +00:00
fengxiangdebaozi
e286e59431
页面结构调整
2026-05-14 09:42:12 +08:00
fengxiangdebaozi
65e89a4248
样式修改
2026-05-14 09:36:45 +08:00
fengxiangdebaozi
db63086c38
文档修改
2026-05-14 09:35:15 +08:00
xuhd and Claude Sonnet 4.6
2abdf28eba
feat: admin可编辑内置专家 + agent列表Tab分组
...
- /login/admin 登录时自动赋予 admin 角色,允许编辑内置专家
- agent列表页新增「全部」(内置+已发布) 和「自己的」两个Tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-13 23:16:18 +08:00
董宏凯
2476f04a26
Merge branch 'dhk-1' into 'master'
...
接口地址填写
See merge request knowledge-base-bj/deerflow-server!4
2026-05-13 14:29:34 +00:00
董宏凯
e458f1eab4
接口地址填写
2026-05-13 22:29:05 +08:00
fengxiangdebaozi
b15b2649f8
文档修改
2026-05-13 22:22:59 +08:00
fengxiangdebaozi
4fce7ba09a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server
2026-05-13 22:19:02 +08:00
fengxiangdebaozi
1a1369f115
代码提交
2026-05-13 22:18:55 +08:00
董宏凯
9434ffabdc
Merge branch 'dhk-1' into 'master'
...
Dhk 1
See merge request knowledge-base-bj/deerflow-server!3
2026-05-13 14:17:47 +00:00
董宏凯
6aeb428796
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-05-13 22:17:25 +08:00
董宏凯
8cabf32ebe
提交
2026-05-13 22:16:59 +08:00
董宏凯
85a98fcfd6
Merge branch 'dhk-v3' into 'master'
...
ceshi1
See merge request knowledge-base-bj/deerflow-server!2
2026-05-13 14:09:07 +00:00
董宏凯
aa1f81a30a
ceshi1
2026-05-13 22:08:37 +08:00
fengxiangdebaozi
1c50c73aa4
样式修改
2026-05-13 21:41:13 +08:00
fengxiangdebaozi
6cc28c7edd
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server
2026-05-13 21:25:40 +08:00
fengxiangdebaozi
1c2cf768f8
样式修改
2026-05-13 21:25:29 +08:00
吉鑫升
481e718d86
Merge remote-tracking branch 'origin/master'
2026-05-13 21:02:27 +08:00
吉鑫升 and Claude Opus 4.7
29f74afbf6
fix(scheduler): give every scheduled run its own throwaway thread
...
All scheduled tasks for a user shared one scheduler thread, so each run
appended its messages to the same LangGraph checkpoint. Over time the
history blew past the model's input window and every task on that
account started failing with context-too-long.
_execute_task now mints a fresh thread_id per run and threads it through
ensure_thread_meta / snapshot / start_run / extract_*. The per-task
scheduler_thread_id column is left in place for backwards compatibility
but no longer drives the LLM call.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-13 20:58:23 +08:00
fengxiangdebaozi
02111ab5b8
文档修改
2026-05-13 20:22:14 +08:00
吉鑫升
a2f7157bc3
chore: remove .claude/settings.local.json from tracking
...
Followup to previous commit which only landed the .gitignore rule but
left the file still tracked in the index.
2026-05-13 20:14:37 +08:00
吉鑫升
e6591abfbc
chore: stop tracking .claude/settings.local.json
...
This file holds per-user Claude Code permission allowlists and should not
be shared across the team. Adding it to .gitignore and removing from the
index; existing working copies are preserved.
2026-05-13 20:14:00 +08:00
吉鑫升
50bda1ddee
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into ji
...
# Conflicts:
# frontend-web/src/components/workspace/agents/agent-card.tsx
# frontend-web/src/pages/NewAgentPage.tsx
2026-05-13 20:10:21 +08:00
吉鑫升
31abad86d5
智能体配置
2026-05-13 20:04:06 +08:00
fengxiangdebaozi
af7e90c87a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server
2026-05-13 18:23:25 +08:00
fengxiangdebaozi
2e4bdf122e
页面结构修改
2026-05-13 18:18:05 +08:00
吉鑫升
83d7fa26fe
Merge remote master docs
2026-05-13 17:28:04 +08:00
fengxiangdebaozi
efc4d89fdf
文档
2026-05-13 17:17:46 +08:00
吉鑫升
a27206c543
Update local frontend and backend changes
2026-05-13 17:17:42 +08:00
吉鑫升
faca2c9a2d
Merge branch 'likun' into master
2026-05-13 17:02:22 +08:00
fengxiangdebaozi
0cbd137b4f
wendang1xiug1
2026-05-13 16:38:34 +08:00
likun
cdf41d3e5e
feat:完成技能化适配的意图识别功能
2026-05-13 16:01:00 +08:00
吉鑫升
aa034f8669
定时任务订阅模式
2026-05-13 14:59:27 +08:00
likun
aee5a50b9f
bug修复
2026-05-13 14:57:16 +08:00
likun
b8926f00d7
新增用户意图确认功能
2026-05-13 14:36:44 +08:00
吉鑫升
839386f0b4
test: verify new remote push
2026-05-13 14:23:55 +08:00
吉鑫升
cf2e4bdd9c
智能体分权
2026-05-13 11:36:17 +08:00
吉鑫升
e7a455f22e
Initial commit: deerflow-server (frontend-web + offline-backend-20260512)
2026-05-13 09:36:15 +08:00