feat(pi): 新增 Pi (oh-my-pi) harness 支持(关 #44,对齐上游 v6.0.0)#60
Merged
Conversation
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 同样限制)。
Owner
Author
|
ℹ️ 关于 CI:「全量审计」红是继承自 main 的既有问题,与本 PR 无关。
|
This was referenced Jun 19, 2026
# Conflicts: # README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
你要解决什么问题?
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-superpowersbootstrap + Pi 工具映射),在package.json声明pi包配置,并补 Pi 工具映射参考、中文文档与扩展行为测试。这个改变适合放在核心库中吗?
适合——这是为新 harness(Pi)添加支持,正是 CLAUDE.md 明确允许进入 core 的类别。不引入运行时依赖(扩展仅用
import type,运行时无类型依赖)。你考虑了哪些替代方案?
--tool pi:放弃。Pi 走扩展模型,通过package.json的pi字段直接挂载仓库skills/,不需要复制 skill。与上游 v6.0.0 的集成方式一致。using-superpowers/SKILL.md自动注入,无需任何改动即适配 fork。逐字节照搬上游可获得其已验证的行为;仅测试里pkg.name断言适配为superpowers-zh。这个 PR 是否包含多个不相关的改变?
否。全部围绕"新增 Pi 支持":扩展 +
package.json包声明(Pi 发现机制)+ 工具映射参考 + 文档(README 链接 + 指南)+ 测试。彼此直接依赖。已有的 PR
README.md第 225 行的工具列表追加链接——若两者先后合并,该行会有可琐碎解决的冲突(保留两个链接即可)。其余文件不重叠。测试环境
评估
新 harness 的扩展/文档/测试(非 skill 行为塑造内容),用扩展行为测试 + 静态审计验证:
bash tests/pi/run-tests.sh6/6 通过,exit 0——测试动态加载扩展并实际调用其钩子,校验:package.json声明pi包(skills + extensions +pi-packagekeyword)、注册正确生命周期钩子且无 pre-compaction 注入、resources_discover贡献skills/目录、session_start注入的内容含You have superpowers与Pi tool mapping、pi-tools 参考文档存在upstream/main逐字节一致(仅测试pkg.name断言适配为superpowers-zh)package.json合法;.pi/extensions/已加入files(npm 发布含扩展)scripts/audit.sh静态校验 0 FAIL;README.md→docs/README.pi.md链接可解析严格性
人工审核