吉鑫升
|
49d9ced04f
|
Merge branch 'ji' into master
|
2026-09-03 10:25:57 +08:00 |
|
董宏凯
|
6d326a21cd
|
feat(backend): 完善 Workflow 与 DeepResearch 的运行链路与持久化能力
功能说明:\n- 重构并增强工作流网关执行链路,支持更完整的 proposal 与 run 调度参数透传\n- 增加 DeepResearch/workflow 运行事件持久化能力并补齐建表 SQL 与查询/保存接口适配\n- 优化 lead agent 与 deep research runner 的中间态处理,增强线程收集与执行链并发控制\n- 调整工作流执行器与任务路由,提升兼容性并完善错误与回放行为\n- 补充回归测试:deep_research 持久化、workflow 并发、定义加载、引擎执行、run 流程等覆盖
|
2026-09-02 12:52:37 +08:00 |
|
Administrator
|
fbd8dec48f
|
feat: add skill and assistant knowledge bases
|
2026-09-02 00:49:13 +08:00 |
|
董宏凯
|
1706a24182
|
feat(workflow): 增加会话级多智能体任务规划运行能力
提交范围聚焦于工作流编排新增:新增 workflow_planning 路由与前后端运行入口(workflow_planning.py、workflow_proposal_planner.py、workflow_deep_research_adapter.py),支持基于会话的提案-规划-执行流程,满足任务驱动式多智能体协作。
完成网关层运行时适配:扩展 workflow_resource_checks、workflow_executor、workflow_runs、workflow_agent_runner 与依赖注入,新增/更新配置(config.yaml、workflow_config),并补充 lead_agent 路径与节点实现,确保 Planner 与普通工作流运行态衔接一致。
补齐持久化与建模:新增 workflow_planning 持久化模块与 MySQL migration(20260831_01_workflow_planning_sessions),注册 SQL 与模型、内存 store,并扩展错误/表达式/validator/节点语义以承载新会话态输入输出。
增强文档与测试:新增会话式多智能体编排中文说明、更新开发文档与 AGENTS 指南、补充 workflow_engine/workflow_runs 回归测试,提高新路径的行为可验证性;同时留存 seed 资产(workflow-planner)便于一体化部署。
|
2026-09-01 11:47:30 +08:00 |
|
董宏凯
|
ac92f29db1
|
chore(persistence): 增加 Workflow Studio 表重建开关与迁移兼容修正
提交内容:为数据库生命周期增加按白名单清单重建 Workflow Studio 表的受限流程,限定仅 MySQL 且检查当前连接数据库名称一致,避免误删非目标 schema。
启动流程中新增 DEER_FLOW_REBUILD_WORKFLOW_SCHEMA 环境变量入口与持久层重建 API,并在 lifespan 里按需执行;导出到 persistence 包,便于后续调用与测试复用。
迁移与模型修复:将 workflow 相关大文本字段切到 MySQL LONGTEXT,不再给 TEXT/LONGTEXT 设置 server_default;新增 draft_canvas_schema_json 的迁移回填与非空约束变更,规避 MySQL 5.7 对默认值限制。
测试覆盖:补充 workflow 定义 ddl 长文本断言与 schema 重建保护性测试(仅允许清单表、数据库名不匹配直接拒绝),并把新测试文件加入版本追踪。
|
2026-08-31 16:45:06 +08:00 |
|
董宏凯
|
17cf849361
|
代码提交
|
2026-08-30 01:25:20 +08:00 |
|
 董宏凯andCursor
|
52b9cbf707
|
feat: 新增 agentfx 任务深链与研判报告入库流程
支持 goPath=agentfx 的 iframe 嵌入问答、内置研判助手种子与报告导入协助卡,并完善深度研究流式报告能力。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-27 16:32:22 +08:00 |
|
董宏凯
|
38c3de39f0
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into master-nj
# Conflicts:
# AGENTS.md
# frontend-web/src/pages/AgentChatPage.tsx
|
2026-08-26 16:37:41 +08:00 |
|
吉鑫升
|
9b904ac3dd
|
Merge branch 'ji' into master
# Conflicts:
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/README.md
# offline-backend-20260512/backend/app/gateway/routers/llmwiki.py
# offline-backend-20260512/backend/config.yaml
# offline-backend-20260512/backend/packages/harness/deerflow/config/llmwiki_config.py
# offline-backend-20260512/backend/tests/test_llmwiki_weknora.py
|
2026-08-26 15:46:58 +08:00 |
|
吉鑫升
|
d35d075669
|
feat: add compact toolbox and public wiki vector search
|
2026-08-26 14:40:57 +08:00 |
|
 董宏凯andCursor
