Files
AI不止语 4909388f35 feat(pi): 新增 Pi (oh-my-pi) harness 支持(关 #44,对齐上游 v6.0.0)
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 同样限制)。
2026-06-20 02:53:31 +08:00

29 lines
2.0 KiB
Markdown

# Pi Tool Mapping
Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Pi these resolve to the tools below.
| Action skills request | Pi equivalent |
| --- | --- |
| Invoke a skill | Pi native skills: load the relevant `SKILL.md` with `read`, or let the human use `/skill:name` |
| Read a file | `read` |
| Create a file | `write` |
| Edit a file | `edit` |
| Run a shell command | `bash` |
| Search file contents | `grep` when active; otherwise `bash` with `rg`/`grep` |
| Find files by name | `find` or `bash` with shell globs |
| List files and subdirectories | `ls` when active; otherwise `bash` with `ls` |
| Dispatch a subagent (`Subagent (general-purpose):` template) | Use an installed subagent tool such as `subagent` from `pi-subagents` if available |
| Task tracking ("create a todo", "mark complete") | Use an installed todo/task tool if available, otherwise track tasks in the plan or `TODO.md` |
## Skills
Pi discovers skills from configured skill directories and installed Pi packages. A Superpowers Pi package should expose `skills/` through its `pi.skills` manifest entry. Pi does not expose Claude Code's `Skill` tool, but the agent should still follow the Superpowers rule: when a skill applies, load and follow it before responding.
## Subagents
Pi core does not ship a standard subagent tool. The `pi-subagents` package is a strong optional companion and provides a `subagent` tool with single-agent, chain, parallel, async, forked-context, and resume/status workflows. If no subagent tool is available, do not fabricate `Task` calls; execute sequentially in the current session or explain that the optional subagent capability is not installed.
## Task lists
Pi core does not ship a standard task-list tool. If a todo/task extension is installed, use its documented tool. Otherwise use Superpowers plan files, checklists in Markdown, or a repo-local `TODO.md` for task tracking. Older Superpowers docs may refer to `TodoWrite`; treat that as the task-tracking action above.