乐于分享
好东西不私藏

77K Star、OpenClaw 的底层、轻到只有四个工具:这个终端 AI 助手我用了一周

77K Star、OpenClaw 的底层、轻到只有四个工具:这个终端 AI 助手我用了一周

点击蓝字 关注我们

学地理的写代码,逃不掉——批处理 NetCDF、调 GDAL 参数、改论文复现代码、跑 GEE 脚本

你们的流程是不是:遇到问题 → 打开浏览器 → ChatGPT → 复制代码 → 粘贴到终端 → 报错 → 再复制报错信息 → 再问 → 再粘贴。来回切窗口,来回复制粘贴,一个简单的数据处理脚本能折腾一上午。

新出的一个东西——Pi。直接在终端里跟它说话,它自己读你的代码、改你的文件、跑你的命令。不用切窗口。

01

OpenClaw 的底层,其实是它

先说一下 Pi 怎么被大家注意到的。

今年 GitHub 上最火的 AI 项目 OpenClaw,38.4 万 Star。很多人去翻它的源码,发现它的第三方声明里写了一句话:部分实现由 Pi(原名 pi-mono)改造而来。

顺着这条线索找过去,发现 Pi 自己也拿了 7.7 万 Star。还催生了一个 2 万 Star 的衍生项目 Oh My Pi,VS Code 里有 Pendant 插件,Emacs 有独立前端,社区还做了桌面端和移动端。

Pi 的作者 Mario Zechner,也是游戏开发框架 libGDX 的作者。他自己用 Claude Code 写代码,后来觉得功能越加越多,系统提示词和默认行为频繁变化——于是动手做了一套更小、更可控的东西。

GitHub:github.com/earendil-works/pi

02

四个工具,不到 1000 Token 的系统提示词

Pi 默认只给 AI 四个能力:

read:读文件write:创建或重写文件edit:精确改某几行bash:跑终端命令

就这四个。没有 MCP、没有子 Agent、没有计划模式、没有待办列表。作者的观点很简单——现在的模型已经非常熟悉怎么当 Coding Agent 了。给太多工具反而占上下文,留给项目代码的空间就少了。

它的系统提示词和工具描述加在一起,不到 1000 Token。

需要更复杂的功能?Pi 的答案是扩展系统。用 TypeScript 写一个扩展,注册新工具、新命令、快捷键、新的上下文压缩方式,甚至可以接管 Bash 执行。写完 /reload,当前会话直接生效。

这种设计的核心逻辑是:让工具适应你,不是你适应工具。 做地理数据处理的,可能只需要 read + bash + Python 环境就够了。做前端开发的,可能需要浏览器预览工具。每个人的核心不一样,没必要默认装一堆用不上的东西。

03

举个地理学人实际用的场景

假设你手上有 20 年的 VODCA CXKu 数据,2003 到 2021,每年 365 个 NetCDF 文件。你想把中国区域的数据提取出来,按月平均,画一张时间序列图。

以前的做法:打开 Jupyter → 写 xarray 代码 → 调试路径 → 处理内存 → 调 matplotlib 参数 → 出图。中间大概要 StackOverflow 三四次。

用 Pi 的做法:在数据目录里打开终端,启动 Pi,说一句话——

这个目录里是 2003 到 2021 年的每日 VODCA CXKu NetCDF 文件,按年份放在子文件夹里。帮我写一个 Python 脚本,提取中国区域(lat 18-55, lon 73-135)的 VOD 值,按月平均,画一张时间序列折线图。

Pi 会自己打开几个文件看结构,确认变量名是 VODCA_CXKu,确定维度是 time/lat/lon,然后写脚本、跑起来、出图。如果中间报错——比如内存不够——它会自己改代码,把逐日读取改成按月循环。

实测下来,这种"把思路说出来,它自己搞定"的体验,比来回切网页问 ChatGPT 流畅太多。

04

怎么装上

Pi 是命令行程序,Node.js 22.19+ 就能跑。准备好环境后,通过 npm 全局安装:

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

macOS 和 Linux 也可以使用官方安装脚本:

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

安装完成后,进入你希望 Pi 操作的项目目录:

cd /path/to/your-project pi

第一次启动需要配置模型。进入 Pi 后输入:

/login

它支持 Claude Pro/Max、ChatGPT Plus/Pro 和 GitHub Copilot 等订阅登录,也可以选择 API Key Provider。

如果你习惯使用环境变量,可以在启动前设置密钥:

export ANTHROPIC_API_KEY=sk-ant-....pi

进入会话后,可以先让它熟悉项目:

阅读这个项目,告诉我它的目录结构、启动方式和测试命令。

输入 /model 可以切换模型。会话会自动保存,后面使用下面的命令继续:

pi -c

需要在脚本或 CI 中运行一次性任务,可以使用:

pi -p "检查这个项目最近的改动,并列出可能的问题"

Pi 很小,但已经把 Agent 最重要的几层都准备好了。

你可以把它当成一个轻量 Coding Agent——帮你写遥感数据处理脚本、改论文复现代码、批量跑分析——也可以沿着它的 SDK 和扩展系统,继续造出你自己的地理学 AI 工具。

05

说清楚:它不是什么都能干

Pi 没有沙箱。它跑在你当前用户权限下,能读你的文件、执行你的命令、访问你的网络。处理陌生代码或者敏感数据时,建议放 Docker 或虚拟机里用。

它也不是万能的——轻量的代价是功能少。你需要什么就得自己装扩展,或者手写一个。如果你习惯了 Claude Code 那种开箱全配齐的体验,Pi 一开始会让你觉得"怎么什么都没有"。

但这也意味着你可以从一个很小的核心开始,只放进自己真正需要的东西。做地理数据处理的话,read+bash+Python——这三个就够 90% 的场景了。

06

点击下方卡片,关注 地理资料库

每天分享地理学/遥感/GIS 方向的 AI 工具、开源项目和科研效率技巧。

Pi 仓库:github.com/earendil-works/pi

你平时写遥感数据处理脚本用什么工具?Claude Code、Cursor、还是 ChatGPT?评论区聊聊。

#AI编程 #开源项目 #Python #遥感 #科研效率

点个赞吧

分享让更多人看看

点个喜欢吧