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
/effortin 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 öffnenCtrl+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.