主题
OpenCode 与 gh-sdd 工作流
结论
本机 OpenCode 的主要定制不是 Plugin,而是 gh-sdd 提供的:
text
48 个 Slash Command
+ 3 个隐藏 Subagent
+ gh-sdd CLI
+ devopsmcp使用时从少数核心入口开始,不需要记住全部命令。
一、组件关系
text
用户执行 /gh-sdd-*
↓
Command 解析当前可见参数
↓
gh-sdd CLI 返回 session / flow JSON
↓
按阶段模板委派专用 Subagent
↓
写 canonical facts 与 artifacts
↓
completion JSON 决定下一步gh-sdd CLI 是流程状态和证据的真源;对话历史、模型思考和旧摘要不能替代 CLI JSON。
二、三个专用 Subagent
GhSddGeneralAgent
负责:
- 需求分析;
- 任务拆解;
- Spec 和代码只读探索;
.gh-sdd/artifacts/产物准备。
CodeAgent
负责:
- TDD 和代码实现;
- Bug 修复;
- 代码审查问题修复;
- 运行测试并修复回归。
GhSddUiAnalysisAgent
负责:
- 分析设计图、截图和线框图;
- 生成
ui-spec.json所需结构; - 记录不确定性,不从图片猜业务规则。
三、高频命令路线
标准需求
text
/gh-sdd-start
→ /gh-sdd-analyze
→ /gh-sdd-decompose
→ /gh-sdd-task-start
→ /gh-sdd-task-develop
→ /gh-sdd-task-test
→ /gh-sdd-verify
→ /gh-sdd-task-done实际下一步应优先使用 completion JSON 返回的命令,不要机械套流程。
不确定需求
text
/gh-sdd-brainstorm
/gh-sdd-explore
/gh-sdd-feedbackBug
text
/gh-sdd-diagnose
/gh-sdd-fix
/gh-sdd-verify质量保障
text
/gh-sdd-static-verify
/gh-sdd-perf-verify
/gh-sdd-test-review
/gh-sdd-golden-master状态控制
text
/gh-sdd-status
/gh-sdd-next
/gh-sdd-back
/gh-sdd-loop四、核心约束
ID 只信当前输入和新鲜 CLI JSON
Command 已明确禁止从以下来源推断 issueId、taskId:
- 对话历史;
- 模型 Thought;
- 示例;
- 文件路径;
- 摘要;
- 旧 CLI 输出。
缺少目标时应停止并要求选择,不能“智能补全”。
Canonical facts 先于完成
每个阶段必须先写入并验证 canonical facts,再运行 completion CLI。仅生成 Markdown、代码或总结不代表阶段完成。
Auto 不是跳过门禁
Auto 模式仍需:
- 写 facts;
- 通过 gate;
- 执行真实 completion CLI;
- 只根据最新 completion JSON 的
nextInstruction继续。
破坏性操作、凭据、付费、生产部署和冲突决策仍应暂停。
五、Command 治理建议
48 个命令中有大量重复控制流。建议:
- 由 gh-sdd 安装器或生成脚本统一生成;
- 在文件头记录 gh-sdd 版本;
- 把公共绑定和证据规则放共享模板;
- 对用户文档只展示高频入口;
- 低频命令按专题分组,不在一个列表平铺;
- 升级后对 Command 数量和内容做 diff。
六、Agent 权限建议
| Agent | 推荐权限 |
|---|---|
| General | 读项目;仅写 .gh-sdd/artifacts/** |
| UI Analysis | 读图片和规范;仅写 UI artifact |
| Code | 可改项目代码;危险 Bash ask/deny |
三个 Agent 当前均允许 task。若不需要 Subagent 再委派,应关闭,避免嵌套任务失控。
七、DevOps MCP
devopsmcp.exe 位于:
text
D:\data\project\ai-agent\gh-sdd\devopsmcp.exe当前已连接,但配置包含明文账号信息。完成 Secret 迁移后,再建立以下权限:
text
列表、详情、状态、日志 → allow
创建 Issue、触发 Pipeline → ask
删除、强制操作、生产发布 → deny 或强制人工确认八、日常使用模板
text
目标:完成哪个 Issue/Task?
当前可见 ID:明确写在本次命令参数中。
范围:允许修改哪些仓库和文件?
门禁:测试、构建、静态检查、人工确认分别是什么?
风险:是否涉及 Secret、外部系统、生产、付费或公开接口?
完成:必须拿到哪个 completion JSON 和真实命令结果?九、维护检查
text
[ ] opencode mcp list 显示 devopsmcp connected
[ ] 3 个 Agent 能被 agent list 正确发现
[ ] 48 个 Command 与 gh-sdd 当前版本一致
[ ] Command 不从历史推断 ID
[ ] Agent 只修改职责范围内文件
[ ] Secret 不在 opencode.json 和备份文件
[ ] 每个阶段以真实 completion JSON 结束