Pi+DeepSeek配置教程:比Cursor省钱的终端AI coding方案


如果你要追求终极的coding agent自由,目前只有pi才能给你安心。 如果你一直想试试 pi + deepseek,但是不知道怎么配置,强烈推荐新手查看这篇老外小哥的blog,点击标题!

本文介绍了开源终端编程助手Pi的安装配置流程,包括DeepSeek等模型接入、五个核心插件的用法、自定义状态栏的方法,以及作者用Pi处理28万条URL爬取任务的实际案例。适合想降低AI编程工具成本的开发者。

我折腾完这个叫Pi的编程助手,发现它比Cursor省钱太多了

先说我折腾完的感受:你要是平时写代码主要靠AI,但又不想每个月花好几十美金订阅那些大牌编程助手,这个叫Pi的东西值得你花半个小时搞一搞。它是开源的,装在你的电脑终端里,你想用什么AI模型就用什么,想加什么功能就加插件,不像其他工具那样把所有东西都塞给你。我用了两个多星期,现在做小项目、写实验代码已经离不开它了。下面我把怎么装、怎么配、踩了什么坑,全给你说清楚。



我拿Pi跟其他编程助手搭配着用,各自干不同的活

我写代码用的工具不是只有一个。我有Cursor的订阅,也有OpenAI Codex的订阅。大项目里复杂的功能我交给OpenAI Codex,日常写写改改用Cursor。但这俩都不便宜,每个月固定花出去一笔钱。

这时候Pi就补上了空缺。做小项目、做实验、一次性任务(比如爬数据、批量改文件)我都用Pi。它跑得快,轻量,而且我可以用便宜的模型,比如DeepSeek。前阵子我用Pi配合DeepSeek的v4 Flash模型爬了一个网站,一共扒下来28万5千条链接,跑了差不多一个半小时,最后只花了一美金。要是用Cursor或者Codex干这个活,按调用次数算钱的话,不知道要多花多少倍。

所以我的用法很清楚:大项目用付费工具,小打小闹和实验全扔给Pi。这样两边都不耽误,钱也省下来了。



装Pi只要一行命令,最快的就是这种

装这东西基本没有门槛。打开你的终端(Mac上是“终端”,Windows上是PowerShell或者WSL),敲下面这行:

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

等它跑完。装好之后,在终端里输入pi,就能启动。不过启动之前你得先搞定一件事——告诉Pi你用哪个AI模型的API密钥。



配DeepSeek当主力模型,登录过程两分钟搞定

Pi里面有个/login命令,专门用来配模型。我一步步说:

1. 终端输入pi,打开Pi。
2. 输入/login,回车。
3. 屏幕上让你选登录方式,选“Use an API key”。
4. 然后会列出好多模型提供商,找到DeepSeek,选它。
5. 输入你的DeepSeek API密钥。

完事。Pi帮你把密钥存好了。之后用/model命令就可以选具体用哪个模型。我平时默认用deepseek-v4-pro,思考深度开最高(xhigh)。因为我想让它在改代码之前多想几步,别莽撞。

如果干的是轻量活,比如爬数据、批量改名这种,我就切换成deepseek-v4-flash,这个更快更便宜。

切换模型有个快捷键:Ctrl+L打开模型列表,Ctrl+P可以在你常用的几个模型之间快速轮换。改思考深度按Shift+Tab

除了DeepSeek,我也用Kimi K2.7 Code。有时候DeepSeek调得太频繁被限流,或者我想让另一个模型给个第二意见,就换Kimi。



我的模型清单,按任务类型分好了

我常用的模型分四种。DeepSeek v4 Pro是小项目的默认模型,质量和价格平衡得最好。DeepSeek v4 Flash用来干轻量重复活,比如爬数据、批量操作文件,又快又便宜。Kimi K2.6和K2.7 Code用来要第二意见或者DeepSeek被限流的时候。Cursor通过pi-cursor-sdk插件调用,让我能用Cursor的订阅在Pi里干活,不额外花钱。偶尔也会用OpenAI Codex的GPT-5.5模型,当任务需要大推理模型的时候。

切换就是一秒的事,Ctrl+L开选单,Ctrl+P直接切。



我把Pi的底部状态栏改成了自己喜欢的样子

Pi打开之后界面很干净。中间是对话记录,底部是你打字的地方。底部状态栏默认显示一堆信息:当前文件夹、git分支、用的哪个模型、思考等级、上下文用了多少。我觉得默认显示的太多了,看着乱。

