@ghyper9023/pi-dev-workflow 0.6.3 → 0.7.0
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/.github/workflows/release.yml +56 -0
- package/.pre-commit-config.yaml +75 -0
- package/.version/RELEASE-v0.7.0.md +85 -0
- package/README.md +80 -228
- package/extensions/dev-prompts.ts +351 -450
- package/extensions/git-commands.ts +62 -171
- package/extensions/grill-me-agent.ts +98 -137
- package/extensions/session-utils.ts +169 -0
- package/extensions/ui-helpers.ts +2 -780
- package/package.json +2 -2
- package/prompts/APPEND_SYSTEM.md +63 -59
- package/skills/review-html/SKILL.md +1 -1
- package/tests/test-no-subagents.mjs +146 -0
- package/.doc/AGENT-FRONTMATTER-REFERENCE.md +0 -198
- package/agents/git-agent.md +0 -44
- package/agents/grill/dev-doc-grill-agent.md +0 -42
- package/agents/grill/dev-fix-grill-agent.md +0 -44
- package/agents/grill/dev-grill-agent.md +0 -40
- package/agents/grill/dev-perf-grill-agent.md +0 -45
- package/agents/grill/dev-prd-agent.md +0 -60
- package/agents/grill/dev-refactor-grill-agent.md +0 -46
- package/agents/grill/dev-test-grill-agent.md +0 -45
- package/agents/review-agent.md +0 -53
- package/agents/workflow/docWriter-agent.md +0 -53
- package/agents/workflow/planner-agent.md +0 -131
- package/agents/workflow/reviewer-agent.md +0 -128
- package/agents/workflow/trimmer-agent.md +0 -78
- package/agents/workflow/worker-agent.md +0 -70
- package/extensions/sub-agents.ts +0 -954
- package/extensions/workflow-engine.ts +0 -2005
- package/tests/test-grill-json-fix.mjs +0 -243
- package/tests/test-loopcount-timeout-fix.mjs +0 -336
- package/tests/test-output-directory-structure.mjs +0 -177
- package/tests/test-save-answer-file-workflow.mjs +0 -187
- package/tests/test-workflow-config.mjs +0 -244
- package/tests/test-workflow-engine-bugs.mjs +0 -908
- package/tests/test-workflow-engine.mjs +0 -518
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ghyper9023/pi-dev-workflow
|
|
2
2
|
|
|
3
|
-
> Developer workflow toolkit for [pi coding agent](https://pi.dev/): git
|
|
3
|
+
> Developer workflow toolkit for [pi coding agent](https://pi.dev/): git commands, code review, Karpathy guidelines, themes, prompt wizards
|
|
4
4
|
|
|
5
5
|
## 快速安装
|
|
6
6
|
|
|
@@ -13,9 +13,9 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
然后 `/reload` 热加载即可使用所有功能。
|
|
16
|
-
> [!NOTE]
|
|
17
|
-
> - 本pi-package
|
|
18
|
-
> - 本pi-package
|
|
16
|
+
> [!NOTE]
|
|
17
|
+
> - 本 pi-package 已移除子代理,不会与其他 pi-package 的子代理功能冲突。
|
|
18
|
+
> - 本 pi-package 添加了 `APPEND_SYSTEM.md`,存在默认使用中文等特色设定,可自行修改 `prompts/APPEND_SYSTEM.md`。
|
|
19
19
|
|
|
20
20
|
## 目录结构
|
|
21
21
|
|
|
@@ -24,23 +24,6 @@ pi-package/
|
|
|
24
24
|
├── package.json # 包元数据 & pi 配置
|
|
25
25
|
├── README.md # 本文件
|
|
26
26
|
├── .gitignore
|
|
27
|
-
├── agents/
|
|
28
|
-
│ ├── git-agent.md # git-sub-agent 定义(专注 git 操作)
|
|
29
|
-
│ ├── review-agent.md # review-sub-agent 定义(专注代码审查)
|
|
30
|
-
│ ├── grill/ # 方案追问完善 (Grill) agent 定义
|
|
31
|
-
│ │ ├── dev-grill-agent.md # 通用 /dev-feat Grill agent
|
|
32
|
-
│ │ ├── dev-fix-grill-agent.md # /dev-fix Bug 根因追问
|
|
33
|
-
│ │ ├── dev-doc-grill-agent.md # /dev-doc 文档大纲追问完善
|
|
34
|
-
│ │ ├── dev-refactor-grill-agent.md # /dev-refactor 重构追问完善
|
|
35
|
-
│ │ ├── dev-test-grill-agent.md # /dev-test 测试追问完善
|
|
36
|
-
│ │ ├── dev-perf-grill-agent.md # /dev-perf 优化追问完善
|
|
37
|
-
│ │ └── dev-prd-agent.md # PRD 生成 agent
|
|
38
|
-
│ └── workflow/ # 自动化工作流 agent 定义
|
|
39
|
-
│ ├── planner-agent.md # 计划制定 agent
|
|
40
|
-
│ ├── worker-agent.md # 代码实施 agent
|
|
41
|
-
│ ├── reviewer-agent.md # 代码审查 agent
|
|
42
|
-
│ ├── trimmer-agent.md # 代码精简 agent
|
|
43
|
-
│ └── docWriter-agent.md # 文档撰写 agent
|
|
44
27
|
├── prompts/
|
|
45
28
|
│ ├── APPEND_SYSTEM.md # 全局追加提示:强制使用简体中文+英文专业名词
|
|
46
29
|
│ ├── review-commit.md # 审查 commit 的提示模板
|
|
@@ -55,70 +38,51 @@ pi-package/
|
|
|
55
38
|
│ └── to-prd/
|
|
56
39
|
│ └── SKILL.md # 从对话上下文生成 PRD 文档
|
|
57
40
|
├── extensions/
|
|
58
|
-
│ ├── append-system.ts # 追加APPEND_SYSTEM.md提示词
|
|
41
|
+
│ ├── append-system.ts # 追加 APPEND_SYSTEM.md 提示词
|
|
59
42
|
│ ├── dev-prompts.ts # 提示词优化向导(/dev-* 命令)
|
|
60
|
-
│ ├── git-commands.ts # git
|
|
61
|
-
│ ├── grill-me-agent.ts # Grill + PRD
|
|
62
|
-
│
|
|
63
|
-
│ ├── workflow-engine.ts # 工作流编排引擎(由 dev-prompts.ts 引入)
|
|
64
|
-
│ └── ui-helpers.ts # TUI 组件构建器(Select/Confirm/Input/Widget)
|
|
43
|
+
│ ├── git-commands.ts # git 命令(直接执行)
|
|
44
|
+
│ ├── grill-me-agent.ts # Grill + PRD 运行时(运行在当前代理中)
|
|
45
|
+
│ └── ui-helpers.ts # TUI 组件构建器(Select/Confirm/Input)
|
|
65
46
|
└── themes/
|
|
66
47
|
└── claude-code-theme.json # Claude Code CLI 风格主题
|
|
67
48
|
```
|
|
68
49
|
|
|
69
|
-
##
|
|
50
|
+
## Themes
|
|
51
|
+
|
|
52
|
+
| Theme | 说明 |
|
|
53
|
+
|---|---|
|
|
54
|
+
| **claude-code-theme** | 仿 Claude Code CLI 配色:深色底 + 琥珀金主色 + 紫罗兰辅色 |
|
|
55
|
+
| **oh-my-pi-titanium** | 钛金属风格主题 |
|
|
56
|
+
|
|
57
|
+
## 推荐扩展(第三方)
|
|
70
58
|
|
|
71
|
-
|
|
59
|
+
以下为社区推荐的第三方 Pi 扩展,可按需安装:
|
|
72
60
|
|
|
73
|
-
|
|
|
61
|
+
| 扩展 | 作用 | 安装 |
|
|
74
62
|
|---|---|---|
|
|
75
|
-
| **
|
|
76
|
-
| **
|
|
63
|
+
| **pi-web-access** | 网页搜索、URL 抓取、GitHub 仓库克隆、PDF 提取、YouTube 视频理解与本地视频分析,支持多家搜索/内容服务提供商 | `pi install npm:pi-web-access` |
|
|
64
|
+
| **pi-mcp-adapter** | MCP(Model Context Protocol)适配器扩展,让 Pi 接入 MCP 工具生态 | `pi install npm:pi-mcp-adapter` |
|
|
65
|
+
| **rpiv-ask-user-question** | 结构化问卷扩展:模型不确定时以带类型的选项向你提问,替代自由文本回复 | `pi install npm:@juicesharp/rpiv-ask-user-question` |
|
|
66
|
+
| **rpiv-todo** | 模型待办清单:实时悬浮面板展示,`/reload` 与会话压缩后依然保留 | `pi install npm:@juicesharp/rpiv-todo` |
|
|
67
|
+
| **@plannotator/pi-extension** | 交互式方案评审扩展:带注释的方案审查,可标注 Agent 消息,审查代码/PR | `pi install npm:@plannotator/pi-extension` |
|
|
77
68
|
|
|
78
|
-
|
|
69
|
+
## Git 命令
|
|
79
70
|
|
|
80
|
-
|
|
71
|
+
三个命令直接通过 pi 的内置执行器运行 git,结果写入当前会话上下文,不需要隔离的子代理进程。
|
|
81
72
|
|
|
82
73
|
| 命令 | 说明 |
|
|
83
74
|
|---|---|
|
|
84
|
-
| `/git-commit [message]` |
|
|
75
|
+
| `/git-commit [message]` | 暂存所有变更并提交(空信息会让 AI 根据 diff 自动生成 Conventional Commits message) |
|
|
85
76
|
| `/git-push` | 推送到远程 |
|
|
86
77
|
| `/git-commit-push [message]` | 暂存 + 提交 + 推送一键完成 |
|
|
87
78
|
|
|
88
|
-
### review-sub-agent
|
|
89
|
-
|
|
90
|
-
当用户输入包含 review/审查/审阅 + code/代码/diff/commit/html 等关键词时,自动弹出三种模式选择:
|
|
91
|
-
|
|
92
|
-
| # | 模式 | 行为 |
|
|
93
|
-
|---|------|------|
|
|
94
|
-
| **1** | 后台审查(非阻塞,异步通知) | 后台运行审查,不阻塞对话,完成后通过消息通知 |
|
|
95
|
-
| **2** | 仅审查(阻塞,等待结果) | 等待审查完成才恢复交互 |
|
|
96
|
-
| **3** / Esc | 不是审查(放行给主代理) | 不启动子代理,原消息交给主 AI 处理 |
|
|
97
|
-
|
|
98
|
-
也支持 `/skill:review-html` 直接触发阻塞审查。
|
|
99
|
-
审查结果以交互式 HTML 报告形式写入 `.pi-dev-output/pi-review/html/` 目录。
|
|
100
|
-
|
|
101
|
-
### subagent 工具
|
|
102
|
-
|
|
103
|
-
LLM 也可以直接调用 `subagent` 工具委派任务给任意子代理:
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
可用子代理:git-agent, review-agent
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Themes
|
|
110
|
-
|
|
111
|
-
| Theme | 说明 |
|
|
112
|
-
|---|---|
|
|
113
|
-
| **claude-code-theme** | 仿 Claude Code CLI 配色:深色底 + 琥珀金主色 + 紫罗兰辅色 |
|
|
114
|
-
|
|
115
79
|
## Dev Prompts(提示词优化向导)
|
|
116
80
|
|
|
117
|
-
基于 [ai提示词优化.md](./ai%E6%8F%90%E7%A4%BA%E8%AF%8D%E4%BC%98%E5%8C%96.md) 中的优质模板,通过交互式问答引导你填写 `[xxx]`
|
|
81
|
+
基于 [ai提示词优化.md](./ai%E6%8F%90%E7%A4%BA%E8%AF%8D%E4%BC%98%E5%8C%96.md) 中的优质模板,通过交互式问答引导你填写 `[xxx]` 占位符,组装完整的高质量提示词后**直接投递给当前代理执行**。
|
|
118
82
|
|
|
119
83
|
### 命令一览
|
|
120
84
|
|
|
121
|
-
| 命令 | 用途 | 对应模板类型 |
|
|
85
|
+
| 命令 | 用途 | 对应模板类型 | 支持 Grill |
|
|
122
86
|
|------|------|-------------|---------|
|
|
123
87
|
| `/dev-feat` | 新功能/创意生成 | `feat` | ✅ |
|
|
124
88
|
| `/dev-fix` | 问题排查/错误修正 | `fix` | ✅ |
|
|
@@ -128,9 +92,9 @@ LLM 也可以直接调用 `subagent` 工具委派任务给任意子代理:
|
|
|
128
92
|
| `/dev-perf` | 性能优化 | `perf` | ✅ |
|
|
129
93
|
| `/dev-style` | 风格/格式调整 | `style` | ✅ |
|
|
130
94
|
| `/dev-security` | 安全审查 | `security` | ✅ |
|
|
131
|
-
| `/dev-chore` | 日常维护/自动化 | `chore` |
|
|
132
|
-
| `/dev-explain` | 概念解释 | `explain` |
|
|
133
|
-
| `/dev-compare` | 对比评估 | `compare` |
|
|
95
|
+
| `/dev-chore` | 日常维护/自动化 | `chore` | ❌ |
|
|
96
|
+
| `/dev-explain` | 概念解释 | `explain` | ❌ |
|
|
97
|
+
| `/dev-compare` | 对比评估 | `compare` | ❌ |
|
|
134
98
|
|
|
135
99
|
### 使用方法
|
|
136
100
|
|
|
@@ -145,14 +109,15 @@ LLM 也可以直接调用 `subagent` 工具委派任务给任意子代理:
|
|
|
145
109
|
目标模块/文件名? src/auth/login.ts
|
|
146
110
|
核心功能描述? 用户可以通过邮箱+密码注册并登录
|
|
147
111
|
...
|
|
148
|
-
✅
|
|
112
|
+
✅ 提示词已组装完成,正在发送给当前代理...
|
|
149
113
|
```
|
|
150
114
|
|
|
151
115
|
**交互规则**:
|
|
152
116
|
- **留空(直接回车)** — 该字段标记为「无」,对应的模板段落整段跳过
|
|
153
117
|
- **输入「无」** — 与留空效果相同,明确表示不需要该段内容
|
|
154
118
|
- **按 Esc** — 随时退出向导,不产生任何输出
|
|
155
|
-
- **填写后** — 自动用 `pi.sendUserMessage()`
|
|
119
|
+
- **填写后** — 自动用 `pi.sendUserMessage()` 投递给当前代理,立即开始执行
|
|
120
|
+
- 向导会自动将组装好的提示词保存到 `.pi-dev-output/pi-grill/answers/`,中断后可恢复
|
|
156
121
|
|
|
157
122
|
### 示例 1:用 `/dev-fix` 修 Bug
|
|
158
123
|
|
|
@@ -181,7 +146,7 @@ Bug 描述? 创建用户成功后返回 201,但实际上返回了 500
|
|
|
181
146
|
|
|
182
147
|
组装后的提示词包含:角色(技术文档工程师)→ 大纲先行 → Markdown 层级文档 → 2 个可运行示例。
|
|
183
148
|
|
|
184
|
-
### 示例 3:用 `/dev-feat` 走完整流程(含 Grill +
|
|
149
|
+
### 示例 3:用 `/dev-feat` 走完整流程(含 Grill + PRD)
|
|
185
150
|
|
|
186
151
|
```text
|
|
187
152
|
/dev-feat
|
|
@@ -194,148 +159,27 @@ Bug 描述? 创建用户成功后返回 201,但实际上返回了 500
|
|
|
194
159
|
🔍 设计方案追问完善 — 是否进入方案追问完善 (Grill) 模式?
|
|
195
160
|
→ 逐题回答完毕(约 15-25 题),追问记录附加到提示词末尾。
|
|
196
161
|
|
|
197
|
-
→ 弹出工作流确认框:
|
|
198
|
-
🚀 进入自动化工作流?
|
|
199
|
-
工作流将自动执行以下步骤:
|
|
200
|
-
1. 📋 Planner — 分析代码库并生成实施计划
|
|
201
|
-
2. 🔧 Worker → Reviewer — 实施代码并审查
|
|
202
|
-
3. ✂️ Trimmer → Reviewer — 精简代码并审查
|
|
203
|
-
4. 📝 DocWriter — 更新文档
|
|
204
|
-
|
|
205
|
-
→ 选择"是"后,工作流开始执行...
|
|
206
|
-
|
|
207
|
-
📋 工作流进度
|
|
208
|
-
▶ ⏳ 📋 生成实施计划
|
|
209
|
-
⬜ 🔧 实施代码 → 审查
|
|
210
|
-
⬜ ✂️ 精简代码 → 审查
|
|
211
|
-
⬜ 📝 更新文档
|
|
212
|
-
|
|
213
|
-
→ Planner 完成 ✅,计划写入 .pi-dev-output/pi-plans/
|
|
214
|
-
→ Worker + Reviewer 循环开始... 审查发现 critical 问题,自动进入第 2 轮循环...
|
|
215
|
-
→ 所有步骤完成后:🎉 工作流全部完成!
|
|
216
|
-
|
|
217
162
|
→ 弹出 PRD 确认框:
|
|
218
163
|
📋 创建 PRD — 是否为此功能创建 PRD 文档?
|
|
219
164
|
→ 选择"是",PRD 保存到 .pi-dev-output/pi-prd/payments-20260519.md
|
|
165
|
+
→ 最终提示词(含追问记录)发送给当前代理开始执行
|
|
220
166
|
```
|
|
221
167
|
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Automation Workflow(自动化工作流引擎)
|
|
225
|
-
|
|
226
|
-
> 自 v0.4.0 起支持
|
|
227
|
-
|
|
228
|
-
`/dev-*` 向导组装完提示词后,除了直接发送给主代理(传统模式),还可以选择进入 **自动化工作流** — 由一组专业的 sub-agent 按预设步骤链自动执行,无需人工逐条指令干预。
|
|
229
|
-
|
|
230
|
-
工作流由 `extensions/workflow-engine.ts` 编排,在 `extensions/dev-prompts.ts` 中定义各命令的步骤链。每个步骤启动一个独立的 sub-agent 进程,拥有隔离的上下文窗口。
|
|
231
|
-
|
|
232
|
-
**文件变更检测**:工作流引擎完全依赖 `git diff --name-status` 检测文件变更,与 VSCode、Zed 等专业 git 客户端的检测方式一致,无 AI 文本解析带来的假阳性噪声。
|
|
233
|
-
|
|
234
|
-
### Workflow Agent 一览
|
|
235
|
-
|
|
236
|
-
5 个专用 sub-agent 各司其职,定义在 `agents/workflow/` 目录下:
|
|
237
|
-
|
|
238
|
-
| Agent | 职责 | 定义文件 |
|
|
239
|
-
|-------|------|---------|
|
|
240
|
-
| **planner** | 分析代码库,生成详细的实施计划(含可直接运行的代码示例模板)并写入 `.pi-dev-output/pi-plans/` | `agents/workflow/planner-agent.md` |
|
|
241
|
-
| **worker** | 按计划逐步实现代码改动(严格遵循计划,不做计划外修改) | `agents/workflow/worker-agent.md` |
|
|
242
|
-
| **reviewer** | 审查代码质量,输出带严重等级的结构化报告(critical/medium/low) | `agents/workflow/reviewer-agent.md` |
|
|
243
|
-
| **trimmer** | 精简冗余代码、缩短冗长行、消除重复逻辑,优化可读性 | `agents/workflow/trimmer-agent.md` |
|
|
244
|
-
| **docWriter** | 根据代码最新状态更新 README 和代码注释 | `agents/workflow/docWriter-agent.md` |
|
|
245
|
-
|
|
246
|
-
### 工作流模式
|
|
247
|
-
|
|
248
|
-
步骤执行前,弹出模式选择对话框:
|
|
249
|
-
|
|
250
|
-
| 模式 | 说明 |
|
|
251
|
-
|------|------|
|
|
252
|
-
| **值守**(默认 / attended) | 自动步骤自动执行,`[confirm]` 步骤需用户确认,loop-group 循环需用户许可 |
|
|
253
|
-
| **完全信任**(full-auto) | 全自动运行,无任何确认步骤。超时自动重试一次,循环自动进入下一轮 |
|
|
254
|
-
| **完全值守**(full-attended) | 每一步(包括 auto 类型步骤)都需用户确认后才执行 |
|
|
255
|
-
|
|
256
|
-
### 命令工作流一览
|
|
257
|
-
|
|
258
|
-
每个 `/dev-*` 命令对应不同的步骤链。以下配置定义在 `extensions/dev-prompts.ts` 的 `WORKFLOW_STEPS` 常量中:
|
|
259
|
-
|
|
260
|
-
图例:
|
|
261
|
-
- `{}` — Loop-Group(执行 → 审查 → 循环,直到无严重问题或达最大次数)
|
|
262
|
-
- `[]` — Confirm 步骤(需用户确认是否执行)
|
|
263
|
-
- `→` — 顺序执行
|
|
264
|
-
|
|
265
|
-
| 命令 | 工作流步骤 | 说明 |
|
|
266
|
-
|------|-----------|------|
|
|
267
|
-
| `/dev-feat` | planner → {worker→reviewer} → {trimmer→reviewer} → [docWriter] | 完整流程:计划 → 实施+审查 → 精简+审查 → 文档(可跳过) |
|
|
268
|
-
| `/dev-fix` | planner → {worker→reviewer} → [docWriter] | 无 trimmer 阶段 |
|
|
269
|
-
| `/dev-refactor` | planner → {worker→reviewer} → {trimmer→reviewer} | 无 docWriter 阶段 |
|
|
270
|
-
| `/dev-perf` | planner → {worker→reviewer} | 无 trimmer 和 docWriter |
|
|
271
|
-
| `/dev-test` | planner → {worker→reviewer} | 同上 |
|
|
272
|
-
| `/dev-doc` | planner → docWriter | 简化流程,直接计划→撰写 |
|
|
273
|
-
| `/dev-style` | {trimmer→reviewer} | 无计划阶段,仅精简+审查(最多 2 轮循环) |
|
|
274
|
-
| `/dev-security` | reviewer | 仅安全审查 |
|
|
275
|
-
| `/dev-chore` | 无工作流 | 传统模式,直接发送 prompt |
|
|
276
|
-
| `/dev-explain` | 无工作流 | 传统模式 |
|
|
277
|
-
| `/dev-compare` | 无工作流 | 传统模式 |
|
|
278
|
-
|
|
279
|
-
### 断点续传 (Checkpoint)
|
|
280
|
-
|
|
281
|
-
工作流在执行过程中会定期保存 checkpoint 到 `.pi-dev-output/pi-workflow/checkpoint.json`。如果工作流因终端关闭、网络断开或 AI 超时而中断,后续恢复方式如下:
|
|
282
|
-
|
|
283
|
-
- **自动恢复**:再次执行对应的 `/dev-*` 命令时,引擎自动检测 checkpoint 文件,弹出确认对话框询问是否恢复
|
|
284
|
-
- **手动恢复**:注册了专门的 `/dev-workflow-continue` 命令,用于手动恢复上次中断的工作流
|
|
285
|
-
- **Checkpoint 内容**:包含原始 prompt、运行模式、各步骤状态、loop 次数、plan 文件引用路径
|
|
286
|
-
|
|
287
|
-
如果在恢复对话框中选择"否",则丢弃 checkpoint 重新开始。
|
|
288
|
-
|
|
289
|
-
### Loop-Group 循环审查
|
|
290
|
-
|
|
291
|
-
`{}` 标记的步骤组称为 Loop-Group。机制如下:
|
|
292
|
-
|
|
293
|
-
1. 先执行实施 agent(worker 或 trimmer),再执行 reviewer agent
|
|
294
|
-
2. Reviewer 输出 `[REVIEW_SUMMARY]` JSON 摘要:
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
[REVIEW_SUMMARY]
|
|
298
|
-
{"maxSeverity":"critical","critical":2,"medium":1,"low":3}
|
|
299
|
-
[/REVIEW_SUMMARY]
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
3. 若 `maxSeverity === "critical"` 且未达到最大循环次数(默认 3 次),进入下一轮循环
|
|
303
|
-
4. 在 `full-auto` 模式下自动循环;在 `attended` 模式下询问用户是否继续
|
|
304
|
-
5. 达到最大循环次数后,无论审查结果如何,进入下一步
|
|
305
|
-
6. Reviewer 输出支持 fallback 裸 JSON 解析(兜底识别)
|
|
306
|
-
|
|
307
|
-
### 超时处理
|
|
308
|
-
|
|
309
|
-
每个步骤有独立的超时时间(`timeoutMs` 字段)。默认超时:worker/trimmer/planner 为 5 分钟,docWriter 为 10 分钟(600,000ms),security 审查步骤为 15 分钟(900,000ms)。超时后的行为因模式而异:
|
|
310
|
-
|
|
311
|
-
| 模式 | 超时行为 |
|
|
312
|
-
|------|---------|
|
|
313
|
-
| `full-auto` | 自动重试一次(带 `[RETRY]` 前缀),重试仍超时则步骤标记为 failed |
|
|
314
|
-
| `attended` / `full-attended` | 弹出选择:重新执行 / 跳过此步骤 / 取消工作流 |
|
|
315
|
-
| loop-group 内 | 超时后不阻塞循环,可自动进入审查阶段(带 `[TIMEOUT_WARNING]` 标记) |
|
|
316
|
-
|
|
317
|
-
## Skills
|
|
318
|
-
|
|
319
|
-
| Skill | 来源 | 说明 |
|
|
320
|
-
|---|---|---|
|
|
321
|
-
| **karpathy-guidelines** | [forrestchang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) | 基于 Andrej Karpathy 对 LLM 编码陷阱的观察,强调简洁、精准、可验证 |
|
|
322
|
-
| **review-html** | 自制 | git diff / commit 审查,输出自包含的交互式 HTML 报告 |
|
|
323
|
-
| **grill-with-docs** | [mattpocock/skills](https://github.com/mattpocock/skills) | 方案追问完善 — 挑战方案、统一术语、实时更新 CONTEXT.md 和 ADR |
|
|
324
|
-
| **to-prd** | [mattpocock/skills](https://github.com/mattpocock/skills) | 从对话上下文和代码库理解生成 PRD,保存到 `.pi-dev-output/pi-prd/` |
|
|
325
|
-
|
|
326
168
|
## 方案追问完善(Grill)机制
|
|
327
169
|
|
|
328
|
-
Grill("追问式打磨")是提交方案前由 AI
|
|
170
|
+
Grill("追问式打磨")是提交方案前由 AI 从多个维度追问完善你的设计的交互流程。Grill 阶段在 `/dev-*` 向导完成后自动触发,以确认对话框询问是否进入追问完善。
|
|
171
|
+
|
|
172
|
+
由于当前主流模型普遍具备 >=1M 上下文窗口,Grill 不再创建隔离的子代理进程,而是由**当前代理**执行追问任务,所有追问记录直接追加到当前会话上下文中。
|
|
329
173
|
|
|
330
174
|
追问完善流程:
|
|
331
175
|
1. **确认** — 弹出对话框,选择"是"进入追问完善
|
|
332
|
-
2. **生成问题** —
|
|
176
|
+
2. **生成问题** — 当前代理根据方案上下文,一次生成全部追问问题(JSON 数组)
|
|
333
177
|
3. **逐题回答** — TUI 逐题展示,每道题带选项列表 + 自定义输入入口
|
|
334
178
|
4. **增强提示词** — 所有 Q&A 追加到原提示词末尾,形成 `enhancedPrompt`
|
|
335
179
|
|
|
336
|
-
### 按领域定制的 Grill
|
|
180
|
+
### 按领域定制的 Grill 场景
|
|
337
181
|
|
|
338
|
-
不同的 `/dev-*`
|
|
182
|
+
不同的 `/dev-*` 命令使用不同的追问方向,问题维度与任务类型对齐:
|
|
339
183
|
|
|
340
184
|
| 命令 | Grill 场景 | 追问维度 |
|
|
341
185
|
|---|---|---|
|
|
@@ -369,18 +213,40 @@ Grill("追问式打磨")是提交方案前由 AI sub-agent 从多个维度
|
|
|
369
213
|
|
|
370
214
|
仅 `/dev-feat` 命令在执行完成后自动触发 PRD 生成。其余 `/dev-*` 命令不包含此阶段。
|
|
371
215
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
- "是" — 将 PRD
|
|
216
|
+
PRD 由当前代理生成,不再使用隔离的子代理进程:
|
|
217
|
+
|
|
218
|
+
1. **确认** — 弹出对话框询问是否创建 PRD
|
|
219
|
+
2. **生成** — 当前代理读取对话上下文 + 代码库理解,按模板生成 Markdown PRD
|
|
220
|
+
3. **保存** — 写入 `.pi-dev-output/pi-prd/<module>-<date>.md`
|
|
221
|
+
4. **后续操作** — 询问是否立即开始开发:
|
|
222
|
+
- "是" — 将 PRD 作为开发指令发送给当前代理
|
|
379
223
|
- "否" — 仅保存文件,稍后手动引用
|
|
380
224
|
- "✏️ 自定义开发指令" — 输入自定义指令,与 PRD 一起发送
|
|
381
225
|
|
|
382
226
|
PRD 模板包含:Problem Statement、Solution、User Stories、Implementation Decisions、Testing Decisions、Out of Scope、Further Notes。
|
|
383
227
|
|
|
228
|
+
如果需要为其他场景生成 PRD,可以手动使用 `to-prd` skill(直接引用 `/skill:to-prd`)。
|
|
229
|
+
|
|
230
|
+
## Skills
|
|
231
|
+
|
|
232
|
+
| Skill | 来源 | 说明 |
|
|
233
|
+
|---|---|---|
|
|
234
|
+
| **karpathy-guidelines** | [forrestchang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) | 基于 Andrej Karpathy 对 LLM 编码陷阱的观察,强调简洁、精准、可验证 |
|
|
235
|
+
| **review-html** | 自制 | git diff / commit 审查,输出自包含的交互式 HTML 报告 |
|
|
236
|
+
| **grill-with-docs** | [mattpocock/skills](https://github.com/mattpocock/skills) | 方案追问完善 — 挑战方案、统一术语、实时更新 CONTEXT.md 和 ADR |
|
|
237
|
+
| **to-prd** | [mattpocock/skills](https://github.com/mattpocock/skills) | 从对话上下文和代码库理解生成 PRD,保存到 `.pi-dev-output/pi-prd/` |
|
|
238
|
+
|
|
239
|
+
## 自动审查
|
|
240
|
+
|
|
241
|
+
当用户输入包含 `review`/`审查`/`审阅` 且同时包含 `code`/`代码`/`diff`/`commit`/`html` 等关键词时,会自动弹出模式选择:
|
|
242
|
+
|
|
243
|
+
| # | 模式 | 行为 |
|
|
244
|
+
|---|------|------|
|
|
245
|
+
| **1** | 开始审查(阻塞,等待结果) | 在当前代理中运行审查,等待交互式 HTML 报告生成 |
|
|
246
|
+
| **2** / Esc | 不是审查(放行给主代理) | 不启动审查,原消息交给当前 AI 处理 |
|
|
247
|
+
|
|
248
|
+
也支持直接输入 `/skill:review-html` 触发审查。审查结果以交互式 HTML 报告形式写入 `.pi-dev-output/pi-review/html/` 目录。
|
|
249
|
+
|
|
384
250
|
## 使用方式
|
|
385
251
|
|
|
386
252
|
### 安装
|
|
@@ -396,8 +262,6 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
396
262
|
pi install /path/to/pi-dev-workflow
|
|
397
263
|
```
|
|
398
264
|
|
|
399
|
-
### 加载
|
|
400
|
-
|
|
401
265
|
pi 会自动加载包内的 `skills/`、`prompts/`、`extensions/`、`themes/` 内容。
|
|
402
266
|
安装后执行 `/reload` 热加载所有变更。
|
|
403
267
|
|
|
@@ -411,7 +275,7 @@ pi install git:github.com/cherish-ltt/pi-dev-workflow
|
|
|
411
275
|
## 常见问题
|
|
412
276
|
|
|
413
277
|
**Q: Grill 阶段可以跳过吗?**
|
|
414
|
-
A: 可以。在 Grill 确认对话框中选择"否"
|
|
278
|
+
A: 可以。在 Grill 确认对话框中选择"否"即可跳过,原提示词不变直接投递给当前代理。追问过程中按 Esc 也可随时取消,已回答的问题仍会附加到提示词中。
|
|
415
279
|
|
|
416
280
|
**Q: 所有 `/dev-*` 命令都支持 Grill 吗?**
|
|
417
281
|
A: 不是。以下命令支持 Grill:`/dev-feat`、`/dev-fix`、`/dev-doc`、`/dev-refactor`、`/dev-test`、`/dev-perf`。`/dev-chore`、`/dev-style`、`/dev-security`、`/dev-explain`、`/dev-compare` 不包含 Grill 阶段。
|
|
@@ -420,10 +284,10 @@ A: 不是。以下命令支持 Grill:`/dev-feat`、`/dev-fix`、`/dev-doc`、`
|
|
|
420
284
|
A: 只有 `/dev-feat` 会在执行完成后触发 PRD 生成。其他命令不包含此阶段。如果需要为其他场景生成 PRD,可以手动使用 `to-prd` skill(直接引用 `/skill:to-prd`)。
|
|
421
285
|
|
|
422
286
|
**Q: 如何自定义 Grill 的问题数量和方向?**
|
|
423
|
-
A: 在 `extensions/grill-me-agent.ts` 中修改对应
|
|
287
|
+
A: 在 `extensions/grill-me-agent.ts` 中修改对应 Grill 场景的提示词即可控制问题方向和数量。目前各领域 Grill 的问题数量由 LLM 自主决定(典型 15-40 题)。
|
|
424
288
|
|
|
425
289
|
**Q: 追问问答是否影响原提示词?**
|
|
426
|
-
A:
|
|
290
|
+
A: 追问问答以「方案追问记录」区块追加到原提示词末尾,原提示词内容不变。当前代理执行时会同时参考原需求 + 追问中确认的决策。
|
|
427
291
|
|
|
428
292
|
**Q: Grill 中如何返回上一题?**
|
|
429
293
|
A: 使用 `Ctrl+Shift+←` 返回上一题(在选项列表和自定义输入框中均适用)。裸 `←` 键在选项列表中无效果,在输入框中用于光标左移编辑文本。
|
|
@@ -434,26 +298,14 @@ A: `Enter` 确认提交,`Esc` 取消返回选项列表,`Ctrl+Shift+←` 返
|
|
|
434
298
|
**Q: `grill-with-docs` skill 和 `/dev-*` 内置的 Grill 有什么区别?**
|
|
435
299
|
A: `grill-with-docs` 是可独立调用的 skill(`/skill:grill-with-docs`),侧重领域术语统一和文档同步(更新 CONTEXT.md、创建 ADR)。`/dev-*` 内置的 Grill 是任务向导的一部分,侧重方案追问完善,不涉及文档持久化。
|
|
436
300
|
|
|
437
|
-
**Q:
|
|
438
|
-
A:
|
|
439
|
-
|
|
440
|
-
**Q: 如何跳过工作流,直接发送 prompt 给主代理?**
|
|
441
|
-
A: 在工作流确认对话框中选择"否"即可直接发送 prompt 给主代理,行为与传统模式完全一致。
|
|
442
|
-
|
|
443
|
-
**Q: `{}` loop-group 最多循环多少次?会无限循环吗?**
|
|
444
|
-
A: 不会无限循环。每个 loop-group 默认最大循环次数为 3(由 `maxLoops` 字段控制),达到上限后无论审查结果如何都会进入下一步。`/dev-style` 的 loop-group 最大次数为 2。如果使用 `full-auto` 模式且问题重复出现,达到上限后自动结束循环。
|
|
445
|
-
|
|
446
|
-
**Q: reviewer 的审查等级如何决定 workflow 走向?**
|
|
447
|
-
A: reviewer 输出 `[REVIEW_SUMMARY]` JSON 块,`maxSeverity: "critical"` 时触发下一轮循环(如果未达上限),`"medium"` 或 `"low"` 时结束循环进入下一步。
|
|
448
|
-
|
|
449
|
-
**Q: docWriter 步骤为什么要标记为 `[confirm]`?**
|
|
450
|
-
A: 文档更新是可选的。有时代码变更只是内部重构或 Bug 修复,不需要更新 README。`[confirm]` 允许用户跳过此步骤。
|
|
301
|
+
**Q: 自动审查可以关闭吗?**
|
|
302
|
+
A: 检测到审查意图时选择"3. 不是审查"即可放行原消息给当前代理。如果需要完全关闭,可以在 `extensions/dev-prompts.ts` 中移除 `pi.on("input")` 的审查拦截逻辑。
|
|
451
303
|
|
|
452
|
-
**Q:
|
|
453
|
-
A:
|
|
304
|
+
**Q: Git 命令需要子代理吗?**
|
|
305
|
+
A: 不需要。`/git-commit`、`/git-push`、`git-commit-push` 直接通过 pi 的内置执行器运行 git,结果会出现在当前会话中。
|
|
454
306
|
|
|
455
|
-
**Q:
|
|
456
|
-
A:
|
|
307
|
+
**Q: 提示词保存到哪个目录?**
|
|
308
|
+
A: 向导组装的提示词保存到 `.pi-dev-output/pi-grill/answers/`,Grill 生成的问题文件保存到 `.pi-dev-output/pi-grill/questions/`。中断后重新执行对应命令可从备份恢复。
|
|
457
309
|
|
|
458
310
|
## License
|
|
459
311
|
|