董宏凯 and Cursor
33639e5b89
fix: 修复嵌套 iframe 污染 embed 会话与协助卡后流式显示异常
...
顶层窗口通过 topOwned 标记自愈老版嵌套页写脏的 embed.session;协助卡提交后避免冻结 checkpoint 覆盖实时 SSE,并仅在服务端回显新 human 消息时清除乐观气泡。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 16:28:10 +08:00
董宏凯
910cee9e67
用户引导沙箱优化
2026-08-26 14:14:26 +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
董宏凯 and Cursor
b81d200eca
fix: 协助卡停轮与提交防 409,隐藏配置向导会话,并限制岗位会商产物重复写入
...
澄清中间件改为 ToolMessage + after_model 停轮,前端提交前取消残留 run;系统/向导 thread_type 从对话列表排除;岗位总结席位加 write_file 上限。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-23 20:29:59 +08:00
吉鑫升
4c9f75f31e
feat: add fixed questions and improve authentication
2026-08-21 17:58:39 +08:00
董宏凯 and Cursor
3afa76894f
feat: 完善会商产物提交匹配与流式写文件预览
...
席位流程图按已提交 Markdown 对齐;流式未命名产物不再误请求 artifacts API,并兼容临时文件名路径。同时补强会话流中断识别与 8BF/岗位会商展示。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-19 17:08:52 +08:00
吉鑫升
68c4896088
fix: stabilize auth sync and stream recovery for ji
2026-08-17 19:27:39 +08:00
董宏凯
cebc44ff82
代码提交
2026-08-13 16:43:31 +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
吉鑫升
e0c09f6704
feat: integrate WeKnora llmwiki knowledge flow
2026-08-11 18:13:30 +08:00
董宏凯 and Cursor
69e455274a
fix(frontend): 岗位会商沙箱在 write_file 流式阶段实时打开并刷新
...
content 先于 path 到达时用临时文件名开沙箱,流式快照改走外部 store 避免整页重渲染卡顿。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-04 00:51:38 +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
董宏凯
f49def09ea
代码修改
2026-07-23 16:00:39 +08:00
fengxiangdebaozi
91c5d43c48
代码提交
2026-07-23 15:07:23 +08:00
董宏凯
b60d9ed09e
代码修改
2026-07-23 14:29:12 +08:00
董宏凯
13bfa719ee
feat: refine position roundtable workflow
2026-07-22 22:22:38 +08:00
吉鑫升
5436719bfb
Merge branch 'master-dev' into 'master'
2026-07-21 14:47:46 +08:00
吉鑫升
36a3851233
feat: inject 3q context into rwfx chat
2026-07-02 10:03:34 +08:00
Administrator
d39b58255d
并发版
2026-06-29 16:09:51 +08:00
Administrator
2d3033434b
Fix async thread title generation flow
2026-06-28 18:09:48 +08:00
Administrator
a046d19ce1
fix: improve model concurrency limiting
2026-06-27 18:57:01 +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
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
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
吉鑫升 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
吉鑫升 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
吉鑫升 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
吉鑫升 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
吉鑫升 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
吉鑫升 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
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 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
吉鑫升 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
吉鑫升 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
吉鑫升
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
吉鑫升 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
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
ZyGuo
f496546cc0
feat: 从iframe对接模型配置
2026-06-04 11:03:50 +08:00
ZyGuo
0922c8299f
feat: iframe page
2026-06-01 14:16:13 +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
吉鑫升 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
吉鑫升
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
吉鑫升
c56db15a03
实现RAG参考文献显示模式
2026-05-27 17:40:10 +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
吉鑫升 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
吉鑫升
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
吉鑫升
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
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
likun
b8926f00d7
新增用户意图确认功能
2026-05-13 14:36:44 +08:00
吉鑫升
cf2e4bdd9c
智能体分权
2026-05-13 11:36:17 +08:00