Geliştirme

Scellis'i programlama: API ve Copilot

Studio yaptığı her şeyi bir API çağırarak yapar — sizin de çağırabileceğiniz aynı API'yi. Arayüz, API'nin bir istemcisidir; tersi değil: Scellis'te yaptığınız her eylem, tek bir API servisi üzerindeki tipli bir fiildir ve arayüzün kendisi de tam bu fiilleri konuşur. Bundan simetrik ve eksiksiz bir kural çıkar: Tıklayabildiğiniz her şeyi bir betikle yapabilirsiniz; bir betikle yapabildiğiniz her şeyi Copilot istek üzerine yapar; ve aynı yüzeye harici bir ajan MCP üzerinden erişir. Bu sayfa o programatik yüzeyi dolaşıyor — fiiller, çağırıcılar, onay modeli ve hiçbir makinenin geçemeyeceği çizgiler.

Arayüz de yalnızca bir istemci#

Çoğu uygulama kendi arayüzü için özel bir API, herkes için ikinci ve daha küçük bir API büyütür. Scellis'te tek API vardır. Katalogda bir bloğu fork ettiğinizde Studio, betiğinizin kullanacağı aynı catalog.fork fiilini çağırır; bir çalıştırmayı duraklattığınızda yine aynı run.pause fiilini. Parite bir niyet beyanı da değildir — otomatik olarak denetlenir: Aynı işlem arayüzden, ham fiilden ve Copilot'tan yapıldığında özdeş durumu üretmek zorundadır. Üçü günün birinde ayrışırsa bu, sürümden önce yakalanan bir kusurdur, destek talebi değil.

Ürün gibi okunan fiiller#

Yüzey, yaklaşık otuz fiil ailesi halinde örgütlenmiştir ve liste platformda bir tur gibi okunur. Okumak, kurmak, çalıştırmak ve iz sürmek — hepsi yalnızca birer fiildir:

ts
// The verbs the interface calls are the verbs you call.
const hits = await scellis.catalog.search({ q: "robust scaler", kind: "block" });
const prog = await scellis.program.create({ from: hits[0].id });
await scellis.program.compile(prog.id);           // Green / Yellow / Red — with diagnostics
const run = await scellis.run.start(prog.id, { tier: "prod" });
for await (const m of scellis.run.observe(run.id)) {
  console.log(m.epoch, m.loss);                    // 12  0.31  — live, downsampled
}
const lineage = await scellis.provenance.trace(run.id);   // both directions
AileNeyi kapsar
catalogarama, oluşturma, güncelleme, fork etme — elinizdeki her şey, tek ad alanında
program · modeloluşturma, yama, diff, derleme, indirgenmiş IR'ı inceleme, 3 yönlü merge; Model View yüzeyinin tamamı
runbaşlatma, duraklatma, iptal, gözlem — canlı durum ve seyreltilmiş metrikler
publish · provenanceçalışmanızı yayımlama; ileri ve geri izleme, yeniden üretme bağlantıları üretme
workspaces · audit · sharing · invitations · notes · notificationsyönetme, kayıt tutma, davet, not düşme, olan biteni toparlama
pools · jobs · federation · marketplace · billing · connectors · credentials · datasetsdağıtık hesaplama; ticaret; veri kaynakları ve kimlik bilgileri; veri kümeleri — bölme, etiketleme, profil çıkarma

İki aile daha yakından bakmaya değer. program, bir iş akışına sürüm kontrolünün kaynak koda davrandığı gibi davranır — oluşturma, yama, diff, derleme, indirgenmiş IR'ı inceleme, 3 yönlü merge ile uzlaştırma — ve Model View yüzeyinin tamamını sürer. run ise denetim kadar gözlem için de kurulmuştur: Çalışan bir iş canlı durum ve seyreltilmiş metrikler bildirir — bir ajanın eğitiminizi dürüstçe anlatmasına yetecek kadar, “epoch 12, kayıp 0,3”, ham veriyi çekmeden — provenance her sonucu iki yönde de izlenebilir kılarken pools ve jobs arayüzün kullandığı aynı dağıtık hesaplamayı açar.

Kim çağırıyor — sunucu karar verir#

