Marketplace'te yayınla
Bir personayı Moonborn marketplace'ine gönder, moderasyondan geç, başkalarının listing'ini kurmasına ya da fork'lamasına izin ver.
Marketplace cross-org dağıtım kanalı: bir persona yayınlarsın, moderasyondan geçer, downstream kullanıcılar onu kurar ya da fork'lar. Bu tutorial yayıncı tarafını anlatır.
1. Personayı hazırla
Gönderim öncesi manuel audit çalıştır ve distinctiveness skorunu kontrol et. Audit'ten geçemeyen listing'ler moderasyon kuyruğunda otomatik reddedilir.
const audit = await client.personas.runAudit({ id: persona.id });
if (audit.overallScore < 4.0) {
console.log('Yayınlamadan önce personayı refine et — audit çok düşük.');
}2. Listing'i gönder
const listing = await client.marketplace.publishListing({
personaId: persona.id,
license: 'CC-BY-4.0',
priceCents: 0,
description:
'SaaS onboarding için ayarlanmış karakter-tutarlı bir customer-support persona.',
});
console.log(listing.status); // "in_review"Lisans seçenekleri: CC-BY-4.0, CC-BY-SA-4.0, CC0-1.0, artı
ücretli listing'ler için Moonborn'a özgü bir commercial-use lisansı.
Lisans hangi fork'lara izin verildiğini etkiler (ShareAlike downstream
fork'ların aynı lisansı tutması gerektiği anlamına gelir).
3. Moderasyonu bekle
Her yeni listing in_review'a girer. Default policy human review'dan
geçirir; SLA hedefi marketplace.moderation.review_sla_hours (default
48 saat).
Üç sonuç:
published— listing canlı, downstream install/fork'lar kilidi açıldı.unpublished— reddedildi; listing verdict gerekçesi ve remediation ipucu döner.in_review— derin inceleme için tutuluyor (tipik olarak auto-policy bir insanın doğrulaması gereken bir şeyi flag'lediğinde).
Sonucu kendi ürününe bağlamak istersen marketplace.listing.published
ve marketplace.listing.unpublished webhook event'lerine abone ol.
4. Listing'i yönet
Yayınlandıktan sonra yeniden göndermeden metadata güncelleyebilirsin:
await client.marketplace.updateListing({
id: listing.id,
description: 'Güncellendi: artık billing eskalasyonlarını temiz şekilde ele alıyor.',
});Manuel olarak yayından kaldırmak için:
await client.marketplace.unpublishListing({ id: listing.id });Yayından kaldırılsa bile listing'ler lineage ağacında kalır —
downstream fork'lar kırılmaz, ama listing
/v1/marketplace/listings
listesinde görünmeyi durdurur.
5. Install ve fork'ları oku
const detail = await client.marketplace.getListing({ id: listing.id });
console.log(detail.downloads, detail.forks, detail.ratingsAvg);Her install downloads'u artırır. Her fork forks'u artırır ve
listing'ine atıflı bir lineage edge yazar (bkz.
Lineage + fork tree).
6. Commerce (Enterprise)
Ücretli listing'ler marketplace.commerce.enabled (Enterprise tier-gate)
ve bir creator Stripe Connect hesabı gerektirir. Gelir paylaşımı
marketplace.commerce.revenue_share (default 0.7 — %70 creator,
%30 platform).
const creator = await client.marketplace.onboardCreator();
console.log(creator.stripeOnboardingUrl);
// Kullanıcıyı Stripe Connect onboarding'i tamamlaması için oraya gönder.Payout'lar creator'ın bekleyen bakiyesi
marketplace.commerce.payout_min_usd'yi (default $50) geçtiğinde
tetiklenir. Saatlik reconciliation cron'u usage_events'i Stripe
kayıtlarına karşı audit eder.
Dürüst kapsam
Marketplace persona şablonu gönderir. Chat geçmişi, memory state ya da workspace-scope'lu konfigürasyon göndermez. Her kurulum kurulumu yapanın kendi workspace'ine karşı çalışır.
Sonraki
- Anlatı + use case: Marketplace publishing use case.
- Downstream fork'ları izleme: Fork attribution guide.
- Marketplace API reference.