{% if lock_locked and lock_style == 'decoy' %}
加载中…
对接 notify-fusion 的真实 HTTP API(POST {地址}/api/notify,X-API-Key 鉴权,body 是 to/title/text/level/bot),不是旧手写 Hook 那套 lan-notify 协议,两者字段不通用。跟下面 Codex 的网关是各自独立配置,互不影响。
加载中…
Codex 没有 Claude Code 那种 Hooks,接的是 codex 自身的 notify 配置 + 启动 shim + 断流监控三处已有机制,脚本原地重写 ~/.codex/notify.sh,不用改 config.toml。
跟 Claude 那边同样是 notify-fusion 真实 API,但配置各自独立——可以填一样的地址/Key,也可以用不同的机器人分开区分来源。
切换会直接写入 ~/.claude/settings.json 的 env 块(参考 Claude Switch 插件的做法),对整台机器上的 claude 都生效——不只是这个控制台起的会话,终端里手敲的、别的工具起的也会用新渠道。已经在跑的进程不受影响,跟改 Hooks 一样,只影响之后新起的进程。
改完立即生效,只影响之后新起的 codex 会话;不改 config.toml 里的顶层默认值,只在起会话时用 -c 参数临时覆盖。
加载中…
model_name 是本地别名,litellm_params.model 是上游模型(带 Provider 前缀,如 openai/gpt-4o-mini),密钥用 os.environ/变量名 引用——真实值填在下面「环境变量」里,不要直接写进 YAML。
(还没日志)
只发给本机 127.0.0.1 的代理,不代表一定是 Claude/OpenAI 上游——选的是请求格式,实际上游由 YAML 里 litellm_params.model 决定。
自用中转 · 仅本机访问 · 最近同步 刚刚
把客户端的 base_url 指向下方地址即可,路径与上游保持一致,无需改动调用代码。
base_url = …
按实际转发流量统计
| 模型 | 请求数 | 成功率 | 平均延迟 |
|---|
实时刷新 · 仅保留最近 20 条
| 时间 | 模型 | 状态 | 耗时 |
|---|
本次运行累计 · —
| 总请求数 | — |
| 成功 / 失败 | — |
| 平均延迟 | — |
| 当前上游 | — |
| 当前代理 | — |
改动保存后立即对后续转发生效
客户端用这里签发的 Key 调用,服务端会替换成上游 API Key。Key 保存在服务器上,随时可回来复制。
| 备注 | Key | 调用 | 创建于 |
|---|
配置了「上游 API Key」后必须至少签发一把访问 Key,否则中转会直接拒绝服务——避免变成任何人都能白嫖你账号的开放代理。不配上游 Key 时是透传模式,客户端需自带真实 key。
把原有客户端的 base_url 换成本服务地址即可,鉴权与请求体格式保持不变。
client = OpenAI(
base_url="http://127.0.0.1:8080/v1",
api_key=os.environ["RELAY_KEY"],
)
返回 429 表示触发了本地限流,可在「限流设置」中调高每分钟请求上限。返回 504 通常是上游超时,建议增大超时时间并保持重试开启。
加载中…
用谷歌验证器 / 任意 TOTP App 扫码,或手动输入密钥,然后填一个当前验证码确认绑定:
用 systemd 管理。打开开关会生成对应的单元文件并设为开机启动,进程崩了也会自动拉起。 代理服务排在控制台前面启动。
改完立即生效,只影响之后新启动的会话,正在跑的不受影响。
加载中…
把这个控制台部署到别的机器:点右上「⬇ 部署包」下载 zip(已排除 venv/密钥/密码/日志),照着下面的部署指南操作即可。
加载中…