Sabi

按轮次为编码智能体选择模型、推理强度与供应商,把强模型留给真正需要的回合。

源仓库
vizuh/sabi
Star 数
★ 17
最近更新
26 天前
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具自托管服务Agent 插件 / 技能
可在哪里用
兼容但需适配OpenAI API · Claude APICodex · Claude Code(部分支持)
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Node.js 22npm@vizuh/sabi-controller(controller-v0.1.8)Shell / 命令行网络访问本地文件系统
典型场景
使用 Claude Code 或 Codex 订阅、希望在探索和验证回合自动降档、只在失败或恢复时才用强模型的个人开发者。
不适合
  • 需要在不支持的主机或自研 harness 中零改造接入的团队
  • 期望拿到通用省钱或质量提升承诺的团队
  • 需要完全离线、不调用任何托管模型的环境

这个 Agent 能做什么,适合哪些场景?

Sabi 是位于编码 harness 与模型之间的路由层,自身不是智能体框架,也不接管 harness 的循环、工具、权限、历史和审批。它通过适配器读取工具调用、工具结果、失败、上下文压力、能力声明和供应商状态等轨迹证据,在每一轮推理或任务切换处决定使用 cheap、mid 还是 strong 档位。产品分为两族:推理适配器(Command Code 进程内 mod、本地 OpenAI 兼容代理)和控制器适配器(通过 hooks 在 Claude Code、Codex、OpenCode、Orca 等宿主间执行 continue/delegate/spawn)。安装通过 npm 全局包 @vizuh/sabi-controller 完成,sabi serve 在本地 http://127.0.0.1:8787/v1 起代理,sabi setup 以用户级作用域安装 hooks 与守护进程。每轮记录路由回执,说明计划的档位、实际服务的模型以及差异原因,并在 /dashboard 上展示免费通道命中率、成本、延迟和按模型健康度。项目采用 MIT 许可,Node.js 版本要求 ≥22。

Sabi 接受宿主事件或 HTTP 请求(POST /v1/chat/completions、POST /v1/messages、POST /v1/responses),先用确定性策略对当前轮次分类(exploration、implementation、verification、failure、stuck/context-pressure、transport、capability、output-capacity),再施加能力与传输层面的硬性约束,选出 cheap/mid/strong 档位;仅在代理路径遇到模糊轮次时,才调用可选的 Jev 判官在合法候选中做语义判断,超时或无效回答回退到确定性策略。它支持 auth: passthrough 借用宿主凭据,只重写请求的 model 字段并按帧转发流式响应;遇到 401、402/403、429 或缺 key 时按类型处理(跳过、记住 6 小时、本轮换档或返回 502 并指明变量名)。代理会在 /dashboard 展示最近 24h/48h/7 天的免费通道命中率、往返恢复数、成本与延迟,并支持 sabi surplus review 在只读影子通道上用零成本固定车道做 QA,回执只保存哈希与计数。守护进程每天最多检查一次 registry 更新并缓存结果,sabi updates 和 sabi upgrade 负责预检与升级。

  1. 使用 Claude Code 或 Codex 订阅、希望在探索和验证回合自动降档、只在失败或恢复时才用强模型的个人开发者。
  2. 需要把 OpenRouter、Ollama 等自有凭据接入任意支持 baseURL 的 OpenAI 兼容客户端的团队。
  3. 在 Command Code 中希望按轮切换模型和原生推理强度、且不引入额外供应商密钥的用户。
  4. 想用本地仪表盘观察每轮成本、延迟、免费通道命中率和回退次数,以便做预算评估的工程负责人。
  5. 在 Claude Code、Codex、OpenCode、Orca 之间通过 hooks 继续、委派或派生有界任务的维护者。
  6. 希望在不改动主工作内容的前提下,用零成本车道对已跟踪 diff 做只读影子 QA 的团队。

如何安装或部署这个 Agent?

Sabi 以用户级作用域安装,无需按 worktree 安装。需要 Node.js ≥22 与 npm。

