返回项目目录
开发工具精选项目

Pi

极简、可自扩展的 AI Agent Harness 与终端编码代理。

主要语言TypeScript
开源许可MIT
项目类型开发工具
维护状态活跃维护
OVERVIEW

项目概述

Pi 由多模型 API、Agent Runtime、终端 UI 和编码代理 CLI 组成,强调以小型核心、扩展、技能和包来适配个人与团队工作流。

Pi 是采用 MIT 许可证的开源 Agent Harness,核心理念是让工具适配开发者的工作流,而不是要求开发者接受一套固定流程。它的 TypeScript Monorepo 包含统一多模型 API(pi-ai)、Agent Runtime(pi-agent-core)、差分渲染终端 UI(pi-tui)和可交互的编码代理 CLI(pi-coding-agent)。编码代理默认只提供 read、write、edit 和 bash 四种工具,并把更复杂的能力交给扩展、技能、Prompt 模板、主题和 Pi Packages。Pi 既能作为终端应用使用,也支持 Print、JSON、RPC 和 SDK 等集成方式。

当前版本v0.82.1
运行模式Interactive / Print / RPC / SDK
核心包AI / Agent / TUI / Coding CLI
FEATURES

主要特点

Pi 用精简内核覆盖终端编码代理的关键能力,并将工作流差异留给可组合的扩展系统。

01

极简终端编码代理

交互模式提供流式对话、工具调用、文件编辑和 Bash 执行;默认只有四种核心工具,使基础行为更容易理解和改造。

02

统一多模型接口

pi-ai 为多个模型提供商提供一致的消息、流式输出和工具调用接口,并可通过 /model 或快捷键在会话中切换模型。

03

TypeScript 扩展系统

扩展可以订阅生命周期事件、注册工具和命令、改变按键与界面,并通过自定义逻辑控制 Agent 行为。

04

Skills、模板与主题

可按需加载技能说明,复用 Prompt 模板和终端主题,再通过 npm 或 Git 仓库把配置组合成可分享的 Pi Package。

05

树状会话历史

一次会话保存在单个 JSONL 文件中,并保留分支关系;可使用 /tree、/fork、标签、导出和分享功能探索不同方案。

06

可控的上下文工程

支持从目录层级加载 AGENTS.md、替换或追加系统提示、自动压缩上下文,以及通过扩展注入动态上下文。

07

运行中 Steering 与 Follow-up

Agent 工作时仍可补充方向或排队后续消息,不必等待整个工具调用循环结束后才能继续交互。

08

四种集成方式

除交互式 TUI 外,还可使用 Print/JSON 输出、基于标准输入输出的 RPC,或直接通过 SDK 嵌入 Node.js 应用。

USE CASES

适用场景

适合希望在终端中使用 AI 编码代理,或需要把 Agent Runtime 嵌入脚本、产品和自定义开发工具的团队。

日常终端编码

在代码仓库中阅读文件、修改实现、运行检查并持续与 Agent 对话,减少在编辑器、终端和聊天窗口间切换。

团队定制工作流

将内部命令、代码规范、审查流程和专用工具封装为扩展、技能或 Pi Package,在团队内复用。

脚本与自动化

通过 Print 或 JSON 模式执行一次性任务,把结构化事件接入 Shell 脚本、CI 或其他自动化系统。

嵌入式 Agent

使用 SDK 或 RPC 把 Pi 的 Agent 会话嵌入桌面工具、IDE 集成、内部平台或自有用户界面。

Agent 基础设施原型

分别复用 pi-ai、pi-agent-core 和 pi-tui,快速验证多模型工具调用、状态管理与终端交互方案。

多模型实验

在相近的工具与上下文条件下切换不同提供商和模型,比较编码能力、延迟、成本和工具调用稳定性。

EVALUATION

优点与注意事项

技术选型不仅要看能力,也要理解它带来的团队成本。

主要优点

Pi 擅长的地方

  • 核心概念少,默认工具和 Agent 循环相对容易理解
  • 扩展、技能、模板、主题和 Package 可逐层定制工作流
  • 支持多家模型提供商,并允许在会话中切换模型
  • 树状 JSONL 会话便于分支尝试、恢复、导出和审查
  • 交互、脚本、RPC 与 SDK 模式覆盖从个人终端到产品集成
  • Monorepo 中的 AI、Agent 与 TUI 包可独立用于自定义应用

需要注意

采用前应考虑的问题

没有内置权限系统

Pi 以启动它的用户和进程权限访问文件、进程、网络和凭据;默认工具并不会自动提供操作级沙箱或安全隔离。

高风险环境需要外部隔离

在不可信仓库、生产主机或含敏感凭据的环境中使用前,应采用容器、虚拟机或专用沙箱,并限制挂载目录和网络访问。

许多工作流能力不是内置功能

