Gemini API 新建的付费项目默认把请求存 55 天,要关得自己动手

10 月 26 日以后新建的付费项目,不改设置的话,Gemini API 的调用记录会自己进 AI Studio 的 Logs 页。在那里点开任意一条记录,完整的 prompt、模型回复、前面几轮上下文都摆着。以前用 generateContent 的项目,Logs 页多半是空的,因为它默认不存。

这次改的范围

发布说明 10 月 26 日那条写得很短:付费层的新项目,Generate Content API 默认改成 store=true,覆盖 generateContent、streamGenerateContent、batchGenerateContent 三个方法,和 Interactions 那边的默认值对齐。老项目维持原样。

Logs and datasets 文档补了几处细节:

  • 日志存储只对付费层项目开放,免费层不涉及这项改动。
  • 10 月 26 日之前建的项目,Generate Content API 这边是关着的,除非有人在 AI Studio 里手动打开过。
  • 走 OpenAI 兼容端点发出去的请求也算在内。
  • Interactions API 一直都是默认存,这次没变。

想确认老项目的状态,去 Logs 页下拉选中它。文档写明,10 月 26 日前建的项目要在设置面板打开 Generate Content 日志,Logs 页里才会出现这类记录。

存多久,谁能看到

默认保留 55 天,这也是上限,可以往下调到 7、14 或 28 天。存进 dataset 的记录不会过期,还能导出成 CSV、JSONL 或 Google Sheets。另外还有个选项是把记录分享给 Google 做研发参考,只有你主动勾选才会分享出去。

目前不进日志的有:Imagen 和 Veo,embedding 和 Robotics 两类模型,输入里带视频、GIF 或 PDF 的调用,以及公开预览阶段的 Agents。

所以应用要是把用户手机号、工单原文、内部代码塞进 prompt,新项目上线后这些内容会在 Logs 页里完整躺上将近两个月,能打开这个页面的同事都看得到。站里之前那篇讲 .env 和密钥别让 Agent 读到 的帖子说的是本地,这里是云端那一份。

还有个容易误会的地方。文档提到,项目里至少要有一个有效的 API key,Logs 页才会显示记录。要是泄露后把 key 全删了,页面就看不到东西,直到重新建一个。文档没说这时候记录会不会被清掉,别把删 key 当成清日志的办法。

两处开关

项目级设置放在 AI Studio 的 Logs 面板里。打开 Settings,generateContent 和 Interactions 各有一个独立开关,随时能改。

请求级就是调用时传 store,它的优先级高于项目设置。SDK 有最低版本:Python 的 google-genai 2.33.0,JS 的 @google/genai 2.31.0,Java 1.79.0,Go 1.76.0。低于这些版本的 SDK 不支持在 Generate Content 请求上设这个字段。

from google import genai

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="...",
    config={"store": False},
)

Interactions API 那边要多想一步。文档说它的 store=true 同时撑着服务端状态管理,关掉之前确认代码没靠它记上下文。

关掉以后 Google 还留什么

Logs 面板这份是给开发者自己看的。Gemini API 附加条款里付费服务那段另有一句:Google 会在有限时间内记录 prompt 和回复,只用于发现和阻止违反使用政策的行为,以及法律要求的披露,不拿来改进产品。条款没把这份记录和 store 挂钩,也没给具体天数。另外用了 Google 搜索或地图做 grounding 的请求,条款写明会存 30 天。

团队里怎么防

  • 新建项目的人顺手把 Logs 设置看一眼,写进上线检查单。
  • 不想依赖控制台设置的话,在封装层统一传 store=False,再把 SDK 版本锁到够用的那一档。
  • 调试确实需要日志,就把保留期压到 7 天,用完再关。
  • 10 月 26 日前的老项目,查一下是不是有人早就打开过。

你们的项目是全关、按环境分开,还是干脆留着当调试工具用?