Open Source · Self-Hosted · Local-First

Your AI assistant,
every channel.

One intelligent agent across WhatsApp, Telegram, Slack, Discord, SMS, and iMessage. With memory that persists, security that denies by default, and local-first intelligence that runs for free.

terminal
$ pnpm install smartchannels
$ sc start

SmartChannels v1.0.0
├─ Web Chat  http://localhost:3000/chat
├─ WhatsApp  connected
├─ Telegram  connected
├─ Slack     connected (Socket Mode)
├─ Discord   connected
├─ SMS       connected (Twilio)
├─ Memory    sqlite-vec + FTS5 loaded
├─ LLM       Ollama (qwen3-0.6b) + gateway
└─ Ready     http://localhost:3000/health

One assistant. Every channel.

Web Chat
WhatsApp
Telegram
Slack
Discord
SMS
iMessage

Built different.

Not a chatbot wrapper. A production-grade agent platform.

Memory that persists

Three-tier memory — working, episodic, semantic. Remembers context across conversations and channels via sqlite-vec + FTS5 hybrid search.

Deny by default

YAML allowlist permissions. No action executes unless explicitly allowed. Hot-reloadable. Every action audited.

Local-first intelligence

Simple queries run on Ollama for free. Complex tasks route to cloud. You control the cost tradeoff.

MCP-native skills

Every tool is an MCP server. Consume external tools or expose your own. Universal standard adopted by Anthropic, OpenAI, and the Linux Foundation.

Observable from day one

OpenTelemetry SDK 2.0 with gen_ai.* conventions. Trace every message, track tokens, cost, and latency per user.

Cross-channel identity

One user everywhere. Talk on Slack, remember on WhatsApp. Identity resolution across all seven channels.

Tested like production

Five-layer test pyramid with Promptfoo red-teaming, 40+ attack types, and Stryker mutation testing.

Proactive, not reactive

Monitor email, calendar, and feeds. Surface information before you ask. Background jobs with retry, scheduling, and crash-survivable SQLite queue.

Why SmartChannels?

Other AI assistants cut corners. We didn't.

Security
Permissive defaults — 500+ CVEs in the wild
7-layer defense-in-depth, deny-by-default permissions
Memory
Session-only or none — forgets everything
3-tier persistent memory across every channel
Identity
Per-channel silos — no cross-channel awareness
One identity everywhere — talk on Slack, remember on WhatsApp
Cost
$300–750/mo in cloud API bills
Local-first with Ollama — simple tasks run free
Testing
Untested LLM outputs, zero red-teaming
5-layer test pyramid + Promptfoo red-team in CI
WhatsApp
Unofficial Baileys library — account bans at scale
Official Meta Cloud API — no ban risk
Ops
Redis + Postgres + Qdrant + Docker orchestra
One SQLite file — zero external services

Architecture

Single-process modular monolith. Zero external services beyond Ollama.

Tech stack

Every dependency earned its place.

Runtime Node 22 LTS
Framework Hono
Database SQLite + Drizzle
Vectors sqlite-vec
Search FTS5 + RRF
LLM Vercel AI SDK
Skills MCP-native
Config Zod v4
Errors neverthrow
Traces OTel SDK 2.0
Logs Pino 10
Tests Vitest + Promptfoo
Backup Litestream
Process PM2 + systemd

What you can build

Real workflows, not toy demos.

Cross-channel support

Customer asks on WhatsApp, follows up on Slack. SmartChannels remembers the full conversation across both — no context lost, no repeated questions.

Proactive assistant

Monitor your email and calendar. Get a Telegram alert before a meeting with relevant context pulled from previous conversations and documents.

Internal team agent

Deploy to your company Slack. Query databases, run reports, check server health — all through natural language with audit-logged permissions.

Common questions

Yes. SmartChannels is open source and free to self-host. Running with Ollama (local LLM) costs nothing. Cloud LLM providers (via llm-gateway-go) charge per API call, but you control the budget with built-in cost caps.
Yes. llm-gateway-go routes to 24+ providers including Anthropic, OpenAI, Google, Mistral, and more. Simple tasks run locally on Ollama for free; complex tasks route to your preferred cloud provider.
Under 5 minutes for the web chat channel. Channel-specific setup (WhatsApp Cloud API, Telegram BotFather, Slack app) varies but each has step-by-step docs. One SQLite database, no Docker orchestration required.
Everything runs on your hardware. Your data never leaves your server unless you explicitly route to a cloud LLM. SQLite database with Litestream backup to your own S3/R2 bucket. Full data export at any time.
OpenClaw proved multi-channel AI is possible. SmartChannels fixes the gaps: persistent memory (not session-only), deny-by-default security (not permissive), official WhatsApp API (not Baileys), tested LLM outputs (not untested), and zero-ops SQLite (not Redis+Postgres+Qdrant).

Get early access

Early access coming Q3 2026. Join the waitlist to be first in.

No spam. We'll email you once when we launch.