Zum Inhalt

jcode

jcode ist ein quelloffener Terminal-Coding-Agent von jcode.sh. Er bietet eine interaktive TUI und eine skriptbare CLI für Repository-Analysen, Code-Änderungen und werkzeugbasierte Entwicklungs-Workflows.

jcode besitzt einen eigenen Provider-Typ openai-compatible. In Kombination mit unserer in der Schweiz betriebenen Everyware AI API bleiben Ihre Prompts und Quellcodes innerhalb unserer Schweizer GPU-Infrastruktur.


Hauptmerkmale

  • Terminal-First-TUI: Interaktives Programmieren direkt im Projektverzeichnis.
  • Benutzerdefinierte Provider: Benannte Provider-Profile für OpenAI-kompatible Endpunkte.
  • Modellkatalog: Modelle vom /v1/models-Endpunkt des Gateways laden oder explizit deklarieren.
  • Reasoning-Steuerung: Reasoning-Einstellungen pro Modell und /effort in der TUI.
  • Volle Datensouveränität: Alle Modellanfragen laufen über unsere Schweizer Everyware AI API.

Installation

curl -fsSL https://jcode.sh/install | bash
brew tap 1jehuang/jcode
brew install jcode

Prüfen Sie die Installation:

jcode --version

Konfiguration

1. API-Key speichern

Speichern Sie den virtuellen API-Key in der privaten Provider-Umgebungsdatei von 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. Gateway registrieren

Erstellen oder bearbeiten Sie ~/.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

Der Profilname ew ergibt zusammen mit den Modell-IDs die Selektoren ew/flagship, ew/balanced und ew/fast.

Reasoning-Effort

jcode erkennt Reasoning-Unterstützung automatisch anhand des Modellfamilien-Namens. Da die Gateway-Modellnamen (flagship, balanced, fast) neutral sind, setzen Sie supports_reasoning_effort = true explizit, damit /effort als reasoning_effort gesendet wird.

3. Alternative: Profil über die CLI erzeugen

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

Weitere Modelle können anschliessend unter [[providers.ew.models]] in config.toml ergänzt werden.

4. Prüfen und starten

cd /path/to/project
jcode --provider-profile ew auth-test
jcode --provider-profile ew

Typische Befehle und Workflows

  • Interaktiv starten:
    jcode
    
  • Profil und Modell beim Start auswählen:
    jcode --provider-profile ew --model balanced
    
  • In der TUI:
    • /model – Modellauswahl öffnen
    • Ctrl+Tab / Ctrl+Shift+Tab – nächstes / vorheriges Modell
    • /effort – Reasoning-Stufe ändern
  • Einmaliger Prompt:
    jcode run "Erkläre die Architektur dieses Repositories."
    

Modellgrenzen

jcode kennt context_window pro Modell, aber kein separates Output-Token-Limit; die Ausgabelänge wird vom Agenten verwaltet. Ist ein Modell nicht deklariert, verwendet jcode einen Kontext von 200'000 Token — deklarieren Sie die Grenzen wie oben explizit.