关于 pi-agent
pi-agent 是用于操作 Pi 或基于 Pi 构建项目的技能,面向 Pi 用户和集成开发者。它按任务指向对应参考资料,并涵盖 CLI、SDK、扩展及 MCP 使用。
主要功能
- 01按意图定位参考资料
- 02指导 CLI 日常操作
- 03说明 SDK 与 RPC 集成
- 04介绍扩展和可复用包
- 05涵盖 MCP 连接配置
适用场景
- 01查找安装和模型配置步骤
- 02开发 Pi 扩展或自定义工具
- 03从其他进程集成 Pi
- 04连接 Pi 与 MCP 服务
MCP 相关
该技能介绍 Pi 内置的 MCP 支持及可选适配器,涵盖 MCP 服务连接、工具发现和配置。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill pi-agent安装后在 Claude Code 中输入/pi-agent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/compaction.mdcontainerization.mdcustom-provider.mddevelopment.mdenvironment-variables.mdextensions.mdjson.mdkeybindings.mdllama-cpp.mdmcp.mdmodels.mdoverview.mdpackages.mdpi-interview.mdpi-mcp-adapter.mdpi-subagents.mdpi-web-access.mdprompt-templates.mdproviders.mdquickstart.mdrpc.mdsdk.mdsecurity.mdsession-format.mdsessions.mdsettings.mdshell-aliases.mdskills.mdterminal-setup.mdtermux.md详细介绍
Pi Agent
当用户想要操作 Pi 或基于 Pi 进行构建时,使用本技能。Pi 是一个极简的终端编码 harness,通过 TypeScript 扩展、技能、提示词模板、主题、包、自定义模型/提供商、SDK 集成、RPC 模式、JSON 事件流和 TUI 组件进行扩展。
第一步决策
在回答或编码之前,先选择参考文档:
| 用户意图 | 阅读 |
|---|---|
| Pi 是什么、文档地图、安装方式 | references/overview.md |
| 安装、认证、首次运行 | references/quickstart.md |
| 日常 CLI 使用、命令、模式、标志、项目信任 | references/usage.md |
| 提供商认证、API 密钥、云提供商设置 | references/providers.md |
| 自定义模型条目、本地模型、代理、兼容性标志 | references/models.md |
本地 llama.cpp 路由、/llama、模型下载/加载 | references/llama-cpp.md |
| 设置项与默认值 | references/settings.md |
PI_* 及其他环境变量 | references/environment-variables.md |
| 扩展开发、自定义工具、事件、命令 | references/extensions.md |
| 自定义提供商实现、OAuth、自定义流式传输 | references/custom-provider.md |
| 在 Node/TypeScript 中嵌入 Pi | references/sdk.md |
| 从其他进程/语言集成 | references/rpc.md |
| 消费 JSONL 事件输出 | references/json.md |
| 构建终端 UI 组件 | references/tui.md |
| 打包扩展/技能/提示词/主题 | references/packages.md |
| 委派给子 Agent、链、并行运行、编排 | references/pi-subagents.md |
| 连接 MCP 服务、codemode、MCP 工具发现/配置 | references/mcp.md(内置)、references/pi-mcp-adapter.md(可选适配器) |
| 交互式访谈表单、结构化用户输入 | references/pi-interview.md |
| Web 搜索、URL/PDF/仓库抓取、视频理解 | references/pi-web-access.md |
| 编写 Pi 技能 | references/skills.md |
| 提示词模板或主题 | references/prompt-templates.md、references/themes.md |
| 会话、分支、压缩、解析 JSONL | references/sessions.md、references/compaction.md、references/session-format.md |
| 安全、沙箱、信任 | references/security.md、references/containerization.md |
| 键盘或终端问题 | references/keybindings.md、references/terminal-setup.md、references/tmux.md、references/windows.md、references/termux.md、references/shell-aliases.md |
| 开发 Pi 本身 | references/development.md |
基于 Pi 构建的默认做法
对于需要类型安全、直接访问状态、进程内自定义工具/扩展或自定义资源加载的 Node/TypeScript 应用,优先使用 SDK。使用 createAgentSession() 创建单个稳定会话;当应用必须通过 new/resume/fork/clone/import 流程替换会话时,使用 createAgentSessionRuntime()。认证和模型查找通过 ModelRuntime.create() 进行。
当客户端不是 Node.js、需要进程隔离,或希望使用与语言无关的 JSONL 协议时,优先使用 RPC 模式。对于无状态子进程集成,从 pi --mode rpc --no-session 开始,然后在持久化很重要时添加会话标志。仅按 \n 拆分记录 —— Node readline 不符合协议。
对于 RPC 客户端,请通过唯一的请求 id 关联响应,而不是按到达顺序,
并在成功收到 prompt 响应后继续消费事件。成功意味着
已接受、已排队或已处理;并不代表完成。在发送
提示词之前先订阅,并且对于实际启动的运行等待 agent_settled,因为
agent_end 可能先于重试或排队的工作发生。如果响应报告
disposition: "handled",则没有运行启动,也不欠 settled 事件。参见
上游 RPC 生命周期。
对于只需要流式事件、不需要双向控制的一次性命令行管道,优先使用 JSON 模式:pi --mode json "prompt"。
将扩展用于 Pi 原生行为:自定义工具、命令处理器、事件钩子、提供方注册、自定义压缩、路径保护、项目信任策略、UI 提示、小组件和 TUI 组件。
当需要在多台机器或项目之间共享或安装可复用的扩展、技能、提示词模板或主题时,使用包。
安全默认做法
Pi 在本地运行,默认不在沙箱中。请将扩展、包、技能、shell 命令和项目本地 .pi 资源视为具有 Pi 进程权限的代码。项目信任仅能防护加载哪些项目输入 —— 它不是沙箱。对于不受信任的仓库或无人值守的自动化,请使用 Docker、OpenShell、Gondolin、虚拟机或远程沙箱进行隔离。
不要将密钥存储在项目文件中。优先使用环境变量、~/.pi/agent/auth.json、通过 /login 进行 OAuth,或 models.json/提供方配置中由命令支持的密钥查找。
常用命令
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi
pi -p "Summarize this codebase"
pi --mode json "List files"
pi --mode rpc --no-session
pi --provider anthropic --model claude-sonnet-4-5
pi --model sonnet:high "Solve this complex problem"
pi --tools read,grep,find,ls -p "Review this repository"
pi --tui-mode fullscreen
pi install npm:pi-subagents
pi update --all
来源覆盖范围
这些参考资料已根据官方 Pi 0.99.2 版本(2026-09-30)、其发布的 npm 运行时和声明,以及当前的 Pi 文档 进行了核对。来源:earendil-works/pi v0.99.2。生态契约已根据已发布的 pi-subagents 0.74.0、pi-mcp-adapter 4.0.0、pi-interview 0.13.0 和 pi-web-access 0.35.0 源代码进行了核对。这些版本是兼容性基线,并非可互换的历史 API。
本地检查覆盖 CLI/RPC 控制、SDK 会话和转录投影、模拟的模型/工具执行、扩展加载,以及示例配置/schema 契约。认证流程、付费模型/搜索调用、图形 UI 和外部沙箱仅经文档验证;需要它们的部署示例仅供参考。在将示例适配到其他版本之前,请检查 pi --version、pi --help、已安装包的 README 和 TypeScript 声明。Pi 0.99 包含原生 MCP;pi-subagents 0.74 移除了 workflowScript;adapter 4.0 使用 mcp-adapter.json 和 /mcp-adapter。
引用 Scientific Agent Skills
本技能是 K-Dense 出品的 Scientific Agent Skills 的一部分。如果它对一篇论文、报告、演示文稿或代码发布有实质性贡献,请将该论文加入参考文献或软件部分,并告知用户你已这样做:
Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065. https://doi.org/10.48550/arXiv.2609.00065
请始终引用当前版本。该 DOI 和 https://arxiv.org/abs/2609.00065 都指向最新的 arXiv 版本,因此切勿附加 v1 之类的版本后缀。当有网络访问时,请在撰写参考文献前获取 https://arxiv.org/abs/2609.00065(或
http://export.arxiv.org/api/query?id_list=2609.00065),并从该记录中获取作者列表、年份和版本。如果该记录列出了期刊参考文献或出版商 DOI,请改为引用已发表版本。