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
An AI chat messenger that answers from your docs, with a help center and a team inbox behind it.
BusinessTypeScript · JavaScriptGitHub @kamskansOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI support chat for one website, on your own Cloudflare account with your own keys. AGPL-3.0.
Taken from the repository README
Loading the full README.
Read the full README ↗An AI support chat for one website, running on your own Cloudflare account with your own keys.
It reads your website and docs and answers visitors' questions from them. When it can't answer, or someone asks for a person, it takes their email and passes the chat to you. You reply from a small admin page.
/admin. They see your reply in the chat and by email.It's built for one site with one admin. For a team inbox, an agent that looks up your customers' own data, several apps, or setup from your coding agent, see PandaDesk Cloud.
Or from your machine:
git clone https://github.com/kamskans/pandadesk-lite && cd pandadesk-lite
npm install
npx wrangler login
# Search by meaning needs a Vectorize index; without it, search uses keywords only.
npx wrangler vectorize create pandadesk-lite --dimensions=1024 --metric=cosine
npx wrangler secret put ADMIN_PASSWORD
npx wrangler secret put LLM_API_KEY # optional: leave out to use Workers AI
npm run deploy
The Worker's home page describes PandaDesk Lite and has a live demo of your chat; change it in ui/src/home.tsx. Then open https://<your-worker>.workers.dev/admin, sign in, add your website under Knowledge, and copy the snippet from Install into your site:
<script src="https://<your-worker>.workers.dev/widget.js" async></script>
Secrets (npx wrangler secret put NAME, or .dev.vars locally; see .dev.vars.example):
| Name | |
|---|---|
ADMIN_PASSWORD | Required. Password for /admin. Changing it signs you out everywhere. |
LLM_API_KEY | Key for LLM_BASE_URL. Without it, answers use Workers AI (Llama 3.3 70B). |
RESEND_API_KEY, EMAIL_FROM | Optional. Send email through Resend: your replies to visitors, and alerts to you. |
NOTIFY_EMAIL | Optional. Where to email you when someone is waiting for a reply. |
Variables (in wrangler.jsonc):
| Name | Default | |
|---|---|---|
LLM_BASE_URL | https://openrouter.ai/api/v1 | Any OpenAI-compatible API. |
LLM_MODEL | openai/gpt-4o-mini | The model name for that API. |
SITE_NAME | Support | Default chat title. You can change it in the admin. |
MAX_PAGES | 300 | Most pages read per website. |
One Cloudflare Worker serves the home page, the widget, the chat, the admin page and the API. The pages are React and Tailwind, built from ui/ into dist/ with Vite before every wrangler dev and wrangler deploy.
@cf/baai/bge-m3, multilingual).On the Workers Free plan, small sites work fine. Large sites read faster on Workers Paid.
npm install
cp .dev.vars.example .dev.vars # set ADMIN_PASSWORD
npm run dev # builds ui/, then http://localhost:8787/admin
npm test && npm run typecheck
Workers AI and Vectorize run on Cloudflare even in local development, so wrangler dev asks you to sign in for them. Leaving them out of wrangler.jsonc locally falls back to keyword search. Set LLM_API_KEY to answer without Workers AI.
AGPL-3.0. You can use, change and self-host this freely. If you run a changed version as a service for others, you must publish your changes under the same license.
"PandaDesk" and the PandaDesk logo are trademarks of Kamal Kannan and aren't covered by the code license. If you publish a fork, please give it a different name.