← all repositories
olivia-ai/olivia

A Go chatbot that runs on your own metal

Olivia is an open-source, self-hosted alternative to DialogFlow built in Go with neural-network guts.

olivia
Velocity · 7d
+1.3
★ / day
Trend
steady
star history

What it does

Olivia is a chatbot engine written in Go that handles text or voice input (STT) and replies via text or optional voice synthesis (TTS). It trains a neural network from a JSON dataset and exposes a WebSocket API you can hit directly or wrap in the bundled Progressive Web App. Docker and docker-compose are the intended deployment paths; bare-metal Go works too.

The interesting bit

The project pitches itself as “the only chatbot project in Go that could be modulable and customizable” — a niche claim, but fair: most chatbot frameworks are Python or SaaS-first. The neural-network state lives in a plain res/datasets/training.json file; delete it to retrain from scratch, which is either admirably transparent or slightly hand-rolled, depending on your tolerance.

Key highlights

  • Self-hosted by design: no external API keys or cloud black boxes
  • Voice pipeline included: speech-to-text in, optional text-to-speech out
  • Multi-language support for English, Spanish, Catalan, French, German, Italian, and partial Brazilian Portuguese
  • Ships as Docker image from GitHub Packages plus a docker-compose stack with frontend
  • PWA frontend means mobile users can “install” it without app-store theater

Caveats

  • The README has a “Call for contributors” warning at the top, suggesting the project is hungry for maintainers
  • Brazilian Portuguese translation is explicitly flagged as incomplete
  • Docker setup requires a GitHub personal access token with package read/write scopes, which is friction most projects have moved away from

Verdict

Worth a look if you need a private, offline-capable chatbot and prefer Go’s deployment story over Python’s dependency tar pits. Skip it if you need enterprise NLU features, large-scale intent classification, or a project with obvious momentum — the contributor call is a tell.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.