mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 10:45:22 +00:00
此前截断分散在多层且互相冲突:Pi bash 保留尾部 50KB,RTK 兜底截断又只留 开头 12000 字符(砍掉报错与完整输出路径),pi-chrome 截开头 30K,web_fetch 各 provider 不一致。新扩展统一负责"新结果给模型看多少": - capture.ts 最先加载暂存原文,index.ts 最后加载(system-prompt 之前) - 超过 24K 字符时原文落盘 <agentDir>/my-pi/pi-overflow/(700/600、原子写), 优先取 bash fullOutputPath 完整文件;模型看到 头 + 中段信号行 + 尾 的有界 视图,行号基于落盘原文、结尾永远可见 - overflow_query:按 id 正则搜索、行区间、jsonPath 只读查询,id 校验防穿越 - 收编:RTK truncate 默认关闭、删除 pi-chrome truncateText、web_fetch 默认 每页 20000(上限 100000)、web_search max_results 限定 1–20 - pi-compaction 遮蔽带 details.overflow.id 的结果时在占位符提示 overflow_query - 登记 tools.jsonc / routing / 权限 allow / tool-search 常驻与分组 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2.2 KiB
2.2 KiB
my-pi 维护约定(pi-rtk-optimizer)
- 扩展入口是
pi-rtk-optimizer/index.ts,主要实现位于pi-rtk-optimizer/src/。 - 组合包运行环境为 Node.js 22.19 或更高版本;本子目录开发验证还需要 npm、Bun 和项目声明的开发依赖。
- RTK 默认只压缩非搜索输出,包括本地
bash与远端ssh_bash的 ANSI 清理、测试聚合、构建过滤、Git 压缩、Lint 聚合;兜底截断默认关闭,新结果的展示截断由 pi-overflow 统一负责;ssh_bash只复用输出处理,远端命令不得进入 RTK rewrite。 - RTK 命令改写默认关闭(
commandRewritingEnabled默认false);默认安装不依赖系统rtkCLI,只有用户主动开启命令改写时才需要rtk rewrite,其命令支持策略由已安装的rtk rewrite决定,不在扩展内重复维护规则。 - FFF override 独占搜索工具与搜索输出;RTK 不得处理本地或远端搜索工具的调用/结果(含
grep工具结果),也不得通过默认命令改写接管rg、grep、find、fd。 readCompaction.enabled、sourceCodeFilteringEnabled和smartTruncate.enabled当前均默认false,源码读取保持原样;未经用户明确决定,不因节省上下文而改变这些默认值。若以后开启 read 压缩,优先考虑readCompaction + smartTruncate,源码过滤仍独立评估;必须保留精确offset/limit读取、短文件和行锚点的完整性。- read 压缩属于有损能力。任何默认值调整都必须同时说明哪些内容可能被省略、精确读取如何恢复原文,以及对
edit文本匹配和排障证据的影响。 - 工具输出压缩可能损失证据。排障和审计相关改动应优先保证原始输出可恢复,并覆盖锚点完整性和截断边界。
- 修改配置结构时同步检查默认值、归一化逻辑、设置界面、类型定义、README 示例和相关测试。
验证
按改动范围选择最小充分验证:
npm run build:TypeScript 转译检查。npm run typecheck:完整类型检查。npm run test:运行 Bun 测试。npm run check:类型、测试和打包检查的完整验证。