Pi 插件 context-mode 实测:工具输出进沙箱压缩,上下文更干净
X 用户 @chasen_liao 推荐安装 Pi 插件 context-mode,核心思路是将工具运行产生的大段输出不直接放入上下文,而是存入沙箱压缩,需要时再检索。实测后上下文占用明显减少,工具调用返回的内容也更简洁。
排查发现该插件的 Pi adapter 监听了 Pi 不存在的事件 before_provider_response,Pi 1.3.0 实际提供的事件为 before_provider_request、before_provider_headers、after_provider_response、provider_stream_event 四个。该问题影响很小,压缩、沙箱、检索等核心功能完全正常,token 消耗和费用仍由 turn_end 正常记录,仅每次模型调用的模型、服务商、延迟等明细未写入数据库,且插件本身也未使用这份数据。
@chasen_liao 在自己的 fork 版本中修改为在 message_end 事件上采集明细,在隔离环境中通过 pi install 免构建安装后,实测明细可正常写入数据库。需要完整数据的用户可安装该非官方修复版,不在意明细的用户直接安装官方版本即可。
他还分享了 Pi 插件事件匹配的自查方法:在插件源码中找到注册事件的位置,列出监听的事件名;对照 Pi 包内 types.d.ts 的事件表,对不上的就是未生效的代码;再查看注释标注的 Pi 版本,若远低于当前使用版本,大概率仍为旧逻辑。该插件作者已关闭所有 issue 和 PR,此前在社交媒体表示正在筹备新版本。