[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80371":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":36,"discoverSource":37},80371,"robrain","adelinamart\u002Frobrain","adelinamart","Shared memory across your team and your AI agents — with judgment about what's worth keeping.","https:\u002F\u002Frobrain.dev\u002F",null,"TypeScript",70,4,2,0,3,7,9,52.5,"Other",false,"main",true,[25,26,27,28,29,30,31,32],"agent","ai-agents","claude-code","context-engineering","cursor","memory","memory-management","open-source","2026-06-12 04:01:27","# RoBrain\n\n**Shared memory across your team and your AI agents — with judgment about what's worth keeping.**\n\nMost agent-memory tools stop at capture — they store what happened and hope you query it later. RoBrain is built around a different question: **what is worth keeping, and what should surface before the agent acts again?** Passive capture records every decision and the alternatives your team ruled out; batch **Synthesis** reads the whole corpus to flag contradictions, drift, and recurring entities that no single session could see.\n\n> The cost of forgetting a rejection isn't inefficiency. It's the auth bypass you already patched, the migration you already rolled back, the dependency you already removed for a CVE — re-suggested by an agent with no memory of why you said no.\n\nOpen-source, self-hosted Postgres. Works with **Claude Code, Cursor, GitHub Copilot (VS Code), and Codex CLI**.\n\nCoding is the first vertical because the feedback loops are tight — reverts, incidents, and rework make the cost of a forgotten rejection measurable. The same architecture applies wherever agents make decisions that outlast a session.\n\nRoBrain is built by [Rory Plans](https:\u002F\u002Froryplans.ai), an agent orchestration platform; it is the memory and judgment layer that keeps multi-agent, multi-developer work coherent over time.\n\n---\n\n## How it works (short)\n\n**Tuesday — experienced teammate in Cursor:** The team is shipping Perception as a small Hono server. They consider porting to Express so contributors have a familiar stack, but settle on Hono: it runs on Bun and edge runtimes without a rewrite, and the API is already Express-shaped (`app.get`, middleware chain). RoBrain captures the decision and the rejected Express path automatically — no manual tagging required.\n\n**Wednesday — new teammate in Claude Code:** A fresh session has no memory of Tuesday. They ask whether Perception should move to Express — a reasonable question if you only see the repo today. With RoBrain wired in, the agent pulls the prior decision (\u003Cstrong>\u003Cspan style=\"color:#6d4aa3\">always-on summary\u003C\u002Fspan>\u003C\u002Fstrong> at session start, or `npx robrain inject` for a focused pull) and pushes back with the recorded rationale: deliberate Hono choice, marginal familiarity upside, real cost in locking out edge deploy and churn on a working server. The team does not re-litigate from zero.\n\nThat is the handoff RoBrain is built for: **Cursor Tuesday → Claude Code Wednesday**, same Postgres store, same structured vetoes — captured passively, surfaced before the agent steers you down a path you already rejected.\n\nFull walkthrough: **[Concepts — How it works](docs\u002Fconcepts.md#how-it-works)**.\n\n---\n\n## Two pillars\n\n### Capture (reactive)\n\nSensing records session turns; Perception extracts decisions without the agent choosing what to remember. Every row can carry **`rejected[]`** — structured vetoes that are the substrate for pre-task warnings, not a marketing bullet on their own.\n\n### Judgment (corpus-wide)\n\n**Synthesis** runs three passes over the full `decisions` table: **drift** (stance moving without an explicit reversal), **contradictions** (pairs of incompatible decisions from different sessions), and **entity promotion** (recurring tools\u002Fpatterns condensed into `planning_blocks`). Perception flags conflicts at write time; Synthesis catches what reactive capture missed. **`robrain review`** and the \u003Cstrong>\u003Cspan style=\"color:#6d4aa3\">always-on summary\u003C\u002Fspan>\u003C\u002Fstrong> keep only what you trust.\n\nThat is what “judgment about what's worth keeping” looks like in code — not another grep over chat logs.\n\n---\n\n## What you get\n\n- **Capture** decisions automatically — every turn classified, no agent involvement\n- **Query** vetoes as structured `rejected[]` fields in Postgres\n- **Catch** contradictions and drift across the corpus\n- **Hand off** context across tools and developers\n- **Explain** any file's history with `npx robrain explain`\n\n---\n\n## Quick start — self-hosted\n\nFirst `pnpm docker:up` auto-creates `.env` and fills `PERCEPTION_API_KEY` \u002F `POSTGRES_PASSWORD`. Perception still needs your LLM + embedding keys before it stays up.\n\n**One-time — RoBrain repo:**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fadelinamart\u002Frobrain\ncd robrain\npnpm install && pnpm build\npnpm docker:up                 # first run: creates .env; Perception won't start yet\n# open .env, add ANTHROPIC_API_KEY + your embedding key (e.g. OPENAI_API_KEY)\npnpm docker:up                 # second run: Perception now boots\nnpx robrain install --self-hosted --repo-root \"$(pwd)\"\n```\n\nOpenAI-only: set `LLM_PROVIDER=openai` and `OPENAI_API_KEY` instead of Anthropic — see [Concepts — Prefer not to use Anthropic](docs\u002Fconcepts.md#prefer-not-to-use-anthropic-run-openai-only).\n\n**Per application project:**\n\n```bash\ncd \u002Fpath\u002Fto\u002Fyour\u002Fproject\nnpx robrain init-project\n```\n\n**Corpus judgment** (manual once, or add to cron):\n\n```bash\nnpx robrain synth\n```\n\nSynthesis writes contradiction flags, drift signals, and entity summaries into your DB — review with `npx robrain review`. It does not capture new decisions; it judges what you already have.\n\n**Git-committed decision ledger** (opt-in):\n\n```bash\nnpx robrain review              # optional — inspect\u002Fapprove captured decisions in the CLI\nnpx robrain export-memory --ledger\n# custom path: npx robrain export-memory --ledger docs\u002Fdecisions.md\n```\n\nUse `review` when you want to see what is being recorded and approve or reject rows before regenerating `decisions.md` for git — skip it if you are fine exporting straight from the DB.\n\nAfter `init-project`, every repo gets `CLAUDE.md` and `AGENTS.md` (Codex CLI), and Cursor also gets `.cursor\u002Frules\u002Frobrain.mdc` with `alwaysApply: true` — capture setup is automatic.\n\n**Next:** [CLI reference — Install and setup](docs\u002Fcli.md#install-and-setup) · [Troubleshooting](docs\u002Ftroubleshooting.md) if captures do not land.\n\n### Upgrading\n\nWhen a new release ships, from your **robrain clone**: `git pull` → `pnpm install && pnpm build` → `pnpm docker:up:build` → `npx robrain install --self-hosted --repo-root \"$(pwd)\"` → fully restart editors (quit the app, not just the chat). If you use `npm install -g robrain`, run `npm install -g robrain@latest` **and** still rebuild Docker from the clone.\n\nFull checklist: **[CLI reference — Upgrading](docs\u002Fcli.md#upgrading)**.\n\n---\n\n## Compared to other memory tools\n\nVersus **Mem0**, **Cloudflare Agent Memory**, and **Claude Code Auto-Memory**: only RoBrain stores rejected alternatives as structured fields and runs scheduled corpus-wide contradiction scans. **[Full comparison →](docs\u002Fconcepts.md#comparisons)**\n\n### Self-hosted vs Rory Plans cloud\n\n| Feature | Free \u002F self-hosted | Rory Plans cloud |\n|---------|-------------------|------------------|\n| Passive session capture | ✓ | ✓ |\n| `rejected[]` field as structured data | ✓ | ✓ |\n| Decision lifecycle (active \u002F superseded \u002F invalidated) | ✓ | ✓ |\n| Cross-tool MCP — Claude Code, Cursor, Copilot, Codex CLI | ✓ | ✓ |\n| Classifier LLM choice — Anthropic Haiku or OpenAI | ✓ | ✓ |\n| \u003Cstrong>\u003Cspan style=\"color:#6d4aa3\">Always-on summary\u003C\u002Fspan>\u003C\u002Fstrong> at session start | ✓ | ✓ |\n| `npx robrain review` | ✓ | ✓ |\n| `npx robrain inject` (manual paste) | ✓ | ✓ |\n| `npx robrain explain \u003Cfile>` | ✓ | ✓ |\n| `npx robrain export-memory` → Claude auto-memory + ledger | ✓ | ✓ |\n| Synthesis — drift, contradictions, entity promotion | ✓ | ✓ |\n| Decision graph (`conflicts_with` \u002F `extends` \u002F `related_to`) | ✓ | ✓ |\n| Self-host on your infrastructure | ✓ | — |\n| Your data stays local | ✓ | processed remotely |\n| Calibrated extraction prompt (fewer false positives) | — | ✓ |\n| Calibrated 4-way contradiction taxonomy (page-12 model) | — | ✓ |\n| Automatic injection at task boundaries | — | ✓ |\n| Pre-task `rejected[]` warning | — | ✓ |\n| Disengagement protocol (⚠ acknowledgement) | — | ✓ |\n| Full 5-signal relevance scorer | — | ✓ |\n| Conflict auto-resolution + dashboard visualizations | — | ✓ |\n| Team memory — managed multi-user store | — | ✓ |\n| Web dashboard | — | ✓ |\n\nSelf-hosted gives capture, judgment batch jobs, and session-start recall; you pull focused context with `inject` when needed. Cloud adds Planning + Control so vetoes and conflicts surface before the agent acts.\n\nDetails: **[Concepts — Free \u002F self-hosted vs Rory Plans cloud](docs\u002Fconcepts.md#free--self-hosted-vs-rory-plans-cloud)**.\n\n---\n\n## Run Synthesis\n\nSynthesis writes contradiction flags, drift signals, and entity summaries into your DB (`planning_blocks`, relation edges). Review what it finds with **`robrain review`** — it does not capture new decisions; it judges the corpus you already have.\n\n```bash\npnpm synthesis:build && pnpm synthesis:run\n# or: npx robrain synth\n```\n\nDeep dive (three passes, cron, env vars): **[Concepts — Synthesis](docs\u002Fconcepts.md#synthesis)**.\n\n---\n\n## What's next\n\nConnecting decisions to outcomes (reverts, incidents, cycle time) so RoBrain can surface when a team is optimizing for the wrong thing in its own codebase.\n\n---\n\n## Documentation\n\n| Guide | What you'll find |\n|-------|------------------|\n| **[Concepts](docs\u002Fconcepts.md)** | How it works, two pillars (capture + judgment), Synthesis, comparisons |\n| **[CLI reference](docs\u002Fcli.md)** | `explain` examples, install, upgrading, editor setup, full command table |\n| **[Troubleshooting](docs\u002Ftroubleshooting.md)** | Silent 401s, Docker rebuilds, stale summaries, verification |\n\n---\n\n## Contributing\n\nApache 2.0. PRs welcome for extraction accuracy, new editor integrations, and embedding providers. See [Concepts — Reference](docs\u002Fconcepts.md#reference) for tradeoffs and schema.\n\n## License\n\nApache 2.0 — see [LICENSE](.\u002FLICENSE)\n\nBuilt by [Rory Plans](https:\u002F\u002Froryplans.ai)\n","RoBrain 是一个面向使用AI代理的团队的开源共享记忆工具，旨在记录每个决策及其被排除的选项，并在新决策与旧决策相矛盾时发出警告。其核心功能包括自动捕获决策过程、标记潜在矛盾点以及通过被动采集和批量合成来提供全局视角。技术上采用TypeScript编写，支持自托管Postgres数据库，并兼容Claude Code、Cursor、GitHub Copilot (VS Code) 和 Codex CLI等多种开发环境。适用于需要长期维护一致性的多开发者或多代理协作场景，特别是在代码开发过程中，能够有效减少因遗忘历史决策而导致的安全漏洞重现或无效工作重复等问题。","2026-06-11 04:00:30","CREATED_QUERY"]