@boyingliu01/opencode-plugin 0.14.23 → 0.14.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boyingliu01/opencode-plugin",
3
- "version": "0.14.23",
3
+ "version": "0.14.24",
4
4
  "type": "module",
5
5
  "main": "index.ts",
6
6
  "description": "XP-Gate quality gates + AI workflow skills + Sprint Flow TUI sidebar for OpenCode",
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
- **Generated:** 2026-07-21
4
- **Commit:** 03e9223
3
+ **Generated:** 2026-07-22
4
+ **Commit:** e331f2c
5
5
  **Branch:** main
6
- **Version:** 0.14.23.0
6
+ **Version:** 0.14.24.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
@@ -294,14 +294,34 @@ Each round MUST output a structured round marker:
294
294
  | 2 专家(默认) | A(架构) + B(实现) | 代码变更、小型设计 |
295
295
  | 3 专家 | A(架构) + B(实现) + C(可行性) | 架构决策、需求文档 |
296
296
 
297
- ### 模型选择策略(强制 — 从 opencode.json 读取)
298
-
299
- **MUST 从 `opencode.json` 的 agent 配置中读取模型**,**严禁** hardcode 模型名称。
297
+ ### 模型选择策略(强制 — 平台适配)
300
298
 
301
299
  **关键原则**:
302
300
  - ✅ 三个专家必须来自 **至少 2 家不同 provider**
303
- - ❌ 禁止 hardcode 模型名称(模型列表以 `opencode.json` 为准)
301
+ - ❌ 禁止 hardcode 模型名称
304
302
  - ❌ 禁止三个专家全部使用同一 provider 的模型
303
+ - ❌ 禁止使用 Anthropic/OpenAI/Google 等国外模型
304
+
305
+ #### Qoder 平台(推荐 — Custom Agent 模式)
306
+
307
+ Qoder 环境下使用 **Custom Agent** 机制,每个专家是一个独立的 custom agent,配置不同的 Qoder 内置模型:
308
+
309
+ | 专家 | Agent 文件 | 模型 | Credits 费率 |
310
+ |------|-----------|------|-------------|
311
+ | Architecture (A) | `.qoder/agents/delphi-architecture.md` | Qwen3.7-Max | 0.5× |
312
+ | Technical (B) | `.qoder/agents/delphi-technical.md` | GLM-5.2 | 0.6× |
313
+ | Feasibility (C) | `.qoder/agents/delphi-feasibility.md` | DeepSeek-V4-Pro | 0.5× |
314
+
315
+ **执行方式**:通过 Agent tool 并行启动 3 个 subagent(type=GeneralPurpose),每个 agent 使用自己配置的模型独立评审,主 orchestrator 收集结果后计算共识。
316
+
317
+ **优势**:无需外部 API key,直接使用 Qoder Credits,模型由平台统一管理。
318
+
319
+ #### OpenCode 平台(External API 模式)
320
+
321
+ OpenCode 环境下通过 `opencode.json` 的 agent 配置 + `.delphi-config.json` 调用外部 API:
322
+ - **MUST 从 `opencode.json` 的 agent 配置中读取模型**
323
+ - 通过 `scripts/delphi-external-review.cjs` 调用各 provider 的 OpenAI 兼容 API
324
+ - 需要用户自行配置 API key(环境变量注入)
305
325
 
306
326
  ### 共识阈值
307
327
 
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
- **Generated:** 2026-07-21
4
- **Commit:** 03e9223
3
+ **Generated:** 2026-07-22
4
+ **Commit:** e331f2c
5
5
  **Branch:** main
6
- **Version:** 0.14.23.0
6
+ **Version:** 0.14.24.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -199,11 +199,26 @@ Every phase MUST output its header as the first line of that phase's output. For
199
199
  3. NEVER merge phase output — each phase gets its own header
200
200
  4. On `/sprint-flow` trigger, first line MUST output: `Sprint Flow: PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE`
201
201
  5. Each phase completion MUST write Phase Summary to `.sprint-state/phase-outputs/phase-{N}-summary.md`
