stepwise 0.5.0 更新方案
零、你提的问题
- 在这里实现 0.5.0 的功能,同时把本机 stepwise 独有的功能整合进 0.5.0。
- 要和这里的其他 skill(iter-mgt、site-builder、site-test、web-research)结合。
- 我能不能更新这里的 stepwise skill?
- 给出大致的工作项、成本和风险分析。
简短回答:可以更新,但要换个地方改。本机的 stepwise 不归
skill_mgt 管,而是在一个多台机器共用的 git 仓库里。这一点决定了整个方案怎么做。一、能不能改这里的 stepwise
| 事实 | 说明 |
|---|---|
/root/.agents/skills 实际是一个链接,指向 /opt/pi-agent-skills/skills | 生效目录就是这个 git 仓库的工作区 |
仓库远端是 github.com/alangao2025-dev/pi-agent-skills | 按仓库 README,所有机器都从这里 git pull,改动发布后全部机器一起更新 |
本机 gh 已登录 alangao2025-dev,就是仓库所有者 | 技术上有提交和推送权限 |
skill_mgt 的 README 写着“上层管理员负责,不要改” | 指的就是这个仓库 |
仓库里 iter-mgt/、web-research/ 是未跟踪文件 | 它们是 skill_mgt/sync.sh 复制进来的,其他机器上没有 |
docs/stepwise-usage.md 写明本机版本由 Windows 版 0.4.0 改造而来 | 里面的“与 Windows 版的差异”表正好可以当这次的移植清单 |
结论:
- 如果你就是 alangao2025-dev,或者有这个仓库的维护权,就可以改。
- 不能直接在
/opt/pi-agent-skills里改:那里就是线上环境,改一半就会影响正在跑的会话,推送后其他机器也会跟着变。 - 正确做法:另外拉一份开发副本,在分支上改,测试通过后再合并、推送。
- 如果你不是这个仓库的维护者,就只能把改好的分支或 PR 交给管理员合并。
二、整合思路:以 0.5.0 为底,补回本机差异,再接上其他 skill
A. 采用 0.5.0 原有的功能
Execution_Plans/<迭代>/<计划>/目录结构,多迭代、多计划并存- 计划类型:dev(写代码)、design(写需求和系统设计文档);test 先占位
- 新命令
init、doccheck、close(原地关闭,不再有 archive) - 计划总清单(
Plans_manifest.json/.md,带哈希)、并发计划提示、计划间依赖 docs/impl/下的旧计划只读(命令输出LEGACY)
B. 补回本机的改动
- 目录结构:两个 skill 目录,脚本放在
stepwise-run/scripts/,修正脚本里查kinds.json的路径(0.5.0 写死为../skills/ref/kinds.json) - 不用 asktool,改为一条消息列出全部问题
- 子代理用
Agent工具(general-purpose),cheap 档模型用ds/deepseek-v4-flash(0.5.0 写的custom/…在这里调用不到) - 里程碑结束不重置上下文
- 验收只用 Debian 上已有的工具,不用浏览器(按
debian-env.md) - 自动触发、面向不懂技术的用户;没有设计文档时代写(
design-template.md) - pi-cloud 任务面板:
task-panel.mjs接回脚本。原来 4 个调用点重新对应(cmdArchive改为close),docs/impl判断改为 Execution_Plans,一个项目有多个计划时每个计划对应一个面板任务
C. 接上其他 skill
| skill | 怎么整合 |
|---|---|
| iter-mgt | 迭代编号用同一套:stepwise 的 ITER-01 和 iter-mgt 的 ITER1 二选一,建议跟 iter-mgt 用 ITER1。iter-mgt 登记实施计划时,改为登记已关闭的 Execution_Plans/<迭代>/<计划>;关闭迭代前检查总清单里这个迭代的计划都已关闭;冻结范围加上 Execution_Plans/<迭代>/;design 计划产出的需求和设计文档放到 docs/<迭代>/ 下,自动登记成交付物版本 |
| site-builder / site-test | dev 计划保留“是否发布、是否测试”的提问和对应步骤;test 类型先不做,以后可以用 site-test 实现 kind-test.md |
| web-research | 需要联网核对时(写 research.md)改为加载 web-research,不再记为“未核对” |
三、工作项、成本和风险
工作项
| # | 工作项 | 预计代理时间 |
|---|---|---|
| 1 | 准备:拉开发副本、建分支、备份现有版本和 ~/.pi/agent/stepwise 索引;决定 iter-mgt、web-research 是否也提交进仓库 | 10 分钟 |
| 2 | 整理目录结构、修正 kinds.json 路径、改 frontmatter 和脚本路径写法 | 20 分钟 |
| 3 | 合并 stepwise-plan 正文:0.5.0 + B4–B6 + site-builder / site-test / web-research | 40 分钟 |
| 4 | 合并 stepwise-run 正文:0.5.0 + B2–B4 + 发布、测试步骤 | 30 分钟 |
| 5 | 改脚本:迭代编号规则、接回 task-panel、适配多计划 | 45 分钟 |
| 6 | 改 iter-mgt:登记、关闭检查、冻结范围、design 产出登记;同步更新它的测试 | 60 分钟 |
| 7 | 新写 stepwise 冒烟测试:临时项目里跑 dev、design 各一遍完整流程,加上 LEGACY、并发和依赖、任务面板文件 | 45 分钟 |
| 8 | 联调:iter-mgt 开迭代 → stepwise 计划 → 关闭计划 → iter-mgt 关闭迭代 | 30 分钟 |
| 9 | 文档:stepwise-usage.md 差异表、仓库 README、skill_mgt README 和 sync.sh、CHANGELOG | 20 分钟 |
| 10 | 发布:合并到 main、push、本机 /reload 验证,通知其他机器 | 10 分钟 |
| 合计 | 约 5 小时 |
成本
- 代理时间约 5 小时,加修复余量按 6–7 小时算。
- 你要参与 3 次:开工前确认第四节的问题、联调后验收、发布前确认。
- token 估计 300 万左右,主要花在改脚本(约 1900 行)和测试上。第 3–6 项可交给子代理并行,主代理只负责合并和审查。
- 不建议用 stepwise 改 stepwise 自己:执行过程中脚本和规则一直在变,容易出错。改为手动派子代理,按工作项逐项做。
风险
| 风险 | 影响 | 应对 |
|---|---|---|
其他机器上还有进行中的 docs/impl 旧计划 | 升级后这些计划变成只读,不能继续执行 | 发布前通知大家先做完或归档;或加一个 migrate 命令把旧计划迁过来(另加约 1 小时) |
| 推送后所有机器一起更新 | 出问题会影响所有机器 | 测试全部通过后再合并;先打 tag stepwise-0.4-local 方便回退 |
在线上目录 /opt/pi-agent-skills 里直接改 | 正在跑的会话会读到改了一半的文件 | 只在开发副本里改 |
| task-panel 接口由 pi-cloud 定义 | 多计划时面板显示可能不对 | 第 5 项按 pi-cloud docs/TASKS.md 核对,必要时请 pi-cloud 那边确认 |
| 以后 pi-desktop 再发新版 | 本机改动又要合并一遍 | 改动尽量集中、写进差异表;仓库保留原包分支 upstream/stepwise,以后用 git 合并 |
| 改迭代编号规则 | 和 0.5.0 原版的计划不兼容 | 用 kinds.json 或配置项控制,不写死在代码里 |
skill_mgt 和 /opt 仓库的分工本来就混在一起 | 以后容易同步错 | 第 9 项写清分工:stepwise、site-* 在 /opt 仓库改,skill_mgt 只管自己的 skill |
四、开工前需要你确认
- 你有没有
alangao2025-dev/pi-agent-skills的维护权?有就按上面的方式开发并推送;没有就最后交一个 PR 分支。 - 迭代编号统一成
ITER1(跟 iter-mgt)还是ITER-01?建议ITER1。 - iter-mgt 和 web-research 要不要正式提交进
/opt仓库?建议提交,stepwise 要依赖它们。 - 旧计划只做提醒,还是加
migrate迁移命令?建议先只提醒,确实需要再加。
附:两版差异
| 方面 | 本机现有版本 | 0.5.0 |
|---|---|---|
| 打包格式 | pi skill:两个目录,各有 SKILL.md 和 ref/ | pi-desktop 插件:manifest.json;正文 skills/stepwise-plan.md、skills/stepwise-run.md,共用 skills/ref/;脚本在插件根目录 scripts/ |
| 计划存放 | 只有一个计划,在 docs/impl/,archive 到 docs/impl-archive/ | Execution_Plans/ITER-01/Impl_Plan_YYYYMMDD/,多迭代多计划,close 原地关闭 |
| 计划类型 | 只有开发计划 | dev、design;test 占位 |
| 新增命令 | — | init、doccheck、close、总清单、并发提示、计划依赖 |
| 旧计划 | — | docs/impl/ 下的旧计划只读,输出 LEGACY |
| 项目文件 | 不改 | 首次 init 在 AGENTS.md / CLAUDE.md 写入固定区块 |
| 触发方式 | 自动判断,用户不需要说特定的话 | 用户要说“做开发计划”“stepwise 计划”等 |
| 没有设计文档 | 代写设计文档 | 停下,让用户先准备 |
| 发布与测试 | 对接 site-builder / site-test,有运行环境约束 | 没有 |
| 任务面板 | task-panel.mjs 对接 pi-cloud | 没有 |
| 提问方式 | 一条消息列出全部问题 | asktool(这里没有) |
| cheap 模型 | ds/deepseek-v4-flash | custom/deepseek-v4-flash |