# 7-20 [process][bug] page_ai_workflow 绕过 Hermes tool executor / audit / toggle v1 > 发现时间:2026-05-17 > > 状态:`[process]` > > 关联主线:`07-ai` ## 1. 问题定义 `/api/page-ai/block-edit-workflow` 仍是独立模型调用链:直接读取 Hermes profile、调用 chat/completions、解析模型 JSON,并直接调用 Rust 工具函数。 它没有通过 `/api/hermes/tools/mnote/call` 的工具执行壳,因此绕过了 tool toggle、audit、统一幂等和统一调用追踪。 ## 2. 证据 - [page_ai_workflow.rs](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/page_ai_workflow.rs:69) 直接调用上游模型。 - [page_ai_workflow.rs](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/page_ai_workflow.rs:91) 在 route 内构造 `ToolCallInput`。 - [page_ai_workflow.rs](/mnt/Data1T/mnote/rust/crates/mnote-web/src/routes/page_ai_workflow.rs:109) 直接调用 `doc::doc_markdown_edit`。 ## 3. 影响 - 关闭或限制 mnote tool 时,该 fast-path 仍可能写入。 - 工具调用审计与普通 Hermes run 不一致。 - 幂等、dryRun、runId、toolCallId 等字段无法统一治理。 ## 4. 建议修复 - 将 fast-path 的工具写入改为调用统一 tool executor。 - fast-path 只负责 prompt / plan,不直接执行写入函数。 - 增加 smoke:当对应 tool disabled 时,`page_ai_workflow` 不得绕过限制写入。 ## 5. 状态 已确认 route 级绕过统一执行壳,尚未修复。