Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
AI support agent for Shopify and WooCommerce stores: answers from your own documents, refunds and cancellations handled by your rules. 30 days free, no card.
BusinessTypeScript · VueGitHub @hay-chatOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Self-hosted AI customer support. AI agents that resolve requests, not just answer them: order lookups, refunds and order updates via Shopify, WooCommerce and Stripe, with human handoff. Web chat, WhatsApp, Instagram DMs and email.
Loading the full README.
Read the full README ↗Hay.chat is self-hosted AI customer support software. Its AI agents resolve customer requests instead of just answering them: they look up orders, issue refunds and update orders through Shopify, WooCommerce and Stripe, and hand off to a human when they aren't confident. Run it on your own server with Docker, or use the hosted version at hay.chat.
Best for Shopify and WooCommerce stores that want AI to actually issue refunds and update orders, on a flat monthly plan with no per-seat fees, with a human approval step available on any action.
Hay.chat lets businesses deploy AI agents that handle customer support 24/7 across multiple channels. Agents are grounded in your documentation, follow structured playbooks, and seamlessly escalate to humans when needed.
Key capabilities:
Hay.chat runs on one server with Docker Compose: PostgreSQL 16 with pgvector, Redis 7, RabbitMQ and a Caddy proxy with automatic HTTPS. Follow SELF_HOSTING.md for install, email, integrations, upgrades and backups. Getting Started below is for local development.
Chat models: OpenAI, Anthropic, Gemini, or any OpenAI-compatible endpoint (for example DigitalOcean Gradient, or a local server such as Ollama, which is untested). Embeddings use OpenAI text-embedding-3-small, so an OpenAI key is still required. No telemetry is sent unless you set POSTHOG_KEY.
Teams comparing Chatwoot, Zammad or Dify for self-hosted AI support use Hay.chat when they need the agent to take actions, not just reply.
| Layer | Technology |
|---|---|
| Frontend | Nuxt 3 (Vue 3), Tailwind CSS, shadcn-vue, Pinia |
| Backend | Express 5, tRPC v11, TypeORM |
| Database | PostgreSQL 16 + pgvector |
| Cache | Redis 7 |
| AI | OpenAI, Anthropic, Gemini or OpenAI-compatible |
| Auth | JWT, API Keys, OAuth 2.0 |
| Plugins | Model Context Protocol (MCP) |
| Webchat | Vue 3 embeddable widget (Vite) |
| Testing | Vitest (frontend), Jest (backend), Playwright (E2E) |
├── dashboard/ # Nuxt 3 frontend
├── server/ # Express + tRPC backend
├── webchat/ # Embeddable chat widget
├── plugins/
│ ├── core/ # Built-in plugins (email, stripe, hubspot, etc.)
│ └── custom/ # User-created plugins
├── packages/
│ ├── plugin-sdk/ # @hay/plugin-sdk
│ └── server-sdk/ # @hay/server-sdk
├── docs/ # Technical and user documentation
├── tests/ # Playwright E2E tests
└── docker-compose.yml # PostgreSQL + Redis
git clone https://github.com/hay-chat/hay-core.git
cd hay-core
# One-time setup (safe to re-run)
OPENAI_API_KEY=sk-... npm run setup
# Start development
npm run dev
npm run setup (scripts/setup-dev.sh):
docker compose up -d (the app itself runs on your machine, so you get hot reload).npm install..env from .env.example with generated JWT secrets and REQUIRE_EMAIL_VERIFICATION=false (no SMTP locally). It keeps an existing .env and only fills in empty JWT secrets. If you don't pass OPENAI_API_KEY, set it in .env afterwards.[email protected] / hay-dev-password, that owns the "Hay Dev" organization (npm run dev:account in server/). It only runs with NODE_ENV=development against a local database.Then open http://localhost:3000 and log in with the dev login, or sign up for a new organization. The API runs on http://localhost:3001 and the RabbitMQ admin UI on http://localhost:15672 (hay / hay_password).
This is the beginning of the README. Read the rest at the original. Read the full README ↗