Files
my-pi/pi-chrome/UPSTREAM.md
T
云服务部-叶林立andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> ba164896d2 feat: 系统提示词改为单一入口统一管理
多个扩展各自整段改写系统提示词并按加载顺序接力,任一扩展定死提示词后
其余只能做字符串手术,且各上游的工具说明与组合包实际工具格局冲突。

- 新增 extensions/system-prompt.ts 作为唯一出口(加载列表最后),按
  config/prompt/(preamble.md、tools.jsonc、routing.jsonc、sections.jsonc)
  组合开场白、工具简介/规则与 <tool_routing> 分区;替代原封面与
  tool-routing 扩展,/dump-system-prompt 输出最终提示词。
- pi-chrome、pi-ssh、pi-hermes-memory 改为写命名分区,pi-rtk-optimizer
  改写 promptGuidelines,pi-permission-system 直接过滤结构化 skills,
  均不再返回 systemPrompt;pi-chrome 未授权时不再每轮冻结提示词。
- 新增 prompt-guard 代理加载第三方扩展(Hashline、FFF、LSP、
  context-mode):拦截直接改写提示词并按目录覆盖工具说明;context-mode
  去掉与组合包路由冲突的锚点段,保留记忆与恢复快照。
- 消除冲突:bash 简介不再建议 grep/find;Hashline edit 不再称可用 grep
  锚点、不再介绍已关闭的 replace_text;context-mode 读写/网页路由提示。
- 守门测试:工具目录覆盖率、禁用用法检查、context-mode 上游原文锁定;
  AGENTS.md 新增「系统提示词单一所有权」。

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

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

1.9 KiB
Raw Blame History

上游来源

  • 官方仓库:https://github.com/tianrendong/pi-chrome
  • 导入 npm 版本:pi-chrome@0.15.46
  • 导入 commit:017ff4b9a639f0b8b213e58a3f30613fc38edcc8
  • Commit 日期:2026-07-07T01:30:54-04:00
  • 导入依据:pi-chrome@0.15.46 官方 npm 元数据中记录的 gitHead;没有任何上游 tag 指向该 commit。
  • 初始本地导入:2026-08-28

被跟踪的上游源码、测试、文档、脚本和许可证均从官方 Git 仓库导入。不保留嵌套 .git、依赖目录、覆盖率与构建产物。

本地维护

本目录由 my-pi 组合包直接维护,不是 submodule。根包加载本目录中的 extensions/chrome-profile-bridge/index.ts,并通过 file:./pi-chrome 依赖它;不得并行加载 npm 预编译扩展入口。

导入后的本地改动:

  • Chrome 快照以原子方式写入当前项目 .pi/chrome-context/ 目录下的 owner-only、Session 临时文件,而不是把原始页面结构返回给模型上下文。
  • 每个 Session/目标只保留最新快照;浏览器交互会使陈旧捕获失效,Session 关闭时移除该 Session 目录。
  • chrome_find 返回紧凑的排序匹配,同时把完整结构化快照保留在 Session 本地捕获中,供可选的 ctx_execute_file 分析使用。
  • click/type/fill/key 上的 includeSnapshot=true 会保存动作后的快照并返回其捕获路径,而不是把快照嵌入工具结果。
  • 授权后的 before_agent_start 不再返回 systemPrompt:Chrome 使用提示写入 event.systemPromptOptions.sections.chrome_profile_bridge 结构化分区,由组合包单一提示词出口 extensions/system-prompt.ts 统一组装,顺序由 config/prompt/sections.jsonc 控制;未授权时不贡献任何提示词内容。

同步上游时,请以导入 commit 为基准比较并选择性移植改动。不得整体覆盖这些本地生命周期、隐私和 Context Mode 集成。