董宏凯
1ab3329f6d
feat: 新增8BF多智能体会商页面
2026-07-27 19:00:14 +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
董宏凯
f1e53ef5c0
功能:完善自定义主题与独立登录会话
2026-07-26 18:19:50 +08:00
董宏凯
25153dbd84
代码修改
2026-07-24 14:12:42 +08:00
董宏凯
45df500a9c
代码提交
2026-07-24 10:33:28 +08:00
董宏凯
7d249a81ce
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-code into dhk-1
...
# Conflicts:
# frontend-web/src/position-roundtable/components/PositionBuiltinAgentChat.tsx
# frontend-web/src/position-roundtable/components/PositionNodeChat.tsx
2026-07-23 15:11:43 +08:00
董宏凯
1d07025f74
代码修改
2026-07-23 15:08:00 +08:00
fengxiangdebaozi
91c5d43c48
代码提交
2026-07-23 15:07:23 +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
董宏凯
ae184f434d
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-code into dhk-1
2026-07-22 15:43:13 +08:00
董宏凯
055523bf33
代码修改
2026-07-22 15:43:06 +08:00
fengxiangdebaozi
1bc203b5cd
岗位会商
2026-07-22 15:40:00 +08:00
fengxiangdebaozi
1cd99a5a90
feat(position-roundtable): add delivery rejection workflow
2026-07-21 20:16:52 +08:00
fengxiangdebaozi
2ca8a23102
feat(position-roundtable): add delivery workflow scaffolding
2026-07-21 19:48:39 +08:00
fengxiangdebaozi
85e119db08
feat(position-roundtable): add standalone position collaboration
2026-07-21 17:50:24 +08:00
吉鑫升
5436719bfb
Merge branch 'master-dev' into 'master'
2026-07-21 14:47:46 +08:00
董宏凯
d7ad0624b7
代码提交
2026-07-15 16:13:03 +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
fengxiangdebaozi
f3511e5cd0
样式修改
2026-07-03 16:35:52 +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
董宏凯
025e43f4c5
feat: improve ai writing imitation flow
2026-07-01 17:16:12 +08:00
董宏凯
bb6b9bd84b
feat: add ai writing imitation mode
2026-07-01 11:21:41 +08:00
吉鑫升
c23350f17b
fix: isolate user concurrency from internal agent runs
2026-06-30 14:56:29 +08:00
吉鑫升
b4206d6421
Add Redis-backed concurrency gate
2026-06-30 11:25:44 +08:00
Administrator
d39b58255d
并发版
2026-06-29 16:09:51 +08:00
Rocky Kwok
e9e4c181b9
feat: 插件管理及域名和智能体对应
2026-06-29 14:31:40 +08:00
Administrator
d522498cc9
ji
2026-06-28 00:23:01 +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
董宏凯
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
吉鑫升 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
吉鑫升 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
吉鑫升
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
吉鑫升 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
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
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
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
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
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
吉鑫升
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
吉鑫升 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
Rocky Kwok
8ed54448c2
feat: 打开 browser_act
2026-06-24 15:40:56 +08:00