İçeriğe geç
  • açık kaynak
  • AGPL-3.0
  • v0.2.0
  • Bun ≥ 1.3.14
  • TypeScript

Sohbet günlüğü değil, kokpiti olan bir terminal kodlama ajanı.

Rovecode Bun üzerinde çalışır, 16 sağlayıcıyla ya da OpenAI uyumlu herhangi bir uç noktayla konuşur ve her araç çağrısını deponuza dokunmadan önce varsayılanı reddet olan bir politikadan geçirir. AGPL-3.0 altında özgür yazılım.

$ rovecode "fix the failing test"
rovecode · atlas · feature/authreal frame
160'a 44 hücrelik sextant TUI: git durumlarıyla dosya ağacı, düzenlenen satırları vurgulanmış src/auth/callback.ts'yi gösteren kod paneli, okuma ve düzenleme araç satırlarıyla mesaj paneli ve bun test çalıştırmak için izin isteyen onay kartı, 4 adımın 1'inde plan, %13 bağlam kullanımı ve onay bekleyen rovecode bulut maskotu.
+4 −1 uygulandıönce sor · onay kartıbağlam 200k'nın %13'ü

Gerçek kare: bun test için onay kartı, +4 −1 düzenleme satırı, bağlam 200k'nın %13'ünde. Sabit bir saatle sextant çizicilerinden geçirildi.

  • 2,200+test
  • 16hazır sağlayıcı
  • 4politika katmanı
  • 15bu sayfadaki dil
  • AGPL-3.0lisans

Terminal için bir kodlama ajanı. Bun üzerinde TypeScript, 47 aktarılmış desen, her aracın önünde varsayılanı reddet olan tek bir politika.

rovecode çalıştıran ekipler

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

İlk müşteriler listelenmeyi kabul edene kadar yer tutucu isimler.

02kokpit

Tek ekranda altı panel. Önemsediğin dosya asla kayıp gitmez.

Git durumuyla dosyalar, vurgu bandı ve ± fark ile kod, tek satırlık araç çağrıları, plan, kullanım ve maskot. Sabit bir saatle, başsız biçimde sextant çizicilerinden geçirilir: TUI'nin çizdiği kod yolunun aynısı, maket değil.

mesajlar paneli · satır satır

Yukarıdaki kareden çözülmüş tek bir koşu.

Her araç çağrısı tek satır: fiil, dosya ve neyin değiştiği. Düzenleme +4 −1 olarak indi. Kabuk komutu üç yanıtlı tek bir kartın arkasında bekler; Esc reddeder ve yanıt oturumun geri kalanı için hatırlanır.

Alt ajanlar soru soramaz. Yasaklı bir argv karta hiç ulaşmaz.

03sorunlar → çözümler

Terminal ajanlarında ters giden dört şey ve rovecode'un her birine yanıtı.