Kimlik bilerek sadedir. Betikler kapsamı sınırlandırılmış API anahtarlarıyla kimlik doğrular; arayüz oturumlarla çalışır; harici ajanlar MCP üzerinden eşleşir. Sunucu, çağrının geliş biçiminden kimin çağırdığını saptar — uygulamadaki siz, Copilot, başsız bir betik, bir API anahtarı, dışarıdan bir ajan. Bu yanıtı sunucu türetir; çağıran beyan etmez, dolayısıyla bir istemci onu taklit edemez. Ayrım ağırlık taşır; çünkü platformun en sert güvenceleri buna bağlıdır: aşağıdaki para kuralları, “uygulamadaki gerçek bir tıklamanız”ın sunucunun doğrulayabildiği ve başka hiçbir şeyin taklit edemediği bir şey olması sayesinde ayakta durur. Bu tek yüzeyin dış ajanlar için nasıl üretildiği — ve bir ajanın neye dokunup neye dokunamayacağı — ajan yüzeyinin konusudur.

siz istersiniz“şu sütunları ölçekle”Copilot taslak kurarsıradan düzenlemelerhenüz bir şey değişmediönce siz görürsünüztam olarak farkısiz onaylarsınızuygulandıasistana atfedilirve geri alınabilir — siz ya da o
Şek. 1 — Asistan asla arkanızdan iş çevirmez. Değişikliği sıradan düzenlemeler olarak taslaklar ve herhangi bir şey olmadan önce farkı tam olarak gösterir; onu yalnızca sizin onayınız uygular. Yaptığı şey ona atfedilmiş kalır — ve tek bir geri alma onu geri alır.

Üç katmanlı onay, her yerde aynı#

Her fiil, her çağırıcı, aynı üç katman. Katmanlar çağırıcıya göre değişmez; bir betik, arayüzün göstereceği bir iletişim kutusunun yanından sıvışamaz ve bir yazma onayı, birazdan olacak somut değişikliği (diff) gösterir — asla çıplak bir “izin ver?” değil:

KatmanNe ister
readserbest — aramak, incelemek ve iz sürmek hiçbir iletişim kutusuna mal olmaz
writeönerilen somut değişikliği gösteren açık bir onay
destructivebir doğrulama, üstüne hız sınırı

Çağırıcı Copilot olduğunda ise hiçbir şey görünmeden gerçekleşmez: Her Copilot eylemi açık bir araç çağrısı olarak görünür — incelenebilir bir program işlemi, çalıştığınız yerde görünür ve kendi geçmişinize karışmak yerine asistana yazılır. Kendi değişikliğini program.undo ile geri bile alabilir.

Copilot: kutudan çıkar çıkmaz, sonra kendi anahtarınızla#

Copilot geldiğiniz an çalışır: Sunucu aracılığıyla sağlanan bir başlangıç kotası dahildir; Scellis'i doğal dille sürmek daha ilk dakikalarda işler. Kalıcı düzen ise kendi anahtarınızı getirmenizdir.

Not

Sağlayıcı anahtarınız cihazınızda şifreli durur ve Scellis sunucularına asla ulaşmaz. Sağlayıcıya giden her çağrı açık, onayda görünür bir ağ etkisidir — ve bir çalışma alanı politikası bunu tümüyle engelleyebilir. Güven modelinin tamamı güvenlik sayfasındadır.

Bu kurulduğunda Copilot'un menzili, API'nin menzilidir:

  • Anlamak: her şeyi arayabilir ve açıklayabilir.
  • Kurmak: iş akışları ve modeller oluşturup düzenleyebilir.
  • İşletmek: çalıştırmaları başlatabilir ve ilerlerken gözleyebilir.
  • Birlikte çalışmak: not yazabilir ve çözüme kavuşturabilir; bildirimleri okuyup özetleyebilir — “siz yokken neler oldu”.
  • Genişletmek: ücretsiz Pack'leri kurabilir ve özgecil hesaplama havuzlarına katılabilir — her biri sizin onayınızla.
  • Taslaklamak: merge'leri ve paylaşım önerilerini hazırlar — kabul etmek bir insana kalır.

Harici ajanlar, aynı yüzey üzerinden#

