安装与升级
本文面向负责安装的人:通常是开发同事,有经验的测试或产品同事也可以按步骤完成。安装在运行 Paseo daemon 的那台机器上做一次,之后这台机器上所有项目的 Paseo 对话都能使用 /req。
1. 安装布局
程序和本机配置分开存放。升级时只替换程序,配置不动;旧版本目录保留,可以随时回滚。
<npm 全局目录>/paseo-req-kit/ 版本管理器(npm i -g 安装,提供 req 命令)
~/tools/req-kit/versions/
├── 1.7.0/node_modules/paseo-req-kit/ 一个版本的程序(npm 安装;依赖在 1.7.0/node_modules 下)
├── 1.6.0/ git 方式安装的版本(含 node_modules),继续可用
└── … 各版本并存,随时切换
~/.req-kit/
├── config.json 本机配置
├── prompts.local/ 本机提示词覆盖(可选)
├── active.json 当前启用的版本
├── bin/req、req.cmd req 命令,指向当前启用的版本
├── notifiers/ 外部通知模块(可选,自己实现,见第 12 节)
└── install-log/ 安装、升级、回滚记录
~/.agents/skills/… 安装器复制的 skill(Codex、Pi、OpenCode 等读取)
~/.claude/skills/… 同上(Claude Code;~/.claude 存在时)Windows 上 ~ 即 %USERPROFILE%(如 D:\Users\<用户名>)。安装器不使用符号链接,不需要管理员权限。环境变量 REQ_KIT_HOME 可以把 ~/.req-kit 换到别的位置。
2. 前置条件
| 项目 | 要求 | 如何确认 |
|---|---|---|
| Paseo | 0.11,daemon 在运行(一键安装会在没有时安装 Paseo 命令行并启动) | Paseo 桌面端能正常对话,或浏览器打开 http://localhost:6767/;默认地址 ws://127.0.0.1:6767/ws |
| Node.js | 22 或更新 | node -v |
| npm | Node.js 自带;公司网络需配置镜像(npm config get registry) | npm -v |
| git | 近期版本(只有 git 方式安装时需要) | git --version |
| agent | Claude Code、Codex、OpenCode、Pi 至少一种,已在 Paseo 中登录 | 在 Paseo 中用它开一个对话 |
| 网络 | 能访问 npm 源(公共的,或公司镜像;内网见第 3 节"公司内网") | npm ping |
| daemon 密码 | daemon 设了密码时,放在环境变量中(默认 PASEO_DAEMON_PASSWORD) | 未设密码可跳过 |
| Paseo 工具和浏览器(可选) | 设置 → 本机 → Agents 打开 Enable Paseo tools,并开启浏览器工具:步骤 agent 可以重启 Paseo 管理的服务、用内置浏览器验证网页(需要桌面端在线) | /req-doctor 的"Paseo daemon"一节 |
| Agent profiles(推荐) | 设置 → 本机 → Agents → Agent profiles 中建好"实现""评审"等 profile,配置中引用,见第 4 节 | /req-doctor |
3. 首次安装
推荐:一键安装。 一条命令完成检查环境、安装、启用、安装 skill 和配置 agent,再次运行即升级:
# 任何系统(1.13 起;只需要 Node.js 22+ 和能访问的 npm 源)
npx -y paseo-req-kit@latest install# macOS、Linux、Windows 的 Git Bash 或 WSL
curl -fsSL https://paseo-req-kit.vercel.app/install.sh | sh# Windows PowerShell(不受脚本执行策略限制)
irm https://paseo-req-kit.vercel.app/install.ps1 | iex几种写法做的事情一样:1.13 起安装脚本只是选好版本(npm 上有就用 npm 的,没有时用 GitHub Release 的安装包),再运行那个版本自带的安装命令 req install(bin/bootstrap.mjs),也就是 npx … install 运行的那一个。指定版本或 beta 版:npx -y paseo-req-kit@1.13.0 install、npx -y paseo-req-kit@beta install。
依次:检查 Node.js 22+、npm、git;确定 npm 源(见下面的"公司内网");从 npm 安装 paseo-req-kit,npm 上没有时改用 GitHub Release 的安装包;npm 全局目录不可写时装到 ~/.req-kit/npm(不需要 sudo);检查 Paseo(见下);运行 req setup;本机配置还没填时运行 req configure --auto(1.12:不提问,按推荐选好已登录的 agent:两个不同厂商的分别做 builder 和 reviewer,再选一个做备用模型,都用免确认模式;自动选不了时改为逐项选择);最后提示把 req 加入 PATH(如需要)。选项:req install / npx … install 后面写 --registry <地址>、--no-save-registry、--no-configure、--skip-paseo、--with-plugin、--no-plugin;install.sh 写在 sh -s -- 之后(另有 --beta、--version <版本>、--from npm|release);install.ps1 用变量($ReqKitBeta = $true; irm … | iex,还有 $ReqKitVersion、$ReqKitFrom、$ReqKitRegistry、$ReqKitNoSaveRegistry、$ReqKitNoConfigure、$ReqKitSkipPaseo、$ReqKitPlugin)。
公司内网(只有 npm 镜像,打不开 GitHub 和文档站点)。 不需要任何站点,用 npx 加上镜像地址:
npx -y --registry=https://npm.example.internal/ paseo-req-kit@latest install- 镜像地址会保存为本机的 npm 源(
npm config set registry,屏幕上会写出原来的值),以后req upgrade、req versions和安装 Paseo 命令行都从镜像取。只想这一次用镜像时加--no-save-registry。本机原本就配好了镜像时不用写--registry。 - 镜像上还没有这个版本(镜像同步有延迟)时会直接说明,不会去访问 GitHub;稍后再运行,或请管理镜像的同事手动同步
paseo-req-kit。 - 文档:装好后运行
req docs,在本机打开和这个版本一致的文档站点(发布时构建进 npm 包,不需要外网)。 - 只支持 npm 方式安装和升级;git 方式(下面的"用 git 安装")要能访问 GitHub。
- 第一次在内网机器上安装 Paseo 命令行时请留意输出:它依赖的个别组件(例如
node-pty)在镜像里没有对应平台的预编译包时会尝试现场编译,需要能下载 Node.js 头文件(可以在.npmrc中设置disturl指向公司镜像)。桌面版 Paseo 的自动更新走 GitHub,内网需另行分发安装包。
检查 Paseo 这一步:
- 有
paseo命令:核对它的版本是否在这个 req-kit 支持的范围内(不在时提醒,不替换);开启 daemon 自带的网页界面(paseo daemon config set features.webUi.enabled true);daemon 没在运行就paseo daemon start。daemon 已在运行而网页界面是刚开启的,只提示paseo daemon restart,不自动重启——重启会中断正在运行的 agent。 - 没有
paseo命令,但 daemon 在运行:通常是桌面版 Paseo 管理的 daemon,什么都不装;需要网页界面时在桌面版中开启。 - 都没有(新机器):用 npm 安装与 req-kit 匹配的 Paseo 命令行(例如
@getpaseo/cli@~0.11.0),开启网页界面,启动 daemon。之后在浏览器打开http://localhost:6767/就能用 Paseo 对话。 - 最后检查有没有 agent 命令行(Claude Code、Codex、OpenCode、Pi、Copilot),一个都没有时提醒:至少装一个并登录,再运行
req configure。
不想让脚本动 Paseo(例如由别人统一管理)时加 --skip-paseo。完成后接着做下面的第四步到第六步。
也可以用 npm 安装(1.7.0 起)。 一键安装做的就是这几条命令,Windows 上 req 命令由 npm 放进 PATH,不用自己设置:
npm i -g paseo-req-kit # beta 版:npm i -g paseo-req-kit@beta
req setup # 装进 ~/tools/req-kit/versions/<版本>,安装 skill,生成本机配置
req configure # 配置向导:选 builder、reviewer 和备用模型用的 agent
req configure --auto # 不提问,按推荐选好(也可以在 Paseo 的 设置 → 插件 → req-kit → 模型 中修改)
req doctor --no-project # 体检全局安装的包是版本管理器:req setup 把这个版本装进 versions/<版本>,之后 req upgrade 安装新版本、req use <版本> 切换,各版本并存,正在运行的流水线不受影响。其他 req 命令都转交给当前启用的版本。公司网络使用 npm 镜像或私有仓库时,按平常的方式配置 .npmrc 即可。
完全离线时,用 GitHub Release 上附带的安装包:npm i -g ./paseo-req-kit-<版本>.tgz,再 req setup(依赖需要能从本机 npm 缓存或镜像取得)。
还没有发布到 npm 的版本(或 npm 上取不到时),也可以直接用 Release 上安装包的地址:npm i -g https://github.com/yiyisf/paseo-req-kit/releases/download/<版本>/paseo-req-kit-<版本>.tgz,再 req setup。
之后接着做下面的第三步到第六步(配置 agent、体检和冒烟测试、接入项目、使用者上手)。
其他方式:用 git 安装。 不方便用 npm 全局安装时,可以把版本放进它自己的目录:
第一步:取得程序。 把要安装的版本放进它自己的版本目录:
git clone --branch 1.9.1 --depth 1 https://github.com/yiyisf/paseo-req-kit ~/tools/req-kit/versions/1.9.1Windows PowerShell:
git clone --branch 1.9.1 --depth 1 https://github.com/yiyisf/paseo-req-kit "$env:USERPROFILE\tools\req-kit\versions\1.9.1"第二步:安装依赖并启用。
cd ~/tools/req-kit/versions/1.9.1
npm install
node install.mjsinstall.mjs 会:检查 Node.js 和依赖;~/.req-kit/config.json 不存在时从示例生成一份;把 skills/ 下的全部 skill 复制到各 agent 的 skill 目录,并把其中的路径替换为这个版本目录的绝对路径;在每个 skill 目录写入标记文件 .req-kit-install.json;记录当前启用的版本;在 ~/.req-kit/bin 写入 req 命令。同名目录已存在但不是 req-kit 装的,不会覆盖,除非加 --force。
第三步:配置 agent。 为 builder(方案设计、实现、修复、报告)和 reviewer(方案审核、代码评审、功能验证)各选一个 agent。推荐用配置向导(Paseo 需要在运行):
node install.mjs --configure它会列出 daemon 上已登录可用的 agent 和模型,自动选择不会停下来等待批准的模式,问几个选择题(直接回车选推荐项),确认后写入 ~/.req-kit/config.json(原文件备份),其他设置保持不变。也可以手工编辑,写法见第 4 节;不确定模型 ID 时运行 npm run smoke -- check 查看可用的值。配好后再运行一次 node install.mjs,全部 ✓ 即完成。
req 命令(可选)。 安装输出会给出把 ~/.req-kit/bin 加入 PATH 的命令,执行一次后,新开的终端中可以直接用 req:
| 命令 | 作用 |
|---|---|
req list | 列出当前项目的所有需求和阶段 |
req status [需求] | 查看进度;只有一个需求运行过时可以不写 |
req stop <需求> / req resume <需求> | 停止 / 继续 |
req doctor | 体检 |
req docs | 在本机打开这个版本的文档站点(1.13 起,不需要外网) |
req configure | 配置向导 |
req upgrade | 升级到最新版本 |
req notify-test | 给外部通知发测试消息 |
req digest | 项目的需求总览;--notify 发到外部通知,--schedule "0 9 * * 1" 每周一 9 点自动发送 |
req stats | 本机的使用统计;--report --month 2026-10 生成汇报用的文件,--export / --merge 汇总多台机器 |
req sync <需求> / req integration test [需求] | 外部系统对接:补发和试运行(见 项目定制与运行规则 的"外部系统对接") |
req index --rebuild | 把 1.9 之前运行过的需求登记进本机的需求索引(Paseo 插件据此列出所有需求) |
<需求> 可以只写名称中能唯一确定的一部分,如 sms-login。req help 查看全部。不加 PATH 也可以用完整路径 ~/.req-kit/bin/req(Windows 为 %USERPROFILE%\.req-kit\bin\req.cmd)。
团队有统一配置时(统一的模型、评审小组、超时、要求的 req-kit 版本),把团队配置仓库克隆到本机,在本机配置中加上 "teamConfig": "<团队配置文件的路径>"(绝对路径,或相对 ~/.req-kit/ 的路径)。团队配置不能设置 daemon 地址和密码。详见 项目定制与运行规则 的"团队配置"。
第四步:体检和冒烟测试。 先运行:
node bin/req-doctor.mjs --no-project然后按第 5 节做冒烟测试。
第五步:接入项目(每个项目一次,推荐)。 在项目主目录、主分支上开一个 Paseo 对话,输入 /req-setup。它会读项目、只问读不出来的事、实际运行验证命令,生成 .requirement-pipeline/project-notes.md(项目约定)和 .requirement-pipeline/verify.md(验证方法),确认后提交。详见 项目定制与运行规则。
第六步:使用者上手。 把 使用者指南 发给使用者,陪他们完成第一个小需求。
安装器参数
| 参数 | 作用 |
|---|---|
| (无) | 安装或切换到这个版本 |
--check | 只检查,不修改任何文件 |
--import-legacy <目录> | 先从旧脚本版导入配置和 prompts.local/ |
--target <目录> | 额外安装到另一个 skill 目录(可重复,会被记住,之后的升级也会更新它) |
--force | 覆盖不是 req-kit 安装的同名 skill |
--prune | 列出可以删除的旧版本目录(保留当前和上一个版本) |
--uninstall | 删除 req-kit 安装的 skill 和 req 命令,保留 ~/.req-kit 中的配置 |
--configure | 配置向导 |
--upgrade [版本] | 下载并切换到最新版本或指定版本,见第 6 节 |
--latest | 查看最新发布的版本 |
--from npm|git|<git 地址> | 配合 --upgrade、--latest:指定升级来源 |
--beta | 配合 --upgrade、--latest:正式版也考虑 beta 版 |
--setup / --use <版本> / --versions | 版本管理(即 req setup、req use、req versions) |
4. 不同 agent 的配置
推荐:引用 Paseo 的 agent profile。 在 Paseo 的 设置 → 本机 → Agents → Agent profiles 中为"实现"和"评审"各建一个 profile(选好 provider、模型、免确认的模式),然后在配置中只写名称:
"agents": {
"builder": { "paseoProfile": "实现" },
"reviewer": { "paseoProfile": "评审" }
}每次运行开始时从 Paseo 读取 profile 的设置,之后换模型只需在 Paseo 中修改 profile。写在 paseoProfile 旁边的字段(如 modeId、thinkingOptionId)优先于 profile 中的设置。名称写错时流水线不会启动,并列出现有的 profile;/req-doctor 也会检查。配置向导在 Paseo 中有 profile 时会先列出它们。
也可以直接写各项设置:
每个角色的配置项:
| 字段 | 含义 |
|---|---|
provider | <Paseo 中的 provider ID>/<模型 ID>,只在第一个 / 处拆分 |
modeId | agent 的模式。必须选不会停下来等待批准的模式;没有模式的 agent 不写 |
featureValues | agent 的功能开关,目前只有 OpenCode 需要 |
thinkingOptionId | 可选,思考强度,可用值取决于 agent 和模型 |
| agent | provider 写法 | 无人值守的设置 | 思考强度 |
|---|---|---|---|
| Claude Code | claude/<模型 ID> | "modeId": "bypassPermissions" | 取决于模型 |
| Codex | codex/<模型 ID> | "modeId": "full-access" | 取决于模型 |
| OpenCode | opencode/<上游>/<模型 ID> | "modeId": "build" 加 "featureValues": { "auto_accept": true } | 取决于模型(variant) |
| Pi | pi/<上游>/<模型 ID> | 不写 modeId(Pi 没有模式,也不请求批准) | off、minimal、low、medium、high、xhigh、max |
以上来自 Paseo 0.11.2 源码,以你的 daemon 实际返回为准(npm run smoke -- check 或 /req-doctor)。
- Claude Code:其他模式(
default、acceptEdits、auto)都可能停下来等待批准,plan不能改文件,都不适合流水线。 - OpenCode:模型 ID 带上游前缀,如
anthropic/...、openai/...。模式就是 OpenCode 中定义的 primary agent,默认build可以改文件和执行命令。不开auto_accept的话,执行命令时会停下来等待批准。 - Pi:写了
modeId会被 daemon 拒绝。只有装了会弹出确认的 Pi 扩展时,才可能停下来等待。
混用示例:
"agents": {
"builder": { "provider": "claude/<模型 ID>", "modeId": "bypassPermissions" },
"reviewer": { "provider": "opencode/openai/<模型 ID>", "modeId": "build", "featureValues": { "auto_accept": true } }
}作为聊天 agent(使用者对话的那一个)
| agent | 读取 skill 的位置 | 如何触发 |
|---|---|---|
| Claude Code | ~/.claude/skills | /req 我想…… |
| OpenCode | ~/.agents/skills(也读 ~/.claude/skills) | /req 我想……;命令列表中没有时直接说"用 req 帮我……" |
| Pi | ~/.agents/skills | /skill:req 我想…… |
| Codex | ~/.agents/skills | 直接说"用 req 帮我……",或用 Codex 点名 skill 的方式 |
聊天 agent 需要能执行命令和访问本机网络(流水线要连接 daemon)。用 Codex 做聊天 agent 时请用 full-access 模式。新开的对话立即可用,已经打开的对话需要新开一个。
5. 冒烟测试
编排逻辑已在模拟环境中测试过,下面四项确认的是你的真实环境。第一次安装、更换 agent、升级 Paseo 后都建议做一遍。命令在当前版本目录中运行。
| # | 测什么 | 怎么测 | 预期 |
|---|---|---|---|
| 1 | daemon、模型和模式 | 终端运行 npm run smoke -- check | 两个角色各启动一个小 agent,能写文件、能执行命令、不停下等权限 |
| 2 | 通知回发、子 agent 挂载 | 在 Paseo 对话中让聊天 agent 执行 npm run smoke -- notify(先 cd 到版本目录) | 对话中出现"通知通道工作正常";子 agent 列表出现"[冒烟测试] 子 agent" |
| 3 | 回合结束后后台进程是否存活 | 让聊天 agent 执行 npm run smoke -- detach-start 并结束本轮;一分钟后再让它执行 npm run smoke -- detach-check | 显示 ✓。显示 ✗ 说明环境会终止后台进程,需要改用插件方式启动 |
| 4 | 完整跑一遍 | 在一个测试项目的 worktree 对话中输入 /req 在 README 末尾加一行版权声明 | 走快速档,收到进展和完成通知;功能目录中各产物齐全;工作分支上有本地提交 |
第 2、3 项依赖对话提供的 PASEO_AGENT_ID、PASEO_AGENT_CWD,必须在 Paseo 对话中由聊天 agent 执行。
6. 升级
一键升级。
req upgrade --check # 只看有没有新版本
req upgrade # 升级到最新版本(能支持本机 Paseo 的)
req upgrade 1.9.1 # 升级到指定版本
req upgrade --beta # 当前是正式版时,也考虑 beta 版
req versions # 已安装的版本和 npm 上的版本- 用 npm 安装的(1.7.0 起):从 npm 仓库读取已发布的版本,先读本机 Paseo daemon 的版本,跳过不支持它的 req-kit(每个版本都声明了支持的 Paseo 范围),装进
versions/<版本>后切换。被跳过的版本会说明原因,例如"1.10.0 需要 Paseo >=0.12.0 <0.13.0,本机是 0.11.2"。读不到 daemon 版本时不筛选,升级后请运行req doctor。 - 用 git 安装的:读取 git 标签,下载到
versions/<版本>,执行npm install,再切换。公司网络只能访问内网镜像时,用--from <镜像地址>或环境变量REQ_KIT_REPO_URL指定。想改用 npm 升级时加--from npm。 - 当前是正式版时只升级到正式版;当前是 beta 时也会升级到更新的 beta。任何一步失败,当前版本不受影响。
- 也可以按 Paseo 版本直接安装管理器:
npm i -g paseo-req-kit@paseo-0.11(每个支持的 Paseo 小版本有一个这样的标签)。
升级前后建议:
- 阅读
CHANGELOG.md中两个版本之间的"升级须知"(升级完成时会给出新版本的 CHANGELOG 位置)。 - 运行
req doctor --no-project,确认当前状态正常。正在运行的流水线不用停,见下表。 - 升级后至少跑冒烟测试第 1 项;升级须知提到通知、后台进程或启动方式有变化时,再跑第 2、3 项;主版本升级跑全部四项。
- 把"使用者会看到的变化"转给使用者,提醒新需求请开新对话。
手工升级(1.2 及更早的版本还没有 --upgrade,从它们升级时用这种方式;或者不方便访问 GitHub 时)。以从 1.0.0 升到 1.1.0 为例,先完成上面的第 1、2 项,然后把新版本放进新的版本目录,安装依赖并启用:
git clone --branch 1.1.0 --depth 1 https://github.com/yiyisf/paseo-req-kit ~/tools/req-kit/versions/1.1.0
cd ~/tools/req-kit/versions/1.1.0
npm install
node install.mjsPowerShell:
git clone --branch 1.1.0 --depth 1 https://github.com/yiyisf/paseo-req-kit "$env:USERPROFILE\tools\req-kit\versions\1.1.0"
cd "$env:USERPROFILE\tools\req-kit\versions\1.1.0"
npm install
node install.mjs之后同样完成上面的第 3、4 项。
安装器替换各 agent 目录中带标记的 skill,把路径指向新版本,删除新版本不再包含的旧 skill,并更新启用记录。不会动:~/.req-kit/ 下的配置和提示词覆盖、各项目仓库中的文件、不是 req-kit 安装的 skill。
| 升级时的状态 | 会发生什么 |
|---|---|
| 还在聊天对齐阶段 | 对话已加载的是旧版 skill,继续使用即可;启动的是新版引擎 |
| 流水线正在运行 | 进程已载入旧版代码,旧版本目录仍在,按旧版跑完 |
| 已暂停、失败或等待需求方决定 | 继续时由新版引擎读取;状态格式有变化时自动迁移,原文件备份为 state.json.bak-v<旧版本> |
| 已完成 | 不受影响 |
7. 回滚
req use 1.6.0 # 切换到已安装的旧版本不用 req 时,在旧版本目录中重新运行安装器也一样(npm 安装的版本在 versions/<版本>/node_modules/paseo-req-kit 中):
cd ~/tools/req-kit/versions/1.0.0
node install.mjs这会把 skill 和引擎路径改回 1.0.0,配置不变。如果某个功能目录的状态文件已被新版迁移,旧版引擎会拒绝继续并提示:把 state.json.bak-v<旧版本> 恢复为 state.json,或者用 --restart 从头开始。
旧版本目录建议保留到新版本稳定运行一周以上、且没有由它启动的流水线仍在运行。node install.mjs --prune 会列出可以删除的旧版本。
8. 从脚本版(paseo-requirement-workflow)迁移
适用于已经装了 ~/tools/requirement-pipeline 和 /requirement-kickoff 的机器。
| 对象 | 脚本版 | req-kit | 迁移方式 |
|---|---|---|---|
| 入口 | /requirement-kickoff | /req | 安装器替换旧的 skill;1.x 期间保留同名的引导入口,提示改用 /req 并转交 |
| 本机配置 | ~/tools/requirement-pipeline/pipeline.config.json | ~/.req-kit/config.json | node install.mjs --import-legacy ~/tools/requirement-pipeline,同时导入 prompts.local/;顶层 rounds 继续有效 |
| 项目配置 | .requirement-pipeline.json、.requirement-pipeline/ | 同名同位置 | 无需迁移 |
| 功能目录 | docs/features/<日期>-<名称>/ | 同左 | 无需迁移;没有 version 字段的状态文件按第 1 版读取 |
| 术语文件 | CONTEXT.md | GLOSSARY.md | 继续读取 CONTEXT.md,新术语写入 GLOSSARY.md |
| 依赖的外部 skill | grilling、domain-modeling | 不再需要 | 可以保留,也可以自行卸载 |
建议顺序:
- 等脚本版启动的流水线跑完(或记下它们,迁移后用新版续跑)。
- 按第 3 节取得程序并
npm install,然后运行node install.mjs --import-legacy ~/tools/requirement-pipeline。 - 跑冒烟测试第 1–3 项。
- 告诉使用者入口改为
/req。 - 一周后删除
~/tools/requirement-pipeline。
9. Paseo 或 agent 升级之后
运行 /req-doctor(或 node bin/req-doctor.mjs),确认 SDK 版本在支持范围内、配置中的模型和模式仍然存在;然后跑冒烟测试第 1–3 项。有失败时,先看 req-kit 是否已有适配的新版本;没有的话,把输出反馈给维护者,并暂时回退 Paseo 或 agent 的版本。
10. 卸载
node ~/tools/req-kit/versions/<当前版本>/install.mjs --uninstall这会删除 req-kit 安装的 skill 和 req 命令。确认不再使用后,再手工删除 ~/tools/req-kit 和 ~/.req-kit。各项目中的配置文件和功能目录保留,它们本身就是文档。
11. 安全提示
- 步骤 agent 以免确认模式运行,可以在本机执行命令。仓库和本机环境变量中不要放生产凭据;最好用专门的开发机或虚拟机运行 daemon。
- 流水线只做本地提交,合并和上线始终由人决定。
12. 接入企业内部 IM(可选)
流水线默认只把消息发回发起的对话。希望"需要你决定""开发中断""已完成"等时刻在企业 IM 中也收到时,需要自己实现一个通知模块(req-kit 不内置任何 IM):
把安装目录中的
notifiers/im-template.mjs复制到~/.req-kit/notifiers/im.mjs,按其中的 TODO 实现发送(通常是向 IM 的机器人 webhook 发一个 HTTP 请求)。口令放在环境变量中,不要写进文件。在
~/.req-kit/config.json(或团队配置)中加上:json"notifiers": [ { "module": "~/.req-kit/notifiers/im.mjs", "events": ["blocked", "failed", "completed"], "options": { "webhook": "https://…" } } ]运行
req notify-test(可加--type blocked等)发一条测试消息。
事件的类型和字段见 contracts/notifier-event.md。通知失败只记日志,不影响流水线。项目配置(.requirement-pipeline.json)中的 notifiers 会被忽略。
13. Paseo 插件(可选)
1.9 起,req-kit 附带一个 Paseo 插件,把需求搬进 Paseo 的界面(网页端、桌面版、手机都能用):
- 侧边栏的"需求":本机所有项目的需求,按"需要你处理、进行中、待测试验证、最近完成"分组,带待处理的数量。
- 需求详情:每一步的状态、用时和结论(点开即进入那个步骤的 agent)、质量门、联合需求的各仓库、用量;可以读需求说明、方案、确认预览、提测说明、完成报告等文档。
- 管理操作:确认方案、停止、继续、开始测试验证。每个操作都要再确认一次,做的事和终端里的
req approve、req stop、req resume、req verify完全一样,流水线本身不受插件影响。 - 每个工作区头部的"需求"按钮和面板、步骤 agent 输入框旁的"需求"按钮、使用统计(同
req stats),以及 Ctrl+K(macOS 为 ⌘K)中的"需求总览"。
安装:在运行 Paseo daemon 的机器上运行
req plugin install它把当前版本的插件复制到 ~/.req-kit/paseo-plugin,再用 Paseo 的命令行安装。Paseo 的插件总开关(pluginsEnabled)默认是关着的:插件是不受沙箱限制的代码,后台部分可以访问这台机器上的文件和进程,所以打开前会先问你(--yes 表示同意)。req-kit 插件只运行本机的 req api,不连接任何外部服务。一键安装脚本在最后也会问一次是否安装(--with-plugin 直接安装,--no-plugin 不问)。
没有 paseo 命令时(例如只用桌面版 Paseo),在 Paseo 的 设置 → Plugins 中打开 Enable plugins,再在 Plugin source 中填 ~/.req-kit/paseo-plugin 的完整路径(运行 req plugin install 会准备好这个目录并显示路径)。
更新:不用单独做。req setup、req upgrade、req use 启用一个版本时,如果装过插件,会把插件文件换成这个版本的并让 Paseo 重新加载,插件总是和启用的 req-kit 版本一致。
只读:网页端会给只看不操作的人用时,在 Paseo 的 设置 → Plugins → req-kit 中打开"只读":不再显示管理操作,插件的后台也会拒绝它们。能连上这台 daemon 的人都能看到插件,Paseo 的插件没有按用户区分的权限。
其他:req plugin status 看插件是否在运行;req plugin remove 从 Paseo 移除(不改插件总开关)。插件需要 req-kit 1.9 和 Paseo 0.11。1.9 之前运行过的需求要先在项目目录运行一次 req index --rebuild 才会出现在插件里。插件出问题时:paseo plugin logs req-kit。
本页由仓库中的 docs/guide/安装与升级.md 生成。在 GitHub 上编辑