Klavye başında kuracağın cümlelerle söylenmiş, mekanizması ve sınırıyla yanıtlanmış. Her şerit gerçek bir kare kırpması ya da gerçek yapılandırma dosyası.

  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"
    },

    01sorun

    Her ajan tek bir satıcının API'sine ve tek bir fiyat sayfasına kaynaklanmış geliyor.

    rovecode ne yapıyor

    Tek bir StreamFn dikişi ve canlı bir sağlayıcı kaydı. 16 adlandırılmış sağlayıcı ya da providers.json'daki OpenAI/Anthropic uyumlu herhangi bir uç nokta; başka bir terminalde eklenen sağlayıcı bir sonraki çağrıya hizmet eder. Rol yedek zincirleri 429 veya 5xx'te ilerler.

    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

    02sorun

    Ajan dosyayı düzenlerken sohbet günlüğü o dosyayı ekrandan kaydırıp götürüyor.

    rovecode ne yapıyor

    Panelli bir kokpit: dosyalar, kod, mesajlar, plan, kullanım ve bulut maskotu. Mesaj paneli her araç çağrısını tek satırda tutar; kod paneli inen tek parçayı gösterir.

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

    03sorun

    Model rm -rf istiyor ve kimse zamanında hayır demediği için koşum onu çalıştırıyor.

    rovecode ne yapıyor

    Önce varsayılanı reddet olan joker kurallar, sonra yasaklının ne çalışmaya ne de bir insana ulaştığı execpolicy kararları, sonra düzeltilmiş argümanlar üstünde bir onay kartı. Üst üste 4 katman; hiçbiri kum havuzu taklidi yapmıyor.

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

    04sorun

    40. tur ters gidiyor ve geri dönmenin tek yolu yeni bir konuşma.

    rovecode ne yapıyor

    sha256 karma zincirli, yalnızca eklemeli bir JSONL oturum ağacı. /rewind tur seçiciyi açar, herhangi bir turdan dallanır ve düzenleyiciyi o turun tam metniyle doldurur; gölge-git kontrol noktaları .git'ine dokunmadan 3 kipte geri yükler.

    /rewind /checkpoints /restore rovecode trace <session-id>
  1. 01sextant kokpiti
  2. 02sağlayıcılar, anında yeniden yüklenir
  3. 03MCP istemcisi
  4. 04Güvenlik merdiveni
  5. 05Oturum ağacı + kontrol noktaları
  6. 06Zed + JetBrains için ACP
  7. 07Başsız HTTP + SSE
  8. 08Arka plan alt ajanları
  9. 09Kancalar
  10. 10OpenTelemetry

04yetenekler

On yetenek; her biri file:line iziyle bir aktarım.

Rovecode; pi, opencode, codex, cline, aider, gemini-cli ve diğerlerinden kanıta dayalı desenler aktarır. Bir aktarım ancak temiz bağlamlı bir eleştirmen onu işe başlamadan yazılmış bir çıtaya karşı doğruladıktan sonra iner.

yüzey

sextant kokpiti

En az 100×30 truecolor bir TTY'de 6 panel: git durumuyla dosyalar, vurgu bandı ve ± fark ile kod, tek satırlık araç çağrıları, plan, kullanım, maskot. 3 palet, /theme canlı değiştirir; --classic pi-tui sohbetini korur.

rovecode · ROVECODE_TUI=sextant|classic · /theme night|ember|contrast
Sextant karesinden kırpma: dosya ağacı ve düzenleme vurgu bantlı kod paneli

sağlayıcılar

sağlayıcılar, anında yeniden yüklenir

16 hazır sağlayıcı ve providers.json'a kaydettiğin her şey. Her çağrı sağlayıcıyı canlı anlık görüntüye karşı çözer: başka bir terminalde ekle, çalışan kokpit bir sonraki çağrıda kullansın. Yeniden başlatma yok.

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"]
}
}
}
  • bağlam

    MCP istemcisi

    .rovecode/mcp.json'dan stdio ve HTTP sunucuları. 2 kayıt aracıyla tembel açığa çıkarma sayesinde boştaki bir sunucu neredeyse sıfır token harcar.

    mcp_list · mcp_call
  • güvenlik

    Güvenlik merdiveni

    Her araç çağrısı çalışmadan önce dört basamak çıkar. Yasaklı bir argv hiçbir kanca görmeden reddedilir; --yolo istemleri atlar, reddetme kurallarını asla.

    rules → execpolicy → approval → runtime

  • bellek

    Oturum ağacı + kontrol noktaları

    sha256 karma zincirli, yalnızca eklemeli JSONL. /rewind dallanır, /resume kaldığı yerden alır, gölge-git kontrol noktaları 3 kipte geri yükler ve .git'ine hiç dokunmaz.

    /rewind · /checkpoints · /restore
  • Zed + JetBrains için ACP

    stdio üzerinden Agent Client Protocol v1, resmî SDK.

    rovecode acp
  • Başsız HTTP + SSE

    Oturumlar, tek bir RunEvent akışı, /doc'ta OpenAPI. 4100 portu, yalnız geri döngü.

    rovecode serve
  • Arka plan alt ajanları

    Sınırlı FIFO alt oturumlar, öntanımlı 3 eşzamanlı; notlar üst oturumun bir sonraki turunda düşer.

    /tasks
  • Kancalar

    .rovecode/hooks.ts içinde 9 tipli kanca, her biri 5 sn zaman aşımıyla sınırlı. pre_tool yalnızca reddedebilir.

    pre_tool · approval · on_event
  • OpenTelemetry

    Koşu başına tek iz: token, gecikme ve maliyetle run ⊃ turn ⊃ tool. Uç nokta boşsa dışa aktarıcı yok.

    ROVECODE_OTEL_ENDPOINT

