Skip to content

refactor(cli): remove redundant serve subcommand#296

Merged
liujuanjuan1984 merged 2 commits intomainfrom
eval/issue-295
Mar 23, 2026
Merged

refactor(cli): remove redundant serve subcommand#296
liujuanjuan1984 merged 2 commits intomainfrom
eval/issue-295

Conversation

@liujuanjuan1984
Copy link
Collaborator

@liujuanjuan1984 liujuanjuan1984 commented Mar 23, 2026

概要

本 PR 聚焦 #295,收敛 CLI 启动入口并移除冗余的 serve 子命令。

当前 opencode-a2a 无子命令时即可直接启动服务,因此 serve 不再保留为兼容入口。本次实现将 canonical 启动方式统一为根命令 opencode-a2a,并同步收敛文档与测试。

模块变更

src/opencode_a2a/cli.py

  • 保留无子命令直接启动服务的默认行为。
  • 移除 serve 子命令及其相关 help 文案。
  • CLI 仅保留根命令启动服务与 call 子命令两种入口。

README.md

  • Quick Start 统一改为使用 opencode-a2a 启动服务。
  • 删除 serve 兼容说明,避免继续强化旧入口。

docs/guide.md

  • 与 README 保持一致,只保留 opencode-a2a 作为服务启动命令。
  • 删除 serve 相关兼容说明。

tests/server/test_cli.py

  • 断言 root help 只体现根命令默认启动语义。
  • 新增断言:serve 会被 argparse 拒绝。
  • 删除旧的 serve help / runtime 调用测试。

验证

  • uv run pre-commit run --all-files
  • uv run pytest
  • 结果:340 passed

关联

Closes #295

@liujuanjuan1984
Copy link
Collaborator Author

本轮基于 PR diff 做了 reviewer 视角审查。

结论

  • 未发现阻塞问题。
  • 改动范围与 #295 的目标一致,且控制在最小必要集内:CLI help、README、guide、CLI 测试同步收敛,没有引入额外语义变化。

评估

  1. 实现方向合理
  • 当前根命令与 serve 本就走同一条 serve_main() 路径。
  • 因此把根命令设为 canonical、把 serve 明确为兼容 alias,是比“继续双主入口展示”更稳妥的收敛方式。
  1. 变更粒度合适
  • 没有直接移除 serve,避免破坏已有脚本。
  • 只调整展示与帮助语义,符合 issue 中“逐步弱化”的要求。
  1. 测试覆盖到位
  • 已锁定 root help 的默认启动语义。
  • 已锁定 serve 的 alias 语义。
  • 能有效防止文案或 parser 行为回退。

issue 关系

  • 当前使用 Closes #295 是准确的。
  • 未发现需要额外补充 Relates to 的高度相关 open issues。

@liujuanjuan1984
Copy link
Collaborator Author

基于最新 diff 重新审查后,结论如下。

结论

  • 未发现新的阻塞问题。
  • 当前 PR 已与 #295 的最新决策保持一致:不是弱化 serve,而是直接移除冗余入口,并把根命令收敛为唯一服务启动方式。

评估

  1. 改动合理
  • 当前无子命令本就会启动服务,serve 没有独立参数空间,也没有独立实现路径。
  • 移除 serve 后,CLI 语义更简单,用户心智也更稳定。
  1. 改动完整
  • CLI、README、guide、CLI 测试已经同步更新。
  • 没有出现“代码删了入口,但文档或测试仍保留旧语义”的残留。
  1. 风险判断
  • 唯一显式风险是:依赖 opencode-a2a serve 的旧脚本会失效。
  • 这是本次变更的预期结果,不是实现缺陷;当前 PR 范围内没有看到其它偏差、遗漏或冗余。

issue 关系

  • Closes #295 仍然准确。
  • 当前没有需要补充的 Relates to open issues。

@liujuanjuan1984 liujuanjuan1984 changed the title docs(cli): make root command canonical and keep serve as alias refactor(cli): remove redundant serve subcommand Mar 23, 2026
@liujuanjuan1984 liujuanjuan1984 marked this pull request as ready for review March 23, 2026 09:12
@liujuanjuan1984 liujuanjuan1984 merged commit 0cd3243 into main Mar 23, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the eval/issue-295 branch March 23, 2026 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore] 收敛 CLI 启动入口并逐步弱化 serve 子命令

1 participant