Skip to content

[feature][P1] anet upgrade 命令升级 — 多包 + 双 channel + 充分测试 #88

@s2agi

Description

@s2agi

[feature][P1] anet upgrade 命令升级 — 多包 + 双 channel + 充分测试

Vincent 4536 push: 对 anet upgrade 命令进行升级, 做好充分的测试

现状 (待 N站马/工程马 调研 confirm)

anet 现有 anet upgrade 命令 (self-update CLI)。但当前实现可能不够全面 — 需升级 cover:

需求 — upgrade 命令应 cover

  1. 多包升级 — 测试马 Phase B 发现 anet 实际是 3 个 npm package:

    • @sleep2agi/agent-network (CLI)
    • @sleep2agi/agent-node (agent 端 runtime — 容易漏装/漏升)
    • @sleep2agi/commhub-server (hub 端)
    • anet upgrade 应一次升全 3 个 (或提示用户)
  2. 双 release channel — preview vs latest:

    • anet upgrade 默认升 跟当前安装 channel 一致 的版本 (装 preview 的升 preview, 装 latest 的升 latest)
    • anet upgrade --channel preview|latest 显式切
  3. Node 版本 check — preview.9+ engines node >= 22.13.0:

    • upgrade 前 check Node 版本, 低于要求 → 警告 + 提示 nvm 升级
  4. post-upgrade verify — 升级后:

    • anet --version 确认新版本
    • 提示用户重启 hub / 重连 node (如有 running)
  5. changelog / diff hint — 升级时显示 "从 X → Y, 主要变化: ..." (拉 npm changelog 或 GitHub release notes)

风险点 (不引入新 BUG — Vincent 要求充分测试)

  • upgrade 进行中 hub/node 正在跑 → 升级是否 disrupt running session
  • 多包版本不一致 (CLI preview.10 但 agent-node 还 preview.5) → 兼容性
  • 网络失败 / npm registry timeout → upgrade rollback?
  • 全局 npm install 权限问题 (sudo?)

充分测试 checklist (Vincent 要求)

  • Happy path: anet upgrade 升全 3 包到 channel-matched 最新
  • preview channel 用户 upgrade → 拉 preview
  • latest channel 用户 upgrade → 拉 latest
  • anet upgrade --channel <x> 显式切 channel
  • Node 版本低于 22.13 → 警告
  • upgrade 时 hub running → 不 disrupt / 提示重启
  • 网络失败 → 干净 error, 不留半升级状态
  • post-upgrade anet --version 验证
  • Docker E2E: fresh install → upgrade → verify 全链路
  • 多包版本 desync 场景

Related Issues

Agent Assignment

  • Reporter: 通信龙 (Vincent 4536 push)
  • Step 1 调研: 通信工程马 (现 cli.ts anet upgrade 实现状态 — 是否已存在 / 现 cover 什么)
  • Step 2 implement: 通信工程马 (CLI surface)
  • Step 3 充分测试: 通信测试马 (10-checklist + Docker E2E)
  • Priority: P1 (Vincent 显式 push + 用户高频命令)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — 重要 feature / Vincent 显式 push

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions