DEV Community

Subhendu Das
Subhendu Das

Posted on • Originally published at bsky.app

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
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

telechat.fyi | GitHub

Would love feedback from the self-hosting community. What would make this more useful for your setup?

Top comments (0)