1.5 KiB
1.5 KiB
id, title, phase, deps, status, created, owner
| id | title | phase | deps | status | created | owner | |
|---|---|---|---|---|---|---|---|
| T-203 | 实现 CLI 合约和本地事件推送 | 2 |
|
DONE | 2026-07-22 | codex |
需求与背景
脚本需要稳定的机器可读入口,UI 和进程监控需要共享浏览器状态事件,同时不能把敏感凭证写入输出。
方案与边界
- CLI 默认 JSON 输出;
list返回配置实例,events返回当前本地配置快照。 - 预留
start/stop/restart命令形状和退出码,未接入 BrowserManager 时明确返回service_unavailable,不伪造成功。 application.EventBus提供带缓冲的进程内订阅通道,发布不阻塞进程监控,取消订阅会关闭通道。- 事件和 CLI 输出禁止包含密码、Cookie、Token、完整代理认证和原始系统堆栈。
验收要点
list、events可输出有效 JSON。- 未知命令返回退出码 2 和稳定错误码。
- 事件总线可发布、接收和取消订阅。
go test ./...、go vet ./...、go build -o build/chub.exe ./cmd/chub通过。
执行记录
- 状态:DONE
- 变更:新增
application.EventBus及测试;cmd/chub增加 list/events JSON 输出、稳定错误码和 start/stop/restart 预留合约;同步 API 文档。 - 验证:
gofmt、go test ./...、go vet ./...、go build -o build/chub.exe ./cmd/chub均通过。 - 阻塞:无。
- 残余风险:跨进程实时事件流和 BrowserManager CLI adapter 尚未接入,属于后续迭代范围。