Bu yüzeyin hizmet edebileceği tek ajan Copilot değildir. MCP üzerinden harici ajan erişimi — üçüncü tüketici olarak Claude ve MCP uyumlu her istemci — erken erişim hattındadır ve tüm araç yüzeyi elle kurulmak yerine canlı fiil kayıt defterinden üretilir: yeni bir yetenek, yazılacak özel bir araç olmadan bir sonraki yeniden üretimde belirir. Eşleşme açık bir sekme-içi jesttir; eşleşmiş olduğu sürece sekme kalıcı bir “ajan bağlı” göstergesi, çağrı başına canlı bir akış ve tek tıkla iptal gösterir. Sunucunun yanıtlayabildiği okuma çağrıları açık bir sekme olmadan çalışır; motora dokunan ya da durum yazan her şey, eşleşmiş tek canlı sekmenize aktarılır — sekme yoksa okumanın ötesinde hiçbir şey.

Katmanlı güvenlik modeli#

Güvenlik modeli bilinçli olarak katmanlıdır. Token'lar kısa ömürlüdür ve dayanıklı, iptal edilebilir bir Agent Grant'e (siz × istemci × kapsam kümesi × son kullanım) hedef-bağlıdır; kapsamlar, bir ticaret kapsamını kuramayacak bir ad alanı × onay-katmanı gramerindendir; grant onayı yalnızca insan-UI'dir, asla bir öz-yükseltme değil. Copilot'un karşılaştığı aynı para bariyeri MCP için iki kez uygulanır — para fiilleri üretim anında yansımadan dışlanır ve gönderimde yeniden reddedilir. Mekanizma ajan yüzeyi sayfasının konusudur.

Hiçbir prompt'un açamayacağı şey#

Yasaklar yapısaldır, ayar değildir. Hiçbir ajan — Copilot, sızmış bir API anahtarı, başsız bir oturum ya da harici bir MCP istemcisi — asla satın alamaz, ödeme yapamaz, bahşiş veremez, iade edemez ya da ödeme çıkışı tetikleyemez; bütçe yükseltemez ya da ücretli hesaplama anlaşmalarına giremez; kimlik bilgilerinize dokunamaz; bir sahiplik devrini ya da paylaşım önerisini kabul edemez (o taslaklar, insan kabul eder); ya da hesap silme veya veri düzeltme yürütemez (hakkı önünüze koyar, kullanan sizsiniz). Zorlama sunucu tarafındadır: Para hareket ettiren fiiller yalnızca arayüzdeki bir insan jestinden, taze ve tek kullanımlık bir nonce ile kabul edilir.

ts
await scellis.purchase.checkout(listingId);
// ✗ refused — this call did not come from you, in the app.
//   A payment clears only from a real click, carrying a one-time
//   token. No API key, no script, and no agent can mint one.
siz, uygulamadagerçek tıklamatek kullanımlık jetonödeme geçerher makine çağırıcısıCopilot · betik · dış ajanreddedilirhiçbir makine paranızı harcayamaz — bu bir kural, ayar değil
Şek. 2 — Hiçbir makinenin geçemediği tek çizgi. Ödeme yalnızca sizin uygulamadaki gerçek bir tıklamanızla, yeniden kullanılamayan tek kullanımlık bir jetonla geçer — yani Copilot da, bir betik de, dışarıdan bir ajan da aynı barajda reddedilir. Onlara yasakladığımız için değil: öyle bir yol olmadığı için.

İşte bu yüzden prompt enjeksiyonuna uğramış bir Copilot, sızmış bir API anahtarı, başsız bir oturum ve eşleşmiş bir MCP ajanı — hiçbiri yine de satın alamaz; çünkü hiçbiri arayüzdeki bir insan olamaz. Kimi başka anlar da tarayıcının kendi güvenlik modeli gereği jeste bağlıdır — yerel bir dosya seçmek, bir OAuth açılır penceresini tamamlamak — ve orada Copilot her şeyi hazırlar, size tamamlamanız için tek bir net adım bırakır. Kendi verileriniz üzerindeki haklarınız da birer fiildir: erişim, dışa aktarma, düzeltme, kısıtlama, silme — birinci sınıf işlemler, bir ay içinde yanıtlanır. Copilot size yolu gösterir; hakkı kullanan sizsiniz.