网关、保险柜和工具接入各自守住一道边界。
- 本机网关
127.0.0.1:17800 - 网关只监听本机回环地址,每个请求都必须携带本地密钥;请求的 Host 必须是回环地址,来自网页的跨站请求会被拒绝,用来防范 DNS rebinding。
- API Key 保险柜
safeStorage · DPAPI / Keychain - 厂商 Key 先经系统密钥存储加密再落盘,界面进程看不到明文;只在网关转发请求的那一刻写进发往厂商的 https 请求头,不进入任何工具配置,也不进入请求日志。
- 工具接入
Claude Code / opencode - 一键把网关地址和本地密钥写进工具配置,写入前记录原值,“还原”只撤销 Pittacus Relay 写入的字段;增删模型、改端口或重新生成密钥时,已接入的工具会自动同步。
- 模型路由
provider-id/model - 按模型名把请求路由到对应厂商,例如 kimi/kimi-k2;工具请求了不认识的模型时回落到“轻量模型 / 主模型”设置。Anthropic 与 Chat Completions 请求直接转发到厂商自己的兼容端点,不做格式互转。
- Codex 协议转换
/v1/responses → /chat/completions - Codex 只使用 OpenAI Responses API,而许多厂商只提供 Chat Completions;网关会把请求转换过去,再把流式回复(文本、工具调用、思考内容)转换回 Responses 事件。这部分已合并进 main,随 v0.1.1 发布,目前 v0.1.1 仍是草稿。
- 用量统计
usage.json · 保留 90 天 - 按天、按模型汇总请求数、输入输出 token 与缓存命中,数据来自厂商响应中的 usage 字段;只记录摘要与计数,不记录对话内容,也没有遥测。
- 桌面应用
Electron + React · Windows / macOS - 常驻系统托盘或菜单栏,关闭窗口不会停止网关;提供 Windows x64 / ARM 与 macOS Apple 芯片 / Intel 四种安装包,界面支持简体中文与英文。