pi · 小白入门教程
v0.83.0 · 2026-08
A minimal terminal coding harness

Pi 小白入门教程

Pi 是一个住在终端里的 AI 编程助手:它读你的文件、改你的代码、帮你跑命令,像有个程序员坐在你电脑前面。这份教程带你从零开始,并讲清楚它在 Windows 和 Linux 下用起来有什么不一样。

版本 0.83.0 平台 Win / Linux / macOS 协议 MIT 扩展 Skills · Plugins · Themes

$ 不需要会写代码——只需要会打开终端、能复制粘贴。

01

什么是 Pi

一句话:Pi 是一个运行在终端里的 AI 智能体——你在终端里启动它,直接跟它说人话,它就能帮你读写文件、执行命令、完成实际任务。

它和普通聊天机器人有什么区别?

聊天机器人只负责「说」。Pi 会「做」——它默认拥有四个基础能力:

它拿到你的任务后,会自己决定「先读什么、再改什么、最后跑什么验证」,像真人程序员一样一步步干完。

核心设计理念

Pi 刻意做得很小、很克制,把选择权交给你:

为什么叫「终端里的」? 你看到的界面是一个命令行窗口:上面是对话流,下面是输入框。它不是网页应用,不占浏览器,内存占用小,可以塞进 tmux、SSH 远程会话,也可以被脚本调用。
02

安装与启动

第 1 步:安装(Windows 和 Linux 通用)

Pi 用 npm 分发,前提是电脑上有 Node.js(推荐 18+)。确认后执行:

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

没有 Node.js 的话,Linux/macOS 也可以用官方安装脚本:

$ curl -fsSL https://pi.dev/install.sh | sh
⚠ Windows 用户注意 Pi 在 Windows 上需要一套 bash 环境才能工作。最常见的选择是安装 Git for Windows(自带 Git Bash),或使用 Cygwin / MSYS2 / WSL。装好之后 Pi 会自动找到它。详细见第 06 章。

第 2 步:配置模型

Pi 支持订阅(Claude、ChatGPT、Copilot)和 API Key 两种方式,几十家供应商可选。最简单的方式是启动后输入 /login 交互式登录:

$ pi
/> /login    # 选择供应商 → 授权或填 Key

也可以直接设置环境变量(以 Anthropic 为例):

$ export ANTHROPIC_API_KEY=sk-...
$ pi

第 3 步:第一次对话

启动后直接说人话就行。试试这些:

/> 帮我看看当前文件夹里有什么
/> 把这份笔记整理成 markdown 文件
/> 写一个脚本,批量重命名这些图片

第一次进入某个文件夹,Pi 可能询问是否信任该项目——选择信任后,它才能读取项目内的配置和扩展。

03

基本用法

输入框里的小技巧

最常用的快捷键

