Docs配置环境变量
返回文档
配置

环境变量

使用环境变量覆盖任何 YeePilot 配置设置

最后更新: 2026年2月28日

概述

YeePilot 的每个配置选项都可以使用环境变量覆盖。这对于 CI/CD 管道、容器化部署、临时覆盖以及将密钥保存在配置文件之外非常有用。

环境变量始终优先于 ~/.yeepilot/config.yaml 中的值。


命名规则

环境变量遵循一致的模式:

  1. YEEPILOT_ 前缀开头。
  2. 将配置键转换为大写。
  3. 将点和嵌套键替换为下划线。

示例

配置键环境变量
ai.providerYEEPILOT_AI_PROVIDER
ai.modelYEEPILOT_AI_MODEL
ai.api_keyYEEPILOT_AI_API_KEY
ai.max_tokensYEEPILOT_AI_MAX_TOKENS
ai.token_modeYEEPILOT_AI_TOKEN_MODE
security.modeYEEPILOT_SECURITY_MODE
sandbox.enabledYEEPILOT_SANDBOX_ENABLED
sandbox.use_namespacesYEEPILOT_SANDBOX_USE_NAMESPACES
personality.languageYEEPILOT_PERSONALITY_LANGUAGE
tui.themeYEEPILOT_TUI_THEME
update.auto_checkYEEPILOT_UPDATE_AUTO_CHECK

配置优先级

当同一设置在多处定义时,YeePilot 按以下顺序解析(优先级从高到低):

  1. 环境变量 -- 始终优先。
  2. 配置文件~/.yeepilot/config.yaml)-- 未设置环境变量时使用。
  3. 内置默认值 -- 环境变量和配置文件值都不存在时使用。
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_KEYOpenAI
ANTHROPIC_API_KEYAnthropic
OPENROUTER_API_KEYOpenRouter

这些无需 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=false

CI/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=200

Shell 配置

要使环境变量在各会话间持久化,请将它们添加到 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

这会显示当前的提供商、模型、安全模式和其他活动设置,并指示每个值的来源。