重构: AI流式断线保文StreamResult三分支+重试对齐决策a1,推进链落df-nodes
This commit is contained in:
339
docs/待决策.md
Normal file
339
docs/待决策.md
Normal file
@@ -0,0 +1,339 @@
|
||||
# 待决策队列
|
||||
|
||||
> **职责分离**:
|
||||
> - **主会话**(汇总/巡检)→ 【写入】"当前队列",登记待人工决策项(背景 + 决策点 + 选项 a/b/c + 推荐)。
|
||||
> - **用户**(人工)→ 【拍板】选选项或确认推荐,回填理由(可选)。
|
||||
> - **主会话**(拍板后)→ 决策项回流 [todo.md](./todo.md) 推进 + 移"已决归档"。
|
||||
>
|
||||
> 这里**只放需人工决策项**(产品取舍 / 方向选型 / 排期 / 用户实测澄清)。不放可自主推进待办(见 [todo.md](./todo.md))、不放审查登记(见 [待审查.md](./待审查.md))。
|
||||
> 来源:2026-06-16 从 todo.md 抽离③④C类(可自主批 AE-03/复核⑪/UX-04 留 todo 推进)。
|
||||
|
||||
## 决策规则
|
||||
|
||||
- 每条须:背景 + 决策点 + 选项 + 推荐 + 关联 todo。
|
||||
- 用户回填:`✅ 决策:X`(选 + 理由可选)。
|
||||
- 拍板后:主会话回流 todo 实施 + 移本文件"已决归档"。
|
||||
- 暂缓项标 ⏸️,不删(条件变化可重启)。
|
||||
|
||||
## 状态图例
|
||||
|
||||
🟡 待决 / ✅ 已决(回填决策) / ⏸️ 暂缓(待条件)
|
||||
|
||||
---
|
||||
|
||||
## 当前队列
|
||||
|
||||
### ③类 — 产品取舍(有 a/b/c 决策点,核心待拍板)
|
||||
|
||||
#### CR-13-O1 in_progress 模板失败退回语义
|
||||
- **背景**:in_progress 模板失败→`regression_target("in_progress")=Some("todo")`,但状态机 `backward_to_todo_rejected` 全拒(task_state_machine.rs:188-193)→回调 advance_task_atomic 被 InvalidState 拦截,任务原地保留 in_progress。
|
||||
- **决策点**:in_progress 执行失败应如何退回?
|
||||
- **选项**:
|
||||
- a: 接受现状(原地 in_progress)+ 补 UI 提示「执行失败,请手动处理」
|
||||
- b: 改 `regression_target("in_progress")=None` 对齐状态机(失败不自动退回,留 in_progress 等人介入)
|
||||
- c: 放开 todo 回退(破坏闸门,执行失败可回 todo 重来)
|
||||
- **推荐**:**b**(对齐状态机现状,失败留 in_progress 显式待人介入,不破坏闸门语义)
|
||||
- **关联**:todo CR-13-O1 / CR-260616-13
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:b**。对齐状态机,失败留 in_progress 等人介入,blocked 状态已提供合法通道。
|
||||
|
||||
#### DEC-260616-03 CR-04/CR-06 流式核心改造授权
|
||||
- **背景**:splitBlocks 手写正则切块(CR-04,行中裸 ```/4+ backtick 嵌套切错)+ loadMarkdown 重算(CR-06)是流式渲染核心改造,中风险(回归可能)。
|
||||
- **决策点**:是否授权推进流式核心改造?
|
||||
- **选项**:
|
||||
- a: ①授权巡检推进(主代理重点核查流式渲染/审批/输入不破坏)
|
||||
- b: ②单独立项谨慎做(不混巡检快推,独立验证)
|
||||
- c: ③暂不碰(保留自研块级 memo 现状)
|
||||
- **推荐**:**a ①**(自研 memo 已稳,CR-04/06 是增强非阻断,授权巡检推进+重点核查)
|
||||
- **关联**:todo DEC-260616-03 / CR-260615-04
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a**。授权巡检推进,自研 memo 已稳,CR-04/06 是增强非阻断。
|
||||
|
||||
#### CR-260615-04 splitBlocks→marked.lexer
|
||||
- **背景**:splitBlocks 手写正则 `/```[^\n]*\n[\s\S]*?(?:```|$)/g` 不要求行首+固定 3 backtick,与 marked 围栏规则不一致;行中裸 ```/4+ backtick 嵌套围栏切错,前块缓存固化错误 html。
|
||||
- **决策点**:是否改用 marked.lexer 原生切块?(依赖 DEC-260616-03 授权)
|
||||
- **选项**:
|
||||
- a: 改 marked.lexer(机制2原生,根治切错)
|
||||
- b: 补正则边界(治标,维护成本)
|
||||
- c: 不改(现状可接受,极端输入才触发)
|
||||
- **推荐**:**a**(根治,依赖 DEC-03 授权)
|
||||
- **关联**:todo CR-260615-04 / DEC-260616-03
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a 改 marked.lexer**。DEC-260616-03 已决a 授权推进,batch57 workflow(w4h5ygko1) Agent B 已实施 AiChat.vue splitBlocks 改 marked.lexer(tokenize),vue-tsc 0err + cargo check 0 err。todo CR-260615-04 同步销账。
|
||||
|
||||
#### F-260616-06 审批「未找到挂起的审批」体验
|
||||
- **背景**:pending_approvals 内存态(commands.rs:130 remove None 报错)与前端刷新/重复点击不同步;重试场景旧 id 已被处理;前端 useAiSend.ts:221 IPC 失败不回滚 pendingApprovals,按钮残留。
|
||||
- **决策点**:修法组合选哪些?
|
||||
- **选项**:
|
||||
- a: 后端 ai_approve 幂等(找不到 pending 查审计表,已 executed/rejected 返回「已处理」成功非报错)
|
||||
- b: 前端审批按钮防抖(同一 id 短期多次只发一次 IPC)
|
||||
- c: 前端刷新后 pending 态正确同步(核对 useAiConversations.ts:119 边界)
|
||||
- **推荐**:**a + b**(后端幂等治本 + 前端防抖治标,c 已部分由现有恢复逻辑覆盖)
|
||||
- **关联**:todo F-260616-06
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a + b**。先 b 前端防抖止血(5 分钟改动),后 a 后端幂等治本。**子决策:实施顺序=A(先 b 防抖,后 a 幂等)**。
|
||||
|
||||
#### F-260616-07 流式对话失败自动重试
|
||||
- **背景**:流式 stream_llm 零重试(agentic.rs:231-238 返回 None 直接放弃);df-ai retry.rs 只覆盖非流式 complete();手工重试已存在(错误气泡「重试」按钮)。
|
||||
- **决策点**(4 个子决策):
|
||||
- (a) 流中途失败如何重试:a1 只重试流前失败(简单稳妥)/ a2 流中途失败截断已流文本重请求(复杂)
|
||||
- (b) 重试计数器粒度:每条消息预算 N 次(倾向)/ 每轮独立
|
||||
- (c) 退避策略:复用 retry.rs(1s→2s→4s 倾向)/ 用户可配
|
||||
- (d) 重试期 UI:错误气泡内「重试 n/m」(倾向)/ 独立 toast
|
||||
- **推荐**:**a1 + 每条消息预算 + 复用 retry.rs 退避 + 错误气泡内更新**
|
||||
- **关联**:todo F-260616-07
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a1 + 每条消息预算3次 + 复用 retry.rs 退避 + 错误气泡内更新**。流前失败重试,不碰流中途。**子决策:不加 Settings UI,硬编码默认 3 次(A)**。
|
||||
|
||||
#### F-260616-08 AI 数据获取工具突破 50 条上限
|
||||
- **背景**:MAX_LIST_RESULTS=50 硬覆盖 6 工具(list_projects/tasks/ideas/trash/search_files/read_file 搜索),配套只给 has_more/truncated 提示无 offset 翻页;knowledge_search min(3) 钳死。
|
||||
- **决策点**(4 子):
|
||||
- (a) 翻页范围:全量工具补 offset(对齐 read_file 统一)/ 仅 hot 工具(list_tasks/search_files)
|
||||
- (b) 翻页 limit 默认:沿用 50 / 提到 100-200
|
||||
- (c) knowledge_search 上限:20 / 50
|
||||
- (d) 是否加 get_count/list_all 探总量工具
|
||||
- **推荐**:原推荐不加探总量;用户决策:**需加 get_count/list_all 探总量工具**(AI 需知总量做分页策略,has_more 仅告知"还有"不知多少)
|
||||
- **关联**:todo F-260616-08
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:全量 offset + 沿用 50 + knowledge 20 + 加探总量工具(get_count/list_all)**。用户要求 AI 具备探总量能力。
|
||||
|
||||
#### F-260616-09 AiSession 单例→多会话并发架构
|
||||
- **背景**:用户需求(3 条消息强化):「应用级支持同时具备多会话」+「多个会话窗口来回切,**并行执行**」。现状 `AiSession` 应用级单例(state.rs:164 `ai_session: Arc<Mutex<AiSession>>`),messages/generating/stop_flag/pending_approvals 全一份;同一时刻只一个对话能跑。残留 bug:新建会话上下文残留(前端 newConversation 漏清 queue/generatingConvId/agentRound;后端 ai_conversation_create 漏清 agent_language/stop_flag)。
|
||||
- **决策点**(5 个子决策):
|
||||
- (a) **推进路径**:A 先做隔离修复(补漏清字段维持单例,解残留,低风险) vs 直接 B 架构升级 — 倾向 **A 先**(残留真 bug 立即解,B 另立项)
|
||||
- (b) **B 多会话形态**:AiSession 整体 HashMap<conv_id, SessionState> vs 仅拆 generating/stop_flag per-conv(messages/pending 已可按 conv reload) — 倾向**后者**(侵入小)
|
||||
- (c) **B 并发上限**:复用 llm_concurrency.global 限并发会话数防 token 暴增 vs 无上限 — 倾向**复用限并发**
|
||||
- (d) **多窗口 UI 形态**:(d1) 单面板侧栏会话列表切换+后台并行(改动小) vs (d2) 每会话独立 Tauri 窗口(useAiWindow.ts detached 已有基础可扩,改动大但「窗口来回切」语义最贴) — **待用户定**,倾向先 d1 后 d2
|
||||
- (e) **旧 loop 切换处理**:不退出各自跑完(真并发) vs 仍退出 — 倾向**不退出真并发**
|
||||
- **选项**:
|
||||
- a: A 先做隔离修复(B 前置,解残留) + B 立项排期(UI 待用户定 d1/d2)
|
||||
- b: 直接 B 架构升级(一步到位,大改+高风险)
|
||||
- c: 仅 A 隔离修复(满足"切会话不残留",并行执行缓做)
|
||||
- **推荐**:**a**(A 先解燃眉真 bug,B 按架构演进另立项;UI 形态 d 待用户拍板再定 B 的工作量)
|
||||
- **关联**:todo F-260616-09 / memory aichat-arch-extensibility(AiSession 单例未动架构债)
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a**(A 先隔离修复 + B 立项)。**UI 形态:d1+d2 都做**——侧边栏可切换,也可多窗口打开。先 d1(侧栏切换+后台并行),再 d2(独立 Tauri 窗口,detached 已有基础)。
|
||||
|
||||
#### F-260615-14 AiChat 气泡截图拷贝
|
||||
- **背景**:截图拷贝(气泡 DOM→图片→剪贴板)需加依赖 html2canvas(~90KB)或 dom-to-image-more(~3KB)。
|
||||
- **决策点**:选型?
|
||||
- **选项**:
|
||||
- a: html2canvas(~90KB,CSS 支持有限但社区成熟)
|
||||
- b: dom-to-image-more(~3KB,轻量,CSS 支持更弱)
|
||||
- c: 不做(文本拷贝 F-13 已够,截图 ROI 低)
|
||||
- **推荐**:**b**(做减法,3KB 轻量,气泡样式简单风险低)或 **c**(等用户反馈需求强度)
|
||||
- **关联**:todo F-260615-14
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:c 不做**。文本拷贝+代码块复制已覆盖核心需求,等用户真实反馈再定。
|
||||
|
||||
---
|
||||
|
||||
### ④类 — 设计方向(方案未定,需人定 A/B/C 选型)
|
||||
|
||||
#### F-260614-03 灵感对抗评估接 LLM
|
||||
- **背景**:df-ideas adversarial.rs `evaluate()` 纯启发式,接 LLM 需改签名注入 provider。
|
||||
- **决策点**:注入方式?
|
||||
- **选项**:
|
||||
- a: trait 解耦(df-ideas 定义 IdeaAnalyzer trait,推荐)
|
||||
- b: df-ideas 直接依赖 df-ai
|
||||
- c: closure 注入
|
||||
- **推荐**:**a**(trait 解耦,但前置 F-07 trait 下沉)
|
||||
- **关联**:todo F-260614-03 / F-07
|
||||
- **状态**:🟡 待决(阻塞于 F-07)
|
||||
|
||||
#### F-260616-07 阶段3 AI 执行闭环 + F-03 收口三件
|
||||
- **背景**:advance_task/run_workflow 注册为 AI 工具 + AiNode 自审闸门;F-03 收口三件(advance_task 注册 + update_task 描述/schema 移 status + df-storage tasks 白名单移 status)须同步落地防 AI 工具行为不一致。
|
||||
- **决策点**:阶段3 范围/优先级?(依赖 F-07 trait 下沉让 AiNode 可复用)
|
||||
- **选项**:
|
||||
- a: 全量(三件 + AiNode 自审 + run_workflow 工具)
|
||||
- b: 仅 F-03 收口三件(防行为不一致,先小步)
|
||||
- c: 暂缓(等 F-07 + 真实推进场景)
|
||||
- **推荐**:**b 先做 F-03 收口**(防现状行为不一致),AiNode 自审等 F-07
|
||||
- **关联**:todo F-260616-07 阶段3 / F-07
|
||||
- **状态**:🟡 待决(阻塞于 F-07)
|
||||
|
||||
#### F-260616-08 阶段4 Git 集成
|
||||
- **背景**:kind 字段 + git 闸门节点 + worktree 隔离。
|
||||
- **决策点**:阶段4 是否进路线?(工作流当前内部基础设施无真实 CI/CD 场景,R-PD-12 已否决做实 run_workflow)
|
||||
- **选项**:
|
||||
- a: 进路线(设计+实施)
|
||||
- b: 暂缓(等工作流有真实使用场景)
|
||||
- **推荐**:**b 暂缓**(对齐 R-PD-12 否决,等真实场景)
|
||||
- **关联**:todo F-260616-08 阶段4
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:b 暂缓**。对齐 R-PD-12 否决,等工作流有真实 CI/CD 场景。
|
||||
|
||||
#### T-260614-11 条件表达式引擎升级
|
||||
- **背景**:df-workflow conditions 仅支持 true/false 字面量,升级为真表达式求值。引擎设计好但无前端 UI 消费方(demoDag edges 无 condition 字段)。
|
||||
- **决策点**:求值器实现方式?(已暂缓:等工作流真实场景)
|
||||
- **选项**:
|
||||
- a: 手写求值器
|
||||
- b: 复活 set_skipped
|
||||
- c: default false + warn(均认可)
|
||||
- **推荐**:**⏸️ 暂缓**(无消费方,等 BuildNode 落地跑构建→测试→部署真实场景)
|
||||
- **关联**:todo T-260614-11
|
||||
- **状态**:⏸️ 暂缓
|
||||
|
||||
#### F-260614-08 决策治理产品化
|
||||
- **背景**:活契约/规格契约自检机制(当前散落文档机制)产品化为可操作功能。
|
||||
- **决策点**:产品化形态?(规格契约机制 devflow-spec-contract-mechanism 文档已定稿,落地链②-⑤未做)
|
||||
- **选项**:
|
||||
- a: 独立功能页(规格契约自检 UI)
|
||||
- b: 嵌入现有流程(锚点+AI自检+子代理活契约化)
|
||||
- c: 暂缓(机制先行文档化,产品化等需求)
|
||||
- **推荐**:**c 暂缓**(机制文档已定稿,产品化等真实需求驱动)
|
||||
- **关联**:todo F-260614-08 / memory devflow-spec-contract-mechanism
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:c 暂缓**。机制文档已定稿,产品化等真实需求驱动。
|
||||
|
||||
#### F-260614-09 项目 status 字段治理
|
||||
- **背景**:status 状态机规范化(planning/active/archived 等枚举约束)。F-09 前端已对齐(planning/active/completed),后端 df-core enum 7 值是独立大改。
|
||||
- **决策点**:后端 status 枚举收口范围?
|
||||
- **选项**:
|
||||
- a: 后端 enum 收窄对齐前端(planning/active/archived)
|
||||
- b: 双字段(status 生命周期 + stage 开发阶段,已否决过度设计)
|
||||
- c: 暂缓(DB 实际只产生 planning + deleted_at 软删二态,现状可接受)
|
||||
- **推荐**:**c 暂缓**(DB 实际二态,收口 ROI 低,等真实多态需求)
|
||||
- **关联**:todo F-260614-09 / F-09
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:c 暂缓**。DB 实际只产生 planning 二态,收口 ROI 低。
|
||||
|
||||
#### F-260614-10 知识库 MCP Server + Tier 2/3
|
||||
- **背景**:对外 MCP 暴露 + 分层存储(当前仅 Tier 1 全栈)。
|
||||
- **决策点**:MCP 暴露范围 + Tier 2/3 存储选型?
|
||||
- **选项**:
|
||||
- a: 全量(MCP Server + Tier2 向量 + Tier3 冷归档)
|
||||
- b: 仅 MCP Server(对外暴露 Tier1)
|
||||
- c: 暂缓(等知识库真实外部消费需求)
|
||||
- **推荐**:**c 暂缓**(Tier1 全栈已满足当前,等外部消费需求)
|
||||
- **关联**:todo F-260614-10
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:c 暂缓**。Tier1 全栈已满足当前,等知识库真实外部消费需求。
|
||||
|
||||
---
|
||||
|
||||
### 重投入排期(设计完备待实施,需人定优先级/时机)
|
||||
|
||||
> 这些项方案已定(📐设计完成/完备),非"待决策方向",而是"待排期投入"。需用户定做不做/何时做/优先级。
|
||||
|
||||
#### F-260614-07(F-07) df-ai-core trait 下沉拆 crate
|
||||
- **背景**:架构前置,4 项决策全定稿。退路可放 df-core。解锁 F-03/F-01。
|
||||
- **设计状态**:📐 完备(决策记录已收敛:原 F-03 A/B/C 作废,统一全局 AI trait 下沉独立 crate)
|
||||
- **决策点**:排期?(解锁多项后续,但拆 crate 重投入)
|
||||
- **推荐**:原推荐优先(可先放 df-core 过渡);用户决策:**拆独立 crate df-ai-core**(不放 df-core,一步到位)
|
||||
- **关联**:todo F-260614-07 / F-03
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:拆独立 crate df-ai-core**。不放 df-core 过渡,LlmProvider trait + 核心数据结构下沉独立 crate,df-ai/df-ideas/df-nodes 均依赖 df-ai-core。
|
||||
|
||||
#### F-260614-01 模型能力系统 Phase 1
|
||||
- **背景**:ModelCapability 数据模型 + ModelRouter 重写 + 7 调用点接入 + Settings 模型池 UI + AiChat 模型下拉。按需求自动匹配合适模型。
|
||||
- **设计状态**:📐 设计完成
|
||||
- **决策点**:排期?(依赖 F-07 trait 下沉)
|
||||
- **推荐**:F-07 后接续
|
||||
- **关联**:todo F-260614-01 / F-07
|
||||
- **状态**:🟡 待排期(阻塞于 F-07)
|
||||
|
||||
#### F-260614-06 导入历史项目(scan 第二步)
|
||||
- **背景**:description 走 LLM(复用 scan_project_with_ai)+ 采样保留内容图(待 F-260614-05 多模态)+ monorepo 一层 + 批量并发;抽 create_with_binding 缓解 TODO。
|
||||
- **设计状态**:📐 设计定稿(6 决策 06-14)
|
||||
- **决策点**:排期?(依赖 F-260614-05 多模态采样)
|
||||
- **推荐**:F-05 多模态后接续
|
||||
- **关联**:todo F-260614-06 / memory devflow-project-path-binding
|
||||
- **状态**:🟡 待排期
|
||||
|
||||
#### F-260614-02 技能联想「使用」
|
||||
- **背景**:首批 3 类联想已做,联想后实际触发/执行技能未实现。
|
||||
- **决策点**:「使用」语义?(执行本机 claude 技能?AI 调用?需明确)
|
||||
- **推荐**:需先澄清语义(关联 memory aichat-skill-slash-autocomplete)
|
||||
- **关联**:todo F-260614-02
|
||||
- **状态**:🟡 待澄清语义
|
||||
|
||||
#### F-260614-04 多 Provider 负载均衡池
|
||||
- **背景**:备用模型/多账号聚合,全局容量=min(各 provider 上限之和, global_cap)。
|
||||
- **决策点**:排期?(增强非阻断)
|
||||
- **推荐**:低优先(等 F-01 模型能力后)
|
||||
- **关联**:todo F-260614-04
|
||||
- **状态**:🟡 待排期
|
||||
|
||||
#### F-260614-05 模型能力系统 Phase 2(多模态)
|
||||
- **背景**:ChatMessage.content: String → Vec<ContentPart>(Text/Image);前端粘贴/拖拽图片;vision 模型自动路由。
|
||||
- **决策点**:排期?(解锁 F-06 导入采样)
|
||||
- **推荐**:中等(解锁 F-06)
|
||||
- **关联**:todo F-260614-05 / F-01
|
||||
- **状态**:🟡 待排期
|
||||
|
||||
#### AE-2025-04 会话级授权(Session Trust)
|
||||
- **背景**:同会话内用户批准过某类操作后,后续同类自动放行;换会话清空重审。首批 write_file + run_command。设计已定(目录级粒度 + 仅写+执行首批 + Webhook 走独立 execution_token)。
|
||||
- **设计状态**:📐 设计定(2026-06-16)
|
||||
- **决策点**:排期?(涉及 mod.rs AiSession + audit.rs 审批链)
|
||||
- **推荐**:中高(写→跑→看→改闭环高频连续操作,体验提升大)
|
||||
- **关联**:todo AE-2025-04
|
||||
- **状态**:🟡 待排期
|
||||
|
||||
#### T-260614-06 Settings.vue 拆 panel 子组件
|
||||
- **背景**:1042 行 god file,4 大功能域(AI 模型/Provider 表单/连接管理/通用设置)可拆 src/components/settings/。评估非低风险(纯重构零功能价值,新建 4 子组件 + props/emits + CSS 拆)。
|
||||
- **决策点**:排期?(单独立项做更稳)
|
||||
- **推荐**:低(纯重构零功能,等 god file 痛点加剧)
|
||||
- **关联**:todo T-260614-06
|
||||
- **状态**:🟡 待排期
|
||||
|
||||
---
|
||||
|
||||
### ④类续 — 设计方向(新增·batch55迁移)
|
||||
|
||||
#### UX-2025-04 断线保文(incomplete标志)
|
||||
- **背景**:流式中断时已接收文本不丢弃;stream_llm mid-stream error 改返回 partial_text + incomplete 标志;agentic 收 incomplete→正常入库+AiCompleted(非AiError)+「⚠ 响应因网络中断不完整」+「继续生成」按钮。
|
||||
- **决策点**:改 stream_recv.rs 流式核心是否做?(中风险,回归可能)
|
||||
- **选项**: a:授权推进(关联 DEC-260616-03 已决a) / b:暂不碰
|
||||
- **推荐**:**a**(DEC-03 已授权,断线保文是用户体验硬伤)
|
||||
- **关联**:todo UX-2025-04 / DEC-260616-03
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a**(授权推进。DEC-03 已授权,断线保文是用户体验硬伤)。
|
||||
|
||||
#### ARC-260615-03 df-execute 归宿
|
||||
- **背景**:df-execute 非空壳(shell.rs execute() 已完整实现+被 tool_registry.rs run_command 复用)。原todo「76行/1函数+TODO」基于 lib.rs 空判过时。
|
||||
- **决策点**:合并进 df-nodes(破职责分离+动依赖树) vs 维持独立?
|
||||
- **选项**: a:维持独立(职责清晰:节点定义vs执行运行时) / b:合并df-nodes(减少crate数)
|
||||
- **推荐**:**a**(维持独立,转架构维护记录非清债)
|
||||
- **关联**:todo ARC-260615-03
|
||||
- **状态**:🟡 待决
|
||||
|
||||
#### ARC-260615-07 中期技术债7件
|
||||
- **背景**:df-core改名df-types / IPC层抽取df-app / AI loop下沉df-ai / 3 view绕store调api / 类型契约ts-rs代码生成 / AiSession多会话 / AppState分组 / IPC命名统一。
|
||||
- **决策点**:哪些值得投?哪些暂缓?
|
||||
- **选项**: a:逐项评估后挑高ROI的做 / b:全部暂缓(等业务功能优先)
|
||||
- **推荐**:**b 暂缓**(当前业务功能未饱和,技术债不急)
|
||||
- **关联**:todo ARC-260615-07
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a**(逐项评估挑高 ROI 的做,用户要求推进非暂缓)。
|
||||
|
||||
#### B-260615-41 工作流执行无进度指示
|
||||
- **背景**:长时间工作流执行用户不知进度/剩余时间。需进度条+步骤提示+预估剩余时间。
|
||||
- **决策点**:实现深度?纯前端 vs 后端emit事件驱动
|
||||
- **选项**: a:轻量(WorkflowDetail.vue 进度条+步骤文本,后端复用已有NodeStarted/Completed事件) / b:完整(后端新progress事件+预估算法)
|
||||
- **推荐**:**a 轻量**(复用现有事件,最小改动)
|
||||
- **关联**:todo B-260615-41
|
||||
- **状态**:✅ 已决(2026-06-16)— **决策:a 轻量**(复用现有 NodeStarted/Completed 事件,纯前端消费)。
|
||||
|
||||
#### B-260615-43 无撤销重做功能
|
||||
- **背景**:AI操作(delete_project等)无撤销。操作历史栈+撤销/重做UI。
|
||||
- **决策点**:撤销范围?全局vs仅AI操作?
|
||||
- **选项**: a:仅AI工具操作(delete_task/delete_project/restore/run_command等) / b:全局(含项目/任务CRUD) / c:暂缓(二次确认已部分覆盖)
|
||||
- **推荐**:**c 暂缓**(High-risk工具已有二次确认AE-05,撤销复杂度高)
|
||||
- **关联**:todo B-260615-43
|
||||
- **状态**:🟡 待决
|
||||
|
||||
### C类 — 用户实测/澄清(需用户操作给反馈,主会话无法代办)
|
||||
|
||||
#### S-260615-01 aichat API Key 401 根因
|
||||
- **待用户操作**:跑直连 curl 测试,区分 key/provider_type/base_url/model 哪项错。见 [aichat-apikey-401排查-2026-06-15.md](./09-问题排查/aichat-apikey-401排查-2026-06-15.md)「验证步骤」。
|
||||
- **背景**:代码链路全对(保存 keyring/读取/鉴权头/URL 拼接),401 来自服务端非 devflow bug。根因四选一。
|
||||
- **状态**:🟡 待用户反馈
|
||||
|
||||
#### S-260614-01 「显示多开」需求澄清
|
||||
- **待用户操作**:截图确认。用户报"设置勾选显示多开但 AiChat 未显示",全 src grep 零命中,疑似旧版本/指分离窗口/想新增开关。
|
||||
- **状态**:🟡 待用户澄清
|
||||
|
||||
#### S-260614-02 审批可见性实测重评
|
||||
- **待用户操作**:实测 tc 卡片是否渲染。B-01 修复后 pending_approvals 内存态不再被 switch 清空,前端查询有数据,但 state.pendingApprovals 在 AiChat.vue 是否有兜底渲染仍需实测。
|
||||
- **选项**:A 加兜底渲染 / B 实测确认(去重:AR-3 修完已缓解,改实测重评)
|
||||
- **状态**:🟡 待用户实测
|
||||
|
||||
#### T-260614-01 多项 tauri dev 实测
|
||||
- **待用户操作**:Sprint 9/10/14/15/16/18 多项未 tauri dev 实测 — 评分 IPC 缩放 / update_full / promote_idea / Store getter / token 落库 / 知识库 Tier 1 全栈 / LLM 并发 Semaphore / 知识生命线(#54 跟踪)。
|
||||
- **状态**:🟡 待用户实测
|
||||
|
||||
#### T-260614-02 切对话不中断路由实测
|
||||
- **待用户操作**:部分场景运行时实测(A 路线场景 2/3)。
|
||||
- **状态**:🟡 待用户实测
|
||||
|
||||
---
|
||||
|
||||
## 已决归档
|
||||
|
||||
(空 — 用户拍板后移此区)
|
||||
Reference in New Issue
Block a user