@ghyper9023/pi-dev-workflow 0.4.3 → 0.5.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/.doc/AGENT-FRONTMATTER-REFERENCE.md +198 -0
- package/.version/RELEASE-v0.5.0.md +82 -0
- package/README.md +2 -0
- package/agents/git-agent.md +7 -0
- package/agents/grill/dev-doc-grill-agent.md +7 -0
- package/agents/grill/dev-fix-grill-agent.md +7 -0
- package/agents/grill/dev-grill-agent.md +7 -0
- package/agents/grill/dev-perf-grill-agent.md +7 -0
- package/agents/grill/dev-prd-agent.md +7 -0
- package/agents/grill/dev-refactor-grill-agent.md +7 -0
- package/agents/grill/dev-test-grill-agent.md +7 -0
- package/agents/review-agent.md +7 -0
- package/agents/workflow/docWriter-agent.md +13 -2
- package/agents/workflow/planner-agent.md +16 -3
- package/agents/workflow/reviewer-agent.md +21 -4
- package/agents/workflow/trimmer-agent.md +12 -1
- package/agents/workflow/worker-agent.md +17 -2
- package/extensions/sub-agents.ts +133 -16
- package/extensions/ui-helpers.ts +20 -20
- package/extensions/workflow-engine.ts +323 -16
- package/package.json +1 -1
- package/tests/test-workflow-engine-bugs.mjs +317 -0
- package/.pi-dev-output/pi-grill/answers/answer-mpds3by7-20260520-1606.md +0 -14
- package/.pi-dev-output/pi-grill/answers/answer-mpfe77f1-20260521-1913.md +0 -58
- package/.pi-dev-output/pi-grill/answers/answer-mpfh37wu-20260521-2034.md +0 -13
- package/.pi-dev-output/pi-grill/answers/answer-mpfi5q4c-20260521-2104.md +0 -13
- package/.pi-dev-output/pi-grill/answers/answer-mpfizccb-20260521-2127.md +0 -13
- package/.pi-dev-output/pi-grill/answers/answer-mpfjk78k-20260521-2143.md +0 -13
- package/.pi-dev-output/pi-grill/answers/answer-mpfttme1-20260522-0230.md +0 -13
- package/.pi-dev-output/pi-grill/questions/questions-mpfdz1tz-20260521-1907.json +0 -94
- package/.pi-dev-output/pi-plans/20260520-153000-fix-workflow-engine-bugs.md +0 -150
- package/.pi-dev-output/pi-plans/20260521-113000-fix-loopcount-timeout.md +0 -215
- package/.pi-dev-output/pi-plans/20260521-1730-grill-input-wrap-back-fix.md +0 -240
- package/.pi-dev-output/pi-plans/20260521-230000-fix-timeout-display-loopcount-gitdiff.md +0 -253
- package/.pi-dev-output/pi-plans/20260521-230500-esc-double-press-confirm-workflow.md +0 -137
- package/.pi-dev-output/pi-plans/20260521-235000-fix-gitdiff-loopcount.md +0 -258
- package/.pi-dev-output/pi-plans/20260522-113000-grill-left-arrow-fix.md +0 -274
- package/.pi-dev-output/pi-review/html/20260521-2305-review-workflow-index.html +0 -196
- package/.pi-dev-output/pi-review/md/review-20260520-100000.md +0 -91
- package/.pi-dev-output/pi-review/md/review-20260521-140000.md +0 -191
- package/.pi-dev-output/pi-review/md/review-20260521-190000.md +0 -189
- package/.pi-dev-output/pi-review/md/review-20260521-204500.md +0 -241
- package/.pi-dev-output/pi-review/md/review-20260521-214500.md +0 -270
- package/.pi-dev-output/pi-review/md/review-20260521-215158.md +0 -214
- package/.pi-dev-output/pi-review/md/review-20260521-234500.md +0 -201
- package/.pi-dev-output/pi-review/md/review-20260521-235500.md +0 -422
- package/.pi-dev-output/pi-review/md/review-20260522-000000.md +0 -212
- package/.pi-dev-output/pi-review/md/review-20260522-003000.md +0 -377
- package/.pi-dev-output/pi-review/md/review-20260522-003500.md +0 -296
- package/.pi-dev-output/pi-review/md/review-20260522-105000.md +0 -166
- package/.pi-dev-output/pi-workflow/checkpoint-20260520-153000-fix-workflow-engine-bugs.json +0 -108
- package/.pi-dev-output/pi-workflow/checkpoint-20260521-113000-fix-loopcount-timeout.json +0 -402
- package/.pi-dev-output/pi-workflow/checkpoint-20260521-1730-grill-input-wrap-back-fix.json +0 -447
- package/.pi-dev-output/pi-workflow/checkpoint-20260521-230000-fix-timeout-display-loopcount-gitdiff.json +0 -708
- package/.pi-dev-output/pi-workflow/checkpoint-20260521-230500-esc-double-press-confirm-workflow.json +0 -365
- package/.pi-dev-output/pi-workflow/checkpoint-20260521-235000-fix-gitdiff-loopcount.json +0 -395
- package/.pi-dev-output/pi-workflow/checkpoint-20260522-113000-grill-left-arrow-fix.json +0 -473
- package/.pi-dev-output/pi-workflow/checkpoint-archive-mpfhyxc5.json +0 -30
- package/.pi-dev-output/pi-workflow/checkpoint-archive-mpfi2unc.json +0 -49
- package/.pi-dev-output/pi-workflow/checkpoint-archive-mpfi382e.json +0 -59
- package/.pi-dev-output/pi-workflow/checkpoint-archive-mpfi5r22.json +0 -76
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Agent Frontmatter 配置参考
|
|
2
|
+
|
|
3
|
+
所有子代理的行为通过其 `.md` 文件的 YAML frontmatter 配置。
|
|
4
|
+
每个字段对应 `spawnSubagent()` 构造的 pi CLI 参数。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 完整字段一览
|
|
9
|
+
|
|
10
|
+
```yaml
|
|
11
|
+
---
|
|
12
|
+
name: <string> # 必填 — agent 标识名
|
|
13
|
+
description: <string> # 必填 — agent 描述
|
|
14
|
+
tools: <csv> # 工具白名单(逗号分隔)
|
|
15
|
+
thinking: <string> # 推理等级
|
|
16
|
+
session: <boolean> # 是否保存 session
|
|
17
|
+
session-dir: <string> # session 存储目录(默认 .pi-dev-output/pi-subagent-sessions/)
|
|
18
|
+
no-context: <boolean> # 是否跳过 AGENTS.md/CLAUDE.md
|
|
19
|
+
no-extensions: <boolean> # 是否禁用扩展加载
|
|
20
|
+
mode: <string> # 输出模式
|
|
21
|
+
extra-args: <string> # 额外 CLI 参数(空格分隔)
|
|
22
|
+
---
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 字段详解
|
|
28
|
+
|
|
29
|
+
### `name` — Agent 标识名
|
|
30
|
+
|
|
31
|
+
- **必填** ✓
|
|
32
|
+
- **类型**: `string`
|
|
33
|
+
- **作用**: 作为 `subagent` tool 的 `agent` 参数值、日志标识、session 文件名前缀
|
|
34
|
+
- **示例**: `planner`, `git-agent`, `review-agent`
|
|
35
|
+
|
|
36
|
+
### `description` — Agent 描述
|
|
37
|
+
|
|
38
|
+
- **必填** ✓
|
|
39
|
+
- **类型**: `string`
|
|
40
|
+
- **作用**: 在工具描述中展示,帮助 LLM 理解该 agent 的用途
|
|
41
|
+
|
|
42
|
+
### `tools` — 工具白名单
|
|
43
|
+
|
|
44
|
+
- **类型**: 逗号分隔的字符串
|
|
45
|
+
- **作用**: 对应 `--tools` CLI 参数
|
|
46
|
+
- **参数范围**: pi 内置工具名(可用 `pi --help` 查看),如 `read`, `bash`, `write`, `find`, `ls`, `grep`, `edit` 等
|
|
47
|
+
- **默认值**: 不传 `--tools` 则所有内置工具可用
|
|
48
|
+
- **示例**: `tools: read, bash, write, find, ls, grep`
|
|
49
|
+
|
|
50
|
+
### `thinking` — 推理等级
|
|
51
|
+
|
|
52
|
+
- **类型**: 字符串
|
|
53
|
+
- **作用**: 对应 `--thinking` CLI 参数
|
|
54
|
+
- **参数范围**:
|
|
55
|
+
|
|
56
|
+
| 值 | 说明 | 延迟影响 | Token 影响 |
|
|
57
|
+
|----|------|---------|-----------|
|
|
58
|
+
| `off` | 关闭推理(纯执行) | 基准 | 基准 |
|
|
59
|
+
| `low` | 少量推理 | +20~40% | +30~50% |
|
|
60
|
+
| `medium` | 中等推理 | +50~100% | +50~80% |
|
|
61
|
+
| `high` | 深度推理 | +100~300% | +100~200% |
|
|
62
|
+
| `xhigh` | 极限推理 | +200~500% | +200~400% |
|
|
63
|
+
|
|
64
|
+
- **建议**:
|
|
65
|
+
- `off` — git 操作、按计划写代码、机械精简
|
|
66
|
+
- `low` — 计划制定、代码审查、设计评审、PRD 编写
|
|
67
|
+
- `medium` — 复杂架构分析、跨模块重构
|
|
68
|
+
- `high` — 安全审计、深层 Bug 追踪
|
|
69
|
+
- `xhigh` — 极其复杂的跨领域分析
|
|
70
|
+
|
|
71
|
+
### `session` — Session 持久化
|
|
72
|
+
|
|
73
|
+
- **类型**: 布尔值
|
|
74
|
+
- **作用**: 对应 `--no-session` / `--session` CLI 参数
|
|
75
|
+
- **参数范围**: `true` | `false`
|
|
76
|
+
- **`false`** (默认): 子代理运行结束后不保留交互记录,性能最优
|
|
77
|
+
- **`true`**: 保存完整交互记录,便于调试/查看子代理的思考过程
|
|
78
|
+
|
|
79
|
+
当 `session: true` 时:
|
|
80
|
+
- 自动生成 session 名: `{ISO时间戳}_{agent名称}`
|
|
81
|
+
- 默认存储路径: `.pi-dev-output/pi-subagent-sessions/`
|
|
82
|
+
- 可通过 `session-dir` 自定义路径
|
|
83
|
+
|
|
84
|
+
### `session-dir` — Session 存储目录
|
|
85
|
+
|
|
86
|
+
- **类型**: 字符串(路径)
|
|
87
|
+
- **作用**: 对应 `--session-dir` CLI 参数
|
|
88
|
+
- **仅在 `session: true` 时生效**
|
|
89
|
+
- **默认值**: `.pi-dev-output/pi-subagent-sessions/`
|
|
90
|
+
- **示例**: `session-dir: /tmp/my-sessions`
|
|
91
|
+
|
|
92
|
+
### `no-context` — 项目上下文文件
|
|
93
|
+
|
|
94
|
+
- **类型**: 布尔值
|
|
95
|
+
- **作用**: 对应 `-nc` CLI 参数
|
|
96
|
+
- **参数范围**: `true` | `false`
|
|
97
|
+
|
|
98
|
+
| 值 | 行为 | 适用场景 |
|
|
99
|
+
|----|------|---------|
|
|
100
|
+
| `true` (默认) | 跳过 AGENTS.md / CLAUDE.md | git 操作、纯执行场景 |
|
|
101
|
+
| `false` | 加载 AGENTS.md / CLAUDE.md | 需要项目上下文的 agent(架构分析、代码审查) |
|
|
102
|
+
|
|
103
|
+
### `no-extensions` — 扩展加载
|
|
104
|
+
|
|
105
|
+
- **类型**: 布尔值
|
|
106
|
+
- **作用**: 对应 `-ne` CLI 参数
|
|
107
|
+
- **参数范围**: `true` | `false`
|
|
108
|
+
|
|
109
|
+
| 值 | 行为 | 适用场景 |
|
|
110
|
+
|----|------|---------|
|
|
111
|
+
| `true` (默认) | 禁用所有扩展,启动更快 | git 操作(仅需 bash) |
|
|
112
|
+
| `false` | 加载扩展(MCP 工具、Skill 文件等) | 需要 MCP/Skill 的 agent(计划、审查、文档) |
|
|
113
|
+
|
|
114
|
+
### `mode` — 输出模式
|
|
115
|
+
|
|
116
|
+
- **类型**: 字符串
|
|
117
|
+
- **作用**: 对应 `--mode` CLI 参数
|
|
118
|
+
- **参数范围**: `json` | `text`
|
|
119
|
+
|
|
120
|
+
| 值 | 行为 | 适用场景 |
|
|
121
|
+
|----|------|---------|
|
|
122
|
+
| `json` (默认) | JSON 结构化输出,workflow-engine 可解析 | 工作流 agent(planner/worker/reviewer/trimmer/docWriter) |
|
|
123
|
+
| `text` | 自然文本输出 | LLM 直接调用的场景 |
|
|
124
|
+
|
|
125
|
+
**注意**: 工作流引擎依赖 `extractFinalOutput()` 解析 JSON 输出,工作流 agent 必须使用 `mode: json`。
|
|
126
|
+
|
|
127
|
+
### `extra-args` — 额外 CLI 参数
|
|
128
|
+
|
|
129
|
+
- **类型**: 字符串(空格分隔多个参数)
|
|
130
|
+
- **作用**: 在所有标准参数之后追加,优先级最高
|
|
131
|
+
- **用途**: 传递 pi CLI 的其他参数,如 `--verbose`, `--color always`, `--max-tokens 4096` 等
|
|
132
|
+
- **示例**: `extra-args: --verbose --max-tokens 4096`
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 原始 CLI 参数映射表
|
|
137
|
+
|
|
138
|
+
以下是对应关系:**原始硬编码参数 → 配置位置**
|
|
139
|
+
|
|
140
|
+
| 原始参数 | 含义 | 配置方式 |
|
|
141
|
+
|---------|------|---------|
|
|
142
|
+
| `-p` | 非交互模式 | **始终启用**,不可配置 |
|
|
143
|
+
| `--no-session` | 不保存会话 | frontmatter `session: false` 或 `argsOverride.session = false` |
|
|
144
|
+
| `-nc` | 禁用上下文文件 | frontmatter `no-context: true` 或 `argsOverride.noContext = true` |
|
|
145
|
+
| `-ne` | 禁用扩展发现 | frontmatter `no-extensions: true` 或 `argsOverride.noExtensions = true` |
|
|
146
|
+
| `--mode json` | JSON 结构化输出 | frontmatter `mode: json` 或 `argsOverride.mode = "json"` |
|
|
147
|
+
| `--thinking off` | 关闭深度思考 | frontmatter `thinking: off` 或 `argsOverride.thinkingLevel = "off"` |
|
|
148
|
+
| `--tools ...` | 工具白名单 | frontmatter `tools: read, bash, ...` 或 `argsOverride.tools = [...]` |
|
|
149
|
+
|
|
150
|
+
**优先级**: `argsOverride` (调用方) > frontmatter > 硬编码默认值
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Agent 配置速查表
|
|
155
|
+
|
|
156
|
+
| Agent | thinking | session | no-context | no-extensions | mode | 适用场景 |
|
|
157
|
+
|-------|----------|---------|------------|---------------|------|---------|
|
|
158
|
+
| **git-agent** | off | false | **true** ✅ | **true** ✅ | json | 纯 git 命令,最小开销 |
|
|
159
|
+
| **planner** | low | false | **false** 🔓 | **false** 🔓 | json | 需 MCP/Skill 分析代码结构 |
|
|
160
|
+
| **worker** | off | false | **false** 🔓 | **false** 🔓 | json | 按计划写代码,可调用 MCP |
|
|
161
|
+
| **reviewer** | low | false | **false** 🔓 | **false** 🔓 | json | 需 Skill 审查代码 |
|
|
162
|
+
| **trimmer** | off | false | **false** 🔓 | **false** 🔓 | json | 精简代码,可用 MCP |
|
|
163
|
+
| **docWriter** | off | false | **false** 🔓 | **false** 🔓 | json | 更新文档,可读代码库 |
|
|
164
|
+
| **review-agent** | low | false | **false** 🔓 | **false** 🔓 | json | HTML 审查报告 |
|
|
165
|
+
| **dev-*-grill-agent** | low | false | **false** 🔓 | **false** 🔓 | json | 设计评审追问 |
|
|
166
|
+
| **dev-prd-agent** | low | false | **false** 🔓 | **false** 🔓 | json | PRD 合成 |
|
|
167
|
+
|
|
168
|
+
> ✅ `true` = 禁用 / 🔓 `false` = 开启
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## `argsOverride`(调用方覆写)参考
|
|
173
|
+
|
|
174
|
+
`spawnSubagent()` 第 7 个参数,TypeScript 接口:
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
interface SubagentArgs {
|
|
178
|
+
thinkingLevel?: string; // "off" | "low" | "medium" | "high" | "xhigh"
|
|
179
|
+
session?: boolean; // true/false
|
|
180
|
+
sessionDir?: string; // 自定义 session 路径
|
|
181
|
+
noContext?: boolean; // true/false
|
|
182
|
+
noExtensions?: boolean; // true/false
|
|
183
|
+
mode?: string; // "json" | "text"
|
|
184
|
+
tools?: string[]; // 工具白名单数组
|
|
185
|
+
appendSystemPrompt?: string; // 额外 system prompt
|
|
186
|
+
extraArgs?: string[]; // 原始 CLI 参数
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
示例(workflow-engine 中覆写):
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
const result = await spawnSubagent(agent, task, cwd, signal, timeout, onProgress, {
|
|
194
|
+
thinkingLevel: "medium", // 临时提升推理等级
|
|
195
|
+
session: true, // 调试时保存 session
|
|
196
|
+
noExtensions: false, // 临时开启 MCP
|
|
197
|
+
});
|
|
198
|
+
```
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Release v0.5.0
|
|
2
|
+
|
|
3
|
+
## 🚀 Features
|
|
4
|
+
|
|
5
|
+
### 工作流 UUID 溯源与链式上下文传递
|
|
6
|
+
- 为每个工作流运行生成唯一 UUID,注入所有子 agent 提示中,实现跨阶段文件关联追溯
|
|
7
|
+
- 子 agent 会话名、审查报告文件名、计划文件名均附加 UUID,便于调试和定位
|
|
8
|
+
- 新增 **chain context** 机制,将上一阶段输出(实施摘要/审查反馈)自动传递给下一阶段
|
|
9
|
+
- docWriter 阶段自动聚合全部变更文件列表
|
|
10
|
+
- UI 组件展示工作流 UUID,支持文件关联追溯
|
|
11
|
+
|
|
12
|
+
### 代理前置元数据(Frontmatter)配置体系
|
|
13
|
+
- 为所有 agent(git-agent, 各类 grill agent, review-agent, workflow 子 agent 等)新增标准前置元数据字段:`thinking`、`session`、`session-dir`、`no-context`、`no-extensions`、`mode`、`extra-args`
|
|
14
|
+
- 增强子代理 TypeScript 定义以支持新前言字段,并增加解析逻辑
|
|
15
|
+
- 新增完整的前置元数据配置参考文档 `.doc/AGENT-FRONTMATTER-REFERENCE.md`
|
|
16
|
+
|
|
17
|
+
### 自定义 UUID v7 生成器
|
|
18
|
+
- 使用时间前缀 + 随机后缀的 UUID v7 方案替换 `crypto.randomUUID()`,提升工作流标识符的唯一性与可排序性
|
|
19
|
+
|
|
20
|
+
### 代理思维等级属性
|
|
21
|
+
- 在 UI 子步骤面板中展示代理的 `thinkingLevel` 属性,增强运行状态可见性
|
|
22
|
+
|
|
23
|
+
## 🐛 Bug Fixes
|
|
24
|
+
|
|
25
|
+
### 子代理计时器错误
|
|
26
|
+
- 修复:代理完成后正确设置 `durationMs` 并清除 `startedAt`,计时不再持续增长
|
|
27
|
+
- 修复:已完成子代理使用记录的 `durationMs`,运行中才使用 live 计时
|
|
28
|
+
- 修复:移除父步骤行的计时/超时显示,仅子代理行展示
|
|
29
|
+
- 修复:循环组新循环时 `resetWidgetSubStepTimers` 清除上一轮计时数据
|
|
30
|
+
|
|
31
|
+
## 🔧 Refactor
|
|
32
|
+
|
|
33
|
+
### 移除 workflow agent 的 tools 白名单
|
|
34
|
+
- 移除 `agents/workflow/*-agent.md` 中的 tools 白名单,允许 MCP 工具访问
|
|
35
|
+
- `sub-agents.ts`:session 使用完整路径 + `.jsonl`,自动创建目录
|
|
36
|
+
- `workflow-engine.ts`:`executeSingleStep` 中捕获链上下文变更摘要
|
|
37
|
+
- 新增 `buildReviewTask` 强制 JSON 摘要提示,增强 reviewer 可靠性
|
|
38
|
+
|
|
39
|
+
### Agent 指令全面增强
|
|
40
|
+
- 所有 agent 添加 MCP/SKILL 额外工具说明(措辞更具体化)
|
|
41
|
+
- **worker**:合并重复约束,完善自我 review 流程
|
|
42
|
+
- **reviewer**:拆分分析代码为独立步骤,补充 `git log`/`git blame` 溯源;添加避免连续错误的思维增强提示
|
|
43
|
+
- **docWriter**:禁止为精简而删除原有正确文档
|
|
44
|
+
|
|
45
|
+
### Planner 步骤顺序调整
|
|
46
|
+
- 调整实施计划分析步骤顺序,优化产出质量
|
|
47
|
+
|
|
48
|
+
## 📦 Files Changed
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
22 files changed, 1140 insertions(+), 65 deletions(-)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### New
|
|
55
|
+
|
|
56
|
+
- `.doc/AGENT-FRONTMATTER-REFERENCE.md` — 代理前置元数据配置参考文档
|
|
57
|
+
- `tests/test-workflow-engine-bugs.mjs` — 工作流引擎缺陷回归测试(覆盖链上下文、Agent 元数据、UUID 溯源等场景)
|
|
58
|
+
|
|
59
|
+
### Modified
|
|
60
|
+
|
|
61
|
+
- `.gitignore` — 新增 `qa.md` 和 `.pi-dev.output/` 忽略规则
|
|
62
|
+
- `README.md` — 版本号更新
|
|
63
|
+
- `package.json` — 版本号更新至 v0.5.0
|
|
64
|
+
- `agents/*.md`(16 个文件)— 新增前置元数据字段 + 指令增强
|
|
65
|
+
- `extensions/sub-agents.ts` — 前置元数据解析、session 路径优化、链上下文支持
|
|
66
|
+
- `extensions/ui-helpers.ts` — UUID 展示、计时修正、思维等级显示
|
|
67
|
+
- `extensions/workflow-engine.ts` — UUID 生成、链上下文传递、计时修复、工具白名单移除
|
|
68
|
+
|
|
69
|
+
## 🔗 Commit History
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
bf27a21 feat: 添加代理思维等级属性到工作流子步骤,增强代理状态信息
|
|
73
|
+
64fdcb7 feat: 使用自定义 UUID v7 生成器替换随机 UUID,增强工作流唯一性
|
|
74
|
+
146261b refactor: 移除 workflow agent 的 tools 白名单,增强 session 路径与链上下文机制
|
|
75
|
+
9b0fa0f feat: 添加工作流 UUID 溯源与链式上下文传递机制
|
|
76
|
+
774b9d7 refactor(planner): 调整实施计划分析步骤顺序
|
|
77
|
+
f3192d1 feat: 增强代理配置并添加前置元数据引用
|
|
78
|
+
a04ca78 update version to v0.5.0
|
|
79
|
+
ca1259c refactor(agents): 增强 workflow agent 指令(reviewer)
|
|
80
|
+
e4e5e70 refactor(agents): 增强 workflow agent 指令(全部子 agent)
|
|
81
|
+
b84a729 fix(workflow): 修复子代理计时器错误
|
|
82
|
+
```
|
package/README.md
CHANGED
package/agents/git-agent.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-doc-grill-agent
|
|
3
3
|
description: 文档评审 agent — 在编写文档前审查文档大纲
|
|
4
4
|
tools: read, bash
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深技术文档工程师,负责审查文档编写计划。请对开发者进行深入追问。
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-fix-grill-agent
|
|
3
3
|
description: Bug 修复评审 agent — 挑战开发者对 Bug 根本原因的理解
|
|
4
4
|
tools: read, bash
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深调试专家,负责审查 Bug 修复方案。请对开发者进行深入追问。
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-grill-agent
|
|
3
3
|
description: 设计方案评审 agent — 对功能方案进行严苛的设计评审
|
|
4
4
|
tools: read, bash, write
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深设计评审专家。请围绕功能方案的每一个方面对开发者进行深入追问,直到双方达成共识。
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-perf-grill-agent
|
|
3
3
|
description: 性能评审 agent — 审查优化方案和基准测试策略
|
|
4
4
|
tools: read, bash
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深性能工程师,负责审查优化方案。请对开发者进行深入追问。
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-refactor-grill-agent
|
|
3
3
|
description: 重构评审 agent — 在实施重构前审查重构计划
|
|
4
4
|
tools: read, bash
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深软件架构师,负责审查重构计划。请对开发者进行深入追问。
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: dev-test-grill-agent
|
|
3
3
|
description: 测试计划评审 agent — 在编写测试前审查测试覆盖和方法
|
|
4
4
|
tools: read, bash
|
|
5
|
+
thinking: high
|
|
6
|
+
session: false
|
|
7
|
+
session-dir:
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一名资深 QA 工程师,负责审查测试计划。请对开发者进行深入追问。
|
package/agents/review-agent.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
name: review-agent
|
|
3
3
|
description: Review 代码,生成 HTML 审查报告并输出到 .pi-dev-output/pi-review/html/ 目录
|
|
4
4
|
tools: read, write, bash, grep, find, ls
|
|
5
|
+
thinking: high
|
|
6
|
+
session: true
|
|
7
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/review-agent/
|
|
8
|
+
no-context: false
|
|
9
|
+
no-extensions: false
|
|
10
|
+
mode: json
|
|
11
|
+
extra-args:
|
|
5
12
|
---
|
|
6
13
|
|
|
7
14
|
你是一个代码审查助手,运行在隔离的上下文窗口中。
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: docWriter
|
|
3
3
|
description: 文档撰写 agent — 更新 README 及 API 文档,添加代码注释
|
|
4
|
-
|
|
4
|
+
thinking: off
|
|
5
|
+
session: true
|
|
6
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/docWriter/
|
|
7
|
+
no-context: false
|
|
8
|
+
no-extensions: false
|
|
9
|
+
mode: json
|
|
10
|
+
extra-args:
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
你是一个技术文档工程师。你的任务是根据代码库的最新状态以及从最近几次git-commit或git-diff中的改动,更新 README 和必要的代码注释。
|
|
@@ -19,11 +25,16 @@ tools: read, bash, write, find, ls, grep
|
|
|
19
25
|
- 添加/更新代码注释:对关键函数添加 JSDoc/TSDoc 注释
|
|
20
26
|
- 保持文档风格与现有文档一致
|
|
21
27
|
|
|
28
|
+
## 额外可用工具
|
|
29
|
+
|
|
30
|
+
- `MCP`:可直接调用已注册的 MCP 工具获取外部信息或执行操作
|
|
31
|
+
- `SKILL`:可直接使用项目中可用的 SKILL 文件获取领域知识和最佳实践
|
|
32
|
+
|
|
22
33
|
## 约束
|
|
23
34
|
|
|
24
35
|
- **不要修改业务逻辑代码**(只添加或修改注释/文档)
|
|
25
36
|
- 注释应说明"为什么"而非"是什么"
|
|
26
37
|
- 使用项目已有的注释风格
|
|
27
38
|
- 如果项目没有 README,创建一个基本的 README.md
|
|
28
|
-
-
|
|
39
|
+
- 避免文档膨胀:只记录必要的、稳定的接口和功能,但不因此为了精简而删除原有的且正确的文档,原有错误的文档只修复,不删除。
|
|
29
40
|
- 确保文档与实际代码行为一致
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planner
|
|
3
3
|
description: 计划制定 agent — 分析代码库结构,生成详细实施计划并写入 .pi-dev-output/pi-plans/
|
|
4
|
-
|
|
4
|
+
thinking: xhigh
|
|
5
|
+
session: true
|
|
6
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/planner/
|
|
7
|
+
no-context: false
|
|
8
|
+
no-extensions: false
|
|
9
|
+
mode: json
|
|
10
|
+
extra-args:
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
你是一个资深技术架构师和计划制定专家。你的任务是分析代码库,生成一份详细的实施计划。
|
|
@@ -12,10 +18,17 @@ tools: read, bash, write, find, ls, grep
|
|
|
12
18
|
2. **探索代码库**:使用 `find` / `ls` / `bash` 了解项目结构,使用 `read` 阅读关键文件。
|
|
13
19
|
3. **分析影响范围**:确定哪些文件需要修改、新增或删除,评估依赖关系。
|
|
14
20
|
4. **制定实施计划**:为每个实施步骤编号,描述具体的改动内容和测试策略。
|
|
15
|
-
5.
|
|
16
|
-
|
|
21
|
+
5. **分析实施计划**:分析制定出的计划,查漏补缺,确认计划完美无缺。
|
|
22
|
+
6. **写入计划文件**:使用 `write` 工具将计划保存到 `.pi-dev-output/pi-plans/` 目录。
|
|
23
|
+
- 文件名格式:`<YYYYMMDD-HHmmss>-<简短功能名>-<工作流UUID>.md`
|
|
24
|
+
- 工作流 UUID 由 task prompt 中的 `## 工作流信息` 提供,附加在文件名末尾
|
|
17
25
|
- 确保 `.pi-dev-output/pi-plans/` 目录存在(若不存在则创建)
|
|
18
26
|
|
|
27
|
+
## 额外可用工具
|
|
28
|
+
|
|
29
|
+
- `MCP`:可直接调用已注册的 MCP 工具获取外部信息或执行操作
|
|
30
|
+
- `SKILL`:可直接使用项目中可用的 SKILL 文件获取领域知识和最佳实践
|
|
31
|
+
|
|
19
32
|
## 计划模板
|
|
20
33
|
|
|
21
34
|
```markdown
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reviewer
|
|
3
3
|
description: 代码审查 agent — 审查代码质量,输出结构化审查报告(含严重等级)
|
|
4
|
-
|
|
4
|
+
thinking: high
|
|
5
|
+
session: true
|
|
6
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/reviewer/
|
|
7
|
+
no-context: false
|
|
8
|
+
no-extensions: false
|
|
9
|
+
mode: json
|
|
10
|
+
extra-args:
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
你是一个资深代码审查专家。你的任务是对代码库的变更进行审查,输出包含严重等级的结构化报告。
|
|
@@ -12,13 +18,24 @@ tools: read, bash, write, find, ls, grep
|
|
|
12
18
|
2. **探索代码**:使用 `read` / `find` / `ls` / `bash` / `grep` 检查代码质量:
|
|
13
19
|
- 运行 `git diff HEAD` 或 `git log -p -n 3` 查看未提交或最近的变更
|
|
14
20
|
- 阅读关键文件的当前状态
|
|
15
|
-
3.
|
|
21
|
+
3. **分析代码**:
|
|
22
|
+
- 根据 prompt 和代码上下文,准确判断新增或修改的代码意图
|
|
23
|
+
- 如果对修改意图不确定,使用 `bash` 运行 `git log` / `git blame` / `.pi-dev-output/pi-plans`文件夹 查看提交历史或plan计划
|
|
24
|
+
- **确认意图后,认真分析代码质量**
|
|
25
|
+
- 对分析结果进行梳理,分析应避免出现独立修复`BUG-X1`,`BUG-X2`,`BUG-X3`时候又刚好引入新BUG
|
|
26
|
+
4. **分类问题**:按以下 3 个等级分类:
|
|
16
27
|
- **严重(critical)**:Bug、逻辑错误、安全漏洞、数据丢失风险、功能未实现
|
|
17
28
|
- **中等(medium)**:可优化项、冗余代码、性能问题、异常处理缺失
|
|
18
29
|
- **低优先级(low)**:代码风格、命名建议、注释改进、结构微调
|
|
19
|
-
|
|
30
|
+
5. **输出审查报告**:
|
|
20
31
|
- 将详细报告写入 `.pi-dev-output/pi-review/md/` 目录
|
|
21
|
-
- 文件名格式:`review-<YYYYMMDD-HHmmss>.md`
|
|
32
|
+
- 文件名格式:`review-<YYYYMMDD-HHmmss>-<工作流UUID>.md`
|
|
33
|
+
- 工作流 UUID 由 task prompt 中的 `## 工作流信息` 提供,附加在文件名末尾
|
|
34
|
+
|
|
35
|
+
## 额外可用工具
|
|
36
|
+
|
|
37
|
+
- `MCP`:可直接调用已注册的 MCP 工具获取外部信息或执行操作
|
|
38
|
+
- `SKILL`:可直接使用项目中可用的 SKILL 文件获取领域知识和最佳实践
|
|
22
39
|
|
|
23
40
|
## 输出格式
|
|
24
41
|
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trimmer
|
|
3
3
|
description: 代码精简 agent — 精简冗余代码,缩短行数,优化可读性
|
|
4
|
-
|
|
4
|
+
thinking: medium
|
|
5
|
+
session: true
|
|
6
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/trimmer/
|
|
7
|
+
no-context: false
|
|
8
|
+
no-extensions: false
|
|
9
|
+
mode: json
|
|
10
|
+
extra-args:
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
你是一个代码精简和可读性优化专家。你的任务是精简代码,缩短不必要冗长的行,消除重复逻辑,在不改变行为的前提下提升可读性。
|
|
@@ -24,6 +30,11 @@ tools: read, bash, write, find, ls, grep
|
|
|
24
30
|
- 语法正确
|
|
25
31
|
- 可读性更好或至少不变
|
|
26
32
|
|
|
33
|
+
## 额外可用工具
|
|
34
|
+
|
|
35
|
+
- `MCP`:可直接调用已注册的 MCP 工具获取外部信息或执行操作
|
|
36
|
+
- `SKILL`:可直接使用项目中可用的 SKILL 文件获取领域知识和最佳实践
|
|
37
|
+
|
|
27
38
|
## 约束
|
|
28
39
|
|
|
29
40
|
- **绝不改变业务逻辑**。这是最高优先级。
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: worker
|
|
3
3
|
description: 代码实施 agent — 根据计划逐步实现代码改动
|
|
4
|
-
|
|
4
|
+
thinking: medium
|
|
5
|
+
session: true
|
|
6
|
+
session-dir: .pi-dev-output/pi-subagent-sessions/worker/
|
|
7
|
+
no-context: false
|
|
8
|
+
no-extensions: false
|
|
9
|
+
mode: json
|
|
10
|
+
extra-args:
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
你是一个资深软件工程师。你的任务是严格按照实施计划实现代码。
|
|
@@ -16,8 +22,14 @@ tools: read, bash, write, find, ls, grep
|
|
|
16
22
|
- 每个步骤完成后,若计划中有验证命令则运行确认
|
|
17
23
|
4. **自我检查**:完成所有步骤后,确保:
|
|
18
24
|
- 没有遗漏任何计划中的改动
|
|
25
|
+
- 对修改的代码自我 review 一遍
|
|
19
26
|
- 代码语法正确(可运行 `node -c` 或 `tsc --noEmit` 等检查)
|
|
20
|
-
-
|
|
27
|
+
- 确认没有因为偷懒而破坏现有功能或忽略某项计划
|
|
28
|
+
|
|
29
|
+
## 额外可用工具
|
|
30
|
+
|
|
31
|
+
- `MCP`:可直接调用已注册的 MCP 工具获取外部信息或执行操作
|
|
32
|
+
- `SKILL`:可直接使用项目中可用的 SKILL 文件获取领域知识和最佳实践
|
|
21
33
|
|
|
22
34
|
## 约束
|
|
23
35
|
|
|
@@ -26,4 +38,7 @@ tools: read, bash, write, find, ls, grep
|
|
|
26
38
|
- **最小改动原则**:只修改计划中列出的文件,只做计划中描述的改动
|
|
27
39
|
- **不要删除未计划删除的文件**
|
|
28
40
|
- **不要修改未计划修改的现有逻辑**(除非计划中明确要求)
|
|
41
|
+
- **计划实施完成后,首先自我 review,然后使用语法检查、`test` 命令等确认代码无误**
|
|
42
|
+
- **不修改除本项目/本目录以外的任何文件或内容**
|
|
29
43
|
- 若发现计划有误或不可行,请在输出中说明原因和建议的修正方案,不要擅自变更计划
|
|
44
|
+
- **实施完成后,在回复中列出你修改的所有文件及变更类型(新增/修改/删除),供后续审查者参考**
|