配置
yaku 将配置存储在一个 YAML 文件中。使用以下命令找到文件位置:
yaku config path当你首次执行 yaku config set 时,文件会自动创建。你也可以直接编辑它——yaku 会保留注释和格式。
所有配置字段
Section titled “所有配置字段”| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
api-key | string | 自备 API 后端(Gemini、OpenAI、Anthropic)的 LLM API key。 | |
default-target | string | 默认目标语言。设置后可省略 --to。 | |
backend | string | hosted | LLM 后端:hosted、gemini、openai、anthropic。设置时会验证。 |
model | string | backend 默认值 | 覆盖模型名称(例如 gemini-2.5-flash、gpt-4o-mini)。 |
api-base | string | 任何本地后端的 API base URL 覆盖。常用于 OpenAI 兼容提供商。 | |
hosted-url | string | https://api.yakulang.com | 托管服务 API 端点。认证端点会自动推导(移除 api. 前缀)。 |
prompt | string | 自定义系统提示词文件路径。应用至每次翻译。 |
配置文件示例
Section titled “配置文件示例”api-key: AIzaSy...your-gemini-keydefault-target: zh-CNbackend: geminimodel: gemini-2.5-flash# 设置一个值yaku config set default-target zh-CN
# 读取一个值(仅从文件读取,忽略环境变量)yaku config get default-target
# 找到配置文件yaku config path环境变量会覆盖配置文件的值。这在 CI/CD、容器或切换项目时很有用。
| 变量 | 覆盖的配置字段 | 示例 |
|---|---|---|
YAKU_API_KEY | api-key | export YAKU_API_KEY=AIza... |
YAKU_DEFAULT_TARGET | default-target | export YAKU_DEFAULT_TARGET=zh-CN |
YAKU_BACKEND | backend | export YAKU_BACKEND=openai |
YAKU_MODEL | model | export YAKU_MODEL=gpt-4o |
YAKU_API_BASE | api-base | export YAKU_API_BASE=https://api.groq.com/openai/v1 |
YAKU_HOSTED_URL | hosted-url | export YAKU_HOSTED_URL=https://api.staging.yakulang.com |
环境变量覆盖行为
Section titled “环境变量覆盖行为”当 YAKU_* 环境变量被设置时——即使是空字符串——它会覆盖对应的配置文件值。这能防止 key 来源失败时产生静默回退:
# 明确设为空 → 覆盖配置文件,key 变成空的YAKU_API_KEY="" yaku --backend gemini --to zh-CN "test"# Error: YAKU_API_KEY is set but empty (check your key source).后端专属的 API key 回退
Section titled “后端专属的 API key 回退”当 YAKU_API_KEY 完全未设置(甚至没有设为空字符串),且配置文件中也没有 api-key 时,yaku 会根据解析后的后端(包含 --backend 选项)检查以下后端专属的环境变量:
| 后端 | 回退变量 |
|---|---|
gemini | GOOGLE_API_KEY |
openai | OPENAI_API_KEY |
anthropic | ANTHROPIC_API_KEY |
这表示你可以直接使用其他工具(如 Google Cloud SDK 或 OpenAI CLI)已有的环境变量,不需额外配置。搭配 --backend 即可在不同供应商之间自由切换:
export GOOGLE_API_KEY=your-gemini-keyexport OPENAI_API_KEY=your-openai-keyyaku --backend gemini --to zh-CN "Hello"yaku --backend openai --to zh-CN "Hello"同一个设置在多处指定时,优先顺序最高的来源胜出:
- 命令行选项(最高)— 例如
--to ja - 环境变量 — 例如
YAKU_DEFAULT_TARGET=ja - 配置文件 —
~/.config/yaku/config.yaml - 内置默认值(最低)
示例: 如果配置文件中有 default-target: zh-CN,但你执行 yaku --to ja,目标语言就是 ja。
- 缺少配置文件: yaku 使用内置默认值,不会报错。
- YAML 语法错误: yaku 在 stderr 记录警告,然后以默认值继续执行。
- 未知的配置键:
yaku config set会拒绝不在上方列表中的键。 - 无效的配置值:
yaku config set会验证值。backend必须是hosted、gemini、openai、anthropic其中之一。default-target必须是有效的 BCP 47 语言代码。