Open source · MIT License · Self-hosted
Customer chat where people and AI work together
Hamnivo is an open-source customer conversation platform. Add it to your website with one script, or build your own interface on its API. Customers, your staff and AI agents share one conversation, on servers you run.
Hamnivo is in active development. Features that are not ready yet are marked “Coming”. See what works today
Teamwork
People and AI, one conversation
Customers, your staff and AI agents talk in the same conversation. The AI can answer first, and someone from your team can step in at any moment.
- A customer can ask for a person at any time. Your team gets a private handoff note, so the customer does not have to repeat themselves.
- Staff reply from the Chatwoot inbox that Hamnivo connects to. When a person takes over, the AI stops, and replies it was still writing are not sent.
- Every message shows who wrote it: the AI assistant or a support agent. The AI never pretends to be human.
- Coming Connecting the AI model you choose. For now, AI replies come from a built-in test model.
- Coming A Hamnivo workspace for your team, with private notes and specialist AI agents you can invite.
Memory
Memory with consent Coming
Hamnivo will remember details that help, such as a customer’s preferred language, only where you allow it. People will be able to see what it remembers, correct it and delete it.
- You set the scope: one conversation, one customer or one team.
- Each remembered detail keeps its source and date. A correction replaces the old fact.
- Learning from past conversations needs separate consent.
Developers
Built for developers
Hamnivo is API-first. The chat widget, the SDK and your own code all use the same public API.
- One script tag adds the chat to your website. The chat itself loads only when a visitor opens it.
- A REST API described in OpenAPI 3.1, with an interactive reference on your own server.
- A JavaScript and TypeScript SDK for building your own chat interface.
- Live updates that carry on after a dropped connection.
- Coming Webhooks, so your own systems can react to conversations.
Languages
Every language your customers use
People write in the language they think in, and many mix two. Hamnivo is built for that from the start.
- The chat widget works in English, Arabic, Hindi and Urdu.
- Arabic and Urdu read right to left, while order numbers and codes keep their own direction.
- Coming Understanding Hinglish and Roman Urdu, the way people really type them.
- Coming A translation next to each original message, for customers and staff.
Native speakers have not yet reviewed the widget’s Arabic, Hindi and Urdu text.
Commerce
Checkout inside the chat Coming
Customers will be able to choose a product, check the total and pay without leaving the conversation.
- Nothing is bought until the customer confirms it.
- Staff approve exceptions, such as a refund outside your policy.
- Prices and totals come from your store, not from the AI.
- An order counts as paid only after your payment provider confirms it.
Demo
See it working
This copy of the site is not connected to a live chat. Run Hamnivo yourself with the steps below, then add this script to any web page.
Use your own widget ID and the addresses of your chat and API servers.
<script
src="https://chat.example.com/loader.js"
data-widget-id="wid_…"
data-api="https://api.example.com"
async
></script> Self-hosting
Self-host it
Hamnivo runs on your own server. These four steps start it on one machine for development and testing.
-
Prepare a server
Use Linux with Docker, Node.js 24 and pnpm 10. For development, plan for 2 CPU cores, 6 GB of memory and 25 GB of disk.
Terminaldocker --version node --version pnpm --version -
Get the code
Clone the repository and install its dependencies.
Terminalgit clone https://github.com/CodeWithJuber/Hamnivo.git cd Hamnivo pnpm install -
Create your secrets
This writes
.env.localwith generated passwords and keys. Keep the file private and back it up.Terminalbash scripts/setup/env.sh -
Start the services
Start the database, Chatwoot and the API. Then run
pnpm workerin a second terminal.Terminalpnpm services:up pnpm db:migrate pnpm chatwoot:up pnpm api
Read the full self-hosting guide
A production setup with automatic HTTPS is coming.