修复: DeepSeek reasoning_content 全链路透传(跨6 crate补字段+映射+agentic loop累积回传)
This commit is contained in:
27
docs/todo.md
27
docs/todo.md
@@ -115,6 +115,33 @@
|
||||
**已审文件清单(本轮)**:crates/df-ai-core/src/provider.rs · crates/df-ai/src/anthropic_compat.rs · crates/df-ai/src/openai_compat.rs · src-tauri/src/commands/ai/conversation.rs · src-tauri/src/commands/ai/commands.rs · src/api/ai.ts · src/api/types.ts · src/composables/ai/useAiSend.ts · src/composables/ai/useAiConversations.ts · src/stores/ai.ts · src/components/AiChat.vue(图片构建+渲染) · src/components/settings/ProviderPanel.vue
|
||||
**新登记 todo**:B-260617-07 · B-260617-08
|
||||
|
||||
### 🔧 2026-06-17 Tasks.vue i18n 缺失(仅分析·未实施)
|
||||
|
||||
> Tasks.vue:72 报 `Not found 'completed' key in 'zh' locale messages`。session-role-diagnose-only,仅分析+记todo。
|
||||
|
||||
**现象**:Tasks.vue:72 `$t(statusLabel(task.status))` → `taskStatusLabel()` → `TASK_STATUS_LABELS[status]` 返回 `'tasks.status.done'` → `$t('tasks.status.done')` 在 en/zh-CN 均未定义 → intlify fallback 到 en 仍缺失。
|
||||
|
||||
**根因**:`src/constants/project.ts:61-68` 定义了 `TASK_STATUS_LABELS`(值如 `'tasks.status.done'`/`'tasks.status.todo'` 等 7 个 status + `'tasks.statusFilter.done'` 等 5 个 filter + priority 相关),但 **en/zh-CN 的 tasks 相关 i18n 文件完全不存在**。6b67214 大量新增功能时未同步补 tasks i18n key。
|
||||
|
||||
**影响范围**(需补全的 key):
|
||||
| 组件 | 用到的 key 前缀 | 缺失的 key |
|
||||
|---|---|---|
|
||||
| Tasks.vue:72 | `tasks.status.*` (7个) | 全部 |
|
||||
| Tasks.vue:148-155 | `tasks.statusFilter.*` (5个) | 全部 |
|
||||
| Tasks.vue:96-103 | `tasks.priority.*` / `P0`/`P1`/`P2`/`P3` (5+4=9) | 全部 |
|
||||
|
||||
- [ ] B-260617-10 [P2] — **Tasks.vue i18n 缺失**。`$t('tasks.status.done')` 等 **21 个翻译键**在 en/zh-CN 均未定义(intlify fallback 也找不到),根因:6b67214 新增大量功能时未同步补 tasks i18n key(`TASK_STATUS_LABELS` 定义了值但无对应 `$t()` 条目)。**影响**:Tasks.vue 状态标签/筛选器/优先级标签全部显示原始 key 而非翻译文本。—— src/views/Tasks.vue(:72) · src/constants/project.ts(:61-82 TASK_STATUS_LABELS/TASK_STATUS_CLASS/PRIORITY_LABELS/PRIORITY_CLASSES)
|
||||
|
||||
> **2026-06-17 进展注记(1cd7652)**:提交 1cd7652 已做**数据层映射兜底**(project.ts 新增 `LEGACY_STATUS_MAP`:completed→done / review_ready→in_review / merged→done / abandoned→cancelled),`taskStatusLabel/taskStatusClass` 经映射后老 DB 脏态不再直接走 `$t()` 报 not found。**但 i18n key 补全(显示层)仍未做**——映射后 `$t('tasks.status.done')` 仍 not found(tasks.ts 不存在),用户从看到 "completed" 变成看到 "tasks.status.done" 原始 key。**B-260617-10 主问题(补全 21 个 i18n key)仍在**,1cd7652 是其前置的数据归一,待补 key 后老态自动正确显示。映射目标态(done/in_review/cancelled)均已核验在 TASK_STATUS_LABELS 7 态内 ✓。
|
||||
|
||||
### 🔧 2026-06-17 走查·tauri 打包目标收窄 + 状态映射 DRY(仅分析·未实施)
|
||||
|
||||
> 本轮 git diff 核验工作区未提交改动 + 最新提交 1cd7652。session-role-diagnose-only。
|
||||
|
||||
- [ ] B-260617-11 [P2] — **tauri.conf.json 打包目标收窄未提交,若误入库锁死非 Windows 构建**。工作区改动 `bundle.targets: "all" → ["nsis"]`(src-tauri/tauri.conf.json:28),收窄到仅 Windows NSIS 安装包。若意图为本地只打 Windows 包,合理;**但若随其他改动一并提交**,macOS(dmg/app)、Linux(deb/appimage)构建将不可用,影响其他开发者/CI。**确认点**:该改动是临时本地构建还是有意入库?临时则建议提交前 revert 此行;有意则建议改为按平台条件配置而非硬编码单一 target。—— src-tauri/tauri.conf.json(:28)
|
||||
|
||||
- [ ] B-260617-12 [P3·可选] — **LEGACY_STATUS_MAP 映射 DRY 重复**。1cd7652 中 `taskStatusLabel`(:96) 与 `taskStatusClass`(:101) 各写一遍 `const mapped = LEGACY_STATUS_MAP[status] ?? status`。两处一行重复,可抽 `mapLegacyStatus(status)` 收敛。极简优先可不动(仅 2 处 + 单行),登记备查。—— src/constants/project.ts(:96,:101)
|
||||
|
||||
### 🔧 2026-06-17 aichat 消息全量重叠(5角度深入分析·未实施)
|
||||
|
||||
> 用户报 aichat 对话「大量重叠」「不单间距问题」。session-role-diagnose-only,5 角度并行论证后记录。
|
||||
|
||||
Reference in New Issue
Block a user