Your own AI agent, keeping watch
An open-source agent that runs on your own machine. Message it on WhatsApp, Telegram or Slack. It remembers you, asks before anything risky, and finishes what it started, even after a crash.
Source on GitHubApache 2.0macOS, Linux, Windows, Docker
27 channels, and the model you choose
- Telegram
- Slack
- Discord
- Signal
- iMessage
- Google Chat
- Matrix
- Mattermost
- Claude
- GPT
- Gemini
- Grok
- Mistral
- Ollama
- OpenRouter
How it works
Running in about a minute
No YAML to write and no runtime to install. Not sure what to run next? Type hk on its own and it tells you.
Step 1
Install
One command for macOS, Linux or Windows, or a container image. A single binary, with hk as its short name.
Step 2
Run hk setup
Pick a model, pick where to talk (a WhatsApp agent is the easy one), and name your agent. It ends with a summary and three things to try.
Step 3
Say hi from your phone
It introduces itself, asks a few questions, and remembers the answers from then on.
curl -fsSL https://habakkuk.ai/install.sh | shApple silicon and Intel. Verified against SHA256SUMS, installed to ~/.local/bin.
then hk setup
Coming from another agent? habakkuk migrate brings your agents, memories, skills and keys.
Other ways to installWhat it does
An agent you can hand real work
It acts with real tools, keeps what it learns where you can read it, and checks with you before anything you would want to check.
## About
Ada. Toronto. Prefers short replies.
## Work
Runs a cleaning company, five staff.
Invoices in spreadsheets.
Invoices moved to the accounting app.
Memory you can read
What it learns about you is plain Markdown. Open it in an editor, fix it, or tell it to forget. Every change can be undone.
Asks before anything risky
Risky calls wait for Approve or Deny in the chat you are already in.
A team behind one chat
Many agents, each with its own model, tools and memory. The one you talk to delegates and reports back.
Careful with your money
Quick messages go to a cheaper model. Every call’s cost is tracked, and hard caps stop a runaway bill.
Real tools
Files, shell, a real Chrome, computer use, voice and any MCP server, inside the limits you set.
It reviews its own week
Turn on weekly retros and it looks back over its own work, from its own records. It proposes fixes, applies the safe ones with your yes, and checks next week whether they helped.
One hk, here and on your server
Save your server once. Then hk -r srv runs any command there over ssh: chat, status or logs, from your laptop.
Where you talk
It lives in the chats you have
No new app to learn. Your agent sends the morning brief, asks before it runs a command, and tells you when the work is done, in WhatsApp, Telegram, Slack, Discord, Signal, iMessage, email and more.
It keeps the thread. Reply to one message on WhatsApp, Telegram, Signal or Discord and it sees the quote. It also sees what else landed in the chat, such as a schedule’s result, so a short “yes” is read against the right message.
Habakkuk
in Telegram
- Today
Your Tuesday
Passport renewal is on today’s list. The venue still hasn’t replied; I’ll nudge them at noon. Rain after 4.
08:00- The server’s almost out of disk. Can you clean it up?08:02
Old Docker images are using 18 GB. I’d like to run:
docker image prune -a08:03- You approved · 08:03
- Done. 18 GB freed; the disk is at 61%.08:04
Durable by design
Pull the plug. It carries on.
Every message becomes a job saved to disk before any work starts. If the process dies mid-task, from a power cut, a bad deploy or kill -9, the next start takes the job back, repairs the conversation and finishes. Nothing is lost, and nothing is done twice.
- 09:14:02queuejob 4821 saved: “pull the repo and fix the test”
- 09:14:02workerjob 4821 leased by mini, pid 5120
- 09:14:05toolexec: go test ./... (running)
- 09:14:06hostprocess killed: kill -9
- 09:14:11startjob 4821: owner is gone, reclaimed
- 09:14:11repaircut-off call marked interrupted, not re-run blindly
- 09:14:19replysent once; duplicate dropped
Dashboard
See everything it does
Every Habakkuk serves a dashboard: chat, sessions, the task board, schedules, memory, usage and approvals. The same screens ship as a desktop app.






Recurring work, each slot run at most once, results sent to the chat that asked.
Use cases
Things you can just ask for
Mornings
Every weekday at 8, send me my day.
Schedules run on time, once per slot, and report to the chat that asked.
Errands
Remind me to renew my passport Monday, and draft the email to the consulate.
Reminders, drafts and lookups without leaving the chat.
Research
Compare three CRMs for a five-person team. One page.
It reads real pages and PDFs, splits the work across sub-agents and hands you a document.
Business
Ask sales to follow up with everyone who wrote this week.
Marketing, sales and support agents on WhatsApp, run from one chat in Slack.
Home
If the garage is still open at 11pm, tell me and offer to close it.
Home Assistant, within the domains you allow. Locks and alarms always ask first.
Code
Pull the repo, fix the failing test, and open a PR.
Shell, files and git, with risky commands waiting for your Approve.
FAQ
Questions
Anything else is in the docs.
What does it cost?
Which models does it work with?
Where does my data live?
How is it different from a chatbot?
Where should I run it?
hk -r NAME runs any command there from your laptop. Rather not run a server? Habakkuk Cloud is planned; the waitlist is on the pricing page.Is it really open source?
Set a watchman over your work
Install it, run hk setup, and say hi from your phone.
curl -fsSL https://habakkuk.ai/install.sh | shFree to run yourself. Hosted plans are on the way: see pricing.