# my-pi 个人维护的 Pi 扩展组合包。安装一次即可加载并配置: - `@ff-labs/pi-fff@0.10.5`:使用官方 `override` 模式接管 `find`、`grep` 和 `multi_grep`。 - 本仓库维护的 `pi-rtk-optimizer`:只处理 Bash/read 等输出压缩,默认不改写命令,也不处理搜索工具结果。 - `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 源安装整个组合包: ```bash 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` 可执行文件。 ## 组合行为 ### 搜索归 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` 归一化,不需要迁移配置。 ### 权限基线自动部署 `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。