Appearance
账号、密钥与分组
API Key 和账号密码不是一回事
- 网页登录使用账号密码。
- 模型接口使用 API Key,通常放在
Authorization: Bearer请求头。 - 管理员接口使用管理员身份认证,不应写入普通客户端配置。
API Key 泄露后应立即在“API 密钥”页面禁用或删除,再创建新密钥。
分组选择建议
| 目标 | 推荐分组 |
|---|---|
| Codex、OpenAI 兼容文本 | OpenAI |
| Claude Code、Anthropic | Anthropic / Claude |
| Gemini CLI、Gemini 原生 | Gemini |
| Grok 文本 | Grok |
| Grok 图片、语音、视频 | 已开启对应媒体能力的 Grok 分组 |
| Seedance 视频 | Seedance |
专属分组、标签专属分组和停用分组只会对满足权限的用户显示。分组状态变化后,旧 API Key 不一定自动获得新权限,请重新检查 Key 的分组配置。
管理员:OpenCode Zen / GO 账号
账号管理新增 OpenCode API Key 类型,分组平台同样选择 OpenCode。已有 OpenAI、MiniMax H3、Seedance 分组不需要迁移到该类型。
- 新建账号时选择 OpenCode,填入账号名称和上游 API Key。
- 按实际购买的上游服务选择 Zen 或 GO,不要仅根据模型名称猜测套餐类型。
- 选择接口协议。使用“自适应”时,分别核对 Chat Completions、Anthropic 和 Responses 的上游地址;如使用自定义中转,三个地址都应根据该服务实际支持的接口填写。编辑时会保留已保存的自定义地址。
- 关联 OpenCode 分组,使用“同步上游模型”获取候选模型,并按实际权限设置模型映射。同步列表或配置映射并不保证上游账号一定有调用权限,应再测试连接。
- 用户创建平台 API Key 时,在“其他”供应商分类下选择可见的 OpenCode 分组;仍支持按顺序绑定多个分组。
对接客户端时使用本站地址和本站 API Key,而不是上游账号的密钥。文本接口可参考文本调用说明;具体可用模型和协议以账号配置及上游能力为准。自适应协议并不表示任意模型都能跨接口调用。
视频平台保持独立
本平台的 MiniMax H3 是视频账号类型,不是 MiniMax M 系列文本接口。原有 Seedance 独立平台继续使用其视频任务接口;OpenAI API Key 账号中的 Seedance/Ark 适配是另一条链路,两者不能互换账号配置或直接套用接口参数。已有配置请继续参考 MiniMax H3 和 Seedance。
API Key 安全清单
- 不要把密钥提交到 Git。
- 服务器端使用环境变量或密钥管理器。
- 浏览器端不要直接写入长期 API Key。
- 给不同 Agent 创建不同 Key,便于单独禁用和查看用量。
- 为自动化任务设置额度、有效期或 IP 限制。
QQ 机器人绑定与群聊验证
私聊机器人发送 /绑定,打开授权链接并登录自己的平台账号完成确认。绑定成功后,机器人会发送私聊通知;绑定长期有效,直到主动解绑或管理员撤销。
管理员可以在机器人配置中开启“群聊新成员强制绑定”,仅对群号白名单中的群生效:
- 未绑定的新成员入群后禁言 3 天,并收到绑定方式和期限提示。
- 在 3 天内完成绑定,机器人会自动解除该成员由插件记录的禁言。
- 超时仍未绑定的普通成员会自动移出群,完成绑定后可以重新申请入群。
后台每 5 分钟复检一次,因此到期处理可能有几分钟延迟。绑定查询异常时暂停处理,避免误踢已绑定成员;禁言或移出失败会保留任务重试。机器人需要群管理员权限,QQ 自身的禁言人数上限仍会限制实际禁言,新成员的绑定期限不会因禁言失败而延长。
截止时间会持久保存,重载插件和重复入群通知不会重新计时。升级前的旧禁言记录不会自动套用新期限或批量移出,需管理员核对名单后单独处理;旧记录仍可在绑定完成后自动解禁。关闭强制绑定后停止自动移出,并解除白名单内由插件记录的禁言。
管理员:OpenAI OAuth SessionID 控制
在“账号管理”中新增或编辑 OpenAI OAuth 母账号时,可以开启 SessionID 控制;批量编辑同类账号时也支持相同配置。
- “最大 SessionID 数量”限制一个账号同时接收的不同会话数。
- “SessionID 过期时间”控制长时间无请求的活跃槽位何时释放。
- “暂存区过期时间”决定已过期或被轮换的会话保留原账号偏好的时间。
- “槽位满时自动轮换”适合账号较少、槽位容易快速占满的场景。
- “严格 SessionID 控制”会让没有显式 SessionID 的请求跳过该账号。
- “忽略 image_generation 工具”可让图片工具请求不受 SessionID 槽位限制。
- “过载短期回避”默认关闭。开启后,带 SessionID 的请求命中明确的上游过载错误时会立即尝试其他可用账号,并在 60 秒内不再为该会话选择刚刚过载的账号。普通错误、无 SessionID 请求和渠道监控探测不受影响。
短期回避只保存隔离后的会话哈希,并由 Redis TTL 自动清除。切换后的账号只有在上游请求成功后才会提升为该会话的优先账号;回避到期后,调度仍会优先尝试历史成功顺序中优先级更高且当前可用的账号。
管理员:账号高级代理
新增或编辑账号时,可以在“代理”区域开启“高级代理”。该功能适合单个账号需要同时通过多个出口代理承载请求的场景。
- 关闭高级代理时,账号继续使用原来的单代理和账号并发设置,调度行为不变。
- 首次开启时只带入账号当前代理,并完整继承原账号并发;不会自动选择第二个代理或拆分并发。
- 高级代理允许先以一个代理运行;后续可按需添加更多代理并分别设置并发上限,账号总并发等于各代理并发之和。
- 新请求优先使用当前并发占上限比例最低的代理。例如代理 A 为
2/10、代理 B 为1/2时,会优先使用 A。 - 代理被停用、删除或到期后不会再接收新请求,其他仍可用代理继续工作。
- 请求会同时占用账号总并发槽位和所选代理槽位,请求完成后两层槽位一起释放。
- WebSocket 会话建立后保持使用已选代理,避免同一上游连接中途更换出口。
账号列表的“容量”列会逐个显示代理名称和实时并发,例如 香港-A 3/10、日本-B 1/5。关闭高级代理后,该列恢复为原来的账号总并发显示。
关闭高级代理时,系统会恢复开启前保存的单账号并发值,并保留当前主代理作为普通单代理。Spark 影子账号的高级代理配置由母账号统一继承,不能在影子账号上单独修改。
管理员:Codex 指纹收敛
OpenAI OAuth 账号的创建、编辑和批量编辑页面均可单独选择 Codex 指纹模式。默认“关闭”,已有账号不会在升级后自动改变。
| 模式 | 行为 |
|---|---|
| 关闭 | 原样使用客户端提供的设备和会话标识 |
| 仅设备 | 只把设备标识收敛到账号级稳定值 |
| 设备+会话 | 保留原有账号级设备、账号级会话和按客户端会话区分线程的策略 |
| 私有设备+会话 | 使用每个账号独立的系统密钥,按客户端设备和会话稳定派生新的设备、会话与线程标识 |
| 完全收敛 | 将设备、会话和线程都收敛到账号级稳定值 |
“私有设备+会话”是独立的显式模式,不会覆盖旧模式。相同账号、相同设备和相同会话会得到稳定结果;设备或会话发生变化时会生成隔离结果;即使不同账号收到相同客户端标识,也不会产生相同的上游标识。账号私钥由系统生成和持久化,管理页面不展示,原始设备与会话值不会作为派生结果直接发送。
指纹收敛只负责保持客户端身份字段的一致性,不改变账号并发、额度、内容安全或上游服务规则,也不能保证账号一定不被限制。建议先在少量账号上观察额度、错误率和首包延迟,再决定是否批量启用。