Skip to content

设置 ​

入口:http://<主机>:8787/console/#/settings/sticky。左边分组只改顺序,不改能打开的页。改完大多数页要点保存,或按 Ctrl/Cmd+S。草稿没保存就离开,浏览器那一层不会替你存。

SOCKS5、遥测、备份、关于自带按钮,没有那条全局保存条。

粘性 ​

#/settings/sticky

回头设备尽量留在原来的槽。三个旋钮:

  • 绑定:用哪个请求头当「同一设备」。调用方应传 x-session-id,或 x-conversation-id,或 x-claude-code-session-id。
  • TTL:这根绑定多久还算数。过期之后,下一次请求按新设备重新选槽。
  • 出站:选中槽之后,出站身份怎么跟这根绑定走。

死凭证会拆掉粘性。槽被你手动标成不可调度,也不会再接这根绑定上的新轮次。保存前按钮上会标「待保存」。

账号池 ​

#/settings/pool

新请求选哪一台还有余量的槽。

  • 平衡:新设备去占用比例最低的槽,把负载摊开。
  • 填充:新设备去占用比例最高、但还没满的槽,先用满少数几台,其它保持空闲。

回头设备先尝试原来的槽,回不去才进全局排队。可以打开 手动开关优先,这样你在虚拟机页关掉的「可用」不会被池策略重新打开。每台 VM 的席位上限在这里设全局值,单槽钉死的并发在虚拟机详情里,钉死优先。

页面上的「实时席位」看的是当前运行,不是你还没保存的草稿。

配额 ​

#/settings/quota

Claude 和 OpenAI 分两个标签,互不覆盖。

Claude 按账号层级:

层级用在
默认未知套餐,或还没有凭证
Pro普通 Claude 账号
Max能用 Fable 的账号

每一档可以设并发、RPM,以及 5 小时 / 7 天怎么闸。5h 闸生效、7d 闸生效关掉之后,窗口用满仍可能继续送请求,上游会自己拒绝。

周仓拆分是实验开关,只对 Claude。打开后,7 天余量里按固定比例留给 Max/Fable。

OpenAI 用 codex.quota:limit_5h、limit_7d、max_concurrency、max_rpm、max_sessions。保存 Claude 分档不会改这些数。

单槽上把并发或 RPM 设成数字,是钉死该槽;设成空是取消钉死,立刻回到这一页的平台值。

日志 ​

#/settings/logs

记录模式:

值结果
关闭请求日志不再增加。统计、计费、提示词缓存的新小时都会空
普通日常使用的粒度
Debug排障用。更吵,不要长期开

这是开关。查看和导出在 日志。

协议 ​

#/settings/protocol

人设布局、overlay、缓存 TTL、被中转的官方流量怎么认。保存时推理引擎写成 rust,并且关掉落到 Go 的回退。公开包的推理路只有 rust cli-hop。

缓存 TTL:1h 按 2 倍计费,5m 按 1.25 倍。调用方可以用 x-kin-cache-ttl: 5m 把单次请求降到 5 分钟。

缓存断点里,system 尾、tools 尾是关的,messages 走 cli-hop。不要在这里找一个「改成 HTTP 模拟」的选项。

把协议继承到已有 Claude 槽时,只清掉槽上单独写过的 persona_preset,让槽跟随这一页。GPT 槽不参与这次继承。

白名单 ​

#/settings/whitelist

覆写规则:命中最后一轮 user 时,把覆写文本填进 overlay 的 。匹配或覆写为空的行,保存时丢掉。

overlay 关着的时候,规则全部不生效。先回协议页把 overlay 打开。prompt-leak 没有第二个入口,就用这一格。

初装 ​

#/settings/init

官方 Claude Code 初装的全局默认。保存时推理方式固定为 cli-hop。

  • hello 提示词:初装时那一轮对话说什么,最长 200 字。
  • 单轮超时:hello 那一轮多久算失败。
  • 初装内存:跑初装的那一下给多少内存。这不是槽容器的长期上限,长期上限是 KIN_VM_MEMORY 或 docker update。

同一槽再次换票会重新排队初装,不因为上次已经成功就跳过。单槽上的初装卡片在 虚拟机 详情里,可以单独再跑 hello 或写入登录文件。

探测 ​

#/settings/health

定时用真实槽打一轮对话,把结果缓存起来。new-api 的渠道测试、sub2api 的账号测试这种 hi / ping,直接回放缓存,不再打上游。

这和「代理池里探测 SOCKS 通不通」不是一件事。代理探测可以是绿的,而这里的缓存是空的,调用仍然 502。

同一页还有 签名修复:历史 thinking 块的签名对不上时,按这里的开关决定修不修。修的是出站前的历史块,不是去改账号凭证。

通知 ​

#/settings/notify

可选事件:

事件什么时候响
账号池清空可用账号变成 0
账号池偏低低于你设的最小可用数
账号池恢复从低水位回来
定时汇报按间隔发摘要
凭证吊销新发现被吊销的账号
凭证失效新发现失效凭证
账号离线单个账号变成不可用
账号上线单个账号恢复可用

通知通道是 Telegram Bot。先保存启用开关和事件,再在 Bot 那一卡里发测试。没配 Bot 时,策略开着也不会有人收到。

遥测 ​

#/settings/telemetry

官方客户端要不要按一台正常开发机上报遥测。这一页自己保存,不走全局保存条。关掉遥测不会关掉推理。对齐官方形态时再打开,并确认槽的硬件身份是完整的,否则你只是在一台看起来不像开发机的 VPS 上多发了遥测。

SOCKS5 ​

#/settings/socks5

出口策略的全局项,例如槽是不是必须有代理。生产环境没有「允许不绑出口」的持久开关。具体的主机、端口、密码在 代理池,不在这一页填一整份清单。

备份 ​

#/settings/backup

创建一条备份,列表里按时间和 ID 下载或删除。这是你能拿走的恢复副本。数据库页只看运行态,不产生文件。

备份包含把网关恢复到这一刻需要的数据。把它放到另一台机器之前,确认那台机器的 VM2API_DB_SECRET 就是创建备份时的那一把。密钥不同,备份打不开。

关于 ​

#/settings/about

当前 tag、GitHub 最新、有没有更新、Changelog。检查失败通常是 GitHub API 限额,配 GITHUB_TOKEN 或 VM2API_GITHUB_TOKEN 后重启控制面再查。

一键更新 的完整步骤、它什么时候只是把宿主机命令复制出来、以及 wrap-cli/sync 之后还要去内核页,写在置顶的 更新。不要只看这一小节就在生产上点按钮。

Software use is Non-commercial. See the product license in the vm2api repository.