05güvenlik ve dağıtım

Her araç çağrısının önünde dört katman. Yapılandırmadığınız hiçbir yere veri çıkmaz.

Güvenlik modeli, README'nin söylediği gibi, sınırlarıyla birlikte. Her katman neye karar verdiğini ve nerede durduğunu söyler; hiçbiri kum havuzu değildir.

  1. katman 01

    01rules

    Araç ve argv üzerinde varsayılanı reddet joker kuralları. Yasaklı bir desen hiçbir şey çalışmadan reddedilir.

    sınırDesen eşleşmesi, niyet değil: tehlikeli bir komutun yeni bir yazımı bir sonraki katmana geçer.

  2. katman 02

    02execpolicy

    Ayrıştırılmış argv üzerinde karar: izin, sor, yasak. Yasak, ne çalışmaya ne de bir insana ulaşır.

    sınırKomutu okur, çalışacağı kabuğu değil; bir alias ya da betik gövdesi ona opaktır.

  3. katman 03

    03approval

    Düzeltilmiş argümanlar üstünde tek kart: izin ver, her zaman, reddet. Yanıtlar oturum başına hatırlanır; alt ajanlar soru soramaz.

    sınırİnsan kararı: --yolo bu basamağı atlar, üstündeki reddetme kurallarını asla.

  4. katman 04

    04runtime

    Çalıştırma anında bash reddetme listesi ve cwd kilidi; Esc çalışan çağrıyı, Windows'ta tüm süreç ağacıyla birlikte öldürür.

    sınırYetki devri, yalıtım değil. Güvenilmeyen iş konteyner ya da mikroVM'e ait.

dağıtım ve veri

  • 01

    Tanımı gereği kendi sunucunuzda

    Kaynaktan, kendi makinenizde ya da CI'nizde çalışır. Hesap isteğe bağlıdır: fiyatlandırma sayfasındaki planları açar, CLI'yi asla kilitlemez. Tek gereksinim Bun ≥ 1.3.14.

  • 02

    Eve telefon yok

    Dışa trafik yalnız yapılandırdığınız sağlayıcıya, listelediğiniz MCP sunucularına ve model istediğinde web_fetch'e gider. Fiyat kataloğu çevrimdışı bir anlık görüntü; kendini güncelleme yok.

  • 03

    Telemetri isteğe bağlı

    OpenTelemetry dışa aktarımı ROVECODE_OTEL_ENDPOINT ayarlanana dek kapalı; ayarlansa da yalnız kimlik, boyut ve sonuç taşır — istem, argüman ya da çıktı asla.

  • 04

    Yapısal denetim izi

    Oturumlar sha256 karma zincirli, yalnızca eklemeli JSONL; her koşu, iptal edilenler dahil, tek bir iz (run ⊃ turn ⊃ tool) dışa aktarır.

  • 05

    Platform durumu

    Windows öncelikli: geliştirme ve sürüm kapısı Windows 11'de. POSIX yolları test edilir; Linux ve macOS henüz CI ile doğrulanmadı.

  • 06

    Lisans

    AGPL-3.0-only. Serbestçe değiştirin ve dağıtın; değiştirilmiş bir yapıyı ağ hizmeti olarak çalıştırmak kaynağını o kullanıcılara sunmayı gerektirir.

06terminalden

160×44'te dört gerçek kare, okumaya değer yerleri numaralanmış.

Sabit bir saatle, başsız biçimde sextant çizicilerinden geçirildi: TUI'nin çizdiği kod yolunun aynısı, maket değil. Bir satırın üstüne gel ya da dokun; kare o noktaya 2× yakınlaşır.

