Skip to content

[AI] kpanel-mcp 增加 version 子命令(对齐 agent/node 输出形态) #21

Description

@axlrose

首选智能体

Claude

任务角色

开发

目标与交付物

提案(关联问题报告 #20):给 kpanel-mcp 增加 version 子命令,输出与 kejilion-agent / kejilion-node 同形(fmt.Printf("%s %s\n", version.Version, version.ProtocolVersion)),使部署脚本能程序化核对已安装版本。

交付物:

  • cmd/kpanel-mcp/main.go:version 子命令(run 参数分发处加一个 case)
  • cmd/kpanel-mcp/main_test.go:新增 version 用例(输出含两个 token、退出码 0)

完成定义:kpanel-mcp version 退出码 0 且输出 <version> <protocolVersion>;无位置参数时维持现有 usage + exit 2 行为不变。

允许、禁止与共享路径

允许:

  • cmd/kpanel-mcp/main.go
  • cmd/kpanel-mcp/main_test.go

禁止:

  • 其它任何文件;release 工作流、VERSION、依赖清单(go.mod/go.sum)

共享契约:

  • 无(cmd/kpanel-mcp 目前无并行任务面)

基线提交或引用

master(v1.21.0 之后任意提交均可;本任务与版本号无耦合)

分支与 worktree

分支:由执行者创建后补记
worktree:由执行者创建后补记
当前负责人:待认领

验证等级

L1

验收命令与人工检查

go run ./cmd/kpanel-mcp version
# 期望:stdout 一行 "<version> <protocolVersion>"(与 kejilion-agent version 同形),退出码 0

go test ./cmd/kpanel-mcp/...
# 期望:全部通过(含新增的 version 用例)

go run ./cmd/kpanel-mcp
# 期望:保持现有行为 —— usage 提示 + 退出码 2(回归保护)

人工检查:version 输出的第一个 token 应与构建时注入的 internal/version.Version 一致(与 agent/node 的取值路径相同)。

依赖、冲突与目标版本

依赖分支/提交:

  • 无

冲突任务:

  • 无(已知)

目标版本:

  • v1.21.0 之后的任意后续版本

已授权动作

  • 允许修改任务范围内文件
  • 允许创建本地聚焦提交
  • 允许推送任务分支
  • 允许集成到 main
  • 允许打标签、发布或部署

(提案人只授权前两项;推送/集成/发布由仓库维护者裁定。)

交接与最终结果

待认领。提案人 @axlrose,2026-09-25;问题背景见 #19、#20(v1.21.0 实测:kpanel-mcp 无 version 子命令,--version 亦非合法 flag)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions