Gemini 提供商¶
Claude-mem 支持 Google 的 Gemini API,作为 Claude Agent SDK 的替代方案,用于从会话中提取观察结果。记忆在你的 Gemini 密钥上运行,不计入你的 Claude 套餐;因此观察提取永远不会占用你的 Claude 套餐用量。
Warning
未启用结算时的速率限制:Gemini 会对未启用结算的项目应用模型特定限制。在 Google Cloud 项目中启用结算可获得更高限制,并在启用前查看 Google 当前的配额和结算条款。
为什么使用 Gemini?¶
- 套餐外运行:观察提取发生在你的 Gemini 密钥上,而不是你的 Claude 套餐中
- 相同质量:Gemini 使用与 Claude 相同的 XML 格式提取观察结果
- 错误清晰抛出:429、5xx 和网络故障会抛出错误——使消息保持待处理状态,以便可以重试
- 热切换:无需重启 worker 即可切换提供商
获取 API 密钥¶
- 前往 Google AI Studio API 密钥页面
- 使用你的 Google 账号登录
- 接受服务条款和隐私政策
- 点击 创建 API 密钥 按钮
- 选择一个 Google Cloud 项目,或创建一个新的
- 复制并安全存储生成的 API 密钥
Tip
无需启用结算 即可开始使用。启用结算可以解锁更高的速率限制;请先查看 Google 当前的配额和结算条款。
配置¶
设置¶
| 设置 | 值 | 默认值 | 描述 |
|---|---|---|---|
CLAUDE_MEM_PROVIDER |
claude, codex, gemini, openrouter, openai-compatible |
claude |
用于观察提取的 AI 提供商 |
CLAUDE_MEM_GEMINI_API_KEY |
字符串 | — | 你的 Gemini API 密钥 |
CLAUDE_MEM_GEMINI_API_KEYS |
以换行符或逗号分隔的密钥 | — | 当一个密钥被限速或额度用尽时,可轮换使用的额外密钥(多密钥轮换) |
CLAUDE_MEM_GEMINI_MODEL |
gemini-flash-latest, gemini-flash-lite-latest, gemini-3.5-flash, gemini-3.1-flash-lite, gemini-3-flash-preview |
gemini-flash-latest |
要使用的 Gemini 模型 |
CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED |
true, false |
true |
按模型未启用结算时的 RPM 限制请求速率。在 Google Cloud 上启用结算后,将其设为 false。 |
使用设置界面¶
- 打开启动时打印的 worker URL
- 点击 齿轮图标 以打开设置
- 在 AI 提供商 下,选择 Gemini
- 输入你的 Gemini API 密钥
- 可选:选择不同的模型
设置会立即生效,无需重启。
手动配置¶
编辑 ~/.claude-mem/settings.json:
{
"CLAUDE_MEM_PROVIDER": "gemini",
"CLAUDE_MEM_GEMINI_API_KEY": "your-api-key-here",
"CLAUDE_MEM_GEMINI_MODEL": "gemini-flash-latest",
"CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED": "true"
}
或者,通过环境变量设置 API 密钥:
设置文件的优先级高于环境变量。
可用模型¶
| 模型 | 未启用结算时的 RPM | 备注 |
|---|---|---|
gemini-flash-latest |
10 | 默认。 Google 别名,始终跟踪当前 GA Flash 模型 |
gemini-flash-lite-latest |
15 | Google 别名,始终跟踪当前 GA Flash-Lite 模型 |
gemini-3.5-flash |
10 | 固定版本的 GA Flash 模型 |
gemini-3.1-flash-lite |
15 | 固定版本的 GA Flash-Lite 模型 |
gemini-3-flash-preview |
5 | 预览模型,速率限制较低 |
Note
较旧的 gemini-2.5-* 和 gemini-2.0-* 模型 ID 已被移除:当使用全新创建的 API 密钥调用这些模型时,Google 会返回 404 NOT_FOUND(“不再对新用户可用”)。建议使用 -latest 别名,因为随着 Google 轮换 GA 模型,它们永远不会过时。
切换提供商¶
你可以在任意时间在 Claude 和 Gemini 之间切换:
- 无需重启:更改将在下一次观察时生效
- 保留对话历史:在会话中途切换时,新提供商可以看到完整的对话上下文
- 无缝过渡:两个提供商使用相同的观察格式
通过界面切换¶
- 在查看器中打开设置
- 更改 AI 提供商 下拉菜单
- 下一次观察将使用新的提供商
通过设置文件切换¶
错误行为¶
当 Gemini 拒绝请求时,已排队的观察保持待处理状态;接下来会发生什么取决于拒绝的原因:
- 每分钟限流(配额按分钟计算的 429):claude-mem 会等待 Google 指定的延迟,然后恢复。如果限流持续拒绝,Gemini 将被暂停 90 秒。
- 日(或周、月)配额已用完(提到按日配额的 429):Gemini 将被暂停 30 分钟,然后发送一个请求检查配额是否已重置。
- 区域不受支持(“User location is not supported”):捕获暂停,但保留已有工作,下次会话启动时会提示切换提供商。Gemini 每 30 分钟重新检查一次。不会尝试额外密钥,因为每个密钥都会得到相同的答复。
- 密钥无效或已被吊销:如果配置了额外密钥,则尝试下一个密钥;否则同样暂停,并会在提示中说明需要修复该密钥。
- 服务器错误和网络故障:暂停并保留已有工作,然后在退避后自动恢复。
- 其他格式错误的请求(HTTP 400):该会话的待处理观察将被丢弃。如果请求对模型的上下文窗口来说过长,则会改为终止该会话的对话并保留这些观察。
要在 Gemini 被暂停期间继续捕获,请配置 配额回退(可选加入,默认关闭)。额外密钥在 Gemini 内部轮换(多密钥轮换)。要永久切换提供商,请更改 CLAUDE_MEM_PROVIDER。
故障排除¶
“Gemini API 密钥未配置”¶
可以这样做:
- 在
~/.claude-mem/settings.json中设置CLAUDE_MEM_GEMINI_API_KEY,或者 - 设置
GEMINI_API_KEY环境变量
速率限制¶
Google 会根据是否启用结算而应用不同的速率限制:
无计费(仅 API 密钥):
| 模型 | RPM | TPM |
|---|---|---|
| gemini-flash-latest / gemini-3.5-flash | 10 | 250K |
| gemini-flash-lite-latest / gemini-3.1-flash-lite | 15 | 250K |
| gemini-3-flash-preview | 5 | 250K |
Claude-mem 会自动执行这些限制,并在请求之间加入内置延迟。处理速度可能会较慢,但会保持在限制范围内。
启用计费后:
| 模型 | RPM | TPM |
|---|---|---|
| gemini-flash-lite-latest / gemini-3.1-flash-lite | 4,000 | 4M |
| gemini-flash-latest / gemini-3.5-flash | 1,000 | 1M |
| gemini-3-flash-preview | 1,000 | 1M |
Tip
更高吞吐量:启用计费可以解锁更高的速率限制。请先检查你的 Google Cloud 配额和计费设置。然后 Claude-mem 就可以使用更高的配置限制,而不是采用其保守的无计费限流机制。
如果遇到速率限制: - 待处理的观察记录会保持排队状态,并在限制重置后继续处理(参见错误行为) - 或者配置配额回退,或切换回 Claude 作为主要提供商
观察记录质量¶
如果使用 Gemini 时观察记录质量较低: - 请注意,Claude 通常能生成略高质量的观察记录 - 可以考虑使用 Gemini 处理计划外的记忆任务,而将 Claude 用于重要项目
后续步骤¶
多个密钥¶
CLAUDE_MEM_GEMINI_API_KEYS 接受额外的密钥(以换行符或逗号分隔),与 CLAUDE_MEM_GEMINI_API_KEY 配合使用。当某个密钥达到速率限制、配额用尽或被判定为无效时,Gemini 请求会轮换到下一个密钥,而不是在当前时间窗口的剩余时间内持续失败。参见多密钥轮换。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/claude-mem