环境变量
环境变量配置提供商凭据并切换运行时行为——适用于 CI/CD 和容器化环境。
Info
Cyberstrike 不会从环境变量读取模型、代理或主题等设置。这些在配置文件中设置(参见配置参考)。下面的 CYBERSTRIKE_* 变量仅限于凭据、配置路径和行为开关。
📸 SCREENSHOT: env-vars-terminal.png
在终端中设置环境变量
提供商 API 密钥
提供商密钥使用 SDK 的标准变量名称。完整列表请参阅 AI 提供商。
Anthropic
export ANTHROPIC_API_KEY="sk-ant-api03-..."OpenAI
export OPENAI_API_KEY="sk-proj-..."Google (Gemini)
export GOOGLE_GENERATIVE_AI_API_KEY="AI..."# GEMINI_API_KEY 也被接受OpenRouter
export OPENROUTER_API_KEY="sk-or-..."Groq
export GROQ_API_KEY="gsk_..."Azure OpenAI
export AZURE_RESOURCE_NAME="your-resource"export AZURE_API_KEY="..."AWS Bedrock
export AWS_ACCESS_KEY_ID="AKIA..."export AWS_SECRET_ACCESS_KEY="..."export AWS_REGION="us-east-1"# 或使用 bearer token:export AWS_BEARER_TOKEN_BEDROCK="..."配置路径变量
| 变量 | 描述 |
|---|---|
CYBERSTRIKE_CONFIG | 自定义配置文件的完整路径 |
CYBERSTRIKE_CONFIG_DIR | 要扫描的附加 .cyberstrike 目录 |
CYBERSTRIKE_CONFIG_CONTENT | 内联 JSON 配置(覆盖文件源) |
CYBERSTRIKE_DISABLE_PROJECT_CONFIG | 设为真值则跳过加载项目配置 |
CYBERSTRIKE_PERMISSION | 作为 JSON 字符串的权限覆盖 |
行为标志
这些变量切换运行时行为。布尔标志在设为真值(1、true)时启用。
| 变量 | 描述 |
|---|---|
CYBERSTRIKE_AUTO_SHARE | 自动分享新创建的会话 |
CYBERSTRIKE_DISABLE_AUTOUPDATE | 禁用自动更新 |
CYBERSTRIKE_DISABLE_AUTOCOMPACT | 禁用自动上下文压缩 |
CYBERSTRIKE_DISABLE_PRUNE | 禁用旧工具输出的修剪 |
CYBERSTRIKE_DISABLE_TERMINAL_TITLE | 不更新终端标题 |
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINS | 跳过加载内置插件 |
CYBERSTRIKE_DISABLE_LSP_DOWNLOAD | 不下载 LSP 服务器 |
CYBERSTRIKE_DISABLE_MODELS_FETCH | 不获取远程模型目录 |
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLS | 跳过加载外部技能 |
CYBERSTRIKE_ENABLE_EXA | 启用基于 Exa 的 Web 搜索 |
CYBERSTRIKE_MODELS_URL | 覆盖模型目录 URL |
CYBERSTRIKE_MODELS_PATH | 从本地路径加载模型目录 |
服务器凭据
由 cyberstrike serve 和 cyberstrike web 使用:
export CYBERSTRIKE_SERVER_PASSWORD="..." # 启动服务器必需export CYBERSTRIKE_SERVER_USERNAME="admin" # 可选,有默认值在配置中引用变量
配置文件支持两种替换——且仅这两种:
环境变量——{env:VAR}
{ "provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } } }}{env:VAR} 被替换为 VAR 的值,如果未设置则为空字符串。Shell 风格的 ${VAR}、$VAR 和默认值语法({env:VAR:-default})不受支持。
文件内容——{file:path}
{ "instructions": ["{file:./SECURITY.md}"]}路径可以是相对于配置文件、绝对路径,或以 ~/ 开头表示主目录。
自动化权限覆盖
cyberstrike run(非交互)会自动拒绝任何本应提示的工具调用。要在 CI 中预批准工具,通过 CYBERSTRIKE_PERMISSION 传递 JSON 权限映射:
export CYBERSTRIKE_PERMISSION='{"bash":"allow","edit":"allow","read":"allow"}'值遵循与配置 permission 字段相同的结构。参见权限。
Shell 配置
Bash / Zsh
export ANTHROPIC_API_KEY="sk-ant-..."export CYBERSTRIKE_AUTO_SHARE=1Fish
set -gx ANTHROPIC_API_KEY "sk-ant-..."set -gx CYBERSTRIKE_AUTO_SHARE 1.env 文件
ANTHROPIC_API_KEY=sk-ant-...CYBERSTRIKE_PERMISSION={"bash":"allow"}# 启动前加载source .env && cyberstrikeCaution
切勿将 .env 文件提交到版本控制。将 .env 添加到 .gitignore。
CI/CD 集成
GitHub Actions
env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow","edit":"allow"}'
steps: - name: Security Scan run: cyberstrike run "scan for vulnerabilities"GitLab CI
variables: CYBERSTRIKE_PERMISSION: '{"bash":"allow","read":"allow"}'
security_scan: script: - cyberstrike run "analyze code for security issues"Docker
Docker Run
docker run -it \ -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \ -e CYBERSTRIKE_PERMISSION='{"bash":"allow"}' \ cyberstrike/cyberstrikeDocker Compose
services: cyberstrike: image: cyberstrike/cyberstrike environment: - ANTHROPIC_API_KEY - CYBERSTRIKE_AUTO_SHARE=1 env_file: - .env优先级顺序
配置源按此顺序合并(最高优先级胜出):
1. 命令行参数2. 企业托管配置3. CYBERSTRIKE_CONFIG_CONTENT(内联 JSON)4. .cyberstrike/ 目录配置5. 项目配置(cyberstrike.json / .jsonc)6. CYBERSTRIKE_CONFIG(自定义文件)7. 全局配置(~/.config/cyberstrike/)8. 远程 .well-known/cyberstrike9. 默认值详情请参阅配置参考。
检查变量
# 列出活跃的 Cyberstrike 变量env | grep CYBERSTRIKE
# 检查提供商密钥是否已设置(不完整打印)echo "${ANTHROPIC_API_KEY:0:12}..."安全
- 永远不要输出完整的 API 密钥
- 在 CI/CD 中使用密钥管理
- 定期轮换密钥
- 限制
.env权限:chmod 600 .env
Tip
在生产环境中使用 HashiCorp Vault、AWS Secrets Manager 或 1Password CLI 等密钥管理器。