Pi Coding Agent · 极简可扩展的终端 AI 编码代理

简介: Pi 是一款轻量级开源终端AI编码代理,内核仅提供读/写/改文件与执行命令4个基础工具,所有工作流(如检查、提交规范、目录确认)均由用户用TypeScript自定义扩展,支持打包共享、会话树回溯、多模型接入及云上一键部署。

别的编程助手替你定好了流程,Pi 让你自己写一个

你有一套自己的干活方式,工具偏不认

你手上五六个仓库,攒了一套自己的规矩:改完先跑哪几个检查、提交信息按什么格式写、哪些目录碰之前要先确认、发布前必须过一遍内部接口约定。这套东西是踩过坑攒出来的,你希望 AI 助手照着来。

第一个工具自带 plan 模式,每次先给你一份计划让你确认,可你要的不是计划,是那三个检查;第二个内置 todo 列表,把你的活切成它认为该有的样子;第三个每碰一次文件就弹权限确认,你一路点"允许"点到麻。想加自己的步骤,路只有两条——写一个 MCP server,起一个常驻进程再配一堆 JSON;或者 fork 源码改内部逻辑,然后每次上游发新版都重新合一遍冲突。

两条你都试过。最后还是回到自己开一个终端,手动复制粘贴。

四个工具,剩下的你自己加

Pi 是一个刻意做薄的终端 AI 编码代理:内核只给模型四个工具——读文件、写文件、改文件、跑命令。别的工具烤进产品里的那些能力,在 Pi 这里是你用 TypeScript 写进去的。

写一个扩展就是写一个 .ts 文件放进目录,不用 fork 内核,不用起独立进程。写好之后可以连同技能、提示词模板、主题一起打成一个包,用 npm 或 git 发出去——同事装一下,就拿到了你这套工作方式。

interactive-mode.png

边界也说清楚:

  • :读写改文件与执行命令四件事、TypeScript 扩展、技能、提示词模板、主题、会话树与自动压缩、交互终端/JSON 输出/RPC/SDK 四种跑法、二十多家模型提供方
  • 不做:不内置 MCP、子智能体、plan 模式和待办列表——这些留给你自己写或装第三方包;也没有内置权限系统,默认以启动它的那个用户的权限运行,不弹确认框,需要更硬的边界请把它放进容器或沙箱里跑
  • 源码以 MIT 开源,你在这里部署的是开源自托管版本

通过阿里云计算巢部署,几分钟开箱可用,并且已经自动对接阿里云百炼(DashScope)——不用自己去申请 Key、配 provider,部署完连上服务器敲 pi 就能对话。

它解决了什么问题

你原来怎么干 代价 用它之后
迁就工具自带的 plan / todo / 权限流程 你的流程被改成它认为该有的样子 内核不预设流程,你要的那几步自己写进去
写 MCP server 加一个能力 起常驻进程、配 JSON、调协议 写一个 TypeScript 文件放进扩展目录
fork 源码改内部逻辑 每次上游更新都要重新合冲突 扩展在内核之外,升级不冲突
团队最佳实践靠口头传 新人上手全靠问,规矩容易走样 打成一个包发出去,装上就有
试错走偏了只能重开会话 前面聊出来的上下文全丢 会话是一棵树,回到岔路口换条路继续
本地装:装 Node、装包、配模型 Key 装完还要挑 provider、找额度 一键部署,已对接百炼,敲 pi 就能用

回到开头那五六个仓库:你把那三个检查写成一个扩展,把提交信息格式写成一个提示词模板,把"碰这些目录先确认"做成自己那套确认流程——都是几个文件。然后打成一个包,同事 pi install 一下,整个组的 AI 助手就都按你这套规矩干活了。

而更深一层的变化是:AI 编程工具从"一个你要去适应的产品"变成"一套你自己攒的装备"。以前定制成本高,所以是你迁就它;现在你的工作流不用为工具让步,而且这套装备可以像依赖一样被安装、被版本管理、被整个团队共享——组里的经验第一次有了可执行的形态,不再只是文档里的一段叮嘱。

核心能力

内核只做该做的

对应开头最烦的那件事:工具替你决定了怎么干活。

  • 四个内置工具 —— 读、写、改、跑命令,模型拿到的就这些,行为可预期
  • 明确不做的清单 —— 没有 MCP、子智能体、plan 模式、内置待办、后台命令,项目把理由写在文档里,也把这些位置留给了你

想加什么,写一个文件

  • TypeScript 扩展 —— 一个 .ts 文件就是一个扩展,能改工具、改交互、改压缩策略,不碰内核
  • 技能与提示词模板 —— 把一段做法写成技能目录,把常用指令写成 / 命令,不用每次重复交代
  • 打包分享 —— 扩展、技能、模板、主题装进一个 Pi 包,走 npm 或 git 分发,可全局装也可只装在某个项目里

一次对话可以有很多条岔路

试错走偏了不必推倒重来。

  • 会话是一棵树 —— 全部历史存在一个 JSONL 文件里,/tree 原地翻看,选任意一个节点接着往下走,还能给关键节点打书签
  • 分叉与克隆 —— 从某条历史消息叉出一个新会话,或把当前分支整段复制出来另开一条路
  • 自动压缩 —— 上下文快满时自动概括旧消息接着干,完整历史仍在文件里可以回看

session-tree.png

不止能在终端里敲

  • 四种跑法 —— 交互终端、打印或 JSON 输出、RPC 供别的进程集成、SDK 嵌进自己的应用
  • 接谁的模型都行 —— 二十多家提供方,订阅或 API Key 都支持,/model 随时切;也能接本地 llama.cpp

谁最该用

用户类型 典型场景 用它拿到什么
有固定工作流的资深开发 一套自己的检查、约定和发布步骤 工具照你的规矩走,不用 fork 也不用写 MCP
想统一实践的小团队 组里规矩靠口头传,新人上手慢 把规矩打成包,装上就生效
做自动化和流水线的人 要把编码代理接进 CI 或自己的服务 JSON 输出、RPC 和 SDK 三种接法
想长时间跑任务的人 本地机器一关机任务就断 跑在云服务器上,会话和上下文都留在服务器

技术支持


🚀 立即体验

一键部署 Pi Coding Agent

部署完成后,远程连接创建出来的 ECS,敲 pi 进入交互界面。第一件该做的事:随便问它一句,看清屏幕最上方它加载了哪些上下文、技能和扩展——那份清单就是你之后要往里添东西的地方。

相关文章
人工智能 缓存 前端开发
11700 59
人工智能 JavaScript 开发工具
4677 17
Web App开发 人工智能 API
1180 1
开发工具 Swift git
1890 6
人工智能 Java BI
1303 1
人工智能 JavaScript 测试技术
2146 2
人工智能 JavaScript 测试技术
1098 4
缓存 JavaScript Shell
2055 3

热门文章

最新文章