The website agent that only says what it knows.
An open-source AI agent for your websites. It answers only from your knowledge base, captures leads, books demos, and hands off to a teammate's phone when it matters.
- Grounded answers only
- Phone handoff
- Point & screenshot
- No email required
- widget, gzipped
- 17.5 KB
- 40 KB budget enforced in CI
- agent actions
- 5
- validated tool calls
- widget layouts
- 5
- one script tag
- license
- Apache-2.0
- self-hosted, no paid tier
Every conversation ends somewhere useful.
Not a FAQ bot that shrugs. Each conversation ends with an answer, a CTA, a captured contact or a person taking over.
From question to grounded reply in seven steps.
Below the threshold, it says “I don’t know.”
Retrieval runs before the model, and weak matches count as no facts. Pick a question, or drag the threshold.
Everything the agent and your team need.
Grounded answers
Answers only from your knowledge base, never from guesswork.
ExploreStructured agent actions
Tool calls, not keyword matching, for handoff, leads and CTAs.
ExploreHuman handoff & phone takeover
Any teammate can claim a live chat from their phone.
ExplorePoint & visual feedback
Visitors point at the page and send a screenshot.
ExploreEmbeddable widget
One script tag, five layouts, 17.5 KB gzipped.
ExploreLeads & demo booking
Optional email capture, qualifying questions, and booking in the widget.
ExploreLiving knowledge base
Dated, owned, versioned facts with a freshness guard.
ExploreReview queue & weekly reports
See what the agent missed and fix it in one click.
ExploreMulti-project & roles
One install, every product, each with its own agent.
ExploreSigned-in users
Know who's asking inside your app, without spoofing.
ExploreModel routing & cost controls
Cheap models first, fallbacks, and a daily budget.
ExploreGreetings, A/B & cross-sell
Proactive, page-aware openers with a frequency cap.
Explore
When it matters, a person picks up from their phone.
Always-human topics, low confidence or a simple “can I talk to someone” sends a push to every online teammate. The first to tap takes it.
Visitors show you exactly what they mean.
Click an element or drag a region. Sensitive fields are masked before anything leaves the browser.
Make it look like it was always yours.
Five layouts, any accent, light or dark, overridable per page. The playground writes the tag for you.
Your data, your infrastructure, three commands.
Postgres with pgvector, Redis and any S3-compatible bucket. Run it without an API key using the built-in fake model, then add a Gemini key for real answers.
- Domain-allowlisted keys, HMAC-signed identity, role checks on every query
- Apache-2.0: use it commercially, fork it, extend it
- Every dependency behind an adapter with a fake for offline work
git clone https://github.com/Mangosteen-Studio/mango-agent.git
cd mango-agent
make setup # deps + .env
make dev # every service via docker compose
make seed # example org, project and knowledge base<script src="https://your-host/mango.js"
data-project="pk_…" async></script>Guided, step by step.
- Start hereRun Mango Agent locallyClone the repo, start every service with Docker, load the example seed and open the panel.
- Start hereCreate a project and embed the widgetAdd a project for your site, allowlist its domain, and paste one script tag.
- CoreBuild the knowledge baseWrite facts with sources, crawl a sitemap, import transcripts, and test answers before publishing.
- CoreCustomize the widgetPick a layout, theme it, override per page, and drive it from your own code.
- CoreAnswer visitors from your phoneInstall the inbox as an app, turn on push, and claim, reply and hand back.
- CoreCollect visual feedbackLet visitors point at your page, mask private fields, and triage on the feedback board.
Try the real thing, right here.
The chat in the corner is Mango Agent, answering from this site's content. Ask it how anything works and it links you to the exact section.