mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 10:45:22 +00:00
- codemode:Tool Search 常驻(alwaysEnabled)、权限 allow(嵌套调用仍逐个过权限门)、 tools.jsonc 登记使用规则;RTK 跳过 parentToolCallId 嵌套调用,避免丢失 bash structuredContent;Tool Search 目录过滤 hidden / codemode(script-only)exposure; 扩展加载测试加载 builtin:codemode 并断言其常驻激活 - 搜索 key 不再经命令行参数传递:search-auth.mjs 改为 --set-stdin(先读校验再加锁), configure.sh 交互输入经管道、非交互用 --<provider> - - CodeGraph 客户端监听子进程 stdin error,避免 EPIPE 未处理导致崩溃 - 移除 PI_TOOL_SEARCH/HERMES_MEMORY/RTK_CONFIG_PATH 环境变量入口,测试改用工厂 configPath 注入 - pi-subagents 固定 vitest / coverage-istanbul 4.1.10,修复 npm ls 版本冲突 - 补 pi-web-search / pi-worktree UPSTREAM.md 与 pi-minimal-footer AGENTS.md, files 白名单补齐并加测试;.codegraph/.gitignore 移出跟踪 - detect_kitty 优先识别官方安装目录 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2.3 KiB
2.3 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。 - RTK 不处理带
parentToolCallId的嵌套调用(codemode 脚本内调用),否则会丢失 bash 的 structuredContent。 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:类型、测试和打包检查的完整验证。