对话笔记直发:8.2 jp CPA workbuddy qoderwork 插件故障排查。分类:AI工程。


date: 2026-08-02 tags: [对话笔记]

8.2 jp CPA workbuddy qoderwork 插件故障排查

目标与背景

在 jp 服务器(局域网IP(已脱敏))的 CPA(CLIProxyAPI,cli-proxy-api 容器,镜像 eceasy/cli-proxy-api:v7.2.68,端口 8317)上,排查 workbuddy / qoderwork 两个插件的账号显示异常,并决定是否升级 CPA。

关键结论

  • WorkBuddy 只显示 1/7 账号:6 个 auth 文件消失。根因 = 之前修 provider 标签时的 mv 竞态把文件挪到 /tmp/rt2 再被 rm 清掉;唯一残留是 /tmp/wb_auth_bak(7 份旧备份,provider 错写成 qoderwork、token 已失效显示”积分未知”)。磁盘现仅 1 个 workbuddy 文件(司华灵 10942eaa,余2699)。正确恢复做法 = 重新登录账号,不要直接恢复旧备份。
  • QoderWork 实际只有 3 个账号(019f3fac/019fa270/019fa273,均健康),用户以为少了是误记,无需处理。
  • 重新登录小风产生”两个小风”:CPA 内存里出现重复记录(同一文件两个 ID),对应插件源码 main.go:614 注释的 “same file, different IDs” bug(upsert 的 ID 与 watcher 的 path-based ID 不匹配)。重启容器即从磁盘重建、清除幽灵。
  • CPA 升级检查:当前 v7.2.68,最新 v7.2.113(2026-08-01)。决定【不升级】。理由:① 插件 .so 按 v7.2.68 精确编译,Go plugin ABI 要求完全一致,升 .113 会加载失败、需重编且有失败风险;② 作者 go.mod 要求 v7.2.30,当前已超,插件无升级需求;③ 两版 go.mod 均为 go 1.26.0,release note 无性能/Go/架构优化,升级无收益。
  • 已重启 cli-proxy-api:容器 Up,workbuddy+qoderwork 插件均 loaded/registered 成功(ABI 不受影响)。重启后 workbuddy 模型需重新登录才能挂上;qoderwork 文件监听自动重注册。
  • QoderWork 手机号无法对应:auth 文件无 phone/email,token 为不透明 dt- 设备 token(非 JWT),上游 user/info/me 接口 404/503,仅返回套餐额度。只能靠额度反查对应手机号。

执行记录

  • docker restart cli-proxy-api → Up,两插件 loaded/registered OK(version 0.8.2)。
  • 查 QoderWork 上游身份:对 3 个 token 调 https://openapi.qoder.com.cn/api/v2/user/plan 成功返回套餐;/api/v1/user、/user/info、/sash/api/v1/me 404,/api/v2/user/profile 503。无手机号。
  • 查 CPA 版本:GitHub API 最新 v7.2.113;Docker Hub tag v7.2.113 digest 同 latest;插件 go.mod require v7.2.30;两版 go.mod 均 go 1.26.0。
  • 源码核对:/root/cpa-plugin/workbuddy/main.go:614、lifecycle.go、policy.go → 生命周期只删 Global 耗尽账号、CN 未知积分不删;重复记录 bug 已定位。
  • 文件路径:
    • /root/CLIProxyAPI/auths/ — 插件 auth 文件目录(workbuddy-*.json / qoderwork-*.json)
    • /tmp/wb_auth_bak/ — 6 份丢失 workbuddy 账号的旧备份(provider 错、token 失效)
    • /root/cpa-plugin/ — Sliverkiss/cpa-plugin 源码克隆(workbuddy/qoderwork)
    • /root/CPA-V7-src/ — v7.2.68 CPA 源码(编译插件用)

状态与待办

  • 待用户操作:在 workbuddy 面板重新登录 7 个账号(、小风 + 另 5 个:),重启后模型需重登;qoderwork 不用管。
  • 可选:把 3 个 qoderwork uid 写入各自 note 末尾便于区分(用户未确认)。
  • 已决定不升级 CPA;若未来确需某 .113 修复,再走”升级 + 插件重编 + 回退”。
  • 风险:恢复 /tmp/wb_auth_bak 旧备份无效(provider 错 + token 失效)。

注:本文涉及的服务器公网 IP / Tailnet / 局域网 IP 已脱敏,请替换为你自己的地址。


相关: 00-索引-AI工程索引 8.29 CPA插件迁移到独立2api服务并搭建统一看板