mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 18:55:22 +00:00
仓库规则要求 config/ 为唯一配置来源、不以环境变量作持久默认值: - pi-notify 改读 config/pi-notify.json(逐字段校验回退,复用原 parsers 钳制) - pi-minimal-footer 改读 config/pi-minimal-footer.json - pi-chrome 移除 PI_CHROME_BRIDGE_HOST/PORT,固定 127.0.0.1:17318 (浏览器端 service_worker.js 硬编码同一地址,单侧可配只会断连) Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1.9 KiB
1.9 KiB
my-pi 维护约定(pi-notify)
- 扩展入口是
pi-notify/src/index.ts,Kitty/macOS 后端位于src/terminal.ts,测试保留在tests/,来源记录是UPSTREAM.md。 - 同步上游必须从明确 tag/commit 移植,保留作者、MIT 许可声明与来源;不得导入嵌套
.git、node_modules或构建产物。 - Kitty OSC 99 必须保留 source-window focus、Session 间唯一 ID、Base64 payload 和 tmux passthrough;修改 visibility/action、事件生命周期、fallback、模板、隐私或命令时必须同步 README 和测试。
- 完成通知默认只在 TUI
agent_settled后发送;自动重试、自动 compaction 和 follow-up 期间不得提前通知或重置总耗时。权限通知只在permissions:ui_prompt后立即发送,不得为策略或 AutoReview 已直接决定的请求通知,也不受完成通知时长门槛影响。非 TUI 输出完整性、策略/AutoReview 静默决定、隐私模式、自动 retry/compaction/follow-up 去重、总耗时、短任务阈值和多窗口点击聚焦都属于回归边界。 - 默认
o=always、a=focus,每个 Pi Session 使用独立稳定 ID,标题和正文必须 Base64 编码。 /notify on|off只覆盖当前 Session;持久默认来自组合包config/pi-notify.json(src/settings.ts读取,文件缺失或字段非法逐字段回退默认)。messageSource: "none"必须继续提供不泄露回复正文、权限值或请求者细节的隐私模式,非 TUI 模式不得写入 OSC 序列。- 根包必须通过
file:./pi-notify提供依赖并直接加载源码,不得同时加载 npm@smoose/pi-notify实现,否则会重复通知。
验证
- 在本目录内至少运行
npm run typecheck、npm run test和npm pack --dry-run --json;涉及加载入口或 lifecycle 时还要运行根扩展联合加载测试和实际 packed tarball 的隔离安装验证。