董宏凯
|
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 |
|
董宏凯
|
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 |
|
董宏凯
|
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
|
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 |
|
 董宏凯andCursor
|
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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升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 |
|
吉鑫升
|
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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 吉鑫升andClaude 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 |
|
 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 |
|
 AdministratorandClaude 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 |
|
 吉鑫升andClaude 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 |
|
 fengxiangdebaoziandClaude 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 |
|
 fengxiangdebaoziandClaude 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 |
|
 吉鑫升andClaude 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 |
|
 董宏凯andClaude 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 |
|
 董宏凯andClaude 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 |
|
fengxiangdebaozi
|
85aa242fd5
|
Merge branch 'master' into dhk-1
|
2026-06-23 19:45:41 +08:00 |
|
Administrator
|
053d3e300e
|
Merge branch 'ji' into master (操作日志 Y-Log 上报)
# Conflicts:
# CLAUDE.md
|
2026-06-23 19:22:53 +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 |
|