吉鑫升 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
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
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
董宏凯 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
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
董宏凯 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
董宏凯
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 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 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
fengxiangdebaozi
0bf6285287
fix(roundtable): 后台任务临时跳过 Step3 报告生成
...
后台挂起路径在真模型下仍无法稳定写出报告 HTML,先只跑完 Step2 研讨并正确设置 furthest_step;测试可通过 enable_report 覆盖验证报告链路。
2026-06-05 23:41:28 +08:00
董宏凯
6d5325d444
代码修改
2026-06-05 21:16:35 +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
董宏凯 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
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
吉鑫升
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
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
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 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 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
董宏凯
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
fengxiangdebaozi
9bbd04d6cf
后台挂起功能优化
2026-06-05 10:59:56 +08:00
吉鑫升
e96cc97462
Merge origin/master into ji
2026-06-05 10:04:11 +08:00
Administrator
88c83b4dd7
refine admin leaderboard experience
2026-06-04 23:41:19 +08:00
fengxiangdebaozi
90bced3ed2
第二次生成结果后台挂起
2026-06-04 20:18:34 +08:00
fengxiangdebaozi
19399482e1
后台挂起
2026-06-04 20:00:58 +08:00
吉鑫升
e6e0832c8a
chore: commit local changes
2026-06-04 19:35:56 +08:00
fengxiangdebaozi
9d863f63e5
代码提交
2026-06-04 18:50:31 +08:00