Built something the r/selfhosted crowd might appreciate: Telechat — a self-hosted Claude AI bot that connects to Telegram, WhatsApp, Slack, and web chat from a single process.
Why self-hosted matters here
Anthropic launched Claude Code Channels recently — Claude on Telegram/Discord, managed by Anthropic. It works great, but every message goes through their cloud. Telechat takes the opposite approach:
- Runs on your machine (laptop, VPS, RPi, NAS — anything that runs Node.js or Python)
- Messages flow: phone → your server → Anthropic API → back to phone
- No relay server, no telemetry, no analytics
- SQLite for conversation history, stored locally
- The only external call is to Anthropic's chat-completions API for inference
Your messages, your hardware, your data.
Install
# npm
npm install -g telechatai && telechat init
# pip
pip install telechatai && telechat init
# Docker
docker run -v ~/.telechat:/config telechatai/telechat
Enter fullscreen mode Exit fullscreen mode
telechat init walks you through an interactive setup — API key, bot tokens for whichever platforms you want, model preferences, budget limits.
What it does
- Multi-platform — Telegram, WhatsApp, Slack, Web Chat. All running simultaneously from one process.
- Smart model routing — Routes queries to the cheapest Claude model that handles them. Saves ~60% on API costs vs always using Sonnet.
- Budget caps — Per-user daily and monthly limits. Set $5/day and forget about it.
- Persistent memory — SQLite-backed. Context carries across conversations.
- Desktop Bridge — If you run Claude Code on your desktop and it needs approval for a destructive action, you get a push notification on your phone. Approve/deny remotely.
- Media support — Send images for analysis, generate images if you have DALL-E configured.
Resource usage
Light. Single process, ~50MB RSS idle, spikes briefly during inference calls. SQLite means no database server. The bottleneck is always the Anthropic API latency, not local compute.
Self-hosting tips
- Run behind a reverse proxy (Caddy/nginx) for HTTPS if using webhooks
- Telegram supports long-polling (no public IP needed) — great for home setups
- WhatsApp requires the WhatsApp Business API (webhook-based, needs HTTPS)
- Set up systemd/Docker restart policies for reliability
Would love feedback from the self-hosting community. What would make this more useful for your setup?
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.