rovecode · atlas · feature/auth · 160×44real frame
düzenlemeden sonraki sextant karesi: fark kipindeki kod paneli tek bir parça gösteriyor, mesaj paneli okuma ve düzenleme satırlarını listeliyor

Düzenleme indi. Kod paneli tam olarak o parçayı gösteriyor.

Onaylı bir düzenlemeden önce yakalandı, onaysız olanın ardından düzenlemenin kendi çıpalarından yeniden kuruldu.

  1. 1Düzenleme inerken ± fark kipine geç
  2. 2Diskteki dosyaya karşı +4 −1 oku
  3. 3Sıkışık araç satırlarını izle: önce okuma, sonra düzenleme
  4. 4Bağlamın 200k'nın %13'üne dolmasını izle
rovecode · atlas · feature/auth · 160×44real frame
onay kartı açık sextant karesi: bash bun test tests/auth.test.ts, izin ver her zaman reddet

Bir kabuk komutu onay bekliyor. Tek kart, üç yanıt.

Onaylar düzeltilmiş argümanlar üzerinde çözülür ve oturum başına hatırlanır; alt ajanlar soru soramaz.

  1. 1Çalışmadan önce tam argv'yi gör
  2. 2İzin ver, her zaman ya da reddet'i seç; Esc reddeder
  3. 3Başlık seni bekliyor durumuna geçer
  4. 4Maskot onayı ister, sonra hatırlar
rovecode · atlas · feature/auth · 160×44real frame
koşu bittikten sonraki sextant karesi: çalıştırma kipindeki kod paneli 18 geçen testle bun test çıktısını gösteriyor, plan 4/4 tamam

Testler koştu. $ paneli çıktıyı tutar; başlık saati dondurur.

PASS ve FAIL rozetleri çıkış kodunu aracın kendi başlık satırından okur.

  1. 1Koşu çıktısını $ kipinde oku, 18 geçti
  2. 2Plan 4/4 adımda kapanır
  3. 3Araç satırı çıktının son satırını taşır
  4. 4Maliyet çevrimdışı katalogdan $0.071 çıkar
rovecode · atlas · feature/auth · 160×44real frame
ekip panosu açık sextant karesi: iki şerit, test yazma çalışıyor ve inceleme bitti

İki arka plan görevi, her birine bir şerit, ekip panosunda.

Alt oturumlar tek ajan döngüsünü paylaşır; TUI'den çıkmak yaşayan her alt oturumu iptal eder.

  1. 1∷ ajanlar panosunu ⌃a ile aç
  2. 2Her şerit etiketi, geçen süreyi ve durumu gösterir
  3. 3Ekip özeti plan panelinde kalır
  4. 4Bu sırada ana koşu düzenlemeyi sürdürür

07hızlı başlangıç

Klonlamadan çalışan bir ajana üç komut.

Yapılandırılmış bir sağlayıcı yokken tek seferlik koşular senaryolu bir sahte sağlayıcı kullanır; paketleme dumanı da böyle çalışır.

  1. 01

    Klonla ve bağla (Bun ≥ 1.3.14)

    CLI girişi bun tarafından çalıştırılan TypeScript'tir; node onu çalıştıramaz. bun link rovecode'u PATH'e koyar.

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

    Bir model bağla

    rovecode setup adım adım yürütür: sağlayıcıyı seç, anahtarı gizli yapıştır, küçük bir test çağrısı, bitti. Ya da anahtarı doğrudan rovecode auth set ile sakla, ya da ROVECODE_BASE_URL'yi OpenAI uyumlu herhangi bir uç noktaya çevir.

    $ rovecode setup
    ya da
    $ rovecode auth set anthropic
  3. 03

    Bir görev koştur ya da kokpiti aç

    Düz rovecode sextant yüzeyini açar. Tırnaklı bir istem tek seferlik koşudur; --output json tam olarak tek bir sonuç nesnesi döndürür.

    $ rovecode "fix the failing test"
    $ run · exit 0
    Koşu çıktısı: 18 geçti, 0 kaldı, 41 expect() çağrısı, 1 dosyada 18 test koştu.
