Naar de inhoud
  • opensource
  • AGPL-3.0
  • v0.2.0
  • Bun ≥ 1.3.14
  • TypeScript

Een codeeragent in de terminal met een cockpit, geen chatlog.

Rovecode draait op Bun, praat met 16 providers of met elk OpenAI-compatibel endpoint, en haalt elke gereedschapsaanroep door een beleid dat standaard weigert voordat het je repository raakt. Vrije software onder AGPL-3.0.

$ rovecode "fix the failing test"
rovecode · atlas · feature/authreal frame
De sextant-TUI op 160 bij 44 cellen: bestandsboom met git-status, het codepaneel met src/auth/callback.ts en de gewijzigde regels gemarkeerd, het berichtenpaneel met lees- en bewerkregels en een goedkeuringskaart die vraagt om bun test uit te voeren, het plan bij stap 1 van 4, 13 procent context gebruikt, en de rovecode-wolkmascotte die om een knikje vraagt.
+4 −1 gelandeerst vragen · goedkeuringskaartcontext 13 % van 200k

Echt beeld: de goedkeuringskaart voor bun test, de bewerkingsregel +4 −1, context op 13 % van 200k. Gerenderd door de sextant-schilders met een vaste klok.

  • 2,200+tests
  • 16ingebouwde providers
  • 4beleidslagen
  • 15talen op deze pagina
  • AGPL-3.0licentie

Een codeeragent voor de terminal. TypeScript op Bun, 47 overgezette patronen, één beleid dat standaard weigert vóór elk gereedschap.

teams die rovecode gebruiken

  • Northwind Robotics
  • Harbourline Payments
  • Meridian Studio
  • Cobalt Grid
  • Larkspur Health
  • Tessellate
  • Ferrous Labs
  • Quill & Compass

Tijdelijke namen, tot de eerste klanten instemmen met vermelding.

02de cockpit

Zes panelen op één scherm. Het bestand dat jou aangaat scrollt nooit weg.

Bestanden met git-status, code met de markeerband en ±-diff, compacte gereedschapsregels, plan, verbruik en de mascotte. Zonder scherm gerenderd door de sextant-schilders met een vaste klok: precies het codepad waarmee de TUI tekent, geen mockup.

berichtenpaneel · regel voor regel

Eén run, overgeschreven van het beeld hierboven.

Elke gereedschapsaanroep is één regel: het werkwoord, het bestand en wat er veranderde. De bewerking landde als +4 −1. Het shell-commando wacht achter één kaart met drie antwoorden; Esc weigert, en het antwoord geldt de rest van de sessie.

Kindagenten kunnen niets vragen. Een verboden argv bereikt de kaart helemaal niet.

03problemen → oplossingen

Vier dingen die misgaan bij terminalagenten, en wat rovecode daaraan doet.

