Variables d'environnement
Les variables d’environnement configurent les identifiants des fournisseurs et les comportements à l’exécution — utile pour le CI/CD et les environnements conteneurisés.
Info
Cyberstrike ne lit pas les paramètres comme le modèle, l’agent ou le thème depuis les variables d’environnement. Ceux-ci sont dans le fichier de configuration (voir Référence de configuration). Les variables CYBERSTRIKE_* ci-dessous sont limitées aux identifiants, chemins de configuration et indicateurs de comportement.
📸 SCREENSHOT: env-vars-terminal.png
Définition des variables d’environnement dans le terminal
Clés API des fournisseurs
Les clés des fournisseurs utilisent les noms de variables standard du SDK. Voir Fournisseurs IA pour la liste complète.
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 est également accepté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"# ou un jeton porteur :export AWS_BEARER_TOKEN_BEDROCK="..."Variables de chemin de configuration
| Variable | Description |
|---|---|
CYBERSTRIKE_CONFIG | Chemin complet vers un fichier de configuration personnalisé |
CYBERSTRIKE_CONFIG_DIR | Répertoire .cyberstrike supplémentaire à scanner |
CYBERSTRIKE_CONFIG_CONTENT | Configuration JSON en ligne (surcharge les sources fichier) |
CYBERSTRIKE_DISABLE_PROJECT_CONFIG | Définir à vrai pour ignorer la configuration du projet |
CYBERSTRIKE_PERMISSION | Surcharge de permissions sous forme de chaîne JSON |
Indicateurs de comportement
Ces variables activent/désactivent des comportements à l’exécution. Les indicateurs booléens sont activés lorsqu’ils sont définis à une valeur vraie (1, true).
| Variable | Description |
|---|---|
CYBERSTRIKE_AUTO_SHARE | Partager automatiquement les sessions nouvellement créées |
CYBERSTRIKE_DISABLE_AUTOUPDATE | Désactiver les mises à jour automatiques |
CYBERSTRIKE_DISABLE_AUTOCOMPACT | Désactiver la compaction automatique du contexte |
CYBERSTRIKE_DISABLE_PRUNE | Désactiver l’élagage des anciennes sorties d’outils |
CYBERSTRIKE_DISABLE_TERMINAL_TITLE | Ne pas mettre à jour le titre du terminal |
CYBERSTRIKE_DISABLE_DEFAULT_PLUGINS | Ne pas charger les plugins intégrés |
CYBERSTRIKE_DISABLE_LSP_DOWNLOAD | Ne pas télécharger les serveurs LSP |
CYBERSTRIKE_DISABLE_MODELS_FETCH | Ne pas récupérer le catalogue de modèles distant |
CYBERSTRIKE_DISABLE_EXTERNAL_SKILLS | Ne pas charger les compétences externes |
CYBERSTRIKE_ENABLE_EXA | Activer la recherche web via Exa |
CYBERSTRIKE_MODELS_URL | Remplacer l’URL du catalogue de modèles |
CYBERSTRIKE_MODELS_PATH | Charger le catalogue de modèles depuis un chemin local |
Identifiants du serveur
Utilisés par cyberstrike serve et cyberstrike web :
export CYBERSTRIKE_SERVER_PASSWORD="..." # requis pour démarrer le serveurexport CYBERSTRIKE_SERVER_USERNAME="admin" # optionnel, des valeurs par défaut existentRéférencer les variables dans la configuration
Les fichiers de configuration supportent deux substitutions — et uniquement ces deux :
Variables d’environnement — {env:VAR}
{ "provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } } }}{env:VAR} est remplacé par la valeur de VAR, ou une chaîne vide si non défini. La syntaxe shell ${VAR}, $VAR et la syntaxe de valeur par défaut ({env:VAR:-default}) ne sont pas supportées.
Contenu de fichiers — {file:path}
{ "instructions": ["{file:./SECURITY.md}"]}Les chemins peuvent être relatifs au fichier de configuration, absolus, ou commencer par ~/ pour le répertoire personnel.
Surcharges de permissions pour l’automatisation
cyberstrike run (non interactif) rejette automatiquement tout appel d’outil qui demanderait sinon confirmation. Pour pré-approuver des outils en CI, passez une carte de permissions JSON via CYBERSTRIKE_PERMISSION :
export CYBERSTRIKE_PERMISSION='{"bash":"allow","edit":"allow","read":"allow"}'La valeur suit la même structure que le champ permission de la configuration. Voir Permissions.
Configuration du 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 1Fichiers .env
ANTHROPIC_API_KEY=sk-ant-...CYBERSTRIKE_PERMISSION={"bash":"allow"}# Charger avant le lancementsource .env && cyberstrikeCaution
Ne committez jamais les fichiers .env dans le contrôle de version. Ajoutez .env au .gitignore.
Intégration 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: - .envOrdre de priorité
Les sources de configuration sont fusionnées dans cet ordre (la plus haute l’emporte) :
1. Arguments en ligne de commande2. Configuration gérée entreprise3. CYBERSTRIKE_CONFIG_CONTENT (JSON en ligne)4. Configuration du répertoire .cyberstrike/5. Configuration du projet (cyberstrike.json / .jsonc)6. CYBERSTRIKE_CONFIG (fichier personnalisé)7. Configuration globale (~/.config/cyberstrike/)8. Remote .well-known/cyberstrike9. Valeurs par défautVoir la Référence de configuration pour les détails.
Vérifier les variables
# Lister les variables Cyberstrike activesenv | grep CYBERSTRIKE
# Vérifier qu'une clé fournisseur est définie (sans l'afficher entièrement)echo "${ANTHROPIC_API_KEY:0:12}..."Sécurité
- N’affichez jamais les clés API complètes
- Utilisez la gestion des secrets en CI/CD
- Faites une rotation des clés périodiquement
- Restreignez les permissions
.env:chmod 600 .env
Tip
Utilisez un gestionnaire de secrets comme HashiCorp Vault, AWS Secrets Manager ou 1Password CLI pour les environnements de production.
Documentation associée
- Référence de configuration - Toutes les options de configuration
- Configuration du projet - Paramètres du projet
- Configuration globale - Paramètres globaux
- Authentification - Configuration de l’authentification