Hermes Decision Trace

CPA-Manager-Plus 8318 正式替换 CPA-Manager 8316

title: CPA-Manager-Plus 8318 正式替换 CPA-Manager 8316

HTML完整论证
Wiki可检索归档
Feishu短入口交付
🎯
核心结论

已按“方案 A”完成控制面替换:旧 CPA-Manager v1.5.38316 退场,CPA-Manager-Plus v0.7.0-beta 正式托管在 127.0.0.1:8318CLIProxyAPI 主服务继续保持 127.0.0.1:8317,切换后 collector 正常、历史数据迁移成功、deadLetters=0

🧭
推荐路径

先用结构化字段吸收,保持执行链路隔离。

🛡️
关键边界

8318 是当前正式控制面,不再把 8316 当 live 入口。

关键判断

判断项摘要
推荐方案已按“方案 A”完成控制面替换:旧 CPA-Manager v1.5.38316 退场,CPA-Manager-Plus v0.7.0-beta 正式托管在 127.0.0.1:8318CLIProxyAPI 主服务继续保持 127.0.0.1:8317,切换后 collector 正常、历史数据迁移成功、deadLetters=0
关键依据见完整记录中的评分依据、状态摘要和证据链。
落地方式确认 8318 空闲,8316 旧 Manager 和 8317 CPA 主服务正常。
风险边界8318 是当前正式控制面,不再把 8316 当 live 入口。

证据摘要

  • 正文保留完整证据链;本页顶部只展示可读摘要。Evidence 1

行动清单

确认 8318 空闲,8316 旧 Manager 和 8317 CPA 主服务正常。
停止旧 systemctl --user stop cpa-manager.service
确认 8316 释放,8317 仍可访问。
备份旧 live data、旧 unit、旧二进制目录。
准备 Plus 正式二进制和数据目录。
写入 ~/.config/systemd/user/cpa-manager-plus.service,绑定 127.0.0.1:8318

边界 / 风险

风险 / 边界

8318 是当前正式控制面,不再把 8316 当 live 入口。

风险 / 边界

cpa-manager.service 只是 disabled/inactive,不删除,便于回滚。

风险 / 边界

admin key 与 data key 属于敏感凭证,只记录文件路径和脱敏校验,不把明文写入 wiki 或 HTML。

风险 / 边界

Plus 会独占消费 8317 的 usage queue;不能让旧 Manager 与 Plus 长期双跑。

风险 / 边界

备份必须包含 SQLite 数据、旧 unit、旧二进制,以及 Plus 的 data.key / admin key 文件。

完整记录

---

title: CPA-Manager-Plus 8318 正式替换 CPA-Manager 8316

created: 2026-05-31

updated: 2026-05-31

type: summary

status: active

tags: [hermes-ops, cliproxyapi, cpa-manager, upgrade, sidecar, systemd, cutover]

sources:

  • /home/ht/cpa-manager-plus/cutover-8318-20260531-141505/CUTOVER_RESULT.md
  • /home/ht/cpa-manager-plus/MIGRATION_DRY_RUN_20260531.md

confidence: high

---

CPA-Manager-Plus 8318 正式替换 CPA-Manager 8316

一句话结论

2026-05-31 已按“方案 A”完成控制面替换:旧 CPA-Manager v1.5.38316 退场,CPA-Manager-Plus v0.7.0-beta 正式托管在 127.0.0.1:8318CLIProxyAPI 主服务继续保持 127.0.0.1:8317,切换后 collector 正常、历史数据迁移成功、deadLetters=0

最终拓扑

组件当前端口状态说明
CLIProxyAPI127.0.0.1:8317active主 CPA 服务未变更
CPA-Manager-Plus127.0.0.1:8318enabled + active/running新控制面,正式接管 usage 管理
旧 CPA-Manager8316disabled + inactive/dead已无监听,保留文件和回滚路径

为什么选 8318,而不是复用 8316

选择 8318 是为了让替换边界清楚:Plus 引入了新的 admin key、data key、设置项和数据迁移行为。如果直接复用 8316,容易被误判为一次普通小版本升级;而独立端口能明确表达“这是新控制面”,也便于观察期内保留旧服务回滚入口。

