Ein offenes Agenten-Harness. Automatisierung, die du kontrollierst und besitzt.
Feuere Arbeit auf einen Agenten ab — unter einem Envelope, den du geschrieben hast. Häng dich aus. Unterbrochen wirst du nur, wenn der Envelope es sagt. Oder lass es headless über eine Aufgabenliste laufen, Zeile für Zeile, jede in sauberem Kontext.
Installiert contenox. Mit contenox init richtest du einen Workspace ein.
Die Mission, live
Dreißig Sekunden, von Anfang bis Ende.
Ein Kommando feuert einen deklarierten Agenten auf eine Aufgabe ab, begrenzt durch eine Policy, die du geschrieben hast. Was passiert, nachdem du weggegangen bist, ist der Punkt.
Kein Babysitten am Terminal, keine abgelaufenen Freigaben, keine stillen Änderungen. Der Envelope hat entschieden, was unbeaufsichtigt laufen darf, die Chain hat entschieden, wo ein Mensch das letzte Wort hat, und eine Antwort hat den Run genau einmal fortgesetzt.
Der Teil, den du nicht herunterladen kannst
Diese Maschine hast du längst benutzt. Nur die Kontrollen hattest du nie.
Wenn dir ein Assistent seine „Denkschritte“ zeigt, siehst du eine Orchestrierungs-Schleife: planen, Tool aufrufen, Ergebnis prüfen, Budget prüfen, neu entscheiden. Jedes große KI-Produkt läuft auf so einer Schicht — ereignisgetriebene Agenten-Choreografie unter Governance. Diese Schicht entscheidet, was das Modell darf, wann es pausiert und was es kostet. Der Anbieter konfiguriert sie. Du siehst sie nie — und ändern kannst du sie nicht.
Contenox ist diese Schicht, ausgeliefert als Produkt — mit dem Schaltpult in der Hand des Operators. Die Schleife ist eine Chain-Datei, die du schreibst. Die Grenzen sind ein Envelope, den du geschrieben hast. Der Zustand liegt auf deiner Platte. Der Unterschied ist nicht, die Maschine erfunden zu haben — sondern wer die Kontrollen hält.
Chain → Workflow → Agenten-Schleife
Ein Satz rein. Die Schleife, die dieser Satz verdient.
Eine Chain beginnt nicht mit einem Agenten. Sie beginnt mit einem route-Task, der die Anfrage liest, sie labelt und an die Schleife übergibt, die für dieses Label gebaut ist — mit eigener Instruktion, eigenem Tool-Umfang, eigenem Budget, eigenem Weg aus dem Fehlerfall. Die interaktiven Chains, die mit contenox kommen, sortieren jede Nachricht in coding_change, general oder review_change, bevor sonst irgendetwas läuft.
{
"id": "classify_request",
"handler": "route",
"system_instruction": "Classify the user's latest message. Use 'coding_change'
for requests to create, edit, refactor, fix, test or otherwise change
code/files. Use 'general' for questions, explanations, setup help. Use
'review_change' for requests to review, audit or assess code that already
exists, where nothing is to be modified...",
"execute_config": { "model": "{{var:alt_model|var:model}}", "tools": [] },
"transition": {
"on_failure": "acp_chat",
"branches": [
{ "operator": "equals", "when": "coding_change", "goto": "coding_chat" },
{ "operator": "equals", "when": "general", "goto": "acp_chat" },
{ "operator": "equals", "when": "review_change", "goto": "review_chat" },
{ "operator": "default", "when": "", "goto": "acp_chat" }
]
}
} Gekürzt aus der mitgelieferten chain-agent-acp.json. Der Klassifikator hat keine Tools, kann also nicht auf einer Anfrage handeln, die er noch nicht verstanden hat — und er darf auf einem günstigeren Modell laufen als die Schleifen, die er speist. Ein unbekanntes Label fällt in den default-Zweig: auf die schwächste Schleife, nie auf die stärkste. Welcher Zweig lief, steht im Run-Log — eine enttäuschende Antwort ist damit eine Frage, die eine Antwort hat.
- →Ein Spezialist ist Konfiguration, keine Formulierung: Die Review-Schleife entzieht per hide_tools jedes schreibende Tool — durchgesetzt dort, wo Aufrufe ausgeführt werden, nicht dadurch, dass man sie dem Modell nur nicht anbietet.
- →Ein Support-Assistent leitet Abrechnungsfragen an eine lesende Schleife mit der Billing-API und Kontoänderungen an eine, die schreiben darf, aber für einen Menschen pausiert.
- →Ein Daten-Workflow leitet „fasse das zusammen“ und „extrahiere diese Felder“ an Schleifen mit unterschiedlichen Ausgabe-Kontrakten — der Aufrufer bekommt parsebare Ausgabe, ohne jedes Mal darum zu bitten.
- →Eine regulierte Installation leitet alles, was regulierte Daten berührt, an eine Schleife unter strengerer Policy — unabhängig davon, wie die Anfrage formuliert war.
Du schreibst die Regeln
Wie viel Agency? Das entscheidest du — schriftlich.
Jeder Run ist durch einen Envelope begrenzt: eine JSON-Policy, die benennt, was still durchläuft, was für einen Menschen pausiert und was verweigert wird — plus harte Obergrenzen für Tool-Aufrufe und Tokens und eine Festlegung, welche Modelle und Backends die Unit nutzen darf. Kein versteckter Prompt entscheidet für dich. Die Datei liegt in deinem Repo und wird reviewt wie jede andere Änderung.
{
"default_action": "approve",
"compute": { "maxToolCalls": 300, "maxTokens": 2000000, "onExhausted": "finish_stuck" },
"rules": [
{ "tools": "local_fs", "tool": "*", "action": "deny",
"when": [{ "key": "path", "op": "glob",
"value": "**/{.ssh,.aws,.kube,.config/gcloud}/**" }] },
{ "tools": "local_fs", "tool": "read_file", "action": "allow" },
{ "tools": "local_fs", "tool": "write_file", "action": "approve" },
{ "tools": "local_shell", "tool": "local_shell", "action": "allow",
"when": [{ "key": "command", "op": "command_prefix_allowlist",
"value": "go test,go vet,ls,cat,grep,npm test,pytest" }] },
{ "tools": "local_shell", "tool": "local_shell", "action": "approve" }
],
"attention": { "allowAgentAnswers": false }
} Gekürzt aus dem mitgelieferten Default-Preset. Was keine Regel trifft, schlägt geschlossen fehl — es fragt einen Menschen. Sechs Presets kommen mit contenox init, und contenox vet prüft deine Policy, bevor irgendetwas unter ihr läuft.
Agentic Engineering
Vibecoding findet die Schleife. Loop Engineering behält sie.
Vibecoding ist echte Entdeckung — mit einem Agenten improvisieren, bis die Schleife funktioniert. Wir haben so Features gebaut und ehrlich aufgeschrieben, was es gekostet hat. Aber eine Schleife, die morgen laufen muss, in der CI, unbeaufsichtigt, ist kein Vibe mehr. Sie ist ein Artefakt.
Das ist Agentic Engineering: Die Schleife wird geschrieben, reviewt, versioniert und begrenzt — und welche Schleife läuft, wird ebenfalls geschrieben. Jede Stufe in einer contenox-Chain entstand aus einem benannten Fehlermodus, unter einer Disziplin: Verwirrung darf nie unbeaufsichtigt in Mutation kippen.
Ein Harness, überall
Einmal schreiben. Laufen lassen, wo die Arbeit ist.
Derselbe agentische Workflow, derselbe Envelope, derselbe Sitzungszustand hinter jeder Oberfläche — was du im Editor freigegeben hast, ist das, was aus dem Cron läuft.
Dein Terminal
contenox new öffnet eine frische Session für Chat, Plan und Shell; contenox resume öffnet die letzte wieder, mit ihrem Transkript. Zustandsbehaftete Tools behalten ihren Zustand über die Turns, und eine Freigabe ist eine Ein-Tasten-Karte im Transkript.
Dein Editor
Der komplette Agent in Zed, JetBrains, AionUi oder OpenClaw — Freigaben laufen über die Oberfläche des Editors, und der Workflow bleibt in der Chain-Datei, nicht im Plugin.
Deine Skripte und Pipelines
contenox run führt eine Chain nicht-interaktiv aus — aus Cron, CI oder einem Shell-Skript. Tool-lastige Jobs sind das Heimspiel: Release-Evidenzpakete, Request-Processing-Chains, schmale API-Wrapper mit Freigabe für jeden schreibenden Aufruf.
Nicht vertraute Treiber
Eine headless acpx-Session bekommt das gehärtete Profil: Shell, Writes und Netzwerk werden verweigert — statt zur Freigabe angeboten.
- → Editoren sprechen mit dem kompletten Agenten über stdio — ohne Plugin-Lock-in. Agent Client Protocol
- → Jeder MCP-Server — stdio, SSE oder HTTP — registriert sich einmal; seine Tools werden policy-begrenzte Chain-Tools. Model Context Protocol
- → Jeder HTTP-Dienst mit Spec wird ein aufrufbares, allowlistbares Tool. OpenAPI-Tools-Anleitung
Derselbe Platz, zwei Besetzungen
Copilot hilft dir beim Tippen. Contenox fährt die Schicht, während du weg bist.
Die KI, die bei der Arbeit für dich arbeitet, ist ein Platz — und es gibt zwei Arten, ihn zu besetzen. Der Agent des Anbieters läuft auf deiner Arbeit: Verhalten wird in Redmond entschieden, Regeln, die du nicht lesen kannst, gesteuert vom Tenant-Admin, deine Nutzung fließt in fremde Telemetrie.
Contenox ist der andere Weg: dein Agent unter deinem Envelope — Regeln, die du geschrieben hast, Zustand auf deiner Platte, Modelle, die du gewählt hast. Keine zwei Kategorien. Eine Kategorie, von zwei Enden her besetzt.
Standardmäßig deins
Dein Rechner, dein Zustand, deine Modelle.
- →Sessions, Konfiguration, Run-Logs und erfasster Ausführungszustand liegen in SQLite auf deinem Rechner. Kein Konto, kein contenox-Dienst dazwischen — außer du pairst mit dem optionalen Relay unten. Telemetrie ist opt-in und standardmäßig aus.
- →Inferenz ist Konfiguration: lokales Ollama oder vLLM, wenn nichts dein Netzwerk verlassen darf — oder OpenAI, Anthropic, Gemini, Bedrock und Vertex mit deinen eigenen Schlüsseln, gepinnt auf eine Region deiner Wahl. Ein späterer Wechsel ist eine Konfigurationsänderung, kein Umbau.
- →Secrets werden zur Anfragezeit aus deiner Umgebung aufgelöst und landen nie in einer Config auf der Platte; Agent-erreichbare Shells bekommen eine bereinigte Umgebung mit genau dem, was die Aufgabe braucht.
Optional: das gehostete Relay
Deine Session, auf deinem Handy.
Alles oben läuft ohne Konto. Wenn eine laufende Session von woanders erreichbar sein soll, pairst du den Rechner mit dem gehosteten Relay: ein getippter Schlüssel aus der contenox-App, kein Browser auf der Maschine. Der Rechner baut die Verbindung selbst nach außen auf und sendet genau zwei Dinge — den Schlüssel und seinen Hostnamen. Danach liest du das Transkript und beantwortest Freigaben vom Handy. Kostenlos für dich und drei Teamkollegen, je eine Maschine — und eine Installation, die nie pairt, kontaktiert kein Relay.
Wir können contenox-Agenten auch für dich provisionieren und betreiben — managed, zu deinen Bedingungen — und suchen dafür frühe Design-Partner: sprich mit uns.
Außerdem an Bord
Es liest Go wie der Compiler
Definition, References, Implementations, Symbols, Diagnostics — beantwortet in-process vom echten Type-Checker, warm in Mikrosekunden. Kein Language-Server zu installieren oder zu pflegen.
Frag das Repo, bekomm zitierte Zeilen
contenox index baut einen hybriden Volltext-plus-Embedding-Index in lokalem SQLite; contenox search antwortet mit file:line-Zitaten und markiert einen Treffer als veraltet, sobald sich seine Datei ändert.
Loslegen
Feuere deine erste Mission ab.
Fragen? hello@contenox.com · Issues und PRs auf GitHub
Baut auf
Lokale Modelle laufen über Ollama oder vLLM und deren lokale APIs; gehostete Provider über ihre öffentlichen APIs. Keine mitgelieferte Inferenz-Runtime, keine GPU-Treiber im Paket.