Files
zclaw_openfang/wiki/middleware.md
iven 36a1c87d87
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
docs(wiki): 重构为模块化知识库 — 按模块组织而非按文档类型
问题: 旧 wiki 按文档类型组织(architecture/data-flows/file-map),
修复 Butler Router 需要读 4 个文件才能拼凑全貌。
且 SaaS Relay 主路径 vs 本地降级的优先级描述不准确。

重构为模块化结构,每个模块页自包含:
- 设计思想: 为什么这样设计
- 代码逻辑: 数据流 + 关键代码
- 关联模块: 依赖关系

新增模块页:
- routing.md: 客户端路由 (明确 SaaS Relay 是主路径,不是本地模式)
- chat.md: 聊天系统 (3种实现 + Token Pool 中转机制)
- butler.md: 管家模式 (路由/冷启动/痛点/双模式UI)
- memory.md: 记忆管道 (提取→FTS5→检索→注入)
- saas.md: SaaS平台 (认证/Token池/计费/Admin)
- middleware.md: 中间件链 (14层 + 优先级)
- hands-skills.md: Hands(9) + Skills(75)
- pipeline.md: Pipeline DSL

删除旧文件: architecture.md, data-flows.md, module-status.md, file-map.md
(内容已分布到对应模块页中)

添加 .gitignore 排除 Obsidian 工作区状态文件
2026-04-11 00:36:26 +08:00

1.9 KiB
Raw Blame History

title, updated, status, tags
title updated status tags
中间件链 2026-04-11 active
module
middleware
runtime

中间件链

index 导航。关联模块: chat butler memory

设计思想

中间件是请求处理的管道,按优先级顺序执行。

  • 优先级 0-100数值越大越先执行
  • 每层中间件可以: 修改请求 / 拦截响应 / 记录日志 / 注入上下文
  • 所有消息流(聊天、管家)都经过完整中间件链

代码逻辑

14 层中间件

关键中间件(按优先级排序):

优先级 中间件 文件 职责
90 DataMasking middleware/data_masking.rs 请求发送前数据脱敏 (手机号/身份证)
~500 ButlerRouter middleware/butler_router.rs 4域关键词分类 + system prompt 增强
650 TrajectoryRecorder middleware/trajectory_recorder.rs 轨迹记录 + 压缩

其他 11 层: 认证、速率限制、日志、技能注入、记忆注入等。

中间件执行流

用户消息
  → [优先级 90] DataMasking — 脱敏敏感数据
  → [优先级 ~500] ButlerRouter — 关键词分类 + prompt 增强
  → [优先级 650] TrajectoryRecorder — 记录请求轨迹
  → [其他层] 认证/限流/日志/技能/记忆
  → LLM 调用
  → 响应原路返回

注册位置

中间件在 crates/zclaw-runtime/ 中注册Kernel 启动时加载。

关联模块

  • butler — ButlerRouter 是管家模式的核心
  • chat — 每条消息经过完整中间件链
  • memory — 记忆注入层从 FTS5 检索并注入 system prompt

关键文件

文件 职责
crates/zclaw-runtime/src/middleware/ 所有中间件实现
crates/zclaw-runtime/src/middleware/butler_router.rs 管家路由器
crates/zclaw-runtime/src/middleware/data_masking.rs 数据脱敏
crates/zclaw-runtime/src/middleware/trajectory_recorder.rs 轨迹记录