Saya membuat desktop pet dengan Claude Code Hook
(github.com/IMMINJU)Di kantor, saya bekerja dengan membuka beberapa sesi Claude Code sekaligus, dan sering kali saya melewatkan sesi mana yang sedang menunggu input. Apalagi karena di kantor saya juga tidak bisa menyalakan suara.
Di Claude Code, kita bisa memakai Hook untuk menjalankan perintah eksternal sebelum dan sesudah pemanggilan tool. Biasanya ini dipakai untuk linting atau logging, tetapi kali ini saya mencoba sesuatu yang berbeda.
Saya membuat widget yang menerima event Hook lalu menampilkannya di desktop sebagai karakter emoji. Jika menjalankan beberapa sesi, masing-masing dilacak secara terpisah dan ditampilkan berdampingan.
Karena status dipetakan ke emoji, ekspresinya seperti tersenyum, bingung, atau mengantuk jadi terlihat lucu, jadi saya memutuskan untuk menyebutnya pet.
Claude Code hooks → claude-pet --hook → TCP(:19876) → Tauri(Rust) → WebView
Hook membuat proses baru untuk tiap event lalu menghilangkannya lagi, jadi statusnya tidak bisa dipertahankan. Karena itu, saya menaruh server TCP di sisi aplikasi, lalu setiap kali Hook terjadi, strukturnya mengirim JSON ke sana. Dibuat dengan Tauri 2 + Rust, ukuran binarinya sekitar 8MB, dan jika diinstal dengan satu baris curl ... | sh, pendaftaran Hook juga dilakukan otomatis.
Tersedia 3 tema bawaan (robot, kucing, buah), tema kustom juga bisa dibuat dengan JSON, saya memakainya di Windows, dan build untuk macOS/Linux juga ada, meski belum sempat saya uji langsung. MIT.
GitHub: https://github.com/IMMINJU/claude-pet
Masukan sangat saya nantikan.
Belum ada komentar.