按键作用
Ctrl+C清空输入框;连按两次退出 Pi
Esc中断当前回复;连按两次打开会话树 /tree
Ctrl+L打开模型选择器(等同 /model
Ctrl+P / Shift+Ctrl+P在常用模型间前后切换
Shift+Tab循环切换思考强度(回答越难的问题,级别越高)
Ctrl+O折叠/展开工具输出
Ctrl+T折叠/展开思考过程
Enter排队一条「引导消息」,当前回合工具执行完就送达
Alt+Enter排队一条「后续消息」,等整个任务完成才送达

常用命令(输入 / 触发)

命令作用
/model切换模型
/resume从历史会话里挑一个继续
/new开启新会话
/compact手动压缩上下文(会话太长时用)
/tree查看会话树,回到任意历史节点
/settings打开设置面板
/hotkeys查看全部快捷键
/quit退出

非交互用法(脚本友好)

$ pi -p "总结一下这个代码库"          # 打印结果后退出
$ cat README.md | pi -p "摘要这段文字"   # 管道输入
$ pi @文件.ts "帮我审查这个文件"          # 携带文件启动
$ pi --mode json "..."                 # 输出 JSON 事件流
$ pi --mode rpc                        # RPC 模式,对接外部程序
04

会话管理

Pi 的每一次对话都自动保存为会话文件(JSONL 格式),存放在 ~/.pi/agent/sessions/,按工作目录分门别类。这意味着:

随时回来继续

分支:一条对话,多线剧情

Pi 的会话是树状结构。你可以在 /tree 里跳到任意一个历史节点,从那里「另起炉灶」,原来的路径原样保留,互不覆盖——适合「这个方案先试 A 路,再回退试 B 路」的场景。

上下文压缩

模型有上下文窗口限制。Pi 默认开启自动压缩:上下文快满时,它会把较早的消息总结掉,保住最近的内容。你也可以手动 /compact,甚至带上自定义指令告诉它怎么总结。完整历史始终保留在会话文件里,随时 /tree 回去看。

导出与分享

/> /export 会话.html   # 导出为 HTML 或 JSONL
/> /share              # 作为私有 GitHub Gist 生成分享链接
⚠ 隐私提醒 会话文件里可能包含你的文件内容。分享、导出、或把会话数据上传到公开平台前,先检查有没有敏感信息。
05

让它更懂你

Pi 最核心的哲学是「让它适应你的工作流,而不是你去适应它」。四种官方扩展方式:

① 技能 Skills(最常用)

按需加载的能力包,遵循通用的 Agent Skills 标准。每个技能就是一个文件夹,里面有一份 SKILL.md 说明触发条件和使用步骤。放在 ~/.pi/agent/skills/(全局)或项目的 .pi/skills/(仅该项目)。写任务时模型会自动调用,也可以手动 /skill:技能名

例如:装一个「公文排版」技能后,你丢一段纯文字给它,它就能自动生成符合国标的 .docx 文件。

② 提示词模板 Prompts

把常用指令存成 Markdown 文件放在 ~/.pi/agent/prompts/,输入 /模板名 一键展开。支持 {{变量}} 占位符。

③ 主题 Themes 与设置

主题放 ~/.pi/agent/themes/,改完立即热生效。全局设置在 ~/.pi/agent/settings.json,项目级在 .pi/settings.json,后者覆盖前者。

④ 扩展 Extensions 与 Pi 包

TypeScript 编写的扩展可以注册自定义工具、命令、快捷键、事件处理甚至整个界面组件——子代理、计划模式、权限确认、自动 git 提交……官方刻意不做的东西,全靠扩展补。扩展可以打包成 Pi 包通过 npm 或 Git 分发:

$ pi install npm:@某用户/某包      # 装包
$ pi install git:github.com/用户/仓库
$ pi list                            # 查看已装
$ pi update --all                    # 全部更新
⚠ 安全提醒 扩展和技能拥有完整系统权限,等同于运行任意代码。安装第三方包前先看源码、只装可信来源。

语境文件 AGENTS.md

Pi 启动时会自动读取 AGENTS.md(或 CLAUDE.md):全局的 ~/.pi/agent/AGENTS.md 加上从当前目录向上逐级找到的所有 AGENTS.md。这里写项目约定、常用命令、注意事项,模型每轮都会看到。

06

Windows vs Linux:表现对比

先说结论:Pi 的内核和功能在两大平台上完全一致,差别全在「环境」。Linux 是它的原生主场,开箱即用;Windows 需要先备好一套 bash 环境,装好后体验基本无差。

安装与运行环境
Windows

前置要求

  • 需要 bash 环境:Git Bash(推荐)/ Cygwin / MSYS2 / WSL
  • Node.js 18+(npm 安装)
  • 可在 ~/.pi/agent/settings.json 指定 shellPath 自定义 bash 路径

典型坑

  • Windows Terminal 默认把 Alt+Enter 绑成全屏,会抢走 Pi 的「排队后续消息」快捷键,需要改键位(见下文)
  • Shift+Enter 在部分终端下无法识别,需按文档配置转发
  • 路径是反斜杠 C:\xxx,在命令和配置文件里注意转义

默认外部编辑器

  • 记事本(Notepad)
🐧 Linux

前置要求

  • 原生 bash,零额外安装
  • Node.js 18+(npm 安装)或官方 install.sh 脚本
  • Kitty / WezTerm / Ghostty / Alacritty 等现代终端基本开箱即用

典型坑

  • xfce4-terminal、terminator 等老终端无法区分 Shift+Enter / Ctrl+Enter,部分自定义快捷键会失灵,建议换现代终端
  • 部分发行版需手动装 Node.js(如 apt install nodejs)
  • 远程 SSH 会话里建议配 tmux,避免断线丢会话

默认外部编辑器

  • nano(可用 $EDITOR 覆盖为 vim 等)
逐项对比
维度WindowsLinux
上手难度中 —— 先装 Git Bash,再装 Node低 —— 装 Node 即可直接跑
安装方式npm 全局安装npm 全局安装 或 install.sh 脚本
bash 环境需要 Git Bash / Cygwin / MSYS2 / WSL系统自带,原生
终端体验Windows Terminal 配置好键位后良好现代终端(Kitty 等)开箱即用
Shift+Enter 多行Windows Terminal 需手动加转发配置Kitty 协议终端默认可用
Alt+Enter 快捷键与全屏冲突,需改键位默认可用
外部编辑器Notepadnano(可自定义)
路径写法C:\Users\xxx(反斜杠)/home/xxx(正斜杠)
WSL 支持可在 WSL 内运行,体验接近 Linux
中文输入法IME 候选框位置可能需要硬件光标(WSL 下尤其)fcitx/ibus 一般正常
命令/工具兼容性部分 Linux 命令需 Git Bash 内置版本完整 POSIX 工具链
Windows 专属:三分钟配置
# 1. 装 Git for Windows(自带 Git Bash)
#    https://git-scm.com/download/win
# 2. 装 Node.js(官网 LTS 版即可)
# 3. 打开 Windows Terminal 设置 (Ctrl+Shift+,) 的 settings.json,
#    加入以下两条,把 Shift+Enter / Alt+Enter 转发给 Pi:
{
  "actions": [
    { "command": { "action": "sendInput", "input": "\u001b[13;2u" }, "keys": "shift+enter" },
    { "command": { "action": "sendInput", "input": "\u001b[13;3u" }, "keys": "alt+enter" }
  ]
}
# 改完完全关闭并重开 Windows Terminal,再启动 pi
Linux 专属:推荐终端
# 支持 Kitty 键盘协议的终端,Shift+Enter 等快捷键零配置可用:
$ sudo apt install kitty      # 或 wezterm / ghostty / alacritty
$ tmux new -s pi            # 远程会话建议挂 tmux,断线不丢
怎么选? 日常 Windows 办公完全够用,按上面三步配好就行;如果你手头有 WSL,在 WSL 里跑 Pi 能拿到接近 Linux 的顺滑体验;而 Linux 桌面用户什么都不用做,装完即用。另外,Windows 上也支持 PI_HARDWARE_CURSOR=1 解决中文输入法候选框不跟随光标的问题。
07

常见问题

我完全不会编程,能用 Pi 吗?

能。你会「打开终端、输入一句话」就够了。它帮你写代码、改文件、跑命令,你负责看结果和把关。它默认给出的工具就是读、写、改、跑这几件事。

Pi 有网页搜索功能吗?

没有内置的「网页搜索」工具。但它有 bash 工具,可以 curl 访问网页和 API;也可以用 Playwright 之类的技能做浏览器自动化,实现搜索、抓取、截图。需要「联网查资料」是能做到的,只是比浏览器插件多一步。

怎么让它一直记住我的项目约定?

把约定写进项目根目录的 AGENTS.md,Pi 每次启动都会自动加载。全局习惯写 ~/.pi/agent/AGENTS.md

会话太长变慢了怎么办?

Pi 会自动压缩旧上下文;也可以手动 /compact。历史完整保存在会话文件里,需要时可 /tree 回溯。

Windows 上 Alt+Enter 变成了全屏怎么办?

Windows Terminal 默认把 Alt+Enter 绑成全屏。按第 06 章的配置在 settings.json 里把它改成 sendInput \u001b[13;3u 即可,改完完全关闭再重开终端。

Pi 和 Claude Code / Cursor 有什么区别?

Pi 刻意保持极简:不内置子代理、计划模式、权限弹窗、待办列表这些功能,用「扩展 + 技能 + 包」的方式让你按需自建。它更适合喜欢掌控、愿意花一点时间定制工作流的人。

在哪里看完整文档?

官方文档随包安装:~/.npm-global/lib/node_modules/@earendil-works/pi-coding-agent/docs/(按你的 npm 全局路径调整)。也可以在交互界面输入 /hotkeys 看快捷键、/changelog 看版本历史。