|
|
f3a287bbd4
|
重构: audit第四批data_change收尾(strategy)
- 新建 audit/data_change.rs(50行 data_change_for_tool/emit_data_changed), audit/mod.rs 451→416(-35)
- pub(crate) re-export emit_data_changed(chat.rs super::super::audit + process_tool_calls裸名路径透明)
- F-09 per_conv保留(本批未触session/conv_id逻辑)
主代grep核验(不cargo避openai-split df-ai中间态): mod data_change/pub(crate)use + data_change.rs fn印证; agent隔离自验cargo 0+test 98
strategy: 单批1-2文件原子; audit/mod.rs余416(process_tool_calls主逻辑+build_write_file_diff/risk/truncate helper); audit四批拆分接近完成
git add指定(audit/*)
|
2026-06-19 04:35:41 +08:00 |
|
|
|
55bc1e1b23
|
重构: audit第三批cache + anthropic_compat拆分(strategy并行)
- audit 第三批: 新建 audit/cache.rs(151行 find_cached_high_risk_result/canonical_args_key/sort_object_keys/PENDING_APPROVAL_PLACEHOLDER), audit/mod.rs 586→451(-135); pub(crate) re-export, F-09 per_conv保留
- anthropic_compat 拆分: 新建 df-ai/anthropic_helpers.rs(223行 apply_anthropic_event + 5 struct + 2常量), anthropic_compat.rs 1036→842; Provider impl保留(impl块约束), 字段pub(crate)
主代兜底: cargo check --workspace 0 + test df-ai 119 + test devflow 98
strategy: 核心库自底向上, 单批1-2文件原子, impl块约束(Provider方法保留只抽纯函数/类型)
git add指定(audit/* + df-ai/*, 不含其他会话)
|
2026-06-19 04:31:19 +08:00 |
|
|
|
ed35c51a47
|
重构: AiChat第三批TopBar + audit第二批restore/finalize(strategy并行)
- AiChat 第三批: 新建 ai/TopBar.vue(499行, header+provider bar+切换bar+scoped样式), AiChat.vue 3128→2937(-191); props4+emits13+store共享; toast单一源emit provider-switched
- audit 第二批: 新建 audit/restore.rs(183行 restore_pending_approvals+2单测) + audit/finalize.rs(79行 audit_tool_call/audit_finalize), audit/mod.rs 812→586(-226); re-export路径透明, F-09 per_conv保留
主代兜底: cargo check --workspace 0 + test 98 + vue-tsc 0
strategy: 单批1-2文件原子, 并行(AiChat前端vue-tsc/audit后端cargo独立域)
git add指定(非-A, 避免覆盖其他会话改动)
|
2026-06-19 04:16:57 +08:00 |
|
|
|
e0ffd98223
|
重构: 拆audit.rs第一批reason helper(strategy)
- audit.rs → audit/mod.rs(959→812行) + 新建 audit/reason.rs(167行)
- 抽离 reason helper: resolve_project_label/resolve_task_label/build_approval_reason(3 fn自成闭包, pub(super))
- re-export 调用方零变更(commands::ai::audit::* 路径透明, 4处调用方+mod re-export核验)
- F-09 batch2 per_conv 保留(本批只搬 reason helper, conv_id路由不动)
主代兜底: cargo check --workspace 0 + test 98 + grep mod reason/use印证
strategy: 单批1-2文件原子; audit/mod.rs余812行(后续批restore/audit_finalize/find_cached)
|
2026-06-19 04:11:47 +08:00 |
|
|
|
96a05638b1
|
重构: 拆agentic.rs第一批GeneratingGuard(strategy自底向上)
- 新建 agentic/guard.rs(69行): GeneratingGuard struct+new/reset/disarm/Drop(F-09 batch2 per_conv双写语义保留, pub(super)可见性)
- agentic.rs 1221→agentic/mod.rs 1165行: mod guard + use GeneratingGuard + 删原定义
- loop主体(run_agentic_loop/try_continue/stream_one_provider/compress)原位保留(后续批,高风险)
helpers未建: 无独立纯helper可抽(DEFAULT_*被state.rs引用留原位, PROTECT_COUNT loop绑定)
主代兜底: cargo check --workspace 0 + test 98 + grep guard抽离/mod.rs use印证
strategy: 自底向上, 单批1-2文件原子, loop主体留后续批(行为敏感需充分测试)
|
2026-06-19 03:37:28 +08:00 |
|
|
|
f1aa7ac33d
|
重构: commands拆分config+skills域·commands.rs 92KB拆分完整(strategy)
- 新建 commands/config.rs(89行, 4 IPC: ai_list_skills/ai_set_concurrency_config/ai_set_agent_max_iterations/ai_set_agent_max_retries)
- commands/mod.rs 99→34行(收敛re-export only, 无IPC函数体)
- re-export三级透传(chat/conversation/provider/config),lib.rs invoke_handler+前端零改动
commands.rs 92KB拆分完整: 原1829行God→5文件(chat 1147+conversation 336+provider 348+config 89+mod.rs 34 re-export)
主代兜底: cargo check --workspace 0 + test 98 + cat mod.rs re-export only印证
strategy全程: 分批1-2文件原子操作(chat→conv→provider→config四批); 零调用方预留保留
|
2026-06-19 03:26:44 +08:00 |
|
|
|
6769100b57
|
重构: commands拆分provider域(strategy单批)
- 新建 commands/provider.rs(348行, 7 provider/model IPC + mask_api_key/normalize_provider_type helper)
- commands/mod.rs 418→98行(删provider域 + re-export + 清理imports)
- re-export三级透传(chat/conversation/provider),lib.rs invoke_handler+前端零改动;FR-S1密钥/F-260614-04c池配置/F-01探测保留
主代兜底: cargo check --workspace 0 + test 98 + grep re-export三域印证
进度: chat✅+conversation✅+provider✅,余 skills+config(4 IPC,最后批→mod.rs收敛re-export only)
|
2026-06-19 03:23:09 +08:00 |
|
|
|
86f6c9685b
|
重构: commands拆分conversation域(strategy单批1-2文件)
- 新建 commands/conversation.rs(336行, 8 conv IPC: create/list/switch/delete/rename/archive/set_pinned/export)
- commands/mod.rs 725→418行(删conv域 + pub mod conversation re-export三级透传)
- lib.rs invoke_handler + 前端零改动;F-09 batch4决策e保留(create不杀旧loop/switch删readonly)
主代兜底: cargo check --workspace 0 + test 98 + grep 8IPC/re-export印证
strategy: 单批1-2文件原子操作;进度 chat✅+conversation✅,余 provider/skills/config
|
2026-06-19 03:19:48 +08:00 |
|
|
|
e6dbb14c5d
|
重构: commands.rs拆分chat域(strategy单批1-2文件)
- commands.rs → commands/mod.rs(1829→725行) + 新建 commands/chat.rs(1147行, 13 chat IPC + finalize_pending_placeholders + PendingToolCallInfo)
- re-export三级透传: chat::* → commands::* → ai::*(lib.rs invoke_handler 9处零改动 + 前端零改动)
- 签名/行为原样搬迁(F-09 batch4 conv_id 决策e保留);零调用方预留保留
strategy: 单批1-2文件防上下文溢出 + 原子(新文件→旧改→编译验证)
主代兜底: cargo check --workspace 0 + test 98 + grep 13IPC/re-export三级印证
杂项销账: B-260617-11 tauri.conf.json ["nsis"]已入库关闭(WATCH跨平台) + CR-07 batch4待审登记
|
2026-06-19 03:15:03 +08:00 |
|
|
|
d899c58682
|
重构: F-09 batch4 启用多会话上线(决策e真并发·F-09完整)
- IPC签名加conv_id: ai_is_generating/ai_chat_send/ai_chat_force_send/ai_chat_stop + 内部移除active一致性校验(后台conv可操作)
- 删switch readonly分支 + 删ai_conversation_create强制结束旧loop(决策e,切走旧loop不退出)
- 删双写桥接+顶层字段: messages/generating/stop_flag/notify/iteration_used/agent_language/model_override/session_trust全删,per_conv唯一真相源 + 删双写代码(全模块)+ 删fallback读 + pending_approvals retain目标conv
- 前端: api/ai.ts+useAiSend/useAiWindow传conv_id
保留: session_state(SW预留标allow)/readonly(前端不读);零调用方预留按用户指导保留
主代兜底: cargo check --workspace 0 + vue-tsc 0 + test 98 + grep顶层删除/per_conv唯一印证
F-09完整(batch1 PerConvState+batch2迁移+batch5限流调整+batch8恢复+batch4上线);双会话人工验收留用户
|
2026-06-19 03:03:48 +08:00 |
|
|
|
2b40f65ef2
|
修复: BUG-260619-06 L0 clear致冷启动审批丢失(方案A retain)
- lib.rs:62 clear → retain(!recovered): 仅清非recovered(本次会话/HMR死pending),保留restore重建(recovered=true audit.rs:331)
- cr06-review跨版本git diff核验: clear批2已有(B-260616-01 d2cb38c),batch8仅合并位置非新增 → 批2+跨批遗留,非batch8回归(CR-06 PASS)
- 问题真实(冷启动restore填充后clear清空→审批丢失),方案A修复对齐switchConversation retain保护意图
主代兜底: cargo check --workspace 0 + test 98
|
2026-06-19 02:42:28 +08:00 |
|
|
|
7c708a6e01
|
优化: F-09 batch5调整 删global会话级限流(用户决策不设并发会话上限)
- agentic.rs: 删loop入口acquire_global(会话数不限) + per_conv保留(单对话内限流permits=2)
- state.rs: global回归LLM调用并发限流原义(5处单次调用点+stream_llm防provider429),非会话数上限
用户决策"不设并发会话上限",token暴增接受;主代兜底cargo 0+test98+grep印证
|
2026-06-19 02:39:39 +08:00 |
|
|
|
6ad4ec2848
|
重构: F-09 batch8 启动恢复多conv restore + L0清残留(纯后端,F-09后端完整)
- audit.rs restore_pending_approvals: 多conv分配(按conversation_id分组惰性建/复用PerConvState,无主None不建R-9) + 2单测(分配不变量/全None无per_conv)
- lib.rs L0握手: 遍历per_conv清多conv残留generating(dirty_convs+逐个复位+各发AiCompleted补偿) + active兜底
与双写兼容(顶层双写复位),不改IPC签名/前端/顶层字段
主代兜底: cargo check --workspace 0 + test 98 + grep restore多conv/L0遍历印证
F-09后端完整: batch1 PerConvState + batch2 per-conv迁移 + batch5 限流 + batch8 恢复; batch4(启用·前后端)待用户
|
2026-06-19 02:26:24 +08:00 |
|
|
|
d96041721a
|
重构: F-09 batch5 llm_concurrency会话级改造(决策c)
- state.rs: per_conv HashMap<conv_id,Semaphore>(每对话permits=2) + per_conv_permits热改 + acquire_per_conv(conv_id) + release_conv
- agentic.rs: loop入口acquire_global+acquire_per_conv(conv_id)整loop持有(会话级并发上限3) + 删每轮acquire/drop
- compress/title/knowledge_inject: acquire_per_conv(conv_id)+签名conv_id
- project.rs: 扫描合成key + ai_conversation_delete release_conv
global: LLM调用并发→并发会话数上限;F-260616-12 retry permit自洽
主代兜底: cargo check --workspace 0 + test 96 + grep印证
|
2026-06-19 02:12:08 +08:00 |
|
|
|
2a4d745c5b
|
重构: F-09批2 调用方迁移per-conv(双写桥接共存期)
- agentic.rs: GeneratingGuard加conv_id + 三处退出校验改conv存在性(决策e) + stop_flag/notify/messages/iteration per-conv + try_continue加conv_id参数
- commands.rs: IPC写路径双写桥接(per_conv新真相源+顶层双写,批4删) + ai_is_generating读per_conv fallback顶层
- audit/conversation/title/knowledge_inject/lib.rs: per_conv读写迁移
- conv()/conv_read()去allow(批2有调用方)
共存期双写: per_conv主+顶层双写兼容批4前IPC,批4签名改后删顶层
主代兜底: cargo check --workspace 0 + test 96 passed + grep三处退出/GeneratingGuard/双写印证
|
2026-06-19 02:01:06 +08:00 |
|
|
|
2c8764abee
|
重构: crud.rs按表拆分(SMELL-P1-9) + F-09批1 PerConvState数据结构
- SMELL-P1-9: crud.rs 2212行→crud/6文件(mod/settings/project_repo/task_repo/conversation_repo/idea_repo)
re-export pub use *_repo::* 零调用方改动,宏 pub(crate) use + 子模块 use super::impl_repo
基线测试锁12表白名单+13Repo构造
- F-09 批1: PerConvState struct(9字段对齐AiSession::new)+AiSession.per_conv HashMap+conv()/conv_read()访问器+3单测
纯新增无行为变化,b-1主代自主裁决采纳,批2迁移承接
主代统一兜底: cargo check --workspace 0 + df-storage 35+11 + devflow 96 passed
|
2026-06-19 01:34:59 +08:00 |
|
|
|
0142654be3
|
修复: 流式重试N+1气泡根治(UX-260618-15第一批方案A)
- stream_recv: InitFailed加error字段,5处重试路径移除AiError emit(retryable交agentic统一emit)
- agentic: 重试loop只emit AiStreamRetry,Fatal/全candidate耗尽emit最终AiError(单气泡聚合)
- useAiEvents: AiStreamRetry改首次创建+后续更新(N+1气泡消除)
- 注释残留修正(stream_recv :251/:299 旧"emit AiError"→"返回InitFailed")
N+1独立气泡降为「1重试气泡+1最终错误气泡」
|
2026-06-19 01:07:50 +08:00 |
|
|
|
1dc8b12ec4
|
修复: aichat advance_task渲染显任务名 + 审批防双击 + time.ts销账
- UX-260618-14: advance_task 工具结果/审批卡显任务名替代UUID
前端 ToolCard 取 r.title fallback r.id + TASK_ID_TOOL_ARG 审批卡 task_id→title 回显 + i18n
后端 audit resolve_task_label 查 tasks 表(原误查 projects恒报不存在) + 删 tool_display_hint 短路让模板生效
- UX-260618-16: time.ts formatDate .value 已修(CR-24/25闭环),漏销账补登
- UX-260618-17: ProjectDetail handleApprovalMulti 补 submitting try/finally + 模板联动防双击
|
2026-06-19 00:52:20 +08:00 |
|
|
|
60b01d03ee
|
重构: tool_registry拆分及多批改进
|
2026-06-19 00:10:14 +08:00 |
|
|
|
a2871a66e0
|
优化: AI Chat全栈多批审查修复与架构清理(risk_level清理/路由解耦/工具渲染/测试补测/死代码)
|
2026-06-18 22:57:19 +08:00 |
|
|
|
f6e4e824fa
|
修复: 补提 adversarial+project CompletionRequest reasoning_content 字段(74003bc 遗漏)
|
2026-06-17 18:44:28 +08:00 |
|
|
|
74003bc04f
|
修复: DeepSeek reasoning_content 全链路透传(跨6 crate补字段+映射+agentic loop累积回传)
|
2026-06-17 18:08:04 +08:00 |
|
|
|
924158cff2
|
修复: force_send单锁竞态+classify unknown不重试(撤销误判)+UX交互批
|
2026-06-17 14:31:47 +08:00 |
|
|
|
6b67214395
|
修复: AI工具OOM/路径遍历+续跑锁收敛+UX交互批
|
2026-06-17 14:07:16 +08:00 |
|
|
|
a622bdca61
|
修复: 队列发送失败回填不丢消息+池权重revert+lang解析DRY+注释变量名修正
|
2026-06-17 03:55:30 +08:00 |
|
|
|
bac3c76fa2
|
修复: B-03b-R10③工作流事件补execution_id治本并发串扰(emit填+消费exec_id守卫)
|
2026-06-17 03:36:38 +08:00 |
|
|
|
4317d02e0f
|
新增: F-05多模态Phase2c闭环(IPC接parts+api透传+doSend传参)
|
2026-06-17 03:22:20 +08:00 |
|
|
|
e3cd44802a
|
新增: F-05多模态Phase2a后端(ContentPart+parts字段+provider图片块+truncate防撑爆)
|
2026-06-17 03:09:10 +08:00 |
|
|
|
4be15912cd
|
重构: df-core改名df-types(类型库语义准+全workspace机械改名54处)
|
2026-06-17 02:44:34 +08:00 |
|
|
|
2c8004df65
|
优化: CR-53/54审查回填PASS+CR-55/56/57登记+CR-53-1注释修正(并行化非移锁外)
|
2026-06-17 02:29:12 +08:00 |
|
|
|
80c0955a1a
|
新增: F-04b多provider fallback切换(stream_one_provider+候选链+resolved_model重算)
|
2026-06-17 02:26:22 +08:00 |
|
|
|
b3684f4d1f
|
新增: F-04c后端(provider池enabled/weight更新IPC+set_caps启动接入)
|
2026-06-17 02:26:22 +08:00 |
|
|
|
247dc5da4a
|
修复: B-21工具卡重复治本(audit tc_list按id去重保证emit唯一)
|
2026-06-17 02:26:22 +08:00 |
|
|
|
79b6a43095
|
新增: F-04多Provider负载均衡池(数据层+选择器+并发原语)+CR-52白项
|
2026-06-17 02:04:58 +08:00 |
|
|
|
332a6bba1a
|
修复: CR-51 trust-hit持锁阻塞IPC(audit execute移锁外spawn+回填持锁)
|
2026-06-17 02:04:01 +08:00 |
|
|
|
e23b316faf
|
修复: B-260617-01 run_workflow审批执行(抽取run_workflow_inner+ai_approve后端分支)
|
2026-06-17 01:39:28 +08:00 |
|
|
|
6ec191e750
|
新增: AE-2025-04会话级授权(TrustKey目录级+同会话同类自动放行)
|
2026-06-17 01:29:30 +08:00 |
|
|
|
0202b5195e
|
新增: F-15阶段3 agentic loop自动压缩(loop顶部检测+压缩+降级原裁剪)
|
2026-06-17 01:29:29 +08:00 |
|
|
|
4194842561
|
新增: F-15阶段2手动上下文管理(2 IPC+3事件+前端按钮+status渲染)
|
2026-06-17 01:09:41 +08:00 |
|
|
|
4c84fbc1b6
|
新增: F-01阶段6 AiChat模型下拉+override穿透
|
2026-06-17 00:50:47 +08:00 |
|
|
|
63bff8bf96
|
新增: F-15上下文压缩基础(compress_prompt四段式+compress_via_llm+context辅助方法)
|
2026-06-17 00:50:47 +08:00 |
|
|
|
2446d1b876
|
新增: patch_file支持行号区间和锚点定位
|
2026-06-17 00:33:49 +08:00 |
|
|
|
2ddfea67c7
|
新增: F-01阶段5模型路由调用点接入
|
2026-06-17 00:33:44 +08:00 |
|
|
|
a26b86e003
|
新增: F-01模型拉取IPC+Settings拉取UI(FR-S1密钥内存解析闭环)
|
2026-06-17 00:14:38 +08:00 |
|
|
|
b3e78e6061
|
新增: F-01模型能力阶段1+2(ModelConfig数据模型+model_probe探测器+df-storage兼容V18)
|
2026-06-16 23:33:45 +08:00 |
|
|
|
766f235ab7
|
重构: secret纯密钥逻辑下沉df-storage(方案B避循环依赖,12调用点零改)
|
2026-06-16 22:57:43 +08:00 |
|
|
|
c10adaf0b0
|
新增: AiNode自审ai侧(AiNode持db写产出+ai_self_review节点+DAG透传)
|
2026-06-16 22:40:55 +08:00 |
|
|
|
539b5ed63e
|
新增: TaskRecord加output_json产出字段+V17迁移(决策a AiNode自审闭环)
|
2026-06-16 22:29:21 +08:00 |
|
|
|
129f0f0156
|
优化: 对抗评估clamp去冗余+JSON提取正则兜底+update_task注释对齐status收口
|
2026-06-16 22:20:14 +08:00 |
|
|
|
b94e74a96d
|
新增: 推进链阶段3收口(advance_task/run_workflow工具+status状态机收口)
|
2026-06-16 21:20:41 +08:00 |
|