A local model by default
Labels with confidence from a multilingual model on your CPU, or any OpenAI-compatible LLM or decision model. obsei eval measures it on your data.
Open source Voice of Customer · Self-hosted · Apache-2.0
The open source, self-hosted alternative to Enterpret and Unwrap. obsei reads reviews, tickets, calls and surveys in many languages and strips personal data before any model sees it. Nothing leaves your infrastructure unless you allow it.
$ uv tool install "obsei[recommended]"
$ obsei init && obsei try
ArrivesApp Store · ★★ · en
Hi, I'm Priya Sharma. Charged twice for order 4471. Call me on +91 98765 43210 or priya@mail.com
Storedauthor psn_7f3a…
Hi, I'm <PERSON>. Charged twice for order 4471. Call me on <PHONE> or <EMAIL>
Names use the optional local model, obsei[names].
Open source since 2020 · 1,400+ GitHub stars · Joint runner-up, RBI HARBINGER 2021
Collect
Your infrastructure
Act
An MCP server, with plugins for Claude Code, Codex, Copilot and Gemini CLI that install from the GitHub repository. Results carry record ids your agent can cite, never author identities. Customer text is marked untrusted, and the only write, a proposed issue, waits for your approval.
Connect an agent →Why are Japanese users unhappy this week?
Mostly login failing after the 2.3 update: 14 reviews, up from 2. Double charges are second.
Ordered routes on labels and confidence. Unsure answers go to a person, not to your issue tracker.
See routing →
Labels with confidence from a multilingual model on your CPU, or any OpenAI-compatible LLM or decision model. obsei eval measures it on your data.
Spikes, new themes, weekly digests and pipeline health, sent to Slack, a signed webhook, or Teams, Telegram and email with obsei[notify].
obsei add asks for each field and links to where you get the key; obsei check fetches from each source and checks sink credentials.
Emails, phones, cards and IBANs, plus national IDs from Aadhaar and PAN to SSN, CPF and NHS, checksum-validated where the format allows.
Themes from fewer than k people are hidden, in Studio, exports and the MCP server.
Forget by author, source or age, export, and an audit log.
Roles, sign-in through an SSO proxy such as oauth2-proxy or Cloudflare Access, signed webhooks and a container image.
The same issue raised in English, Japanese and Portuguese becomes one theme, with trends and near-duplicates.
Add a source, enricher or sink as a small Python package.
obsei is an open source, self-hosted Voice of Customer pipeline. It collects customer feedback from app stores, support desks, communities, files and your own databases, removes personal data as it arrives, labels and groups it into themes across languages, and sends what matters to Slack, Jira, Linear, a warehouse or your AI agents.
Yes. obsei is Apache-2.0 licensed, with no paid tier, no open-core split and no hosted version. You run it on your own laptop or servers.
Hosted feedback tools process your customers' text on their servers. obsei runs on your infrastructure, strips PII before any model sees the text and can label feedback with a model on your machine, so customer data doesn't have to leave your network.
Not by default. Redaction runs at ingest, the local classifier runs inside obsei, and the default egress policy blocks model and sink traffic to outside hosts. Feedback is sent to a model or service only if you configure it and allow its host.
20 built in: the App Store, App Store Connect, Google Play, Zendesk, Freshdesk, Intercom, Gong, GitHub issues, Hacker News, Bluesky, YouTube, RSS, email (IMAP), SQL databases, CSV and JSON Lines files, file drops, webhooks, any REST API and any MCP tool. Reddit and Typeform source plugins install from the GitHub repository.
Yes. obsei includes an MCP server, listed in the MCP Registry, and plugins for Claude Code, Codex, the GitHub Copilot CLI and Gemini CLI that install from its GitHub repository. Cursor and VS Code add the server with an install button. Agents search, count and read redacted feedback with record ids to cite. Customer text is marked untrusted, and the only write, a proposed issue, waits for a person to approve it.
On obsei's 136 synthetic demo records in 11 languages, the default model, bge-m3-zeroshot-v2.0, scored 0.82 on intent, 0.90 on sentiment and 0.91 on team routing. The expected answers come from the demo's issue definitions, not human review. Run obsei eval on a labelled sample of your own feedback to measure it on your data and pick confidence cutoffs.
Run uv tool install "obsei[recommended]", then obsei init and obsei try in an empty folder; pip install "obsei[recommended]" works too. The first run downloads the local model once (about 1.2 GB) and needs no API keys. The container image ghcr.io/obsei/obsei has the sources and sinks but not the local classifier.
Sample feedback in ten languages, no API keys. The first run downloads a local model once (about 1.2 GB).