Perde arkası

Tek API, üç tür çağıran

UI'ı ürün, otomasyonu ise sonradan takılan bir parça sanmak caziptir. Scellis tam tersine kuruludur: asıl yüzey API'dir ve UI onun istemcilerinden biridir. Her yetenek bir kez var olur — açık bir fiili olan tipli bir yöntem olarak; arayüz, Copilot ve dış ajanlar aynı yönteme aynı denetimlerden geçerek ulaşır. Bu tersine çevirme, “tıklayabildiğiniz her şeyi bir ajana yaptırabilirsiniz” ilkesini bir özellik kuyruğu değil, yapısal bir güvence yapar — sözleşmenin tamamı API sayfasındadır.

Tek servis, üç tür çağıran#

Fiil yüzeyi açık ad-alanlarına ayrılmıştır — catalog, program, run, model, publish, pool, share ve daha fazlası — toplamda otuz kadar. Her fiil read, write ya da destructive olarak sınıflanır; hiçbiri sınıfsız değildir. Bir yetenek eklemek, bütün parite dörtlüsünü tek değişiklikte indirir: tipli yöntem, fiili, UI kontrolü ve Copilot aracı. Bir fiil, hangi çağıran tetiklerse tetiklesin aynı okunur:

ts
// The same verb the UI button calls — dotted, lower snake_case.
run.start({ workflow: "user/my-workflow", tier: "prod" })
onay · sınırlar · retlersiz, uygulamadaCopilotdıştaki bir ajankimin çağırdığını sunucu belirler — kimse başkası gibi davranamaztek servistek denetim zincirimotorkataloğunuz
Şek. 1 — Üç çağıran, tek kapı. Kim sorarsa sorsun — siz, Copilot ya da sekmenin dışında çalışan bir ajan — istek aynı servisten ve aynı denetimlerden geçer. Sunucu kimin çağırdığını kimlik bilgisinin kendisinden anlar; kimse başkası gibi davranamaz.

Onay kademeleri, sunucu zorunlu#

Tasmasız güç pervasızlık olurdu; bu yüzden her istek, sunucunun zorladığı bir onay kademesine karşı ölçülür. Okuma otomatik izinlidir. Yazma, önerilen somut işlemi gösteren açık bir onay jetonu ister — gerçek diff'i, asla çıplak bir “izin ver?” değil. Yıkıcı bir eylem onay ve bir hız sınırı ister. Ve her istek, sunucu türevli bir caller_class taşır — ui, copilot, headless, api_key, login_free, mcp değerlerinden biri — ki hiçbir istemci onu sahteleyemez, çünkü sunucu onu isteğin nasıl kimlik doğruladığından türetir, çağıranın kendisi hakkında söylediğinden değil.

json
// A WRITE needs a consent token that shows the concrete operation —
// never a bare "allow?". The caller_class is server-derived, unforgeable.
{
  "verb":         "model.set_optimizer",
  "class":        "write",              // read | write | destructive
  "caller_class": "copilot",            // ui | copilot | headless | api_key | login_free | mcp
  "diff":         { "optimizer": "training/optimizer/adamw", "lr": 3e-4 }
}

Copilot bir istemcidir, özel bir durum değil#

Copilot katalog üzerinde akıl yürütür, program dönüşümleri önerir ve her yüzeyi sürer — hatta kendi değişikliklerini program.undo ile geri alabilir. Yazdıkları source=copilot ile ilişkilendirilir ve canlı bir oturumda kişi başına tek tek geri alınabilir; böylece sizin Cmd-Z'niz asla bir iş arkadaşınızın düzenlemesini geri almaz, tersi de geçerlidir. Varsayılan olarak sizin anahtarınızla çalışır — istemci tarafı kimlik kasasında saklanan, sağlayıcıdan bağımsız BYOK — ve ilk dakikada çalışsın diye ücretsiz bir başlangıç tahsisi vardır. Bir ilke onu prompt enjeksiyonuna karşı güvende tutar: bir ajana gösterilen içerik (açıklamalar, notlar, araç sonuçları) veridir, asla talimat değil; ve yalnızca kimliği doğrulanmış kullanıcının niyeti bir aracı tetikler. Copilot rehberi Scellis'i bu şekilde sürmenin günlük hâlini anlatır.

MCP projeksiyonu yazılmaz, türetilir#

