跳转到正文
ThinkWatch
开始输入以搜索文档。

ThinkWatch Core · 共享引擎

ThinkWatch 网关的共享核心

路由、转发、可观测性、成本核算与数据面防护,以 MIT 许可证的 Rust crate 形式提供,供 ThinkWatch Lite 与服务端版本使用。

twcore · 完整且可独立运行的网关二进制
  1. cargo run -p twcore -- init # 生成带注释的 config.yaml
  2. cargo run -p twcore -- check # 仅校验,不启动
  3. cargo run -p twcore -- serve # 启动网关与控制面

功能

按规则路由

匹配条件包括模型名、客户端、上下文长度及是否携带工具;动作包括切换上游、改写参数或拒绝请求。

流式故障转移

首字节发出之前,可透明切换上游;流式传输开始之后,报告故障情况。

成本可见

token 用量与缓存命中按价目表快照计价,无法计价的部分标记为未知。

出站脱敏

请求发往中转站之前,其中的密钥替换为占位符;模型回显时再恢复原值。

入站审查

上游返回的工具调用按规则审查,高危调用可在当前帧中止。

crate 分层

  1. 由外部约束决定 tw-types · tw-protocol · tw-provider · tw-resil · tw-crypto 服务端版本同样使用
  2. 领域逻辑 tw-engine · tw-pricing · tw-redact · tw-yaml · tw-secret
  3. 装配 tw-config · tw-store · tw-scan · tw-adopt · tw-observe 单机实现:SQLite、unix socket
  4. 数据面与控制面 tw-gateway · tw-control 单机实现:SQLite、unix socket

下面两层为单机实现,有意不共享:单机 SQLite 与多租户 Postgres 差异过大,统一的抽象难以同时满足两者。

开发

测试

smoke 脚本从初始状态出发,在真实二进制上覆盖每条路径。HOME 与 THINKWATCH_HOME 均指向临时目录,执行结束后自动删除。

  • cargo test --workspace # 单元与集成测试
  • scripts/smoke.sh # 在真实二进制上覆盖每条路径

MIT 许可证

允许在其基础上构建、嵌入并再分发。

在 GitHub 上查看