npm install --global @vizuh/sabi-controller
sabi setup
sabi doctor
sabi serve

sabi serve 启动本地代理 http://127.0.0.1:8787/v1。只想安装守护进程而不改宿主配置时使用:

sabi setup --no-hooks

需要 Command Code 原生按轮切换模型与推理强度时,单独安装 mod(无需 Sabi 供应商密钥):

cmd mods add -g npm:@vizuh/sabi-commandcode
cmd mods list

若要让宿主 AI 代为安装,可先挂载技能:

npx skills add vizuh/sabi --skill sabi

如何使用这个 Agent?

代理路径需要你在配置中声明上游与档位模型,并自行提供 OpenRouter、Ollama 等凭据。启用零价质量车道可设置 OPENROUTER_API_KEY 后执行:

sabi setup --free-quality

借用宿主自有凭据时,把 harness 的 baseURL 指向 Sabi 即可,Sabi 不读取也不落盘任何凭据:

ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claude
{
  "upstreams": { "anthropic": { "baseURL": "https://api.anthropic.com", "auth": "passthrough" } },
  "models": { "cheap": { "upstream": "anthropic", "model": "claude-haiku-4-5" },
              "mid": { "upstream": "anthropic", "model": "claude-sonnet-4-5" },
              "strong": { "upstream": "anthropic", "model": "claude-opus-4-1" } },
  "passthrough": { "alias": "sabi-code" }
}

打开 http://127.0.0.1:8787/dashboard 查看路由回执与成本;影子 QA 与升级检查:

sabi surplus inventory
sabi surplus review --intent=bug-hunt
sabi updates --check
sabi upgrade

这个 Agent 有哪些优点和局限?

优点
  • 以轮为粒度而非以请求为粒度决策:README 给出失败→强档、恢复→强档、验证通过→中档的逐轮示例表。
  • 明确区分两类边界(推理路由与控制器交接),并声明不用 hook 安装冒充原生模型切换、不用目录条目冒充套餐权益。
  • 借用认证路径下 Sabi 不持有、不写盘任何凭据,出站目标仅为宿主本会调用的厂商。
  • 按拒绝类型分派回退策略:缺 key 返回命名变量的 502 且不外泄值,402/403 记忆 6 小时,429 跳过同配额池。
  • 本地 /dashboard 与路由回执把计划档位、实际服务模型和差异原因都摊开,成本与延迟可核对。
  • MIT 许可,提供 CLI、本地 OpenAI 兼容代理、Command Code mod 与多宿主 hooks 多种接入形态。
局限
  • README 明确表示尚未给出通用省钱承诺,示例中的 71.7% 降幅只是基于固定费率的分配估算,不是质量或成本结论。
  • 原生推理强度切换只在 Command Code 的 mod 路径可用;代理路径仅做模型与供应商路由。
  • hooks 安装不等于在既有原生会话内切换模型,Claude Code 与 Codex 的控制器能力限于 continue/delegate/spawn。
  • 代理路径需要自行准备 OpenRouter、Ollama 等供应商凭据并按配置声明档位,接入成本高于一键安装。
  • README 标注部分费率为 2026-09-18 核对,使用前需重新核对,且示例忽略缓存折扣、最低消费与重试。
  • 证据分层(源码测试、协议测试、live smoke、完成任务评测)表明多数适配器的最高层证据仍需自行核实。

这个 Agent 与同类方案有什么区别?

