Pi | 个人认为最舒适的Agent--Percho

我本来没打算换工具。

OpenCode 颜值在线,平时也挺稳定。问题是它用久了就可以感受到优化很差,多会话很卡。既然如此,不如趁机换一个。

我最后选了 Pi。我看重它的精简,尤其是节约成本和高自由度。但 Pi 有个问题:默认 TUI,太难看了,并且有使用门槛。

然后我偶然刷到了 Percho 的介绍视频Bilibili 视频:BV1yWaW6dELS。

官网:percho.org
项目地址:github.com/Jaxton07/percho

点开之前,我以为又是一个给 Agent 套壳的桌面界面;看完之后只想说:这不就是我想要的吗?简洁、好看,也没有为了显得“功能丰富”把功能塞满。于是我决定试试 Percho。

为什么是 Pi,不是 OMP?

我比较过 Pi、DSH、Codex CLI 和 OpenCode。这个表格不是跑分,也不是说谁绝对更强,只是我当时做选择时在意的几个方面:

我在意什么PiDSHCodex CLIOpenCode
优化非常好,并且支持并行调用工具取决于插件一般般一般般
缓存内置工具精简,前缀稳定,命中率高取决于插件更多依赖服务端缓存策略前缀稳定,命中率高
第三方模型均支持均支持和 OpenAI 生态结合较紧,其他模型也可用均支持
成本最便宜取决于插件中等比较便宜
给我的感觉简单、轻量灵活,但还比较新稳定、闭源成熟,生态也广

那为什么不选 OMP(oh-my-pi)?我选 Pi,恰恰是因为它足够精简;OMP太臃肿了,就和我想要的方向不太一样了。

所以我的组合很简单:Pi 负责 Agent,Percho 负责让它好看舒适。

安装 Percho

WARNING加速站与 Percho 项目、本站均无关联,只是作者平时会用这个站下载 GitHub 资源。介意的话,可以直接去 Percho 的 GitHub Releases 页面下载。

下面的安装包均是国内 GitHub 加速链接:

安装插件

我不太喜欢一上来就装一长串插件。插件当然能加能力,但每多一个,也可能多一份占上下文的提示词、配置和维护成本。

在 Percho 里安装插件不复杂:

1. 打开 Percho,点击左下角的设置入口。

    2. 在菜单中打开“拓展”。

    WARNING如果卡在此步骤可以尝试开启代理。

    3. 搜索插件名称,点击安装即可。

      我目前推荐这几个:

      插件我拿它做什么
      pi-browserwire自己开发的,类似Codex。用于调试网页,能操作页面,也支持批注。
      pi-web-access联网搜索和抓网页。遇到 JavaScript 渲染的页面时,比只抓静态 HTML 管用。
      @hheei/pi-ext-addon一些小而实用的增强功能,以及稳定性相关的补丁。
      @juicesharp/rpiv-ask-user-question让 Agent 能向我提出选择题。
      pi-rtk-optimizer压缩 Bash 命令输出,也能拦截部分非 RTK 命令并自动重写,节约上下文。
      @herbertgao/sol-pi用来无损降低上下文和节省成本。

      有人可能会问:Todo、长上下文管理之类的热门插件呢?

      我的想法比较朴素:热门不等于一定很好用。像 billion-context-pi 这类插件,我会先权衡它带来的能力,和额外的延迟、内存占用、启动时间及上下文开销。

      同时,精简不是为了少装几个东西而少装,而是尽量不给模型塞进和当前任务无关的上下文和限制。等某个任务真的缺少能力,再通过插件、MCP 或 CLI 补上。

      配置模型

      在 Percho 的设置里找到模型选项,选择已有模型,或者在页面底部添加自定义提供商,填入自己的 API 配置。

      我一般会把上下文设在 200K 左右、最大输出设为 32K。这样模型既可以正常工作,也可以节约成本。

      插件有哪些配置项?

      装好插件之后,还可以再做一点配置。

      pi-ext-addon

      选项做什么我的设置
      dollar-skill输入 $技能名 时补全技能,并展开为 skill 文件路径开启
      auto-title自动生成会话标题,也可以用 /auto-title 手动触发开启
      batch-tool-rules提示 Agent 尽量批量、并行调用工具保持默认开启
      codemode-guardGemini 连续多轮只调用单个工具时提醒它尝试并行保持默认开启
      session-recovery-guard遇到 GPT 系特定 409 错误时尝试恢复会话并重试保持默认开启

      sol-pi

      机制做什么我的设置
      Action Fusionedit/write 后顺带运行验证命令开启
      ObservationPack长输出按需分页读取开启
      Evidence-Preserving Reducer压缩日志并保留精确引用开启
      Online Context Compact步骤完成后标记上下文压缩点关闭
      WARNING如果开启 Online Context Compact 后,每次任务结束时稍微等压缩处理完成,所以我没开启。

      修改插件配置

      上面的配置项可以按需开启。

      以下是我个人推荐的配置,把这段提示词发给AI,然后就直接配置好了:

      任务:只改用户级配置,不碰项目级 .pi/(若存在先报告再动)。
      
      【定位配置目录】
      agent 目录 = $PI_CODING_AGENT_DIR(若已设置),否则 ~/.pi/agent。
      三平台路径相同,勿写绝对路径、勿用反斜杠、勿假设 %APPDATA%。
      Windows 下 homedir 为 %USERPROFILE%,仍解析为 ~/.pi/agent。
      
      文件映射,勿合并:
      settings.json                             packages + defaultTools
      ext_settings.json                         @hheei/pi-ext-addon
      sol-pi.json                               @herbertgao/sol-pi
      extensions/pi-rtk-optimizer/config.json   pi-rtk-optimizer
      
      【写入规则】
      一律先读后合并(merge),保留文件里已有的键;禁止整文件覆盖。
      目标文件不存在则新建,父目录不存在则先创建。
      只写下面列出的键,其余键原样保留。
      
      1. codemode
         settings.json → defaultTools 含 "+codemode";已有则跳过。
         勿改动 bash/powershell/shellPath 等平台相关键。
      
      2. rtk
         config.json → "showRewriteNotifications": false
         插件保留,勿卸载。
      
      3. pi-ext-addon
         packages 新增 "npm:@hheei/pi-ext-addon"(已存在则跳过,勿重复)。
         ext_settings.json →
         {"dollar-skill":{"enabled":true,"maxSuggestions":50},
          "auto-title":{"autoTitle":true,"autoTitleModel":""}}
         autoTitleModel 必须留空,勿猜 provider/model。
         codemode-guard / session-recovery-guard 无配置开关,且仅 Gemini/GPT 生效,
         见到就跳过并说明原因。
      
      4. sol-pi
         sol-pi.json →
         {"version":1,"actionFusion":true,"observationPack":true,
          "evidencePreservingReducer":true,"onlineContextCompact":false}
         其余机制缺省即关,勿显式写。
      
      【交付】
      说明修改的文件与内容、跳过项及原因,并提醒重启 Percho 生效。

      配置完成后,记得重启 Percho。


      用下来还是很舒适的,至少 Agent 完成任务的速度提升了,Pi 还是那个轻量的 Pi,Percho 又把日常使用体验补上了。