jcode
jcode est un agent de codage en terminal open source disponible sur jcode.sh. Il propose une TUI interactive et une CLI scriptable pour l'analyse de dépôts, les modifications de code et les workflows de développement pilotés par outils.
jcode dispose d'un type de fournisseur openai-compatible dédié. Connecté à notre Everyware AI API hébergée en Suisse, vos prompts et votre code source restent au sein de notre infrastructure GPU suisse.
Fonctionnalités clés
- TUI orientée terminal: codage interactif directement dans le répertoire du projet.
- Fournisseurs personnalisés: profils de fournisseurs nommés pour les endpoints compatibles OpenAI.
- Catalogue de modèles: récupérez les modèles disponibles depuis l'endpoint
/v1/modelsdu gateway, ou déclarez-les explicitement. - Contrôle du raisonnement: paramètres de raisonnement par modèle et
/effortdans la TUI. - Souveraineté totale des données: toutes les requêtes de modèle passent par notre Everyware AI API suisse.
Installation
curl -fsSL https://jcode.sh/install | bash
brew tap 1jehuang/jcode
brew install jcode
Vérifiez l'installation:
jcode --version
Configuration
1. Enregistrer la clé API
Stockez la clé API virtuelle dans le fichier d'environnement privé du fournisseur jcode:
mkdir -p ~/.config/jcode
printf 'JCODE_PROVIDER_EW_API_KEY=sk-bf-...\n' > ~/.config/jcode/provider-ew.env
chmod 600 ~/.config/jcode/provider-ew.env
2. Enregistrer le gateway
Créez ou modifiez ~/.jcode/config.toml:
[provider]
default_provider = "ew"
default_model = "flagship"
[providers.ew]
type = "openai-compatible"
base_url = "https://ai.ewcs.ch/v1"
auth = "bearer"
api_key_env = "JCODE_PROVIDER_EW_API_KEY"
env_file = "provider-ew.env"
default_model = "flagship"
requires_api_key = true
supports_reasoning_effort = true
[[providers.ew.models]]
id = "flagship"
context_window = 1048576
reasoning = true
[[providers.ew.models]]
id = "balanced"
context_window = 1000000
reasoning = true
[[providers.ew.models]]
id = "fast"
context_window = 262144
reasoning = true
Le nom de profil ew combiné aux IDs de modèle produit les sélecteurs ew/flagship, ew/balanced et ew/fast.
Effort de raisonnement
jcode détecte automatiquement la prise en charge du raisonnement à partir du nom de la famille de modèles. Comme les noms de modèles du gateway (flagship, balanced, fast) sont neutres, définissez explicitement supports_reasoning_effort = true pour que /effort soit envoyé comme reasoning_effort.
3. Alternative: générer le profil via la CLI
printf '%s' "$EW_AI_API_KEY" | jcode provider add ew \
--base-url https://ai.ewcs.ch/v1 \
--model flagship \
--context-window 1048576 \
--api-key-stdin \
--set-default
Les modèles supplémentaires peuvent ensuite être ajoutés sous [[providers.ew.models]] dans config.toml.
4. Vérifier et démarrer
cd /path/to/project
jcode --provider-profile ew auth-test
jcode --provider-profile ew
Commandes et workflows typiques
- Démarrer en mode interactif:
jcode - Sélectionner le profil et le modèle au démarrage:
jcode --provider-profile ew --model balanced - Dans la TUI:
/model: ouvrir le sélecteur de modèleCtrl+Tab/Ctrl+Shift+Tab: modèle suivant / précédent/effort: modifier le niveau de raisonnement
- Prompt unique:
jcode run "Explain the architecture of this repository."
Limites des modèles
jcode expose context_window par modèle mais pas de limite distincte de tokens de sortie; la longueur de sortie est gérée par l'agent. Si un modèle n'est pas déclaré, jcode revient à un contexte de 200 000 tokens. Déclarez les limites explicitement comme indiqué ci-dessus.