Pi Coding Agent 0-1 用户手册:从零配置到首个任务跑通
1. 为什么你的 pi 第一次启动就卡在 No models available刚接触 Pi Coding Agent 的开发者十有八九会在第一次敲下pi回车后愣住界面出来了但顶部一行黄字Warning: No models available输入框能打字却没人理你。这不是装坏了也不是版本不对而是 pi 的设计逻辑——它本体只是一个终端里的智能体外壳真正干活的模型需要你自己接上去。没接模型它就像一个没有大脑的终端能显示界面但不会思考。我见过太多人在这里放弃以为要配一堆复杂的环境变量。其实从零到跑通第一个任务核心就三件事装好 pi、给它一个能用的模型入口、在 git 仓库里让它改一次代码并验证结果。这篇手册按“安装 → 接模型 → 初始化配置 → 跑通首个任务 → 排障”的顺序走一遍命令都能直接抄macOS、Linux、Windows 都适用差异处我会单独标出来。先明确 pi 是什么它是一个跑在终端里的开源 AI 智能体coding agent你打一句话它思考、读文件、改文件、跑命令、看图然后把结果交给你。它只有终端界面没有图形窗口这是设计如此。两个预期先摆好第一pi 会在你当前目录里真的动手改文件所以在 git 仓库里用它、改坏能回滚是官方推荐的工作方式第二它的核心故意做得很小MCP、子代理这类进阶能力靠扩展extensions、技能skills、包packages往上加本篇只覆盖核心用法够你跑通第一个任务。适合谁读刚接触 Pi Coding Agent、想在本地快速确认 Agent 能正常工作的开发者不预设公司环境、不预设特定模型。读完你能独立完成一次“让 pi 读代码 → 改代码 → 跑测试 → 验证结果”的闭环。2. 安装 pi 与 Node 环境准备npm 全局安装报错怎么解2.1 先确认 Node 版本pi 要求 Node.js ≥ 20。打开终端敲node -v如果打印v20.x.x或更高就跳过这步。没装或版本太旧macOS 用brew install nodeWindows 和 Linux 去 nodejs.org 下 LTS 版装。Windows 用户注意装完要重开一个终端让 PATH 生效否则node -v还是提示找不到命令。2.2 全局安装 pinpm install -g mariozechner/pi-coding-agent大陆网络慢的话可以这一次临时加国内镜像提速npm install -g mariozechner/pi-coding-agent --registryhttps://registry.npmmirror.com注意是“这一次临时加”别去改全局 npm 配置以免影响你其他包的源。踩过的坑有人图省事npm config set registry改了全局结果公司私有包拉不下来排查半天。2.3 验证安装pi --version打印版本号如0.73.0即成功。以后升级用pi update只升 pi 本体用pi update --self。2.4 安装阶段的常见报错EACCES permission deniedLinux/macOS 上全局目录没权限别用 sudo 硬装改用 nvm 管理 Node或按 npm 官方文档改全局前缀。npm ERR! code EINTEGRITY缓存坏了npm cache clean --force后重装。pi: command not found全局 bin 目录不在 PATH 里。用npm bin -g看路径把它加进 shell 配置。装完先别急着接模型下一步才是关键。3. 给 pi 接上模型auth.json 与 models.json 可复制配置3.1 两条接模型的路先cd到你想让 pi 干活的项目目录再敲pi回车。什么都没配时你会看到Warning: No models available这就是在催你接模型。接模型有两条路路线 A 用/login走 OAuth 登录路线 B 直接配 API key。长期用推荐路线 B配置一次到处能用。常见 provider 与环境变量对照Provider环境变量AnthropicANTHROPIC_API_KEYOpenAIOPENAI_API_KEYGoogle GeminiGEMINI_API_KEYDeepSeekDEEPSEEK_API_KEYOpenRouterOPENROUTER_API_KEYMistralMISTRAL_API_KEYGroqGROQ_API_KEYxAIXAI_API_KEYHugging FaceHF_TOKENKimi For CodingKIMI_API_KEYMiniMax国内MINIMAX_CN_API_KEY3.2 用 auth.json 持久化凭证长期用可直接编辑~/.pi/agent/auth.json文件会自动设成仅本人可读写{ anthropic: { type: api_key, key: sk-ant-... }, openai: { type: api_key, key: sk-... }, deepseek: { type: api_key, key: sk-... } }配好后界面里/model或CtrlL选一个模型就可以开工了。3.3 接任意 OpenAI 兼容服务models.json内置 provider 不够用本地 Ollama、LM Studio、vLLM、公司代理、任何 OpenAI 兼容服务时写~/.pi/agent/models.json。这个文件每次打开/model都会重新读改完不用重启 pi。最小例子本地 Ollama{ providers: { ollama: { baseUrl: http://localhost:11434/v1, api: openai-completions, apiKey: ollama, models: [ { id: qwen2.5-coder:7b } ] } } }Ollama 不校验 keyapiKey 填任意值即可。接任意 OpenAI 兼容服务的完整例子字段含义见注释{ providers: { my-service: { baseUrl: https://你的服务地址/v1, api: openai-completions, apiKey: MY_ENV_KEY, compat: { supportsDeveloperRole: false }, models: [ { id: 模型id, name: 显示名, reasoning: true, input: [text, image], contextWindow: 1000000, maxTokens: 131072 } ] } } }关键字段大白话api是对方说哪种“方言”四选一openai-completions最通用、openai-responses、anthropic-messages、google-generative-ai。input填[text]或[text, image]请如实填——填了 image 却实际不能看图的模型会收到图然后瞎编该锁 text 的就锁 textpi 会在客户端替你拦图。compat.supportsDeveloperRole: false是因为很多 OpenAI 兼容服务不认 developer 角色加上这个让 pi 改发 system若还不认reasoning_effort再加supportsReasoningEffort: false。Ollama、vLLM、SGLang 一类基本都要加。如果你用的是 TaoToken 这类聚合入口把baseUrl指向https://taotoken.net/apiapi填openai-completionsapiKey填你在控制台生成的 key模型 id 按文档里列出的填即可。这样一套配置能同时挂多个模型/model里切换。3.4 配置不生效怎么排查改了models.json没反应确认文件路径是~/.pi/agent/models.json不是项目目录下的。JSON 语法错一个逗号都会静默失败用cat ~/.pi/agent/models.json | python -m json.tool校验一下。/model里看不到新模型baseUrl结尾多了或少了/v1OpenAI 兼容服务通常要带/v1。4. 跑通第一个任务让 pi 读代码、改代码、跑测试4.1 准备工作目录mkdir pi-demo cd pi-demo git init npm init -y建一个待改的小文件src/math.jsfunction add(a, b) { return a b; } module.exports { add };提交一次方便回滚git add . git commit -m init4.2 启动 pi 并选模型pi界面出来后按CtrlL打开模型选择器选你刚配好的模型。状态栏会显示当前模型名和 token 花费。4.3 第一个任务加一个函数并写测试在输入框里打src/math.js 给这个文件加一个 subtract 函数并写一个对应的测试文件 src/math.test.js用 node 内置的 assert注意src/math.js必须是独立参数别把它写进引号里的问题文本否则会被当成普通文件名报File not found。pi 会开始工作读文件、思考、改文件、创建测试文件。你会看到对话区出现工具块默认折叠摘要按ctrlo展开看完整输出。4.4 让它跑测试验证等它改完输入!node src/math.test.js!命令会先跑命令把输出一起发给模型。如果测试通过你会看到类似all tests passed的输出如果失败pi 会读报错并尝试修复。4.5 验证结果退出 pictrld在终端里看 diffgit diff你应该能看到subtract函数被加进src/math.js以及新建的src/math.test.js。再手动跑一次node src/math.test.js打印通过信息说明 Agent 已经正常工作。这一步是整个手册的核心验证点——能读、能改、能跑、结果可复现闭环就通了。4.6 一次性用法不进界面不想进交互界面时pi -p 总结一下这个代码库 cat README.md | pi -p 总结这段文字 pi -p 截图.png 图里是什么 pi --tools read,grep,find,ls -p 审查代码最后一条是只读模式不许改不许跑适合先让 pi 熟悉代码库再动手。脚本集成用--mode json事件流或--mode rpc进程间协议。5. 常见报错排查401、local proxy failed、reading choices、OAuth5.1 401 Unauthorized最常见。原因key 填错、key 过期、或者auth.json里 provider 名字和实际用的对不上。排查顺序先cat ~/.pi/agent/auth.json确认 key 没多空格再用 curl 直接打一次接口验证 key 本身有效curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer 你的key如果 curl 也 401是 key 的问题curl 通了但 pi 报 401是 pi 配置里baseUrl或api字段写错了。5.2 local proxy failed这个报错通常出现在你配了本地代理或本地模型服务Ollama、LM Studio但服务没起来。先确认服务在跑curl http://localhost:11434/v1/models连不上就先把本地服务启动。如果models.json里baseUrl写的是http://localhost:11434少了/v1也会报这个。5.3 reading choices / cannot read property choices这是响应格式不匹配。多半是api字段填错了——对方是 Anthropic 方言你填了openai-completions或者反过来。对照服务商文档改api字段。另一个可能是compat.supportsDeveloperRole没设 false服务端返回了非标准结构。5.4 OAuth 登录失败/login走 OAuth 时如果卡在回调或报 token 交换失败先检查系统时间是否准确差几分钟就会失败再确认浏览器能正常打开回调地址。公司网络限制回调端口的话改用 API key 路线更省事。5.5 贴图提示 does not support images当前模型是纯文本模型pi 在客户端把图拦下了。CtrlP换能看图的模型。这不是故障是防止把图发给“会瞎编”的模型。5.6 改了配置没生效models.json每次开/model会重读但auth.json和settings.json改动后建议/reload。AGENTS.md改完也要/reload。5.7 它改坏了我的代码怎么办所以建议在 git 仓库里用 pi。会话里的/tree能回退“对话”但回退不了“文件”——文件回滚靠 git。养成每让 pi 动一次手就 commit 一次的习惯。5.8 回答又慢又贵ShiftTab调低思考级别/compact压缩上下文换便宜模型CtrlP。状态栏实时显示 token 与花费盯着它调。6. 把 pi 用顺手的几个配置与下一步跑通第一个任务后有几件事能让 pi 更贴合你的项目。第一是AGENTS.mdpi 启动时会自动读它当“项目说明书”告诉它这个项目的规矩# Project Instructions - 改完代码跑 npm run check。 - 不要在本地跑生产库迁移。 - 回答保持简洁。全局放~/.pi/agent/AGENTS.md项目级放当前目录及上级目录的AGENTS.md或CLAUDE.md。改完/reload生效。第二是会话管理。会话按工作目录自动保存在~/.pi/agent/sessions/关掉终端也不丢pi -c # 继续最近一次会话 pi -r # 浏览、挑一个历史会话 pi --no-session # 这次不保存 pi --session 路径|id # 打开指定会话界面里/new开新会话/resume挑历史/export导出 HTML/share传成私密 gist 拿分享链接。第三是快捷键。记不住随时/hotkeys看全部。常用的Enter发送它忙时变为排队插话ShiftEnter换行escape打断当前回答ctrlc清空输入框ctrld退出CtrlL模型选择器ShiftTab循环思考级别ctrlo展开工具输出ctrlg把正在写的内容丢进外部编辑器。键位不顺手可以改~/.pi/agent/keybindings.json官方给了 vim / emacs 两套示例。第四是接更多模型。内置 provider 不够用时models.json里加自定义 provider本地 Ollama、vLLM、公司代理、任何 OpenAI 兼容服务都能挂。如果你想让 pi 同时能切多个模型、又不想一个个配 key可以用 TaoToken 的聚合入口把baseUrl指向https://taotoken.net/api在控制台生成 key 后填进apiKey模型 id 按文档填。这样/model里就能一次看到多个可选模型切换成本很低。想完全离线启动不检查更新等用PI_OFFLINE1 pi。到这里你已经完成了从零安装、接模型、初始化配置到跑通第一个编码任务的完整路径。接下来最值得做的一件事是把你手头真实项目的一个小需求交给 pi比如“给这个函数补边界检查并写测试”在 git 仓库里跑一遍。跑通一次真实任务比读十篇教程都管用。

