Summary
Implement the CLI self-service capabilities defined in docs/specs/CLI-Self-Service-Spec.md: interactive config wizard (onboard), diagnostic checks (doctor), and security audit (security).
Spec Reference
- Spec:
docs/specs/CLI-Self-Service-Spec.md
- Status: Draft, 0% implemented
- Priority: Low (developer experience)
Scope
Command Tree
hotplex
├── serve # 启动 gateway 服务(原 main 逻辑,向后兼容)
├── onboard # 交互式配置向导
├── doctor # 诊断检查(--fix 自动修复)
├── security # 安全审计(--fix 自动修复)
└── version # 版本信息
Key Components
| 组件 |
文件 |
说明 |
| Cobra CLI 入口 |
cmd/worker/main.go |
重构为子命令模式 |
| Checker 接口 |
internal/cli/checker.go |
Checker 接口 + Diagnostic 类型 + Registry |
| 环境检查 |
internal/cli/checkers/environment.go |
Go 版本、OS、PATH 工具 |
| 配置检查 |
internal/cli/checkers/config.go |
YAML 语法、必填字段、值合法性 |
| 依赖检查 |
internal/cli/checkers/dependencies.go |
Claude CLI、SQLite、网络可达性 |
| 安全检查 |
internal/cli/checkers/security.go |
JWT 强度、文件权限、敏感信息 |
| 运行时检查 |
internal/cli/checkers/runtime.go |
端口占用、孤儿进程、磁盘空间 |
| 消息检查 |
internal/cli/checkers/messaging.go |
Slack/Feishu 凭据格式 |
| 配置向导 |
internal/cli/onboard/wizard.go |
交互式向导流程 |
| 配置模板 |
internal/cli/onboard/templates.go |
配置模板生成 |
Design Patterns
- Checker 接口模式: 每个 check 实现
Check(ctx) []Diagnostic,通过 init() 自注册
- 向后兼容: 无子命令时默认执行
serve
- 结构化输出: 支持
--json 和 --verbose 标志
Acceptance Criteria
Dependencies
- Cobra CLI framework (
github.com/spf13/cobra)
Summary
Implement the CLI self-service capabilities defined in
docs/specs/CLI-Self-Service-Spec.md: interactive config wizard (onboard), diagnostic checks (doctor), and security audit (security).Spec Reference
docs/specs/CLI-Self-Service-Spec.mdScope
Command Tree
Key Components
cmd/worker/main.gointernal/cli/checker.goChecker接口 +Diagnostic类型 + Registryinternal/cli/checkers/environment.gointernal/cli/checkers/config.gointernal/cli/checkers/dependencies.gointernal/cli/checkers/security.gointernal/cli/checkers/runtime.gointernal/cli/checkers/messaging.gointernal/cli/onboard/wizard.gointernal/cli/onboard/templates.goDesign Patterns
Check(ctx) []Diagnostic,通过init()自注册serve--json和--verbose标志Acceptance Criteria
hotplex serve等价于当前hotplex-worker启动hotplex doctor输出所有检查项状态hotplex doctor --fix自动修复可修复的问题hotplex onboard生成的配置文件可被serve直接使用hotplex security审计 JWT、文件权限、敏感信息serve(向后兼容)init()自注册,可独立扩展Dependencies
github.com/spf13/cobra)