Bug Smash:修复 Sentry JS SDK 丢失的 Gemini 聊天配置
来源:dev.to — 2026-08-12 · 6 min 阅读
📋 概述
这是 DEV 夏季 Bug Smash 大赛的参赛作品,修复了 Sentry JavaScript SDK 中 Google GenAI 自动埋点的一个静默回归:Gemini 的 chat 调用会丢掉它运行时使用的模型配置,导致 trace 里不再显示 temperature、top_p、max_tokens、工具列表和系统指令。作者定位到根因——深代理重代理了 chats.create() 返回的 chat 对象,却丢掉了那次调用的参数,并给出了一个聚焦的补丁、附带了单元测试,还用真实 Gemini API 端到端验证过。
🔑 核心要点
- Sentry SDK 自动埋点 Google GenAI,让每次 Gemini 调用在 trace 里呈现为 span。
- 回归源于一次重构:移除 chats.create() 的 span 时把配置一并弄丢了。
- 修复聚焦在 @sentry/server-utils,附带单元测试。
- 已用真实 Gemini API 做端到端验证。
- 对应 issue 由 Sentry 维护者提交,修复见 PR #23316。
💡 金句
移除那个并非真实调用的 span 是对的,但它携带的配置也随之消失了。
👍 0
👎 0
← 返回 dev.to 首页