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
fengxiangdebaozi
f32de510fe
代码泰囧
2026-07-23 16:27:35 +08:00
fengxiangdebaozi
21722b9f5a
代码提交
2026-07-23 16:03:34 +08:00
fengxiangdebaozi
91c5d43c48
代码提交
2026-07-23 15:07:23 +08:00
fengxiangdebaozi
0634337858
feat: 支持登录隐藏壳层和路由跳转参数
2026-07-23 11:16:11 +08:00
fengxiangdebaozi
7bd032ec77
feat: 支持岗位会商任务和意图编辑
2026-07-22 17:44:34 +08:00
fengxiangdebaozi
6ade3b69b9
feat: refine position roundtable workflow
2026-07-22 16:53:10 +08:00
fengxiangdebaozi
866bc0f8d8
样式修改
2026-07-22 15:42:29 +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
97ce19973d
docs(position-roundtable): plan delivery workflow
2026-07-21 19:31:08 +08:00
fengxiangdebaozi
783774d3f3
fix(position-roundtable): align header controls
2026-07-21 19:30:55 +08:00
fengxiangdebaozi
85e119db08
feat(position-roundtable): add standalone position collaboration
2026-07-21 17:50:24 +08:00
fengxiangdebaozi
4ffd5a3c94
feat(frontend): add position roundtable workspace
2026-07-20 20:41:37 +08:00
fengxiangdebaozi
a699545c4c
feat: 支持深色主题顶栏 Logo 位置配置
2026-07-17 21:07:48 +08:00
fengxiangdebaozi
82dd9fb08f
feat: 支持主题系统Logo与欢迎页开关
2026-07-16 22:31:22 +08:00
fengxiangdebaozi
b97aa77adc
fix: 会商界面适配字号设置
2026-07-16 16:26:43 +08:00
fengxiangdebaozi
d7d101814f
fix: 修复深色导航与会商悬浮样式
2026-07-16 11:21:52 +08:00
fengxiangdebaozi
3cd093a8a2
地址修改
2026-07-16 09:56:54 +08:00
fengxiangdebaozi
4a59da7ff0
fix: 优化侧栏并接入品牌脱敏
2026-07-16 09:48:40 +08:00
fengxiangdebaozi
0bd0ac41cd
代码合并
2026-07-11 18:16:08 +08:00
fengxiangdebaozi
388a9133fc
fix: adapt frontend for legacy Chrome and runtime config
2026-07-11 16:55:08 +08:00
fengxiangdebaozi
f3511e5cd0
样式修改
2026-07-03 16:35:52 +08:00
fengxiangdebaozi
96947d7636
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-03 14:56:49 +08:00
fengxiangdebaozi
034a379ecd
技能提交
2026-07-03 14:56:35 +08:00
fengxiangdebaozi
2215ec3c49
feat: add user-assisted xdfx skill flow
2026-07-01 19:21:18 +08:00
fengxiangdebaozi
f5efe9b041
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-01 17:50:33 +08:00
fengxiangdebaozi
a4a44e1154
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-07-01 17:50:06 +08:00
fengxiangdebaozi
cef08638af
技能修改
2026-07-01 17:49:51 +08:00
fengxiangdebaozi
6378cd33bd
统一外部 access_token 存储与轻应用 URL 拼接,修复嵌入会话鉴权隔离。
...
将 access_token 纳入 scoped storage 迁移,yUserId 登录优先并独立持久化 token;轻应用/按钮管理默认改用 access_token 参数名,支持 hash 路由占位符替换与自动追加。
2026-06-29 23:00:31 +08:00
fengxiangdebaozi
8c6d08d6bf
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-29 18:08:37 +08:00
fengxiangdebaozi
29082b349d
技能修改
2026-06-29 18:08:09 +08:00
fengxiangdebaozi
45ce14e15a
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-29 17:39:52 +08:00
fengxiangdebaozi
6851c96a45
技能提交
2026-06-29 16:59:23 +08:00
fengxiangdebaozi
210cb5117f
fix: polish compact workspace controls
2026-06-29 16:44:13 +08:00
fengxiangdebaozi
eb61b332a2
Add XDFX skill data artifacts
2026-06-29 10:25:36 +08:00
fengxiangdebaozi
4fce6f9104
Add intranet retrieval diagnostics for AI writing
2026-06-29 10:21:10 +08:00
fengxiangdebaozi
bcd656fb49
代码提交
2026-06-28 18:50:59 +08:00
fengxiangdebaozi
65449ffd71
merge dhk-1 yuser login cache
2026-06-27 19:58:57 +08:00
fengxiangdebaozi
006c5bc4c1
fix: cache yuser login info by user id
2026-06-27 19:57:06 +08:00
fengxiangdebaozi
1847eb9d6a
fix(auth): normalize external accessToken and preserve on empty yUser login
2026-06-27 17:29:52 +08:00
fengxiangdebaozi
4d10590511
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-26 11:04:19 +08:00
fengxiangdebaozi and Claude Opus 4.8
3d60651491
feat(ai-writing): 检索类型加回「知识库检索」(直连内网 ES 接口)
...
弱模型常识别不了配置技能(deepseek-chat 等),恢复旧的"不用技能"检索路径
作为独立检索类型 knowledge_base:绕过技能编排,直接调
ai_writing.intranet_search_url 内网知识库 ES 接口(IntranetSearchProvider)
对检索词并发检索;未配地址 → 无素材 + skill_error 告警。
- researcher.py: material_source 归一保留 knowledge_base + 新增直连内网分支
- state.py: material_source 三值注释
- 前端 AIWritingForm/WritingFormContext/types: 下拉新增「知识库检索」
- tests/test_ai_writing_knowledge_base.py: 直连/未配/不编排技能 3 用例
- backend CLAUDE.md: 检索类型段更新为三值
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 10:04:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
158d157af4
feat(ai写作): 内网检索接口执行诊断写入 material_package.intranet_debug(排查用)
...
- material_package 新增 intranet_debug:是否配置/端点/知识库/超时/每个检索词命中数与
报错/原始响应片段/总命中数/是否被采用为兜底/status(not_configured|pending|ran|
cancelled|crashed)。随 values 事件回前端,前端忽略该字段,仅供 devtools 排查。
- 新增 config ai_writing.intranet_search_debug(默认 false):开启后即使技能成功也跑完
内网并记录完整结果,用于验证内网接口是否真能通。
- 前端不改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 22:55:27 +08:00
fengxiangdebaozi and Claude Opus 4.8
1ed004fbb1
fix(ai写作): 弱模型也能真正执行技能脚本(执行优先的强提示)
...
弱模型在 lead agent 能执行 py 脚本、在 ai写作子智能体却不能:根因是子智能体的
_MATERIAL_OUTPUT_CONTRACT 过度强调"只输出 JSON",弱模型据此跳过工具执行直接吐空 JSON。
对齐 lead agent 的 skill_system 强框架,把契约改成"执行优先":
- 第一步强制先用 bash 实际运行技能脚本(给出 cd 技能目录 && python3 scripts/..py 的命令形态),
严禁不调用工具就直接输出 JSON/凭记忆编造
- JSON 输出降级为第二步"检索完成后再整理"
- task 末尾追加"现在立刻开始执行检索"的强指令,进一步推动弱模型先动手
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 22:50:10 +08:00
fengxiangdebaozi
1fd997303e
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-25 21:29:14 +08:00
fengxiangdebaozi
ce69905950
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-25 19:54:58 +08:00
fengxiangdebaozi
71e7b9dd63
代码提交
2026-06-25 19:54:37 +08:00
fengxiangdebaozi and Claude Opus 4.8
dc5b83e8cd
Merge branch 'dhk-3': 会商第一步分析记录按业务链筛选
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 18:09:37 +08:00
fengxiangdebaozi and Claude Opus 4.8
27fffbec61
feat(会商第一步): 分析记录按业务链筛选(漏斗下拉, 选项从草稿chainTitle去重)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 18:08:36 +08:00
fengxiangdebaozi
368673c3b4
Merge branch 'dhk-1': ai写作技能检索稳定接收数据 + 内网兜底优化
2026-06-25 17:06:01 +08:00
fengxiangdebaozi and Claude Opus 4.8
854de9b43c
fix(ai写作): 技能检索稳定接收数据(复用参考文献提取+截断抢救+上限早停)
...
- 复用主智能体「参考文献」模式的提取逻辑(deerflow.runtime.references)解析技能JSON,字段并集兼容
- bash输出中间截断时逐条抢救完整记录对象,不再因大JSON解析失败而全丢
- 所有退出路径(超时/递归上限/异常)都从tool输出收割,不依赖模型最终汇总
- 达到max_materials上限即停止驱动模型,修复步骤条爆100+条/素材超额
- 步骤条实时显示每次检索获得多少条数据
- 内网兜底:与技能并行预跑、响应解析兼容两套接口字段、0结果换简单检索词重试、超时放宽到10分钟
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 17:05:09 +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 and Claude Opus 4.8
04e6d0aa00
fix(ai写作): 前端实时接收技能步骤(此前被白名单丢弃,只在快照里一次性显示)
...
根因在前端:后端 _emit_skill_step 以 writer({"type":"skill_search_step", **step})
发出,**step 里的 type(invoke_skill/list_skills/skill_result/select_skills/
match_skills/skill_error/fallback/stop_early)会覆盖外层 "skill_search_step",
所以 custom 事件实际 type 是这些内层值。customToProgressEvent 的白名单没有它们,
直接 return null 丢弃——后端逐条实时发(SSE id 时间戳已证实分散在 0~76s),前端却
全扔了,技能步骤只能等节点结束的素材包快照一次性出现(前端一直 loading)。
修复:customToProgressEvent 按内层 step 类型识别,实时归一成 skill_search_step
事件(与快照里的 step 同格式),让技能调用过程一步步实时进时间线。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 01:20:21 +08:00
fengxiangdebaozi and Claude Opus 4.8
1d6659f9e7
fix(ai写作): 技能步骤从节点协程 emit,custom 事件真正实时刷给前端
...
前端/SDK 都是实时的(onCustomEvent 逐条即触发,draft_chunk 同链路就实时)。
问题在后端:技能步骤原来在节点内的嵌套 agent.astream 里直接 emit,custom 事件
被攒到整段跑完才一次性吐到 SSE(后端在跑、前端一直 loading)。
改为:嵌套 astream 跑后台任务,只把工具调用塞进 asyncio.Queue;真正的 writer
由 researcher 节点**自身协程**从队列取出来调(与 draft_chunk 同一上下文),
custom 事件即被 LangGraph 实时刷给前端。撤掉上一版无效的 sleep(0)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 01:04:49 +08:00
fengxiangdebaozi and Claude Opus 4.8
a4a67c1a00
fix(ai写作): 技能流式每步主动让出事件循环,custom 事件实时刷给前端
...
前端 skill_search_step 已是 pushImmediate(实时渲染),但事件在节点内的嵌套
agent.astream 里发出后没及时让出事件循环,被攒到整段跑完才一次性吐到 SSE,
前端看着像卡死。每个 chunk 处理完 await asyncio.sleep(0) 主动让出,促使刚 emit
的 custom 事件实时刷给前端(对齐 draft_chunk 的实时行为)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 00:48:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
8f773d3f1b
fix(ai写作): 技能调用实时流式显示 + 去掉大纲拼检索词/复用检索词
...
- 技能调用过程改为实时流式:run_skill_via_real_agent 不再 to_thread 阻塞跑
executor.execute(),而是复用其 agent/state 构建后在图事件循环里 astream,
每个工具调用(读 SKILL.md / bash / 检索)实时推一条步骤到时间线——内网慢时
用户能看到技能在执行,不会以为卡死。整段 asyncio.wait_for 卡 5 分钟超时。
- 回退检索词相关改动(实测无用、且结合大纲后检索词变长不利按词匹配):
- intent_parser 不再顺便生成 keywords,删 precomputed_keywords 状态字段;
- researcher 不再复用,每次自己现生成检索词(回到原行为);
- 检索词提示词去掉「结合大纲/{outline_section}」,删 keyword_outline_section。
保留:关思考、技能真实运行时、技能目录修复、内网兜底。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 00:33:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
c0305c9269
fix(ai写作): 修复内网技能检不出东西(技能目录路径 + 模型 + 兜底 + 开关)
...
对比主智能体与 AI 写作两份调用日志定位到根因:真实 agent 路径只注入了
SKILL.md 内容、没告诉模型技能在容器内的目录,模型用相对路径跑脚本
(python3 scripts/search)→ No such file。主智能体则 cd 进技能绝对目录再跑。
- _skill_agent:注入 skill.get_container_path() 的绝对目录,要求先 cd 再执行
脚本/用绝对路径(对齐主智能体 skill_view 拿 location 后的行为)。
- researcher:跑技能的 agent 改用用户选定的写作主模型(model_name_fallback=None),
不再用常配成外网的 keyword_model,避免技能 agent 连不上自己的模型。
- researcher:所有技能都 0 条时,最终兜底直连内网 ES 接口(IntranetSearchProvider),
受 ai_writing.intranet_search_url 控制。
- config.yaml:开 researcher_skill_agent=true(内网技能必须走真实运行时),
新增 intranet_search_url / intranet_knowledge_base 兜底配置项。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 23:52:32 +08:00
fengxiangdebaozi and Claude Opus 4.8
d8b43e7579
fix(ai写作): 技能检索超时硬编码 5 分钟(内网慢检索不被过早切断)
...
内网检索很慢,原 120s 在三个真正生效的层把检索切断。统一硬编码 300s,
不依赖环境变量(部署方不一定会配):
- researcher._SKILL_SEARCH_TIMEOUT_SECONDS:120(env) → 300(写死),删掉 _env_int;
作用于直连/定向技能检索的 wait_for,也传给真实智能体路径。
- IntranetSearchProvider 默认 httpx 超时:120 → 300(直连内网 ES 的真正瓶颈)。
- run_skill_via_real_agent 整段运行上限:max(timeout_s, 300),至少 5 分钟。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:54:42 +08:00
fengxiangdebaozi
4f68235c94
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-24 22:45:42 +08:00
fengxiangdebaozi and Claude Opus 4.8
afb78a6943
feat(ai写作): 素材收集专家按真实智能体运行时跑技能 + 步骤条对齐
...
- 新增 run_skill_via_real_agent:复用 SubagentExecutor(与 lead agent / 子智能体
同一套运行时),加载技能 SKILL.md + 全套工具 + 懒加载沙箱,让技能的真实检索逻辑
(读文件 / 调内网接口 / MCP)真正执行,再按 JSON 契约收割结构化素材;researcher 的
_execute_skill 在 researcher_skill_agent 开启时切到它,失败/空结果回退直连检索。
解决内网技能(在别的智能体里好使)在 AI 写作里检不出东西的问题。
- 步骤条轻量对齐别的智能体:技能调用拆成「读取 SKILL.md → 执行检索 → 检索到 N 条」
三段(前两段新增,结果段沿用 skill_result);前端 SkillStepsCard 零改动。
- 含 roundtable-planning(业务链选择 / Step2 编排)的进行中改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 22:19:30 +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
c117e296cb
feat(ai写作): 草稿局部修改只改命中章节,支持改章节标题,修改时右侧流式重写
...
用户在草稿确认填修改意见(user_revise)时,按章节定位只重写命中章节、
其余字节级保留;新增范围识别区分「改标题」与「改正文」,改标题同步回写
outline 使其持久生效(修复改章节标题不生效);整体性/结构性意见自动回退
整篇重写。前端新增 isRevising:修改时右侧先恢复初始占位(清空旧稿),
重写流到达后实时展示被改章节的流式重写。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 19:45:00 +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
fengxiangdebaozi and Claude Opus 4.8
304e1b637a
feat(ai写作): 意图解析顺便生成检索词 + 修复快捷模式
...
- 意图解析(intent_parser)与意图理解共用同一次 LLM 调用顺便生成检索词
(结合意图 + 大纲覆盖各章节主题),存入 state.precomputed_keywords;
researcher 首轮直接复用,省掉素材收集阶段单独的「生成检索词」LLM 往返。
解析失败/为空时回退到 researcher 自己生成(优雅降级);re_search 仍重新生成。
keyword_outline_section 提到 _utils 供两处共用。
- 修复快捷模式:之前被「大纲先行确认」改动拖累,先误成「问一堆问题」,再被我
过度修正成「不生成大纲」。现修正为——快捷模式 = 用默认选项、不逐项澄清提问
(make_lead_agent 在快捷模式下直接不挂 ask_clarification 工具,物理上问不了),
但**仍生成并确认大纲**再提交;普通模式不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:32:10 +08:00
fengxiangdebaozi and Claude Opus 4.8
49173d9c28
feat(ai写作): 大纲整理可见化 + 检索词结合大纲 + 素材/大纲阶段关思考
...
- 草稿确认卡:「给出修改意见」「让编辑继续审核」移到「确认定稿」上方。
- 大纲整理阶段文案:用户自带大纲时显示「整理你的大纲」而非「规划大纲」
(OutlineStreamingView / 骨架屏 / 状态栏,按 request.userOutline 切换)。
- 素材收集专家:用户自带大纲时把大纲原文带入检索词生成,让关键词结合写作
意图覆盖各章节主题(_keyword_outline_section,agent + legacy 两路)。
- 素材收集(检索词/排序)与大纲整理/生成阶段强制关闭思考
(create_chat_model force_disable_thinking:GLM thinking.disabled +
Qwen/vLLM enable_thinking=false),关不掉的模型仍由 ThinkTagParser 把
<think> 分流到思考框正常展示。disable_thinking 串入
_utils.get_model/llm_json 与 _agent_runner.stream/run_writing_agent。
- 含草稿「局部修改」WIP(writer_draft 只重写命中章节)及外观控件改动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 18:32:10 +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
fengxiangdebaozi and Claude Opus 4.8
d2c76100f2
perf(ai写作): 用户自带大纲整理提速并流式化
...
用户自带大纲时「整理大纲」原有两个阻塞式非流式 LLM 调用,内网模型
<think> 关不掉导致用户长时间干等:
- 素材关联(每次都调)改为确定性词重叠 _assign_materials_heuristic,
零 LLM、瞬时;有编号/标题/缩进的大纲整理几乎零等待。
- 散文化大纲的 LLM 归一改为流式 _stream_normalize_user_outline:
ThinkTagParser 把思考推思考框、正文实时打字机展示并累积解析;
并在 OUTLINE_NORMALIZE_USER 末尾追加 /no_think。
- researcher 路径只做确定性解析,解析不出返回 None,交给 writer_outline
流式归一(outline_chunk 在该阶段天然映射大纲思考框)。
- 移除废弃的 OUTLINE_MATERIAL_ASSIGN_* 提示词与 llm_json 死引用。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 16:15:39 +08:00
fengxiangdebaozi and Claude Opus 4.8
f551c7af9b
fix(登录): redirect 透传登录 URL 其余 query 到目标页
...
?redirect=/page/strategy/dashboard-agent&taskId=3334 时把 taskId 等非登录消费参数
透传到目标页 query(目标自带同名参数优先),鉴权类参数不透传以防泄漏到地址栏。
修复跳转后目标页「缺少 taskId」。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 22:10:40 +08:00
fengxiangdebaozi
e3631a9fd6
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:52:27 +08:00
fengxiangdebaozi and Claude Opus 4.8
8241f8dd6b
feat(登录): 新增 ?redirect= 参数,登录后跳转指定站内页面
...
支持 ?redirect=page/strategy/dashboard-agent(可不带前导斜杠、可自带 query),
优先级高于 taskId/goPath 深链与默认首页;仅接受站内相对路径,拒绝绝对/协议相对
URL 与反斜杠以防开放式跳转。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 21:51:59 +08:00
fengxiangdebaozi
e263d86fc3
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:22:02 +08:00
fengxiangdebaozi
151384b26d
代码修改
2026-06-23 21:21:49 +08:00
fengxiangdebaozi
030ede6887
Merge branch 'ji' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:07:05 +08:00
fengxiangdebaozi
e6ca2bf64f
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:06:19 +08:00
fengxiangdebaozi
47cff9e2f9
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 21:06:09 +08:00
fengxiangdebaozi
6742346eb4
代码提交
2026-06-23 21:05:58 +08:00
fengxiangdebaozi and Claude Opus 4.8
8b022bffc5
feat(深链会商): rwfx-A/3qfx-A 首条消息附带 taskId,xdfx-A 附带 taskId+actionId
...
会商 Step1 自动发送的「任务信息」现追加任务/行动 id,与单智能体路径口径一致,
id 标签统一用驼峰(taskId / actionId)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 20:08:33 +08:00
fengxiangdebaozi
0fedb6ffd8
Merge branch 'dhk-1' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-23 19:47:54 +08:00
fengxiangdebaozi
85aa242fd5
Merge branch 'master' into dhk-1
2026-06-23 19:45:41 +08:00
fengxiangdebaozi and Claude Opus 4.8
6f94a40303
fix(ai-writing): 写作分栏拖拽条不再压住左侧滚动条
...
隐形拖拽热区只向右(草稿区留白)延伸 + 抓手微右移,避免鼠标抓左侧时间线滚动条时
误触左右 resize 导致滑不动;不留任何视觉间隙。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:37:30 +08:00
fengxiangdebaozi and Claude Opus 4.8
b8c78ba06e
feat(ai-writing): 大纲先行确认 + 新文章类型识别 + 参考文献 + 编辑器修复
...
- 写作配置 Q&A 改为「先流式生成大纲并多轮确认 → 再确认意图」,放宽轮数上限
- 意图识别出列表外的新文章类型时带上类型名+简介(仅本次写作临时使用)
- 成稿支持参考文献:正文 [n] 角标 + 文末按出现顺序的「参考文献」列表(表单开关,默认开)
- 流式接取未闭合 <think> 思考内容,首 token 前加「正在整理…」占位
- 修复右侧编辑器输入空格只出一次、光标跳字(避免自激回灌 setContent 重置光标)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 19:07:03 +08:00
fengxiangdebaozi
adabfa2fe3
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-22 21:03:19 +08:00
fengxiangdebaozi and Claude Opus 4.8
f144a59c97
fix(roundtable): xdfx-A 深链会商聊天记录按行动id隔离存储
...
xdfx 深链 URL ?taskId= 原始值即 actionId(登录时解析成真实任务id)。
一个任务可派生多个行动,各行动会商需互相独立,故聊天记录/后台作业
按 actionId 存取,而非解析出的真实 taskId。
新增 recordTaskIdOf(prefill)=actionId??taskId,应用到草稿 CRUD/回显
(useDraftPersistence/useRoundtableDrafts/loadLatestByTask) 与后台作业
(startJob/getJobByDraft/cancelJob/startJobKeepalive)。目的树/入库/任务
详情/底部快捷跳转栏仍用真实 taskId。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 21:01:34 +08:00
fengxiangdebaozi and Claude Opus 4.8
0a456e9146
feat(ai-writing): 后台挂起改为即时返回,乐观标记历史「挂起中」
...
点击「转后台」后立刻 reset 回初始页,挂起请求 fire-and-forget;
历史下拉靠 markBackground/clearBackground 乐观标记马上显示「挂起中」,
不等后端确认,与「多智能体会商」交互一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08:00
fengxiangdebaozi and Claude Opus 4.8
b59cbd51d9
feat(ai-writing): 各阶段模型调用自动容错,失败时换下一个模型继续
...
参考多智能体会商的容错思路:意图解析/大纲/正文/审核四个 LLM
环节失败时,按 config.yaml models 顺序换下一个模型重跑该环节,
并通过 model_switch 事件在前端时间线提示「『X』模型<原因>,
已自动切换到『Y』继续」。正文逐章节、审核逐维度独立切换,
已生成的章节/维度保留;意图解析成功的模型还会写回 state
供下游阶段沿用,避免每阶段重复经历同一次失败。
- nodes/_model_fallback.py: 候选模型链 + 异常分类 + model_switch
事件构造(沿用 ROUNDTABLE_MODEL_FALLBACK[_MAX] env 开关)
- intent_parser/writer_outline/writer_draft/editor: 失败循环换模型
- 前端 types/reducer/timeline: 新增 model_switch 事件类型,按
stage 复位对应流式缓冲并以 amber 系统提示渲染
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08:00
fengxiangdebaozi and Claude Opus 4.8
23743ee193
chore: 精简 AI 写作示例文案
...
ai-writing 表单/检索/欢迎页的占位与示例改为通用文案。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 17:07:53 +08:00
fengxiangdebaozi and Claude Opus 4.8
e28277b21b
feat(layout): 全量模式右上角也加界面模式切换
...
复用 appearance-controls 的 LayoutModeSwitcher,Header 操作区在换肤旁
补上界面模式下拉,与简洁模式右上角保持一致。LayoutModeSwitcher 新增
fallback 属性指明 mode 未设置时的兜底界面(Header 传 full,ChatPage 传 compact)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 15:43:55 +08:00
fengxiangdebaozi and Claude Opus 4.8
79f1a004a0
feat(layout): 简洁模式右上角加换肤 + 界面模式下拉切换
...
抽出共享 appearance-controls(ThemeSwitcher 按 tone 适配 banner/content
配色,新增图标+下拉的 LayoutModeSwitcher);Header 复用换肤组件,简洁模式
ChatPage 顶栏右上角补上换肤与界面模式切换,与全量模式保持一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 11:02:51 +08:00
fengxiangdebaozi
548cfd1719
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-22 10:47:15 +08:00
fengxiangdebaozi
7d32b41e90
加载框样式
2026-06-22 10:46:57 +08:00
fengxiangdebaozi and Claude Opus 4.8
8ca16c74bc
fix(roundtable): 会商第三步各席位产物弹窗经 portal 挂 body,修复顶部被顶栏盖住
...
页面 <main> 的 `relative z-0` 新建层叠上下文,把内部 fixed 弹窗困在 z-0 层级,
被会商页头(z-40)/全局顶栏(z-45)盖住标题栏。ContentModal 与 ArtifactPreviewModal
改用 createPortal 挂到 document.body,脱离该上下文后正常盖在顶栏之上。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 22:12:45 +08:00
fengxiangdebaozi and Claude Opus 4.8
60626c384a
fix(roundtable): 会商 Step2/Step3 沙箱产物按对话创建者解析,修复历史/跨用户查看不了
...
圆桌会商系统线程(metadata.thread_type==roundtable)的 Step2 席位/总控 +
Step3 报告/总结/大屏/结构化 沙箱产物(md/流程图/报告)落在创建者目录下,
之前按当前登录解析路径 + owner_check 校验 → 历史草稿重开或 taskId 会商被
其他账号打开时 403/404 查看不了。沿用任务深链对话方案(23e6685 )扩展到圆桌:
- thread_paths._is_creator_shared_thread:taskId 或 thread_type==roundtable
都解析到对话创建者(threads_meta.user_id),覆盖所有线程路径关口
- ThreadMetaRepository.check_access:圆桌系统线程同样跳过 owner 过滤
(artifacts 路由 owner_check 据此放行其他账号/历史查看)
线程 id 仅存在于草稿中,无关账号无法发现,与 taskId 共享模型一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 20:51:05 +08:00
fengxiangdebaozi and Claude Opus 4.8
03c155f8a7
feat(roundtable): 第三步「数据入库」由结构化输出智能体自行调用技能
...
- 入库改为让 roundtable-structure 走完整 agent 运行时(ingest run policy)
自行挑选/读取/调用入库技能并传入 taskId,不再前端代调演示
- 新增 /api/flow-extract/ingest-eligibility(智能体判断当前业务场景是否有
合适入库技能,决定入库按钮是否显示)+ /api/multi-agent/structure/init
- 入库前判断是否已生成流程图:无则发起「是否先生成流程图」用户协助
- 「知识库入库」更名为「数据入库」
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 17:58:36 +08:00
fengxiangdebaozi and Claude Opus 4.8
a9f01bec79
feat(task-buttons): 外链按钮新增「打开方式」(新窗口/当前窗口)
...
按钮管理(/page/strategy/admin/task-buttons)的 url 外链按钮可配置打开方式:
- blank=新窗口(默认,window.open(_blank),行为同改前)
- self=当前窗口(window.location.assign,嵌入态即当前 iframe)
新增 TaskButton.openMode 字段贯通前后端:前端 task-buttons.ts 类型+种子+
runTaskButton 打开逻辑、api 客户端 snake⇄camel 映射、TaskButtonsPage 下拉;
后端 router schema + ORM open_mode 列(可空默认 blank,启动自动 ALTER 补列,
无需手动迁移)+ sql/memory store 归一化。仅 url 类型生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 16:09:01 +08:00
fengxiangdebaozi
ef615bbfb6
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-19 14:15:13 +08:00
fengxiangdebaozi and Claude Opus 4.8
31f9838095
feat(embed): iframe 嵌入模式(去 chrome + 主题隔离 / hideJump / 登录用户隔离)
...
外部系统用 iframe 套用深链单智能体问答/多智能体会商时,三个按标签页(sessionStorage)
开关,由深链 URL 参数开启、跨登录跳转/刷新/页内导航存活,绝不跨标签污染正常系统页:
- embed=1(可带 theme=):去全局导航栏 + 侧边栏;按外部主题色强制明/暗,走
next-themes forcedTheme(不写 localStorage),嵌入侧不调 setTheme/persistSidebarEnabled
- hideJump=1:隐藏深链底部「快捷跳转」栏 TaskJumpBar(底部「下一步」按钮 + 右侧悬浮菜单)
- 登录隔离:嵌入态鉴权/身份键(deerflow.auth/userInfo/login.*/tools_token 等)改走
sessionStorage(core/auth/scoped-storage.ts 的 authStorage),iframe 登录用户与正常
登录用户完全隔离、互不覆盖;token 读取统一过 getStoredAuth,改中心函数即全体生效;
跨标签账号变更监听 AuthSyncWatcher 嵌入态禁用
嵌入会话在 main.tsx 渲染前同步启用(早于任何鉴权写入)。正常标签页 isXxx() 恒 false,
行为零变化。新增 core/embed/embed-session.ts、core/auth/scoped-storage.ts。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 12:02:36 +08:00
fengxiangdebaozi
81ca13280b
Merge branch 'master' of http://192.168.0.200/knowledge-base-bj/deerflow-server into dhk-1
2026-06-19 10:03:10 +08:00
fengxiangdebaozi
bb7283dcd9
接口
2026-06-19 10:03:00 +08:00