Hice una mascota de escritorio con Claude Code Hook
(github.com/IMMINJU)En el trabajo suelo tener abiertas varias sesiones de Claude Code al mismo tiempo, y muchas veces se me pasa cuál de ellas está esperando entrada. Además, como estoy en la oficina, no puedo activar el sonido.
En Claude Code se pueden usar Hooks para ejecutar comandos externos antes y después de llamar herramientas; normalmente se usan para linting o logging, pero probé hacer algo un poco distinto con eso.
Creé un widget que recibe eventos del Hook y los muestra en el escritorio como personajes con emojis. Si ejecutas varias sesiones, las rastrea por separado y las muestra una al lado de la otra.
Como fui mapeando los estados con emojis, verlos sonriendo, confundidos o cabeceando me pareció divertido, así que decidí simplemente llamarlo una mascota.
Claude Code hooks → claude-pet --hook → TCP(:19876) → Tauri(Rust) → WebView
Los Hooks crean y destruyen un proceso en cada evento, así que no pueden mantener estado. Por eso armé una estructura donde la app tiene un servidor TCP y, cada vez que ocurre un Hook, se le envía JSON. Está hecho con Tauri 2 + Rust, así que el binario pesa unos 8 MB, y si lo instalas con una sola línea curl ... | sh, hasta el registro del Hook se hace automáticamente.
Trae 3 temas integrados (robot, gato y frutas), también se pueden crear temas personalizados con JSON, yo lo uso en Windows, y también hay builds para macOS/Linux, aunque todavía no pude probarlos personalmente. MIT.
GitHub: https://github.com/IMMINJU/claude-pet
Se agradece el feedback.
Aún no hay comentarios.