Files
云服务部-叶林立andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 0c45b1a438 docs: 拆分 AGENTS.md,根文件只保留全局规则
根 AGENTS.md 从约 78KB 压缩到约 10KB,避免作为常驻规则加载时被截断:
只保留仓库定位、扩展清单、跨扩展硬规则与通用验证命令。各扩展的维护
约定与验证命令移入对应目录的 AGENTS.md(新增 extensions/AGENTS.md 承载
系统提示词与根目录 TS/LSP 约定),上游来源记录统一放进各目录的中文
UPSTREAM.md,并补齐 pi-permission-system 与 pi-rtk-optimizer 的来源记录。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-20 19:43:22 -07:00

1.9 KiB
Raw Permalink Blame History

my-pi 维护约定(pi-ask-user)

  • 扩展入口是 pi-ask-user/index.ts,schema、归一化、TUI、RPC extension UI bridge 与工具注册位于 src/,纯 helper 测试保留在 test/;根组合包直接加载源码并通过本地 file: 依赖打包。
  • 工具名必须保持 ask_user_question,并由 Tool Search 的独立 user-interaction 组按需加载;根加载顺序必须位于 pi-tool-search 之前。
  • ask_user_question 只用于模型继续任务所必需的用户决定、偏好、确认或澄清;不得重复询问直接用户消息中已有的信息。工具统一支持单题、多题、选择、自由文本、自定义回答与复核;顺序执行和最多 8 题;不加载 /qna。
  • 参数必须有界并在运行时复核 question id、题型、选项和值的有效性;TUI 必须顺序执行、监听 abort、按 width 失效缓存,并把外层 Focusable 状态传播给内嵌 Editor;RPC 必须只依赖 Pi 标准 select / input extension UI、逐题执行、传递 abort signal,并把 dismiss/abort 归一化为取消;JSON/print 等无 UI 模式保持拒绝。
  • 取消或 abort 必须返回 cancelled: true,不得伪造答案;成功结果的 details 必须保持 version、cancelled: false 与非空 answers,每个 answer 必须提供原始 question 和用户 answer,以匹配 AutoReview 已有的可信结构化用户交互边界;取消结果不得成为权限授权证据。修改结果结构时同步验证 pi-permission-system/src/auto-review/transcript.ts 解析。
  • 同步上游示例时从明确 commit 移植并保留 LICENSE、UPSTREAM.md 与本地整合差异;不得恢复 /qna、重复的单题工具或多个扩展入口。
  • 修改后至少运行包内 npm test / npm run check、Tool Search 的 typecheck/test/build、AutoReview transcript 测试、根扩展联合加载和 packed tarball 隔离安装验证。