From fd3e7fd2cb03aaff695a782060900aba690a364d Mon Sep 17 00:00:00 2001 From: iven Date: Mon, 13 Apr 2026 01:38:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20V13=20=E5=AE=A1=E8=AE=A1=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=96=87=E6=A1=A3=E5=90=8C=E6=AD=A5=20=E2=80=94=206?= =?UTF-8?q?=E9=A1=B9=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0=20+=20=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=B614=E2=86=9215=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AUDIT_TRACKER: V13-GAP-01~05 FIXED, GAP-06 PARTIALLY_FIXED wiki/middleware: 15层 (TrajectoryRecorder V13注册) wiki/log: 2026-04-13 变更记录 CLAUDE.md: 中间件链 14→15 层 Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 2 +- docs/features/AUDIT_TRACKER.md | 18 ++++++++++++------ wiki/index.md | 2 +- wiki/log.md | 12 ++++++++++-- wiki/middleware.md | 4 ++-- 5 files changed, 26 insertions(+), 12 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 9c65161..2d260a9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -545,7 +545,7 @@ refactor(store): 统一 Store 数据获取方式 | Pipeline DSL | ✅ 稳定 | 04-01 17 个 YAML 模板 + DAG 执行器 | | Hands 系统 | ✅ 稳定 | 9 启用 (Browser/Collector/Researcher/Twitter/Whiteboard/Slideshow/Speech/Quiz/Clip) | | 技能系统 (Skills) | ✅ 稳定 | 75 个 SKILL.md + 语义路由 | -| 中间件链 | ✅ 稳定 | 14 层 (含 DataMasking@90, ButlerRouter, TrajectoryRecorder@650) | +| 中间件链 | ✅ 稳定 | 15 层 (含 DataMasking@90, ButlerRouter, TrajectoryRecorder@650 — V13注册) | ### 关键架构模式 diff --git a/docs/features/AUDIT_TRACKER.md b/docs/features/AUDIT_TRACKER.md index 12348c3..b009c5e 100644 --- a/docs/features/AUDIT_TRACKER.md +++ b/docs/features/AUDIT_TRACKER.md @@ -332,17 +332,17 @@ | ID | 问题 | 状态 | 验证方法 | |----|------|------|----------| -| V13-GAP-01 | TrajectoryRecorderMiddleware 未注册到中间件链 | **OPEN** | `grep trajectory crates/zclaw-kernel/src/kernel/mod.rs` — 零匹配。中间件代码存在 (`trajectory_recorder.rs`),有测试,但 `create_middleware_chain()` 中未注册。Schema v4 `trajectory_events` 表已创建但零数据流入。 | -| V13-GAP-02 | industryStore 未被任何组件导入 | **OPEN** | `grep from.*industryStore\|useIndustryStore desktop/src/` — 仅自身文件。Store 存在且 `viking_load_industry_keywords` 后端链路正常,但桌面端无 UI 展示行业配置状态。 | -| V13-GAP-03 | 桌面端未接入 Knowledge Search API | **OPEN** | `grep knowledge/search desktop/src/` — 零匹配。SaaS 有 `POST /api/v1/knowledge/search` 端点,Admin-v2 已消费,但桌面端不搜索知识库。 | +| V13-GAP-01 | TrajectoryRecorderMiddleware 未注册到中间件链 | **FIXED** | `grep trajectory crates/zclaw-kernel/src/kernel/mod.rs` — 已注册 @650 优先级。通过 MemoryStore.pool() 创建 TrajectoryStore。 | +| V13-GAP-02 | industryStore 未被任何组件导入 | **FIXED** | ButlerPanel/index.tsx 导入 useIndustryStore,展示行业专长卡片 + 关键词标签,自动拉取。 | +| V13-GAP-03 | 桌面端未接入 Knowledge Search API | **FIXED** | saas-knowledge.ts mixin + VikingPanel SaaS KB 搜索 UI (登录后可见)。 | ### P2: 高优先级 | ID | 问题 | 状态 | 验证方法 | |----|------|------|----------| -| V13-GAP-04 | Webhook 孤儿迁移 (代码已删但表仍在) | **OPEN** | `crates/zclaw-saas/migrations/20260403000002_webhooks.sql` 存在,但 `crates/zclaw-saas/src/` 中零 webhook 代码 | -| V13-GAP-05 | Structured Data Source 5 路由无 Admin UI | **OPEN** | `grep structured admin-v2/src/services/knowledge.ts` — 零匹配 | -| V13-GAP-06 | PersistentMemoryStore 遗留模块 | **OPEN** | `desktop/src-tauri/src/memory/persistent.rs` 有 `#[allow(dead_code)]`,数据流已统一到 VikingStorage | +| V13-GAP-04 | Webhook 孤儿迁移 (代码已删但表仍在) | **FIXED** | 标注 deprecated + 添加 down migration 注释,schema 兼容保留 | +| V13-GAP-05 | Structured Data Source 5 路由无 Admin UI | **FIXED** | Knowledge.tsx 新增"结构化数据"Tab,CRUD + 行浏览 | +| V13-GAP-06 | PersistentMemoryStore 遗留模块 | **PARTIALLY_FIXED** | 精化 dead_code 标注 (活跃: embedding config / 遗留: data ops)。完整迁移至 VikingStorage 留后续 (~3h) | ### V13 修正 V12 错误认知 @@ -365,4 +365,10 @@ | 2026-04-12 | V13-GAP-04 | NEW | Webhook 孤儿迁移 | | 2026-04-12 | V13-GAP-05 | NEW | Structured Data Source 无 Admin UI | | 2026-04-12 | V13-GAP-06 | NEW | PersistentMemoryStore 遗留 | +| 2026-04-13 | V13-GAP-01 | FIXED | 注册 TrajectoryRecorderMiddleware @650 + MemoryStore.pool() getter | +| 2026-04-13 | V13-GAP-02 | FIXED | ButlerPanel 行业专长展示 + auto-fetch | +| 2026-04-13 | V13-GAP-03 | FIXED | saas-knowledge mixin + VikingPanel SaaS KB UI | +| 2026-04-13 | V13-GAP-04 | FIXED | deprecated 标注 + down migration 注释 | +| 2026-04-13 | V13-GAP-05 | FIXED | Knowledge.tsx 结构化数据 Tab | +| 2026-04-13 | V13-GAP-06 | PARTIALLY_FIXED | dead_code 精化标注,完整迁移留后续 | | 2026-04-12 | - | V13 修正 | Butler/MCP/Gateway/Presentation 已接通,非孤儿命令 | diff --git a/wiki/index.md b/wiki/index.md index c435746..ef53d7c 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -34,7 +34,7 @@ status: active | Zustand Store | 17 文件 + chat/4子store = 21 | `ls desktop/src/store/` | | React 组件 | 104 个 (.tsx/.ts) | `find desktop/src/components/` | | Admin V2 页面 | 15 个 (.tsx) | `ls admin-v2/src/pages/` | -| 中间件 | 14 层 runtime + 6 层 SaaS HTTP | `kernel/mod.rs` + `zclaw-saas middleware` | +| 中间件 | 15 层 runtime + 6 层 SaaS HTTP | `kernel/mod.rs` + `zclaw-saas middleware` | | 前端 lib/ | 85 个 .ts | `find desktop/src/lib/` | | TODO/FIXME | 前端 4 + Rust 4 = 8 | `grep TODO/FIXME` | diff --git a/wiki/log.md b/wiki/log.md index 83cfa11..d563627 100644 --- a/wiki/log.md +++ b/wiki/log.md @@ -1,6 +1,6 @@ --- title: 变更日志 -updated: 2026-04-12 +updated: 2026-04-13 status: active tags: [log, history] --- @@ -191,7 +191,15 @@ Phase 5 — 主动行为激活 (3 files, 152 insertions): > 更新规则: 每次重大变更后追加一条,最新在最上面 -### [2026-04-11] 详情面板 7 问题修复 +### [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 dead_code 精化标注 (完整迁移留后续) +- 文件: 11 个 (Rust 4 + TS 7), 358 行新增, 1 次提交 - P0: memory_search 空查询 min_similarity 默认值; hand_trigger null→handAutoTrigger; 重启后 chat 路由竞态修复 - P1: AgentInfo 扩展 UserProfile 桥接; 反思阈值降低 5→3; 反思 state restore peek+pop 竞态修复 diff --git a/wiki/middleware.md b/wiki/middleware.md index 149bb20..5ac6c0d 100644 --- a/wiki/middleware.md +++ b/wiki/middleware.md @@ -20,7 +20,7 @@ tags: [module, middleware, runtime] ## 代码逻辑 -### 14 层中间件(注册顺序见 `kernel/mod.rs:190-345`) +### 15 层中间件(注册顺序见 `kernel/mod.rs:190-360`) | # | 中间件 | 文件 | 职责 | 注册条件 | |---|--------|------|------|----------| @@ -37,7 +37,7 @@ tags: [module, middleware, runtime] | 11 | ToolOutputGuard | `middleware/tool_output_guard.rs` | 工具输出安全检查 | 始终 | | 12 | Guardrail | `middleware/guardrail.rs` | shell_exec/file_write/web_fetch 安全规则 | 始终 | | 13 | SubagentLimit | `middleware/subagent_limit.rs` | 限制并发子 agent | 始终 | -| 14 | TrajectoryRecorder | `middleware/trajectory_recorder.rs` | 轨迹记录 + 压缩 | 始终 | +| 14 | TrajectoryRecorder | `middleware/trajectory_recorder.rs` | 轨迹记录 + 压缩 | 始终 (V13-FIX-01 注册) | ### 优先级分类(来自 `middleware.rs` 头注释)