执行过程

  1. 确认 8318 空闲,8316 旧 Manager 和 8317 CPA 主服务正常。
  2. 停止旧 systemctl --user stop cpa-manager.service
  3. 确认 8316 释放,8317 仍可访问。
  4. 备份旧 live data、旧 unit、旧二进制目录。
  5. 准备 Plus 正式二进制和数据目录。
  6. 写入 ~/.config/systemd/user/cpa-manager-plus.service,绑定 127.0.0.1:8318
  7. systemctl --user disable cpa-manager.service,避免旧 collector 与 Plus 双消费。
  8. systemctl --user enable --now cpa-manager-plus.service
  9. 验证 Plus health/info/status/usage/model-prices 与 SQLite 状态。
  10. 落盘切换结果和回滚命令。

关键路径

用途路径
Plus service/home/ht/.config/systemd/user/cpa-manager-plus.service
Plus binary/home/ht/cpa-manager-plus/current/cpa-manager-plus_v0.7.0-beta_linux_amd64/cpa-manager-plus
Plus data/home/ht/cpa-manager-plus/data-live-8318/usage.sqlite
Plus admin key file/home/ht/cpa-manager-plus/secrets-live/admin-key-8318.txt
Plus data key file/home/ht/cpa-manager-plus/secrets-live/data-key-8318.txt
切换备份/home/ht/cpa-manager-plus/cutover-8318-20260531-141505/backup-old-cpa-manager/
切换结果/home/ht/cpa-manager-plus/cutover-8318-20260531-141505/CUTOVER_RESULT.md
预演记录/home/ht/cpa-manager-plus/dryrun-20260531-140441/DRYRUN_RESULT.md

验证结果

运行态

cpa-manager-plus.service: enabled + active/running cpa-manager.service: disabled + inactive/dead 8317: CLIProxyAPI 正常监听 8318: CPA-Manager-Plus 正常监听 8316: 无监听

Plus 基础接口

GET /health -> 200, service=cpa-manager-plus GET /usage-service/info -> configured=true, adminReady=true, migrationStatus=migrated, dataKeyReady=true, hasHistoricalData=true GET /management.html -> 3037638 bytes

Collector

collector: running upstream: http://127.0.0.1:8317 mode: auto transport: subscribe queue: usage totalInserted: 2 deadLetters: 0

数据接口

GET /usage-service/config -> 200 GET /v0/management/model-prices -> 200 GET /v0/management/usage -> 200

SQLite 观察:

usage_events: 28936 dead_letter_events: 0 model_prices: 2 settings: 4 settings keys: admin_credential_v1, bootstrap_state_v1, manager_config_v1, setup

重要边界

  • 8318 是当前正式控制面,不再把 8316 当 live 入口。
  • cpa-manager.service 只是 disabled/inactive,不删除,便于回滚。
  • admin key 与 data key 属于敏感凭证,只记录文件路径和脱敏校验,不把明文写入 wiki 或 HTML。
  • Plus 会独占消费 8317 的 usage queue;不能让旧 Manager 与 Plus 长期双跑。
  • 备份必须包含 SQLite 数据、旧 unit、旧二进制,以及 Plus 的 data.key / admin key 文件。

回滚命令

仅回滚服务入口:

systemctl --user stop cpa-manager-plus.service systemctl --user disable cpa-manager-plus.service systemctl --user enable cpa-manager.service systemctl --user start cpa-manager.service curl -fsS http://127.0.0.1:8316/health ss -tlnp | grep -E ':(8316|8318)\b' || true

如需把旧数据也恢复到切换前快照:

systemctl --user stop cpa-manager-plus.service || true systemctl --user stop cpa-manager.service || true rm -rf /home/ht/cpa-manager/data cp -a /home/ht/cpa-manager-plus/cutover-8318-20260531-141505/backup-old-cpa-manager/data /home/ht/cpa-manager/data systemctl --user start cpa-manager.service

后续观察

  • usage_events 是否持续增长。
  • /statuscollector.lastConsumedAtlastInsertedAt 是否持续刷新。
  • deadLetters 是否保持 0
  • 8316 是否还有外部依赖访问;若观察期无依赖,可继续保持 disabled,不急删目录。
  • Plus 的 admin key / data key 需要进入本机 secrets 备份策略。

关联页面

  • [[cliproxyapi]]
  • [[cliproxyapi-v7-upgrade-and-cpa-manager-convergence-2026-05-13]]
  • [[cpa-usage-keeper-sidecar-integration-2026-05-12]]
  • [[backup-and-restore]]
  • [[runtime-effect-check]]