Agent Todos
Bir ajanın planını çalışırken gösterin. Her adım backlog'dan yapılacak, devam eden ve tamamlanana ilerler; canlı süreler, başarısızlıklar ve arkasındaki araç çağrıları ile birlikte. Yazma alanının üstü için bir durum hapı, görebildiğiniz plan değişiklikleri ve çalışmadan önce planı düzenlemek için bir gözden geçirme adımı.
Claude Code, Codex ve Gemini CLI gibi kodlama ajanları, çalışırken TodoWrite, update_plan ve write_todos gibi araçlarla yazılı bir plan tutar. Agent Todos bu planı adım başına bir satıra dönüştürür; devam eden adım açıkça yazılır (“Testler çalıştırılıyor”) ve her adımın ne kadar sürdüğü gösterilir.
Her adım backlog'dan yapılacak, devam eden ve ardından tamamlandı, başarısız ya da iptal edildi durumuna geçer. Ajan planını yeniden yazdığında yeni adımlar vurgulanır, kaldırılanlar daralarak kaybolur ve kısa bir not neyin değiştiğini söyler. Başarısız bir adım nedenini görünür tutar; tamamlanmış uzun adım dizileri katlanır ve güncel iş ekranda kalır.
AgentTodosStatus, geçerli adımı ve bir sayacı yazma alanının üstünde tek satırda gösterir; AgentTodosReview ise herhangi bir şey çalışmadan önce kullanıcıların adımları düzenlemesine, yeniden sıralamasına, eklemesine ve kaldırmasına, ardından ⌘↵ ile başlatmasına olanak tanır. Adaptörler, hâlâ akmakta olan girdi dahil her ajanın araç biçimini okur ve Tool Calls herhangi bir adımın içindeki işi gösterebilir.
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/agent-todos
AI SDK ile
getTodosFromParts, girdisi hâlâ akarken bile bir mesajdaki en son TodoWrite, update_plan veya write_todos çağrısını okur. Listeyi mesajda, durum hapını ise yazma alanının üstünde gösterin.
Çalıştırmadan önce gözden geçir
Ajan başlamadan önce kullanıcıların adımları düzenlemesine, yeniden sıralamasına, eklemesine ve kaldırmasına izin verin. Run plan ya da ⌘↵ temizlenmiş listeyi geri verir.
Artımlı görev araçlarıyla
Claude Code'un TaskCreate ve TaskUpdate'i gibi görevleri tek tek oluşturup güncelleyen araçlar için her çağrıyı applyTaskEvent ile listeye işleyin.
Yapı
Dıştan içe doğru birleştirdiğiniz parçalar.
| Parça | Açıklama |
|---|---|
AgentTodos | Başlığı, ilerleme çubuğu, açıklaması ve plan değişikliği notuyla tam liste. |
AgentTodosStatus | Geçerli adımı gösteren, listeyi bir popover'da açan tek satırlık bir hap. |
AgentTodosReview | Ajan başlamadan önce gösterilen düzenlenebilir plan. |
TodoMark | Özel düzenler için tek başına durum işareti. |
getTodosFromParts, fromTodoWrite, fromUpdatePlan, fromWriteTodos, applyTaskEvent | Her ajanın araç biçiminden Todo öğelerine adaptörler. |
| Prop | Tür | Varsayılan |
|---|---|---|
todosSıralı adımlar. | Todo[] | – |
explanationPlanın neden böyle göründüğü, ilerleme çubuğunun altında gösterilir. Codex bunu update_plan ile gönderir. | string | – |
runningAjanın çalışıp çalışmadığı. Herhangi bir adım devam ederken varsayılan olarak true. | boolean | – |
titleBaşlık etiketi ve bölge adı. | string | "Tasks" |
collapsibleBaşlığın listeyi katlamasına izin verin. | boolean | true |
defaultOpenAçık başlar. | boolean | true |
foldAfterListe bundan uzun olduğunda tamamlanmış adımları en üstte katlar. | number | 6 |
| Prop | Tür | Varsayılan |
|---|---|---|
idKararlı id. Plan değişiklikleri id'ye göre algılanır. | string | – |
contentNe yapılacağı, emir kipinde: “Testleri çalıştır”. | string | – |
activeFormNe yaptığı, devam ederken gösterilir: “Testler çalıştırılıyor”. | string | – |
statusAşama. pending, Yapılacak olarak okunur. | "backlog" | "pending" | "in_progress" | "completed" | "failed" | "cancelled" | – |
errorBaşarısız bir adımın altında gösterilir. | string | – |
durationGeçmiş için saklanan saniyeler. | number | – |
detailsAdımın altında açılır, genellikle Tool Calls. | ReactNode | – |
| Prop | Tür | Varsayılan |
|---|---|---|
todosAynı liste. Boşken hiçbir şey render etmez. | Todo[] | – |
runningtrue iken işareti ve shimmer'ı canlandırır. | boolean | – |
explanationPopover içindeki listeye iletilir. | string | – |
| Prop | Tür | Varsayılan |
|---|---|---|
todosÖnerilen plan. | Todo[] | – |
onChangeHer düzenlemede çağrılır. | (todos: Todo[]) => void | – |
onApproveRun plan ya da ⌘↵ ile çağrılır; boş adımlar kaldırılır ve metin kırpılır. | (todos: Todo[]) => void | – |
onCancelCancel'ı gösterir ve Escape'i işler. | () => void | – |
titleBaşlık. | string | "Review the plan" |
approveLabelDüğme etiketi. | string | "Run plan" |
getTodosFromParts(parts)
Bir AI SDK mesajındaki en yeni TodoWrite, update_plan veya write_todos çağrısından { todos, explanation? } döndürür, yoksa null.
| Prop | Tür | Varsayılan |
|---|---|---|
partsStatik ve dinamik araç parçalarında, hâlâ akmakta olan girdi dahil çalışır. | UIMessage["parts"] | – |
applyTaskEvent(todos, event)
Bir TaskCreate ya da TaskUpdate çağrısını listeye işler. deleted durumu görevi kaldırır.
| Prop | Tür | Varsayılan |
|---|---|---|
eventÇağrı, normalleştirilmiş. | { type: "create", id, subject, activeForm? } | { type: "update", id, status?, subject?, activeForm? } | – |
| Tuş | Action |
|---|---|
| EnterSpace | Listeyi başlığından ya da bir adımın ayrıntılarından açar veya katlar. |
| ⌘↵ | Gözden geçirilirken planı çalıştırır; başka bir alana yazmıyorsanız. |
| Enter | Gözden geçirmede, geçerli adımın altına bir adım ekler. |
| ⌫ | Gözden geçirmede, boş bir adımı kaldırır ve üstündekine geçer. |
| ⌥↑ | Gözden geçirmede, adımı yukarı taşır. ⌥↓ aşağı taşır. |
| ↑↓ | Gözden geçirmede, adımlar arasında gezinir. |
| Esc | onCancel ayarlıysa gözden geçirmeyi iptal eder. |
- Liste, sıralı bir liste içeren etiketli bir bölgedir ve her adımın adı aşamasını da içerir, örneğin “Testler çalıştırılıyor, Devam ediyor”.
- Gizli bir progressbar kaç adımın tamamlandığını bildirir.
- Bir adımın başlaması, bitmesi ve başarısız olması, plan değişiklikleriyle birlikte polite bir live region ile duyurulur. Zamanlayıcı tikleri duyurulmaz.
- Durum hapının etiketi geçerli adımı ve sayıyı okur ve listeyi odak yönetimli bir popover'da açar.
- Gözden geçirme alanları adım numarasına göre etiketlenir, taşımalar duyurulur (“5 adımın 2. sırasına taşındı”) ve bir giriş yöntemi yazım yaparken Enter bekler.
- Azaltılmış harekette, devam eden halka dönmeyi bırakır, onay işaretleri çizilmeden belirir ve adımlar anında yerine kayar.
Şunlarla geliştirildi
Agent Todos bloğunun yapıldığı ücretsiz HextaUI bileşenleri. Her biri tek başına yüklenir.
Kod
4 dosya, components/blocks/agent-todos konumuna eklendi.