|
|
55209cfbf9
|
重构: 拆TaskDetail任务产出(strategy前端)
- 新建 components/task/TaskOutputCard.vue(139行): 任务产出+AI自审结果(JSON解析+Markdown渲染+reviewVerdict)+自有i18n
- TaskDetail.vue 701→612(-89): v-if output→<TaskOutputCard> + 删2接口+5computed+output样式
- props outputJson(自包含无store无emit)
主代兜底(新工作模式·vue-tsc only不grep降上下文): vue-tsc 0(子代理自验印证)
strategy: 前端views, 子组件抽产出; TaskDetail余612(工作流推进深度耦合留下批)
git add指定(TaskDetail.vue+TaskOutputCard.vue)
|
2026-06-19 11:57:14 +08:00 |
|
|
|
e32eca3572
|
重构: 拆Projects.vue项目卡片(strategy前端)
- 新建 components/project/ProjectCard.vue(133行): 卡片模板+样式+parseStack/stripMd/statusLabel/stageClass+useRouter导航
- Projects.vue 692→593(-99): v-for改<ProjectCard> + 删卡片样式/导入
- props project + emit delete(props/emit最小耦合, 无store)
主代兜底(新工作模式·vue-tsc only不grep降上下文): vue-tsc 0(子代理自验印证)
strategy: 前端views, 子组件抽卡片; Projects余593(导入模态留下批); tech-tag父子各存(scoped隔离)
git add指定(Projects.vue+ProjectCard.vue)
|
2026-06-19 11:56:37 +08:00 |
|
|
|
f5fd580215
|
重构: 拆Knowledge.vue知识库详情(strategy前端·Knowledge<500达标)
- 新建 components/knowledge/KnowledgeDetail.vue(385行<500): 基本信息+溯源+引用列表+生命周期时间线+编辑态+parseTags复用
- Knowledge.vue 775→495(<500达标): 列表+三态+selectKnowledge+action保留
- props detail/topTab/submitting + emit save/publish/reject/archive(子无store, emit回父单向)
主代兜底(新工作模式·vue-tsc only不grep细节降上下文): vue-tsc 0(子代理自验印证)
strategy: 前端views, 子组件抽详情面板; Knowledge+KnowledgeDetail双<500达标; parseTags复用SW-260618-20
git add指定(Knowledge.vue+KnowledgeDetail.vue)
|
2026-06-19 11:52:14 +08:00 |
|
|
|
3794b3d333
|
重构: 拆ProjectDetail审批对话框(strategy前端)
- 新建 components/project/ApprovalDialog.vue(110行): 审批对话框+handleApproval/handleApprovalMulti/isMultipleSelect/multiDecisions+submitting(UX-260618-17防双击保留)
- ProjectDetail.vue 811→743(-68): template→<ApprovalDialog> + 删迁移script
- props visible/store透传 + emit cancel/later(单一store源 _storeInstance)
主代兜底: vue-tsc 0 + grep ApprovalDialog抽离/ProjectDetail import/emit印证
strategy: 前端views, 子组件抽审批对话框; UX-260618-17 submitting保留; 余743(style 315逻辑428, 后续TaskList/InfoCard可拆)
git add指定(ProjectDetail.vue+ApprovalDialog.vue)
|
2026-06-19 11:44:03 +08:00 |
|
|
|
a1ad93ab31
|
重构: 拆Ideas.vue灵感详情(strategy前端·Ideas<500达标)
- 新建 components/ideas/IdeaDetail.vue(573行): 对抗评估+雷达图+标签+状态+操作按钮+style(详情面板下沉)
- Ideas.vue 990→485(<500达标): 列表+筛选+搜索+捕获+action保留
- props idea/evaluating/evalError/promoting/deleting/statusOptions + emits evaluate/promote/delete/status-change(无store依赖, emit上抛单向数据流)
主代兜底: vue-tsc 0 + grep IdeaDetail抽离/Ideas import/emit印证
strategy: 前端views, 子组件抽详情面板; Ideas<500达标; onStatusChange签名Event→value行为等价
git add指定(Ideas.vue+IdeaDetail.vue)
|
2026-06-19 11:40:44 +08:00 |
|
|
|
3e97fff328
|
重构: 拆AiChat第五批MaxRoundsCard(strategy收尾)
- 新建 ai/MaxRoundsCard.vue(144行): 达max操作卡(继续/停止)+isViewingGenerating/maxRoundsActing/handleContinue/StopLoop+pendingMaxRounds watch
- AiChat.vue 1587→1474(-113): template→<MaxRoundsCard> + 删max_rounds块 + 清dead aiApi import
- store共享 + emit toast(单一源)
主代兜底: vue-tsc 0 + grep MaxRoundsCard抽离/AiChat import/emit印证
strategy: 单批1-2文件原子, 边界最干净段优先; AiChat余1474(QueuePanel/ContextActions/恢复态/快捷键待后续)
git add指定(AiChat.vue+MaxRoundsCard.vue)
|
2026-06-19 11:32:32 +08:00 |
|
|
|
a5d125847f
|
重构: 拆AiChat God第四批MessageList(strategy·主体消息列表)
- 新建 ai/MessageList.vue(1444行): 消息列表+流式Markdown分块渲染(scheduleStreamParse/rAF节流/块级memo)+工具卡ToolCardList+滚动跟随(B-260618-24)+分段+选区保持
- AiChat.vue 2937→1587(-1350): MessageList template/script/style迁移, store共享(useAiStore单例)+useMarkdown单例
- props editingMsgId + emits(start-edit/send-example-prompt/go-to-settings/toast) + expose(scrollToBottom/scrollToFirstPending)
流式行为不变: scheduleStreamParse/rAF/块级memo/选区/滚动跟随原样迁移
主代兜底: vue-tsc 0 + grep MessageList抽离/AiChat emit绑定expose印证
strategy: 单批1-2文件原子, 主体抽离; AiChat余1587(组装+队列+max_rounds+上下文+快捷键+confirm/toast+恢复态, 后续批)
AiChat拆分主体完成: ConversationSidebar+ChatInput+TopBar+MessageList四批, 4081→1587
git add指定(AiChat.vue+MessageList.vue, 不含anthropic_compat.rs/docs其他会话)
|
2026-06-19 05:18:38 +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 |
|
|
|
f026880fa7
|
重构: 拆AiChat God第二批ChatInput(strategy)
- 新建 ai/ChatInput.vue(641行): 输入框+图片粘贴/拖拽+技能/联想+@mention+发送/停止(4块独立逻辑)
- AiChat.vue 3663→3128行(-535): ChatInput template+script迁移, store共享(useAiStore/useProjectStore单例)
- props editingMsgId + emit sent/error/cancel-edit + expose focus/startEditFocus/clearInput/hasUnsentInput/sendExamplePrompt
边界: scrollToBottom/showToast/editingMsgId留父(emit回调); ChatInput 641>500(4块逻辑, 后续可拆useImageInput/useSkillMention composable)
主代兜底: vue-tsc 0 + grep ChatInput抽离/AiChat emit绑定印证
strategy: 单批1-2文件原子; AiChat余3128行(后续MessageList核心/TopBar/QueueList)
|
2026-06-19 04:04:35 +08:00 |
|
|
|
4eaff04ac1
|
重构: 拆AiChat God第一批ConversationSidebar(strategy)
- 新建 ai/ConversationSidebar.vue(457行): 侧栏+会话列表+搜索+重命名/导出/拖拽/分组(全迁sidebar内部态)
- AiChat.vue 4081→3663行(-418, 172→148KB): sidebar template→<ConversationSidebar>+删迁移script(titleFlash/重命名/导出/拖拽/搜索/分组等)
- 零props(store共享useAiStore单例) + 3emit(confirm-delete/confirm-new-conversation/export-error) + defineExpose focusSearch
useConfirm非单例→删除确认emit交父(防ConfirmDialog错位);CSS未动(子组件无scoped沿用父级,样式下沉后续批)
主代兜底: vue-tsc 0 + grep ConversationSidebar抽离/AiChat emit绑定印证
strategy: 单批1-2文件原子, 最独立子组件优先降风险; AiChat余3663行(后续批MessageList/ChatInput/ApprovalPanel)
|
2026-06-19 03:54:31 +08:00 |
|
|
|
6a75c11dfa
|
重构: 拆ToolCard.vue前端(strategy·composable抽离)
- 新建 composables/ai/useToolCard.ts(502行): 纯函数/常量/类型/工具元数据/审批参数/结果格式化(formatToolResult/toolResultSummary/combineOutputs/parseResult等20+)
- ToolCard.vue 1527→1066行(-461): script模块级块删+import composable, 模板/style零改动
- 留ToolCard.vue: 耦合projectStore的computed/审批watch(非纯函数)
i18n等价: toolResultSummary原useI18n.t→composable i18n.global.t(单根同一实例)
主代兜底: vue-tsc --noEmit 0 + grep useToolCard抽离/ToolCard import印证
strategy: 单批1-2文件原子, 模板不变逻辑抽离
|
2026-06-19 03:44:16 +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 |
|
|
|
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 |
|
|
|
0ca5d9805f
|
诊断: 临时禁用虚拟滚动裁剪隔离历史消息重叠根因
|
2026-06-17 23:41:13 +08:00 |
|
|
|
8abcd567a6
|
修复: 虚拟滚动 IO 卸载分支 height=0 时 minHeight fallback 防 slot 塌 0 重叠(P0)
|
2026-06-17 23:33:28 +08:00 |
|
|
|
36cde88b80
|
优化: ToolCardList 批量审批+全局收起合并同行(UX-260616-02)+销账 UX-01/B-260617-15
|
2026-06-17 19:25:39 +08:00 |
|
|
|
3055b06734
|
修复: 主面板刷新后流式恢复(restoreGeneratingState 加 fromMainPanel 绕过 localStorage 快照)
|
2026-06-17 18:52:46 +08:00 |
|
|
|
645f73d1a3
|
优化: LEGACY_STATUS_MAP 映射抽 mapLegacyStatus 函数收敛
|
2026-06-17 18:10:28 +08:00 |
|
|
|
1cd7652a34
|
修复: taskStatusLabel旧态映射防老DB状态报错
|
2026-06-17 14:38:19 +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 |
|
|
|
ca9b3187b5
|
修复: sendQueuedNow立即发送退化入队+裸diff围栏渲染+工具卡轮次自动收起
|
2026-06-17 13:00:37 +08:00 |
|
|
|
a622bdca61
|
修复: 队列发送失败回填不丢消息+池权重revert+lang解析DRY+注释变量名修正
|
2026-06-17 03:55:30 +08:00 |
|
|
|
9c60c8fb78
|
重构: Settings拆4子组件(Provider/Connection/General/Knowledge·1042行瘦身零行为变化)
|
2026-06-17 03:30:47 +08:00 |
|
|
|
4317d02e0f
|
新增: F-05多模态Phase2c闭环(IPC接parts+api透传+doSend传参)
|
2026-06-17 03:22:20 +08:00 |
|
|
|
e1d396dbf2
|
新增: F-05多模态Phase2b前端(图片粘贴/拖拽+渲染+parts透传·保留虚拟滚动)
|
2026-06-17 03:17:30 +08:00 |
|
|
|
e38474b794
|
新增: UX-19消息列表虚拟滚动(自研IntersectionObserver+sentinel占位+流式末条保活)
|
2026-06-17 02:55:27 +08:00 |
|
|
|
0289d8c37c
|
优化: B-03b-R10前端审批(终态清pending+互斥锁防重复IPC)
|
2026-06-17 02:36:55 +08:00 |
|
|
|
3f90aad2d6
|
新增: F-04c前端Settings池编辑(enabled toggle+weight输入+IPC绑定)
|
2026-06-17 02:36:54 +08:00 |
|
|
|
31ea151bb2
|
优化: 工具失败视觉区分(UX-01)+旧卡自动收起增强(UX-03)
|
2026-06-17 02:04:01 +08:00 |
|
|
|
6ec191e750
|
新增: AE-2025-04会话级授权(TrustKey目录级+同会话同类自动放行)
|
2026-06-17 01:29:30 +08:00 |
|
|
|
fb4b067728
|
修复: CR-50 RED(useAiContext事件case改PascalCase+compress兜底复位)
|
2026-06-17 01:21:47 +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 |
|
|
|
a26b86e003
|
新增: F-01模型拉取IPC+Settings拉取UI(FR-S1密钥内存解析闭环)
|
2026-06-17 00:14:38 +08:00 |
|
|
|
313459b8e4
|
新增: UX队列三件套(打断保留续发+队列编辑+立即发送)
|
2026-06-16 23:59:10 +08:00 |
|
|
|
bebf2ec329
|
优化: UX错误气泡区分重试类型+工具卡按轮次自动收起
|
2026-06-16 23:48:06 +08:00 |
|
|
|
5c2122ac3b
|
优化: B-21重复渲染治标(Started幂等守卫)+排查文档+CR-43复审回填
|
2026-06-16 23:33:46 +08:00 |
|
|
|
22d866d4de
|
新增: UX-04工具卡片友好展示(formatToolResult全工具摘要+i18n)
|
2026-06-16 23:33:45 +08:00 |
|
|
|
741b0b9d0c
|
新增: TaskDetail任务产出与AI自审结论展示(output_json解析+review红绿标)
|
2026-06-16 22:41:05 +08:00 |
|
|
|
dfe0096498
|
新增: F-03对抗评估接LLM+F-02纯技能调用标题+i18n@转义
|
2026-06-16 21:07:42 +08:00 |
|
|
|
35b8eac46b
|
优化: 移除prod白屏临时诊断桩(main.ts/index.html)
|
2026-06-16 21:07:13 +08:00 |
|
|
|
2069f79198
|
重构: df-ai-core trait下沉拆crate+导入历史项目批量扫描
|
2026-06-16 20:19:55 +08:00 |
|
|
|
d00b30f0ba
|
重构: AI聊天可靠性批次(审批累计计数/write_file diff预览/会话隔离补清/token缓存)
|
2026-06-16 19:56:29 +08:00 |
|
|
|
ba7f35552b
|
重构: AI流式断线保文StreamResult三分支+重试对齐决策a1,推进链落df-nodes
|
2026-06-16 19:11:19 +08:00 |
|
|
|
7d5cd4c89a
|
新增: AI Chat多项增强(审批去重/编辑重发/导出/实体引用/会话置顶搜索)+任务推进链df-nodes落地
|
2026-06-16 12:41:13 +08:00 |
|