Panduan lengkap untuk pemula. Dari nol sampai bisa menjalankan multi-agent collaboration board untuk mengelola task antar beberapa Hermes profile.
Kanban di Hermes bukan sekadar "papan tugas" biasa. Ini adalah system antar-agent yang memungkinkan beberapa Hermes agent (disebut profile) saling berbagi dan mengerjakan task secara bersamaan.
Bayangkan kamu punya 3 orang asisten:
Kanban adalah "meja kerja bersama" tempat mereka semua bisa melihat task, mengambil pekerjaan, melaporkan progress, dan menyerahkan hasil.
Ada dua cara mengakses kanban board yang sama:
hermes kanban create - buat taskhermes kanban list - lihat semua taskhermes kanban show - detail taskhermes kanban complete - selesaikan/kanban di chatkanban_show - lihat taskkanban_list - daftar taskkanban_complete - selesaikanban_block - tandai terblokirkanban_comment - tambah komentarKedua akses ini terhubung ke database yang sama (~/.hermes/kanban.db), jadi datanya selalu konsisten.
Hermes punya dua cara untuk mendelegasikan kerja. Pahami bedanya supaya tidak salah pilih:
| Fitur | delegate_task | Kanban |
|---|---|---|
| Bentuk | Panggilan fungsi (fork, tunggu, selesai) | Antrian kerja tahan banting + state machine |
| Parent | Blokir sampai child selesai | Fire-and-forget setelah create |
| Identitas child | Anonymous (langsung hilang) | Named profile dengan memory persisten |
| Gagal? | Gagal = hilang selamanya | Block -> unblock -> coba lagi |
| Human in the loop | Tidak didukung | Komentar + unblock kapan saja |
| Agent per task | 1 panggilan = 1 agent | Banyak agent sepanjang hidup task |
| Audit trail | Hilang saat kompresi konteks | Tersimpan di SQLite selamanya |
delegate_task untuk tugas cepat (hitungan menit) yang butuh jawaban langsung. Pakai Kanban untuk kerja yang butuh bertahan hidup lebih lama, butuh input manusia, atau melibatkan banyak agent.
Contoh nyata: delegate_task = "tolong carikan harga tiket pesawat". Kanban = "bangun fitur auth dari awal sampai deploy, dengan riset, coding, dan review terpisah".
Inisialisasi Kanban Board
bashhermes kanban init
Command ini membuat file database di ~/.hermes/kanban.db. Sebenarnya tidak wajib dijalankan duluan - command pertama ke kanban akan auto-init. Tapi eksplisit lebih jelas.
Buka Dashboard (Opsional tapi Recommended)
bashhermes dashboard
Ini membuka web UI di http://127.0.0.1:9119. Klik "Kanban" di sidebar kiri untuk melihat board secara visual. Dashboard adalah tempat paling nyaman untuk memantau sistem.
Buat Task Pertama
bashhermes kanban create "Tulis artikel tentang AI" \ --assignee writer-agent \ --body "Buat artikel 1000 kata tentang tren AI 2026"
Task langsung masuk ke kolom Triage. Dari sini kamu bisa mulai mengelola workflow.
/kanban create "Judul task". Sama persis, cuma beda interface.
Setiap task di Kanban punya status. Pahami alurnya supaya tahu task ada di tahap mana:
| Status | Artinya | Siapa yang ubah? |
|---|---|---|
| triage | Task baru, ide mentah. Belum dipecah atau di-assign. | Otomatis saat create |
| todo | Task sudah di-assign tapi belum siap diambil (masih menunggu dependency). | Agent atau kamu |
| ready | Task siap diambil. Semua dependency sudah selesai. | Dispatcher (otomatis) |
| running | Agent sedang mengerjakan task ini. | Dispatcher saat spawn worker |
| blocked | Task terhenti. Butuh input manusia atau ada error. | Agent via kanban_block |
| done | Task selesai dikerjakan. | Agent atau kamu |
| archived | Task sudah selesai lama, diarsipkan. | Kamu atau gc |
hermes kanban show <id>), jawab pertanyaannya, lalu unblock: hermes kanban unblock <id>.
Semua command dimulai dengan hermes kanban. Ini cheat sheet yang bisa kamu copy-paste:
membuat task# Task sederhana hermes kanban create "Judul task" --assignee nama-profile # Task dengan detail lengkap hermes kanban create "Bangun API auth" \ --assignee backend-dev \ --body "Buat endpoint POST /login, POST /register" \ --priority 2 \ --tenant project-alpha # Task dengan dependency (parent-child) hermes kanban create "Tulis unit test" \ --assignee tester \ --parent <id-task-parent> # Hasil: JSON (untuk scripting) hermes kanban create "Task" --assignee x --json | jq -r .id
inspeksi# List semua task hermes kanban list # Filter berdasarkan status hermes kanban list --status blocked hermes kanban list --status running # Filter berdasarkan assignee hermes kanban list --assignee backend-dev # Detail satu task (termasuk komentar) hermes kanban show <id>
status changes# Selesai hermes kanban complete <id> # Block (butuh input manusia) hermes kanban block <id> --reason "Butuh API key untuk lanjut" # Unblock hermes kanban unblock <id> # Arsip hermes kanban archive <id>
komentar dan link# Tambah komentar hermes kanban comment <id> "Kode sudah di-push ke branch feature/auth" # Link task (parent-child dependency) hermes kanban link <parent-id> <child-id> # Hapus link hermes kanban unlink <parent-id> <child-id>
observability# Lihat statistik board hermes kanban stats # Lihat log worker terakhir hermes kanban log <id> # Tail semua aktivitas (real-time) hermes kanban tail # Lihat run history hermes kanban runs <id>
Ini tiga skenario dari yang paling sederhana sampai yang kompleks. Pilih sesuai kebutuhanmu.
Kamu sendiri yang bekerja, tapi pakai Kanban untuk mengorganisir dan memastikan tidak ada yang terlewat.
bash - buat 3 task berurutan# Buat task induk SCHEMA=$(hermes kanban create "Desain schema database" \ --assignee default \ --priority 2 \ --body "Buat schema untuk tabel users, sessions, tokens" \ --json | jq -r .id) # Task anak: bergantung pada schema API=$(hermes kanban create "Implementasi API endpoint" \ --assignee default \ --parent $SCHEMA \ --body "POST /register, POST /login, POST /refresh" \ --json | jq -r .id) # Task cucu: bergantung pada API hermes kanban create "Tulis integration test" \ --assignee default \ --parent $API \ --body "Test semua endpoint dengan pytest"
Alur otomatisnya: Task API baru jadi ready setelah Schema selesai. Task Test baru jadi ready setelah API selesai. Kamu tinggal kerjakan satu per satu.
Beberapa agent dengan peran berbeda mengerjakan task secara berurutan.
bash - pipeline 3 agent# Step 1: Riset oleh researcher hermes kanban create "Riset tren AI 2026" \ --assignee researcher \ --priority 3 # Step 2: Tulis oleh writer (nanti di-link) hermes kanban create "Tulis artikel berdasarkan riset" \ --assignee writer \ --priority 2 # Step 3: Review oleh editor hermes kanban create "Review dan edit artikel" \ --assignee editor \ --priority 1 # Link semua: researcher -> writer -> editor hermes kanban link <riset-id> <writer-id> hermes kanban link <writer-id> <editor-id>
Dispatcher otomatis menjalankan researcher duluan. Setelah selesai, writer jalan. Setelah writer selesai, editor jalan. Semua otomatis.
Satu agent type mengelola banyak instance. Cocok untuk: monitoring banyak server, manage banyak akun, proses banyak data.
bash - fleet contoh# Satu "fleet manager" dengan banyak task sejenis for server in server-1 server-2 server-3 server-4 server-5; do hermes kanban create "Check health $server" \ --assignee monitor \ --tenant $server \ --body "Cek CPU, RAM, disk, restart service jika perlu" done
Tenant memisahkan data setiap server. Satu agent profile "monitor" mengerjakan semuanya, tapi data per server tetap terisolasi.
Agent yang di-spawn oleh dispatcher punya toolset khusus untuk berinteraksi dengan kanban. Ini yang mereka bisa lakukan:
| Tool | Fungsi | Kapan dipakai |
|---|---|---|
kanban_show |
Lihat detail task termasuk komentar | Saat pertama kali di-spawn, baca task |
kanban_list |
Lihat semua task di board | Saat butuh konteks board-wide |
kanban_comment |
Tambah komentar ke task | Laporkan progress, tanya manusia |
kanban_complete |
Tandai task selesai | Saat pekerjaan selesai |
kanban_block |
Blokir task (butuh input) | Butuh API key, konfirmasi, atau ada error |
kanban_create |
Buat task baru dari dalam worker | Perlu spawn sub-task |
kanban_link |
Link task parent-child | Buat dependency graph |
kanban_heartbeat |
Kirim sinyal "masih hidup" | Task lama, hindari stale timeout |
worker tool calls (apa yang agent lakukan)# 1. Agent di-spawn oleh dispatcher # 2. Agent baca task-nya: kanban_show(id="abc123") # 3. Agent mulai kerja, laporkan progress: kanban_comment(id="abc123", body="Mulai riset, target 5 sumber") # 4. Selesai, tandai done: kanban_complete(id="abc123", summary="Artikel 1200 kata, 5 referensi") # ATAU kalau ada masalah: kanban_block(id="abc123", reason="Butuh API key OpenAI untuk lanjut")
Kalau kamu punya beberapa proyek yang tidak saling berhubungan, kamu bisa buat board terpisah untuk masing-masing.
bash - mengelola board# Lihat semua board hermes kanban boards list # Buat board baru hermes kanban boards create web-project \ --name "Web Development" \ --description "Proyek website klien" \ --icon "web" \ --switch # langsung jadi board aktif # Operasi di board spesifik tanpa switch hermes kanban --board web-project create "Deploy staging" \ --assignee devops # Ganti board aktif hermes kanban boards switch default
HERMES_KANBAN_BOARD untuk setiap worker. Ini garis keras, bukan filter halus.
Ini pola-pola yang bisa kamu bangun dengan Kanban. Tidak semua perlu, tapi bagus untuk diketahui:
| Pola | Deskripsi | Kapan Pakai |
|---|---|---|
| 1. Fan-Out | Satu task dipecah jadi banyak sub-task paralel | Riset dari banyak sumber sekaligus |
| 2. Pipeline | Task A -> B -> C berurutan | Riset -> Tulis -> Review |
| 3. Voting | Banyak agent mengerjakan hal sama, pilih hasil terbaik | Perlu kualitas tinggi (misal: generate 3 opsi, pilih 1) |
| 4. Journal | Satu task yang terus-menerus dikomentari setiap hari | Log harian, monitoring berkelanjutan |
| 5. Human-in-Loop | Agent kerja, block untuk minta persetujuan manusia | Deploy ke production, kirim email penting |
| 6. @mention Routing | Komentar mention agent lain untuk handoff | Kolaborasi lintas role yang fleksibel |
| 7. Thread-Scoped | Satu task = satu Telegram topic/thread | Forum mode, diskusi terorganisir |
| 8. Fleet Farming | Satu specialist mengerjakan N task serupa | Monitor banyak server, proses banyak data |
hermes kanban list --status blocked.hermes kanban tail untuk memantau aktivitas real-time.| Anti-Pattern | Kenapa Bahaya | Solusi |
|---|---|---|
| Task tanpa assignee | Dispatcher tidak tahu siapa yang harus kerjakan | Selalu isi --assignee |
| 1 task untuk 10 langkah | Terlalu besar, sulit track progress | Pecah jadi sub-task dengan link |
| Tidak cek blocked tasks | Worker nunggu selamanya, task mandek | Set reminder cek blocked harian |
| Pakai Kanban untuk tugas <2 menit | Overhead tidak sebanding | Pakai delegate_task saja |
| Scratch workspace untuk output penting | Scratch auto-hapus saat task selesai | Pakai dir:/path atau worktree |
| Tipe | Sintaks | Auto-Hapus? | Cocok Untuk |
|---|---|---|---|
| Scratch | (default) | Ya, saat selesai | Tugas sementara, eksperimen |
| Directory | dir:/absolute/path |
Tidak | Obsidian vault, folder proyek |
| Git Worktree | worktree:/path |
Tidak | Coding, branch isolation |
dir: atau worktree:.
config.yaml# Di ~/.hermes/config.yaml kanban: dispatch_in_gateway: true # Dispatcher jalan di dalam gateway failure_limit: 2 # Auto-block setelah 2x gagal spawn dispatch_interval: 60 # Dispatcher jalan setiap 60 detik orchestrator_profile: default # Profile yang handle triage auto_decompose: true # Auto-pecah task di triage