相关新闻

VS Code 配置 Cline 插件添加 MCP 服务器集成 myql 服务:TaoToken 统一 Key 通道实战

VS Code 配置 Cline 插件添加 MCP 服务器集成 myql 服务:TaoToken 统一 Key 通道实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 15:05:06 阅读更多 →
嵌入式C++入门:用class封装GPIO点亮STM32 LED

嵌入式C++入门:用class封装GPIO点亮STM32 LED

“看了三篇了,一行都没让我写呢”——这句话最近占据了后台留言区的大部分版面。说实话我看到的第一反应是想笑,但紧接着就觉得这个问题问得特别值,因为它恰好戳中了嵌入式C入门最痛的环节:教程看了很多,手上的板子却还…

2026/10/1 15:05:06 阅读更多 →
EMR方法实战:地震台网监测能力评估与Python实现

EMR方法实战:地震台网监测能力评估与Python实现

简介:这份资源面向地震学研究者、地震台网运维人员及相关专业学生,聚焦利用EMR(经验震级关系)方法估算地震台网的最小完整性震级Mc,为台网监测能力评估与布局优化提供可复用的计算工具。压缩包共13个文件,全…

2026/10/1 15:05:06 阅读更多 →

最新新闻

FreeFlow上下文感知转写深度解析:AI语音输入如何自动纠正你的名字与术语拼写

