环境变量
使用环境变量覆盖任何 YeePilot 配置设置
最后更新: 2026年2月28日
概述
YeePilot 的每个配置选项都可以使用环境变量覆盖。这对于 CI/CD 管道、容器化部署、临时覆盖以及将密钥保存在配置文件之外非常有用。
环境变量始终优先于 ~/.yeepilot/config.yaml 中的值。
命名规则
环境变量遵循一致的模式:
- 以
YEEPILOT_前缀开头。 - 将配置键转换为大写。
- 将点和嵌套键替换为下划线。
示例
| 配置键 | 环境变量 |
|---|---|
ai.provider | YEEPILOT_AI_PROVIDER |
ai.model | YEEPILOT_AI_MODEL |
ai.api_key | YEEPILOT_AI_API_KEY |
ai.max_tokens | YEEPILOT_AI_MAX_TOKENS |
ai.token_mode | YEEPILOT_AI_TOKEN_MODE |
security.mode | YEEPILOT_SECURITY_MODE |
sandbox.enabled | YEEPILOT_SANDBOX_ENABLED |
sandbox.use_namespaces | YEEPILOT_SANDBOX_USE_NAMESPACES |
personality.language | YEEPILOT_PERSONALITY_LANGUAGE |
tui.theme | YEEPILOT_TUI_THEME |
update.auto_check | YEEPILOT_UPDATE_AUTO_CHECK |
配置优先级
当同一设置在多处定义时,YeePilot 按以下顺序解析(优先级从高到低):
- 环境变量 -- 始终优先。
- 配置文件(
~/.yeepilot/config.yaml)-- 未设置环境变量时使用。 - 内置默认值 -- 环境变量和配置文件值都不存在时使用。
bash
# 这会覆盖 config.yaml 中的任何设置
export YEEPILOT_AI_PROVIDER=anthropic
export YEEPILOT_AI_MODEL=claude-sonnet-4-20250514
yeepilot run常用环境变量
AI 提供商设置
bash
# 选择提供商和模型
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o
# API 密钥(出于安全性优先于配置文件)
export YEEPILOT_AI_API_KEY=sk-...
# 自定义 API 端点(例如用于本地模型)
export YEEPILOT_AI_BASE_URL=http://localhost:11434/v1
# Token 管理
export YEEPILOT_AI_MAX_TOKENS=8192
export YEEPILOT_AI_TOKEN_MODE=saver
# 智能体和思考
export YEEPILOT_AI_AGENT_MODE=true
export YEEPILOT_AI_THINK_MODE=medium
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_review安全设置
bash
# 安全态势
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_SECURITY_REQUIRE_CONFIRMATION=true
# 审计日志位置
export YEEPILOT_SECURITY_AUDIT_LOG_PATH=/var/log/yeepilot/audit.log沙箱设置
bash
# 禁用命名空间(在 macOS 或受限环境中有用)
export YEEPILOT_SANDBOX_USE_NAMESPACES=false
# 调整资源限制
export YEEPILOT_SANDBOX_MAX_CPU_SECONDS=600
export YEEPILOT_SANDBOX_MAX_MEMORY_MB=1024个性化和显示
bash
# 语言和语气
export YEEPILOT_PERSONALITY_LANGUAGE=de
export YEEPILOT_PERSONALITY_TONE=professional
export YEEPILOT_PERSONALITY_VERBOSITY=brief
# TUI 主题
export YEEPILOT_TUI_THEME=dark直接 API 密钥变量
除了 YEEPILOT_AI_API_KEY,YeePilot 还识别每个提供商使用的标准 API 密钥环境变量:
| 变量 | 提供商 |
|---|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter |
这些无需 YEEPILOT_ 前缀即可工作,在未配置其他 API 密钥时会自动检查。
bash
# 对于 OpenAI 来说这两种是等效的:
export YEEPILOT_AI_API_KEY=sk-abc123
# 或者
export OPENAI_API_KEY=sk-abc123如果同时设置了 YEEPILOT_AI_API_KEY 和提供商特定变量,YEEPILOT_AI_API_KEY 优先。
实际示例
临时切换提供商
在不更改配置文件的情况下为单个会话切换到不同的提供商:
bash
YEEPILOT_AI_PROVIDER=anthropic \
YEEPILOT_AI_MODEL=claude-sonnet-4-20250514 \
ANTHROPIC_API_KEY=sk-ant-... \
yeepilot run生产服务器锁定
通过环境变量为共享服务器上的所有用户设置严格安全:
bash
# 添加到 /etc/environment 或 /etc/profile.d/yeepilot.sh
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_review
export YEEPILOT_SANDBOX_ENABLED=true
export YEEPILOT_SANDBOX_USE_NAMESPACES=true
export YEEPILOT_SANDBOX_NETWORK_ACCESS=falseCI/CD 管道
在非交互式管道中使用 YeePilot:
bash
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o-mini
export OPENAI_API_KEY="${OPENAI_SECRET}"
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=high
yeepilot exec "check disk usage and report servers over 80%"节约费用配置
最大限度减少 Token 使用量和 API 费用:
bash
export YEEPILOT_AI_TOKEN_MODE=saver
export YEEPILOT_AI_MAX_TOKENS=2048
export YEEPILOT_AI_CONVERSATION_MAX_HISTORY=5
export YEEPILOT_AI_OUTPUT_TRUNCATE_LENGTH=200Shell 配置
要使环境变量在各会话间持久化,请将它们添加到 shell 配置文件中:
Bash
bash
# 添加到 ~/.bashrc 或 ~/.bash_profile
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Zsh
bash
# 添加到 ~/.zshrc
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Fish
fish
# 添加到 ~/.config/fish/config.fish
set -gx YEEPILOT_AI_PROVIDER openai
set -gx OPENAI_API_KEY sk-...编辑后,重新加载 shell 或运行 source ~/.bashrc(或相应 shell 的等效命令)。
开发模式
YEEPILOT_DEV_MODE 变量是一个特殊情况。它仅在使用 YeePilot 的开发构建版本(使用 dev 构建标签编译)时生效。生产二进制文件会完全忽略此变量。
bash
# 仅适用于开发构建
export YEEPILOT_DEV_MODE=1这是贡献者在开发期间使用的,与正常使用无关。
验证您的配置
要查看当前生效的设置(包括环境变量覆盖),请运行:
bash
yeepilot status这会显示当前的提供商、模型、安全模式和其他活动设置,并指示每个值的来源。