Cadence
English · 简体中文 · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский
Cadence 把 Pi 变成一种持续对话驱动的工程工作方式。
输入一次 /cadence [目标],通过对话对齐计划,再由后台 owner 自动实施、验证和交付;WebUI 支持同样的持续对话流程,不需要 Pi 终端在线。
为什么选择 Cadence
- 工作不随窗口结束。 任务运行在后台服务中:关闭终端、退出 Pi 或离开浏览器标签页只是断开连接,重新打开原生或浏览器对话即可继续观察工作。
- 批准之前不会修改任何文件。 任务先只读分析并提出一个可读的计划;只有在你确认那个确切计划之后,文件才会被修改。
- 结果可信。 子代理输出、真实的检查运行和独立 Agent 审查彼此独立:模型的文字或一句“Done”都不算检查通过,失败、取消和未知结果保持相互区分。
- 完整历史。 新工作流保留脱敏后的子代理记录与实际进程结果;旧任务历史另支持精确搜索及 Markdown/NDJSON 导出。
- 与终端共用一份历史。
浏览器对话就是项目的 Pi 会话:可以在浏览器里继续终端会话,也可以用
/resume在终端继续浏览器会话,两边都能查看 Pi 的分支。 - 一个链接涵盖一切。 WebUI(桌面和手机,英文与简体中文)还承载普通的 Pi 对话,并可在项目间切换,每个项目都有自己的 owner 和历史。
Cadence 是一个受信任的助手,不是沙箱:它的代理在获批的 checkout 或 worktree 中使用宿主工具,所以请只在你能够审阅和恢复的代码上使用它。
安装
你需要带 npm 的 Node >=22.19.0,以及已安装并登录到模型提供方的 Pi;Cadence 复用 Pi 的登录和模型设置。
npm install -g @abelxiaoxing/cadence
pi install "$(npm root -g)/@abelxiaoxing/cadence"
可选 WebUI/开机服务使用显式命令 cadence server install 注册并启动一个后台服务(Linux 上是 systemd,macOS 上是 LaunchAgent,Windows 上是登录项),并打印一个私有链接 http://127.0.0.1:17423/?token=…。
最后一条命令让 Pi 加载同一份副本用于 /cadence,因此一次 npm 升级就同时更新两者。
端口和 token 保存在 ~/.pi/agent/cadence/.env;任何持有 token 的人都可以使用你的工作区,所以请保持链接私密。
使用
在浏览器中
- 打开一次打印出的链接;浏览器之后会记住你。
如果丢失了链接,
cadence token-link --reveal会再次打印它。 - 用右下角的文件夹按钮明确选择项目。 发送时复用已保存的模型偏好;没有可用偏好时只需选择一次。
- 输入一次
/cadence [目标],当前对话进入持续 Cadence 模式;之后正常对话,调查项目并澄清影响交付的关键问题。 - 查看完整计划,点击按此计划实施或发送
按计划实施。 后台自动实施、诊断故障、调整路线、维护项目知识并验证交付,普通内部问题无需再次确认。 - 在同一对话查看真实进度和合并结果;子代理的完整上下文从左下角子代理面板打开。 刷新、完成目标后仍保持 Cadence;退出 Cadence不取消后台工作,取消工作流 — 请求停止才请求取消。
在终端中:一次进入,持续对话
在任意已信任项目的 Pi 对话里输入一次 /cadence <目标>,之后正常对话即可。
Cadence 自动调查仓库和项目知识,只澄清真正影响结果的问题,并生成包含目标、验收、范围、环境准备和本地交付方式的约定。
确认后输入 按计划实施,系统自主实施、诊断、接续部分成果和调整技术路线;没有固定修复轮数或总交付时长配额,真实验证后再交付。
每个获批的 Git 交付创建一个命名任务分支和稳定 worktree,在其中持续实施、恢复和维护项目知识,审查与验证后合回约定中的原分支。
进入模式和只读研究不会创建 Git 资源;不会默认推送、发布或部署。
非 Git 项目可选择直接工作副本交付,不执行提交或合并。
完成任务后,这个对话仍然保持 Cadence 模式,不需要再次输入 /cadence。
明确输入 退出 Cadence 或 exit cadence 才退出。
退出、关闭 Pi 或切换对话只脱离观察,不取消已接受的工作;需要取消时直接告诉 Cadence。
日常原生使用可按需启动或复用本地项目 owner,无需安装系统服务或先进入项目管理器。
模型偏好记在 ~/.pi/agent/cadence/settings.json,跨项目复用,不复制 Pi 凭据。
项目知识优先维护在已有工程文档中,.cadence/project.md 作为简洁索引;相关内容在工作者启动时按需注入,交付时自动沉淀已验证经验。
隔离 worktree 不会自动复制依赖或凭据,必要的准备命令会列入确认。
详细边界见 对话模式。
/cadence-history [运行 ID] 提供只读诊断、运行详情和已有任务历史,不创建或执行任务,也不启动服务。
见历史与诊断。
浏览器批准与所展示的计划、会话和访问身份绑定;登录本身不是执行授权。
更多项目
cadence project open /absolute/project
cadence project open /absolute/new-project --create
每个项目都有自己的 owner、端口和历史,命令会打印其私有链接;WebUI 的文件夹选择器以相同方式打开项目。 打开另一个项目永远不会停止之前项目中的工作。
检查
检查命令在你批准的具体计划中列出,包括基线检查和验收检查。 真实检查结果与自动 Agent 审查保持独立。
管理服务
cadence server status
cadence server restart # 升级或修改 .env / models.json 之后
cadence server upgrade # 识别 Pi/npm/Bun 安装:下载、安装并重启
cadence server stop # 保持注册状态,并在下次启动或登录时再次启动
cadence server uninstall # 在 npm uninstall -g 之前运行
用 cadence server upgrade 或 WebUI 的 Cadence 服务对话框升级:它在 Cadence 继续运行时先下载新版本,新版本无法启动时会装回原版本。
restart、stop 和 uninstall 按顺序停止运行中的工作,而不是留下断开连接的工作。
uninstall 只删除服务定义;项目、历史和 Pi 设置保留。
Linux root 与命名服务、远程 HTTPS 访问和恢复见服务管理和远程访问。
开发
Pi 也可以加载本地 checkout 或打包的 tarball:把其绝对或相对路径加到 Pi 的 packages,或试试 pi -e ./cadence。
Cadence 要求 Pi 1.5.0 或兼容的 1.x 宿主;开发用的固定版本和已测试运行时不是通用的兼容性承诺。
bun install
bun run verify
工程指导按领域拆分在 engineering/ 下;AGENTS.md 中的项目索引说明了哪个文件覆盖哪部分代码。
verify 是开发和发布共用的唯一验证入口:只运行快速检查,不需要浏览器。
需要官方 Node 构建和私有临时目录;见验证。