Files
my-pi/pi-chrome/UPSTREAM.md
T
云服务部-叶林立andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 56cbc83296 refactor: 移除 context-mode,Chrome 快照改为直接返回
context-mode 的 ctx_execute 系工具以真实 shell 执行且权限为 allow,绕过了
bash 策略与 protectedWrites;其每轮注入、独立 MCP 子进程与 skills 也与组合包
提示词单一所有权冲突。大输出职责已由 pi-overflow(入口截断)与
pi-compaction(压力遮蔽)承担:
- 删除 context-mode 依赖、wrapper/过滤器、skills,以及 ctx_* 的权限、
  tools.jsonc、路由规则、tool-search 常驻与 4 个分组
- better-sqlite3@12 仅为 context-mode 传递依赖,随之移除根 allowScripts
- pi-chrome:按用户决定移除快照隐私规则与 .pi/chrome-context 临时文件机制,
  快照 JSON 直接作为工具结果返回、details 只留小型元数据,超长由 pi-overflow
  截断并用 overflow_query 提取;授权生命周期不变

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

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

2.3 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 快照与 includeSnapshot=true 的动作结果把快照 JSON 直接放入工具文本返回,details 只保留元素数/匹配数等小型元数据;展示截断由组合包 pi-overflow 统一负责(原文落盘 + overflow_query 查询)。chrome_find 只返回紧凑排序匹配,不保存文件。早期版本曾把快照原子写入 .pi/chrome-context/ 临时文件并引导 ctx_execute_file 分析;该 Session 临时文件机制已随 context-mode 一起移除,各项目中残留的 .pi/chrome-context/ 目录不再创建,可手动删除。
  • 授权后的 before_agent_start 不再返回 systemPrompt:Chrome 使用提示写入 event.systemPromptOptions.sections.chrome_profile_bridge 结构化分区,由组合包单一提示词出口 extensions/system-prompt.ts 统一组装,顺序由 config/prompt/sections.jsonc 控制;未授权时不贡献任何提示词内容。
  • 移除 PI_CHROME_BRIDGE_HOST/PI_CHROME_BRIDGE_PORT 环境变量,host/port 固定为 127.0.0.1:17318(Companion 扩展 service_worker.js 同样硬编码该地址,单侧可配只会断连且非回环 host 有安全风险)。
  • 移除 MAX_TEXT_CHARS/truncateText 的 30K 字符文本截断:chrome_* 工具返回完整文本,超长结果的展示截断由 pi-overflow 统一负责;MAX_ELEMENTS 等条数上限保留不变。

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