13
barındırılan api'ler
3
yerel çalışma zamanları

08sağlayıcılar

16 hazır sağlayıcı ya da OpenAI uyumlu herhangi bir URL.

Saklanan kimlik bilgileri <NAME>_API_KEY ortam değişkenlerini yener; açıkça verilen bir ROVECODE_BASE_URL / ROVECODE_API_KEY çifti ikisini birden yener.

barındırılan api'ler

yerel çalışma zamanları

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

● yerel çalışma zamanları anahtar istemez · rovecode auth set <ad> anahtarı ~/.rovecode/credentials.json'a yazar; terminalde sorulur ve asla ekrana basılmaz.

her uç nokta · canlı

Başka bir terminalde sağlayıcı ekle; çalışan kokpit bir sonraki çağrıda onu alır. Yeniden başlatma yok.

$ 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"]
}
}
}

09onların sözleriyle

İncelemeyi terminale taşıyan ekipler.

  • İnceleme terminale taşındı, onay kartı sohbetin kendisi oldu. Aynı miktarı, üçte bir git-gelle çıkarıyoruz.

    Aylin Demirci

    Platform Lideri · Northwind Robotics

  • Güvenliğin onay vermesinin nedeni varsayılanı reddet politikası. Her araç çağrısı, zaten okuduğumuz bir günlükte bir satır.

    Marcus Oyelaran

    Kıdemli Mühendis · Harbourline Payments

  • On iki kişi, yerel modeller, arada tedarikçi yok. Müşterilerimizin kodunun çalışmasına izin verilen yerde çalışıyor.

    Inés Ferrer

    Kurucu · Meridian Studio

Sayfa için yazılmış, kurgusal ekiplerden örnek alıntılar — yayından önce gerçekleriyle değiştirilir.

10fiyatlandırma

Başlamak ücretsiz. Üreten ekip için fiyatlandırılmış.

Her plan aynı ajanı, aynı varsayılanı reddet politikasının arkasında çalıştırır. Planlar, onu ne kadar ve kimlerle çalıştırdığınızda ayrılır.

  • Free

    Ajanı kendi depolarınızda denemek için.

    $0/ ay

  • Pro

    Onunla her gün üreten tek bir mühendis için.

    $20/ ay

  • Max

    Haftası onun içinde geçen mühendis için.

    $200/ ay

  • Teams

    Krediyi, bilgiyi ve politikayı paylaşan bir ekip için.

    $80/ ay

    en az $80 · tam koltuk başına $40 / ay

Tüm planları gör

11sss

İtirazlar, ayrıntılarıyla yanıtlandı.

İnsanların bir ajana kabuk emanet etmeden önce sorduğu yedi soru. Her yanıt mekanizmayı ve nerede durduğunu söyler.

Buradaki her şey README.md'nin Güvenlik modeli, Bilinen sınırlar, Gözlemlenebilirlik ve Lisans & bildirimler bölümlerinden alındı. README bir sınır olduğunu söylüyorsa bu sayfa da söyler.

Hayır. Her araç çağrısının öncesinde ve çevresinde üst üste dört katman çalışır: varsayılanı reddet olan politika kuralları, execpolicy kararları (yasaklı bir komut ne çalışmaya ne de bir insana ulaşır), düzeltilmiş argümanlar üstündeki onay kapısı ve cwd kilidi olan çalışma zamanı bash reddetme listesi. Bash'in nerede koşacağı seçilebilir — doğrudan, WSL2 ya da Docker — ama her basamak yetki devri, yalıtım değil. Güvenilmeyen işler için konteyner ya da mikroVM kullan.

12rovecode'u al

Altı panel. On altı sağlayıcı. Başlamak ücretsiz, ekipler için fiyatlı.

$ git clone https://github.com/9Code-Labs/rovecode && cd rovecode && bun install && bun link
Rovecode, bulut maskot, başparmak kaldırırken