GEMINI-HEADLESS.md 2.0 KB

Gemini 无头模式翻译指引

目标:在本地使用 Gemini CLI(gemini-2.5-flash)完成无交互批量翻译,避免工具调用与权限弹窗,适用于 prompts/skills/文档的快速机翻初稿。

原理概述

  • CLI 通过本地缓存的 Google 凭证直连 Gemini API,模型推理在云端完成。
  • 使用 --allowed-tools '' 关闭工具调用,确保只返回纯文本,不触发 shell/浏览器等动作。
  • 通过标准输入传入待翻译文本,标准输出获取结果,便于脚本流水线处理。
  • 可设置代理(http/https)让请求走本地代理节点,提升成功率与稳定性。

基本命令

# 代理(如需)
export http_proxy=http://127.0.0.1:9910
export https_proxy=http://127.0.0.1:9910

# 单条示例:中文 -> 英文
printf '你好,翻译成英文。' | gemini -m gemini-2.5-flash \
  --output-format text \
  --allowed-tools '' \
  "Translate this to English."
  • 提示语放在位置参数即可(-p/--prompt 已被标记弃用)。
  • 输出为纯文本,可重定向保存。

批量翻译文件示例(stdin → stdout)

src=i18n/zh/prompts/README.md
dst=i18n/en/prompts/README.md
cat "$src" | gemini -m gemini-2.5-flash --output-format text --allowed-tools '' \
  "Translate to English; keep code fences unchanged." > "$dst"
  • 可在脚本中循环多个文件;失败时检查退出码与输出。

与现有 l10n-tool 的搭配

  • l10n-tool(deep-translator)用于全量机翻;若质量或连通性不稳,可改为逐文件走 Gemini CLI。
  • 流程:cat 源文件 | gemini ... > 目标文件;必要时在其他语种目录放跳转说明或手动校对。

注意事项

  • 确保 gemini 命令在 PATH 且已完成身份认证(首次运行会引导登录)。
  • 长文本建议分段,避免超时;代码块保持原样可在提示语中声明 “keep code fences unchanged”。
  • 代理端口依实际环境调整;如不需要代理,省略相关环境变量。