Gezegd zoals je het achter het toetsenbord zou zeggen, beantwoord met het mechanisme en zijn grens. Elke strook is een echte beelduitsnede of het echte configuratiebestand.

  1. ~/.rovecode/providers.json
    {
    "default": "kaesra/zai-org/glm-5.3-flash",
    "providers": {
    "kaesra": {
    "baseUrl": "https://api.kaesra.tech/v1",
    "protocol": "openai",
    "keyEnv": "KAESRA_API_KEY"
    },

    01probleem

    Elke agent komt vastgelast aan de API en de prijspagina van één leverancier.

    wat rovecode doet

    Eén StreamFn-naad en een levend providerregister. 16 benoemde providers, of elk OpenAI- of Anthropic-compatibel endpoint uit providers.json; een provider die je in een andere terminal toevoegt bedient meteen de volgende aanroep. Fallbackketens per rol schuiven door bij een 429 of 5xx.

    rovecode provider add homelab http://10.0.0.7:8000/v1 --no-key
  2. The messages panel: a user line, the assistant's note, then compact tool rows for read and edit with +5 −2

    02probleem

    Een chatlog schuift het bestand dat jou aangaat van het scherm terwijl de agent het bewerkt.

    wat rovecode doet

    Een cockpit met panelen: bestanden, code, berichten, plan, verbruik en de weerwolkmascotte. Het berichtenpaneel houdt elke gereedschapsaanroep op één compacte regel; het codepaneel toont de ene hunk die geland is.

    files · code · messages · plan · usage · rovecode
  3. The approval card: needs your permission, bash rm -rf node_modules && git checkout -- ., with deny selected

    03probleem

    Het model vraagt om rm -rf en het harnas voert het uit omdat niemand op tijd nee zei.

    wat rovecode doet

    Eerst jokerregels die standaard weigeren, dan execpolicy-oordelen waarbij het verbodene noch uitvoering noch een mens bereikt, dan een goedkeuringskaart op de gecorrigeerde argumenten. 4 gestapelde lagen, en geen enkele doet alsof ze een sandbox is.

    rules → execpolicy → approval → runtime denylist + cwd lock
  4. The /rewind picker: rewind to a turn, rows #38 to #41 with #40 selected

    04probleem

    Beurt 40 loopt mis en de enige weg terug is een nieuw gesprek.

    wat rovecode doet

    Een alleen-toevoegen JSONL-sessieboom met sha256-hashketen. /rewind opent de beurtkiezer, vertakt vanaf elke beurt en vult de editor met de volledige tekst van die beurt; shadow-git-checkpoints herstellen in 3 modi zonder je .git aan te raken.

    /rewind /checkpoints /restore rovecode trace <session-id>
  1. 01sextant-cockpit
  2. 02providers, warm herladen
  3. 03MCP-client
  4. 04Veiligheidsladder
  5. 05Sessieboom + checkpoints
  6. 06ACP voor Zed + JetBrains
  7. 07Headless HTTP + SSE
  8. 08Subagenten op de achtergrond
  9. 09Hooks
  10. 10OpenTelemetry

04mogelijkheden

Tien mogelijkheden, elk een port met een file:line-spoor.

Rovecode port onderbouwde patronen uit pi, opencode, codex, cline, aider, gemini-cli en andere. Een port landt pas nadat een criticus met verse context hem toetst aan een lat die vóór het werk is geschreven.

oppervlak

sextant-cockpit

6 panelen op een truecolor-TTY van minstens 100×30: bestanden met git-status, code met markeerband en ±-diff, compacte gereedschapsregels, plan, verbruik, de mascotte. 3 paletten, /theme wisselt live; --classic behoudt de pi-tui-chat.

rovecode · ROVECODE_TUI=sextant|classic · /theme night|ember|contrast
Uitsnede van het sextant-beeld: bestandsboom en het codepaneel met de markeerband van de bewerking

providers

providers, warm herladen

16 ingebouwd plus alles wat je in providers.json registreert. Elke aanroep zoekt de provider op in de levende momentopname: voeg er een toe in een andere terminal en de draaiende cockpit gebruikt hem bij de volgende aanroep. Geen herstart.

rovecode provider add|list|test · rovecode model use provider/model
~/.rovecode/providers.json
{
"default": "kaesra/zai-org/glm-5.3-flash",
"providers": {
"kaesra": {
"baseUrl": "https://api.kaesra.tech/v1",
"protocol": "openai",
"keyEnv": "KAESRA_API_KEY"
},
"homelab": {
"baseUrl": "http://10.0.0.7:8000/v1",
"protocol": "openai",
"noKey": true,
"models": ["qwen3-coder-30b"]
}
}
}
  • context

    MCP-client

    stdio- en HTTP-servers uit .rovecode/mcp.json. Late onthulling via 2 registergereedschappen, dus een inactieve server kost bijna nul tokens.

    mcp_list · mcp_call
  • veiligheid

    Veiligheidsladder

    Elke gereedschapsaanroep klimt vier sporten voor hij draait. Een verboden argv wordt geweigerd voordat een hook hem ziet; --yolo slaat vragen over, nooit weigerregels.

    rules → execpolicy → approval → runtime

  • geheugen

    Sessieboom + checkpoints

    Alleen-toevoegen JSONL met sha256-hashketen. /rewind vertakt, /resume pakt op, shadow-git-checkpoints herstellen in 3 modi en raken je .git nooit aan.

    /rewind · /checkpoints · /restore
  • ACP voor Zed + JetBrains

    Agent Client Protocol v1 over stdio, officiële SDK.

    rovecode acp
  • Headless HTTP + SSE

    Sessies, één RunEvent-stroom, OpenAPI op /doc. Poort 4100, alleen loopback.

    rovecode serve
  • Subagenten op de achtergrond

    Begrensde FIFO-kindsessies, standaard 3 tegelijk; notities landen in de volgende beurt van de ouder.

    /tasks
  • Hooks

    9 getypte hooks in .rovecode/hooks.ts, elk begrensd op 5 s. pre_tool kan alleen weigeren.

    pre_tool · approval · on_event
  • OpenTelemetry

    Eén trace per run: run ⊃ turn ⊃ tool met tokens, latentie, kosten. Geen endpoint ingesteld, geen exporter.

    ROVECODE_OTEL_ENDPOINT

05beveiliging en uitrol

Vier lagen voor elke tool-aanroep. Niets verlaat de machine die je niet hebt geconfigureerd.

Het veiligheidsmodel zoals de README het stelt, grenzen inbegrepen. Elke laag noemt wat ze beslist en waar ze stopt; geen ervan is een sandbox.

  1. laag 01

    01rules

    Deny-by-default wildcardregels over tool en argv. Een verboden patroon wordt geweigerd voordat er iets draait.

    grensPatroonherkenning, geen intentie: een nieuwe schrijfwijze van een gevaarlijk commando gaat door naar de volgende laag.

  2. laag 02

    02execpolicy

    Oordelen over de geparste argv: allow, prompt, forbidden. Wat verboden is bereikt noch de uitvoering noch een mens.

    grensLeest het commando, niet de shell waarin het draait; een alias of de body van een script blijft ondoorzichtig.

  3. laag 03

    03approval

    Eén kaart over de herziene argumenten met toestaan, altijd en weigeren. Antwoorden worden per sessie gecachet; subagents mogen niet vragen.

    grensEen menselijke beslissing: --yolo slaat deze sport over, nooit de deny-regels erboven.

  4. laag 04

    04runtime

    Een bash-denylist en een cwd-slot bij uitvoering; Esc doodt de lopende aanroep en op Windows zijn hele procesboom.

    grensDelegatie, geen isolatie. Onvertrouwd werk hoort in een container of microVM.

uitrol en gegevens

  • 01

    Self-hosted per definitie

    Draait vanaf de broncode op jouw machine of jouw CI. Een account is optioneel: het ontsluit de plannen op de prijzenpagina en zet de CLI nooit op slot. Bun ≥ 1.3.14 is de enige eis.

  • 02

    Geen phone-home

    Uitgaand verkeer gaat alleen naar de provider die je hebt ingesteld, de MCP-servers die je hebt opgesomd en web_fetch wanneer het model erom vraagt. De prijscatalogus is een offline snapshot; er is geen self-update.

  • 03

    Telemetrie is opt-in

    De OpenTelemetry-export staat uit tot ROVECODE_OTEL_ENDPOINT is gezet; zelfs dan draagt hij ids, groottes en uitkomsten — nooit prompts, argumenten of uitvoer.

  • 04

    Auditspoor door constructie

    Sessies zijn append-only JSONL met een sha256-hashketen; elke run exporteert één trace (run ⊃ turn ⊃ tool), ook geannuleerde.

  • 05

    Platformstatus

    Windows-eerst: ontwikkeling en de release-poort draaien op Windows 11. POSIX-paden zijn getest, Linux en macOS zijn nog niet CI-geverifieerd.

  • 06

    Licentie

    AGPL-3.0-only. Vrij aan te passen en te verspreiden; wie een gewijzigde build als netwerkdienst draait, moet de broncode aan die gebruikers aanbieden.

06uit de terminal

Vier echte beelden op 160×44, met de leeswaardige plekken genummerd.

Zonder scherm gerenderd door de sextant-schilders met een vaste klok: precies het codepad waarmee de TUI tekent, geen mockup. Ga over een beeld om het plat te maken; over een regel om zijn markering te laten oplichten.

rovecode · atlas · feature/auth · 160×44real frame
sextant-beeld na een bewerking: het codepaneel in diff-modus toont één hunk, het berichtenpaneel toont lees- en bewerkregels

De bewerking is geland. Het codepaneel toont precies die hunk.

Vastgelegd vóór een goedgekeurde bewerking, na een ongekeurde herbouwd uit de ankers van de bewerking zelf.

  1. 1Schakel naar ±-diff-modus zodra de bewerking landt
  2. 2Lees +4 −1 tegen het bestand op schijf
  3. 3Volg de compacte gereedschapsregels: lezen, dan bewerken
  4. 4Zie de context vollopen tot 13 % van 200k
rovecode · atlas · feature/auth · 160×44real frame
sextant-beeld met de goedkeuringskaart open: bash bun test tests/auth.test.ts, toestaan altijd weigeren

Een shell-commando wacht op een knikje. Eén kaart, drie antwoorden.

Goedkeuringen worden op de gecorrigeerde argumenten opgelost en per sessie onthouden; kindagenten kunnen niets vragen.

  1. 1Zie de exacte argv voordat hij draait
  2. 2Kies toestaan, altijd of weigeren; Esc weigert
  3. 3De kopregel schakelt naar wacht op jou
  4. 4De mascotte vraagt om het knikje en onthoudt het
rovecode · atlas · feature/auth · 160×44real frame
sextant-beeld na de run: het codepaneel in run-modus toont de bun-test-uitvoer met 18 geslaagd, plan 4/4 klaar

Tests draaiden. Het $-paneel bewaart de uitvoer; de kopregel bevriest de klok.

PASS- en FAIL-labels lezen de exitcode uit de eigen kopregel van het gereedschap.

  1. 1Lees de uitvoer in $-modus, 18 geslaagd
  2. 2Het plan sluit bij 4/4 stappen
  3. 3De gereedschapsregel draagt de laatste uitvoerregel
  4. 4De kosten komen op $0.071 uit de offline catalogus
rovecode · atlas · feature/auth · 160×44real frame
sextant-beeld met het bemanningsbord open: twee banen, tests schrijven loopt en review klaar

Twee achtergrondtaken, elk een baan, op het bemanningsbord.

Kindsessies delen de ene agentlus; de TUI verlaten annuleert elk levend kind.

  1. 1Open het ∷ agents-bord met ⌃a
  2. 2Elke baan toont label, verstreken tijd en status
  3. 3Het bemanningsoverzicht blijft in het planpaneel
  4. 4Ondertussen bewerkt de ouderrun door

07snelstart

Drie commando's van kloon tot draaiende agent.

Zonder ingestelde provider gebruiken eenmalige runs een gescripte mock-provider; zo werkt de verpakkingsrooktest ook.

  1. 01

    Klonen en linken (Bun ≥ 1.3.14)

    Het CLI-startpunt is TypeScript dat bun uitvoert; node kan het niet draaien. bun link zet rovecode op het PATH.

    $ git clone https://github.com/9Code-Labs/rovecode && cd rovecode && bun install && bun link
  2. 02

    Een model koppelen

    rovecode setup leidt je erdoor: kies een provider, plak de sleutel verborgen, één klein testaanroepje, klaar. Of sla een sleutel direct op met rovecode auth set, of richt ROVECODE_BASE_URL op elk OpenAI-compatibel endpoint.

    $ rovecode setup
    of
    $ rovecode auth set anthropic
  3. 03

    Een taak draaien of de cockpit openen

    Kaal rovecode opent het sextant-oppervlak. Een prompt tussen aanhalingstekens is een eenmalige run; --output json geeft precies één resultaatobject terug.

    $ rovecode "fix the failing test"
    $ run · exit 0
    Uitvoer van de run: 18 geslaagd, 0 mislukt, 41 expect()-aanroepen, 18 tests in 1 bestand.
13
gehoste api's
3
lokale runtimes

08providers

16 ingebouwde providers, of elke OpenAI-compatibele URL.

Opgeslagen inloggegevens winnen van <NAME>_API_KEY-omgevingsvariabelen; een expliciet paar ROVECODE_BASE_URL / ROVECODE_API_KEY wint van beide.

gehoste api's

lokale runtimes

  • kaesra
  • openai
  • anthropic
  • deepseek
  • groq
  • openrouter
  • together
  • mistral
  • cerebras
  • fireworks
  • perplexity
  • xai
  • moondream
  • ollama
  • lmstudio
  • vllm

● lokale runtimes hebben geen sleutel nodig · rovecode auth set <naam> legt een sleutel in ~/.rovecode/credentials.json, gevraagd in de terminal en nooit getoond.

elk endpoint · live

Voeg een provider toe in een andere terminal; de draaiende cockpit pakt hem bij de volgende aanroep. Geen herstart.

$ rovecode provider add homelab http://10.0.0.7:8000/v1 --no-key
~/.rovecode/providers.json
{
"default": "kaesra/zai-org/glm-5.3-flash",
"providers": {
"kaesra": {
"baseUrl": "https://api.kaesra.tech/v1",
"protocol": "openai",
"keyEnv": "KAESRA_API_KEY"
},
"homelab": {
"baseUrl": "http://10.0.0.7:8000/v1",
"protocol": "openai",
"noKey": true,
"models": ["qwen3-coder-30b"]
}
}
}

09in hun woorden

Teams die review naar de terminal brachten.

  • Review verhuisde naar de terminal en de goedkeuringskaart werd het gesprek. We leveren even veel, met een derde van het heen-en-weer.

    Aylin Demirci

    Head of Platform · Northwind Robotics

  • Het beleid dat standaard weigert is de reden dat security akkoord ging. Elke gereedschapsaanroep is een regel in een log dat we toch al lezen.

    Marcus Oyelaran

    Staff Engineer · Harbourline Payments

  • Twaalf mensen, lokale modellen, geen leverancier ertussen. Het draait waar de code van onze klanten mag draaien.

    Inés Ferrer

    Oprichter · Meridian Studio

Illustratieve citaten van fictieve teams, geschreven voor de pagina — echte vervangen ze vóór de lancering.

10prijzen

Gratis om te beginnen. Geprijsd voor het team dat levert.

Elk plan draait dezelfde agent achter hetzelfde beleid dat standaard weigert. De plannen verschillen in hoeveel je ervan draait, en met wie.

  • Free

    Om de agent op je eigen repositories te proberen.

    $0/ maand

  • Pro

    Voor één engineer die er elke dag mee levert.

    $20/ maand

  • Max

    Voor de engineer wiens week erin voorbijgaat.

    $200/ maand

  • Teams

    Voor een team dat tegoed, kennis en beleid deelt.

    $80/ maand

    minimaal $80 · $40 per volledige seat / maand

Bekijk alle plannen

11faq

Bezwaren, met specifieke antwoorden.

Zeven vragen die mensen stellen voordat ze een agent een shell toevertrouwen. Elk antwoord noemt het mechanisme en waar het ophoudt.

Alles hier komt uit de README.md-secties Veiligheidsmodel, Bekende beperkingen, Observeerbaarheid en Licentie & vermeldingen. Waar de README een grens noemt, noemt deze pagina hem ook.

Nee. Vóór en rond elke gereedschapsaanroep draaien vier gestapelde lagen: beleidsregels die standaard weigeren, execpolicy-oordelen (een verboden commando bereikt noch uitvoering noch een mens), de goedkeuringspoort op de gecorrigeerde argumenten, en een runtime-weigerlijst voor bash met een cwd-slot. Waar bash draait is te kiezen — direct, WSL2 of Docker — maar elke sport is delegatie, geen isolatie. Gebruik voor onvertrouwd werk een container of microVM.

12haal rovecode

Zes panelen. Zestien providers. Gratis om te beginnen, geprijsd voor teams.

$ git clone https://github.com/9Code-Labs/rovecode && cd rovecode && bun install && bun link
Rovecode, de wolkmascotte, met de duim omhoog