Vai al contenuto

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/models del gateway, oppure li dichiari esplicitamente.
  • Controllo del ragionamento: impostazioni di ragionamento per modello e /effort nella 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 modelli
    • Ctrl+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.