于是我自己动手改。我跟Pi说:帮我写一个插件,底部只显示当前文件夹名、git分支名(如果有改动就加个星号)、模型名、思考等级、当前有没有在跑任务(后面会说到pi-codex-goal这个插件)、再加一个紧凑的进度条显示上下文用了多少。

Pi直接帮我生成了TypeScript代码。我把代码保存到~/.pi/agent/extensions/minimal-footer.ts,重启Pi,它就自动加载了。这个改动很小,但每天用的时候看着舒服多了。而且在这个过程中我也大致搞懂了Pi的插件是怎么写的。



我装了五个插件,每一个都有用

Pi的插件通过pi install命令装,都是npm包或者git仓库。我试了好几个,最后留下来常用的就五个。



第一个插件:pi-web-access,让Pi能上网搜东西

默认情况下Pi只能看你本地的代码。装了这个插件之后,它能上网搜索、抓取网页内容、提取YouTube视频的文字稿、甚至探索GitHub仓库。

装法:

bash
pi install npm:pi-web-access

它默认用Exa搜索,不需要API密钥就能用。如果你想用Perplexity或者Gemini,也可以配自己的密钥。我创建了一个配置文件~/.pi/web-search.json,内容是这样的:

json
{
  "provider": "exa",
  "allowBrowserCookies": false,
  "summaryModel": "deepseek/deepseek-v4-flash",
  "workflow": "none",
  "curatorTimeoutSeconds": 20
}

有了这个插件,Pi可以在终端里直接搜文档、查资料、甚至理解YouTube视频内容。不用切到浏览器。



第二个插件:pi-codex-goal,用来跟踪长时间的复杂任务

这个插件是Mitch Fultz写的。它给Pi增加了三个新工具:get_goalcreate_goalupdate_goal。你可以创建一个任务目标,然后Pi会记住要做什么、做到哪一步了。

装法:

bash
pi install npm:pi-codex-goal

我每次做大任务的时候都会用它。比如前面说的扒28万条链接那个活,我先创建了一个目标:“从xxx网站爬取所有URL”,然后Pi全程对照这个目标执行。即使会话时间很长,它也不会跑偏。这个插件帮了大忙,否则我得每次重新说一遍任务背景。



第三个插件:pi-vision-proxy,让不能看图模型的学会看图

DeepSeek本身是不能识别图片的。你给它一张截图,它看不懂。但pi-vision-proxy这个插件解决了这个问题。它的原理是:你贴一张图片给Pi,这个插件把图片转发给另外一个能看图的模型(比如Kimi),那个模型看完之后把描述文字返回,然后再交给DeepSeek继续处理。

装法:

bash
pi install npm:pi-vision-proxy

我把Kimi K2.6配成了看图模型。现在每次我丢一张截图或者设计稿进去,Pi会自动走这个流程。背后它还会做一些优化:多张图片会打包一起发,重复的截图会用感知哈希缓存,避免反复分析同一张图。偶尔我会用它来确认前端页面样式对不对,够用了。



第四个插件:pi-agent-browser-native,在终端里开个真浏览器

这个插件给Pi装了一个真正的浏览器。它能在后台打开网页、截图、点链接、填表单、跑检查脚本、提取内容。

装法:

bash
pi install npm:pi-agent-browser-native

我把它和pi-web-access搭配用。web access负责搜信息,浏览器插件负责跟活页面交互。有些网站必须跑JavaScript才能看到内容,这时候就需要真浏览器。它还加了一个agent_browser_web_search工具,比打开完整浏览器页面更快。



第五个插件:pi-cursor-sdk,把你已有的Cursor订阅用起来

如果你已经付了Cursor的钱,这个插件让你在Pi里直接调用Cursor的模型,不用再单独买API。

装法:

bash
pi install npm:pi-cursor-sdk

装完之后,cursor/auto会出现在Pi的模型选单里,用起来和其他模型一模一样。这个插件也是Mitch Fultz写的。现在我的组合是:Cursor的模型用订阅,DeepSeek做重活便宜,Kimi做备用,不额外多花钱。



用AGENTS.md和APPEND_SYSTEM.md给Pi定规矩

Pi有两种方式让你给它下指令。一种是AGENTS.md,放在项目里,告诉它这个项目的技术栈和约定。另一种是APPEND_SYSTEM.md,放在全局配置里,告诉它任何时候都得遵守的规矩。

