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:
// 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| Aile | Neyi kapsar |
|---|---|
| catalog | arama, oluşturma, güncelleme, fork etme — elinizdeki her şey, tek ad alanında |
| program · model | oluşturma, yama, diff, derleme, indirgenmiş IR'ı inceleme, 3 yönlü merge; Model View yüzeyinin tamamı |
| run | baş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 · notifications | yönetme, kayıt tutma, davet, not düşme, olan biteni toparlama |
| pools · jobs · federation · marketplace · billing · connectors · credentials · datasets | dağı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.
Üç 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:
| Katman | Ne ister |
|---|---|
| read | serbest — 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 |
| destructive | bir 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.
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.İş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.