docs: 2026-04-16 变更记录 — 参数名修复 + 解密自愈 + 设置清理
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

- known-issues.md: 新增 3 条修复记录 (Heartbeat参数/Relay解密/设置清理)
- log.md: 追加 2026-04-16 变更日志
This commit is contained in:
iven
2026-04-16 08:06:02 +08:00
parent b69dc6115d
commit 08af78aa83
2 changed files with 48 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
---
title: 已知问题
updated: 2026-04-15
updated: 2026-04-16
status: active
tags: [issues, bugs]
---
@@ -38,6 +38,41 @@ tags: [issues, bugs]
| V13-GAP-05 | Structured Data Source 无 Admin UI | ✅ Admin Knowledge 新增"结构化数据"Tab |
| V13-GAP-06 | PersistentMemoryStore 遗留模块 | ✅ 全量移除 — persistent.rs 611→57 行 |
## Heartbeat 参数名修复 (2026-04-16)
| 问题 | 级别 | 状态 |
|------|------|------|
| Tauri invoke 参数名 snake_case 错误 | P1 | ✅ 已修复 |
**根因**: Tauri 2.x `#[tauri::command]` 默认 `rename_all = "camelCase"`,前端 invoke 必须用 camelCase`agentId` 不是 `agent_id`)。`intelligence-client.ts` 中 3 处 invoke 调用使用了错误的 snake_case。
**修复**: commit `f6c5dd2` — 3 处参数名修正 + HealthPanel.tsx 恢复正确命名。
**教训**: 所有 Tauri invoke 调用的参数名必须用 camelCase与 Rust 端 snake_case 参数名对应。参见 `browser-client.ts` 中已有的正确示例。
## Relay API Key 解密自愈 (2026-04-16)
| 问题 | 级别 | 状态 |
|------|------|------|
| Provider Key 解密失败导致整个 relay 500 | P1 | ✅ 已修复 |
**根因**: `key_pool.rs``select_best_key` 遍历 key 时,第一个解密失败的 key 就通过 `?` 直接返回 500不会尝试下一个。如果 DB 中有旧的加密 key密钥已变更整个 relay 请求被阻断。重新保存只能临时解决,旧 key 仍在 DB 中。
**修复**: commit `b69dc61`:
- 解密失败时 `warn + continue` 跳到下一个 key
- 启动自愈 `heal_provider_keys()`: 逐个解密并重新加密,无法解密的标记 inactive
**教训**: 密钥池选择应容错skip bad keys而不是 fail-fast。加密数据迁移应自动化。
## 设置页面清理 (2026-04-16)
| 变更 | 说明 |
|------|------|
| 删除"用量统计"页面 | 与"订阅与计费"功能重复 |
| 删除"积分详情"页面 | 与"订阅与计费"功能重复 |
commit `7dea456` — 移除 UsageStats + Credits 组件及菜单项。
## 三端联调测试 V2 (2026-04-15)
通过 Chrome DevTools MCP + Tauri MCP 实际界面操作验证。

View File

@@ -1,6 +1,6 @@
---
title: 变更日志
updated: 2026-04-15
updated: 2026-04-16
status: active
tags: [log, history]
---
@@ -9,6 +9,17 @@ tags: [log, history]
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
## 2026-04-16 fix | Heartbeat 参数名 + Relay 解密自愈 + 设置清理
- **fix(heartbeat)**: Tauri invoke 参数名修正 snake_case → camelCase (`f6c5dd2`)
- intelligence-client.ts 3 处 invoke 调用: agentId/taskCount/totalEntries 等
- 教训: Tauri 2.x 默认 rename_all=camelCase
- **fix(relay)**: API Key 解密失败自愈 — 启动迁移 + 容错跳过 (`b69dc61`)
- key_pool: 解密失败 skip 到下一个 key (不再 500)
- key_pool: heal_provider_keys() 启动自愈迁移
- **chore(settings)**: 删除用量统计和积分详情页面 (`7dea456`)
- 与"订阅与计费"功能重复,-240 行
## 2026-04-15 feat | Heartbeat 统一健康系统
- **feat(runtime)**: health_snapshot.rs — 统一健康快照收集器 (LLM连接/记忆/会话/系统资源)