我的全局AGENTS.md放在~/.pi/agent/AGENTS.md,内容很简单:


# Global Pi Instructions

- Projects commonly use Laravel (PHP/Inertia/React), Next.js
  (TypeScript/Tailwind), or Astro. Check the project-root AGENTS.md for
  stack-specific rules – if none exists, ask.

最后一句话“如果没有就问我”很重要。如果我在一个纯HTML/CSS/JS的文件夹里工作,它不会强行按框架套路来,而是先问我。

至于APPEND_SYSTEM.md,它放在~/.pi/agent/APPEND_SYSTEM.md,这里的规则权重比AGENTS.md高。我写的是:


- If the default provider doesn't have vision capabilities, use
  pi-vision-proxy for images.
- Read relevant local files first when the answer is available in the
  codebase. If not, research online via pi-web-access. Before making a
  big change based on online research findings, confirm with me first.
- Explain risky file edits and destructive commands before executing.
- Write simply. Avoid AI-slop language – no flowery adjectives,
  unnecessary adverbs, or overly formal phrasing.
- Use en dashes (–) not em dashes (—).

第二条我故意写得很明确。以前我只写“别搜你已经知道的东西”,它有时理解不到位。现在写清楚:先读本地文件,本地没有才上网搜,搜到的东西要改大文件之前先跟我确认。这个改动之后,它的行为稳多了。



常用快捷键和命令,我用得最多的就这几个

快捷键方面,Ctrl+L打开模型选单,Ctrl+P轮换常用模型,Shift+Tab改思考等级,按两下Ctrl+C退出Pi,Escape取消当前动作。

EnterAlt+Enter的区别我适应了好一阵。如果Pi正在跑任务,你发现它方向错了,按Enter发消息,它会停下手头的事听你指挥。如果你只是想补充一个信息,不打断它,按Alt+Enter,它会等手头活干完了再处理这条消息。

命令在输入框里打/开头。/model换模型,/settings改思考等级和主题,/resume恢复之前的会话,/new开新会话,/tree看整个会话历史树可以跳回任意节点,/compact压缩老消息腾出上下文空间,/session看当前会话用了多少token花了多少钱。

/tree特别好用。你的整个对话历史会显示成树形结构,你可以看到在哪里分过支,然后跳回任何一个分支继续。这个功能是看了别人分享的一个Pi会话之后我才发现的。



用了一段时间之后,我总结了几条经验

长会话会把上下文窗口填满。Pi自带自动压缩,快满的时候它会自动总结旧消息。你也可以手动压缩,用/compact。另外pi --continue这个命令直接打开同一个文件夹里上次的聊天,省得重新加载。

转向系统(steering)是我很喜欢的另一个设计。Pi在执行命令或者编辑文件的时候,你可以直接打字然后按Enter,这条消息会排队,等当前这个工具执行完立刻生效。这正好用来纠正它跑偏的方向。

你也可以用Option+Enter(Mac)让消息等所有输出完全生成完再处理。



我喜欢Pi的五个理由

第一,简单快。终端的界面,没有Electron那种卡顿感。第二,想怎么改就怎么改。我连底部状态栏都自己重写了,插件挑自己需要的装,不要的通通不装。第三,什么模型都能用。DeepSeek、Kimi、OpenRouter上的几百个模型、xAI、Claude,走API就行。第四,会话树的设计很棒。可以在对话历史里随意跳转分支,其他工具没有这个功能。第五,开源MIT协议,没有人能决定我给你什么功能、收你多少钱。压缩功能也靠谱,不用自己操心上下文窗口。



最后总结一下我的完整配置

默认模型用的是DeepSeek v4 Pro,思考等级xhigh。轻量任务模型用DeepSeek v4 Flash。备用模型用Kimi K2.6和K2.7 Code。

五个插件:pi-web-access用来上网搜东西,pi-codex-goal用来跟踪长任务,pi-vision-proxy用来看图,pi-agent-browser-native做终端里的浏览器,pi-cursor-sdk用Cursor的订阅。

两个配置文件:AGENTS.md放项目上下文,APPEND_SYSTEM.md放全局行为规则。还有一个自己写的精简版底部状态栏插件。

我试过更多插件,但最后只留下了这些。越简单越好。

如果你习惯用终端,也想要一个轻量、能自己组装的编程助手,去试试Pi。先装最基础的,用到什么功能再加什么插件。我用了两个多星期,这套配置已经很稳定了。