202
- 6. Each phase completion MUST update `.sprint-state/sprint-state.json`
203
-
204
- ### Required Rendering (MANDATORY per phase)
205
-
206
- 7. Each phase completion MUST render the ASCII progress dashboard using `templates/sprint-progress-template.md` — the orchestrator reads `sprint-state.json` and outputs the dashboard after every phase's status block, so the user always sees current global progress without needing to ask
202
+ 6. Each phase completion MUST call `xp-gate phase-transition <N> <status> --render` — this programmatically updates `sprint-state.json` AND renders the ASCII dashboard in one command (resolves #338, #146)
203
+
204
+ ### Phase Transition CLI (MANDATORY — replaces manual state updates)
205
+
206
+ 7. **NEVER** manually write to `sprint-state.json` or manually render the dashboard from template. ALWAYS use:
207
+ ```
208
+ npx xp-gate phase-transition <phase> <status> --render [--outputs '<json>']
209
+ ```
210
+ - `<phase>`: 1-6
211
+ - `<status>`: `in_progress` | `completed` | `skipped` | `failed` | `paused`
212
+ - `--render`: Auto-renders ASCII progress dashboard after state update
213
+ - `--outputs '<json>'`: Optional JSON of phase outputs to record
214
+
215
+ Example (end of each phase):
216
+ ```
217
+ npx xp-gate phase-transition 1 completed --render --outputs '{"estimate":"3 story points"}'
218
+ npx xp-gate phase-transition 2 in_progress --render
219
+ ```
220
+
221
+ This is a **HARD GATE** — the orchestrator MUST invoke this CLI command. Text-level instructions to "update state" or "render dashboard" are DEPRECATED; the CLI is the single source of truth for state transitions and dashboard rendering.
207
222
 
208
223
  ### Phase Output Status Schema (MANDATORY per phase)
209
224
 
@@ -89,25 +89,20 @@
89
89
  - 格式:YAML frontmatter + Markdown body(body ≤ 50 行)
90
90
  - 大小限制:≤ 40,000 字符(≈ 10,000 tokens)
91
91
 
92
- 2. **更新 sprint-state.json**:
93
- - `phase`: 当前阶段编号 (1-6)
94
- - `outputs`: 新增当前阶段输出文件路径
95
- - `phase_history`: 追加或更新当前阶段的记录
96
- - Phase 开始时:追加 `{ "phase": N, "phase_name": "NAME", "status": "running", "started_at": "<ISO 8601>", "completed_at": null, "duration_seconds": null }`
97
- - Phase 完成时:更新对应条目,填充 `completed_at`(ISO 8601)和 `duration_seconds`
98
- - Phase 跳过时:设置 `status: "skipped"`
92
+ 2. **调用 phase-transition CLI**(替代手动更新 sprint-state.json + 手动渲染看板):
93
+ ```
94
+ npx xp-gate phase-transition <phase> <status> --render [--outputs '<json>']
95
+ ```
96
+ - Phase 开始时:`npx xp-gate phase-transition <N> in_progress --render`
97
+ - Phase 完成时:`npx xp-gate phase-transition <N> completed --render --outputs '{"key":"value"}'`
98
+ - Phase 跳过时:`npx xp-gate phase-transition <N> skipped --render`
99
+ - CLI 自动完成:更新 `sprint-state.json`(phase, phase_history, outputs)+ 渲染 ASCII 看板
100
+ - 看板规则:已完成 ✅ + 耗时,当前 🔄,待做 ⬜,跳过 ⏭️,失败 ❌
101
+ - 进度条:`[████▓░░░░░░] {pct}%`
102
+ - **禁止**手动写入 `sprint-state.json` 或手动调用 `render-sprint-progress.cjs`(已废弃)
99
103
 
100
104
  3. **等待用户确认 checkpoint**(如适用)
101
105
 
102
- 4. **展示进度看板**:执行 `node scripts/render-sprint-progress.cjs` 渲染进度看板
103
- - 脚本自动读取 `.sprint-state/sprint-state.json` 并输出 ASCII 进度看板
104
- - 渲染规则:已完成阶段显示 ✅ + 耗时,当前阶段 🔄,待做 ⬜,跳过 ⏭️,失败 ❌
105
- - 进度条:`[████▓░░░░░░] {pct}%`(已完成数/总阶段数 6)
106
- - 下一步行动:根据当前阶段 + 状态,自动查找对应提示
107
- - 输出物路径:列出 `outputs` 中已有的文件路径
108
- - 时机:每个 Phase 完成后的 transition 阶段自动展示
109
- - 向后兼容:旧版 `sprint-state.json` 缺少 `phase_history` 时,从 `phase` 字段推断状态
110
-
111
106
  ### Background Task Resume Protocol (MANDATORY — Issue #248)
112
107
 
113
108
  After dispatching background agents with `run_in_background=true`:
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
- **Generated:** 2026-07-21
4
- **Commit:** 03e9223
3
+ **Generated:** 2026-07-22
4
+ **Commit:** e331f2c
5
5
  **Branch:** main
6
- **Version:** 0.14.23.0
6
+ **Version:** 0.14.24.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.