Hamnivo GitHub

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

A chat window between a customer card and the Hamnivo mark, joined by a flowing ink and coral ribbon.

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.
A person's card with an approved reply in the centre, flanked by two Hamnivo AI panels on a shared coral ring.

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.
An archive tray of document cards linked by a coral timeline; one card is being updated and the last one is verified.

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.
A central Hamnivo hub connected by coral cables to a website, a mobile app, an API code block and a server.

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.

Four speech bubbles saying Hello, Marhaba, Namaste and Salam around the Hamnivo hub, joined by a coral ring.

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.
An order summary card, a coral 'next' step, a wrapped parcel and a phone showing an approval check mark.

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.

How to put the chat on a web page

HTML
<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.

  1. 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.

    Terminal
    docker --version
    node --version
    pnpm --version
  2. Get the code

    Clone the repository and install its dependencies.

    Terminal
    git clone https://github.com/CodeWithJuber/Hamnivo.git
    cd Hamnivo
    pnpm install
  3. Create your secrets

    This writes .env.local with generated passwords and keys. Keep the file private and back it up.

    Terminal
    bash scripts/setup/env.sh
  4. Start the services

    Start the database, Chatwoot and the API. Then run pnpm worker in a second terminal.

    Terminal
    pnpm services:up
    pnpm db:migrate
    pnpm chatwoot:up
    pnpm api

Read the full self-hosting guide

A production setup with automatic HTTPS is coming.