Project · 2026
Zirkbot
A private chat bot that connects conversation with a small set of personal services using Claude.
- TypeScript
- Node.js
- Discord.js
- Slack Bolt
- Anthropic SDK
- SQLite
- Ollama
- Vitest
Project snapshot
- Status
- Early-stage personal automation bot, actively extended as new needs appear.
- Platforms
- Discord and Slack adapters normalize messages into a common action-routing pipeline.
- AI routing
- Claude Haiku classifies intent, with optional Ollama classification to reduce API usage.
- Services
- Bridges a small set of private household workflows.
Technical proof
- Adapters handle platform details and missed-message recovery while actions stay service-specific and typed.
- SQLite conversation history supports context-aware responses across sessions.
- A CLI REPL enables local action testing without connecting Discord or Slack.
What it is
Zirkbot is a private personal bot that connects chat to a small set of household services. Messages arrive through platform-specific integration adapters, are normalized to a common BotMessage type, and dispatched to an action router that uses Claude Haiku to classify intent before routing to the appropriate registered action.
Architecture
The architecture is deliberately layered: integration adapters handle platform details (including missed-message recovery via a cursor file on startup), the router holds no service knowledge, and actions are self-contained units each wired to a typed service client. SQLite stores conversation history, enabling context-aware responses across sessions. A three-tier AI provider system gives the router the ability to use a lightweight model for classification while using a more capable model for actual responses — and an optional hybrid mode routes classification through a local Ollama instance to reduce API usage.
Capabilities
Capabilities include household controls, inventory lookup, library requests, and market-research queries. A CLI REPL supports local action testing without a chat connection.
Where it’s at
The project is early-stage and actively developed, with its action set expanding incrementally as new needs arise.