接入 Gemini CLI
Gemini CLI 目前接不过来。 不是因为改不了地址——地址是能改的,是因为它要的接口这里只开了一小部分。
地址确实能改
Gemini CLI 官方支持用环境变量覆盖 base URL:
export GOOGLE_GEMINI_BASE_URL="https://api.apipace.com"
所以问题不在这儿。
卡在两处
一、它要 streamGenerateContent,这里只开了 generateContent
Gemini CLI 的主对话走流式,这里一律 400:
curl "https://api.apipace.com/v1beta/models/gemini-2.5-pro:streamGenerateContent" \
-H "x-api-key: ak-…" -H "content-type: application/json" \
-H "Idempotency-Key: probe-1" -d '{"contents":[{"role":"user","parts":[{"text":"hi"}]}]}'
{"error":{"code":400,"status":"INVALID_REQUEST","execution_state":"not_started",
"message":"only generateContent is enabled","request_id":"req_01M2M84C9AJJ4BC1B7ZGSYY559"}}
countTokens 同样 400,GET /v1beta/models 是 404。
二、鉴权头对不上
Gemini CLI 把 key 发成 x-goog-api-key,这里只认 Authorization: Bearer 和 x-api-key:
{"error":{"code":"AUTH_FAILED","message":"missing credentials: send Authorization: Bearer ak-...","request_id":"req_01M2M8AZ79E5GHY9K232D7GB0W"}}
再加上这里的 /v1beta 要求每个请求带 Idempotency-Key,而 Gemini CLI 不会带。三条凑在一起,不是改配置能解决的。
那 Gemini 在这里怎么用
直接打原生接口,非流式、单次生成,视频理解可用:
curl "https://api.apipace.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "x-api-key: $APIPACE_KEY" \
-H "content-type: application/json" \
-H "Idempotency-Key: my-task-0001" \
-d '{"contents":[{"role":"user","parts":[{"text":"用一句话介绍杭州"}]}],
"generationConfig":{"maxOutputTokens":256}}'
完整说明、视频示例、幂等与找回规则见 Gemini 原生接口。
Google 官方的 google-genai SDK 也能指过来,但只有 generate_content 这一条路能走,而且要自己补上 Idempotency-Key 头。批处理脚本可以,交互式 agent 不行。
想在终端里用 agent
看 Claude Code(Anthropic 协议,原生支持)或 Cline(OpenAI 兼容)。Gemini 系列在这里适合的是批量任务:长文档理解、视频理解、一次性生成,不是聊天循环。