跳转到内容

Pi 文档

Pi 是一个极简的终端编码执行框架(harness)。它被设计为保持小巧的核心,同时通过 TypeScript 扩展(extension)、技能(skill)、提示词模板(prompt template)、主题(theme)和 Pi 包(package)来扩展能力。

使用 npm 安装 Pi:

Terminal window
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

--ignore-scripts 会在安装过程中禁用依赖的生命周期脚本。Pi 在常规 npm 安装中不需要安装脚本。

在 Linux 或 macOS 上,你也可以使用安装脚本:

Terminal window
curl -fsSL https://pi.dev/install.sh | sh

卸载 pi 本身时,对于 curl 和 npm 安装方式,使用 npm:

Terminal window
npm uninstall -g @earendil-works/pi-coding-agent

对于 pnpm、Yarn 或 Bun 安装,使用对应的全局移除命令:pnpm remove -g @earendil-works/pi-coding-agentyarn global remove @earendil-works/pi-coding-agentbun uninstall -g @earendil-works/pi-coding-agent

然后在项目目录中运行它:

Terminal window
pi

对于订阅型模型提供方,使用 /login 进行身份验证;或者在启动 pi 前设置一个 API 密钥,例如 ANTHROPIC_API_KEY

完整的首次运行流程,请参阅 快速开始

  • 快速开始 - 安装、身份验证并运行第一个会话(session)。
  • 使用 Pi - 交互模式、斜杠命令(slash command)、上下文文件(context file)和 CLI 参考。
  • 模型提供方 - 内置模型提供方(provider)的订阅和 API 密钥设置。
  • llama.cpp - 运行本地模型路由器(router),并用 /llama 管理模型。
  • 安全 - 项目信任、沙箱(sandbox)边界和漏洞报告。
  • 容器化 - 使用 Gondolin、Docker 或 OpenShell 将 pi 沙箱化。
  • 设置 - 全局和项目设置(settings)。
  • 快捷键绑定 - 默认快捷键和自定义快捷键绑定(keybinding)。
  • 会话 - 会话(session)管理、分支(branch)和树导航。
  • 上下文压缩 - 上下文压缩(compaction)和分支摘要。
  • 扩展 - 用于工具(tool)、命令、事件和自定义 UI 的 TypeScript 模块。
  • 技能 - Agent Skills,用于可复用的按需能力。
  • 提示词模板 - 可复用的提示词,通过斜杠命令展开。
  • 主题 - 内置和自定义终端主题(theme)。
  • Pi 包 - 打包并分享扩展、技能、提示词和主题。
  • 自定义模型 - 为受支持的模型提供方 API 添加模型条目。
  • 自定义模型提供方 - 实现自定义 API 和 OAuth 流程。
  • 环境变量 - Pi 进程配置,以及提供给 bash 工具的会话元数据。
  • 会话格式 - JSONL 会话文件格式、条目类型和 SessionManager API。
  • 开发 - 本地环境搭建、项目结构和调试。