my-pi
个人维护的 Pi 扩展组合包。安装一次即可加载并配置:
@ff-labs/pi-fff@0.10.5:使用官方override模式接管find、grep和multi_grep。- 本仓库维护的
pi-rtk-optimizer:只处理 Bash/read 等输出压缩,默认不改写命令,也不处理搜索工具结果。 context-mode@1.0.169:通过 Pi adapter 提供ctx_*工具、上下文隔离和会话连续性。pi-mcp-adapter@2.26.0:只用于把机器现有的 CodeGraph MCP Server 接入为codegraph_explore。pi-context-view@0.4.2:查看上下文占用。@firstpick/pi-extension-codex-fast-mode@0.1.1:为 Codex provider 提供会话级/fast-mode。@gotgenes/pi-permission-system@26.2.1:加载组合包自带的权限基线。
安装
仓库推送后,通过 Git 源安装整个组合包:
pi install git:git@bitbucket.org:siakitem/my-pi.git
根 package.json 使用精确版本,package-lock.json 固定完整依赖树。不要再用项目级
.pi/settings.json 重复安装这些扩展,否则同一扩展可能被加载两次。
默认配置不需要系统 rtk CLI。只有以后在 /rtk 中主动开启
RTK command rewriting 时,才需要另外安装 rtk 可执行文件。
CodeGraph 本体不由组合包安装。需要使用 CodeGraph 的机器应自行确保 codegraph 在
启动 Pi 的 PATH 中,并在目标项目执行过 codegraph init。组合包不会创建或维护
.codegraph/,也不会修改 CodeGraph 的索引、更新或遥测设置。
组合行为
搜索归 FFF
extensions/fff-override.ts 强制设置 FFF 官方的 PI_FFF_MODE=override(显式传入
--fff-mode 仍按 FFF 官方优先级覆盖它)。FFF 替换
Pi 的 find 和 grep,并提供 multi_grep;RTK 对所有 grep 工具结果直接跳过,
也默认关闭 Bash 命令改写,因此不会把 rg、grep、find 或 fd 改写到 RTK。
输出压缩归 RTK
RTK 保留 Bash、read、build、test、lint 和 Git 输出压缩。默认 read 的有损压缩
仍关闭;可用 /rtk 查看或调整。旧机器已有的 RTK 配置若没有
commandRewritingEnabled 字段,也会按 false 归一化,不需要迁移配置。
大输出归 Context Mode
Context Mode 直接加载 npm 包内置的 Pi adapter 和 skills,不需要额外写入
~/.pi/agent/mcp.json,也不需要全局安装 context-mode 命令。它提供 ctx_* 工具,
将批量读取、命令研究和网页内容先在隔离进程中处理,再把收敛后的结果送入上下文。
FFF 仍负责精确字面搜索;RTK 继续压缩未走 Context Mode 的 Bash、build、test、lint 和 Git 输出。Context Mode 不替换这两个扩展的现有配置。
CodeGraph 只负责连接
extensions/codegraph.ts 使用隔离的 pi-mcp-adapter 配置启动
codegraph serve --mcp,不会读取或覆盖用户已有的 MCP 配置。连接采用
keep-alive,并只把官方当前主工具 codegraph_explore 作为同名 Pi 工具暴露;
CodeGraph 的文件 watcher 由该 MCP 进程自身维护。
若机器没有 codegraph,或当前项目尚未建立索引,CodeGraph 会报告连接/初始化错误,
其他扩展仍可正常工作。安装与索引状态可在机器上自行检查:
codegraph --version
codegraph status
权限基线自动部署
extensions/permission-system.ts 在权限扩展注册前,把仓库中的
config/pi-permission-system.json 同步到 Pi agent 目录。仓库文件是权威配置;直接在
运行目录通过 UI 修改的策略会在下次加载组合包时被覆盖,长期调整应提交到本仓库。
当前策略按类别划分:
- 默认工具:默认允许,避免常规编码操作反复确认;FFF 的
grep、find、multi_grep明确允许。 - 搜索边界:直接通过 Bash 调用
rg、grep、find、fd、git grep拒绝,统一走 FFF。 - 路径与凭据:外部目录询问;环境文件、SSH/GPG、云凭据、Keychain 和 Pi 认证文件拒绝;
.env.example作为无密钥模板允许。 - Git:状态、diff、日志、对象查看等只读命令允许;其他 Git 命令询问。
- 系统与破坏性操作:删除、移动、权限修改、提权、进程控制、磁盘和系统服务操作询问。
- 网络与安装:SSH、文件传输、下载和包安装/卸载询问。
- MCP 与 Skill:列举 MCP 状态允许,调用其他 MCP 工具询问;本地 Skill 加载允许。
permissionReviewLog 已开启,后续可依据真实命中记录继续收敛规则。
Codex fast mode
该扩展只在 openai-codex provider 的 Responses 请求上加入
service_tier: "priority"。使用 /fast-mode on|off|status 控制当前会话,不影响
其他 provider。