feat: add prompt routing and terminal preset

This commit is contained in:
叶林立
2026-08-18 22:59:14 +08:00
parent 35ba1d7bb8
commit 68490db454
9 changed files with 2065 additions and 9 deletions
+12 -2
View File
@@ -13,6 +13,7 @@
- `@ogulcancelik/pi-codex-compaction@0.1.3`:为 `openai-codex` 提供原生远程压缩。
- `@ogulcancelik/pi-auto-permissions@0.1.3`:按当前对话自动复核受控 Bash 操作。
- `@gotgenes/pi-permission-system@26.2.1`:负责工具、路径、MCP、硬拒绝和兜底权限基线。
- `extensions/tool-routing.ts`:保留 Pi 默认系统提示词,并按当前激活工具追加简短的工具与搜索路由规则;提供 `/dump-system-prompt` 导出当前有效提示词。
## 安装与卸载
@@ -36,8 +37,9 @@ pi install git:git@bitbucket.org:siakitem/my-pi.git
- 检查 Oh My Zsh。安装采用官方 unattended 模式,不切换默认 shell、不立即启动 Zsh,
也不覆盖现有 `.zshrc`
- 检查 Powerlevel10k;可克隆到 Oh My Zsh 的 custom themes 目录,并在没有现有
`~/.p10k.zsh` 时复制官方 Lean 预设、切换为兼容性更高的 ASCII 图标模式。脚本会把
`ZSH_THEME`预设加载语句写入 `.zshrc`,因此首次启动不会进入交互配置向导。
`~/.p10k.zsh` 时复制仓库内置的 `config/p10k.zsh`。该配置来自当前使用的 Powerlevel10k
Rainbow/ASCII 单行紧凑主题;脚本会把 `ZSH_THEME`配置加载语句写入 `.zshrc`,因此
首次启动不会进入交互配置向导。已有 `~/.p10k.zsh` 始终保留,不会被覆盖。
- 逐项检查 `git``zsh-autosuggestions``zsh-syntax-highlighting` 是否已经在
`.zshrc``plugins` 数组中启用。后两个插件缺少源码时会先克隆到 Oh My Zsh 的
custom plugins 目录;语法高亮按最后一个插件处理。
@@ -81,6 +83,14 @@ CodeGraph 本体不由组合包安装。需要使用 CodeGraph 的机器应自
## 组合行为
### 工具与搜索路由
`extensions/tool-routing.ts` 不替换 Pi 默认系统提示词,而是在每轮开始前根据当前激活工具追加简短规则:代码结构和符号关系优先使用 CodeGraph;字面搜索先用 FFF `find` 缩小文件或目录范围,再在已收敛的路径中用 `grep`/`multi_grep` 获取行号,最后才用带 `offset/limit``read` 读取精确区域。宽泛搜索命中上百或上千结果、发生截断或达到上限时,应继续缩小路径、glob 或 pattern,而不是提高 limit 或输出全部结果。
日志、测试/构建输出、大文件分析和不可预测的大输出优先交给 Context Mode;需要编辑所依赖的精确原文或短文件才直接使用 `read`。已有工具结果足够时停止检索,避免对同一问题依次重复调用 CodeGraph、FFF 和 `read`
使用 `/dump-system-prompt` 可将当前扩展所见的有效提示词写入当前项目的 `.pi-debug/effective-system-prompt.md``.pi-debug/` 属于本地诊断输出,默认不提交。
### 搜索归 FFF
`extensions/fff-override.ts` 强制设置 FFF 官方的 `PI_FFF_MODE=override`(显式传入