paseo-req-kit 1.15.0-beta.3 → 1.15.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/CHANGELOG.md +30 -0
- package/docs/guide//347/273/264/346/212/244/350/200/205/346/214/207/345/215/227.md +2 -0
- package/engine/src/review-assets/rk.css +3 -1
- package/package.json +1 -1
- package/paseo-plugin/package.json +1 -1
- package/site-dist/404.html +3 -3
- package/site-dist/assets/{app.Ny0BZHeG.js → app.CCm2qM4T.js} +1 -1
- package/site-dist/assets/changelog.md.CDE3qrad.js +1 -0
- package/site-dist/assets/chunks/@localSearchIndexroot.BO2LmFLd.js +1 -0
- package/site-dist/assets/chunks/{VPLocalSearchBox.BCWGSI0L.js → VPLocalSearchBox.B5jNLHMs.js} +1 -1
- package/site-dist/assets/chunks/{theme.BeEUWcJI.js → theme.CaZODfVA.js} +2 -2
- package/site-dist/assets/{guide_getting-started.md.DBJ0aMgy.js → guide_getting-started.md.sQQutlRB.js} +1 -1
- package/site-dist/assets/{guide_maintainer.md.SWALpGR5.js → guide_maintainer.md.CKt4mDvc.js} +1 -1
- package/site-dist/assets/{guide_maintainer.md.SWALpGR5.lean.js → guide_maintainer.md.CKt4mDvc.lean.js} +1 -1
- package/site-dist/assets/{style.2G3zLS3c.css → style.2YlqWS09.css} +1 -1
- package/site-dist/changelog.html +6 -6
- package/site-dist/guide/getting-started.html +6 -6
- package/site-dist/guide/how-it-works.html +5 -5
- package/site-dist/guide/index.html +5 -5
- package/site-dist/guide/install.html +5 -5
- package/site-dist/guide/maintainer.html +6 -6
- package/site-dist/guide/phases.html +5 -5
- package/site-dist/guide/project.html +5 -5
- package/site-dist/guide/user.html +5 -5
- package/site-dist/hashmap.json +1 -1
- package/site-dist/index.html +5 -5
- package/site-dist/reference/adr/0001-step-agents-under-origin-chat.html +5 -5
- package/site-dist/reference/adr/0002-no-directory-switch-in-chat.html +5 -5
- package/site-dist/reference/adr/0003-script-engine-not-hub.html +5 -5
- package/site-dist/reference/adr/0004-result-files.html +5 -5
- package/site-dist/reference/adr/0005-no-default-branch-local-commits-only.html +5 -5
- package/site-dist/reference/adr/0006-skill-install-targets.html +5 -5
- package/site-dist/reference/adr/0007-own-interview-skill.html +5 -5
- package/site-dist/reference/adr/0008-entries-do-not-call-entries.html +5 -5
- package/site-dist/reference/adr/0009-versioned-install-layout.html +5 -5
- package/site-dist/reference/adr/0010-generated-feature-overview.html +5 -5
- package/site-dist/reference/adr/0011-resume-after-completion.html +5 -5
- package/site-dist/reference/adr/0012-review-panel.html +5 -5
- package/site-dist/reference/adr/0013-no-release-tooling.html +5 -5
- package/site-dist/reference/adr/0014-notifier-slot.html +5 -5
- package/site-dist/reference/adr/0015-incremental-continue.html +5 -5
- package/site-dist/reference/adr/0016-upgrade-from-tags.html +5 -5
- package/site-dist/reference/adr/0017-use-paseo-capabilities.html +5 -5
- package/site-dist/reference/adr/0018-own-worktree-option.html +5 -5
- package/site-dist/reference/adr/0019-parallel-orchestration.html +5 -5
- package/site-dist/reference/adr/0020-scheduling-through-the-chat.html +5 -5
- package/site-dist/reference/adr/0021-npm-version-manager.html +5 -5
- package/site-dist/reference/adr/0022-develop-and-verify-phases.html +5 -5
- package/site-dist/reference/adr/0023-types-gate-slices.html +5 -5
- package/site-dist/reference/adr/0024-confirm-early-review-axes.html +5 -5
- package/site-dist/reference/adr/0025-joint-requirements.html +5 -5
- package/site-dist/reference/adr/0026-machine-records-and-api.html +5 -5
- package/site-dist/reference/adr/0027-paseo-plugin.html +5 -5
- package/site-dist/reference/adr/0028-external-integrations.html +5 -5
- package/site-dist/reference/adr/0029-requirements-from-cards.html +5 -5
- package/site-dist/reference/adr/0030-card-intake-process.html +5 -5
- package/site-dist/reference/adr/0031-fewer-interventions.html +5 -5
- package/site-dist/reference/adr/0032-npm-only-install.html +5 -5
- package/site-dist/reference/adr/0033-prototype-review-and-ui-check.html +5 -5
- package/site-dist/reference/adr/index.html +5 -5
- package/site-dist/reference/commands.html +5 -5
- package/site-dist/reference/config.html +5 -5
- package/site-dist/reference/contracts/cli-json.html +5 -5
- package/site-dist/reference/contracts/feature-files.html +5 -5
- package/site-dist/reference/contracts/index.html +5 -5
- package/site-dist/reference/contracts/notifier-event.html +5 -5
- package/site-dist/reference/contracts/result-file.html +5 -5
- package/site-dist/reference/contracts/spec.html +5 -5
- package/site-dist/reference/contracts/state.html +5 -5
- package/site-dist/reference/contracts/usage-record.html +5 -5
- package/site-dist/reference/contracts/verify.html +5 -5
- package/site-dist/reference/scope.html +5 -5
- package/site-dist/assets/changelog.md.CUwudFS5.js +0 -1
- package/site-dist/assets/chunks/@localSearchIndexroot.BmFA3hqY.js +0 -1
- /package/site-dist/assets/{changelog.md.CUwudFS5.lean.js → changelog.md.CDE3qrad.lean.js} +0 -0
- /package/site-dist/assets/{guide_getting-started.md.DBJ0aMgy.lean.js → guide_getting-started.md.sQQutlRB.lean.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
每个版本分为"使用者会看到的变化"和"升级须知"。升级步骤见 [docs/guide/安装与升级.md](docs/guide/安装与升级.md)。
|
|
4
4
|
|
|
5
|
+
## 1.15.0
|
|
6
|
+
|
|
7
|
+
稳定版:审查网页、Paseo 插件和文档站按同一套设计规范重做,要你决定的事用青柠色标出来,AI 写的和人写的一眼分开;每个正式版自动生成海报和汇报幻灯片。内容包括 1.15.0-beta.1 至 beta.4(详见下面各条)。
|
|
8
|
+
|
|
9
|
+
### 使用者会看到的变化
|
|
10
|
+
|
|
11
|
+
- **三个审查网页换上新设计**:审查原型、验收清单、代码审查用同一个骨架:顶栏写清需求名和功能目录,底部决定栏放这一页要你做的决定,每页只有一个青柠色主按钮,条件不满足时写明还差什么。代码审查页把 AI 评审意见和你写的意见分开显示;验收清单页把"先看这些"和"流水线已验证"分开;原型上你点选的地方是青柠图钉。
|
|
12
|
+
- **Paseo 插件换上新设计**:底色和文字跟随 Paseo 的主题;需求列表每行有状态图标和"项目 · 功能目录","等你处理"用图标块标出要做的事,需求页顶部的放行轨显示走到了哪一步。
|
|
13
|
+
- **文档站和首页换上新设计**:首页有安装命令(三种系统,一键复制)、需求怎么走的步骤轨和能力介绍;正文页的侧边栏、提示框和代码块按新规范显示,默认跟随系统深浅色。`req docs` 打开的本机文档站一样。
|
|
14
|
+
- **每个正式版自动生成海报和幻灯片**:竖版海报、群聊卡片和汇报幻灯片附在 GitHub Release 上,内容取自这一版的更新记录,数字都是当次核实过的。
|
|
15
|
+
- **网页不再加载外网字体**:内网打开审查页和文档站不会等字体超时。
|
|
16
|
+
- **修复:代码审查页底部的决定栏没有对齐。** 标签放到输入框左边,摘要、输入框和按钮在同一行。
|
|
17
|
+
|
|
18
|
+
### 升级须知
|
|
19
|
+
|
|
20
|
+
- 页面、插件的接口和行为没有变化,只换了外观;升级后照常运行 `req plugin install` 更新 Paseo 里的插件(`req upgrade` 会自动做)。
|
|
21
|
+
- 设计规范在仓库的 `design/` 目录(和 CMASTER 同属一个设计家族,主色青柠绿);审查网页、插件和文档站用的颜色和图标由 `scripts/tokens-build.mjs` 从这里生成,测试会检查它们一致、没有写死的颜色。
|
|
22
|
+
- 维护者:正式版的海报口号写在 `design/releases/<版本>.json`,详见维护者指南"正式版的海报和幻灯片"。
|
|
23
|
+
|
|
24
|
+
## 1.15.0-beta.4
|
|
25
|
+
|
|
26
|
+
### 使用者会看到的变化
|
|
27
|
+
|
|
28
|
+
- **修复:代码审查页底部的决定栏没有对齐。** "审核人""评审人"的标签放到输入框左边,摘要、输入框和按钮在同一行垂直居中;验收清单页的"验收人"同样处理。
|
|
29
|
+
- **每个正式版自动生成一张海报、一张群聊卡片和一套汇报幻灯片**,附在 GitHub Release 上(`req-kit-<版本>-poster.png`、`-card.png`、`-slides.pdf`,以及可以再改的 `-slides.html`)。内容取自更新记录的这一版:导语、每项变化、升级须知,加上这次发布跑过的测试数、版本数和设计决定记录数。
|
|
30
|
+
|
|
31
|
+
### 升级须知
|
|
32
|
+
|
|
33
|
+
- 维护者:正式版的口号可以写在 `design/releases/<版本>.json`,没有就用版本号;本机预览运行 `node scripts/release-media.mjs <版本> --render`。详见维护者指南"正式版的海报和幻灯片"。beta 发布时也会生成一遍用来检查,但不附在 Release 上。
|
|
34
|
+
|
|
5
35
|
## 1.15.0-beta.3
|
|
6
36
|
|
|
7
37
|
### 使用者会看到的变化
|
|
@@ -52,6 +52,8 @@
|
|
|
52
52
|
|
|
53
53
|
不建议为发布生成长期口令:npm 正在收紧可以跳过 2FA 的口令,计划 2027 年 1 月起不再允许它们直接发布。工作流仍然支持仓库 Secrets 中的 `NPM_TOKEN`(有就用),供无法用可信发布的内网仓库使用。
|
|
54
54
|
|
|
55
|
+
**正式版的海报和幻灯片**(1.15 起):正式版发布时,工作流用 `scripts/release-media.mjs` 从 CHANGELOG 的这一节生成竖版海报(1080×1920 PNG)、群聊卡片(1200×630 PNG)和汇报幻灯片(1920×1080 PDF,附可编辑的 HTML),附在 GitHub Release 上,文件名 `req-kit-<版本>-poster.png`、`-card.png`、`-slides.pdf`、`-slides.html`。内容取自这一节:第一段("稳定版:……")是导语,"使用者会看到的变化"里每条开头的加粗文字是一项变化("修复:"开头的排在最后),"升级须知"单独一页;测试数取自这次发布跑的测试,版本数、设计决定记录数从仓库数。标题默认是版本号,想写一句口号就在 `design/releases/<版本>.json` 里写 `title`(`\n` 换行,海报每行不超过 8 个字,`*…*` 是渐变关键词)、`lead`、`card`,在改版本号的同一个提交里加上。本机预览:`node scripts/release-media.mjs <版本> --render`(需要 Playwright,用 `PLAYWRIGHT_DIR` 指向它的目录),输出在 `release-media/<版本>/`。这一步失败不影响发布;beta 也会生成一遍用来检查,但不附在 Release 上。
|
|
56
|
+
|
|
55
57
|
**重新发布已有的标签**:GitHub → Actions → release → Run workflow,填版本标签(如 `1.7.0-beta.2`)。用的是当前 main 上的流程、标签上的代码;手机网页也能操作。npm 发布失败时仍会建好 Release 和 `.tgz`,最后再报错。
|
|
56
58
|
|
|
57
59
|
**检查**:`ci.yml` 在每次推送到 main 和每个 PR 时运行测试、类型检查、评估自检和打包检查。推送版本标签前先确认它是绿的。`paseo-<小版本>` 标签的设置需要一个口令:在仓库的 Secrets 中加 `NPM_TOKEN`(自动化口令);不加时工作流会提示手工执行 `npm dist-tag add`。`req upgrade` 按各版本声明的 `reqKit.paseo` 选择版本,不依赖这个标签。
|
|
@@ -156,12 +156,14 @@ a:not(.rk-btn){color:var(--rk-brand-text)}
|
|
|
156
156
|
.rk-decide__sum b{font-size:14px}
|
|
157
157
|
.rk-decide__acts{display:flex;gap:var(--rk-space-2);flex-wrap:wrap}
|
|
158
158
|
.rk-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--rk-text-secondary);font-weight:600}
|
|
159
|
+
/* In the decision bar the label sits beside its input, so inputs, buttons and the summary share one line. */
|
|
160
|
+
.rk-decide .rk-field{flex-direction:row;align-items:center;gap:8px;white-space:nowrap}
|
|
159
161
|
.rk-input{box-sizing:border-box;height:36px;padding:0 var(--rk-space-3);border-radius:var(--rk-radius-md);border:1px solid var(--rk-border-default);background:var(--rk-surface-3);color:var(--rk-text-primary);font:14px var(--rk-font-sans);min-width:0}
|
|
160
162
|
.rk-input:hover{border-color:var(--rk-border-strong)}
|
|
161
163
|
.rk-input:focus{outline:none;border-color:var(--rk-brand-edge);box-shadow:0 0 0 3px var(--rk-brand-tint)}
|
|
162
164
|
textarea.rk-input{height:auto;padding:8px var(--rk-space-3);line-height:22px;resize:vertical}
|
|
163
165
|
@media (max-width:960px){.rk-layout{grid-template-columns:minmax(0,1fr);padding-bottom:200px}.rk-side{position:static;max-height:none;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:6px}.rk-side__group{display:none}.rk-side a{flex:none;max-width:240px}.rk-side a span{flex:none}}
|
|
164
|
-
@media (max-width:640px){.rk-top__hide-sm{display:none}.rk-top .rk-code{order:5;flex-basis:100%;max-width:100%;justify-content:flex-start}.rk-top__title{flex:1}.rk-decide__in{gap:var(--rk-space-3)}.rk-decide .rk-field{flex:1 1 40%}.rk-decide .rk-field .rk-input{width:
|
|
166
|
+
@media (max-width:640px){.rk-top__hide-sm{display:none}.rk-top .rk-code{order:5;flex-basis:100%;max-width:100%;justify-content:flex-start}.rk-top__title{flex:1}.rk-decide__in{gap:var(--rk-space-3)}.rk-decide .rk-field{flex:1 1 40%}.rk-decide .rk-field .rk-input{flex:1;width:auto!important}.rk-decide__acts{flex:1 1 100%}.rk-decide__acts .rk-btn{flex:1}}
|
|
165
167
|
|
|
166
168
|
/* Finding: AI review comment / a person's comment */
|
|
167
169
|
.rk-finding{display:flex;flex-direction:column;gap:8px;padding:12px var(--rk-space-4);border-radius:var(--rk-radius-lg);border:1px solid var(--rk-border-default);background:var(--rk-surface-2);font-size:14px;line-height:22px}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "paseo-req-kit",
|
|
3
|
-
"version": "1.15.0
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "req-kit: a requirement-development workflow for Paseo. /req aligns a requirement in chat; the engine runs design, implementation, review and verification as Paseo agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/site-dist/404.html
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
<title>404 · req-kit</title>
|
|
7
7
|
<meta name="description" content="Not Found">
|
|
8
8
|
<meta name="generator" content="VitePress v1.6.3">
|
|
9
|
-
<link rel="preload stylesheet" href="/assets/style.
|
|
9
|
+
<link rel="preload stylesheet" href="/assets/style.2YlqWS09.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/assets/app.
|
|
12
|
+
<script type="module" src="/assets/app.CCm2qM4T.js"></script>
|
|
13
13
|
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
14
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
15
15
|
<meta name="theme-color" content="#a8e01f">
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="app"></div>
|
|
24
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog.md\":\"
|
|
24
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog.md\":\"CDE3qrad\",\"guide_getting-started.md\":\"sQQutlRB\",\"guide_how-it-works.md\":\"Rn-g0Um8\",\"guide_index.md\":\"BIF6VPBE\",\"guide_install.md\":\"kIsj5oWc\",\"guide_maintainer.md\":\"CKt4mDvc\",\"guide_phases.md\":\"Bnd9FQ27\",\"guide_project.md\":\"CzS92KTI\",\"guide_user.md\":\"REc1nK8f\",\"index.md\":\"CpaGRB2c\",\"reference_adr_0001-step-agents-under-origin-chat.md\":\"CPq0ZVSs\",\"reference_adr_0002-no-directory-switch-in-chat.md\":\"BZD1j8xZ\",\"reference_adr_0003-script-engine-not-hub.md\":\"Bi4uZZaE\",\"reference_adr_0004-result-files.md\":\"CNQMSs4R\",\"reference_adr_0005-no-default-branch-local-commits-only.md\":\"DeXnMAyg\",\"reference_adr_0006-skill-install-targets.md\":\"CwqvB8NW\",\"reference_adr_0007-own-interview-skill.md\":\"HlLp78db\",\"reference_adr_0008-entries-do-not-call-entries.md\":\"D2VH2uQV\",\"reference_adr_0009-versioned-install-layout.md\":\"D9g3dWr-\",\"reference_adr_0010-generated-feature-overview.md\":\"CHOwcV4c\",\"reference_adr_0011-resume-after-completion.md\":\"CqdSPi49\",\"reference_adr_0012-review-panel.md\":\"d4wmLrNF\",\"reference_adr_0013-no-release-tooling.md\":\"BOROmwvq\",\"reference_adr_0014-notifier-slot.md\":\"BAqt1Xj1\",\"reference_adr_0015-incremental-continue.md\":\"BiUdpeq5\",\"reference_adr_0016-upgrade-from-tags.md\":\"D48PfEFP\",\"reference_adr_0017-use-paseo-capabilities.md\":\"CAMkamzJ\",\"reference_adr_0018-own-worktree-option.md\":\"DgkWjYL-\",\"reference_adr_0019-parallel-orchestration.md\":\"B9xqQidw\",\"reference_adr_0020-scheduling-through-the-chat.md\":\"Dh81be7G\",\"reference_adr_0021-npm-version-manager.md\":\"Pz4vZbkE\",\"reference_adr_0022-develop-and-verify-phases.md\":\"35MxNOuj\",\"reference_adr_0023-types-gate-slices.md\":\"Bjufr5EK\",\"reference_adr_0024-confirm-early-review-axes.md\":\"BRxVXJa4\",\"reference_adr_0025-joint-requirements.md\":\"ClCFyIiN\",\"reference_adr_0026-machine-records-and-api.md\":\"Bv1k_WjT\",\"reference_adr_0027-paseo-plugin.md\":\"CcpaKksi\",\"reference_adr_0028-external-integrations.md\":\"CrGqXJux\",\"reference_adr_0029-requirements-from-cards.md\":\"BUVah9hV\",\"reference_adr_0030-card-intake-process.md\":\"DKMkIFXw\",\"reference_adr_0031-fewer-interventions.md\":\"C8e2jpbC\",\"reference_adr_0032-npm-only-install.md\":\"5tFsGLKz\",\"reference_adr_0033-prototype-review-and-ui-check.md\":\"CW5Soqvp\",\"reference_adr_index.md\":\"DgUVrHoO\",\"reference_commands.md\":\"BAQ8FugP\",\"reference_config.md\":\"DoQUxHQ2\",\"reference_contracts_cli-json.md\":\"nRuTayON\",\"reference_contracts_feature-files.md\":\"CgiSHFpq\",\"reference_contracts_index.md\":\"3h253qSo\",\"reference_contracts_notifier-event.md\":\"DVrifpjH\",\"reference_contracts_result-file.md\":\"CiZCk_r-\",\"reference_contracts_spec.md\":\"B04OndF4\",\"reference_contracts_state.md\":\"Xu63sMWH\",\"reference_contracts_usage-record.md\":\"gd7f8fyb\",\"reference_contracts_verify.md\":\"D_bAWUcP\",\"reference_scope.md\":\"B7JBceSf\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"req-kit\",\"titleTemplate\":\":title · req-kit\",\"description\":\"在 Paseo 中用对话对齐需求,由一组 AI agent 在后台完成设计、实现、评审和验证。给测试、产品、项目经理用的需求开发体系。\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"rk\":{\"version\":\"1.15.0\",\"beta\":false,\"releases\":45,\"stable\":8,\"adrs\":33},\"logo\":{\"light\":\"/logo-light.svg\",\"dark\":\"/logo.svg\",\"alt\":\"req-kit\"},\"siteTitle\":\"req-kit\",\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\",\"activeMatch\":\"^/guide/\"},{\"text\":\"参考\",\"link\":\"/reference/commands\",\"activeMatch\":\"^/reference/\"},{\"text\":\"更新记录\",\"link\":\"/changelog\"},{\"text\":\"v1.15.0\",\"items\":[{\"text\":\"更新记录\",\"link\":\"/changelog\"},{\"text\":\"GitHub Releases\",\"link\":\"https://github.com/yiyisf/paseo-req-kit/releases\"},{\"text\":\"范围与取舍\",\"link\":\"/reference/scope\"}]}],\"sidebar\":{\"/guide/\":[{\"text\":\"开始\",\"items\":[{\"text\":\"req-kit 是什么\",\"link\":\"/guide/\"},{\"text\":\"快速开始\",\"link\":\"/guide/getting-started\"},{\"text\":\"工作原理\",\"link\":\"/guide/how-it-works\"}]},{\"text\":\"使用\",\"items\":[{\"text\":\"使用者指南\",\"link\":\"/guide/user\"},{\"text\":\"分阶段执行与提测\",\"link\":\"/guide/phases\"}]},{\"text\":\"安装与维护\",\"items\":[{\"text\":\"安装与升级\",\"link\":\"/guide/install\"},{\"text\":\"项目定制与运行规则\",\"link\":\"/guide/project\"},{\"text\":\"维护者指南\",\"link\":\"/guide/maintainer\"}]}],\"/reference/\":[{\"text\":\"参考\",\"items\":[{\"text\":\"命令\",\"link\":\"/reference/commands\"},{\"text\":\"配置项\",\"link\":\"/reference/config\"},{\"text\":\"范围与取舍\",\"link\":\"/reference/scope\"}]},{\"text\":\"文件格式约定\",\"collapsed\":false,\"items\":[{\"text\":\"总览\",\"link\":\"/reference/contracts/\"},{\"text\":\"需求说明 spec.md\",\"link\":\"/reference/contracts/spec\"},{\"text\":\"状态文件 state.json\",\"link\":\"/reference/contracts/state\"},{\"text\":\"结果文件\",\"link\":\"/reference/contracts/result-file\"},{\"text\":\"功能目录中的文件\",\"link\":\"/reference/contracts/feature-files\"},{\"text\":\"验证方法 verify.md\",\"link\":\"/reference/contracts/verify\"},{\"text\":\"外部通知事件\",\"link\":\"/reference/contracts/notifier-event\"},{\"text\":\"req api 的 JSON 输出\",\"link\":\"/reference/contracts/cli-json\"},{\"text\":\"需求索引与使用记录\",\"link\":\"/reference/contracts/usage-record\"}]},{\"text\":\"设计决定(ADR)\",\"collapsed\":true,\"items\":[{\"text\":\"总览\",\"link\":\"/reference/adr/\"},{\"text\":\"0001 步骤 agent 挂在发起的对话下\",\"link\":\"/reference/adr/0001-step-agents-under-origin-chat\"},{\"text\":\"0002 对话过程中不切换工作目录\",\"link\":\"/reference/adr/0002-no-directory-switch-in-chat\"},{\"text\":\"0003 第 3–11 步由脚本引擎驱动,不用 Hub 多步骤工作流\",\"link\":\"/reference/adr/0003-script-engine-not-hub\"},{\"text\":\"0004 步骤结论只看结果文件\",\"link\":\"/reference/adr/0004-result-files\"},{\"text\":\"0005 不在默认分支上运行,只做本地提交\",\"link\":\"/reference/adr/0005-no-default-branch-local-commits-only\"},{\"text\":\"0006 只安装到 ~/.agents/skills 和 ~/.claude/skills\",\"link\":\"/reference/adr/0006-skill-install-targets\"},{\"text\":\"0007 自带需求访谈 skill,不依赖外部 skill 包\",\"link\":\"/reference/adr/0007-own-interview-skill\"},{\"text\":\"0008 入口 skill 之间不互相调用\",\"link\":\"/reference/adr/0008-entries-do-not-call-entries\"},{\"text\":\"0009 程序与本机配置分开存放,按版本目录并存\",\"link\":\"/reference/adr/0009-versioned-install-layout\"},{\"text\":\"0010 需求总览现场生成,不维护 INDEX.md\",\"link\":\"/reference/adr/0010-generated-feature-overview\"},{\"text\":\"0011 完成后修改 spec 可以继续开发\",\"link\":\"/reference/adr/0011-resume-after-completion\"},{\"text\":\"0012 评审小组:首轮并行评审,评审者核实汇总\",\"link\":\"/reference/adr/0012-review-panel\"},{\"text\":\"0013 发布不使用 changesets 等工具\",\"link\":\"/reference/adr/0013-no-release-tooling\"},{\"text\":\"0014 外部通知只留接口,不内置任何 IM\",\"link\":\"/reference/adr/0014-notifier-slot\"},{\"text\":\"0015 需求变更后增量继续,而不是从零重做\",\"link\":\"/reference/adr/0015-incremental-continue\"},{\"text\":\"0016 一键升级:从 git 标签下载到 versions/ 再切换\",\"link\":\"/reference/adr/0016-upgrade-from-tags\"},{\"text\":\"0017 用好 Paseo 自身的能力:profile、工作区脚本、用量和时间线\",\"link\":\"/reference/adr/0017-use-paseo-capabilities\"},{\"text\":\"0018 可选:流水线为需求新建 worktree 工作区\",\"link\":\"/reference/adr/0018-own-worktree-option\"},{\"text\":\"0019 用 Paseo 的并行子 agent:确认前独立审阅、方案提案\",\"link\":\"/reference/adr/0019-parallel-orchestration\"},{\"text\":\"0020 调度:用 Paseo 定时任务把消息发回对话,排队在本机进行\",\"link\":\"/reference/adr/0020-scheduling-through-the-chat\"},{\"text\":\"0021 npm 分发:全局包是版本管理器,各版本仍装在 versions/ 下\",\"link\":\"/reference/adr/0021-npm-version-manager\"},{\"text\":\"0022 分阶段执行:研发阶段、闸口、测试验证阶段\",\"link\":\"/reference/adr/0022-develop-and-verify-phases\"},{\"text\":\"0023 需求类型、质量门、按切片实现\",\"link\":\"/reference/adr/0023-types-gate-slices\"},{\"text\":\"0024 让分歧更早暴露:验收例子、方案确认点、两个方向的评审、反复的问题变成规则\",\"link\":\"/reference/adr/0024-confirm-early-review-axes\"},{\"text\":\"0025 联合需求:一个需求同时改几个仓库\",\"link\":\"/reference/adr/0025-joint-requirements\"},{\"text\":\"0026 本机的需求索引、使用记录和 req api\",\"link\":\"/reference/adr/0026-machine-records-and-api\"},{\"text\":\"0027 Paseo 插件:随 req-kit 一起发布,只通过 req api 工作\",\"link\":\"/reference/adr/0027-paseo-plugin\"},{\"text\":\"0028 外部系统对接:命令写法在配置里,内容由 AI 整理,调用是确定的\",\"link\":\"/reference/adr/0028-external-integrations\"},{\"text\":\"0029 从卡片开始的需求:需求会话代替人,卡片描述代替对话\",\"link\":\"/reference/adr/0029-requirements-from-cards\"},{\"text\":\"0030 接单器:共享机器上定时接卡片、转达回复\",\"link\":\"/reference/adr/0030-card-intake-process\"},{\"text\":\"0031 少等人:每种中断都有自动的下一步\",\"link\":\"/reference/adr/0031-fewer-interventions\"},{\"text\":\"0032 安装、升级和文档只依赖 npm 源\",\"link\":\"/reference/adr/0032-npm-only-install\"},{\"text\":\"0033 原型审查页和不靠看图的界面检查\",\"link\":\"/reference/adr/0033-prototype-review-and-ui-check\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/yiyisf/paseo-req-kit\"}],\"editLink\":{\"pattern\":\"https://github.com/yiyisf/paseo-req-kit/edit/main/site/:path\",\"text\":\"在 GitHub 上编辑此页\"},\"footer\":{\"message\":\"以 MIT 许可发布。req-kit 是运行在 Paseo 上的社区项目。\",\"copyright\":\"Copyright © 2026 yiyisf\"},\"search\":{\"provider\":\"local\",\"options\":{\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"noResultsText\":\"没有找到相关结果\",\"resetButtonTitle\":\"清除\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\"}}}}},\"outline\":{\"level\":[2,3],\"label\":\"本页内容\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"lastUpdated\":{\"text\":\"最后更新\"},\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"目录\",\"darkModeSwitchLabel\":\"外观\",\"lightModeSwitchTitle\":\"切换到浅色\",\"darkModeSwitchTitle\":\"切换到深色\",\"externalLinkIcon\":true,\"notFound\":{\"title\":\"页面不存在\",\"quote\":\"这个页面可能已经移动或删除。\",\"linkText\":\"回到首页\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
|
|
25
25
|
|
|
26
26
|
</body>
|
|
27
27
|
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as p}from"./chunks/theme.
|
|
1
|
+
import{R as p}from"./chunks/theme.CaZODfVA.js";import{R as s,a4 as i,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,d as v,u as R,v as w,s as y,ae as C,af as P,ag as b,a3 as E}from"./chunks/framework.BetZR81g.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),P(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as o,o as t,c as d,a2 as a}from"./chunks/framework.BetZR81g.js";const h=JSON.parse('{"title":"更新记录","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"changelog.md","filePath":"changelog.md","lastUpdated":null}'),c={name:"changelog.md"};function i(l,e,r,s,n,u){return t(),d("div",null,[...e[0]||(e[0]=[a('<div><h1 id="更新记录" tabindex="-1">更新记录 <a class="header-anchor" href="#更新记录" aria-label="Permalink to "更新记录""></a></h1><p>每个版本分为"使用者会看到的变化"和"升级须知"。升级步骤见 <a href="./guide/install">docs/guide/安装与升级.md</a>。</p><h2 id="_1-15-0" tabindex="-1">1.15.0 <a class="header-anchor" href="#_1-15-0" aria-label="Permalink to "1.15.0""></a></h2><p>稳定版:审查网页、Paseo 插件和文档站按同一套设计规范重做,要你决定的事用青柠色标出来,AI 写的和人写的一眼分开;每个正式版自动生成海报和汇报幻灯片。内容包括 1.15.0-beta.1 至 beta.4(详见下面各条)。</p><h3 id="使用者会看到的变化" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>三个审查网页换上新设计</strong>:审查原型、验收清单、代码审查用同一个骨架:顶栏写清需求名和功能目录,底部决定栏放这一页要你做的决定,每页只有一个青柠色主按钮,条件不满足时写明还差什么。代码审查页把 AI 评审意见和你写的意见分开显示;验收清单页把"先看这些"和"流水线已验证"分开;原型上你点选的地方是青柠图钉。</li><li><strong>Paseo 插件换上新设计</strong>:底色和文字跟随 Paseo 的主题;需求列表每行有状态图标和"项目 · 功能目录","等你处理"用图标块标出要做的事,需求页顶部的放行轨显示走到了哪一步。</li><li><strong>文档站和首页换上新设计</strong>:首页有安装命令(三种系统,一键复制)、需求怎么走的步骤轨和能力介绍;正文页的侧边栏、提示框和代码块按新规范显示,默认跟随系统深浅色。<code>req docs</code> 打开的本机文档站一样。</li><li><strong>每个正式版自动生成海报和幻灯片</strong>:竖版海报、群聊卡片和汇报幻灯片附在 GitHub Release 上,内容取自这一版的更新记录,数字都是当次核实过的。</li><li><strong>网页不再加载外网字体</strong>:内网打开审查页和文档站不会等字体超时。</li><li><strong>修复:代码审查页底部的决定栏没有对齐。</strong> 标签放到输入框左边,摘要、输入框和按钮在同一行。</li></ul><h3 id="升级须知" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知" aria-label="Permalink to "升级须知""></a></h3><ul><li>页面、插件的接口和行为没有变化,只换了外观;升级后照常运行 <code>req plugin install</code> 更新 Paseo 里的插件(<code>req upgrade</code> 会自动做)。</li><li>设计规范在仓库的 <code>design/</code> 目录(和 CMASTER 同属一个设计家族,主色青柠绿);审查网页、插件和文档站用的颜色和图标由 <code>scripts/tokens-build.mjs</code> 从这里生成,测试会检查它们一致、没有写死的颜色。</li><li>维护者:正式版的海报口号写在 <code>design/releases/<版本>.json</code>,详见维护者指南"正式版的海报和幻灯片"。</li></ul><h2 id="_1-15-0-beta-4" tabindex="-1">1.15.0-beta.4 <a class="header-anchor" href="#_1-15-0-beta-4" aria-label="Permalink to "1.15.0-beta.4""></a></h2><h3 id="使用者会看到的变化-1" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-1" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>修复:代码审查页底部的决定栏没有对齐。</strong> "审核人""评审人"的标签放到输入框左边,摘要、输入框和按钮在同一行垂直居中;验收清单页的"验收人"同样处理。</li><li><strong>每个正式版自动生成一张海报、一张群聊卡片和一套汇报幻灯片</strong>,附在 GitHub Release 上(<code>req-kit-<版本>-poster.png</code>、<code>-card.png</code>、<code>-slides.pdf</code>,以及可以再改的 <code>-slides.html</code>)。内容取自更新记录的这一版:导语、每项变化、升级须知,加上这次发布跑过的测试数、版本数和设计决定记录数。</li></ul><h3 id="升级须知-1" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-1" aria-label="Permalink to "升级须知""></a></h3><ul><li>维护者:正式版的口号可以写在 <code>design/releases/<版本>.json</code>,没有就用版本号;本机预览运行 <code>node scripts/release-media.mjs <版本> --render</code>。详见维护者指南"正式版的海报和幻灯片"。beta 发布时也会生成一遍用来检查,但不附在 Release 上。</li></ul><h2 id="_1-15-0-beta-3" tabindex="-1">1.15.0-beta.3 <a class="header-anchor" href="#_1-15-0-beta-3" aria-label="Permalink to "1.15.0-beta.3""></a></h2><h3 id="使用者会看到的变化-2" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-2" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>文档站和首页换上了 req-kit 的新设计</strong>(<code>req docs</code> 打开的本机文档站、GitHub Pages 和内网托管的副本都一样): <ul><li>首页:极光背景上的版本胶囊、标题和安装命令(npx / macOS·Linux / Windows 三个标签,一键复制);下面是"对齐 → 方案 → 实现 → 评审 → 验证 → 验收"的步骤轨(要你拍板的两步是青柠色),Bento 卡片介绍对齐需求、审查原型、质量门、代码审查、验收清单和危险命令拦截,数字条里的版本数和设计决定记录数从仓库读取。</li><li>正文页:底色、文字、链接、按钮换成设计系统的颜色;侧边栏分组标题用等宽小字,当前页青柠底色;提示、注意、危险、说明四种提示框带图标、不用彩色左边框;代码块圆角带边框。</li><li>默认跟随系统深浅色,右上角可切换;标志和网页图标换成 req-kit 的新标志。</li></ul></li></ul><h3 id="升级须知-2" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-2" aria-label="Permalink to "升级须知""></a></h3><ul><li>文档站的颜色由 <code>scripts/tokens-build.mjs</code> 生成到 <code>site/.vitepress/theme/</code>(<code>rk-tokens.css</code>、<code>rk.css</code>、<code>rk-icons.ts</code>),标志复制到 <code>site/public/</code>;测试会检查它们和 <code>design/</code> 一致、主题样式里没有写死的颜色。</li><li>非 main 分支和合并请求构建的文档站会作为 <code>site-dist</code> 保留 7 天,方便预览。</li></ul><h2 id="_1-15-0-beta-2" tabindex="-1">1.15.0-beta.2 <a class="header-anchor" href="#_1-15-0-beta-2" aria-label="Permalink to "1.15.0-beta.2""></a></h2><h3 id="使用者会看到的变化-3" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-3" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>Paseo 插件换上了 req-kit 的新设计</strong>:底色、文字、边框仍跟随 Paseo 的主题,req-kit 的样子靠青柠色的"要你做"、靛色的"AI 写的"、青色的"正在跑"带出来。 <ul><li>首页和统计页顶部有 req-kit 标志;需求分组用等宽小标题(NEEDS YOU / IN PROGRESS / READY TO TEST / DONE)。</li><li>需求列表每行前面有图标表示状态,下面一行等宽字体写"项目 · 功能目录",右边是状态徽章和更新时间。</li><li>"等你处理"的卡片用图标块代替彩色左边框;需求页顶部有放行轨,一眼看出走到了哪一步;每页只有一个青柠色主按钮(审查方案、代码审查、验收或第一个动作)。</li><li>按钮、徽章带图标;统计页的柱子用数据色。</li></ul></li></ul><h3 id="升级须知-3" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-3" aria-label="Permalink to "升级须知""></a></h3><ul><li>插件的颜色由 <code>scripts/tokens-build.mjs</code> 生成到 <code>paseo-plugin/shared/rk-colors.ts</code>,测试会检查插件代码里没有写死的颜色。</li><li>插件随 npm 包发布;升级后照常运行 <code>req plugin install</code> 更新到 Paseo 里。</li><li>文档站的新设计在下一个 beta 里做。</li></ul><h2 id="_1-15-0-beta-1" tabindex="-1">1.15.0-beta.1 <a class="header-anchor" href="#_1-15-0-beta-1" aria-label="Permalink to "1.15.0-beta.1""></a></h2><h3 id="使用者会看到的变化-4" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-4" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>审查原型、验收清单、代码审查三个网页换上了 req-kit 的新设计</strong>(设计规范见仓库 <code>design/</code>,和编排平台 CMASTER 同属一个设计家族,主色青柠绿): <ul><li>统一的顶栏(标志、需求名、功能目录、自动保存时间、只读标记、深浅色切换),底部固定的"决定栏"放这一页要你做的决定,每页只有一个青柠色主按钮;条件不满足时按钮旁边写明还差什么。</li><li>代码审查页:AI 评审意见(靛色卡片,带编号、轮次、级别和处理结果)和你写的意见(青柠描边卡片)分开显示;侧栏按"概要 / 代码 / 需求文档"分组;改动摘要卡片显示 AI 评审几轮、修复了几条、还开着几条。</li><li>验收清单页:前置条件、操作、预期结果排成表格;侧栏把"先看这些"(流水线没验证、没通过、要你表态的)和"流水线已验证"分开;试用放在一张卡片里。</li><li>审查原型页:原型放在点阵画布上;"要看的地方"用靛色虚线框和编号标出,你点选的地方是青柠图钉;有意见时主按钮是"提交修改意见",没有意见时主按钮是"确认方案,开始写代码"。</li><li>默认跟随系统的深浅色,右上角可以切换并记住;手机宽度下侧栏变成可横向滑动的一行,决定栏的按钮占满一行。</li></ul></li><li>页面不加载外网字体,内网打开不会等字体超时。</li></ul><h3 id="升级须知-4" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-4" aria-label="Permalink to "升级须知""></a></h3><ul><li>页面的接口和行为没有变化,只换了外观。审查服务多提供三个共用文件(<code>rk-tokens.css</code>、<code>rk.css</code>、<code>rk-icons.js</code>),由 <code>scripts/tokens-build.mjs</code> 从 <code>design/</code> 生成,测试会检查它们和 <code>design/</code> 一致。</li><li>Paseo 插件和文档站的新设计在后面的 beta 里做。</li></ul><h2 id="_1-14-0" tabindex="-1">1.14.0 <a class="header-anchor" href="#_1-14-0" aria-label="Permalink to "1.14.0""></a></h2><p>稳定版:需求从对齐开始就在插件里,新建工作区能接着做,插件里能做代码审查和验收,危险命令和密钥有程序把关,评审、验收、合并之后的结果有记录可查。内容包括 1.14.0-beta.1 至 beta.5(详见下面各条)。</p><h3 id="使用者会看到的变化-5" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-5" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>修复:自动新建工作区后只有需求说明、没有代码。</strong> 工作区一建好就记下来,再次启动在同一个工作区里接着做;最多等 15 分钟。术语表和设计决定随需求说明一起带过去;需求说明不会再被提交到主分支。</li><li><strong>需求从开始谈就出现在插件里</strong>("对齐中");确认了却没开始开发的进"等你处理",点"开始开发"即可,谈需求的对话里也会提醒一次。已经开发完的需求不会误显示为"未开始";同一个需求在两处只列一次。</li><li><strong>代码审查</strong>(插件需求页面上的"代码审查",<code>req code-review</code>):改动按文件列出,AI 评审意见放在对应的行旁边;评审人在任意一行写意见、标"要改 / 不用改";审核人默认取自 <code>CODEOWNERS</code>,提交前可改。退回修改后流水线自动按意见修改,评审通过后有新提交会提示重新评审。</li><li><strong>验收清单和一键试用</strong>("验收清单(可一键试用)",<code>req checklist</code>、<code>req try</code>):按验收标准逐条勾选,提交后写成 <code>acceptance.md</code> 并提交;不通过的转给需求的对话处理。</li><li><strong>拦截危险命令</strong>(<code>dangerGuard</code>):步骤 agent 推送、发布制品、改动集群、连接其他机器上的数据库或主机、删除仓库以外的目录、下载脚本直接执行,或命令里出现配置的生产环境地址时,打断并通知。</li><li><strong>密钥扫描</strong>(<code>secretScan</code>):每个改代码的步骤之后扫描本需求新增的内容,交回 agent 去掉;有疑似密钥的分支不推送。</li><li><strong>记录可查</strong>:代码审查和验收的全文随需求分支提交;结论另记入使用记录。<code>req stats</code> 和插件统计新增"人工把关和合并后":评审退回次数、验收通过率、合并进主干的需求、合并后发现的问题(<code>req outcome</code>)。</li></ul><h3 id="升级须知-5" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-5" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置都可选:<code>dangerGuard</code>(默认开,建议团队配置里把生产环境的主机名、地址写进 <code>production</code>)、<code>secretScan</code>(默认开)。打开 <code>dangerGuard</code> 时流水线每 15 秒读一次步骤 agent 的命令记录,不占模型 token。</li><li>合并请求还没有接入,等 shenbing 提供类似 <code>gh pr create / gh pr merge</code> 的命令。</li><li>状态文件、使用记录、<code>req api</code> 和外部通知的新增字段见各 beta 的升级须知;新命令 <code>req code-review</code>、<code>req review-fix</code>、<code>req checklist</code>、<code>req try</code>、<code>req outcome</code>。</li><li>更新后请在 Paseo 中重新加载插件(<code>req upgrade</code> 会自动做)。</li></ul><h2 id="_1-14-0-beta-5" tabindex="-1">1.14.0-beta.5 <a class="header-anchor" href="#_1-14-0-beta-5" aria-label="Permalink to "1.14.0-beta.5""></a></h2><h3 id="使用者会看到的变化-6" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-6" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>拦截危险命令</strong>(<code>dangerGuard</code>,默认开):步骤 agent 推送代码、发布制品、改动集群或基础设施、连接其他机器上的数据库或主机、删除仓库以外的目录、下载脚本直接执行,或者命令里出现配置的生产环境地址时,流水线打断它(还在运行时)、告诉它把需要人做的写进产物,并通知需求的对话;每次都记下来,写进完成报告。按命令文字检查,不用模型;能拦住常见的情况,不是沙箱。</li><li><strong>密钥扫描</strong>(<code>secretScan</code>,默认开):每个改代码的步骤之后,检查本需求新增的内容(每次提交加的行、未提交的改动、新文件)有没有密钥、令牌、口令;发现了交回这一步的 agent 去掉(包括从还没推送的提交里去掉),仍去不掉的通知需求的对话、写进代码评审和完成报告;配置了推送的需求不会推送有疑似密钥的分支。</li><li><strong>记录合并之后的结果</strong>:<code>req stats</code> 和插件的使用统计新增"人工把关和合并后":人工代码评审几次、退回几次,验收几次、不通过几次,第一次就通过的需求数,合并进主干的需求和"完成到合并"的时间,合并后发现的问题。合并是从本机仓库已有的分支判断的(需求的流水线文件进了主干);缺陷需求写了 <code>- 引入问题的需求:<目录名></code> 的,算作那个需求合并后的问题;也可以 <code>req outcome <需求> --issue "<问题>"</code> 手动记一笔。</li><li><strong>代码审查和验收的结论进使用记录</strong>:每次在代码审查页、验收页提交,结论、评审人和意见条数记入本机使用记录(全文仍在随分支提交的 <code>code-review.md</code>、<code>acceptance.md</code> 里);<code>req stats --export</code> 一起导出。</li><li><strong>确认了却没开始开发的需求,在谈需求的对话里提醒一次</strong>(插件的后台检查,确认 30 分钟后;只提醒 3 天内确认的)。</li><li><strong>修复:同一个需求在主目录和它自己的工作区里各有一份时,插件列出两次。</strong> 现在只列一次,优先列在运行的、有运行状态的那一份。</li></ul><h3 id="升级须知-6" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-6" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置都可选:<code>dangerGuard</code>(默认 <code>{ "enabled": true, "production": [], "allow": [] }</code>,建议团队配置里把生产环境的主机名、地址写进 <code>production</code>)、<code>secretScan</code>(默认 <code>{ "enabled": true, "allow": [] }</code>)。打开 <code>dangerGuard</code> 时流水线每 15 秒读一次步骤 agent 的命令记录,不占模型 token。</li><li>使用记录 <code>usage/runs.jsonl</code> 新增 <code>review</code>、<code>acceptance</code>、<code>merge</code>、<code>issue</code> 几种记录(见 <code>contracts/usage-record.md</code>),旧版本读取时会跳过;<code>req stats --json</code> / <code>req api stats</code> 新增 <code>oversight</code>,每个需求新增 <code>afterRun</code>,CSV 新增 7 列。状态文件新增 <code>dangers</code>、<code>secretScans</code>;外部通知 <code>alert</code> 事件新增 <code>details.kind: "danger"</code>。</li><li>新命令 <code>req outcome</code>;<code>req reply</code> 新增 <code>--notice</code>(后台检查用)。</li><li>提示词里"不改写历史"加了一个例外:流水线要求从本需求还没推送的提交里去掉密钥时。</li></ul><h2 id="_1-14-0-beta-4" tabindex="-1">1.14.0-beta.4 <a class="header-anchor" href="#_1-14-0-beta-4" aria-label="Permalink to "1.14.0-beta.4""></a></h2><h3 id="使用者会看到的变化-7" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-7" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>代码审查</strong>(插件需求页面上的"代码审查",<code>req code-review <需求></code>):列出需求分支相对起点的全部改动(需求文档放最后、折叠),AI 代码评审的意见放在对应的代码行旁边,带级别和修复步骤的处理结果;评审人可以在任意一行写意见、把 AI 意见标为"要改 / 不用改"、写总体意见。</li><li><strong>审核人默认取自 <code>CODEOWNERS</code></strong>(支持 GitLab / GitHub 格式和 GitLab 的分节),按改动的文件给出,提交前可以修改,以后建合并请求时使用。</li><li><strong>退回修改</strong>:意见写进 <code>code-review.md</code> 的"人工评审"一节(HR-1 起)和 <code>changes.md</code> 并提交,流水线开始新的一次尝试(<code>req review-fix</code>),需求说明不变、方案确认不用重来,从方案设计开始只处理这些意见,之后照常经过 AI 代码评审和验证。<strong>评审通过</strong>:记下评审人、审核人和评审的提交;之后又有新提交时提示需要重新评审。</li><li>AI 代码评审的结果文件新增 <code>findings</code>(每条意见的级别、文件、行号、问题、修复方向);没有它的旧需求从 <code>code-review.md</code> 的 CR 条目中读取。</li></ul><h3 id="升级须知-7" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-7" aria-label="Permalink to "升级须知""></a></h3><ul><li>合并请求还没有接入:等 shenbing 提供类似 <code>gh pr create / gh pr merge</code> 的命令后,用评审通过时记下的审核人建合并请求。</li><li><code>req api status</code> 新增 <code>humanReview</code>;<code>req api review-url</code> 的 <code>--page</code> 新增 <code>code</code>;启动参数新增 <code>--review-fix</code>(<code>req review-fix <需求></code>)。</li></ul><h2 id="_1-14-0-beta-3" tabindex="-1">1.14.0-beta.3 <a class="header-anchor" href="#_1-14-0-beta-3" aria-label="Permalink to "1.14.0-beta.3""></a></h2><h3 id="使用者会看到的变化-8" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-8" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>验收清单</strong>(<code>req checklist <需求></code>,插件需求页面上的"验收清单(可一键试用)"):按需求说明的验收标准生成清单,每条写着前置条件、操作、预期结果和流水线的验证结果,没验证或没通过的排在前面,报告里"需要你确认的决定"也列上。逐条点"通过 / 不对 / 先不验",进度自动保存;提交后写成 <code>acceptance.md</code> 并提交,不通过时把不对的地方转给需求的对话。</li><li><strong>一键试用</strong>(<code>req try <需求></code>,验收清单页右上角"把它跑起来试用"):用项目的 Paseo 服务脚本在需求自己的工作区里启动,给出访问地址和提测说明里的测试账号、数据;<code>--stop</code> 或"停止试用"停掉。没有服务脚本的项目给出提测说明里的启动方法。</li></ul><h3 id="升级须知-8" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-8" aria-label="Permalink to "升级须知""></a></h3><ul><li><code>req api review-url</code> 新增 <code>--page check</code>;<code>req reply</code> 新增 <code>--acceptance</code>(验收页用)。验收页和原型审查页是同一个本机服务。</li></ul><h2 id="_1-14-0-beta-2" tabindex="-1">1.14.0-beta.2 <a class="header-anchor" href="#_1-14-0-beta-2" aria-label="Permalink to "1.14.0-beta.2""></a></h2><h3 id="使用者会看到的变化-9" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-9" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>修复:已经开发完(待验收、已验收)的需求在插件里显示"已确认,未开始开发"和"开始开发"按钮。</strong> 需求分支合并到主分支后,主分支里的需求文件夹没有运行状态(运行状态不提交),beta.1 把它当成了没开始。现在看到方案、完成报告等只有流水线才会写的文件,就按已开发处理:有完成报告的显示"待验收"(或验收记录里的结论),不会进"等你处理"。</li></ul><h2 id="_1-14-0-beta-1" tabindex="-1">1.14.0-beta.1 <a class="header-anchor" href="#_1-14-0-beta-1" aria-label="Permalink to "1.14.0-beta.1""></a></h2><h3 id="使用者会看到的变化-10" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-10" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>修复:自动新建工作区后只有需求说明、没有代码。</strong> 以前新建工作区只等 2 分钟,超时(大仓库在 Windows 上常见)或建好后启动前的检查没通过,启动命令就退出了,留下一个只有需求说明提交的分支;再启动又报"分支已存在"。现在工作区一建好就记下来,再次启动会在这个工作区里接着开始;最多等 15 分钟。以前版本留下的这种工作区,也会由 Paseo 接手接着做。</li><li><strong>访谈改过的术语表(<code>GLOSSARY.md</code>)和设计决定(<code>docs/adr/</code>)随需求说明一起带到新工作区</strong>,在需求自己的分支上提交。</li><li><strong>修复:需求说明可能被提交到主分支。</strong> 写需求说明的说明和"新需求"手册对是否提交说法不一致,现在统一为:要自动新建工作区的,确认后不提交,由流水线在新工作区里提交。需求说明已经提交在主分支上、本地主分支比远端落后、主目录还有别的未提交改动时,启动结果里会写明。</li><li><strong>需求从开始谈就出现在插件里</strong>("对齐中"):建好功能目录后 <code>/req</code> 会登记它(<code>start-pipeline --feature <功能目录> --track</code>);没登记的,插件也会在本机用过的项目里找到。</li><li><strong>确认了却没开始开发的需求进"等你处理"</strong>:需求说明确认超过 30 分钟还没开始,或者上次启动没成功,插件里显示"还没开始开发",点"开始开发"即可:在项目主目录中会新建(或接着用)需求自己的工作区,进展发回谈需求的那个对话。</li></ul><h3 id="升级须知-9" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-9" aria-label="Permalink to "升级须知""></a></h3><ul><li><code>req api list --all</code> 也会列出对齐中的需求(没有运行状态);<code>attention</code> 新增 <code>not_started</code>,<code>waiting</code> 新增 <code>canStart</code>;<code>req api run</code> 新增 <code>start</code>;需求索引新增可选的 <code>chatAgentId</code>;新增 <code>~/.req-kit/worktrees/</code> 记录。</li><li>更新后请在 Paseo 中重新加载插件(<code>req upgrade</code> 会自动做)。</li></ul><h2 id="_1-13-0" tabindex="-1">1.13.0 <a class="header-anchor" href="#_1-13-0" aria-label="Permalink to "1.13.0""></a></h2><p>稳定版:内网能装能用、在 Paseo 网页端审查原型、不靠看图检查界面、看得见 token 花在哪。内容包括 1.13.0-beta.1 至 beta.5(详见下面各条)和下面新增的三项,设计决定见 ADR 0032、0033。</p><h3 id="使用者会看到的变化-11" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-11" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>内网安装和文档</strong>:<code>npx -y [--registry=<镜像地址>] paseo-req-kit@latest install</code> 一条命令装好,只需要 npm 源;<code>req docs</code> 在本机打开文档站点。</li><li><strong>在 Paseo 里审查原型</strong>:需求页面和"等你处理"里的主按钮"审查原型并确认方案",在原型上点要改的地方、选改法、用自己的话补一句,提交后整理成清单交给需求会话。</li><li><strong>界面检查 <code>req ui-check</code></strong>:用本机的 Edge 或 Chrome,用文字报告显示不全、遮挡、超出屏幕、文字太淡、没名字的控件、报错,并和确认过的原型对文字;功能验证自动使用,不需要模型看图。</li><li><strong>token</strong>:<code>req stats</code> 和插件的"token 花在哪";可选的每个需求预算(<code>budget</code>);开始时和 <code>req status</code> 里的"预计还要多久"。</li><li><strong>后台进程意外退出时由插件直接继续</strong>,不再每小时叫醒对话;等待批准的权限进"等你处理"。</li><li><strong>新增:打断大目录搜索</strong>(<code>scanGuard</code>,默认开):步骤 agent 搜索整个磁盘、用户目录、Maven 本地仓库(<code>~/.m2</code>)、Gradle 缓存、全局或整个 <code>node_modules</code> 时,流水线一分钟后打断这个命令,并告诉 agent 改用什么办法(<code>git grep</code>、按坐标直接打开那一个依赖、<code>mvn dependency:tree</code>);任何搜索运行超过 5 分钟也打断。构建和测试命令不受影响。各步骤的提示词也写明了只在仓库里搜索。</li><li><strong>新增:预算不起作用时会说</strong>:agent 不报告 token 用量时,设了预算的需求在第一步之后提醒一次"预算不会起作用",<code>req doctor</code> 也会检查。</li><li><strong>新增:从别的电脑打开审查页时说明原因</strong>:审查页默认只在运行 Paseo 的电脑上能打开;从别的电脑打开 Paseo 网页、点"审查原型"时,页面写明为什么看不到、怎么设置。只设 <code>REQ_KIT_REVIEW_HOST</code> 时,审查页地址用这台电脑的计算机名。</li></ul><h3 id="升级须知-10" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-10" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置都可选:<code>budget</code>(默认不限)、<code>scanGuard</code>(默认开:<code>{ "enabled": true, "minutes": 5, "paths": [] }</code>,关闭写 <code>"enabled": false</code>)。</li><li>打开 <code>scanGuard</code> 时,流水线每分钟查看一次步骤 agent 的状态(以前每 10 分钟),只是读取状态,不占模型 token。</li><li>原型按新约定写(<code>data-ac</code>、<code>data-label</code>、<code><section data-state></code>、不写脚本),旧原型照常能看,只是审查页认不出区域和状态。</li><li>1.12 时预约的"对话定时检查"会留到过期(最多 3 天),装了插件后新需求不再预约,不用手动删。</li><li>装过插件的,<code>req upgrade</code> 会一并更新插件。新的安装脚本只能安装 1.13 及以后的版本。</li><li>状态文件、使用记录和 <code>req api</code> 的新增字段见各 beta 的升级须知;<code>recoveries</code> 新增 <code>stop_scan</code>。</li><li>发布前 Linux 和 Windows 的测试都必须通过。</li></ul><h2 id="_1-13-0-beta-5" tabindex="-1">1.13.0-beta.5 <a class="header-anchor" href="#_1-13-0-beta-5" aria-label="Permalink to "1.13.0-beta.5""></a></h2><h3 id="使用者会看到的变化-12" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-12" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>Windows:配置成 <code>.js</code> / <code>.mjs</code> 脚本的外部命令能运行了</strong>:对接外部系统(<code>integrations</code>)、合并请求(<code>push.mergeRequest</code>)等配置的命令是一个 JavaScript 文件时,以前在 Windows 上启动不了(Windows 不认文件开头的 <code>#!/usr/bin/env node</code>),现在用 Node.js 运行它,其他系统也不再需要给脚本加执行权限。</li></ul><h3 id="维护" tabindex="-1">维护 <a class="header-anchor" href="#维护" aria-label="Permalink to "维护""></a></h3><ul><li>测试改为可以在 Windows 上运行(用 Node.js 直接启动 tsx;只能在 sh 下运行的几项在 Windows 上跳过),CI 的 Windows 任务把失败的测试和报错写在运行结果页上。</li></ul><h2 id="_1-13-0-beta-4" tabindex="-1">1.13.0-beta.4 <a class="header-anchor" href="#_1-13-0-beta-4" aria-label="Permalink to "1.13.0-beta.4""></a></h2><h3 id="使用者会看到的变化-13" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-13" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>token 花在哪</strong>:<code>req stats</code> 和插件的"使用统计"页新增一节,按步骤、按模型列出 token(输入 + 输出)和占比,单独算出返工(方案修订、评审问题修复、缺陷修复、复验,以及第 2 轮起的审核和评审)占了多少、输入中多少来自提示缓存、每个完成需求的中位数。每一步用的模型从这个版本开始记录。</li><li><strong>token 预算</strong>(可选,<code>budget.tokens</code>):用到 <code>budget.warnPercent</code>(默认 80%)时在对话里告知一次;用完时已完成的步骤保留,在下一步开始前停下,问需求方是否继续,继续会再给一份预算。</li><li><strong>还要多久</strong>:本机已完成 3 个以上同档位需求后,开始开发时给出这类需求通常的 agent 用时和 token;<code>req status</code> 和插件的需求页面显示"预计还要约多久"。</li><li><strong>后台进程意外退出时直接继续,不再叫醒对话</strong>:装了插件时,插件每 5 分钟在 daemon 里检查一次,发现"运行中但后台进程已不在"的需求就直接继续(<code>req resume</code>),不经过模型;这时流水线不再预约对话每小时一次的定时检查,省下这部分 token。接单器也改为直接继续。</li><li><strong>等待批准权限进"等你处理"</strong>:步骤 agent 在等你允许一项操作时,插件的"等你处理"列出要批准的操作,点"打开这个 agent"去处理。</li></ul><h3 id="升级须知-11" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-11" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置 <code>budget</code>(默认不限)。用 <code>req stats</code> 看过"每个完成需求的中位数"后,可以按它的两三倍设置。</li><li>停下原因新增 <code>budget</code>;状态文件新增 <code>budget</code>、<code>waitingPermission</code>;使用记录的步骤新增 <code>cachedInputTokens</code>、<code>agent</code>;<code>req api</code> 新增 <code>watchdog</code>,<code>status</code> 新增 <code>estimate</code>,<code>attention</code> 新增 <code>permission</code>。</li><li>插件设为只读时不做自动继续。</li><li>CI 新增 Windows 任务(暂时只报告结果,不阻断发布)。</li></ul><h2 id="_1-13-0-beta-3" tabindex="-1">1.13.0-beta.3 <a class="header-anchor" href="#_1-13-0-beta-3" aria-label="Permalink to "1.13.0-beta.3""></a></h2><h3 id="使用者会看到的变化-14" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-14" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>原型审查页在 Paseo 里打开</strong>:网页端和桌面端不再跳到单独的浏览器窗口,审查页嵌在插件的"审查原型"页面中;手机上仍在浏览器中打开,页面右上角也可以"在新窗口打开"。</li><li><strong>按钮更醒目</strong>:"等你处理"和需求页面最上面,有原型的方案确认显示为主按钮"审查原型并确认方案"("确认方案"变为次要按钮);没在等确认时也有"审查原型"按钮。请你确认方案的对话消息也会告诉你去点这个按钮。</li></ul><h3 id="升级须知-12" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-12" aria-label="Permalink to "升级须知""></a></h3><ul><li>审查页现在允许被本机地址上的页面嵌入(<code>frame-ancestors</code>);从别的电脑访问时(设了 <code>REQ_KIT_REVIEW_HOST</code>)允许任何页面嵌入,地址中的令牌仍是访问的唯一凭证。可以用 <code>REQ_KIT_REVIEW_FRAME_ANCESTORS</code> 指定。</li></ul><h2 id="_1-13-0-beta-2" tabindex="-1">1.13.0-beta.2 <a class="header-anchor" href="#_1-13-0-beta-2" aria-label="Permalink to "1.13.0-beta.2""></a></h2><p>在 Paseo 网页端审查原型,界面验证不再依赖桌面端和模型的视觉能力。见 <a href="./reference/adr/0033-prototype-review-and-ui-check">ADR 0033</a>。</p><h3 id="使用者会看到的变化-15" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-15" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>原型审查页</strong>:界面改动的需求请你确认方案时,在插件的需求页面或"等你处理"里点"打开原型审查页"(终端:<code>req review <需求></code>)。在原型上点要改的地方,选一种改法(文字改成…、大一点、换颜色、换位置、删掉、这里加东西……),用自己的话补一句;双击文字直接改字;切换正常、出错、空数据等状态和电脑、手机宽度。被点元素的文字、颜色、大小、位置和对应的验收标准自动记下,提交后整理成清单转给需求会话;没有要改的,直接同意开始写代码。意见自动保存;原型改过后再打开,会标出这一版改了哪里。</li><li><strong>界面检查 <code>req ui-check</code></strong>:用本机的 Edge 或 Chrome 打开页面,按电脑和手机宽度用文字报告文字显示不全、互相遮挡、超出屏幕、图片没加载、文字太淡、控件没有名字、控制台报错、请求失败,并和确认过的原型逐项对标题、按钮、字段名、表头。功能验证、缺陷修复和复验自动使用;不需要 Paseo 桌面端,不需要模型看图。截图只存成文件给人看,不再读进对话,省 token。</li><li>安装时 Paseo daemon 启动得慢不再判为失败;真的没启动时写出 Paseo 报的原因和日志位置。</li></ul><h3 id="升级须知-13" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-13" aria-label="Permalink to "升级须知""></a></h3><ul><li>方案设计的原型按新约定写:改动区域标 <code>data-ac</code>、<code>data-label</code>,状态包在 <code><section data-state="…"></code> 中,原型里不写脚本(审查页不会运行它们)。</li><li><code>req ui-check</code> 第一次运行时从 npm 源安装 <code>playwright-core</code> 到 <code>~/.req-kit/tools</code>(不下载浏览器);本机要有 Edge 或 Chrome,或者用 <code>--browser</code> / <code>REQ_KIT_BROWSER</code> 指定浏览器程序。</li><li>原型审查页的服务默认只给本机访问。需求方从别的电脑访问 Paseo 网页端时,见《项目定制与运行规则》"方案确认点"一节的 <code>REQ_KIT_REVIEW_*</code> 环境变量。</li><li><code>browserVerify: "off"</code> 现在同时关闭界面检查。</li></ul><h2 id="_1-13-0-beta-1" tabindex="-1">1.13.0-beta.1 <a class="header-anchor" href="#_1-13-0-beta-1" aria-label="Permalink to "1.13.0-beta.1""></a></h2><p>公司内网只有 npm 镜像、打不开 GitHub 和文档站点时,也能一条命令装好、升级和看文档。见 <a href="./reference/adr/0032-npm-only-install">ADR 0032</a>。</p><h3 id="使用者会看到的变化-16" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-16" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>npx 一条命令安装</strong>:<code>npx -y paseo-req-kit@latest install</code>,任何系统都可以,只需要 Node.js 22+ 和能访问的 npm 源。做的事和以前的一键安装完全一样:检查环境、安装、检查和安装 Paseo、启用、自动选好 agent、询问是否装插件。已安装时也可以运行 <code>req install</code>。</li><li><strong>公司内网</strong>:<code>npx -y --registry=<镜像地址> paseo-req-kit@latest install</code>。镜像地址会保存为本机的 npm 源(屏幕上写出原来的值),以后 <code>req upgrade</code> 和安装 Paseo 命令行也走镜像;只想用一次加 <code>--no-save-registry</code>。镜像还没同步这个版本时直接说明,不再去访问 GitHub。</li><li><strong><code>req docs</code></strong>:在本机打开和所装版本一致的文档站点,不需要外网(发布时构建进 npm 包)。</li><li><strong>安装脚本</strong>:<code>install.sh</code> / <code>install.ps1</code> 用法不变,新增 <code>--registry</code> / <code>$ReqKitRegistry</code> 和 <code>--no-save-registry</code> / <code>$ReqKitNoSaveRegistry</code>。文档站点首页增加 npx 的写法;站点放在别的地址(例如内网)时,首页的安装命令自动换成那个地址。</li></ul><h3 id="升级须知-14" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-14" aria-label="Permalink to "升级须知""></a></h3><ul><li>安装脚本现在只负责选版本,其余步骤由所选版本自带的 <code>req install</code> 完成,所以新脚本只能安装 1.13 及以后的版本。要装更早的版本:<code>npm i -g paseo-req-kit@<版本> && req setup</code>。</li><li>npm 包增加了 <code>site-dist/</code>(构建好的文档站点,约几 MB)和命令 <code>paseo-req-kit</code>(与 <code>req</code> 相同)。</li></ul><h2 id="_1-12-1" tabindex="-1">1.12.1 <a class="header-anchor" href="#_1-12-1" aria-label="Permalink to "1.12.1""></a></h2><p>修正 1.12.0 审查中发现的问题,不改变用法。</p><h3 id="使用者会看到的变化-17" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-17" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>需求改了以后不再沿用旧 agent</strong>:继续时如果某一步还有上一次尝试留下的 agent(按旧需求在做),会先停掉它再新开,不再接着等它或采用它的结果。</li><li><strong>超时只多等一轮</strong>:接着等上一次的 agent 时不再重新延长,卡住的步骤最多等两倍时限就会换人。</li><li><strong>自答的问题有人复核</strong>:方案审核最后一轮的问题由 builder 自答后,再加一轮方案审核复核这些答案,然后才写代码(快速档也一样)。</li><li><strong>连不上 Paseo 时不再挂住或泄漏连接</strong>:所有连接 30 秒连不上就放弃并关闭;接单器不会在 Paseo 离线期间积攒后台重连的连接。</li><li><strong>卡片回复更稳妥</strong>:卡片上还有没回答的问题,或回复区只写了一个"是""对"时,不再当作确认;需求方写的内容里如果带有 <code></card-reply></code> 这样的标签,不会再被当成 req-kit 的话。</li><li><strong>两个进程同时更新卡片记录时不再互相覆盖</strong>(流水线写 AI 区与接单器转达回复)。</li><li><strong>Windows</strong>:状态文件被杀毒软件或索引服务短暂占用时会重试,不再让流水线意外退出。</li><li><strong>发布流程</strong>:测试通过后才打版本标签,失败的发布不再占用版本号。</li></ul><h2 id="_1-12-0" tabindex="-1">1.12.0 <a class="header-anchor" href="#_1-12-0" aria-label="Permalink to "1.12.0""></a></h2><p>稳定版:少等人,内容同 1.12.0-beta.1 至 beta.4(详见下面各条),设计决定见 ADR 0031。</p><h3 id="使用者会看到的变化-18" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-18" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>自愈</strong>:超时时 agent 还在做就多等一轮;agent 报错、结果文件无效时新开 agent 重做一次;限流时按 Paseo 的额度恢复时间预约自动继续;可选的备用模型(<code>agents.fallback</code>)。</li><li><strong>方案审核的问题先自答</strong>,只把业务取舍连同推荐答案交给需求方。</li><li><strong>后台进程意外退出后自动继续</strong>:定时检查默认每 60 分钟;接单器也会发现并续跑。</li><li><strong>装好就选好模型</strong>:安装时自动选 builder、reviewer 和备用模型;插件设置中有"模型"页。</li><li><strong><code>/req</code> 少问</strong>:工作区、档位、执行方式、开始时间按推荐值走,确认摘要写明;卡片回复写"好的"也算同意。</li><li><strong>插件</strong>:"等你处理"收件箱(直接确认方案、回答问题、继续),"配置"页列出全部设置和来源。</li><li><strong>接单器</strong>:自检与告警、草稿合并请求(<code>push.mergeRequest</code>)、小改动自动确认(<code>autoConfirm.hours</code>)、按人通知(<code>people</code>)。</li><li><strong><code>req stats</code></strong>:"人工介入"一节:停下等人的原因、自动处理的次数和比例。</li></ul><h3 id="升级须知-15" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-15" aria-label="Permalink to "升级须知""></a></h3><ul><li>默认行为的变化:<code>selfHeal</code>、<code>answerQuestionsFirst</code> 默认打开,<code>watchdogMinutes</code> 默认从 0 改为 60。想保持 1.11 的行为,分别设为 <code>false</code>、<code>false</code>、<code>0</code>。</li><li>新配置都可选:<code>agents.fallback</code>、<code>push.mergeRequest</code>、<code>autoConfirm</code>、<code>people</code>。</li><li>外部通知新增事件 <code>alert</code> 和字段 <code>people</code>;状态文件和使用记录新增 <code>stopKind</code>、<code>recoveries</code>,旧文件照常可用。</li><li>从 1.11 升级后运行 <code>paseo plugin reload req-kit</code>(或重启 Paseo)加载新插件。</li></ul><h2 id="_1-12-0-beta-4" tabindex="-1">1.12.0-beta.4 <a class="header-anchor" href="#_1-12-0-beta-4" aria-label="Permalink to "1.12.0-beta.4""></a></h2><ul><li><strong>修正</strong>:1.12.0-beta.3 的 Paseo 插件加载失败("Invalid plugin RPC method: req.setAgents")。Paseo 要求插件接口名只用小写字母、数字和 <code>. _ -</code>,改为 <code>req.set-agents</code>;测试中加上了这条规则的检查。其余内容同 1.12.0-beta.3。</li></ul><h2 id="_1-12-0-beta-3" tabindex="-1">1.12.0-beta.3 <a class="header-anchor" href="#_1-12-0-beta-3" aria-label="Permalink to "1.12.0-beta.3""></a></h2><p>接单机器能自己发现问题;插件里可以直接处理等你的事、看到全部配置。</p><h3 id="使用者会看到的变化-19" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-19" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>插件"等你处理"</strong>:需求首页最上面列出所有等人处理的事(确认方案、回答问题、中断、未完成),等得最久的在前,写明要做什么、等了多久。方案可以直接确认或写修改意见,问题可以直接回答,插件把回复转给需求的对话,和在对话里回答一样(<code>req reply</code>)。</li><li><strong>插件"配置"页</strong>:首页的"配置"按主题列出 req-kit 的全部设置,每项写明是什么、现在的值、来自本机、团队还是项目的配置文件;可以按项目查看、搜索、只看改过的。只看不改,页尾写明各项怎么改。密钥和个人账号不显示。</li><li><strong>接单器自检与告警</strong>:每次检查前确认 Paseo 在线、agent 已登录、额度没用完、需求管理系统的命令可用;不正常时暂停接单,并通过外部通知告警一次(新事件 <code>alert</code>),恢复时再说一次。</li><li><strong>草稿合并请求</strong>(可选,<code>push.mergeRequest</code>):推送分支后用机器上已登录的 <code>glab</code> 等命令建草稿合并请求,描述是提测说明和卡片链接,地址写进卡片。合并仍由人做。<code>req doctor</code> 检查是否已登录。</li><li><strong>小改动自动确认</strong>(可选,<code>autoConfirm.hours</code>,默认关闭):快速档、没有待答问题的卡片,AI 区写明到时没有异议就开始。</li><li><strong>按人通知</strong>:通知事件带上发给谁(<code>people</code>):需求方要处理的事和结果发给卡片的提出人,账号来自配置的 <code>people</code>;其余发到群。内部 IM 适配器拿到接口后可以直接用。</li></ul><h3 id="升级须知-16" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-16" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置 <code>push.mergeRequest</code>、<code>autoConfirm</code>、<code>people</code>(都只在需要时写)。<code>people</code>、<code>push</code> 只能写在本机或团队配置中。</li><li>外部通知新增事件类型 <code>alert</code> 和字段 <code>people</code>;只订阅了部分事件的通知模块不受影响。</li><li>新命令 <code>req reply</code>、<code>req api config</code>;<code>req api list</code> 的每一项多了 <code>waiting</code>。</li></ul><h2 id="_1-12-0-beta-2" tabindex="-1">1.12.0-beta.2 <a class="header-anchor" href="#_1-12-0-beta-2" aria-label="Permalink to "1.12.0-beta.2""></a></h2><p>1.12.0-beta.1 的内容(见下),加一处修正:</p><ul><li><strong>修正</strong>:安装时自动选模型,Paseo 没有运行时会一直等待连接;现在 20 秒连不上就放弃,改为提示之后运行 <code>req configure --auto</code>。1.12.0-beta.1 因此没有发布。</li></ul><h2 id="_1-12-0-beta-1" tabindex="-1">1.12.0-beta.1 <a class="header-anchor" href="#_1-12-0-beta-1" aria-label="Permalink to "1.12.0-beta.1""></a></h2><p>少等人:能自动处理的中断不再停下等人,选择题改为默认值,装好就选好模型。设计决定见 ADR 0031。</p><h3 id="使用者会看到的变化-20" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-20" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>自愈</strong>:步骤超时而 agent 还在做时,再等它一轮;agent 报错、没写出有效结果时,新开一个 agent 重做一次。限流重试用完时,预约在 Paseo 显示的额度恢复时间之后自动继续,而不是固定 30 分钟。</li><li><strong>备用模型</strong>(可选):配置 <code>agents.fallback</code> 后,报错重做、限流重试用完时换它把这一步做完。<code>req configure</code> 和插件的"模型"设置页会推荐一个。</li><li><strong>方案审核的问题先自答</strong>:审核说需要需求方决定时,先由 builder 从代码和文档中找答案,只把真正的业务取舍连同推荐答案交给需求方;都能回答时不停下。</li><li><strong>后台进程意外退出后自动继续</strong>:定时检查默认打开(每 60 分钟);接单器每次检查时也会发现并请对话继续。</li><li><strong>装好就选好模型</strong>:安装时自动选好已登录的 agent(两个不同厂商分别做 builder 和 reviewer,再选一个做备用),不再需要回答配置向导;<code>req configure --auto</code> 同样。插件设置中新增"模型"一页,可以直接修改。</li><li><strong><code>/req</code> 少问</strong>:不再问是否新建工作区、档位、执行方式、现在开始还是预约,按推荐值直接走,确认摘要最后一行写明,想改再说;确认需求说明后立即开始。</li><li><strong>卡片回复更宽松</strong>:写"好的""没问题""按你说的来"也算同意;回复区只写了一句"好的"也算确认。卡片已经写清需求时,不再为提问而提问;问题附上推荐答案。</li><li><strong><code>req stats</code> 新增"人工介入"一节</strong>:停下等人的原因、自动处理的次数、到达提测的需求中没有非必要介入的比例。</li></ul><h3 id="升级须知-17" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-17" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置 <code>selfHeal</code>、<code>answerQuestionsFirst</code>(默认都是 <code>true</code>)、<code>agents.fallback</code>(可选);<code>watchdogMinutes</code> 默认从 0 改为 60。想保持以前的行为,分别设为 <code>false</code>、<code>false</code>、<code>0</code>。</li><li>状态文件新增 <code>stopKind</code>、<code>recoveries</code>,使用记录的 <code>run</code> 新增 <code>stopKind</code>、<code>recoveries</code>;旧文件照常可用,统计按状态推断旧记录的原因。</li></ul><h2 id="_1-11-0" tabindex="-1">1.11.0 <a class="header-anchor" href="#_1-11-0" aria-label="Permalink to "1.11.0""></a></h2><p>稳定版:包含 1.10 的"从卡片开始的需求"和 1.11 的接单器(详见下面的 beta 记录),并修正步骤超时后会重复开 agent 的问题。</p><h3 id="使用者会看到的变化-21" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-21" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>从卡片开始的需求</strong>(1.10):<code>req start --from <系统>:<卡号></code> 读卡片、建需求会话;卡片描述末尾的 AI 区和需求方回复区代替对话;按子系统自动选仓库;工厂模式下研发完成后可以推送 <code>req/</code> 分支;统计按需求方汇总。</li><li><strong>接单器</strong>(1.11):<code>req factory</code> 定时接标题带 <code>[AI]</code>/<code>【AI】</code> 的新卡片,并把需求方的回复转给需求会话。</li><li><strong>修正:步骤超时后不再重复开 agent</strong>。以前超时只判定失败、不看 agent 实际状态,继续时会新建一个 agent,而旧的仍在运行,两个 agent 同时改同一批文件、在同一个工作区提交、写同一个结果文件,需要手动停止旧的。现在继续(<code>--resume</code>、自动重试)时先看上一次的 agent:做完了就用它的结果;还在做就接着等它一轮;第二次仍超时才停止它,再新建。连续读不到 agent 状态时同样处理。</li></ul><h3 id="升级须知-18" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-18" aria-label="Permalink to "升级须知""></a></h3><ul><li>从 1.9 升级:先看 1.10.0-beta.1 至 1.11.0-beta.1 的升级须知(对接配置的 <code>query</code>、<code>describe</code>、<code>list</code>,项目配置的 <code>cardSource</code>,本机或团队配置的 <code>push</code>、<code>factory</code>)。不用卡片的项目不需要改任何配置。</li><li>状态文件的步骤记录新增 <code>leftRunning</code>、<code>reattached</code> 两项,旧状态文件照常可用。</li></ul><h2 id="_1-11-0-beta-1" tabindex="-1">1.11.0-beta.1 <a class="header-anchor" href="#_1-11-0-beta-1" aria-label="Permalink to "1.11.0-beta.1""></a></h2><p>接单器:一台共享研发机器自动接卡片、转达回复,需求方只在卡片上操作。</p><h3 id="使用者会看到的变化-22" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-22" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong><code>req factory</code></strong>:每隔几分钟(<code>factory.pollMinutes</code>,默认 5)检查一次需求管理系统:本机登记的仓库所在空间中,标题以 <code>[AI]</code> 或 <code>【AI】</code> 开头、还没开始过的卡片,自动按子系统进入对应仓库、开始需求;需求方在卡片中的新回复自动转给需求会话。 <ul><li><code>req factory once</code> 检查一次;<code>start</code> / <code>stop</code> 在后台运行;<code>status</code> 看最近一次检查和没能接的卡片;<code>service</code> 给出作为系统服务(开机自动运行)的写法。</li><li>每次最多开始 3 个需求(<code>factory.maxNewPerPoll</code>),其余下次再接;接不了的卡片记下原因,卡片改了马上再试,否则一天后再试。</li></ul></li><li><strong>修正</strong>:<code>req start --from</code> 在建需求会话时失败(例如 Paseo 没在运行)后,再运行一次会补建会话,而不是提示"已经开始过"。</li></ul><h3 id="升级须知-19" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-19" aria-label="Permalink to "升级须知""></a></h3><ul><li>需要在对接配置中加上 <code>list</code>(列出卡片的命令),写法见《项目定制与运行规则》的"接单器"一节;接单的仓库要在 <code>cardSource</code> 中写上空间(<code>projectId</code>)。</li><li>新增配置 <code>factory</code>(只能写在本机或团队配置中)、本机目录 <code>~/.req-kit/factory/</code>。现在只支持一台机器接单。设计决定见 ADR 0030。</li></ul><h2 id="_1-10-0-beta-3" tabindex="-1">1.10.0-beta.3 <a class="header-anchor" href="#_1-10-0-beta-3" aria-label="Permalink to "1.10.0-beta.3""></a></h2><p>从卡片开始的需求:按子系统自动选仓库、研发完成后推送分支、统计按需求方汇总。</p><h3 id="使用者会看到的变化-23" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-23" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>按子系统选仓库</strong>:在仓库中运行 <code>/req-setup</code> 时可以写上这个仓库接哪个空间、哪些子系统的卡片(同一子系统有几个仓库时再写标题关键字),并在本机登记。之后 <code>req start --from ALM:<卡号></code> 不用写 <code>--repo</code>。<code>req card route</code> 查看本机登记的仓库。</li><li><strong>推送分支</strong>(默认关闭):本机或团队配置打开 <code>push</code> 后,从卡片开始的需求在研发完成、写好提测说明后推送到 <code>origin</code> 的 <code>req/<卡号简称></code> 分支,分支名写进卡片。不强推、不合并。</li><li><strong>统计</strong>:运行记录带上需求方和卡号,<code>req stats --report</code> 多一节"从卡片开始的需求(按需求方)",CSV 多 <code>requester</code>、<code>card</code> 两列。</li></ul><h3 id="升级须知-20" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-20" aria-label="Permalink to "升级须知""></a></h3><ul><li>都是可选的。推送只在 <code>push.enabled</code> 为 true、需求是从卡片开始的时候发生,并且只能在本机或团队配置中打开(ADR 0029 记录了这条对"只在本地提交"规则的放宽)。</li><li>新增项目配置 <code>cardSource</code>、本机文件 <code>~/.req-kit/card-repos.json</code>、状态文件可选字段 <code>pushed</code>、运行记录可选字段 <code>requirement.requester</code> 和 <code>requirement.source</code>,格式版本都不变。</li></ul><h2 id="_1-10-0-beta-2" tabindex="-1">1.10.0-beta.2 <a class="header-anchor" href="#_1-10-0-beta-2" aria-label="Permalink to "1.10.0-beta.2""></a></h2><p>(1.10.0-beta.1 的发布任务因一个测试的顺序问题失败,没有发布,内容相同,以 beta.2 发布。)</p><p>从卡片开始需求:需求方在需求管理系统中写好卡片,不必有人在 Paseo 对话里发起;问题和确认通过卡片描述往来。这是"软件工厂"的第一步,定时接单器在 1.11。</p><h3 id="使用者会看到的变化-24" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-24" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong><code>req start --from <系统>:<卡号></code></strong>:读一张卡片,建功能目录,在 Paseo 中为这个需求建一个<strong>需求会话</strong>。需求会话按新的无人值守手册从卡片写需求说明,把摘要、验收标准、假设和问题写进卡片描述末尾的"req-kit AI 区";需求方在"需求方回复"区回答,写"确认:同意"后它自己启动开发(自动新建工作区)。需求方自己写的描述原样保留。</li><li><strong><code>req card check [<卡号> | --all]</code></strong>:读需求方的回复,把新的回答、补充、描述修改和确认转给需求会话;同样的内容只转一次。<code>req card list</code> 列出本机从卡片开始的需求。</li><li>开发中卡片跟着走:状态按 <code>statusMap</code> 改(例如"开发中""待测试"),AI 区更新进度;方案待确认时附上方案摘要,需求方在"方案确认:"后写"同意"即可。</li><li>从卡片开始的需求用这张卡片,不另建卡片;项目没有指定执行方式时默认只做研发。</li><li>在 Paseo 中打开需求会话可以看到整个过程。</li></ul><h3 id="升级须知-21" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-21" aria-label="Permalink to "升级须知""></a></h3><ul><li>需要在对接配置中加上 <code>query</code>(读卡片)和 <code>describe</code>(改描述),写法见《项目定制与运行规则》"从卡片开始需求"。不用这个功能的,什么都不用改。</li><li><strong>行为变化</strong>:"只做研发"的需求在研发完成时,发给外部系统对接的事件由 <code>completed</code> 改为 <code>phase_done</code>("研发完成,待测试")。给 <code>phase_done</code> 配了状态的,这类需求的卡片会改为那个状态,而不是"完成"对应的状态。</li><li>功能目录新增 <code>source.json</code>、<code>card-source.md</code>、<code>card-ai.md</code>(只在从卡片开始的需求中);本机新增 <code>~/.req-kit/cards/</code>。状态文件格式不变。设计决定见 ADR 0029。</li></ul><h2 id="_1-9-1" tabindex="-1">1.9.1 <a class="header-anchor" href="#_1-9-1" aria-label="Permalink to "1.9.1""></a></h2><p>1.9 的正式版(1.9.0 的发布任务因一个测试的时序问题失败,没有发布到 npm,内容相同,以 1.9.1 发布)。汇总 1.9.0-beta.1 到 beta.3 的全部内容(各节见下):本机的需求索引与使用统计、Paseo 插件、外部系统对接。</p><h3 id="使用者会看到的变化-25" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-25" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>使用统计</strong>:<code>req stats</code> 看本机的需求数、交付周期、返工、等待时长、用时和用量;<code>--report</code> 生成给管理方的汇总和明细,<code>--export</code> / <code>--merge</code> 汇总多台机器。</li><li><strong>Paseo 插件</strong>(<code>req plugin install</code>):在 Paseo 的网页端、桌面版和手机上查看本机所有需求的进度、文档(按 Markdown 显示)和统计,确认方案、停止、继续、开始测试验证、同步到外部系统。可以设为只读。</li><li><strong>外部系统对接</strong>:配置 <code>integrations</code> 后,需求在团队的需求管理系统中自动建卡、跟着阶段改状态;卡片字段在确认需求说明时整理。<code>req integration test</code> 预演命令,<code>req sync</code> 补发。</li><li><strong><code>req api</code></strong>:给程序用的 JSON 接口,插件通过它工作。</li></ul><h3 id="升级须知-22" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-22" aria-label="Permalink to "升级须知""></a></h3><ul><li>从 1.8.0 升级:依次看下面 1.9.0-beta.1 到 beta.3 的升级须知。三项新能力都是可选的;升级后在项目目录运行一次 <code>req index --rebuild</code>,让之前运行过的需求出现在索引和插件中。</li><li>装过插件的,<code>req upgrade</code> 会自动把插件换成 1.9.1。</li><li>从 1.9.0-beta.3 升级:功能没有变化,只改了版本号和文档中的版本示例。</li></ul><h2 id="_1-9-0-beta-3" tabindex="-1">1.9.0-beta.3 <a class="header-anchor" href="#_1-9-0-beta-3" aria-label="Permalink to "1.9.0-beta.3""></a></h2><p>外部系统对接:需求在团队的需求管理系统中自动建卡、跟着阶段改状态;插件中的文档按 Markdown 显示。</p><h3 id="使用者会看到的变化-26" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-26" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>外部系统对接</strong>:配置 <code>integrations</code> 后,流水线开始时在需求管理系统中建一张卡,之后每到一个阶段改卡片的状态:开始开发、等待确认、研发完成、开始测试验证、完成、中断,对应哪个状态可以配置。卡片编号和链接显示在进度、完成报告和 Paseo 插件里。 <ul><li>对接的是本机已有的命令行工具,命令的写法写在团队配置里,换系统或系统改参数都不用升级 req-kit。</li><li>卡片的业务字段(优先级、需求类型等)由 AI 在确认需求说明时从需求说明中整理,和需求方一起确认后写进 <code>card.json</code>。</li><li>外部系统出错不影响流水线:失败的调用会自动补发,也可以运行 <code>req sync <需求></code>,插件中有"同步到外部系统"。</li><li><code>req integration test [需求]</code> 显示每个事件会执行的完整命令,但不真正调用,配置时先用它检查。</li></ul></li><li><strong>插件</strong>:文档按 Markdown 显示(标题、列表、表格、代码、链接),<code>decisions.tsv</code> 等显示为表格;需求详情中显示外部系统的卡片和链接。</li></ul><h3 id="升级须知-23" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-23" aria-label="Permalink to "升级须知""></a></h3><ul><li>对接是可选的,写法见《项目定制与运行规则》的"外部系统对接"。<code>integrations</code> 只能写在本机或团队配置中;项目可以在自己的配置中用 <code>integrationDefaults</code> 提供项目编号等取值。</li><li>状态文件新增可选字段 <code>external</code>,功能目录新增 <code>card.json</code>,格式版本仍为 1。</li><li>自定义了 <code>prompts.local/</code> 的不受影响;<code>/req</code> 的新需求手册在确认前多一步"卡片字段",没有配置对接时自动跳过。设计决定见 ADR 0028。</li></ul><h2 id="_1-9-0-beta-2" tabindex="-1">1.9.0-beta.2 <a class="header-anchor" href="#_1-9-0-beta-2" aria-label="Permalink to "1.9.0-beta.2""></a></h2><p>Paseo 插件:在 Paseo 的界面里查看和管理需求。</p><h3 id="使用者会看到的变化-27" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-27" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>req-kit 插件</strong>(<code>req plugin install</code>):在 Paseo 的网页端、桌面版和手机上都能用。 <ul><li>侧边栏的"需求":本机所有项目的需求,按"需要你处理、进行中、待测试验证、最近完成"分组,带待处理的数量。</li><li>需求详情:每一步的状态、用时和结论(点开进入那个步骤的 agent)、质量门、联合需求的各仓库、用量;可以读需求说明、方案、确认预览、提测说明、完成报告等。</li><li>确认方案、停止、继续、开始测试验证:每个都要再确认一次,做的事与终端里的 <code>req</code> 命令完全相同。</li><li>每个工作区头部的"需求"按钮和面板、步骤 agent 输入框旁的"需求"按钮、使用统计页、Ctrl+K 中的"需求总览"。</li><li>插件设置中可以打开"只读",给只看不操作的人用。</li></ul></li><li><strong>安装脚本</strong>最后询问是否安装插件(<code>--with-plugin</code> 直接安装,<code>--no-plugin</code> 不问;PowerShell 用 <code>$ReqKitPlugin</code>)。</li><li><strong>修正</strong>:安装脚本判断 Paseo 网页界面是否已开启时,读错了 <code>paseo daemon config get</code> 的输出("已设置"被当成"已开启")。</li></ul><h3 id="升级须知-24" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-24" aria-label="Permalink to "升级须知""></a></h3><ul><li>插件是可选的。安装时会询问是否打开 Paseo 的插件总开关(<code>pluginsEnabled</code>):插件是不受沙箱限制的代码;req-kit 插件只运行本机的 <code>req api</code>,不连接外部服务。</li><li>装过插件后,<code>req setup</code>、<code>req upgrade</code>、<code>req use</code> 会自动把插件换成启用的版本。插件随 req-kit 一起发布,不需要单独的 npm 包。</li><li>需要 Paseo 0.11。1.9 之前运行过的需求,先在项目目录运行一次 <code>req index --rebuild</code>。设计决定见 ADR 0027。</li></ul><h2 id="_1-9-0-beta-1" tabindex="-1">1.9.0-beta.1 <a class="header-anchor" href="#_1-9-0-beta-1" aria-label="Permalink to "1.9.0-beta.1""></a></h2><p>1.9 的基础:本机知道自己有哪些需求,记下每次运行的用时和用量,并给程序一个稳定的读取接口。插件(beta.2)和外部系统集成(beta.3)都建在它上面。</p><h3 id="使用者会看到的变化-28" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-28" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>使用统计 <code>req stats</code></strong>:在任何目录运行,看本机最近 30 天(<code>--since</code>、<code>--month 2026-10</code>)的统计:有进展和完成的需求数、交付周期、返工(评审轮数、需要缺陷修复的占比、质量门失败次数)、等待确认和等待决定的时长、各步骤用时、token 用量和费用、不同 builder 的比较。</li><li><strong>给管理方的汇报</strong>:<code>req stats --report --month 2026-10</code> 生成汇总(<code>.md</code>)和每个需求一行的明细(<code>.csv</code>,可以用表格软件打开)。几台机器一起汇报时,每台 <code>req stats --month 2026-10 --export</code>,再在一处 <code>req stats --merge <文件…> --month 2026-10 --report</code>。</li><li><strong>本机的需求索引</strong>:运行过的需求会登记在本机,<code>req index</code> 查看。1.9 之前运行过的需求在项目目录运行一次 <code>req index --rebuild</code> 补登;<code>req index --prune</code> 清理目录已不在的。</li><li><strong><code>req api</code></strong>:给程序用的 JSON 输出:列出本机或当前仓库的需求、一个需求的步骤和质量门、读取功能目录中的文档、统计,以及确认方案、停止、继续、开始测试验证这几个管理操作。Paseo 插件将通过它工作。格式见 <code>contracts/cli-json.md</code>。</li></ul><h3 id="升级须知-25" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-25" aria-label="Permalink to "升级须知""></a></h3><ul><li>新增本机文件:<code>~/.req-kit/index/</code>(每个需求一个小文件)和 <code>~/.req-kit/usage/runs.jsonl</code>(每次运行一行)。只在本机,不记需求内容和代码,不会自动发往任何地方。不想记录时设置环境变量 <code>REQ_KIT_NO_RECORD=1</code>。</li><li>统计只从升级后的运行开始;之前的运行没有记录。</li><li>状态文件、结果文件和提示词都没有变化。设计决定见 ADR 0026。</li></ul><h2 id="_1-8-0" tabindex="-1">1.8.0 <a class="header-anchor" href="#_1-8-0" aria-label="Permalink to "1.8.0""></a></h2><p>第一个正式版。汇总 1.8.0-beta.1 到 beta.3 的全部内容(各节见下),并让新机器一条命令就能从零用起来。</p><h3 id="使用者会看到的变化-29" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-29" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>一键安装改用站点地址</strong>: <ul><li>macOS、Linux、Git Bash、WSL:<code>curl -fsSL https://paseo-req-kit.vercel.app/install.sh | sh</code></li><li>Windows PowerShell:<code>irm https://paseo-req-kit.vercel.app/install.ps1 | iex</code></li><li>原来的 GitHub 地址仍然可用。</li></ul></li><li><strong>一键安装会准备好 Paseo</strong>: <ul><li>新机器上没有 Paseo 时,脚本先安装与这个版本匹配的 Paseo 命令行(<code>@getpaseo/cli@~0.11.0</code>),开启它自带的网页界面,再启动 daemon。装完在浏览器打开 <code>http://localhost:6767/</code> 就能用 Paseo 对话,不必另装桌面版。</li><li>已有 <code>paseo</code> 命令时不重装:核对版本(不在支持范围内时提醒),开启网页界面;daemon 没在运行就启动。daemon 已在运行而网页界面是刚开启的,只提示 <code>paseo daemon restart</code>,不自动重启,因为重启会中断正在运行的 agent。</li><li>只有桌面版 Paseo 管理的 daemon(没有 <code>paseo</code> 命令)时什么都不装,只提示在桌面版中开启网页界面。</li><li>一个 agent 命令行(Claude Code、Codex、OpenCode、Pi、Copilot)都没有时会提醒。</li><li>不想让脚本动 Paseo 时加 <code>--skip-paseo</code>(PowerShell:<code>$ReqKitSkipPaseo = $true</code>)。</li></ul></li><li><strong>1.8 的内容</strong>: <ul><li>按需求类型分流(缺陷先复现、重构先锁行为、评估只出报告)。</li><li>质量门、按切片实现、范围检查、关联仓库。</li><li>带例子的验收标准、开工前确认方案、评审分规格和规范两个方向、反复出现的问题变成规则。</li><li>前后端联合需求。</li></ul></li></ul><h3 id="升级须知-26" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-26" aria-label="Permalink to "升级须知""></a></h3><ul><li>这是 npm 上的第一个 <code>latest</code> 版本:<code>npm i -g paseo-req-kit</code> 和不带 <code>--beta</code> 的一键安装从此装正式版。在 beta 通道的(<code>req upgrade --beta</code> 或 <code>@beta</code>)照常收到之后的 beta 版;没有更新的 beta 时,一键安装的 <code>--beta</code> 装正式版,而不是更早的 1.8.0-beta.3。</li><li>从 1.7.x 或更早升级:依次看下面 1.8.0-beta.1 到 beta.3 的升级须知。最重要的是在每个项目主目录的对话中再运行一次 <code>/req-setup</code>,写入检查命令、术语表和范例文件。</li><li>从 1.8.0-beta.3 升级:引擎和提示词没有变化,只改了安装脚本和文档。</li></ul><h2 id="_1-8-0-beta-3" tabindex="-1">1.8.0-beta.3 <a class="header-anchor" href="#_1-8-0-beta-3" aria-label="Permalink to "1.8.0-beta.3""></a></h2><p>联合需求:前端和后端分在两个仓库的需求,可以作为一个需求一起做。</p><h3 id="使用者会看到的变化-30" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-30" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>联合需求</strong>:另一个仓库已经登记为关联仓库(<code>relatedRepos</code>)时,<code>/req</code> 会问两边都要改的需求是否一起做。需求说明头部写 <code>- 联合开发:后端</code>(最多再加两个仓库)。 <ul><li>流水线为后端新建一个工作区(分支同名),后端那份检出本身不动。</li><li>在发起需求的仓库(主仓库)设计整体方案,并写出双方的<strong>接口约定</strong> <code>contract.md</code>(字段、错误码、示例),方案审核一起审,通过后冻结。</li><li>需求说明、方案和接口约定同步到后端的工作区并提交;两边<strong>同时</strong>实现、评审、修复,各用各的检查命令和项目说明。子 agent 列表中显示为"5-代码实现(后端)"。</li><li>提测说明、功能验证和报告在主仓库:两边的服务都由 Paseo 启动,每个缺陷发回它所在的仓库修复,再一起复验。报告写明每个仓库的分支和合并顺序,合并仍然由人来做。</li><li>进度查询显示每个仓库的工作区和各自的步骤。</li></ul></li></ul><h3 id="升级须知-27" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-27" aria-label="Permalink to "升级须知""></a></h3><ul><li>新的 spec 头部行 <code>- 联合开发:</code>(<code>relatedRepos</code> 中的名称)。关联仓库最好也运行过 <code>/req-setup</code>:它自己的 <code>checks</code>、验证方法和项目说明会用在它的步骤里。</li><li>状态文件新增可选字段 <code>joint</code>,验证和复验的结果文件新增可选字段 <code>defect_repos</code>,格式版本仍为 1。回滚到更早的版本后,旧引擎只在主仓库继续,其他仓库工作区中的改动保持原样。</li><li>自定义了 <code>prompts.local/</code> 的:新增 <code>joint.md</code>。</li><li>联合需求的用量大约按仓库数增加;几个仓库的步骤同时运行,本机同时运行的 agent 也更多。设计决定见 ADR 0025。</li><li>维护者:<code>main</code> 收到版本号还没有标签的 <code>package.json</code> 时,发布工作流会自动打上同名标签并发布,不必再手工打标签(手工打照样可以)。</li></ul><h2 id="_1-8-0-beta-2" tabindex="-1">1.8.0-beta.2 <a class="header-anchor" href="#_1-8-0-beta-2" aria-label="Permalink to "1.8.0-beta.2""></a></h2><p>让"做成什么样"的分歧更早暴露:验收标准带例子、开工前确认方案、评审分两个方向、反复出现的问题变成规则。</p><h3 id="使用者会看到的变化-31" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-31" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>验收标准带例子</strong>:AI 写验收标准时给每条配上具体的数据(输入什么、看到什么;按规则计算的给出边界上的几组),确认前的独立审阅会检查这一点。这些例子直接成为测试的期望值:你确认的,就是测试会检查的东西。</li><li><strong>开工前确认方案</strong>(标准档的界面改动):方案审核通过、写代码之前,流水线停下来发来"请确认方案":AI 讲 <code>preview.md</code> 的要点(做完后会看到什么、需要你确认的假设、不会变的地方),界面改动还有静态的原型页面(<code>prototype/</code>)。说"可以"就开工;想改就直接说,更新需求说明后方案会调整,再请你看一次。功能验证会对照确认过的原型。终端里新增 <code>req approve <需求></code>。</li><li><strong>代码评审分两个方向</strong>:标准档第一轮由规格评审(每条验收标准是否实现、测试是否用了验收标准的例子、有没有做需求之外的事)和规范评审(项目惯例、范例文件、术语、测试质量、安全)同时进行,再汇总成一份结论。</li><li><strong>验收测试先提交</strong>:适合测试先行时,从例子写出的测试先单独提交;之后被改过的,代码评审前由流水线列出,评审逐个确认有没有依据。</li><li><strong>术语表和范例文件</strong>:<code>/req-setup</code> 整理 <code>GLOSSARY.md</code>(业务词、含义、代码中的名字)并列出各类代码的范例文件;方案的每个任务写明照哪个文件的写法来。</li><li><strong>反复出现的问题变成规则</strong>:完成报告把一条项目规则就能挡住的问题记进 <code>lessons.tsv</code>;同一类问题在两个以上需求里出现时,需求总览(<code>req digest</code>)会提示,<code>/req-retro</code> 会建议把它变成 lint 规则、测试或项目说明里的一行。</li></ul><h3 id="升级须知-28" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-28" aria-label="Permalink to "升级须知""></a></h3><ul><li>新配置(都有默认值):<code>designApproval</code>(<code>mode</code> 默认 <code>ui</code>、<code>profiles</code> 标准档、<code>autoContinueHours</code> 0)、<code>reviewAxes</code>(默认标准档开启)。不想要开工前的确认,设 <code>"designApproval": { "mode": "off" }</code>;不想多两次评审,设 <code>"reviewAxes": { "enabled": false }</code>。</li><li>新状态 <code>waiting_for_approval</code>(等待需求方确认方案)和启动参数 <code>--approve</code>。等待确认时单独的 <code>--resume</code> 会被拒绝。状态文件新增可选字段 <code>approval</code>,格式版本仍为 1;回滚到更早的版本后,旧引擎会不经确认直接继续写代码。</li><li>结果文件新增可选字段:方案设计和修订的 <code>ui_change</code>,代码实现的 <code>acceptance_tests</code>、<code>acceptance_tests_commit</code>。外部通知新增事件 <code>approval</code>(<code>notifiers/im-template.mjs</code> 已加上它的标题);只订阅了部分事件的不受影响。</li><li>自定义了 <code>prompts.local/</code> 的:新增 <code>review-axis-spec.md</code>、<code>review-axis-standards.md</code>;<code>00-shared-context.md</code>、<code>02-spec-review.md</code>、<code>03-design.md</code>、<code>04-design-review.md</code>、<code>04b-design-revise.md</code>、<code>05-implement.md</code>、<code>06-code-review.md</code>、<code>09-verify.md</code>、<code>11-report.md</code>、<code>incremental.md</code> 有增补,覆盖过它们的请对照合并。</li><li>在项目主目录再运行一次 <code>/req-setup</code>,生成术语表和范例文件清单。<code>/req-doctor</code> 会提醒没有 <code>GLOSSARY.md</code> 的项目。设计决定见 ADR 0024。</li></ul><h2 id="_1-8-0-beta-1" tabindex="-1">1.8.0-beta.1 <a class="header-anchor" href="#_1-8-0-beta-1" aria-label="Permalink to "1.8.0-beta.1""></a></h2><p>研发流程按需求类型分流,代码检查由流水线自己把关,大需求按切片实现。</p><h3 id="使用者会看到的变化-32" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-32" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>需求类型</strong>:<code>/req</code> 复述需求时会确认它是哪一类,流水线按类型走不同的做法: <ul><li><strong>缺陷</strong>:先复现、找到根因再修。第一步改为"复现与定位",先提交一个修复前失败的复现测试,写 <code>diagnosis.md</code>;复现不了就暂停,把需要你补充的信息发回对话。修复要让复现转绿,评审会实际确认。</li><li><strong>重构</strong>:先用测试锁住现有行为,再小步改动;评审首先看行为有没有变。</li><li><strong>评估</strong>:只调研、写评估报告(<code>assessment.md</code>),由另一个模型审阅,不写代码、不做验证;报告附需求草稿,可以接着说"按评估结果提一个新需求"。</li></ul></li><li><strong>质量门</strong>:项目配置了检查命令时,流水线在写代码和修复的步骤之后<strong>自己运行</strong> lint、类型检查、测试、构建。改动前通过、现在失败的,发回那一步的 agent 修复(最多 2 次);仍然失败的交给代码评审和报告,报告结论最高为"有遗留问题"。进度查询会显示质量门的结果。</li><li><strong>按切片实现</strong>:标准档的方案分成几个能单独验证的切片时,代码实现逐片进行,每片一个新的 agent、各自提交和检查;子 agent 列表中显示为"5-代码实现 第2/3片",中断后只重做当前片。</li><li><strong>范围检查</strong>:代码评审前比对方案列出的文件和实际改动的文件,清单之外的改动由评审逐一说明理由;评审新增"影响面"一节,只把影响正确性、安全、数据和验收的问题提为必须修改,避免越改越复杂。</li><li><strong>多模块与关联仓库</strong>:检查可以只在对应模块有改动时运行;其他仓库(例如前端项目的后端)可以登记为关联仓库,各步骤只读参考,不用猜接口。</li></ul><h3 id="升级须知-29" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-29" aria-label="Permalink to "升级须知""></a></h3><ul><li>在项目主目录的对话中再运行一次 <code>/req-setup</code>:它会把实际跑通的检查命令写进 <code>.requirement-pipeline.json</code> 的 <code>checks</code>,并询问关联仓库。不运行也能用,只是没有质量门,<code>/req-doctor</code> 会提醒。</li><li>新配置(都有默认值):<code>checks</code>、<code>qualityGate</code>(<code>fixAttempts</code> 2、<code>timeoutMinutes</code> 20)、<code>slices</code>(<code>profiles</code> 标准档、<code>max</code> 6)、<code>requirementTypes</code>(缺陷、重构、评估)、<code>relatedRepos</code>。spec 头部的 <code>- 类型:</code> 由引擎读取(之前只给人看):已有 spec 中写着"缺陷"的,继续时会按缺陷的做法进行。</li><li>结果文件新增可选字段:方案设计的 <code>slices</code>、<code>files</code>、<code>reproduced</code>、<code>questions</code>,方案修订的 <code>slices</code>、<code>files</code>。状态文件新增可选字段 <code>type</code>、<code>codeBase</code>、<code>gate</code>,格式版本仍为 1。回滚到 1.7 后旧引擎忽略它们;按切片实现中断的需求,旧引擎会把实现整个重做一遍。</li><li>自定义了 <code>prompts.local/</code> 的:新增 <code>types/defect.md</code>、<code>types/refactor.md</code>、<code>types/assessment.md</code>、<code>related-repos.md</code>;<code>00-shared-context.md</code>、<code>03-design.md</code>、<code>04-design-review.md</code>、<code>04b-design-revise.md</code>、<code>05-implement.md</code>、<code>06-code-review.md</code>、<code>07-review-fix.md</code>、<code>10-defect-fix.md</code>、<code>11-report.md</code> 有增补,覆盖过它们的请对照合并。</li><li>有质量门的项目,每次尝试开始时多一次检查运行,写代码的步骤之后各多一次;检查要能在几分钟内跑完。</li><li>评估:新增用例 <code>text-utils-rounding-defect</code>(缺陷类型,检查先复现再修)。设计决定见 ADR 0023。</li></ul><h2 id="_1-7-0-beta-3" tabindex="-1">1.7.0-beta.3 <a class="header-anchor" href="#_1-7-0-beta-3" aria-label="Permalink to "1.7.0-beta.3""></a></h2><p>一键安装、产品站点,以及 <code>paseo.json</code> 跨系统。</p><h3 id="使用者会看到的变化-33" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-33" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>一键安装</strong>:<code>curl -fsSL https://raw.githubusercontent.com/yiyisf/paseo-req-kit/main/install.sh | sh</code>(macOS、Linux、Git Bash、WSL),Windows PowerShell 用 <code>irm …/install.ps1 | iex</code>。一条命令完成检查环境、安装(npm 上没有时用 GitHub Release 的安装包,npm 全局目录不可写时装到 <code>~/.req-kit/npm</code>)、<code>req setup</code> 和配置向导,再次运行即升级。</li><li><strong>产品站点</strong>:<a href="https://yiyisf.github.io/paseo-req-kit/" target="_blank" rel="noreferrer">https://yiyisf.github.io/paseo-req-kit/</a> ,包括首页、快速开始、工作原理、分阶段执行、命令和配置参考,以及由仓库文档生成的指南、文件约定、设计决定和更新记录(<code>site/</code>,VitePress)。</li><li><strong>paseo.json 跨系统</strong>:Paseo 在各系统上用不同的 shell 执行 <code>paseo.json</code> 的命令(macOS/Linux:bash、sh;Windows:准备命令用 PowerShell,脚本和服务用 cmd.exe),之前按 bash 写的命令(<code>$PASEO_PORT</code>、<code>[ -f … ] && cp …</code>)在 Windows 上会失败。<code>/req-setup</code> 现在只写各系统一样的命令,并在项目中写入两个小脚本 <code>scripts/paseo/with-port.mjs</code>(服务端口)和 <code>scripts/paseo/copy-local-files.mjs</code>(复制本地配置);<code>/req-doctor</code> 按本机系统检查 <code>paseo.json</code>,在本机会失败的写法给出警告,只在某个系统能用的写法给出提示。已经用 <code>/req-setup</code> 生成过 <code>paseo.json</code> 的项目,再运行一次即可更新。</li></ul><h3 id="升级须知-30" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-30" aria-label="Permalink to "升级须知""></a></h3><ul><li>已安装的机器:<code>req upgrade --beta</code>,或重新运行一键安装命令。</li><li>已经用 <code>/req-setup</code> 生成过 <code>paseo.json</code> 的项目:在项目主目录的对话中再运行一次 <code>/req-setup</code>,改成各系统通用的写法(会新增 <code>scripts/paseo/</code> 下的两个脚本);不改也能用,<code>/req-doctor</code> 会提示哪些命令只在部分系统上有效。</li><li>安装包新增 <code>LICENSE</code>(MIT)。状态文件、配置格式没有变化。</li><li>维护者:文档站点由 <code>.github/workflows/site.yml</code> 构建并推送到 <code>gh-pages</code> 分支,需要在仓库 Settings → Pages 中选择从 <code>gh-pages</code> 分支发布;发布流程支持对已有标签手动重跑(Actions → release → Run workflow)。</li></ul><h2 id="_1-7-0-beta-2" tabindex="-1">1.7.0-beta.2 <a class="header-anchor" href="#_1-7-0-beta-2" aria-label="Permalink to "1.7.0-beta.2""></a></h2><p>分阶段执行:研发和测试验证可以分开进行。</p><h3 id="使用者会看到的变化-34" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-34" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>提测说明</strong>:代码评审之后新增一步,写 <code>handoff.md</code>:这次改了什么、怎么跑起来、自测结果、建议重点测试、已知问题、测试前要准备什么。功能验证会先读它。</li><li><strong>执行方式</strong>:标准档的需求在确定档位时可以选(团队或项目配置里定好了就不问): <ul><li><strong>连续</strong>(默认,与之前一样):研发完成后接着做测试验证。</li><li><strong>分阶段</strong>:研发完成后停下来通知"研发完成,可以提测";你或测试同事说"开始测试验证"再开始,也可以预约时间(<code>--verify-at</code>)。一天没有开始会提醒一次。</li><li><strong>只做研发</strong>:做到提测说明和研发报告为止,验收时按提测说明人工测试;之后仍可以让流水线做测试验证。</li></ul></li><li><strong>测试验证的做法</strong>:开始测试时可以选在本地验证,还是在已部署的测试环境中验证(AI 会和你一起写 <code>test-env.md</code>,只写口令在哪里取);发现缺陷时当场修复、退回研发修复后再提测,或只记录。测试阶段也可以换一个 agent(例如测试同事习惯的 profile)。</li><li><strong>测试同事接手</strong>:用"开发时自动新建工作区"开发的需求,研发完成后,测试同事可以在这个项目任何工作区的对话里输入 <code>/req 开始测试验证 <需求名称></code> 接手,之后的通知发到他的对话。</li><li><strong>进度和总览</strong>:显示"研发完成,待测试验证",总览把它归入"需要处理";用时与用量按阶段分别统计。终端里新增 <code>req verify <需求></code>。</li><li><strong>外部通知</strong>:新增事件类型 <code>phase_done</code>(带提测说明的路径和开始测试验证的命令),可以直接通知测试同事。</li></ul><h3 id="升级须知-31" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-31" aria-label="Permalink to "升级须知""></a></h3><ul><li>所有运行(包括连续方式)多了"提测说明"一步,通常几分钟;新增步骤超时 <code>stepTimeoutMinutes.handoff</code>(30 分钟)。</li><li>新的可选配置 <code>phases</code>(<code>mode</code>、<code>verify.environment</code>、<code>verify.agents</code>、<code>verify.defects</code>、<code>verify.serviceStart</code>),默认值保持原来的行为;spec 头部可选的新行 <code>- 执行方式:</code>;启动参数 <code>--phases</code>、<code>--phase verify</code>、<code>--verify-at</code>、<code>--verify-env</code>、<code>--defects</code>。</li><li>状态文件新增可选字段和状态值 <code>phase_done</code>,格式版本仍为 1。回滚到 1.7.0-beta.1 或更早版本后,旧引擎把"研发完成,待测试验证"当作可以继续的中断,继续时沿用研发结果、直接做验证。</li><li>外部通知模块:新事件类型 <code>phase_done</code>;只订阅了部分事件(<code>events</code>)的不受影响。<code>notifiers/im-template.mjs</code> 已加上它的标题。</li><li>自定义了 <code>prompts.local/</code> 的:新增提示词 <code>07b-handoff.md</code>、<code>verify-deployed.md</code>;<code>09-verify.md</code>、<code>11-report.md</code>、<code>incremental.md</code> 有增补,覆盖过它们的请对照合并。</li><li>评估:新增用例 <code>text-utils-tb-gated</code>,检查研发完成后停在闸口并写了提测说明。设计决定见 ADR 0022。</li><li>发布:1.7.0-beta.1 的发布工作流因类型检查失败没有发布到 npm(新建工作区时传了 Paseo 0.11.2 还不认识的 <code>background</code> 选项,已去掉;之前不会影响运行),1.7.0-beta.2 包含它的全部内容。新增 <code>ci.yml</code> 在推送到 main 时先跑一遍检查;第一次发布到 npm 在本机手工进行,之后用可信发布(见维护者指南)。</li></ul><h2 id="_1-7-0-beta-1" tabindex="-1">1.7.0-beta.1 <a class="header-anchor" href="#_1-7-0-beta-1" aria-label="Permalink to "1.7.0-beta.1""></a></h2><p>npm 分发:<code>npm i -g paseo-req-kit</code> 安装,按本机 Paseo 的版本升级。</p><h3 id="使用者会看到的变化-35" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-35" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>用 npm 安装</strong>:<code>npm i -g paseo-req-kit</code>,然后 <code>req setup</code>、<code>req configure</code>。Windows 上 <code>req</code> 命令由 npm 放进 PATH,不用再手工设置。全局安装的是一个版本管理器:各版本仍装在 <code>~/tools/req-kit/versions/<版本></code>,正在运行的流水线不受升级影响。</li><li><strong>按 Paseo 版本升级</strong>:<code>req upgrade</code> 先读本机 Paseo daemon 的版本,只升级到能支持它的 req-kit,并说明跳过了哪些版本、为什么。<code>req upgrade --beta</code> 在正式版上也考虑 beta 版。</li><li><strong>新命令</strong>:<code>req versions</code>(已安装的版本和 npm 上的版本)、<code>req use <版本></code>(切换或回滚)、<code>req setup</code>。也提供同名命令 <code>req-kit</code>,避免和其他工具的 <code>req</code> 冲突。</li><li><strong>体检</strong>:显示本机 Paseo 的版本,以及它是否在当前 req-kit 支持的范围内。</li><li><strong>发布</strong>:每个版本发布到 npm(beta 版用 <code>beta</code> 标签),正式版另有 <code>paseo-<小版本></code> 标签(如 <code>npm i -g paseo-req-kit@paseo-0.11</code>);GitHub Release 附带离线安装包。</li></ul><h3 id="升级须知-32" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-32" aria-label="Permalink to "升级须知""></a></h3><ul><li>已用 git 安装的机器可以照旧 <code>req upgrade</code>(来源仍是 git);想改用 npm:<code>npm i -g paseo-req-kit</code> 后 <code>req setup</code>,原有的 git 版本保留在 <code>versions/</code> 中,可以 <code>req use</code> 切回。</li><li><code>req upgrade --from</code> 现在接受 <code>npm</code>、<code>git</code> 或 git 地址。</li><li>依赖查找改为按 Node 的方式向上查找(npm 安装时依赖在 <code>versions/<版本>/node_modules</code>)。</li><li>维护者:发布改由 GitHub Actions 完成(<code>.github/workflows/release.yml</code>),需要先在 npmjs.com 上把仓库登记为可信发布者,见维护者指南。设计决定见 ADR 0021。</li><li>状态文件和配置没有变化。</li></ul><h2 id="_1-6-0-beta-1" tabindex="-1">1.6.0-beta.1 <a class="header-anchor" href="#_1-6-0-beta-1" aria-label="Permalink to "1.6.0-beta.1""></a></h2><p>调度:预约开始、等待提醒、中断后自动继续、排队,以及需求总览。</p><h3 id="使用者会看到的变化-36" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-36" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>预约开始</strong>:确认需求后可以说"今晚 10 点开始"或"明天早上开始"。流水线用 Paseo 定时任务预约,到时在这个对话里自动执行启动命令;在那之前修改需求说明也没关系。查看进度能看到预约,说"先停一下"即可取消。</li><li><strong>等待提醒</strong>:方案审核提出需要你决定的问题后,如果 24 小时内没有回答,会在对话里提醒一次(<code>waitingReminderHours</code>)。</li><li><strong>中断后自动继续</strong>:因限流、网络中断等临时错误中断(已自动重试过)时,预约 30 分钟后在对话里自动继续,每次尝试最多 2 次(<code>autoResumeMinutes</code>、<code>autoResumeMax</code>)。中断通知会写明预约的时间;说"先停一下"可以取消。</li><li><strong>排队</strong>:可以限制一台机器上同时运行的流水线数量(<code>maxConcurrentPipelines</code>,默认不限)。满了的时候新的需求会排队,并在对话里说明前面在跑哪些;轮到时自动开始。查看进度会显示"排队中"。</li><li><strong>定时检查(可选,默认关闭)</strong>:开启 <code>watchdogMinutes</code> 后,运行期间对话会定时检查一次,发现后台进程意外退出(例如机器重启)时自动继续。</li><li><strong>需求总览</strong>:<code>req digest</code> 列出项目中的需求,按"需要处理、待验收、开发中、对齐中、已验收"分组;<code>req digest --notify</code> 发到外部通知(如企业 IM,新的事件类型 <code>digest</code>);<code>req digest --schedule "0 9 * * 1"</code> 让 Paseo 每周一 9 点自动发送。</li></ul><h3 id="升级须知-33" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-33" aria-label="Permalink to "升级须知""></a></h3><ul><li>新的可选配置:<code>maxConcurrentPipelines</code>(0)、<code>queuePollSeconds</code>(60)、<code>waitingReminderHours</code>(24)、<code>autoResumeMinutes</code>(30)、<code>autoResumeMax</code>(2)、<code>watchdogMinutes</code>(0)。提醒和自动继续默认开启,不需要时设为 0。现有配置无需改动。</li><li>新的启动参数 <code>--at</code>;新命令 <code>req digest</code>。</li><li>外部通知新增事件类型 <code>digest</code>。通知模块配置了 <code>events</code> 列表的不会收到它;没有配置 <code>events</code> 的会收到,按 <code>contracts/notifier-event.md</code> 的约定,模块应忽略不认识的类型(模板已处理)。</li><li>状态文件增加可选字段 <code>schedules</code>、<code>autoResumes</code>、<code>queuedSince</code>(格式版本仍为 1)。</li><li>这些功能使用 Paseo 的定时任务(经由内部客户端,见 ADR 0020);Paseo 不支持时自动关闭,并在输出中说明。</li><li>设计决定见 ADR 0020。</li></ul><h2 id="_1-5-0-beta-1" tabindex="-1">1.5.0-beta.1 <a class="header-anchor" href="#_1-5-0-beta-1" aria-label="Permalink to "1.5.0-beta.1""></a></h2><p>并行编排:确认前的独立审阅、方案提案、浏览器验证,以及可选的"自动新建工作区"。</p><h3 id="使用者会看到的变化-37" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-37" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>确认前独立审阅需求说明</strong>:标准档的需求在请你确认之前,会先请另一个模型(配置的 reviewer)在后台独立审一遍草稿,找出歧义、遗漏、没法验证的验收标准和矛盾,每个问题写成带推荐的选择题(<code>spec-review.md</code>)。几分钟后结果发回对话,AI 核对后再逐个问你。快速档默认不做。</li><li><strong>自动新建工作区(可选)</strong>:在项目主目录、主分支上提需求时,<code>/req</code> 多了一个选项"开发时自动新建工作区":照常在这个对话里谈需求,启动开发时流水线为这个需求新建一个 worktree 工作区(分支 <code>feature/<功能目录名></code>),把需求说明移过去提交,在那里开发;步骤仍然挂在这个对话下,对话的目录不变,之后的进度、暂停、继续、验收都在这里说。<code>paseo.json</code> 的环境准备会自动执行。</li><li><strong>方案提案(可选,默认关闭)</strong>:开启后,标准档的方案设计之前由几个 agent(默认 builder 和 reviewer)并行各提一份方案,方案设计步骤比较后决定,<code>design.md</code> 中多一节"方案比较"。</li><li><strong>浏览器验证</strong>:在 Paseo 设置中打开 Paseo 工具和浏览器工具后,功能验证、缺陷修复、复验步骤会用 Paseo 内置浏览器按验收标准实际操作网页,你可以在桌面端实时看到;截图在对应步骤 agent 的对话记录里。</li></ul><h3 id="升级须知-34" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-34" aria-label="Permalink to "升级须知""></a></h3><ul><li>新的可选配置:<code>specReview</code>(<code>"standard"</code> 默认 / <code>"always"</code> / <code>"off"</code>)、<code>designProposals</code>(默认 <code>{"enabled": false, "profiles": ["standard"], "members": []}</code>)、<code>browserVerify</code>(<code>"auto"</code> 默认 / <code>"off"</code>);<code>stepTimeoutMinutes</code> 增加 <code>spec_review</code>(20)、<code>design_proposal</code>(45)。现有配置无需改动。</li><li>新的启动参数:<code>--spec-review</code>、<code>--worktree</code>。<code>/req</code> 的新需求手册增加了"独立审阅"一步,以及在主分支上"自动新建工作区"的选项;已经打开的对话请新开一个才能用到新手册。</li><li>新增步骤提示词 <code>02-spec-review.md</code>、<code>03a-design-proposal.md</code>、<code>browser-verify.md</code>;已有提示词没有改动。</li><li>状态文件增加可选字段 <code>worktree</code>(格式版本仍为 1)。用"自动新建工作区"启动的需求回滚到 1.4 之后,要在新工作区的对话中继续。</li><li>修复:<code>req resume <名称的一部分></code> 等简写在 1.3 中会让后台进程找不到功能目录,现在启动器把解析后的参数传给后台进程。</li><li>设计决定见 ADR 0018(自动新建工作区,补充 0001、0002)、ADR 0019(并行编排)。</li></ul><h2 id="_1-4-0-beta-1" tabindex="-1">1.4.0-beta.1 <a class="header-anchor" href="#_1-4-0-beta-1" aria-label="Permalink to "1.4.0-beta.1""></a></h2><p>用好 Paseo 本身的能力(第一批):agent profiles、paseo.json 与受 Paseo 管理的服务、额度提醒、实时活动。</p><h3 id="使用者会看到的变化-38" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-38" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>用 Paseo 的 agent profile 配置 agent</strong>:配置中可以写 <code>"builder": { "paseoProfile": "实现" }</code>,引用在 Paseo 设置 → Agents → Agent profiles 中建好的 profile。之后换模型、改模式只需在 Paseo 中修改 profile,下一次运行生效。配置向导会先列出已有的 profile 供选择;写在 <code>paseoProfile</code> 旁边的字段优先于 profile 中的设置。</li><li><strong>服务由 Paseo 管理</strong>:项目的 <code>paseo.json</code> 中定义了服务(<code>"type": "service"</code>)时,流水线在服务启动验证、功能验证、缺陷修复和复验之前,通过 Paseo 带着当前代码重启这些服务,把地址交给步骤 agent,验证结束后停止。Paseo 为每个 worktree 分配独立端口,几个需求同时验证不会端口冲突。服务没有启动成功时,最后的输出会写到 <code>.pipeline/services/<服务名>.log</code> 交给步骤。</li><li><strong><code>/req-setup</code> 生成 <code>paseo.json</code></strong>:新建 worktree 时自动安装依赖、复制本地配置(如 <code>.env</code>),并把常驻服务定义为监听 <code>$PASEO_PORT</code> 的服务。</li><li><strong>额度提醒</strong>:开始前读取 Paseo 的用量信息,所用 agent 的订阅额度用到 85% 以上时,在对话里提醒一次(不阻止运行)。</li><li><strong>"做到哪了"更具体</strong>:运行中查看进度时,会附上当前步骤 agent 最近几分钟在做什么(运行了什么命令、改了哪些文件),从 Paseo 实时读取。</li><li><strong>体检</strong>:显示 Paseo 中的 agent profile 和引用的解析结果、Paseo 工具和浏览器工具是否开启、各 agent 的额度;检查项目的 <code>paseo.json</code>(服务是否使用 <code>$PASEO_PORT</code>、是否已提交)。</li></ul><h3 id="升级须知-35" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-35" aria-label="Permalink to "升级须知""></a></h3><ul><li>新的可选配置:<code>paseoServices</code>(<code>"auto"</code> 默认 / <code>"off"</code>)、<code>serviceReadySeconds</code>(默认 120)、<code>quotaWarnPercent</code>(默认 85,0 关闭);角色和评审小组成员可以用 <code>paseoProfile</code> 代替 <code>provider</code>。现有配置无需改动。</li><li>新增步骤提示词 <code>paseo-services.md</code>(只在服务由 Paseo 管理时附加);<code>08-service-start.md</code>、<code>09-verify.md</code> 增加了"服务由 Paseo 管理时"的说明。用 <code>prompts.local/</code> 整篇替换过这两篇的,请对比新版。</li><li><code>/req-setup</code> 有更新:已接入的项目可以再运行一次,生成 <code>paseo.json</code>。</li><li>管理服务用到了 <code>@getpaseo/client</code> 0.11 导出的内部客户端(公开 API 还没有工作区脚本),见 ADR 0017;Paseo 版本不支持时自动退回到"步骤 agent 自己启动服务"。</li><li>状态文件格式没有变化。</li></ul><h2 id="_1-3-0-beta-1" tabindex="-1">1.3.0-beta.1 <a class="header-anchor" href="#_1-3-0-beta-1" aria-label="Permalink to "1.3.0-beta.1""></a></h2><p>便利性与可靠性:配置向导、一键升级、<code>req</code> 命令、需求变更后增量继续、临时错误自动重试、用时与用量,以及接入企业 IM 的通知接口。</p><h3 id="使用者会看到的变化-39" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-39" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><strong>需求变更后增量继续</strong>:修改需求、回答了方案审核的问题、验收不通过后继续开发时,在已有方案和代码的基础上只处理变化的部分(方案追加"第 N 次尝试"一节,评审只看本次的改动,验证重点验变化的验收标准并回归其余的),通常比第一次快很多。要完全从零开始仍用 <code>--restart</code>。</li><li><strong>临时错误自动重试</strong>:限流(429)、服务暂时不可用、网络中断等临时错误,自动等待后重试(默认最多 2 次,间隔 1 分钟、5 分钟),重试的步骤会被告知工作区里可能有上次没做完的改动。重试用完仍失败才中断。</li><li><strong>用时与用量</strong>:查看进度、需求总览和完成报告中显示各步骤 agent 合计用时,以及 agent 报告的 token 用量和费用(有的 agent 不报告)。</li><li><strong><code>req</code> 命令</strong>:在终端中用短命令查看和操作需求:<code>req list</code>、<code>req status</code>、<code>req stop sms-login</code>、<code>req resume sms-login</code>、<code>req doctor</code>、<code>req upgrade</code> 等,<code>req help</code> 查看全部。需求可以只写名称中能唯一确定的一部分;只有一个需求运行过时 <code>req status</code> 不用写名称。</li><li><strong>配置向导</strong>:<code>req configure</code>(或 <code>node install.mjs --configure</code>)列出 Paseo 中可用的 agent、模型,自动选择不需要确认的运行模式,几个选择题即可写好配置,不再需要手工编辑 JSON。</li><li><strong>一键升级</strong>:<code>req upgrade</code> 下载最新版本、安装依赖并切换;<code>req upgrade 1.3.0</code> 指定版本;<code>req upgrade --check</code> 只看有没有新版本。<code>/req-doctor</code> 会提示有新版本。</li><li><strong>外部通知接口</strong>:可以在"需要你决定""等待批准""开发中断""已完成"和进展时刻,调用本机的通知模块,例如转发到企业内部 IM。req-kit 只提供接口和模板(<code>notifiers/im-template.mjs</code>),具体发送由使用方实现;<code>req notify-test</code> 发测试消息。</li></ul><h3 id="升级须知-36" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-36" aria-label="Permalink to "升级须知""></a></h3><ul><li>本次可以用新的方式升级,也可以照旧手工升级。从 1.2 升级时 1.2 还没有 <code>--upgrade</code>,请按 <a href="./guide/install">安装与升级</a> 第 6 节手工升级一次,之后就可以用 <code>req upgrade</code>。</li><li>安装时会在 <code>~/.req-kit/bin</code> 写入 <code>req</code> 命令(Windows 为 <code>req.cmd</code>)。是否加入 PATH 由你决定,安装输出中给出了命令。</li><li>新的可选配置:<code>retry</code>(临时错误重试,默认 <code>{"attempts": 2, "backoffSeconds": [60, 300]}</code>,设 <code>attempts</code> 为 0 关闭)、<code>notifiers</code>(外部通知,默认为空;只在本机或团队配置中有效,项目配置中的会被忽略)。现有配置无需改动。</li><li>新增步骤提示词 <code>incremental.md</code>(只在增量继续时附加);<code>11-report.md</code> 增加了"用时与用量"。用 <code>prompts.local/</code> 整篇替换过 <code>11-report.md</code> 的,请对比新版。</li><li>状态文件增加了可选字段 <code>incremental</code> 和步骤记录中的 <code>usage</code>,格式版本仍为 1:回滚到 1.2 后可以继续已有的流水线(只是不再增量)。</li><li>新的文件格式约定:<a href="./reference/contracts/notifier-event">contracts/notifier-event.md</a>(通知事件,<code>schema: 1</code>)。设计决定见 ADR 0014–0016。</li></ul><h2 id="_1-2-0-beta-1" tabindex="-1">1.2.0-beta.1 <a class="header-anchor" href="#_1-2-0-beta-1" aria-label="Permalink to "1.2.0-beta.1""></a></h2><p>第三阶段(质量与分发):评审小组、复盘、评估体系和团队配置。</p><h3 id="使用者会看到的变化-40" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-40" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li>开启评审小组后,标准档的方案审核和代码评审第一轮由几位评审者(可以是不同的模型)独立评审,再由评审者核实汇总。完成报告会列出被驳回的意见和留给人决定的事项。默认关闭。</li><li>新增 <code>/req-retro</code>(复盘):需求完成、中断或验收不通过后,找出问题和根因,按"能用机器挡住的不写进文档"的顺序提出改进,批准后落地。验收手册在验收不通过时会提示复盘。</li><li>需求总览在 Windows 上能正确标出"当前工作区"。</li><li>产物文件统一要求 UTF-8 编码;步骤提示词提醒不要用 Windows PowerShell 的重定向写文件(会变成 UTF-16)。</li></ul><h3 id="升级须知-37" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-37" aria-label="Permalink to "升级须知""></a></h3><ul><li>新的可选配置:<code>teamConfig</code>(只在本机配置中有效,指向团队配置文件)、<code>requiredVersion</code>(版本要求,只提醒不阻止)、<code>reviewPanel</code>(评审小组,默认关闭)。现有配置无需改动。</li><li>新增步骤提示词 <code>panel-member.md</code>;<code>00-shared-context.md</code> 增加了编码要求。用 <code>prompts.local/</code> 整篇替换过 <code>00-shared-context.md</code> 的,请对比新版。</li><li>新增评估:<code>npm run eval:self-check</code>(不需要 Paseo)和 <code>npm run eval</code>(真实运行流水线)。见 <code>evals/README.md</code>。</li><li>新增 <a href="./guide/maintainer">维护者指南</a>:改动规则和发布流程。</li><li>状态文件格式没有变化。</li></ul><h2 id="_1-1-0-beta-1" tabindex="-1">1.1.0-beta.1 <a class="header-anchor" href="#_1-1-0-beta-1" aria-label="Permalink to "1.1.0-beta.1""></a></h2><p>第二阶段(生命周期):需求从提出到验收、上线后问题、接手的完整过程。</p><h3 id="使用者会看到的变化-41" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-41" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li><code>/req</code> 新增四本手册: <ul><li><strong>修改需求</strong>:只谈变化的部分,需求说明版本加 1,变更记入 <code>changes.md</code>;已经完成的需求改完后也能继续开发,从方案设计重新开始。</li><li><strong>验收</strong>:按验收标准逐条核对,能用命令验证的给出命令,结果记入 <code>acceptance.md</code>;不通过的项可以转为修改继续开发。</li><li><strong>上线后发现问题</strong>:问清现象、复现步骤和影响,关联原需求,生成缺陷说明后按快速档修复。</li><li><strong>接手</strong>:列出项目中所有工作区的需求,讲清某个需求的现状、待决事项和下一步。</li></ul></li><li>完成报告新增"需要你确认的决定":汇总各步骤中会影响结果的假设、取舍和被驳回的评审意见(来自新的决策记录 <code>decisions.tsv</code>)。</li><li>验证结果写明每条验收标准的证据(命令及关键输出、截图或日志路径)。</li><li>新增 <code>/req-setup</code>:为项目生成项目说明和验证方法(<code>verify.md</code>,其中的命令实际运行过)。接入后,实现、服务启动和验证步骤按它执行,更快也更稳定。</li></ul><h3 id="升级须知-38" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-38" aria-label="Permalink to "升级须知""></a></h3><ul><li>建议每个项目运行一次 <code>/req-setup</code>,提交生成的 <code>.requirement-pipeline/verify.md</code> 和 <code>project-notes.md</code>。不运行也能使用,<code>/req-doctor</code> 会提示。</li><li>流水线完成后,如果 spec.md 被修改过,<code>--resume</code> 会从方案设计重新开始(以前要求用 <code>--restart</code>)。spec 没改时仍然拒绝。</li><li>新增 <code>start-pipeline --list</code>:列出这个仓库所有 worktree 中的需求。设计方案中的 <code>docs/features/INDEX.md</code> 改为现场生成,不提交,见 ADR 0010。</li><li>步骤提示词有改动(决策记录、验证方法、证据要求)。用 <code>prompts.local/</code> 整篇替换过提示词的,请对比新版。</li><li>状态文件格式没有变化。</li><li>版本标签不带 <code>v</code> 前缀,例如 <code>1.1.0-beta.1</code>。</li></ul><h2 id="_1-0-0-beta-1" tabindex="-1">1.0.0-beta.1 <a class="header-anchor" href="#_1-0-0-beta-1" aria-label="Permalink to "1.0.0-beta.1""></a></h2><p>第一阶段(骨架)。由"需求对齐 skill + 脚本流水线"(paseo-requirement-workflow)演进而来。</p><h3 id="使用者会看到的变化-42" tabindex="-1">使用者会看到的变化 <a class="header-anchor" href="#使用者会看到的变化-42" aria-label="Permalink to "使用者会看到的变化""></a></h3><ul><li>入口改为 <code>/req</code>(Pi 中为 <code>/skill:req</code>)。<code>/req</code> 会判断你想做什么:提新需求、做小改动、查看进度、暂停或继续。旧入口 <code>/requirement-kickoff</code> 仍然可用,会提示改用 <code>/req</code>。</li><li>小改动有了专门的流程:只问 2–3 个关键问题,走快速档。</li><li>访谈面向有一定技术背景的使用者:可以直接谈接口、字段、测试用例;会追问异常流程、测试数据和验证环境。</li><li>验收标准写成"前置条件 / 操作 / 预期结果",测试同事可以直接转成用例。</li><li>完成报告写明每条验收标准的证据(运行的命令、输出、截图路径),方便自己复核。</li><li>新增 <code>/req-doctor</code>:检查安装、配置、Paseo 和当前项目,列出要处理的问题和修复方法。</li></ul><h3 id="升级须知-39" tabindex="-1">升级须知 <a class="header-anchor" href="#升级须知-39" aria-label="Permalink to "升级须知""></a></h3><ul><li><strong>安装方式变了</strong>:程序放在 <code>~/tools/req-kit/versions/<版本>/</code>,本机配置放在 <code>~/.req-kit/config.json</code>。从脚本版迁移时运行 <code>node install.mjs --import-legacy ~/tools/requirement-pipeline</code>,它会导入旧配置和 <code>prompts.local/</code>,并替换旧的 <code>requirement-kickoff</code>。</li><li><strong>不再需要</strong> Matt Pocock 的 <code>grilling</code>、<code>domain-modeling</code> skill,可以保留或自行卸载。</li><li>项目中的 <code>.requirement-pipeline.json</code>、<code>.requirement-pipeline/</code> 和 <code>docs/features/</code> 无需改动。旧的状态文件(没有 <code>version</code> 字段)按第 1 版读取。</li><li>新的术语写入 <code>GLOSSARY.md</code>;已有的 <code>CONTEXT.md</code> 会继续读取,是否合并由开发同事决定。</li><li>每个步骤的提示词现在包含"工作原则"一节(<code>principles/INDEX.md</code>)。用 <code>prompts.local/</code> 整篇替换过 <code>00-shared-context.md</code> 的,请对比新版。</li><li>Paseo Hub 版本移到 <code>legacy/hub-workflow/</code>,不再维护。</li></ul></div><p class="source-note">本页由仓库中的 <a href="https://github.com/yiyisf/paseo-req-kit/blob/main/CHANGELOG.md">CHANGELOG.md</a> 生成。<a href="https://github.com/yiyisf/paseo-req-kit/edit/main/CHANGELOG.md">在 GitHub 上编辑</a></p>',2)])])}const g=o(c,[["render",i]]);export{h as __pageData,g as default};
|