Subagents
Bir ajanın diğer ajanlara devrettiği işi, çalıştırma başına bir satırla gösterin. Her çalıştırma şu anda ne yaptığını söyler ve bitince kısa bir özete katlanır. Paralel çalıştırmalar canlı ilerleme gösteren ortak bir başlığı paylaşır; her biri durdurulabilir, yeniden denenebilir ve araç çağrılarına ve raporuna kadar açılabilir.
Claude Code, Codex ve Cursor gibi kodlama ajanları bir işin parçalarını, çoğu zaman aynı anda birkaçına olmak üzere, başka ajanlara devreder. Subagents bu çalıştırmaların her birine iş devreden birinin cümlesi gibi okunan bir satır verir: ajan, sade sözcüklerle görevi, o anda ne yaptığını gösteren canlı bir etiket (“Reading auth/session.ts”), bir zamanlayıcı ve kaç araç kullandığı.
Çalıştırmalar katlanmış başlar, böylece yoğun bir yanıt kısa kalır. Her satır çalıştırmasının şu an ne yaptığını söylemeye devam eder; açıldığında araç çağrıları en yeni adımı takip eden kısa bir pencereye akar. Bir çalıştırma bittiğinde satırı “Mapped the token refresh flow · 14 tool uses · 32s” gibi geçmiş zamanlı bir özete dönüşür; altında raporunun ilk cümlesi, içinde de raporun tamamı bulunur.
Paralel çalıştırmalar, ilerleme çubuğuyla “Running 3 agents”, ardından “3 agents finished in 48s” yazan ortak bir başlığı paylaşır. Çalıştırmalar sırada, çalışıyor, bitti, nedeni ve Retry ile başarısız, durduruldu ya da arka planda çalışmaya devam ediyor olabilir. getSubagentFromPart, çıktısı alt ajanın kendi mesajlarını akıtan bir AI SDK aracını okur; iç içe adımlar Tool Calls ile, rapor Markdown ile gösterilir.
HextaUI Pro'yu alın
Tek bir ödeme, gelecekte eklenecekler dahil tüm blokların kilidini açar. Fiyatları görün.
Pro registry'yi components.json dosyasına ekleyin
components.json Token'ınızı ekleyin
Hesap sayfanızda bir token oluşturun ve
.env.localdosyasınaHEXTAUI_PRO_TOKENolarak ekleyin.Bloğu ekleyin
pnpm dlx shadcn@latest add @hextaui-pro/subagents
AI SDK ile
Alt ajanı, execute’u alt ajanın arayüz mesajlarını üreten asenkron bir generator olan bir araca dönüştürün; böylece her biri ön çıktı olarak gelir. getSubagentFromPart bu parçayı bir çalıştırmaya, iç içe araç parçalarını Tool Calls adımlarına ve son araç çağrısından sonraki metni rapora dönüştürür. Aracı sunucuda, görüntülemeyi bir istemci bileşeninde tutun.
Paralel çalıştırmalar
Canlı ilerleme ve Stop all içeren tek bir başlık için Subagents’a birden çok çalıştırma verin. onStop ve onRetry’ı ajanları çalıştıran şeye bağlayın; satırdaki düğme çalıştırmanın durumu değiştikçe ikisi arasında geçiş yapar.
Kayıtlı verilerden
Geçmişten bitmiş bir çalıştırmayı sade prop’larla gösterin. Kayıtlı bir süre canlı zamanlayıcının yerini alır ve rapor bir tık uzakta kalır.
Yapı
Dıştan içe doğru birleştirdiğiniz parçalar.
| Parça | Açıklama |
|---|---|
Subagents | Özet başlığı, ilerleme, Stop all ve duyurular içeren bir çalıştırma grubu. |
Subagent | Bir çalıştırma: durum işareti, ajan, görev, canlı etiket, araç sayısı, zamanlayıcı ve Stop veya Retry düğmesi. |
SubagentMark | Tek başına durum işareti: çalışırken bir küre, ardından onay, uyarı veya durdurma simgesi. |
getSubagentFromPart | Akışla gelen alt ajan mesajlarını içeren bir AI SDK araç parçasını bir çalıştırmaya dönüştürür. |
Subagents
children dışındaki tüm section prop’larını da kabul eder. Tek bir çalıştırma başlıksız gösterilir.
| Prop | Tür | Varsayılan |
|---|---|---|
runsBaşlatıldıkları sırayla çalıştırmalar. Bittikçe yerlerini korurlar. | SubagentProps[] | – |
labelBölgeyi ve ilerleme çubuğunu adlandırır. | string | "Subagents" |
durationKayıtlı toplam saniye, geçmiş için. Varsayılan olarak çalıştırmalar çalışırken ölçülen süre. | number | – |
defaultOpenÇalıştırmalar başlığın altında listelenmiş olarak başlar. | boolean | true |
onStopAllStop all tarafından çağrılır. Verilmezse Stop all, çalışan her çalıştırmanın onStop’unu çağırır. | () => void | – |
Subagent
children dışındaki tüm div prop’larını da kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
idKararlı kimlik, genellikle toolCallId. | string | – |
taskAjandan istenen iş, birkaç sözcükle: “Map the token refresh flow”. | string | – |
statusqueued, running, done, failed veya stopped. | SubagentStatus | – |
agentAjanın türü veya adı, örneğin Explore ya da Plan. | string | – |
titleÇalıştırma çalışırken satırdaki görevin yerini alır. | string | – |
doneTitleBitince gösterilen satır. İlk sözcüğü bilinen bir fiilse varsayılan olarak görevin geçmiş zaman hali. | string | – |
promptAçıldığında en üstte gösterilen tam talimatlar. | string | – |
callsÇalıştırmanın Tool Calls ile gösterilen adımları. | ToolCallProps[] | – |
activityCanlı etiketin yerini alır; etiket aksi halde en yeni etkin adımdan gelir. | string | – |
resultMarkdown olarak son rapor. | string | – |
resultStreamingRapor hâlâ geliyor. | boolean | – |
previewKatlanmış çalıştırma için bir satır. Varsayılan olarak raporun ilk cümlesi. | string | – |
errorÇalıştırmanın neden başarısız olduğu; satırda ve açıldığında tamamıyla gösterilir. | string | – |
toolUsesVarsayılan olarak çağrı sayısı olan sayıyı geçersiz kılar. | number | – |
modelDaha geniş ekranlarda rozet olarak gösterilir. | string | – |
durationKayıtlı saniye, geçmiş için. | number | – |
startedAtZaten çalışan bir çalıştırmanın milisaniye cinsinden başlangıç zamanı; böylece zamanlayıcı bileşen yüklenince sıfırlanmaz. | number | – |
backgroundSohbet devam ederken çalıştırma çalışmayı sürdürür. Background rozeti gösterir ve katlı kalır. | boolean | – |
defaultOpenÇalıştırmayı araç çağrıları ve raporu görünür şekilde açık başlatır. | boolean | false |
onStopÇalıştırma sıradayken veya çalışırken Stop gösterir. | () => void | – |
onRetryÇalıştırma başarısız olduğunda veya durdurulduğunda Retry gösterir. | () => void | – |
getSubagentFromPart(part, options)
Bir araç parçasından bir çalıştırma döndürür. Sonucu doğrudan Subagent’a ya da Subagents’ın runs’ına verin.
| Prop | Tür | Varsayılan |
|---|---|---|
partAlt ajanın araç parçası. Çıktısı, parçaları akıl yürütme, araç çağrıları ve metin içeren bir arayüz mesajıdır. | ToolUIPart | DynamicToolUIPart | – |
options.stoppedSohbet durdu, bu yüzden bitmemiş bir çalıştırma Stopped gösterir. | boolean | false |
options.describeToolHer iç içe araç için bir tür, hedef veya görünüm ekler. readFile, grep ve bash gibi yaygın adlar sizin için tahmin edilir. | (part) => Partial<ToolCallProps> | – |
options.agentAjan adı. Varsayılan olarak girdideki subagent_type, sonra araç adı. | string | – |
options.modelModel rozeti. Varsayılan olarak mesaj meta verisindeki model. | string | – |
| Tuş | Action |
|---|---|
| EnterSpace | Bir çalıştırmayı ya da grup başlığının altındaki listeyi açar veya kapatır. |
| Tab | Bir çalıştırmadan onun Stop veya Retry düğmesine, başlıktan Stop all’a geçer. |
- Her çalıştırmanın başlığı, adı ajanı, görevi, canlı etiketi, araç sayısını ve süreyi okuyan aria-expanded’li bir düğmedir.
- Grup, ajanlar çalışırken aria-busy taşıyan adlandırılmış bir bölgedir. Kibar bir canlı bölge, bir çalıştırma yeniden başladığında, bittiğinde, başarısız olduğunda veya durduğunda ve ardından grup özetini duyurur. Araç adımları ve zamanlayıcı tıkırtıları sessiz kalır.
- Stop ve Retry, çalıştırmalarının adını taşıyan gerçek düğmelerdir; örneğin “Stop Explore: Map the token refresh flow”. Bir düğme kaybolduğunda odak çalıştırmanın başlığına döner.
- Durum asla yalnızca renkle anlatılmaz: her durumun kendi işareti ve ifadesi vardır. Azaltılmış harekette küre sabit durur ve satırlar kaymadan değişir.
Şunlarla geliştirildi
Subagents bloğunun yapıldığı ücretsiz HextaUI bileşenleri. Her biri tek başına yüklenir.
Kod
6 dosya, components/blocks/subagents konumuna eklendi.