Dış ajanlar — Claude Code, Claude Desktop, MCP uyumlu her istemci — aynı yüzeyin üçüncü tüketicisidir ve bu kısım şu anda inşa ediliyor: tasarım oturmuş, uç nokta henüz gönderilmemiştir. Onu tam olarak anlatmaya değer kılan şey, tüm araç yüzeyinin canlı fiil kaydından üretilmesidir; elle yazılmış tek bir araç yoktur. Yeni bir yetenek, biri bir sarmalayıcı yazmayı hatırladığı için değil, bir sonraki yeniden üretimde ajan yüzeyinde otomatik olarak belirir. Yürütme iki odağa ayrılır — sunucunun yanıtlayabildiği okumalar açık bir sekme olmadan çalışır; motor çağrıları, yerel durum ve yazmalar ise eşlenmiş tek canlı sekmenize aktarılır — ve kaynaklar, bir ajanın bir eğitim çalıştırmasını yoklama yapmadan izlemesini sağlar.

text
# Every tool is GENERATED from the live verb registry — none hand-written.
# Resources let an agent watch a run WITHOUT polling:
scellis://run/8f2ac1/metrics        # live loss + metric stream, read-only
scellis://catalog/search?q=optimizer
# Money verbs are absent from this surface — excluded at generation time.

Para iki bağımsız katmanda engellenir#

Tek bilinçli asimetri ticaridir: UI dışı hiçbir çağıran para hareket ettiremez. Bu, bir yapılandırma değişikliğiyle gevşetilebilecek bir politika değildir; bağımsız olarak iki kez uygulanır. Para hareket ettiren fiiller, üretim anında ajan projeksiyonundan dışlanır; böylece bir dış ajanın araç listesinde çağıracak bir satın alma aracı bulunmaz. Ve dispatch anında UI dışı her çağıranı reddeder — Copilot, headless, API anahtarı, girişsiz, dış MCP — bunun yerine yalnızca gerçek bir UI hareketinin ürettiği, sunucu tarafından basılan, tek kullanımlık bir insan-etkileşim nonce'una bağlanır. Bir ajan grantının kapsam grameri bir ticaret kapsamını kuramaz bile; dolayısıyla fazla verilecek bir şey yoktur.

dıştaki ajana verilen listecatalog.search ✓run.start ✓model.set_optimizer ✓workflow.commit ✓para harcamanın yolu yokyine de sahtelensesunucu çağıranı denetlerreddediliryalnızca gerçek tıklamanız geçeriki bağımsız katman — hiçbiri tek başına güvence değildir
Şek. 2 — Bir ajan hiçbir şey satın alamaz, üstelik iki kez. Eline verilen araç listesinde para harcamanın hiçbir yolu yoktur — yine de sahtelenmiş bir istek, sunucu kimin çağırdığını bildiği için kapıda reddedilir. İkisini de yalnızca sizin gerçek tıklamanız geçer.

Grant'lar, eşleme ve iptal#

Dış ajan güvenlik modelinin geri kalanı da bu ihtiyatla kafiyelidir: PKCE'li OAuth 2.1, dayanıklı ve iptal edilebilir bir Agent Grant'a (kullanıcı × istemci × kapsam × son kullanım kaydı) bağlı, hedef-bağlı kısa-TTL'li token'lar; sekme içi açık bir hareket olarak eşleme; canlı, çağrı başına etkinlik akışı ve tek tıkla iptalle birlikte kalıcı bir “ajan bağlı” göstergesi; ve — taşıyıcı kural — sekme yoksa okumanın üstünde hiçbir şey yok. Grant onayı yalnızca insan-UI iledir; bir ajan kendini asla yükseltemez. Aynı satın alma engeli Marketplace'te de geçerlidir: Copilot gezinebilir ama asla satın alamaz.

İçerik adresli receipt'ler yüzeyi denetlenebilir kılar#

Her şey tek bir fiil yüzeyinden geçtiği için, bir ajanın yaptığı her şey, bir insanın yaptığı kadar incelenebilir ve yeniden üretilebilirdir. Yazmalar provenance'tan akar; commit edilmiş bir çalıştırma ya da varlık, kanonik ve içerik adresli bir atıf kaydı yansıtır — yazar, sürüm, içerik hash'i, motor sürümü, snapshot URL'si — ki herkes onu tam olarak yeniden çözebilir. Ve bir ajan havuzlanmış bir hesaplamaya katkı sağladığında, kabul edilen ve doğrulanan her iş birimi, planlayıcı türevli bir maliyetle hash-zincirli bir ContributionReceipt basar; böylece kimin-neyi-hesapladığı defteri bir iddia değil, bir receipt zinciridir. Bir ajan burada platform ekibinin bir akranıdır — aynı fiiller, aynı denetimler, aynı denetim izi, eksik olan tek şey paranızı harcama yetisi — ve içinde yaşadığı güven sınırı güvenlik ve gizlilik konusudur.