Build AI chat agents
you actually own.

Chasqui is an open-source, self-hosted stack for custom AI chat agents: conversation engine, memory, RAG, human handoff and a pluggable tool system — wired and ready, so your energy goes into your agent's logic. WhatsApp today, more channels on the roadmap.

$ uvx chasqui new my-agent

Apache-2.0 · beta · one command scaffolds and provisions the whole stack

Chasqui operator panel: a human-handoff conversation with image and voice messages
Batteries included

Everything an agent needs, already wired

The plumbing decisions are made — Postgres + pgvector, one canonical message contract, conventions over configuration. You build what makes your agent different.

Conversation engine

A LangGraph orchestrator keeps one continuous thread per contact — context, silence handling and delivery errors are already solved.

Memory + FAQ RAG

Long-term memory and a grounded FAQ knowledge base on Postgres + pgvector. Answers cite your content, not hallucinations.

Multimodal, both ways

Images, documents and voice notes — understood on the way in, sent on the way out.

Human handoff inbox

The agent detects when a person is needed; operators take over and reply from the panel, media included.

Tool Modules

Self-contained packages the core auto-discovers: tools, tables, routes and config forms the panel renders for free.

Any LLM, a .env swap

Gemini, Claude, GPT, OpenRouter or local Ollama. Change provider and the next message uses it — no redeploy.

Channel-agnostic by design

The core never knows a channel exists

Channels are thin, stateless gateways that translate their platform to one canonical contract — two endpoints and you've added a channel. Handoff, media, silence and delivery errors are expressed once, inherited by every channel for free.

Every non-obvious decision is written down as an ADR — read the architecture.

Operator panel

Run the agent without touching code

  • Edit the system prompt and watch behavior change on the next message
  • Curate the FAQ knowledge base that grounds RAG answers
  • Configure tool modules through auto-rendered forms
  • Watch conversations live, take over when it matters
  • Capture and review leads
Chasqui admin dashboard in dark mode A full conversation: AI replies, human handoff, operator takeover
Quickstart

From zero to a running agent

1

Scaffold

uvx chasqui new my-agent

The wizard asks: LLM, embeddings, Postgres, ports, WhatsApp credentials (skippable), language, first admin — then provisions deps, database and migrations.

2

Run

cd core && make dev
cd whatsapp && make dev
cd admin && npm run dev

API, WhatsApp gateway and operator panel — each a one-liner.

3

Connect WhatsApp

docs/WHATSAPP-SETUP.md

A free Meta developer app is enough to start. Step-by-step guide included, ngrok webhook auto-registration in dev.

Prerequisites: uv, Node 22, PostgreSQL with pgvector (or the generated docker-compose).

Roadmap

Where this is going

Telegram channel a second gateway speaking the same contract
Web chat widget embeddable channel for any website
Analytics conversation stats module for the panel
Document RAG knowledge base beyond FAQ pairs — PDFs, docs

Issues and ideas welcome — join in on GitHub.

Contact

Want an agent built for you?

We build custom agents on Chasqui and help teams get theirs running. Bugs and ideas go to GitHub issues — for everything else, talk to us: