Skip to content

feat(pi): 新增 Pi (oh-my-pi) harness 支持(关 #44,对齐上游 v6.0.0)#60

Merged
jnMetaCode merged 2 commits into
mainfrom
sync/v6-pi-harness
Jun 19, 2026
Merged

feat(pi): 新增 Pi (oh-my-pi) harness 支持(关 #44,对齐上游 v6.0.0)#60
jnMetaCode merged 2 commits into
mainfrom
sync/v6-pi-harness

Conversation

@jnMetaCode

Copy link
Copy Markdown
Owner

你要解决什么问题?

issue #44:Pi(oh-my-pi)和 OpenCode 一样开放,skill:// 能直接用 Claude/Codex 等的技能,提交者已附图验证可手动使用,希望 superpowers-zh 原生支持。上游 obra/superpowers 已在 v6.0.0 用扩展模型原生支持 Pi,本 fork 落后于此——Pi 用户目前需要手动配置。

这个 PR 做了什么改变?

为 Pi 新增扩展 .pi/extensions/superpowers.ts(注册生命周期钩子,把现有 skills/ 贡献给 Pi 并在会话注入 using-superpowers bootstrap + Pi 工具映射),在 package.json 声明 pi 包配置,并补 Pi 工具映射参考、中文文档与扩展行为测试。

这个改变适合放在核心库中吗?

适合——这是为新 harness(Pi)添加支持,正是 CLAUDE.md 明确允许进入 core 的类别。不引入运行时依赖(扩展仅用 import type,运行时无类型依赖)。

你考虑了哪些替代方案?

  • 改 npx 安装器加 --tool pi:放弃。Pi 走扩展模型,通过 package.jsonpi 字段直接挂载仓库 skills/,不需要复制 skill。与上游 v6.0.0 的集成方式一致。
  • 为 fork 重写扩展逻辑/翻译扩展:放弃。扩展是内容中立的——它读取仓库现有的中文 using-superpowers/SKILL.md 自动注入,无需任何改动即适配 fork。逐字节照搬上游可获得其已验证的行为;仅测试里 pkg.name 断言适配为 superpowers-zh

这个 PR 是否包含多个不相关的改变?

否。全部围绕"新增 Pi 支持":扩展 + package.json 包声明(Pi 发现机制)+ 工具映射参考 + 文档(README 链接 + 指南)+ 测试。彼此直接依赖。

已有的 PR

测试环境

工具(如 Claude Code、Cursor) 工具版本 模型 模型版本/ID
Claude Code 本会话 Opus 4.8 claude-opus-4-8
Node.js(跑 Pi 测试) v22.14.0

说明:Pi 内的 skill 实际触发未在本 PR 中验证——本会话无 Pi 环境。扩展逐字节对齐上游 v6.0.0 已验证的实现,且通过下列行为测试。这与本 fork 其它 harness 适配的验证边界一致。

评估

新 harness 的扩展/文档/测试(非 skill 行为塑造内容),用扩展行为测试 + 静态审计验证:

  • bash tests/pi/run-tests.sh 6/6 通过,exit 0——测试动态加载扩展并实际调用其钩子,校验:package.json 声明 pi 包(skills + extensions + pi-package keyword)、注册正确生命周期钩子且无 pre-compaction 注入resources_discover 贡献 skills/ 目录、session_start 注入的内容含 You have superpowersPi tool mapping、pi-tools 参考文档存在
  • 扩展、pi-tools.md、测试文件均与 upstream/main 逐字节一致(仅测试 pkg.name 断言适配为 superpowers-zh
  • package.json 合法;.pi/extensions/ 已加入 files(npm 发布含扩展)
  • scripts/audit.sh 静态校验 0 FAILREADME.mddocs/README.pi.md 链接可解析

严格性

  • 非 skill 行为措辞改动(新 harness 扩展/文档/测试);用扩展行为测试 + 审计验证(见上)
  • 扩展经测试验证,覆盖注入去重、compaction 顺序、无 pre-compaction 注入等非正常路径
  • 未触碰任何精心调优的行为内容(红旗表、合理化列表、"人类搭档"用语)

人工审核

  • 提交前已有人工审核过完整的 diff

issue #44:Pi 像 opencode 一样开放,skill:// 能直接用,已验证可手动使用,
希望原生支持。上游 obra/superpowers 在 v6.0.0 已用扩展模型原生集成 Pi,
本提交把同样的集成方式落到本 fork。

Pi 走扩展模型,通过 package.json 的 pi 字段声明,直接指向仓库现有
skills/,不复制 skill、无运行时依赖。扩展内容中立——读取 fork 现有的
中文 using-superpowers/SKILL.md 自动注入,故扩展代码逐字节照搬上游。

- .pi/extensions/superpowers.ts:注册 resources_discover / session_start /
  session_compact / agent_end / context 生命周期钩子,在会话注入
  using-superpowers bootstrap + Pi 工具映射(带去重标记、插在 compaction
  summary 之后)
- package.json:加 pi.skills=["./skills"] + pi.extensions + pi-package
  keyword;.pi/extensions/ 加入 files(npm 发布需含扩展)
- skills/using-superpowers/references/pi-tools.md:Pi 工具映射参考
- docs/README.pi.md:中文安装/原理/工具映射/验证指南;README.md 工具列表加链接
- tests/pi/:上游扩展行为测试(适配 fork:name=superpowers-zh)+ 运行包装

验证:bash tests/pi/run-tests.sh 6/6 通过 exit 0(校验 pi 包配置、生命周期
钩子无 pre-compaction 注入、resources_discover 贡献 skills 目录、session_start
注入 You-have-superpowers + Pi-tool-mapping、pi-tools 参考存在);package.json
合法;scripts/audit.sh 静态 0 FAIL;README→docs/README.pi.md 链接可解析。

注:扩展是 TS(仅 import type,运行时无类型依赖),Node 22.6–23.5 需
--experimental-strip-types(run-tests.sh 已带),23.6+ 默认支持。
Pi 内实际 skill 触发需在 Pi 内验证(与本 fork 其它 harness 同样限制)。
@jnMetaCode

Copy link
Copy Markdown
Owner Author

ℹ️ 关于 CI:「全量审计」红是继承自 main 的既有问题,与本 PR 无关

合并顺序建议:先合 #58(main 转绿),本 PR / #57 / #59 基于更新后的 main 即转绿。

@jnMetaCode jnMetaCode merged commit f04ef71 into main Jun 19, 2026
jnMetaCode added a commit that referenced this pull request Jun 20, 2026
对齐上游 v6.0.0 实质变更 + 新增 Kimi/Pi 两款 harness 支持:
- Kimi Code 支持(#59,关 #37)
- Pi (oh-my-pi) 支持(#60,关 #44)
- brainstorm 可视化伴侣安全模型(#58,每会话密钥 + 安全头)
- worktree 移除旧全局目录(#57)+ hooks/session-start v6(#58)
- opencode 测试修复(#72)

版本号同步:package.json + 5 个 plugin 清单 + marketplace + gemini-extension。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant