Переменные окружения
Переменные окружения настраивают учётные данные провайдеров и переключают поведение во время выполнения — полезно для CI/CD и контейнерных сред.
Info
Cyberstrike не читает настройки, такие как модель, агент или тема, из переменных окружения. Они хранятся в файле конфигурации (см. Справочник по конфигурации). Переменные CYBERSTRIKE_* ниже ограничены учётными данными, путями конфигурации и переключателями поведения.
📸 SCREENSHOT: env-vars-terminal.png
Установка переменных окружения в терминале
API-ключи провайдеров
Ключи провайдеров используют стандартные имена переменных SDK. Полный список см. в ИИ-провайдеры.
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-токен:export AWS_BEARER_TOKEN_BEDROCK="..."Переменные пути конфигурации
| Переменная | Описание |
|---|---|
CYBERSTRIKE_CONFIG | Полный путь к пользовательскому файлу конфигурации |
CYBERSTRIKE_CONFIG_DIR | Дополнительный каталог .cyberstrike для сканирования |
CYBERSTRIKE_CONFIG_CONTENT | Встроенная JSON-конфигурация (переопределяет файловые источники) |
CYBERSTRIKE_DISABLE_PROJECT_CONFIG | Установите truthy для пропуска загрузки конфигурации проекта |
CYBERSTRIKE_PERMISSION | Переопределение разрешений как JSON-строка |
Флаги поведения
Эти переменные переключают поведение во время выполнения. Булевы флаги включаются при установке truthy значения (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 |
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 передайте JSON-карту разрешений через CYBERSTRIKE_PERMISSION:
export CYBERSTRIKE_PERMISSION='{"bash":"allow","edit":"allow","read":"allow"}'Значение имеет ту же форму, что и поле конфигурации permission. См. Разрешения.
Настройка оболочки
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. Значения по умолчаниюПодробности см. в Справочнике по конфигурации.
Проверка переменных
# Список активных переменных Cyberstrikeenv | grep CYBERSTRIKE
# Проверка установки ключа провайдера (без полного вывода)echo "${ANTHROPIC_API_KEY:0:12}..."Безопасность
- Никогда не выводите полные API-ключи
- Используйте управление секретами в CI/CD
- Регулярно ротируйте ключи
- Ограничьте права
.env:chmod 600 .env
Tip
Используйте менеджер секретов, такой как HashiCorp Vault, AWS Secrets Manager или 1Password CLI для продакшен-сред.
Связанная документация
- Справочник по конфигурации — Все параметры конфигурации
- Конфигурация проекта — Настройки проекта
- Глобальная конфигурация — Глобальные настройки
- Аутентификация — Настройка аутентификации