Files
my-pi/README.md
T

65 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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。