Skip to content

配置指南

本文档详细说明 opencode-cabbage 的所有配置选项。

安装配置

基础安装

json
// opencode.json
{
  "plugin": ["@devcxl/opencode-cabbage"]
}

自定义覆盖

插件启动后会自动注入 slash command、skills 和 agents。你可以通过 opencode.json 覆盖任何注入项:

json
{
  "plugin": ["@devcxl/opencode-cabbage"],
  "command": {
    "/my-custom-requirements": {
      "template": "自定义需求分析模板...",
      "description": "自定义需求命令"
    }
  },
  "agent": {
    "architect": {
      "description": "自定义架构师",
      "mode": "subagent",
      "color": "#ff5722",
      "prompt": "自定义 prompt..."
    }
  },
  "skills": {
    "paths": ["./my-custom-skills"]
  }
}

插件不会覆盖已存在的配置 — 如果你在 opencode.json 中定义了同名 command 或 agent,插件的注入将被跳过。

插件自动注入的配置

7 个 Slash Command

命令触发 agent说明
/setup初始化:检测 gh CLI、Project Profile、CI/release workflow
/requirements需求访谈 → PRD → Draft Parent Issue
/design@architect技术方案 + 必要 ADR(planning worktree)
/tasks@architectDAG 任务拆解 → Sub Issues
/codeTask 编码 + Runtime TDD → PR
/review@reviewer双轴审查 → 自动合并
/release版本提议 → Release PR → tag push → workflow 监控

每个 command 对应一个 flow-* skill,定义在 assets/skills/ 目录中;所有命令共享单一 Stage contract(assets/prompts/stage-contract.md)。

5 个 Agent

Agent模式角色
@dev-lifecycleprimary全流程编排器,自动串联各阶段
@architectsubagent架构设计、技术方案、DAG 拆解(仅 planning worktree 文档可写)
@developersubagent技术栈无关代码 TDD 实现(仅 worktree 内可写)
@reviewersubagent只读代码审查,输出结构化报告
@goal-verifysubagent独立验证 Flow 完成状态(唯一可调用 flow_control{complete-flow}

9 个 Flow Skills

Skill对应命令用途
flow-setup/setup环境初始化
flow-requirements/requirements需求分析
flow-design/design技术设计
flow-tasks/tasks任务拆解
flow-code/code编码实现
flow-tddTDD 协议唯一来源(tdd_checkpoint op 映射)
flow-review/review代码审查
flow-release/release发布

Skills 被复制到固定目录(~/.config/opencode/cabbage/skills)中运行,不会污染项目目录。

Thin Kernel 工具

5 个生命周期工具

工具职责
setup_controlprobe / generate-workflows / confirm-profile(readiness 报告)
flow_controlcreate-flow / status / planning-start / planning-pr / stage / complete-flow / cancel / takeover
task_controlcreate-task / start-task / submit-task / submit-review / merge-task / cancel / destroy / status
tdd_checkpointcycle-start / red / green / final-regression / final-verification / abandon / status / not-applicable / exempt
release_controlpropose-version / open-release-pr / merge-release-pr / monitor

5 个 Stage

requirements → design → tasks → code → review

每个阶段有前置门禁(由工具校验):

  • requirements:需求基线须用户确认一次
  • design:产出技术方案 + 必要 ADR;高风险方案在 design→tasks 间暂停确认
  • tasks:Planning Baseline 合并后才能创建 Sub Issues
  • code:Planning Baseline 已合并、依赖 Task 已 merged、并行 < 5
  • review:CI checks + 分支保护 + 风险双层判定 + 高风险非作者 approval

Task DAG

任务支持依赖关系。只有所有依赖任务已合并,当前任务才能开始:

yaml
task-1:
  dependsOn: []          # 无依赖,可先执行
task-2:
  dependsOn: [task-1]    # 依赖 task-1
task-3:
  dependsOn: [task-1]    # 依赖 task-1,可与 task-2 并行
task-4:
  dependsOn: [task-2, task-3]  # 依赖前两者都完成

合并门禁

PR 合并前必须通过:

检查点说明
CI checks全部 SUCCESS(statusCheckRollup)
branchProtectionmain 分支保护规则存在
风险双层判定模型初判 + 内核按 diff 升级(只升不降)
高风险 approval非作者人类 APPROVED review(高风险任务)
mergeResult合并操作成功(--match-head-commit)

弹性配置

参数默认值说明
并行上限5同时运行的 Task 数
Task 重试3失败自动重试次数
Review 轮次3自动修复上限
停滞判定3连续无进展 continuation 次数后暂停
compactionThreshold20每 20 次 continuation 自动 compact

文档目录结构

插件自动创建并管理以下文档目录:

docs/
├── prd/              # 产品需求文档
├── adr/              # 架构决策记录
├── dev/
│   ├── specs/        # 技术方案
│   ├── tasks/        # 任务定义(历史归档)
│   ├── api/          # API 文档
│   ├── db/           # 数据库设计
│   └── guides/       # 开发指南
└── index.md          # 本站首页

工程状态以 GitHub Issues/PRs/Checks 为权威事实,docs/dev/tasks/ 仅保留历史任务记录。

环境要求

工具版本要求用途
Node.js>= 18运行环境
npm>= 9包管理
gh CLI>= 2.0GitHub 操作(Issues/PRs/CI/Releases)
Git>= 2.0版本控制

高级:自定义 Prompt 覆盖

插件支持两级 prompt 加载:项目级 > 内置级。

在项目目录下创建 .opencode/opencode-cabbage/prompts/<name>.md 即可覆盖内置 prompt:

.opencode/
└── opencode-cabbage/
    └── prompts/
        ├── bootstrap.md      # 覆盖启动引导
        ├── PRD-FORMAT.md     # 覆盖 PRD 格式
        └── ADR-FORMAT.md     # 覆盖 ADR 格式