README 将 Sabi 与“固定路由器”对比:固定路由器依据单次请求一次性决定整轮任务的模型,而 Sabi 依据已发生的轨迹逐轮决策。README 也指出,固定使用单一 mid 模型的成本约 $0.0242,低于其示例中的自适应组合 $0.0605,说明 Sabi 的目标是把强档容量留给有证据支撑的回合,而非在每类任务上都更便宜。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Sabi 当前 77 · 表现良好 命令行工具免费 + 模型费 ★ 17 26 天前 TypeScript OpenAI API · Claude API
Pilotfish 多模型編排層 81 · 表现良好 Agent 插件 / 技能免费 + 模型费 ★ 710 17 天前 Python Claude Code
Klaat Code 61 · 存在缺口 命令行工具免费版 + 付费版 ★ 353 1 个月前 TypeScript —
Pi Dynamic Workflows 88 · 表现良好 Agent 插件 / 技能免费 + 模型费 ★ 556 20 天前 TypeScript —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
77/ 100 五分制 3.9 / 5
信任安全 19/29
可靠稳定 11/14
适用触发 15/18
规范维护 16/18
有效结果 9/13
证据核验 7/8
查看各维度的扣分理由
信任安全19 / 29 · 3.3/5

证据显示项目对安全边界有罕见的坦诚:docs/security.md 明确承认推理代理无凭证认证、仅做 origin 检查,控制器守护进程使用 256 位 bearer token 与 timingSafeEqual,日志采用 allowlist 与 0600/0700 权限,安装流程要求先说明将改动的文件并取得确认,connect 脚本对付费上游默认拒绝(非交互默认 free)。扣分点:least_privilege 上代理仍可被同机任意进程调用并消耗付费额度,且 SABI_HOST 可绑定非 loopback;external_effects 上存在真实第三方出网(OpenRouter、TypeSafe Jev 判定器)与终端 dispatch 路径,虽有修复但影响面依赖外部宿主未确认;sensitive_data_handling 上密钥仅靠文件权限、无静态加密,saveOpenRouterKey 存在 TOCTOU 窗口;dependency_security 上根 package.json 零运行时依赖、CI 只读权限,但未见锁文件审计或依赖扫描证据;rollback 有备份与卸载说明但缺少统一回滚脚本;source_attribution 有 MIT 与作者署名,但发布者身份未经 FollowAgents 验证。

可靠稳定11 / 14 · 3.9/5

self_consistency 上文档与代码大体一致,安全审查还记录了自身修复被后续合并推翻并更正的过程,但 README 与 install 文档在 controller 包是否含代理服务器上表述略有出入(README 称 sabi serve 可用,install 称 controller 包不含代理服务器),属轻微不一致;dependency_availability 上要求 Node 22.6+、npm 全局包与多个可选宿主,外部依赖(OpenRouter、TypeSafe、Hermes、Command Code)可用性不在仓库控制内;failure_messages 上表现突出,文档给出 ECONNREFUSED、403 MODEL_NOT_IN_PLAN、400 模态不支持、配置缺失列出全部搜索路径等具体错误与修复建议,故给 3。

适用触发15 / 18 · 4.2/5

audience_and_scenarios 覆盖 Command Code、OpenCode、Hermes、Claude Code、Codex、Orca 等多宿主并区分原生与代理路径,给 3;capability_boundaries 明确区分 Class A/B、hook 不等于模型切换、目录上架不等于套餐权限,给 3;trigger_precision 上路由规则表清晰(exploration→cheap、failure→strong 等),但 Jev 判定器触发条件与歧义判定细节分散在多处文档,且部分行为依赖宿主信号,给 2;environment_fit 上默认 loopback、支持 WSL/容器但明确警告非 loopback 绑定风险,Windows 上 POSIX 权限位不适用,给 2。

规范维护16 / 18 · 4.4/5

information_architecture 有清晰仓库地图、多语言 README、llms.txt 与分层文档,给 3;install_notes 区分用户级安装、维护者 checkout、各宿主命令与完成检查,给 3;naming_stability 上别名 sabi-code/sabi-cheap 等稳定,但包名 @vizuh/sabi 与 @vizuh/sabi-controller 双线并存、版本标签 controller-v* 与 v* 分离,易混淆,给 2;examples_and_faq 有 60 秒心智模型、轮次表、成本估算示例与故障排查表,给 3;known_limitations 极为充分,专设 decisions 与 security 文档列出非主张与开放缺口,给 3;license 为 MIT 全文,给 3;versioning_changelog 有 controller-v0.1.8 等版本提及与发布工作流,但未见独立 CHANGELOG 文件,给 2;maintenance_responsibility 有 SECURITY.md 报告渠道与维护者契约,但发布者身份未验证、0.x 预稳定,给 2。

