jcode
jcode è un agente di coding da terminale open source disponibile su jcode.sh. Offre una TUI interattiva e una CLI scriptabile per l'analisi dei repository, le modifiche al codice e i flussi di lavoro di sviluppo guidati dagli strumenti.
jcode dispone di un tipo di provider openai-compatible dedicato. Connesso alla nostra Everyware AI API ospitata in Svizzera, i Suoi prompt e il Suo codice sorgente restano all'interno della nostra infrastruttura GPU svizzera.
Funzionalità principali
- TUI orientata al terminale: coding interattivo direttamente nella directory del progetto.
- Provider personalizzati: profili di provider denominati per gli endpoint compatibili con OpenAI.
- Catalogo dei modelli: recuperi i modelli disponibili dall'endpoint
/v1/modelsdel gateway, oppure li dichiari esplicitamente. - Controllo del ragionamento: impostazioni di ragionamento per modello e
/effortnella TUI. - Piena sovranità dei dati: tutte le richieste ai modelli passano attraverso la nostra Everyware AI API svizzera.
Installazione
curl -fsSL https://jcode.sh/install | bash
brew tap 1jehuang/jcode
brew install jcode
Verifichi l'installazione:
jcode --version
Configurazione
1. Salvare la chiave API
Memorizzi la chiave API virtuale nel file di ambiente privato del provider 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. Registrare il gateway
Crei o modifichi ~/.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
Il nome del profilo ew combinato con gli ID dei modelli produce i selettori ew/flagship, ew/balanced e ew/fast.
Effort di ragionamento
jcode rileva automaticamente il supporto al ragionamento dal nome della famiglia di modelli. Poiché i nomi dei modelli del gateway (flagship, balanced, fast) sono neutri, imposti esplicitamente supports_reasoning_effort = true affinché /effort venga inviato come reasoning_effort.
3. Alternativa: generare il profilo tramite 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
I modelli aggiuntivi possono poi essere aggiunti sotto [[providers.ew.models]] in config.toml.
4. Verificare e avviare
cd /path/to/project
jcode --provider-profile ew auth-test
jcode --provider-profile ew
Comandi e flussi di lavoro tipici
- Avviare in modo interattivo:
jcode - Selezionare profilo e modello all'avvio:
jcode --provider-profile ew --model balanced - Nella TUI:
/model: aprire il selettore dei modelliCtrl+Tab/Ctrl+Shift+Tab: modello successivo / precedente/effort: modificare il livello di ragionamento
- Prompt singolo:
jcode run "Explain the architecture of this repository."
Limiti dei modelli
jcode espone context_window per modello ma nessun limite separato per i token di output; la lunghezza dell'output è gestita dall'agente. Se un modello non è dichiarato, jcode ricorre a un contesto di 200.000 token. Dichiari i limiti esplicitamente come mostrato sopra.