← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

修复版Sub2API油猴脚本:支持账号模型巡检与CPA转换

原标题:基于sub2api测活+cpa->sub2api 油猴脚本的修复版

速览

该脚本是对Sub2API管理工具的增强,主要修复了原版本在测活时出现的400错误。它支持按分组批量测试账号模型的健康状态,并具备自动下线或删除异常账号的能力。此外,脚本还集成了CPA认证文件批量转换为JSON格式的功能,提升了运维效率。

AI 深度解读

背景

在 AI 代理(Agent)和自动化工作流的开发中,Sub2API 常被用作连接前端应用与后端大模型服务的中间件或网关。开发者通常需要通过 API 接口管理大量的账号、模型路由以及并发配置。然而,在实际运维中,账号状态异常、模型响应超时或认证失效(如返回 400 Bad Request)是常见问题。

传统的排查方式往往依赖手动逐个测试或简单的日志查看,效率低下且难以应对大规模账号巡检。本文分享的油猴(Tampermonkey)脚本 Sub2API 账号模型巡检并自动下线,旨在解决这一痛点。它通过浏览器端注入的方式,直接操作 Sub2API 的管理后台界面,实现批量测活、状态监控以及故障账号的自动处置(下线或删除),从而提升运维效率并降低人工成本。

核心内容

该脚本是一个基于 Tampermonkey 的用户脚本,主要功能包括对当前页面分组的账号进行批量模型测试,以及支持 CPA 认证文件的批量转换。脚本通过拦截和管理本地存储(LocalStorage/SessionStorage)中的配置参数,实现了对 API 请求行为的精细化控制。

1. 配置与状态管理

脚本定义了一个核心的 CONFIG 对象,包含了 API 基础地址、分页大小、默认超时时间(45秒)、并发数限制(默认8,最大50)以及测试用的 Prompt(默认为 'hi')。它还预设了优先测试的模型列表(如 gpt-5.4, gpt-4o-mini 等)和默认测试模型。

状态管理模块 state 负责维护脚本运行时的上下文,包括:

  • 认证信息:自动从 localStoragesessionStorage 中读取 auth_token,并规范化为 Bearer <token> 格式,确保 API 请求携带正确的鉴权头。
  • 运行参数:包括超时时间、并发数、测试模型、是否自动禁用故障账号、是否自动删除故障账号等。
  • 互斥逻辑:脚本内置了逻辑判断,确保“自动禁用”和“自动删除”不会同时开启,防止误操作导致数据丢失。

2. 数据持久化与输入验证

脚本提供了一系列 save 函数(如 saveAuth, saveTimeoutMs, saveConcurrency 等),用于将用户界面(UI)上的输入同步到本地存储和内部状态。

  • 并发数限制:通过 clampConcurrency 函数确保并发数在 1 到 50 之间,防止因并发过高导致服务被限流或崩溃。
  • 类型安全:在保存配置前进行严格的类型检查和数值范围验证,例如超时时间必须大于 1000 毫秒。

3. 日志与反馈机制

log 函数实现了双端日志输出:

  • 控制台日志:在浏览器开发者工具的控制台中输出带时间戳的日志,区分 info、warn、error、success 等级别。
  • UI 日志面板:在页面上创建一个名为 #sub2api-checker-log 的容器,实时滚动显示日志,并通过颜色区分日志类型(红色表示错误,黄色表示警告,绿色表示成功),便于用户直观监控运行状态。

4. 核心功能逻辑

虽然代码片段未展示完整的测活循环,但从配置和状态变量可以推断其核心工作流:

  • 分组巡检:脚本通过 groupParamNames 识别当前页面的账号分组,支持按组批量执行测试。
  • 并发请求:利用配置的并发数,并行发起对多个账号的模型测试请求。
  • 故障处置:根据 stopOnFirstModelFailure 配置,决定是在遇到第一个失败模型时停止,还是继续测试其他模型。对于测试失败的账号,脚本会根据 autoDisableautoDelete 的配置,自动调用 API 禁用或删除该账号,实现闭环管理。

关键要点

  • 自动化运维:脚本实现了从“发现故障”到“处置故障”的全自动化流程,无需人工介入逐个检查账号状态。
  • 并发控制:内置了并发数限制(1-50),平衡了测试速度与目标服务的稳定性,避免对上游模型服务造成过大压力。
  • 配置持久化:所有关键配置(Token、超时、并发、测试模型等)均保存在浏览器本地存储中,刷新页面或重启浏览器后配置不丢失。
  • 灵活的鉴权处理:自动处理 Bearer 前缀,兼容不同来源的 Token 存储方式,降低了配置门槛。
  • 互斥保护机制:通过代码逻辑强制互斥“自动禁用”和“自动删除”选项,防止因用户误操作导致账号被意外永久删除。
  • 可视化反馈:提供实时的 UI 日志面板和控制台日志,帮助用户清晰了解测试进度和失败原因。
  • 模型偏好设置:支持指定优先测试的模型列表(如 gpt-5.4, gpt-4o 等),允许用户根据实际需求定制测试策略。

意义与影响

该脚本的出现,为 AI 应用开发者和管理员提供了一种轻量级、低成本的运维解决方案。

  1. 提升运维效率:在大规模部署 AI 应用时,账号和模型的健康状况监控是高频需求。手动排查耗时耗力,而该脚本通过自动化批量测试,显著缩短了故障发现和处理的时间窗口。
  2. 降低运营成本:通过自动下线或删除故障账号,避免了因无效账号占用资源或产生异常请求而导致的额外成本。
  3. 增强系统稳定性:并发控制和超时机制的设置,有助于保护后端模型服务免受突发流量或异常请求的冲击,提升了整体系统的鲁棒性。
  4. 促进社区共享:该脚本基于社区大佬的原始版本进行修复和优化,体现了开源社区互助精神。通过分享修复后的版本,帮助其他遇到类似 400 报错问题的开发者快速解决问题,降低了技术门槛。

总之,这是一个实用性强、逻辑严谨的工具脚本,特别适合需要频繁管理大量 AI 账号和模型路由的开发者使用。

查看原文 →linux.do