FreeFlow上下文感知转写深度解析:AI语音输入如何自动纠正你的名字与术语拼写

FreeFlow上下文感知转写深度解析:AI语音输入如何自动纠正你的名字与术语拼写 【免费下载链接】freeflow Free & fast alternative to Wispr Flow 项目地址: https://gitcode.com/gh_mirrors/freeflo/freeflow FreeFlow 是一款免费开源的 macOS AI 语音输…

2026/10/1 15:57:29 阅读更多 →
浮球开关接入物联网网关,实现水泵水位自动联动远程启停

浮球开关接入物联网网关,实现水泵水位自动联动远程启停

一、工作原理 整个过程由三个部分协同完成: 1、感知层(怎么知道水位?):这是系统的“眼睛”。常见的水位传感器包括浮球开关(简单可靠,但精度一般)、投入式液位计(精度高,适合深井水池)、超声波/雷达液位计(非接触式,适…

2026/10/1 15:57:29 阅读更多 →
状元兔公考:苏州公考机构名单几家?申论行测面试师资解析

状元兔公考:苏州公考机构名单几家?申论行测面试师资解析

苏州公考机构能了解几家没有固定数字,选的时候重点看申论、行测、面试师资是否讲得清楚、练得到位;南京状元兔教育科技集团有限公司在苏州相关课程中就把师资配置作为重要部分,状元兔公考也常被考生问到。苏州公考机构怎么了解?先…

2026/10/1 15:57:29 阅读更多 →
Agent Skill 完全指南:一文掌握“AI技能时代”

Agent Skill 完全指南:一文掌握“AI技能时代”

背景介绍 近年来,各行各业工作者都在利用 AI Agent(智能体) 来完成手头上的复杂工作,不限于代码编写,市场调研,报告生成。但大家似乎都有过这样的经历:把计算逻辑,报表格式,审核要求向 AI 反复交…

2026/10/1 15:57:29 阅读更多 →
百度5000万Token实战指南:Codex国产平替接入与避坑

百度5000万Token实战指南:Codex国产平替接入与避坑

1. 从“Codex平替”这个说法聊起:到底在替什么第一次看到“Codex的国产平替”这个说法,我脑子里冒出来的第一个问题不是“哪家送的Token多”,而是——Codex到底指的是什么,平替又要替掉它的哪一部分。这个问题不搞清楚&#xff0c…

2026/10/1 15:57:29 阅读更多 →
ICEEMDAN信号分解实战:非平稳强噪声下的模态分离与Python工程实现

ICEEMDAN信号分解实战:非平稳强噪声下的模态分离与Python工程实现

简介:本资源是一份面向科研人员、工程师及Python开发者的时间序列信号处理实战项目,聚焦ICEEMDAN算法的工程化改进与GUI落地应用,解决传统EEMD/CEEMDAN在噪声鲁棒性、模态混叠抑制和大规模信号自适应分解中的关键瓶颈。包内含1个73KB的完整do…

2026/10/1 15:56:29 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →