Run via Telegram
Deploy Zeph as a Telegram bot with streaming responses, MarkdownV2 formatting, and user whitelisting.
Setup
-
Create a bot via @BotFather — send
/newbotand copy the token. -
Configure the token:
ZEPH_TELEGRAM_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" zephOr store in the age vault:
zeph vault set ZEPH_TELEGRAM_TOKEN "123456:ABC..." zeph --vault age -
Required — restrict access to specific usernames:
[telegram] allowed_users = ["your_username"]The bot refuses to start without at least one allowed user. Messages from unauthorized users are silently rejected.
Bot Commands
| Command | Description |
|---|---|
/start | Welcome message |
/reset | Reset conversation context |
/skills | List loaded skills |
Streaming
Telegram has API rate limits, so streaming works differently from CLI:
- First chunk sends a new message immediately
- Subsequent chunks edit the existing message in-place (throttled to one edit per 10 seconds)
- Long messages (>4096 chars) are automatically split
- MarkdownV2 formatting is applied automatically
Voice and Image Support
- Voice notes: automatically transcribed via STT when
sttfeature is enabled - Photos: forwarded to the LLM for visual reasoning (requires vision-capable model)
- See Audio & Vision for backend configuration
Other Channels
Zeph also supports Discord, Slack, CLI, and TUI. See Channels for the full reference.