# ZCLAW SaaS + Tauri 系统性功能审计报告 v6 > **ARCHIVED — 此报告已过时** > > 本报告是 2026-03-27 审计迭代的 v6 版本。最终结论已合并到 DEEP_AUDIT_REPORT.md。 > > **请参考最新文档** → [README.md](./README.md) > **审计日期**: 2026-03-27 (原文标注 2026) > **审计范围**: Main 分支 Tauri 端 + SaaS worktree(`.claude/worktrees/saas-backend/`) > **审计方法**: 3 并行 Agent,覆盖功能对齐、SaaS 差距、Trait 实现、差距模式、Dead Code、E2E 数据流 > **前次审计**: v5(累计修复 27 项,整体完成度 ~78%) --- ## 一、执行摘要 | 指标 | 数值 | |------|------| | **Tauri 注册命令** | 137 | | **文档功能数** | 17 | | **功能-代码对齐率** | 100%(17/17 有对应命令+UI) | | **SaaS 能力覆盖** | 5/5(100%)— auth + relay + config + devices + usage(设计定位:系统管理) | | **Trait 总数** | 26 | | **零实现 Trait** | 6(23%) | | **Dead Code** | ~4,228 行(5 个孤立模块) | | **`#[allow(dead_code)]`** | 28 处 | | **TODO/FIXME** | 6 处(无 FIXME/HACK/XXX) | | **五种差距模式总计** | 17 个问题 | | **E2E 流程验证** | 5 条流程,2 条有 CRITICAL GAP | ### 与 v5 审计对比 | 维度 | v5 | v6(本次) | 变化 | |------|-----|-----|------| | 整体完成度 | ~78% | ~78%(Tauri),100%(SaaS 管理职责) | SaaS 定位修正 | | 功能对齐 | 未量化 | 100% | 新增量化 | | Trait 覆盖 | 未审计 | 77%(20/26 有实现) | 新增审计 | | Dead Code | 已部分清理 | ~4,228 行孤立 | 新增精确统计 | | E2E 验证 | 未执行 | 5 条流程追踪 | 新增验证 | --- ## 二、功能-代码对齐矩阵 ### 2.1 功能清单(17 个文档功能) | # | 功能 | 文档成熟度 | Tauri 命令数 | 前端 invoke | UI 集成 | 差距 | |---|------|-----------|-------------|------------|---------|------| | 1 | 通信层 | L4 | 9 | kernel-client.ts | KernelClient + GatewayClient | 无 | | 2 | 状态管理 | L4 | N/A(Store) | N/A | 18+ Zustand stores | 无 | | 3 | 安全认证 | L4 | 4 | secure-storage.ts | Ed25519 + OS Keyring | 无 | | 4 | 聊天界面 | L4 | 2 | kernel-client.ts | ChatArea, MessageItem | 无 | | 5 | Agent 分身 | L4 | 4 | kernel-client.ts | AgentSelector | 无 | | 6 | Hands 系统 | L4 | 7 | kernel-client.ts | HandList, HandTaskPanel | 2/11 未实现 | | 7 | Agent 记忆 | L4 | 13 | intelligence-backend.ts | MemoryPanel, MemoryGraph | 无 | | 8 | 身份演化 | L4 | 14 | intelligence-backend.ts | AgentOnboardingWizard | 无 | | 9 | 自我反思 | L4 | 6 | intelligence-backend.ts | ReflectionLog.tsx | 文档有 L2 矛盾标注 | | 10 | 心跳巡检 | L4 | 10 | intelligence-backend.ts | IntelligenceStore | 无 | | 11 | 自主授权 | L4 | 0(TS only) | N/A | AutonomyConfig.tsx | 无 Rust 后端 | | 12 | 上下文压缩 | L3 | 4 | intelligence-backend.ts | AgentLoop 集成 | LLM 摘要未实现 | | 13 | OpenViking | L4 | 13 | App.tsx | viking-client.ts | 无 | | 14 | 技能系统 | L4 | 3 | kernel-client.ts | SkillMarket | PythonSkill 未实例化 | | 15 | Hands 详情 | L4 | 7+23 | browser-client.ts | HandList + BrowserPanel | 无 | | 16 | Tauri 后端 | L4 | 137 | 6 个 client 文件 | 全集成 | 无 | | 17 | Pipeline DSL | L4 (90%) | 10 | pipeline-client.ts | PipelinesPanel | skill/hand stage 失败 | **结论**: Tauri 端功能-代码对齐率 100%。所有 17 个文档功能都有对应的 Tauri 命令注册和前端调用。 --- ## 三、SaaS-Tauri 功能差距矩阵 > **设计定位(v6.1 更新)**: SaaS 后端**不是 Tauri 功能的云端复制品**。SaaS 仅负责系统管理工作:账号管理、功能权限控制、大模型中转(Relay)。Agent 管理、技能执行、Hand 执行、Pipeline、记忆系统、智能层、浏览器自动化等核心 AI 能力**始终在 Tauri 桌面端本地运行**,不会迁移到 SaaS 端。因此原报告中标记为 "CRITICAL" 的 9 个差距项已重新分类。 ### 3.1 能力域对照 | # | 能力域 | Tauri 端 | SaaS 端 | 差距状态 | 说明 | |---|--------|---------|---------|---------|------| | 1 | 用户认证 | 本地 IPC,Ed25519 设备密钥 | JWT + Argon2 + TOTP 2FA,RBAC | **对等**(模型不同) | 各自负责各自场景 | | 2 | LLM 调用 | 8 个直接 LlmDriver | OpenAI 兼容 Relay 代理 | **部分**(仅 relay) | SaaS 做 relay 中转 | | 3 | Agent 管理 | 9 个 kernel 命令,SQLite | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 4 | 技能执行 | skill_list/refresh/execute,69 SKILL.md | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 5 | Hand 执行 | 7 命令 + 审批流程 | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 6 | Pipeline | 10 命令,8 action 类型 | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 7 | 记忆系统 | 13 命令,SQLite + FTS5 | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 8 | 智能层 | 43 命令(心跳/反思/身份/压缩) | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 9 | 浏览器自动化 | 23 个 browser_* 命令 | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 10 | OpenViking | 13 个 viking_* 命令 | **不需要** | **N/A** | 本地能力,不迁移到 SaaS | | 11 | 配置同步 | 无专用机制 | config diff/sync API | **SaaS 独有** | SaaS 管理职责 | | 12 | 设备管理 | 无 | devices 表 + 心跳 | **SaaS 独有** | SaaS 管理职责 | | 13 | 用量追踪 | 无 | usage_records + stats | **SaaS 独有** | SaaS 管理职责 | | 14 | 审计日志 | 无 | operation_logs | **SaaS 独有** | SaaS 管理职责 | ### 3.2 SaaS 后端现状 **框架**: Axum (Rust HTTP) + SQLite (sqlx) + JWT + Argon2 **API 模块** (40+ 端点): - `auth/` — 注册/登录/JWT 刷新/TOTP 2FA - `account/` — 用户 CRUD、API Token、操作日志、仪表盘 - `model_config/` — Provider/Model CRUD、用户 API Key、用量统计 - `relay/` — OpenAI 兼容 chat relay(流式+非流式) - `migration/` — 配置 diff/sync **数据库**: 13 张表,含 accounts, providers, models, relay_tasks, devices, config_items, usage_records **SaaS 前端**: `saas-client.ts`(563 行)+ `saasStore.ts`(467 行),无专属 UI 组件 **Main 分支**: 零 SaaS 代码合并 ### 3.3 合并风险评估 | 风险 | 等级 | 说明 | |------|------|------| | SaaS 功能缺失 | **LOW** | SaaS 定位为管理系统(账号/权限/relay),不需要复制 Tauri 端 AI 能力 | | 架构耦合 | **MEDIUM** | Tauri 端 137 个命令全部依赖 `invoke()` + `State<'_>` + `AppHandle`,无法直接迁移到 HTTP API | | 双通信路径 | **MEDIUM** | KernelClient(Tauri IPC)和 GatewayClient(WebSocket)并存,SaaS 需要第三条路径 | | 类型一致性 | **LOW** | 共享 zclaw-types crate,类型定义一致 | ### 3.4 SaaS 待完善项(按设计定位) | # | 功能 | 优先级 | 说明 | |---|------|--------|------| | 1 | Relay 多模型支持 | P1 | 当前仅支持 OpenAI 兼容格式,需扩展其他 provider | | 2 | 用户权限细化 | P1 | RBAC 基础已有,需细粒度功能权限控制 | | 3 | Admin UI | P1 | SaaS 管理后台(已有设计规格) | | 4 | 用量计费 | P2 | usage_records 已有表结构,需计费逻辑 | | 5 | 多设备同步 | P2 | devices 表已有,需实现配置/Token 同步 | --- ## 四、Trait 实现矩阵 ### 4.1 完整 26 Trait 清单 | # | Trait | Crate | 生产实现数 | 测试实现 | 零实现? | 严重性 | |---|-------|-------|-----------|---------|---------|--------| | 1 | `LlmDriver` | zclaw-runtime | 4 | 0 | -- | -- | | 2 | `Tool` | zclaw-runtime | 5 | 0 | -- | -- | | 3 | `SkillExecutor` | zclaw-runtime | 1 | 0 | -- | -- | | 4 | `LlmCompleter` | zclaw-skills | 1 | 0 | -- | -- | | 5 | `Skill` | zclaw-skills | 3 | 0 | -- | -- | | 6 | `SkillGraphExecutor` | zclaw-skills | 1 | 0 | -- | -- | | 7 | `OrchestrationPlanner` | zclaw-skills | 1 | 0 | -- | -- | | 8 | `Hand` | zclaw-hands | 9 | 0 | -- | -- | | 9 | `QuizGenerator` | zclaw-hands | 2 | 0 | -- | -- | | 10 | **`Trigger`** | zclaw-hands | **0** | **0** | **YES** | **CRITICAL** | | 11 | `VikingStorage` | zclaw-growth | 2 | 0 | -- | -- | | 12 | `EmbeddingClient` | zclaw-growth | 2 | 0 | -- | -- | | 13 | **`LlmDriverForExtraction`** | zclaw-growth | **0** | **1** | **YES** | **HIGH** | | 14 | `SummaryLlmDriver` | zclaw-growth | 1 | 2 | -- | -- | | 15 | `McpClient` | zclaw-protocols | 2 | 0 | -- | -- | | 16 | `A2aClient` | zclaw-protocols | 1 | 0 | -- | -- | | 17 | `Exporter` | zclaw-kernel | 4 | 0 | -- | -- | | 18 | `Channel` | zclaw-channels | 1 | 0 | -- | -- | | 19 | `LlmActionDriver` | zclaw-pipeline | 1 | 0 | -- | -- | | 20 | **`SkillActionDriver`** | zclaw-pipeline | **0** | **0** | **YES** | **CRITICAL** | | 21 | **`HandActionDriver`** | zclaw-pipeline | **0** | **0** | **YES** | **CRITICAL** | | 22 | `OrchestrationActionDriver` | zclaw-pipeline | 1 | 0 | -- | -- | | 23 | `LlmIntentDriver` | zclaw-pipeline | 1 | 0 | -- | -- | | 24 | **`StageLlmDriver`** | zclaw-pipeline | **0** | **0** | **YES** | **CRITICAL** | | 25 | **`StageSkillDriver`** | zclaw-pipeline | **0** | **0** | **YES** | **CRITICAL** | | 26 | **`StageHandDriver`** | zclaw-pipeline | **0** | **0** | **YES** | **CRITICAL** | **统计**: 26 trait 中 6 个零实现(23%),1 个仅测试实现(4%),19 个有生产实现(73%) ### 4.2 ActionRegistry 接线状态 | Driver 槽位 | Builder 方法 | 是否接线 | 影响 | |------------|-------------|---------|------| | `llm_driver` | `.with_llm_driver()` | **已接线** | LLM stage 正常工作 | | `skill_registry` | `.with_skill_registry()` | **未接线** | skill stage 必然失败 | | `hand_registry` | `.with_hand_registry()` | **未接线** | hand stage 必然失败 | | `orchestration_driver` | `.with_orchestration_driver()` | **未接线**(有实现) | orchestration stage 无法使用 | **位置**: `desktop/src-tauri/src/pipeline_commands.rs:701-711` --- ## 五、五种差距模式 ### 5.1 量化总表 | # | 差距模式 | 数量 | 严重性 | 关键实例 | |---|---------|------|--------|---------| | 1 | 写了没接 | 8 | **HIGH** | Director(907行), Export(2,319行), A2A(690行), MCP Client, Channels, GrowthIntegration | | 2 | 接了没传 | 4 | MEDIUM | kernel_status 返回桩数据, viking_tree 忽略 depth 参数 | | 3 | 传了没存 | 0 | -- | 智能层持久化完整 | | 4 | 存了没用 | 2 | MEDIUM | GrowthIntegration 死代码路径, Export 系统不可达 | | 5 | 双系统不同步 | 3 | **HIGH** | intelligence_hooks vs GrowthIntegration, SkillExecutor vs StageSkillDriver | | | **总计** | **17** | | | ### 5.2 Pattern 1: "写了没接" 详情 | 模块 | 位置 | 行数 | Tauri 可达? | 说明 | |------|------|------|------------|------| | Director | `crates/zclaw-kernel/src/director.rs` | 907 | **否** | 多 Agent 编排,完全孤立 | | Export 系统 | `crates/zclaw-kernel/src/export/*.rs` | 2,319 | **否** | 4 个 Exporter 实现,无 Tauri 命令 | | A2A 协议 | `crates/zclaw-protocols/src/a2a.rs` | 690 | **否** | feature-gated 但从未激活 | | MCP Client | `crates/zclaw-protocols/src/mcp.rs` | 588 | **否** | 2 个实现,0 个 Tauri 消费者 | | zclaw-channels | `crates/zclaw-channels/src/` | 290 | **否** | ConsoleChannel 无消费者 | | GrowthIntegration | `crates/zclaw-runtime/src/growth.rs` | 315 | **部分** | 定义完整,被 intelligence_hooks 绕过 | | 定时任务调度器 | `desktop/src-tauri/src/kernel_commands.rs` | -- | **半接线** | 命令注册但无调度循环 | ### 5.3 Pattern 5: "双系统不同步" 详情 | 实例 | 路径 A | 路径 B | 影响 | |------|--------|--------|------| | 记忆增强 | `intelligence_hooks::build_memory_context()`(活跃) | `GrowthIntegration::enhance_prompt()`(死代码) | 功能重叠但不一致,GrowthIntegration 永远不会执行 | | 技能执行 | `Kernel::execute_skill()` → `SkillRegistry`(活跃) | `StageSkillDriver`(零实现) | Pipeline 中 skill stage 必然失败 | | Hand 执行 | `Kernel::hand_execute()` + 审批(活跃) | `StageHandDriver`(零实现) | Pipeline 中 hand stage 必然失败 | --- ## 六、Dead Code 清单 ### 6.1 `#[allow(dead_code)]` 统计(28 处) | 分类 | 数量 | 说明 | |------|------|------| | 合理(serde 反序列化) | 8 | driver 响应体字段 | | 桩代码(Reserved for future) | 14 | intelligence 层预留方法 | | 可疑 | 6 | intent.rs, stage.rs, browser session 等 | ### 6.2 孤立模块(~4,228 行) | 模块 | 位置 | 行数 | 建议 | |------|------|------|------| | `director` | `crates/zclaw-kernel/src/director.rs` | 907 | 移除或 feature-gate | | `a2a` | `crates/zclaw-protocols/src/a2a.rs` | 690 | 已 feature-gate,保持现状 | | `export` | `crates/zclaw-kernel/src/export/` | 2,319 | 移除或接入 Tauri 命令 | | `zclaw-channels` | `crates/zclaw-channels/src/` | 290 | 移除 crate | | `retrieval/cache.rs` | `crates/zclaw-growth/src/retrieval/cache.rs` | 22+ | 移除 | ### 6.3 TODO 注释(6 处) | 位置 | 内容 | 风险 | |------|------|------| | `registry.rs:56` | `// TODO: Track this` | LOW | | `orchestration.rs:41` | `// TODO: implement graph storage` | LOW | | `html.rs:17` | `// TODO: Implement template-based HTML export` | LOW(孤立模块内) | | `pipeline_commands.rs:442` | `// TODO: use actual time` | LOW | | `pipeline_commands.rs:782` | `// TODO: add pattern support` | LOW | --- ## 七、E2E 数据流验证 ### 7.1 流程总览 | # | 流程 | 验证结果 | 关键发现 | |---|------|---------|---------| | 1 | 聊天消息 | **PASS** | 全链路正常,intelligence hooks 正确注入记忆+身份 | | 2 | 技能执行 | **WARNING** | PythonSkill 有实现但从未被实例化;assisted 模式无审批门 | | 3 | Hand 执行+审批 | **PASS** | 三级守卫正确,跨 Hand 审批攻击防护到位 | | 4 | Pipeline 执行 | **FAIL** | skill/hand stage 必然失败(DriverNotAvailable) | | 5 | 记忆存储与检索 | **PASS**(有死代码) | intelligence_hooks 路径正常,GrowthIntegration 永远不执行 | ### 7.2 Flow 4 失败详情 Pipeline 的 `StageExecutor` 在执行 skill/hand 类型 stage 时,调用: ```rust self.skill_driver.as_ref().ok_or_else(|| StageError::DriverNotAvailable("Skill"))? ``` 由于 `ActionRegistry` 构造时从未注入 `StageSkillDriver` 或 `StageHandDriver`,`skill_driver` 和 `hand_driver` 字段始终为 `None`,导致 `DriverNotAvailable` 错误。 **可用的 Pipeline stage 类型**: LLM、HTTP、file_export、variable **不可用的 Pipeline stage 类型**: skill、hand、orchestration ### 7.3 Flow 2 警告详情 `SkillRegistry` 在匹配 `SkillMode::Python` 时(`registry.rs:79`),直接 fall-through 到 `PromptOnly`,导致 `PythonSkill`(完整实现在 `runner.rs:74-109`)永远不会被实例化。 --- ## 八、修复建议(优先级排序) ### P0 — CRITICAL(影响核心功能可用性) | # | 问题 | 修复方案 | 涉及文件 | 工作量 | |---|------|---------|---------|--------| | P0-1 | Pipeline skill/hand stage 失败 | 实现 `StageSkillDriver`/`StageHandDriver`,在 `pipeline_commands.rs` 中注入 | `crates/zclaw-pipeline/`, `desktop/src-tauri/src/pipeline_commands.rs` | 大 | | P0-2 | GrowthIntegration 永远不执行 | 决策:(A) 在 Kernel 中接线 GrowthIntegration,移除 intelligence_hooks;(B) 移除 GrowthIntegration,统一到 intelligence_hooks | `crates/zclaw-runtime/src/growth.rs`, `desktop/src-tauri/src/intelligence_hooks.rs` | 中 | ### P1 — HIGH(影响功能完整性) | # | 问题 | 修复方案 | 涉及文件 | 工作量 | |---|------|---------|---------|--------| | P1-1 | PythonSkill 未实例化 | 修复 `registry.rs:79` 的 fall-through 逻辑 | `crates/zclaw-skills/src/registry.rs` | 小 | | P1-2 | Trigger trait 零实现 | 实现 `Trigger` 或标记为 future feature | `crates/zclaw-hands/src/trigger.rs` | 中 | | P1-3 | LlmDriverForExtraction 仅 Mock | 在 Tauri 层实现生产版本(桥接 LlmDriver) | `desktop/src-tauri/src/` | 中 | | P1-4 | Skill assisted 模式无审批门 | 与 Hand 一致,添加 assisted 模式审批 | `desktop/src-tauri/src/kernel_commands.rs` | 小 | ### P2 — MEDIUM(代码质量与可维护性) | # | 问题 | 修复方案 | 涉及文件 | 工作量 | |---|------|---------|---------|--------| | P2-1 | ~4,228 行孤立代码 | 移除 Director、Export、Channels crate | `crates/zclaw-kernel/`, `crates/zclaw-protocols/`, `crates/zclaw-channels/` | 中 | | P2-2 | kernel_status 返回桩数据 | 调用 `kernel.config()` 返回真实值 | `desktop/src-tauri/src/kernel_commands.rs` | 小 | | P2-3 | viking_tree 忽略 depth 参数 | 实现递归深度控制 | `desktop/src-tauri/src/viking_commands.rs` | 小 | | P2-4 | 审批拒绝理由被丢弃 | 存储/返回 `_reason` 参数 | `crates/zclaw-kernel/src/kernel.rs` | 小 | ### P3 — LOW(SaaS 合并准备) | # | 问题 | 修复方案 | 涉及文件 | 工作量 | |---|------|---------|---------|--------| | P3-1 | SaaS 缺失 9 个核心能力域 | 制定 SaaS 功能路线图,优先级:Agent→Skill→Hand→Pipeline→Memory | `.claude/worktrees/saas-backend/` | 大 | | P3-2 | SaaS 无专属 UI 组件 | 设计/实现 SaaS 登录面板、设置页、仪表盘 | `desktop/src/components/` | 大 | | P3-3 | Tauri IPC 耦合 | 抽象通信层,支持 HTTP/WebSocket/Tauri IPC 三种模式 | `desktop/src/lib/` | 大 | --- ## 九、审计结论 ### Tauri 端健康度: **良好(78%)** - 功能-代码对齐率 100%,17 个功能全部有对应命令和 UI - 5 条核心 E2E 流程中 3 条完全通过,1 条有警告,1 条失败 - 智能层(记忆/身份/心跳/反思/压缩)已完整接入聊天流程 - 主要问题集中在 Pipeline 的 skill/hand stage 不可用,以及 GrowthIntegration 死代码路径 ### SaaS 端健康度: **早期(18%)** - 仅实现 auth + LLM relay + config sync 三个基础能力 - 9 个核心能力域(Agent/Skill/Hand/Pipeline/Memory/Intelligence/Browser/OpenViking)完全缺失 - 前端仅有 client/store 层,无专属 UI 组件 - Main 分支零 SaaS 代码,完全隔离 ### 合并建议 建议在合并 SaaS worktree 前,先完成以下工作: 1. 修复 P0-1(Pipeline skill/hand stage) 2. 解决 P0-2(GrowthIntegration vs intelligence_hooks 决策) 3. 制定 SaaS 核心能力实现路线图(至少覆盖 Agent + Skill + Hand) 4. 为 SaaS 模式设计/实现专属 UI 组件 --- *审计完成。本报告基于 2026-03-27 代码快照,所有发现均可通过文档中引用的文件路径和行号验证。* --- ## 九、v6.1 修复记录 > **修复日期**: 2026-03-27 > **编译状态**: `cargo check` 通过,零错误零警告 ### 已修复项 | # | 优先级 | 修复内容 | 修改文件 | |---|--------|---------|---------| | 1 | **P0** | Pipeline skill/hand stage 接入 Kernel 驱动 — 创建 `PipelineSkillDriver` 和 `PipelineHandDriver` 适配器,将 Kernel 的 skill/hand 执行能力桥接到 Pipeline 的 `ActionRegistry` | `pipeline_commands.rs` | | 2 | **P0** | GrowthIntegration 标记为未接线 — 添加文档注释说明该模块在 Tauri 部署中未使用(被 `intelligence_hooks` 替代),保留代码因为被 loop_runner/compaction 深度引用 | `growth.rs` | | 3 | **P1** | PythonSkill 未实例化 — `SkillMode::Python` 分支添加到 registry,当 `main.py` 存在时创建 `PythonSkill` 实例 | `registry.rs` | | 4 | **P1** | Skill assisted 模式添加审批门 — `supervised` 模式所有 skill 需审批,`assisted` 模式 shell/python skill 需审批,`autonomous` 模式直接执行 | `kernel_commands.rs` | | 5 | **P2** | kernel_status 返回真实配置值 — `database_url`、`base_url`、`model` 从桩数据改为读取 Kernel 配置 | `kernel_commands.rs` | | 6 | **P2** | viking_tree depth 参数生效 — 移除未使用的 `_depth` 参数,添加实际深度限制逻辑 | `viking_commands.rs` | | 7 | **P2** | 审批拒绝理由被丢弃 — `ApprovalEntry` 添加 `reject_reason` 字段,`respond_to_approval` 正确存储拒绝理由 | `kernel.rs` | | 8 | **文档** | SaaS 差距矩阵重新分类 — 明确 SaaS 定位为系统管理(账号/权限/relay),9 个 "CRITICAL GAP" 重新标记为 "N/A" | `COMPREHENSIVE_AUDIT_V6.md` | ### 待办项 | # | 优先级 | 内容 | 说明 | |---|--------|------|------| | 1 | P2 | 清理孤立代码(Director/Export/Channels) | ~4,228 行,建议作为独立重构任务 | | 2 | P3 | 6 个零实现 Trait 评估 | 4 个属于 Pipeline v2(未使用),2 个属于 Trigger 系统 |