Files
my-pi/pi-notify/AGENTS.md
T
云服务部-叶林立andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> e996f59469 refactor: notify/footer 持久配置收编到 config/,chrome bridge 地址固定
仓库规则要求 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>
2026-10-21 19:16:47 -07:00

1.9 KiB
Raw Blame History

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 的隔离安装验证。