docs(wiki): 归档 log.md 旧条目 — 保留38条,归档22条至 archive/
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
291
wiki/log.md
291
wiki/log.md
@@ -9,7 +9,14 @@ tags: [log, history]
|
||||
|
||||
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
|
||||
|
||||
### 2026-04-22 跨会话记忆断裂修复 (commit adf0251)
|
||||
## [2026-04-22] docs | Wiki 一致性修复 — 数字/格式/重复内容清理
|
||||
- **index.md**: 数据流图中间件 15→14 层
|
||||
- **chat.md**: 中间件层引用 15→14 层
|
||||
- **development.md**: 稳定化约束中间件 15→14 层
|
||||
- **memory.md**: 删除"前端 Tauri 命令"与"API 接口"重复的 VikingStorage/Intelligence 表(保留 API 接口章节)
|
||||
- **log.md**: 统一所有标题格式为 `## [YYYY-MM-DD] 类型 |`(27行);删除重复的 `# 变更日志` 标题;修正历史条目中"中间件 15层"→"14层";DataMasking 条目补充 Evolution@78
|
||||
|
||||
## [2026-04-22] fix | 跨会话记忆断裂修复 (commit adf0251)
|
||||
- **根因**: 3个断裂点
|
||||
1. `profile_store`未连接 — `create_middleware_chain()`中GrowthIntegration未设置UserProfileStore, extract_combined()的profile_signals被静默丢弃
|
||||
2. 双数据库不一致 — UserProfileStore写入data.db, agent_get读取memories.db, 两库隔离导致UserProfile永远读不到
|
||||
@@ -17,15 +24,15 @@ tags: [log, history]
|
||||
- **修复**: `with_profile_store(memory.pool())` + agent_get改用`kernel.memory()` + Kernel暴露`memory()`方法 + growth.rs增强日志
|
||||
- **验证**: Tauri端E2E — 会话A提取6记忆+4 profile signals → 新会话B成功注入记忆 → 管家Tab显示用户画像+近期话题+53条记忆
|
||||
|
||||
### 2026-04-22 管家Tab记忆展示增强
|
||||
## [2026-04-22] feat | 管家Tab记忆展示增强
|
||||
- **变更**: MemorySection.tsx 重写 — L1摘要并行加载 + 按类型分组(偏好/知识/经验/会话) + 用户画像卡片(行业/角色/沟通风格/近期话题)
|
||||
- **数据源**: viking_ls+viking_read(L1) + agent_get(userProfile)
|
||||
|
||||
### 2026-04-22 DataMasking 完全移除
|
||||
## [2026-04-22] refactor | DataMasking 完全移除
|
||||
- **变更**: 删除 `data_masking.rs` (367行) + loop_runner unmask 逻辑 + saas-relay-client.ts 前端 mask/unmask
|
||||
- **原因**: 正则过度匹配中文文本(commit 73d50fd 已禁用),NLP方案未排期,彻底移除减少维护负担
|
||||
- **影响**: 中间件链 15→14 层,loop_runner 简化,SaaS relay 路径不再做前端脱敏
|
||||
- **中间件链**: `ButlerRouter@80, Compaction@100, Memory@150, Title@180, SkillIndex@200, DanglingTool@300, ToolError@350, ToolOutputGuard@360, Guardrail@400, LoopGuard@500, SubagentLimit@550, TrajectoryRecorder@650, TokenCalibration@700`
|
||||
- **中间件链**: `Evolution@78, ButlerRouter@80, Compaction@100, Memory@150, Title@180, SkillIndex@200, DanglingTool@300, ToolError@350, ToolOutputGuard@360, Guardrail@400, LoopGuard@500, SubagentLimit@550, TrajectoryRecorder@650, TokenCalibration@700`
|
||||
|
||||
## [2026-04-22] fix | Agent 搜索功能修复 — glm 空参数 + schema 简化 + 排版修复 (commit 5816f56 + 81005c3)
|
||||
|
||||
@@ -88,9 +95,9 @@ tags: [log, history]
|
||||
- B-CHAT-2 工具循环: 连续失败计数器 (3次上限)
|
||||
- B-CHAT-5 Stream 竞态: cancelCooldown 500ms
|
||||
|
||||
## 2026-04-19 docs | Wiki 全量深度梳理 — 11 页同步至代码实际状态
|
||||
## [2026-04-19] docs | Wiki 全量深度梳理 — 11 页同步至代码实际状态
|
||||
|
||||
- **index.md**: 全面更新关键数字 — Rust 102K行/357文件/987测试、Store 25、组件 102、lib 75、@reserved 97、中间件 15层、SQL 38文件/42表、dead_code 0;新增进化引擎架构说明;修正 Hands 7注册(非9);Pipeline 18模板
|
||||
- **index.md**: 全面更新关键数字 — Rust 102K行/357文件/987测试、Store 25、组件 102、lib 75、@reserved 97、中间件 14层、SQL 38文件/42表、dead_code 0;新增进化引擎架构说明;修正 Hands 7注册(非9);Pipeline 18模板
|
||||
- **routing.md**: Store 列表删除 workflowBuilderStore(已不存在)、新增 saas/ 子模块(5文件)拆分;路由决策从4分支修正为5分支+降级;lib/ 计数 76→75
|
||||
- **hands-skills.md**: Hands 从"9启用"修正为"7注册"(6 TOML + _reminder);新增"已删除 Hands"节(Whiteboard/Slideshow/Speech 空壳清理);HAND.toml 9→6
|
||||
- **saas.md**: SaaS 模块从"16+distill"修正为精确16目录;SQL迁移从"20文件"修正为"38文件(21up+17down)";CREATE TABLE 从104修正为42
|
||||
@@ -98,15 +105,11 @@ tags: [log, history]
|
||||
- **memory.md**: 新增进化引擎(EvolutionEngine)完整模块结构(19文件);新增 FeedbackCollector/PatternAggregator/QualityGate/SkillGenerator/WorkflowComposer 描述
|
||||
- **butler.md**: Intelligence 层从5文件扩展到16文件完整清单;新增 experience/health_snapshot/personality_detector 等
|
||||
- **pipeline.md**: 模板数从17修正为18;修正模板分布总计公式
|
||||
- **chat.md**: 中间件层引用从14修正为15
|
||||
- **development.md**: 稳定化约束数字全面更新(Store 25、中间件 15、组件 102);分层职责同步
|
||||
- **chat.md**: 中间件层引用 14层(含Evolution@78)
|
||||
- **development.md**: 稳定化约束数字全面更新(Store 25、中间件 14、组件 102);分层职责同步
|
||||
- **验证方式**: 3路并行代码分析(Rust crates/前端/TRUTH交叉) + 20+ grep/find 命令实际验证
|
||||
|
||||
# 变更日志
|
||||
|
||||
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
|
||||
|
||||
## 2026-04-19 fix | 穷尽审计修复 — CRITICAL×1 + HIGH×6 + MEDIUM×4
|
||||
## [2026-04-19] fix | 穷尽审计修复 — CRITICAL×1 + HIGH×6 + MEDIUM×4
|
||||
|
||||
- C1: mark_key_429 设 is_active=FALSE,自动恢复路径可达化
|
||||
- H1+H2: 重试查询补全日志 + fallthrough 错误信息修正 (RateLimited)
|
||||
@@ -114,7 +117,7 @@ tags: [log, history]
|
||||
- H5+H6: auth.ts 提取 triggerReconnect(),login/TOTP/restore 三路径统一
|
||||
- M1: toggle_key_active(true) 清除 cooldown_until
|
||||
|
||||
## 2026-04-19 fix | 发布前审计 5 项修复
|
||||
## [2026-04-19] fix | 发布前审计 5 项修复
|
||||
|
||||
- P0-1: key_pool.rs Provider Key cooldown 过期自动恢复(is_active=false → true)
|
||||
- P0-2: agentStore.ts createClone/createFromTemplate 友好错误信息(502/503/401 分类)
|
||||
@@ -122,21 +125,21 @@ tags: [log, history]
|
||||
- P1-3: health_snapshot heartbeat engine 未初始化时返回 pending 快照(不再报错)
|
||||
- P1-1: configStore.ts loadSkillsCatalog 增加延迟重试(最多2次,1.5s/3s 间隔)
|
||||
|
||||
## 2026-04-19 chore | sqlx 0.7→0.8 统一 + 测试覆盖补充
|
||||
## [2026-04-19] chore | sqlx 0.7→0.8 统一 + 测试覆盖补充
|
||||
|
||||
- sqlx workspace 0.7→0.8.6 + libsqlite3-sys 0.27→0.30,消除 pgvector 引入的双版本
|
||||
- 零源码修改,719→797 测试全通过
|
||||
- zclaw-protocols +43 测试: MCP types serde / transport config / domain roundtrips
|
||||
- zclaw-skills +47 测试: SKILL.md/TOML parsing / auto-classify / PromptOnlySkill / types roundtrips
|
||||
|
||||
## 2026-04-18 fix | 审计后续 3 项修复
|
||||
## [2026-04-18] fix | 审计后续 3 项修复
|
||||
|
||||
- Shell Hands 残留清理 3 处 (message.rs 注释/profiler 偏好/handStore mock)
|
||||
- FTS5 CJK 查询修复: sanitize_fts_query 从精确短语改为 token OR 组合
|
||||
- WASM HTTP 响应大小限制: Content-Length 预检 + 1MB 上限
|
||||
- zclaw-growth 集成测试 2/2 修复, 全量 651 测试 0 失败
|
||||
|
||||
## 2026-04-18 fix | 深度审计修复 — WASM 安全 + 编译路径
|
||||
## [2026-04-18] fix | 深度审计修复 — WASM 安全 + 编译路径
|
||||
|
||||
- CRITICAL: zclaw_file_read 路径遍历修复 (组件级过滤)
|
||||
- CRITICAL: zclaw_http_fetch SSRF 防护 (scheme 白名单 + 私有 IP 阻止)
|
||||
@@ -145,13 +148,13 @@ tags: [log, history]
|
||||
- 移除 kernel/desktop multi-agent feature (不再控制任何代码)
|
||||
- 563 测试全通过
|
||||
|
||||
## 2026-04-17 refactor | Phase 4A multi-agent feature gate 移除
|
||||
## [2026-04-17] refactor | Phase 4A multi-agent feature gate 移除
|
||||
|
||||
- 8 个文件移除 33 处 `#[cfg(feature = "multi-agent")]`
|
||||
- zclaw-kernel default features 新增 multi-agent,始终编译
|
||||
- A2A router、agents、adapters 代码不再条件编译
|
||||
|
||||
## 2026-04-17 feat | Phase 4B WASM host 函数真实实现
|
||||
## [2026-04-17] feat | Phase 4B WASM host 函数真实实现
|
||||
|
||||
- zclaw_log: 读取 guest 内存字符串 + debug! 日志
|
||||
- zclaw_http_fetch: ureq v3 同步 GET (10s timeout, network_allowed 守卫)
|
||||
@@ -159,7 +162,7 @@ tags: [log, history]
|
||||
- 新增 ureq v3 workspace 依赖 (wasm feature gated)
|
||||
- 25 测试全通过,workspace check 零错误
|
||||
|
||||
## 2026-04-17 refactor | Phase 3A loop_runner 双路径合并
|
||||
## [2026-04-17] refactor | Phase 3A loop_runner 双路径合并
|
||||
|
||||
- middleware_chain 从 Option<MiddlewareChain> 改为 MiddlewareChain (Default = 空链)
|
||||
- 移除 6 处 `use_middleware` 分支 + 2 处 legacy loop_guard inline path
|
||||
@@ -167,20 +170,20 @@ tags: [log, history]
|
||||
- Kernel create_middleware_chain() 返回非 Option,messaging.rs 调用简化
|
||||
- 1154→1023 行,净减 131 行;`cargo check --workspace` ✓ | `cargo test` ✓
|
||||
|
||||
## 2026-04-17 refactor | Phase 2A Pipeline→Kernel 解耦
|
||||
## [2026-04-17] refactor | Phase 2A Pipeline→Kernel 解耦
|
||||
|
||||
- Pipeline 代码中无任何 `zclaw_kernel` 引用,`Cargo.toml` 中的依赖是空壳
|
||||
- 移除后 `cargo check --workspace --exclude zclaw-saas` ✓
|
||||
- 依赖图简化: Pipeline 不再拉入 Kernel 及其传递依赖
|
||||
|
||||
## 2026-04-17 refactor | Phase 2B saasStore 拆分为子模块
|
||||
## [2026-04-17] refactor | Phase 2B saasStore 拆分为子模块
|
||||
|
||||
- 1025行单文件 → 5个子模块 + barrel re-export
|
||||
- saas/types.ts(103行) + shared.ts(93行) + auth.ts(362行) + billing.ts(84行) + index.ts(309行)
|
||||
- saasStore.ts 缩减为 15行 re-export barrel,25+ 消费者零改动
|
||||
- `tsc --noEmit` ✓
|
||||
|
||||
## 2026-04-17 refactor | Phase 5 移除空壳 Hand — Whiteboard/Slideshow/Speech
|
||||
## [2026-04-17] refactor | Phase 5 移除空壳 Hand — Whiteboard/Slideshow/Speech
|
||||
|
||||
- **Rust**: 删除 whiteboard.rs(422行) + slideshow.rs(797行) + speech.rs(442行)
|
||||
- **前端**: 删除 WhiteboardCanvas + SlideshowRenderer + speech-synth + 类型/常量
|
||||
@@ -188,7 +191,7 @@ tags: [log, history]
|
||||
- Hands 9→6 启用 (Browser/Collector/Researcher/Clip/Twitter/Quiz + Reminder系统内部)
|
||||
- 净减 ~5400 行,`cargo check` ✓ | `tsc --noEmit` ✓
|
||||
|
||||
## 2026-04-17 feat | Phase 1 错误体系重构 — ErrorKind + code + Serialize
|
||||
## [2026-04-17] feat | Phase 1 错误体系重构 — ErrorKind + code + Serialize
|
||||
|
||||
- **Rust**: `zclaw-types/error.rs` 新增 `ErrorKind` (17种) + `error_codes` (E4040-E5110)
|
||||
- ZclawError 新增 `kind()` / `code()` 方法 + `Serialize` impl (零破坏性)
|
||||
@@ -196,14 +199,14 @@ tags: [log, history]
|
||||
- **前端**: `error-types.ts` 新增 `RustErrorKind` / `RustErrorDetail` / `tryParseRustError()`
|
||||
- `classifyError()` 优先解析结构化错误 → 17 种中文标题映射
|
||||
|
||||
## 2026-04-17 fix | Phase 0 阻碍项修复 — 流式事件/CI/中文化
|
||||
## [2026-04-17] fix | Phase 0 阻碍项修复 — 流式事件/CI/中文化
|
||||
|
||||
- **BLK-2**: loop_runner.rs 22 处 `let _ = tx.send()` 替换为 `if let Err(e) { tracing::warn!(...) }`,修复流式事件静默丢失
|
||||
- **BLK-5**: 50+ 英文字符串翻译为中文 (HandApprovalModal/ChatArea/AuditLogsPanel 等 7 组件)
|
||||
- **BLK-6**: CI/Release workflow 添加 `--exclude zclaw-saas`,无 DB 时 CI 绿灯
|
||||
- **验证**: `cargo check --workspace --exclude zclaw-saas` ✓ | `tsc --noEmit` ✓
|
||||
|
||||
## 2026-04-17 fix | M4 Admin 权限守卫 + L1 文档同步
|
||||
## [2026-04-17] fix | M4 Admin 权限守卫 + L1 文档同步
|
||||
|
||||
- **BUG-M4**: 新增 `admin_guard_middleware` (auth/mod.rs),在中间件层拦截非 admin 请求
|
||||
- `billing::admin_routes()` 和 `account::admin_routes()` 挂载时加 guard layer
|
||||
@@ -211,7 +214,7 @@ tags: [log, history]
|
||||
- `account/mod.rs` 拆分 `admin_routes()` (dashboard 端点独立)
|
||||
- **BUG-L1**: 字段名已在代码中统一为 `pain_seed_categories`,同步 wiki/butler.md/log.md 文档
|
||||
|
||||
## 2026-04-17 test | 回归验证 — 13/13 PASS,全部 04-17 bug 修复确认
|
||||
## [2026-04-17] test | 回归验证 — 13/13 PASS,全部 04-17 bug 修复确认
|
||||
|
||||
- Phase 1: 6 项 bug 修复回归 (H1/H2/M1/M2/M3/M5) 全部 PASS
|
||||
- Phase 2: Pipeline (list/create/run) + Skill (75 + route_intent) 全部 PASS
|
||||
@@ -220,7 +223,7 @@ tags: [log, history]
|
||||
- 记忆系统健康: 381 条记忆, 12 agent, FTS5+TF-IDF 工作正常
|
||||
- 详见 [[known-issues#04-17 回归验证]]
|
||||
|
||||
## 2026-04-17 test | 全系统功能 E2E 测试 — 129 链路覆盖
|
||||
## [2026-04-17] test | 全系统功能 E2E 测试 — 129 链路覆盖
|
||||
|
||||
- 129 条链路全量测试 (Tauri MCP + Chrome DevTools MCP + HTTP API)
|
||||
- 82 PASS / 20 PARTIAL / 1 FAIL / 26 SKIP,有效通过率 79.1%
|
||||
@@ -230,7 +233,7 @@ tags: [log, history]
|
||||
- 完整报告: `docs/test-evidence/2026-04-17/E2E_TEST_REPORT_2026_04_17.md`
|
||||
- 详见 [[known-issues]]
|
||||
|
||||
## 2026-04-17 fix | 7 项 E2E Bug 修复 — Dashboard 404 / 记忆去重 / 记忆注入 / invoice_id / Prompt 版本
|
||||
## [2026-04-17] fix | 7 项 E2E Bug 修复 — Dashboard 404 / 记忆去重 / 记忆注入 / invoice_id / Prompt 版本
|
||||
|
||||
- **fix(admin)**: Dashboard 404 — 路由注册修复
|
||||
- **fix(memory)**: viking_add 记忆去重 — URI+content 双重校验
|
||||
@@ -241,27 +244,27 @@ tags: [log, history]
|
||||
- **fix(industry)**: API 字段名统一 (pain_seeds → pain_seed_categories)
|
||||
- commit: a504a40
|
||||
|
||||
## 2026-04-16 fix | Agent 面板信息不随对话更新 — 事件时序 + clones 刷新
|
||||
## [2026-04-16] fix | Agent 面板信息不随对话更新 — 事件时序 + clones 刷新
|
||||
|
||||
- **fix(desktop)**: Agent 面板信息不随对话更新 — 事件时序 + clones 刷新
|
||||
- commit: 1309101
|
||||
|
||||
## 2026-04-16 fix | 3 项 P0 安全/功能修复 + TRUTH.md 数字校准
|
||||
## [2026-04-16] fix | 3 项 P0 安全/功能修复 + TRUTH.md 数字校准
|
||||
|
||||
- **fix(saas)**: 3 项 P0 修复 (详见 [[known-issues]])
|
||||
- TRUTH.md 数字同步更新
|
||||
- commit: 0d79993
|
||||
|
||||
## 2026-04-16 fix | 5 项 E2E 测试 Bug 修复
|
||||
## [2026-04-16] fix | 5 项 E2E 测试 Bug 修复
|
||||
|
||||
- Agent 502 / 错误持久化 / 模型标记 / 侧面板 / 记忆页
|
||||
- commit: a0d1392
|
||||
|
||||
## 2026-04-16 fix | useButlerInsights 使用 resolvedAgentId 查询痛点/方案
|
||||
## [2026-04-16] fix | useButlerInsights 使用 resolvedAgentId 查询痛点/方案
|
||||
|
||||
- commit: 7db9eb2
|
||||
|
||||
## 2026-04-16 fix | Heartbeat 参数名 + Relay 解密自愈 + 设置清理
|
||||
## [2026-04-16] fix | Heartbeat 参数名 + Relay 解密自愈 + 设置清理
|
||||
|
||||
- **fix(heartbeat)**: Tauri invoke 参数名修正 snake_case → camelCase (`f6c5dd2`)
|
||||
- intelligence-client.ts 3 处 invoke 调用: agentId/taskCount/totalEntries 等
|
||||
@@ -272,7 +275,7 @@ tags: [log, history]
|
||||
- **chore(settings)**: 删除用量统计和积分详情页面 (`7dea456`)
|
||||
- 与"订阅与计费"功能重复,-240 行
|
||||
|
||||
## 2026-04-15 feat | Heartbeat 统一健康系统
|
||||
## [2026-04-15] feat | Heartbeat 统一健康系统
|
||||
|
||||
- **feat(runtime)**: health_snapshot.rs — 统一健康快照收集器 (LLM连接/记忆/会话/系统资源)
|
||||
- **feat(runtime)**: heartbeat.rs 重构 — HeartbeatManager + HealthSnapshot 集成
|
||||
@@ -281,7 +284,7 @@ tags: [log, history]
|
||||
- **docs**: TRUTH.md + wiki 数字同步 (Tauri 183命令, React 105组件, lib 76文件, intelligence 16文件)
|
||||
- 验证: cargo check 0 error, tsc 0 error
|
||||
|
||||
## 2026-04-15 fix | 聊天定时功能断链接通 — NlScheduleParser + _reminder Hand
|
||||
## [2026-04-15] fix | 聊天定时功能断链接通 — NlScheduleParser + _reminder Hand
|
||||
|
||||
- **fix(runtime)**: NlScheduleParser 接入 chat.rs — has_schedule_intent() 意图检测 + parse_nl_schedule() cron 解析
|
||||
- **fix(hands)**: 新增 _reminder 系统内部 Hand — 定时触发器桥接
|
||||
@@ -290,7 +293,7 @@ tags: [log, history]
|
||||
- **docs(wiki)**: hands-skills.md 新增定时提醒链路说明
|
||||
- 验证: cargo check 0 error, 49 tests passed, Tauri MCP 实操验证 "每天早上9点提醒我查房" → cron `0 9 * * *` 确认消息正确显示
|
||||
|
||||
## 2026-04-15 fix | 发布前冲刺 Day1 — 5项修复 + 2项标注 + 文档同步
|
||||
## [2026-04-15] fix | 发布前冲刺 Day1 — 5项修复 + 2项标注 + 文档同步
|
||||
|
||||
- **fix(saas)**: SSE 用量统计一致性 — 回写 usage_records 真实 token + 消除 relay_requests 双重计数
|
||||
- **fix(saas)**: relay_tasks 超时自动清理 — 每5分钟扫描 processing>10min 标记 failed
|
||||
@@ -300,7 +303,7 @@ tags: [log, history]
|
||||
- **docs**: TRUTH.md 数字更新 (Tauri 182命令、95 invoke、89 @reserved、0 孤儿)
|
||||
- 验证: tsc 0错误、vitest 344通过、cargo check 0 warning、pnpm build 成功
|
||||
|
||||
## 2026-04-15 fix | 三端联调 V2 — SSE Token 捕获修复 + 调试环境文档
|
||||
## [2026-04-15] fix | 三端联调 V2 — SSE Token 捕获修复 + 调试环境文档
|
||||
|
||||
- **fix(saas)**: SseUsageCapture 增加 `stream_done` 标志,修复 SSE 路径 Token 始终为 0 的根因
|
||||
- **fix(saas)**: `parse_sse_line` 兼容 `data:` 和 `data: ` 两种前缀 + `total_tokens` 兜底
|
||||
@@ -327,218 +330,6 @@ tags: [log, history]
|
||||
- P1: API 密钥页崩溃 / 桌面端 401 恢复 / 用量统计全零 / 行业选择 500 / 管理员订阅 500 / SaaS 启动崩溃
|
||||
- 完整报告: `docs/INTEGRATION_TEST_REPORT_20260414_V2.md`
|
||||
|
||||
## [2026-04-13] fix | V13 审计 6 项修复全部完成
|
||||
|
||||
- FIX-01~06: TrajectoryRecorder注册 + industryStore接入 + 知识搜索 + webhook标注 + 结构化UI + PersistentMemoryStore移除
|
||||
- 提交: c167ea4 + fd3e7fd
|
||||
|
||||
## [2026-04-12] audit | V13 系统性功能审计 — 6 项新发现
|
||||
|
||||
- 全系统功能一致性审计完成, 总体健康度 82/100 (V12: 76)
|
||||
- P1 新发现 3 项: TrajectoryRecorder 未注册中间件链, industryStore 无组件导入, 桌面端无 Knowledge Search
|
||||
- P2 新发现 3 项: Webhook 孤儿表, Structured Data Source 无 Admin UI, PersistentMemoryStore 遗留
|
||||
- 修正 V12 错误认知 5 项: Butler/MCP/Gateway/Presentation 已接通, Reflection driver 已修复
|
||||
- TRUTH.md 数字校准: Tauri 184→191, SaaS 122→136, @reserved 33→24, dead_code 76→43
|
||||
- 完整报告: `docs/features/audit-v13/V13-FULL-REPORT.md`
|
||||
|
||||
## [2026-04-12] fix | 三轮审计修复 — 3 HIGH + 4 MEDIUM 清零
|
||||
|
||||
- H1: status disabled→inactive 统一 + source 补 admin 映射
|
||||
- H2: experience.rs format_for_injection XML 转义
|
||||
- H3: TriggerContext industry_keywords 全局缓存接通
|
||||
- M2: ID 自动生成移除中文 + 无 ASCII 手动提示
|
||||
- M3: TS CreateIndustryRequest 补 id 字段
|
||||
- M4: ListIndustriesQuery deny_unknown_fields
|
||||
|
||||
## [2026-04-12] feat | 知识库 Phase D — 统一搜索 + 种子知识冷启动
|
||||
|
||||
- search/recommend API 返回 UnifiedSearchResult (文档+结构化双通道合并)
|
||||
- POST /api/v1/knowledge/seed 种子知识冷启动接口 (幂等, admin权限)
|
||||
- seed_knowledge: 按标题+行业查重, source='distillation', tags标记行业
|
||||
- SearchRequest 扩展: search_structured/search_documents/industry_id 字段
|
||||
- 167 行新增, 4 文件变更
|
||||
|
||||
## [2026-04-12] fix | 二次审计修复 — 2 CRITICAL + 4 HIGH + 2 MEDIUM
|
||||
|
||||
- C-1: Industries.tsx 创建弹窗缺少 id → 添加 id 输入 + name 自动生成
|
||||
- C-2: Accounts.tsx handleSave 部分 save → try/catch + handleClose 统一
|
||||
- V1: viking_commands Mutex 跨 await → Arc clone 后释放 Mutex
|
||||
- I1+I2: 误导性"相关度"分数移除 + pain point XML 转义
|
||||
- S1+S2: industry status 枚举白名单 + id 格式正则验证
|
||||
- H-3+H-4: 编辑模态数据竞争守卫 + useEffect editingId 守卫
|
||||
|
||||
## [2026-04-12] feat | 知识库 Phase B+C — 文档提取器 + multipart 文件上传
|
||||
|
||||
- extractors.rs: PDF(pdf-extract) + DOCX(zip+quick-xml) + Excel(calamine) 三格式提取
|
||||
- 格式路由 detect_format() → RAG 通道或结构化通道
|
||||
- POST /api/v1/knowledge/upload multipart 文件上传
|
||||
- PDF/DOCX/Markdown → RAG 管线,Excel → structured_rows JSONB 存储
|
||||
- 结构化数据源 API: GET/DELETE /api/v1/structured/sources + /rows + /query
|
||||
- 修复 industry/service.rs SaasError::Database 类型不匹配
|
||||
- 累计新增 849 行,7 文件变更
|
||||
|
||||
## [2026-04-12] fix | 审计修复 — 4 CRITICAL + 5 HIGH 全部解决
|
||||
|
||||
- C1: SQL 注入风险 → industry/service.rs 参数化查询 ($N 绑定)
|
||||
- C2: INDUSTRY_CONFIGS 死链 → Kernel 共享 Arc + ButlerRouter 共享实例
|
||||
- C3: IndustryListItem 缺字段 → keywords_count + 时间戳补全
|
||||
- C4: 非事务性行业绑定 → batch ANY($1) 验证 + 事务 DELETE+INSERT
|
||||
- H8: Accounts.tsx 竞态 → mutate→mutateAsync + confirmLoading 双检测
|
||||
- H9: XML 注入未转义 → xml_escape() 辅助函数
|
||||
- H10: update 覆盖 source → 保留原始值
|
||||
- H11: 面包屑 /industries 映射缺失
|
||||
|
||||
## [2026-04-12] feat | 行业配置 + 管家主动性 全栈 5 Phase 实施
|
||||
|
||||
Phase 1 — 行业配置基础 (13 files, 886 insertions):
|
||||
- SaaS industries + account_industries 表 (migration v15)
|
||||
- 4 内置行业: 医疗/教育/制衣/电商 (keywords/prompt/pain_seed_categories)
|
||||
- ButlerRouter 动态行业关键词注入 (Arc<RwLock<Vec<IndustryKeywordConfig>>>)
|
||||
- 8 SaaS API handlers (list/create/update/fullConfig/accountIndustries)
|
||||
|
||||
Phase 2 — 学习循环基础 (5 files, 271 insertions):
|
||||
- 5 触发信号: PainConfirmed/PositiveFeedback/ComplexToolChain/UserCorrection/IndustryPattern
|
||||
- Experience 增加 industry_context + source_trigger 维度
|
||||
- experience_store keywords 含行业标签
|
||||
|
||||
Phase 3 — Tauri 行业配置加载 (6 files, 310 insertions):
|
||||
- desktop saas-industry.ts mixin (4 API methods)
|
||||
- industryStore.ts (Zustand + persist, 离线缓存)
|
||||
- viking_load_industry_keywords Tauri 命令 (JSON String → Rust struct)
|
||||
|
||||
Phase 4 — Admin 行业管理 (6 files, 564 insertions):
|
||||
- Industries.tsx: 行业列表 + 编辑弹窗(关键词/prompt/痛点种子) + 新建弹窗
|
||||
- Accounts.tsx 增强: 行业授权多选 + 主行业标记
|
||||
- /industries 路由 + ShopOutlined 侧边栏导航
|
||||
|
||||
Phase 5 — 主动行为激活 (3 files, 152 insertions):
|
||||
- 注入格式升级: [路由上下文] → <butler-context> XML fencing (Hermes 策略)
|
||||
- 跨会话连续性: pre_hook 注入活跃痛点 + 相关经验
|
||||
- 触发信号持久化: store_trigger_experience() 模板提取零 LLM 成本
|
||||
|
||||
## [2026-04-11] chore | 发布前准备 — 版本号统一 + 数字校准 + 安全加固
|
||||
|
||||
1. Cargo.toml 版本 0.1.0 → 0.9.0-beta.1 (workspace 统一)
|
||||
2. TRUTH.md 数字全面校准 — Rust 代码 66K→74.6K、Tauri 命令 182→184、SaaS .route() 140→122 等 10 项
|
||||
3. CSP 加固 — 添加 `object-src 'none'`
|
||||
4. .env.example 补充 SaaS 关键环境变量 (JWT_SECRET/TOTP_KEY/Admin 凭据)
|
||||
5. 安全检查通过 — 无硬编码密钥、SQL 全参数化、Cookie 三件套完整
|
||||
|
||||
## [2026-04-11] fix | 模型路由链路修复 — 消除硬编码不匹配模型
|
||||
|
||||
1. summarizer_adapter.rs — "glm-4-flash" 硬编码 fallback → 未配置时明确报错 (fail fast)
|
||||
2. saas-relay-client.ts — 'glm-4-flash-250414' 硬编码 fallback → 未获取模型时报错
|
||||
3. Wiki routing.md — 新增完整模型路由文档 (Tauri SaaS Relay 主路径 + 辅助 LLM + Browser 模式)
|
||||
|
||||
## [2026-04-11] fix | Skill/MCP 调用链路修复 3 个断点
|
||||
|
||||
1. Anthropic Driver ToolResult 格式 — ContentBlock 添加 ToolResult 变体, tool_call_id 不再丢弃
|
||||
2. 前端 callMcpTool 参数名 — serviceName/toolName/args → service_name/tool_name/arguments
|
||||
3. MCP 工具桥接 ToolRegistry — McpToolWrapper + Kernel mcp_adapters 共享状态 + 启停同步
|
||||
4. Wiki 更新 — hands-skills.md 添加 Skill 调用链路 + MCP 架构文档
|
||||
|
||||
## [2026-04-11] fix | 发布内测前修复 6 批次
|
||||
|
||||
- Batch 1: 新用户 llm_routing 默认改为 relay (SQL + migration)
|
||||
- Batch 2: SaaS URL 集中配置化 (VITE_SAAS_URL, 5处硬编码消除)
|
||||
- Batch 3: Gateway URL 配置化 + Rust panic hook 崩溃报告
|
||||
- Batch 4: UX 文案修复 — 新/老用户区分 + 去政务化 + 忘记密码
|
||||
- Batch 5: 移除空壳"行业资讯" Tab + Provider URL 去重统一到 api-urls.ts
|
||||
- Batch 6: 版本号 0.1.0 → 0.9.0-beta.1 + updater 插件预留
|
||||
|
||||
## [2026-04-11] docs | Wiki 全面更新 — 代码验证驱动
|
||||
|
||||
- 全部 10 个 wiki 页面基于代码扫描验证更新(非文档推测)
|
||||
- 关键数字修正: Rust 95K行(335 .rs文件, 原文档66K)、Tauri命令 190/183、SaaS路由 121、前端组件 104、lib/ 85 文件
|
||||
- 测试函数修正: ~1,055 (872内联+183集成,原文档仅计#[test])
|
||||
- 新增中间件完整注册清单(14层runtime + 6层SaaS HTTP)
|
||||
- 新增 Store 完整目录结构(17 文件 + chat/4 子store)
|
||||
- 新增 Pipeline 模板完整目录树(17 YAML, 8 行业目录)
|
||||
- 新增 Hands 测试数分布
|
||||
- 新增 memory Tauri 命令完整列表(16 个)
|
||||
- 新增代码健康度指标(TODO/FIXME 仅 8 个)
|
||||
- 修正管家模式描述: 关键词路由 → 语义路由(TF-IDF)
|
||||
- 新增 artifactStore 到 chat Store 拆分列表
|
||||
|
||||
## [2026-04-11] init | 创建 wiki 知识库
|
||||
|
||||
- 从 TRUTH.md / ARCHITECTURE_BRIEF.md / CLAUDE.md 编译 8 个 wiki 页面
|
||||
- 创建 index.md 入口 + 7 个主题页
|
||||
- CLAUDE.md 添加 @wiki/index.md 引用
|
||||
|
||||
## [2026-04-10] fix | 发布前修复批次
|
||||
|
||||
- ButlerRouter 语义路由 — SemanticSkillRouter TF-IDF 替代关键词
|
||||
- P1-04 AuthGuard 竞态 — 三态守卫 + cookie 先验证
|
||||
- P2-03 限流 — Cross 测试共享 token
|
||||
- P1-02 浏览器聊天 — Playwright SaaS fixture
|
||||
- BREAKS.md 全部 P0/P1/P2 已修复
|
||||
|
||||
## [2026-04-09] feat | Hermes Intelligence Pipeline 4 Chunk
|
||||
|
||||
- Chunk1 ExperienceStore+Extractor (10 tests)
|
||||
- Chunk2 UserProfileStore+Profiler (14 tests)
|
||||
- Chunk3 NlScheduleParser (16 tests)
|
||||
- Chunk4 TrajectoryRecorder+Compressor (18 tests)
|
||||
- 中间件 13→14 层 (+TrajectoryRecorder@650)
|
||||
- Schema v2→v4 (user_profiles + trajectory tables)
|
||||
|
||||
## [2026-04-09] feat | 管家模式发布前实施完成
|
||||
|
||||
- ButlerRouter + 冷启动 + 简洁UI
|
||||
- 痛点持久化 SQLite
|
||||
- 桥测试 43 通过
|
||||
|
||||
## [2026-04-07] feat | 管家能力激活
|
||||
|
||||
- Tauri 命令 183→189 (+6 butler)
|
||||
- multi-agent feature 默认启用
|
||||
- ButlerPanel UI 3 区
|
||||
- DataMaskingMiddleware@90
|
||||
|
||||
## [2026-04-03] fix | 前端改进 + 数字校准
|
||||
|
||||
- Pipeline 8 invoke 接通前端
|
||||
- Viking 5 孤立 invoke 清理
|
||||
- SaaS API 93→131 (新增 knowledge/billing/role)
|
||||
- scheduled_task Admin V2 完整接入
|
||||
|
||||
## [2026-04-02] fix | P0/P1 全部修复
|
||||
|
||||
- 2 P0 崩溃修复
|
||||
- 9 P1 功能失效修复
|
||||
- 7 P1.5 代码质量修复
|
||||
- TRUTH.md 初始创建
|
||||
|
||||
---
|
||||
|
||||
> 更新规则: 每次重大变更后追加一条,最新在最上面
|
||||
|
||||
### [2026-04-13] V13 审计 6 项修复全部完成
|
||||
|
||||
- FIX-01 (P1): TrajectoryRecorderMiddleware 注册到 create_middleware_chain() @650,Hermes 轨迹数据开始流入
|
||||
- FIX-02 (P1): industryStore 接入 ButlerPanel,桌面端展示行业专长卡片 + 自动拉取
|
||||
- FIX-03 (P1): 桌面端知识库搜索 — saas-knowledge mixin + VikingPanel SaaS KB 搜索 UI
|
||||
- FIX-04 (P2): Webhook 孤儿迁移标注 deprecated + down migration 注释
|
||||
- FIX-05 (P2): Admin Knowledge 新增"结构化数据"Tab (CRUD + 行浏览)
|
||||
- FIX-06 (P2): PersistentMemoryStore 全量移除 — persistent.rs 611→57行,删除死 embedding global + 2 @reserved 命令 + viking_commands 冗余配置,Tauri 命令 191→189
|
||||
- 文件: 13 个 (Rust 5 + TS 7 + docs 1), 提交: c167ea4 + fd3e7fd + 本轮
|
||||
|
||||
- P0: memory_search 空查询 min_similarity 默认值; hand_trigger null→handAutoTrigger; 重启后 chat 路由竞态修复
|
||||
- P1: AgentInfo 扩展 UserProfile 桥接; 反思阈值降低 5→3; 反思 state restore peek+pop 竞态修复
|
||||
- P2: 演化历史可展开差异视图; 管家 Tab 条件 header + 空状态引导
|
||||
- 文件: 14 个 (Rust 5 + TS 9), 10 次提交
|
||||
|
||||
## 2026-04-21: Wiki 系统性更新
|
||||
|
||||
**变更**: wiki 三层架构增强 — L0 速览 + L1 模块标准化 + L2 功能链路映射
|
||||
|
||||
- L0: index.md 增强 — 用户功能清单(10类) + 跨模块数据流全景图 + 导航树增强(含3新页面)
|
||||
- L1: 8 个模块页标准化 — 新增功能清单/API接口/测试链路/已知问题标准章节
|
||||
- routing.md (252→326), chat.md (101→157), saas.md (153→230), memory.md (182→333)
|
||||
- butler.md (137→179), middleware.md (121→159), hands-skills.md (218→257), pipeline.md (111→156)
|
||||
- L1: 新增 security.md (157行) + data-model.md (180行)
|
||||
- L2: 新增 feature-map.md (408行, 33条功能链路, 覆盖对话/Agent/Hands/记忆/SaaS/管家/Pipeline/配置/安全)
|
||||
- 维护: CLAUDE.md §8.3 wiki 触发规则扩展 (6→9条规则)
|
||||
- 设计文档: docs/superpowers/specs/2026-04-21-wiki-systematic-overhaul-design.md
|
||||
- 文件: 11 个修改 + 3 个新增, 总计 ~1400 行新增内容
|
||||
|
||||
Reference in New Issue
Block a user