Ana içeriğe geç

Geliştirici İş İstasyonu — Genel Bakış

Kısaca

Geliştiriciler kendi bilgisayarlarında opencode ile çalışır; ama model çağrıları, komutlar ve eylemler şirket sunucusundan geçer: anahtarlar iş istasyonunda tutulmaz, her komut kurallara göre değerlendirilir, her şey değiştirilemez bir kayda yazılır. Bu bölüm teknik ekipler içindir; iş kullanıcıları Kullanım Kılavuzu'na bakmalıdır.

Platformun web arayüzü, ajanları tanımlamak için kullanılır: kim hangi departmanda, hangi model, hangi skill, hangi politika. Geliştirici İş İstasyonu katmanı (kod adı Agentic OS) ise geliştirici personaların bu tanımlarla gerçek işi yapmasını sağlar — kendi iş istasyonlarında, kod tabanının içinde.

Geliştirici persona, iş istasyonunda opencode çalıştırır. Tüm model trafiği merkezî bir gateway'den geçer, her araç çağrısı çalıştırılabilir politikalarla değerlendirilir ve her eylem değiştirilemez bir denetim zincirine yazılır. Web arayüzü bu katmandan habersizdir; katman opsiyoneldir ve onun yanında çalışır.


Neden​

SorunYürütme Katmanının cevabı
Ajanlar ham API anahtarlarını görüyorGateway — persona token'ı ile bağlanır, upstream anahtarı hiç görülmez
"Ajan ne yaptı?" sorusuna kanıt yokHash-zincirli denetim + harici çıpalama
Politikalar yalnızca sistem prompt'unda öneriAraç çağrısından önce çalışan fail-closed politika motoru
Yerel ajan sınırsız komut çalıştırabilirZorunlu yerel sandbox + egress allowlist
Prompt injection ile araç kötüye kullanımıKatmanlı injection savunması (köken izleme → egress → imzalı komut kanalı)
Uzun ömürlü kimlik bilgisi sızıntısı~60 dakikalık access token + iptal + otomatik bayat-oturum temizliği

Bileşenler​

┌─────────────────────── İş istasyonu ───────────────────────┐
│ │
│ 3pa CLI ──► opencode (yönetilen sandbox konteyneri) │
│ │ ▲ │ │
│ plugin │ │ base-prompt.md (guardrail) │
│ ▼ │ ▼ │
│ egress proxy (allowlist) ──────────────────────┐ │
└───────────────────────────────────────────────────────│────┘
│
HTTPS (persona bearer token) │
▼
┌──────────────────────── Platform backend ──────────────────┐
│ │
│ /v1/* LLM Gateway ──► şirketin upstream'i │
│ /policy/decide Politika Motoru (off|dry_run|enforce) │
│ /workstation/* heartbeat · token · imzalı komut kanalı │
│ /audit/* Denetim Zinciri ──► S3 Object Lock çıpası │
│ /.well-known/opencode imzalı yönetilen yapılandırma │
│ /mcp persona skill'leri (JSON-RPC) │
└────────────────────────────────────────────────────────────┘
BileşenBelge
Merkezî LLM Gatewayllm-gateway
Çalıştırılabilir Politika Motorupolicy-engine
Değiştirilemez Denetim Zinciriaudit-chain
Persona Kimliği ve Token'laridentity
3pa İş İstasyonu CLIcli
İzole Çalıştırma Ortamı (sandbox)sandbox
Prompt Injection Savunmasıinjection-defense
Yönetilen opencode Yapılandırmasımanaged-config

Tasarım ilkeleri​

  • Fail-closed. Politika değerlendirmesi, token doğrulama ve iptal kontrolü — hata durumunda hepsi engeller, geçirmez.
  • Varsayılanlar serbest. Gateway kotaları, politika modu (dry_run), önem skorlaması — hiçbiri açıkça yapılandırılmadan kısıtlamaz. Katman önce gözlemlenir, sonra zorlanır.
  • Web arayüzüne dokunulmaz. Yürütme katmanı ayrı router'lar, ayrı tablolar, ayrı CI iş akışlarıdır.
  • Karar = kod. Her mimari karar docs/adr/ altında bir ADR'dir (ADR-0001 … ADR-0013).