Telechat: self-host Claude AI across Telegram/WhatsApp/Slack with one npm install
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 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