|
62a3faa7c8
|
feat: 舆情分析智能体改为经 Gateway 转发外部 AG-UI 网关
前端不再直连上游 SSE,改为 POST /api/sentiment-agent/stream 由后台代理转发,支持关闭 TLS 校验并回传完整错误信息。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-25 18:26:48 +08:00 |
|
吉鑫升
|
4b86106a24
|
fix: restore embedded wiki images and optimize vector sync
|
2026-08-25 11:26:27 +08:00 |
|
吉鑫升
|
0c5e2e8cb0
|
fix: restore embedded wiki images and optimize vector sync
|
2026-08-25 11:24:01 +08:00 |
|
董宏凯
|
babc5e95c6
|
代码提交
|
2026-08-24 20:47:31 +08:00 |
|
吉鑫升
|
e818c24769
|
Merge remote-tracking branch 'origin/master' into ji
# Conflicts:
# .gitignore
# frontend-web/src/components/workspace/artifacts/context.tsx
# frontend-web/src/components/workspace/messages/message-group.tsx
# offline-backend-20260512/backend/CLAUDE.md
# offline-backend-20260512/backend/README.md
# offline-backend-20260512/backend/app/gateway/app.py
# offline-backend-20260512/backend/app/gateway/deps.py
# offline-backend-20260512/backend/app/gateway/routers/llmwiki.py
|
2026-08-24 14:21:19 +08:00 |
|
Administrator
|
3785345353
|
feat: add local LLMWiki wiki vector index
|
2026-08-24 00:49:31 +08:00 |
|
 董宏凯andCursor
|
a5a9c952e8
|
feat: 深度研究支持独立新报告与原文改写,并完善沙箱、模型管理与全文改写
新报告不再覆盖当前文件卡片,写入时打开沙箱;步骤条仅在改写原文时位于卡片上方。同时补齐改写本地回退、模型管理与会商第三步相关改动。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-21 21:46:04 +08:00 |
|
吉鑫升
|
4c9f75f31e
|
feat: add fixed questions and improve authentication
|
2026-08-21 17:58:39 +08:00 |
|
 董宏凯andCursor
|
11f928bc95
|
feat: 新增独立企业深度研究工作台,并接入工作流报告结构与 8BF 深色锁定
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-20 16:43:03 +08:00 |
|
 董宏凯andCursor
|
0ce060693b
|
feat: 会商链条启停与深度研究报告结构,并完善问答展示与 8BF 返回。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-19 20:37:34 +08:00 |
|
吉鑫升
|
8af4fed89d
|
feat: update knowledge workspace and menu configuration
|
2026-08-18 15:23:14 +08:00 |
|
董宏凯
|
178572bc7f
|
代码提交
|
2026-08-16 19:17:45 +08:00 |
|
董宏凯
|
70da7c5649
|
代码提交
|
2026-08-15 12:51:58 +08:00 |
|
Administrator
|
11e54550ed
|
fix: harden WeKnora proxy and configurable search
|
2026-08-13 23:44:47 +08:00 |
|
Administrator
|
54fd0e7316
|
fix: route WeKnora embed through backend prefix
|
2026-08-13 20:22:50 +08:00 |
|
吉鑫升
|
c4fd9dd7da
|
Merge remote-tracking branch 'origin/master' into ji
# Conflicts:
# .gitignore
# frontend-web/src/components/workspace/input-box.tsx
# frontend-web/src/core/threads/types.ts
# frontend-web/src/pages/ChatPage.tsx
|
2026-08-12 15:55:51 +08:00 |
|
吉鑫升
|
b4d076a2d4
|
fix: harden WeKnora knowledge permissions and details
|
2026-08-12 15:45:28 +08:00 |
|
 董宏凯andCursor
|
ba912acf72
|
feat: 添加管理员模型配置页面与 config.yaml 模型管理 API
新增 /api/admin/models 路由(读写 config.yaml models 段、连接测试、写前备份),以及工作区「模型配置」管理页与侧栏入口。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-08-11 21:45:56 +08:00 |
|
吉鑫升
|
e0c09f6704
|
feat: integrate WeKnora llmwiki knowledge flow
|
2026-08-11 18:13:30 +08:00 |
|
董宏凯
|
3eb307c5c5
|
代码提交
|
2026-08-10 14:26:49 +08:00 |
|
董宏凯
|
4450f342d8
|
页面嵌套修改
|
2026-07-29 21:53:32 +08:00 |
|
董宏凯
|
816c46d447
|
代码提交
|
2026-07-28 19:17:40 +08:00 |
|
fengxiangdebaozi
|
239b798c5d
|
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-code into dhk-1
# Conflicts:
# frontend-web/src/components/workspace/workspace-nav-menu.tsx
# offline-backend-20260512/backend/app/gateway/routers/multi_agent.py
|
2026-07-26 20:55:50 +08:00 |
|
董宏凯
|
08ce3dda73
|
merge: integrate dhk-dev into dhk-1
|
2026-07-23 10:38:48 +08:00 |
|
董宏凯
|
c8f69781e4
|
样式修改
|
2026-07-23 10:10:47 +08:00 |
|
fengxiangdebaozi
|
85e119db08
|
feat(position-roundtable): add standalone position collaboration
|
2026-07-21 17:50:24 +08:00 |
|
董宏凯
|
d7ad0624b7
|
代码提交
|
2026-07-15 16:13:03 +08:00 |
|
吉鑫升
|
b4206d6421
|
Add Redis-backed concurrency gate
|
2026-06-30 11:25:44 +08:00 |
|
 吉鑫升andClaude 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 |
|
 AdministratorandClaude 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 |
|
 董宏凯andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 董宏凯andClaude 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
|
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 |
|
吉鑫升
|
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 |
|
 AdministratorandClaude 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 |
|
 fengxiangdebaoziandClaude 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 |
|