Pi 刻意不内置权限弹窗、Plan Mode、Subagent、Todo、后台 Bash 和 MCP;需要时应选择、编写并维护相应扩展。

扩展拥有本地代码权限

扩展和 Pi Package 本质上会执行本地 TypeScript 或 JavaScript。安装第三方包前应检查来源、依赖、发布记录和代码。

模型差异仍然存在

提供商的上下文长度、工具调用、推理参数、认证方式和错误行为不同,切换模型后仍需要针对真实任务回归测试。

成本与速率限制由提供商决定

长会话、频繁工具循环和多个模型会增加 Token 与请求量,应配置预算、超时和停止条件并关注提供商限额。

会话文件可能包含敏感内容

JSONL 历史可能保存源代码、提示、工具参数和命令输出;导出或分享前应检查内容,并对本地会话目录设置适当权限。

版本演进较快

CLI、扩展 API 和各工作区包会持续发布。团队共享配置时应锁定版本,升级前阅读发布说明并验证关键扩展。

QUICK START

快速开始

安装 Pi Coding Agent,完成模型登录或配置 API Key,然后从交互、单次输出和 JSON 模式开始使用。

1安装 Pi Coding Agent
bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

pi --version
2登录模型提供商
bash
pi

# 在交互界面中打开登录菜单
/login
3或使用环境变量
bash
export ANTHROPIC_API_KEY="<your-api-key>"

cd your-project
pi
4执行单次任务
bash
pi -p "概括这个项目的目录结构,并指出测试入口"

# 输出适合程序处理的 JSON 事件流
pi --mode json -p "检查当前改动可能引入的风险"
5为仓库提供项目上下文
markdown
# AGENTS.md

## 项目约定

- 使用 TypeScript 严格模式
- 修改后运行 npm run lint 和 npm test
- 不要编辑生成文件
- 高风险操作必须先说明影响
6常用会话命令
bash
# 以下命令在 Pi 交互界面中输入
/model
/tree
/fork
/compact
/export
/reload

下一步:Pi 没有内置权限系统。请先在普通代码仓库或隔离环境中试用,并避免让 Agent 直接接触生产凭据、敏感目录和高权限网络;需要更强边界时应使用容器或沙箱。

ALTERNATIVES

类似项目

这些项目同样帮助开发者组织模型、工具与 Agent 工作流,但产品形态和默认抽象不同。

COMPARISON

Pi vs LangChain

Pi 和 LangChain 都能连接模型与工具,但 Pi 首先是可直接使用和扩展的终端 Agent Harness,LangChain 则首先是构建 LLM 应用与业务 Agent 的代码框架。

比较维度PiLangChain
产品形态终端编码代理 + 可独立复用的 TypeScript 包Python / TypeScript 应用框架
主要目标个人与团队的编码 Agent 和定制终端工作流面向最终用户的 LLM 应用、RAG 与业务 Agent
默认界面TUI、Print、JSON、RPC 和 SDK没有固定 UI,由应用自行提供界面与服务层
扩展方式扩展、Skills、Prompt 模板、主题与 Pi Packages模型、工具、Middleware、Retriever 与 LangGraph
会话与状态本地树状 JSONL 会话,支持分支与导出应用状态与 LangGraph Checkpointer / Store
模型接入pi-ai 统一多个提供商,并可在会话中切换通过 Provider 集成包接入模型与 Embedding
安全边界明确依赖外部容器或沙箱提供强隔离由应用开发者为工具、数据和部署环境设计权限
更适合直接使用或深度定制一个终端编码 Agent把 Agent、检索和工具编排进自己的业务应用
如何选择

如果目标是尽快拥有一个可在终端工作的编码 Agent,并通过少量 TypeScript 扩展适配个人或团队流程,Pi 更直接;如果你正在开发面向客户或内部业务的 AI 应用,需要组织检索、Middleware、持久状态和多种服务集成,LangChain 的应用框架定位更合适。两者也可以组合:用 LangChain 构建业务服务,再通过 Pi 扩展调用受控 API。

VERIFICATION

资料核验

版本、维护信息与本页采用的官方资料来源。

最后核验2026 年 7 月 28 日
核验版本Pi v0.82.1
内容维护Docs100 编辑整理
项目维护状态活跃维护

本页依据 Pi 官方站点、Monorepo README、Coding Agent 文档和容器化说明整理。版本、主要语言、许可证与最新维护状态通过 GitHub 官方 API和 npm Registry 核验;安全提示遵循项目对权限模型的明确说明。

维护状态核验2026 年 7 月 26 日 · 最近可见代码活动:2026 年 7 月 27 日

官方仓库未归档,核验时最近可见的代码活动日期为 2026 年 7 月 27 日。该状态表示项目近期仍有公开维护活动,不代表固定发布频率或长期支持承诺。

查看官方仓库