obsei

السجل الرسمي البحث والويب

Self-hosted customer feedback with PII stripped at ingest: search, stats and themes with citations.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package obsei
Claude Code
claude mcp add obsei -e 'OBSEI_CONFIG=<OBSEI_CONFIG>' -e 'OBSEI_DB=<OBSEI_DB>' -e 'OBSEI_DB_KEY=<your obsei_db_key>' -- uvx obsei==1.1.1 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "obsei": {
            "command": "uvx",
            "args": [
                "obsei==1.1.1",
                "mcp"
            ],
            "env": {
                "OBSEI_CONFIG": "<OBSEI_CONFIG>",
                "OBSEI_DB": "<OBSEI_DB>",
                "OBSEI_DB_KEY": "<your obsei_db_key>"
            }
        }
    }
}

متغيرات البيئة

  • OBSEI_CONFIG Path to obsei.yaml (default ./obsei.yaml).
  • OBSEI_DB Path to the database, overriding store.path.
  • OBSEI_DB_KEY سري The key that encrypts the database.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. obsei
  2. Quickstart
  3. Use it from your AI tool
  4. Roadmap
  5. Contributing
  6. License

obsei

Know what customers are saying. Keep what they said private.

The self-hosted, open source alternative to Enterpret and Unwrap that strips PII before any LLM sees it.
Bring your own sources, models and agents.

Docs · Live demo · Website · Blog · Discussions


Teams want to understand what customers say in reviews, tickets, calls and surveys, but often can't send that text to another SaaS or a public LLM. obsei runs entirely inside your own infrastructure:

  • Private by design. PII is redacted (and optionally names) and authors are pseudonymised at ingest. Encrypted database, model and sink traffic air-gapped by default, no telemetry, erasure and an audit log built in.
  • Bring your own. Your sources, your keys and your model: a zero-shot classifier that runs in process by default, a decision model such as Julia-1, or Ollama, vLLM, Azure OpenAI, OpenAI, Bedrock and Vertex through LiteLLM.
  • AI-native. An MCP server and a Claude plugin, so agents answer questions about customers with cited, privacy-filtered evidence and propose issues that you approve.
  • Many languages. Feedback is classified and quoted in its own language. With obsei[embeddings], a local multilingual model groups the same issue across 50+ languages; without it, the offline embedder groups by wording, so each language forms its own themes.

obsei provides controls that support compliance with laws such as the GDPR, India's DPDP Act, Brazil's LGPD and California's CCPA. It makes no compliance claims; you remain the data controller.

[!NOTE] 1.0 is a new codebase, not compatible with 0.0.x. The legacy 0.0.x toolkit lives on the legacy/0.0.x branch (pip install "obsei<1"); see Migrate from 0.0.x.

Quickstart

mkdir voc && cd voc
uvx --from "obsei[recommended]>=1.0" obsei init   # obsei.yaml, secrets, sample data, local model
obsei try                              # table of redacted, labelled feedback; nothing stored
obsei try https://apps.apple.com/us/app/whatsapp-messenger/id310633997   # or GitHub, HN, a feed, a CSV
obsei add appstore                     # add sources and sinks without editing YAML (obsei integrations)
obsei add slack                        # asks for the webhook, keeps it in .obsei/secrets.env
obsei check                            # every source and sink: secrets, egress, credentials
obsei run                              # fetch, redact, label, deliver, store
obsei serve                            # scheduled pipelines, webhooks, MCP and Studio
obsei doctor                           # environment, secrets, encryption, egress mode, plugins

obsei[recommended] is the full local setup (the classifier and multilingual themes); obsei alone is enough for redaction, sources and sinks. To keep the obsei command, install it once: uv tool install "obsei[recommended]" (or pip install). obsei init writes a random database key and pseudonym salt to .obsei/secrets.env (owner-only, git-ignored), and every command loads it; on servers and in CI, set OBSEI_DB_KEY and OBSEI_PSEUDONYM_SALT instead, or mount the file. With obsei[local], the classify enricher labels sentiment, intent and language on the CPU with no model server. A decision model on llama.cpp or any OpenAI-compatible endpoint also works: Ollama, vLLM, Azure OpenAI, OpenAI, Mistral, or a LiteLLM proxy for Bedrock and Vertex (benchmark). Public endpoints are refused until you choose OBSEI_EGRESS_MODE=private (with OBSEI_EGRESS_ALLOW) or hybrid.

Built in
SourcesCSV, JSON Lines, declarative REST, webhooks, App Store (any country), App Store Connect, Google Play (official API), GitHub issues, Hacker News, Bluesky, YouTube, RSS/Atom, SQL databases and warehouses, file drops, IMAP mailboxes, any MCP server, Zendesk, Freshdesk, Intercom, Gong; Reddit as an unpublished community plugin (install from Git)
EnrichersClassification with an in-process zero-shot model (default), a decision model (Julia-1, Clef) or an LLM: sentiment, intent, language and custom choice, score and yes/no fields with confidence; low-confidence answers go to a stronger model or human review; filter drops or tags spam and off-topic records
SinksSigned webhooks (Standard Webhooks, CloudEvents) with retries, Slack, Telegram, Discord, email and Teams via Apprise (obsei[notify]), GitHub issues, Jira, Linear, Parquet, SQL databases and warehouses; ordered routes on labels, confidence and scores (routing)
AnalysisStable themes (offline, or multilingual with obsei[embeddings]) with near-duplicate detection, k-anonymous themes, obsei ask with cited answers and an optional grounding judge, read-only Studio with a knowledge-graph explorer and privacy, decisions, trends and routes panels (demo), Slack /obsei command, alerts on theme spikes, new themes, digests, the review queue and pipeline health
PrivacyRedaction of emails, phones, cards and IBANs, plus national IDs for 16 countries in the Americas, Europe, Asia-Pacific and Africa, checksum-validated where the format has one, in any script; optional name redaction (obsei[names]); salted author pseudonyms; encrypted DuckDB; obsei forget, obsei export and obsei audit
Serverobsei serve: scheduled pipelines, signed webhook intake, MCP over HTTP, Studio, role-based access and SSO-proxy support

Agents: obsei mcp serves MCP tools (read-only, plus proposals you approve); the Claude Code plugin is /plugin marketplace add obsei/obsei. See the docs and integrations.

Examples: ready-to-run configs for app reviews in many countries, helpdesks, support-ticket triage with a decision model and routes, social listening, REST APIs (Trustpilot, HubSpot, ServiceNow, Mastodon), warehouses, mailboxes and air-gapped enterprise setups are in the examples gallery.

Docker (run in the project directory; images are tagged by release):

docker run --rm -v "$PWD:/data" -w /data --user "$(id -u):$(id -g)" \
  ghcr.io/obsei/obsei:1.1.1 run   # reads .obsei/secrets.env, or pass -e OBSEI_DB_KEY ...

Use it from your AI tool

The MCP server and voice-of-customer skill install straight from this repository (obsei isn't in any tool's official plugin directory yet):

ToolInstall
Claude Code/plugin install obsei --marketplace obsei/obsei
Codexcodex plugin marketplace add obsei/obsei, then codex plugin add obsei@obsei
GitHub Copilot CLIcopilot plugin install obsei/obsei:integrations/claude/obsei
Gemini CLIgemini extensions install https://github.com/obsei/obsei
Any MCP clientuvx --from "obsei>=1.0" obsei mcp

VS Code, Devin Desktop, Zed, JetBrains, Kiro, Goose, Cline and ChatGPT: see AI tools.

Roadmap

Phases 0.1 to 0.5 (private core, MCP and Claude plugin, enterprise bring-your-own, themes and Studio, decision models and routing) shipped in 1.0. See ROADMAP.md for what is next.

Contributing

Questions and ideas go to Discussions. See CONTRIBUTING.md for setup, conventions and the DCO sign-off.

License

Apache-2.0

الأسئلة الشائعة

ما هو obsei؟

Self-hosted customer feedback with PII stripped at ingest: search, stats and themes with citations.

كيف أثبّت obsei؟

يعمل على جهازك. في Claude Code: claude mcp add obsei -e 'OBSEI_CONFIG=<OBSEI_CONFIG>' -e 'OBSEI_DB=<OBSEI_DB>' -e 'OBSEI_DB_KEY=<your obsei_db_key>' -- uvx obsei==1.1.1 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج obsei إلى مفتاح API؟

نعم. يتطلب OBSEI_DB_KEY، وتضبطها في إعداداته.

هل obsei مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.

من يصون obsei؟

ينشره obsei. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.