有效结果9 / 13 · 3.5/5

output_usability 上代理返回 OpenAI 兼容响应并把 model 字段改写回别名,决策日志与 report/dashboard 可读,给 2(未见完整输出样例的端到端证据);marginal_value 上自适应分层路由相对固定 mid 的收益作者自己承认不保证,成本估算示例显示相对 all-strong 节省但相对 all-mid 更贵,价值主张有条件,给 2;cost_benefit 上有透明费率示例与 judge 开销单列,但明确不声称普遍节省、未提供完成任务的成本/质量测量,给 2。

证据核验7 / 8 · 4.4/5

claim_traceability 上 README 的每条主张多能对应到 docs/security.md、docs/install.md、安全审查记录与测试文件,且标注验证日期,给 3;cross_source_corroboration 上安全审查与 security.md 相互印证,但审查本身由项目方执行、部分结论(如 Orca 宿主可达性)明确未独立确认,外部独立佐证缺失,给 2;fact_inference_separation 上文档反复区分事实层(源码/测试/协议测试/实机冒烟/完成任务评估)与推断,并明确 mock 成功不等于节省,给 3。

风险与缓解建议
  • 推理代理默认无凭证认证,仅做 Host/Origin 回环检查;同机任意进程可消耗已配置的付费额度,切勿将 SABI_HOST 绑定到非 loopback 地址。
  • Jev 判定器会把 last_instruction 与工具结果摘录发送到 api.typesafe.ai;若不需要第三方出网,请显式设置 judge.enabled: false。
  • 发布者身份未经 FollowAgents 验证,且项目处于 0.x 预稳定阶段,升级前应核对版本与变更。
  • 安全审查由项目方自行执行,部分结论(如 Orca dispatch 的宿主可达性)明确未独立确认,不应视为第三方审计。
  • 密钥仅靠文件权限保护、无静态加密,saveOpenRouterKey 存在 TOCTOU 窗口;共享主机上需谨慎。
证据充分度:低 评估于 2026年10月26日 审查版本 d8c2a103f4c6
查看完整评分方法 →

常见问题

Sabi 会替代我的编码智能体吗?
不会。Sabi 是宿主无关的路由层,harness 保留自己的循环、工具、权限、历史和审批;Sabi 只在宿主暴露的接缝处做一次有界决策,不分叉宿主循环、不重放工具、不静默改写权限。
它能保证省钱吗?
不能。README 明确表示尚未发布通用省钱声明,示例中的约 71.7% 降幅是基于固定费率的分配估算,且同例中固定 mid 方案反而更便宜。真正的生产结论需要在固定完成任务集上衡量每任务成本、成功率、升级精度与路由开销。
使用它需要交出 API 密钥吗?
取决于路径。代理 BYOK 路径需要你自己的 OpenRouter、Ollama 等凭据;借用认证路径下 Sabi 不持有凭据,只把宿主发来的凭据转发给它所属的厂商,且上游声明 auth: passthrough 时禁止再声明 apiKey。
供应商拒绝请求时会发生什么?
按拒绝类型处理:缺 key 时不做调用并返回命名变量的 502;401 离开该供应商试下一个档位;402/403 表示模型不在套餐内则记忆 6 小时并绕开;429 跳过同一配额池;其他错误仅本轮换档。跨档回退需要 transportFallback.enabled 为 true。
支持哪些宿主?
文档列出 Command Code(原生 mod,可按轮切换模型与推理强度)、本地 OpenAI 兼容代理、DeepSeek Harness 适配器(仅推理,不声称生命周期支持),以及通过控制器 hooks 支持的 Claude Code、Codex、OpenCode、Orca 任务/会话编排。其他宿主需按维护者契约自行编写适配器。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents