Open source · Self-hosted

Your Discord community already has the knowledge. Give it a voice.

Share2Brain automatically indexes links shared across your channels and answers any member in natural language — with verifiable citations, streaming responses and full control via Discord roles.

Self-hosted on your infrastructure Anthropic or OpenAI — your choice Single server, 7 services
three commands to get started
$ git clone https://github.com/borjaberrocal87/share2brain
$ cd share2brain && cp .env.example .env
$ cp Share2Brain.config.yml.example Share2Brain.config.yml
$ docker compose up -d
✓ share2brain en http://localhost

// why Share2Brain

Knowledge that dies in the scroll, answers you can verify

Your community already has the knowledge. Make it searchable.

Share2Brain detects every link shared in Discord, fetches and chunks its content, and indexes it in a pgvector knowledge base. Your community builds the knowledge base without changing how they work.

Verifiable answers, not hallucinations.

Every answer includes traceable citations to the original chunk: channel, author, date and link. The agent streams responses so members see the answer form in real time.

You decide who sees what.

Discord roles map to channels inside the agent. Every query respects those permissions: each member only gets answers from channels they can access. RBAC enforced on every vector query.

// features

Everything you need to let your community query its own knowledge

Chat with verifiable citations

The RAG agent streams answers citing indexed fragments. If it can't find an answer, it says so.

Semantic search

Query the entire knowledge base with pgvector. No exact keywords needed.

Discord role-based access

Roles define which channels each member sees. RBAC on every query.

Automatic notifications

Slack and Telegram alerts when new content is indexed.

Read tracking

Unread badges per member and per channel. Know what's left to read.

Knowledge stats

Indexing activity, per-channel coverage and top contributors.

Discord login

OAuth2 with your Discord app. Optional guest access available.

Docker, one command

7 services in one docker-compose up. Backend, bot, workers, web, Postgres, Redis, nginx.

// how it works

An agent that reasons, not a bot that repeats

Share2Brain's core is a Reason-Act-Observe loop built with LangGraph. The agent analyzes the query, decides which tools to use and observes results until it resolves the query — it never guesses.

Step 01 · reason

Reason

The runtime assembles the full context —system prompt, available tools, history and retrieved chunks— and calls the model to decide the next step.

# LangGraph · agent runtime
await runtime.buildContext({
systemPrompt, tools, history, chunks
});

All security and control live in the runtime, not the model. The model reasons; the runtime executes.

// use cases

Real results for real communities

Eliminate recurring questions

Questions that repeat every week answer themselves, citing the exact resource. Your mod team is freed for higher-value work.

Frictionless onboarding

New members find rules, guides and answers without waiting for a moderator. The agent knows everything shared in channels they can access.

Technical support with sources

Questions about your product, API or config answered instantly, citing the original docs or thread. Accuracy without hallucination.

Search your history

Recover conversations, decisions and resources shared in threads and channels using semantic search. No need to recall exact wording.

// installation

One command, 7 services, zero external dependencies

A single docker-compose up starts the backend, the Discord bot, the indexing workers, the web app (search, chat, documents and stats), Postgres with pgvector, Redis and nginx. No SaaS, no subscriptions.

Clone the repository

$ git clone github.com/borjaberrocal87/share2brain
$ cd share2brain

Configure environment variables

$ cp .env.example .env
$ cp Share2Brain.config.yml.example Share2Brain.config.yml

Start all 7 services

$ docker compose up -d
✓ 7 services · http://localhost

// documentation

Browsable documentation

Everything you need to deploy and operate your instance, organized by section.

// tech stack

Built on proven foundations

TypeScript / Node.js
Backend and runtime
LangGraph
RAG agent orchestration
Postgres + pgvector
Drizzle ORM · vector search
Redis Streams
Event queue · Outbox pattern
React + TypeScript
SPA · search, chat & stats
Discord.js
Bot · OAuth2 · roles
Docker Compose
7 services in one command
Sentry
Error monitoring

Clean Architecture

Layered separation with inward dependencies.

Interface Controllers · React UI
Application Use cases · runtime
Domain Entities · events
Infrastructure Postgres · LangGraph · Redis

Domain depends on nothing; outer layers implement its ports.

Event-Driven

Heavy indexing is decoupled from the runtime with Redis Streams and the Outbox pattern.

knowledge.source.added reindex.requested

Your knowledge deserves to be searchable

Open source, self-hosted and verifiable. Deploy your own knowledge agent with one command. Your content never leaves your infrastructure.