Synthèse
Kai est une interface CLI personnalisée qui intègre Claude Code avec des notifications vocales et une gestion de contexte. Elle permet d'exécuter des requêtes en mode interactif ou ponctuel, avec support du silence et de l'intégration terminale. L'outil crée une boucle de rétroaction naturelle transformant le travail asynchrone en conscience ambiante.
At the center of my workflow is a custom kai command that wraps Claude Code with voice notifications and context management. bash# Interactive mode (default PAI directory) kai # Single-shot query with voice kai "what's my schedule today? " # Run with specific context directory kai --context ~/Projects/Website "deploy the latest changes" # Silent mode (no voice) kai --no-voice "analyze this code for security issues" # Wallpaper management (Kitty terminal integration) kai wallpaper circuit-board1234567891011121314 The implementation (TypeScript/Bun): typescriptclass Kai { private config: KaiConfig = { contextDir: PAI_DIR, voice: true, maxTurns: 10, allowedTools: ["Bash", "Edit", "Read", "Write", "Grep", "Glob", ... ], systemPrompt: `You are Kai, Daniel's digital assistant. You're snarky but helpful, concise and direct.
` }; async run(prompt: string, options: Partial = {}): Promise { // Voice speaks the prompt await this. notify("Kai Starting", `Working on: ${prompt}`, true); // Execute Claude with configured tools and context const proc = Bun. spawn(["claude", ... args], { cwd: this. config.
contextDir, env: { KAI_SESSION: "true" } }); // Extract summary from output const summaryMatch = output. match(/SUMMARY:\s*(. +)/); // Voice speaks the completion await this. notify("Kai Complete", summary, true); } }123456789101112131415161718192021222324252627 The voice notifications create a natural feedback loop. When I run kai "research these 5 companies" and walk away, I hear "Kai starting: Working on research these 5 companies" from across the room.
Five minutes later I hear "Kai complete: I researched all five companies and found funding data for each. " This transforms asynchronous work into ambient awareness. The wallpaper integration is a small detail that makes a difference. I have a collection of UL-branded wallpapers for Kitty terminal.
The Kai CLI: Voice-Enabled Claude Code
· 26 juil.