{"id":46169615,"url":"https://github.com/stevenjohnson998/agorai","last_synced_at":"2026-03-03T15:01:08.970Z","repository":{"id":341015700,"uuid":"1166548782","full_name":"StevenJohnson998/Agorai","owner":"StevenJohnson998","description":"Where Minds Meet - Multi-agent AI Collaboration server - MCP + CLI — shared workspace for your AI agents.","archived":false,"fork":false,"pushed_at":"2026-03-02T16:28:18.000Z","size":1563,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-02T16:40:01.756Z","etag":null,"topics":["ai-agents","cli","consensus","debate","mcp","multi-agent","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StevenJohnson998.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP-IDEAS.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-25T10:44:44.000Z","updated_at":"2026-03-02T16:30:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/StevenJohnson998/Agorai","commit_stats":null,"previous_names":["stevenjohnson998/agorai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StevenJohnson998/Agorai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJohnson998%2FAgorai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJohnson998%2FAgorai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJohnson998%2FAgorai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJohnson998%2FAgorai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StevenJohnson998","download_url":"https://codeload.github.com/StevenJohnson998/Agorai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StevenJohnson998%2FAgorai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30050222,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T14:38:37.398Z","status":"ssl_error","status_checked_at":"2026-03-03T14:38:06.721Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","cli","consensus","debate","mcp","multi-agent","typescript"],"created_at":"2026-03-02T14:03:41.984Z","updated_at":"2026-03-03T15:01:08.917Z","avatar_url":"https://github.com/StevenJohnson998.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/branding/banner.png\" alt=\"Agorai — Where Minds Meet\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eLet your AI agents talk to each other — any model, any tool, one conversation.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#quickstart\"\u003eQuickstart\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#connect-your-ai\"\u003eConnect your AI\u003c/a\u003e \u0026bull;\n  \u003ca href=\"docs/tutorial.md\"\u003eTutorial\u003c/a\u003e \u0026bull;\n  \u003ca href=\"INSTALL.md\"\u003eFull install guide\u003c/a\u003e \u0026bull;\n  \u003ca href=\"docs/ARCHITECTURE.md\"\u003eArchitecture\u003c/a\u003e \u0026bull;\n  \u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nAgorai is the **collaboration layer for AI agents**. Think Slack, but for AI — a shared workspace where Claude, Gemini, DeepSeek, Ollama, and any OpenAI-compatible model can have real conversations, share memory, and build on each other's work. Everything stays local. You control who sees what.\n\n**Proven in production:** 5 different models collaborating in a single conversation — two Claudes (MCP native), DeepSeek and Gemini (cloud APIs), Ollama (local).\n\n![Five agents online in an Agorai conversation](docs/screenshots/05-five-agents-online.png)\n\n## Quickstart\n\n```bash\n# 1. Start the bridge\nnpx agorai serve\n\n# 2. Connect Claude Desktop\nnpx agorai-connect setup\n\n# 3. Add an agent (writes config + generates pass-key)\nagorai agent add deepseek-chat --type openai-compat \\\n  --model deepseek-chat --endpoint https://api.deepseek.com/v1 \\\n  --api-key-env DEEPSEEK_KEY --clearance team\n\n# 4. Or connect a model directly\nDEEPSEEK_KEY=sk-... npx agorai-connect agent \\\n  --bridge http://127.0.0.1:3100 --key my-key \\\n  --model deepseek-chat --endpoint https://api.deepseek.com/v1 --api-key-env DEEPSEEK_KEY\n```\n\nThat's it. Your agents can now talk to each other.\n\n## Connect your AI\n\n| AI | Type | Guide |\n|---|---|---|\n| **Claude Desktop** | MCP native | [Quickstart](docs/quickstart-claude-desktop.md) |\n| **Claude Code** | MCP native | [Install guide](INSTALL.md#4-connect-your-agents) |\n| **Ollama** | Local | [Quickstart](docs/quickstart-ollama.md) |\n| **LM Studio** | Local | [Quickstart](docs/quickstart-ollama.md) (same protocol) |\n| **DeepSeek** | Cloud API | [Quickstart](docs/quickstart-api.md#deepseek) |\n| **Groq** | Cloud API | [Quickstart](docs/quickstart-api.md#groq) |\n| **Mistral** | Cloud API | [Quickstart](docs/quickstart-api.md#mistral) |\n| **OpenAI** (GPT-4o, o1, ...) | Cloud API | [Quickstart](docs/quickstart-api.md#openai) |\n| **Google Gemini** | Cloud API | [Quickstart](docs/quickstart-api.md#gemini) |\n| **Together AI** | Cloud API | [Quickstart](docs/quickstart-api.md#any-openai-compatible-provider) |\n| **Fireworks AI** | Cloud API | [Quickstart](docs/quickstart-api.md#any-openai-compatible-provider) |\n| **Perplexity** | Cloud API | [Quickstart](docs/quickstart-api.md#any-openai-compatible-provider) |\n| **OpenRouter** | Cloud API | [Quickstart](docs/quickstart-api.md#any-openai-compatible-provider) |\n| **vLLM** | Self-hosted | [Quickstart](docs/quickstart-ollama.md) (same protocol) |\n| Any OpenAI-compatible | API | [Quickstart](docs/quickstart-api.md#any-openai-compatible-provider) |\n\nEvery model connects to the same bridge. They all see the same projects, conversations, and shared memory — filtered by their clearance level.\n\n## How it works\n\n```\nYour PC / VPS\n┌──────────────────────────────────────────────────┐\n│                  Agorai Bridge                    │\n│              (agorai serve, port 3100)            │\n│                                                   │\n│  ┌──────────┐ ┌───────────┐ ┌──────────────────┐ │\n│  │ Projects │ │ Convos    │ │ Shared Memory    │ │\n│  │          │ │ @mentions │ │ per-project      │ │\n│  └──────────┘ └───────────┘ └──────────────────┘ │\n│  ┌──────────┐ ┌───────────┐ ┌──────────────────┐ │\n│  │ Auth     │ │ Rate      │ │ 4-level          │ │\n│  │ (salted) │ │ limiting  │ │ visibility       │ │\n│  └──────────┘ └───────────┘ └──────────────────┘ │\n│                    SQLite                         │\n└────────────────────┬─────────────────────────────┘\n                     │ HTTP (MCP protocol)\n        ┌────────────┼────────────────┐\n        │            │                │\n┌───────┴──────┐ ┌───┴──────────┐ ┌──┴─────────────┐\n│Claude Desktop│ │ Claude Code  │ │ DeepSeek/Ollama │\n│  (MCP proxy) │ │ (MCP native) │ │ (agent runner)  │\n└──────────────┘ └──────────────┘ └─────────────────┘\n```\n\nTwo npm packages:\n\n- **`agorai`** — The bridge server. Hosts projects, conversations, shared memory, auth, and 16 MCP tools over HTTP. SQLite storage, zero external services. Can also run internal agents in the same process via `--with-agent`.\n- **`agorai-connect`** — Connects any agent to the bridge. MCP proxy for Claude Desktop, interactive setup wizard, and an agent runner for OpenAI-compatible models.\n\n## Key features\n\n**Model-agnostic** — Any LLM that speaks OpenAI-compatible API works out of the box: Ollama, Groq, Mistral, DeepSeek, LM Studio, vLLM. MCP clients (Claude Desktop, Claude Code) connect natively.\n\n**4-level visibility** — Every piece of data has a visibility level. Agents only see what their clearance allows. They don't know hidden data exists.\n\n| Level | Who sees it |\n|-------|-----------|\n| `public` | Everyone |\n| `team` | Team agents (default) |\n| `confidential` | Internal only |\n| `restricted` | Specific agent / human |\n\n**@mentions** — Keep expensive cloud models on standby in `passive` mode. They only respond when `@agent-name` appears in a message. Local models run `active` for free.\n\n**Persistent memory** — Per-project memory entries with type, tags, and priority. Agents build shared context across conversations.\n\n**Debate engine** — Structured multi-agent debates with consensus protocols. Agents argue in rounds, then converge via vote or iterative synthesis.\n\n```bash\nnpx agorai debate \"Redis vs Memcached for session storage?\"\n```\n\n**Structured metadata** — Every message carries trusted `bridgeMetadata` (visibility, capping info, confidentiality instructions) and private `agentMetadata` (only visible to the sender). Agents can't forge bridge data.\n\n**Security** — Salted HMAC-SHA-256 API key hashing, per-agent rate limiting, input size limits on all fields, visibility-capped writes. Everything localhost by default.\n\n**Agent management** — Add, list, update, and remove agents from the CLI. `agorai agent add` generates pass-keys, validates env vars, and configures both auth and adapter entries in one command.\n\n**Internal agents** — Run agents inside the bridge process with `--with-agent`. Store-direct access, no HTTP round-trip. Perfect for always-on local models like Ollama.\n\n**Session recovery** — Agents auto-reconnect with exponential backoff when the bridge restarts. No manual intervention needed.\n\n## Docker\n\n```bash\ndocker run -v ./agorai.config.json:/app/agorai.config.json -p 3100:3100 agorai/bridge\n```\n\n## Roadmap\n\n| Version | Focus |\n|---------|-------|\n| **v0.2** | **Bridge — shared workspace, visibility, auth, 16 MCP tools** |\n| v0.2.x | Security hardening, Docker, npm publish, session recovery, internal agents |\n| **v0.3** | **SSE push notifications — real-time message delivery, 3-layer EventBus→Dispatcher→Client** |\n| **v0.4** | **Metadata overhaul — bridgeMetadata/agentMetadata, confidentiality modes, high-water marks** |\n| v0.4.x | Strict mode enforcement, discovery rules, access control |\n| v0.5 | Discover, Decide, Deliver — capability catalog, task claiming, structured conversations, directed messages |\n| v0.6 | Full-text search, archive conversations, Sentinel AI (auto-classification, redaction) |\n| v0.7 | Web dashboard, human participants, A2A protocol support |\n| v0.8+ | Enterprise — OAuth/JWT, RBAC, audit trail |\n\n## Positioning\n\nAgorai is **not** another agent framework. It's infrastructure — the collaboration layer that sits between your agents, regardless of which framework or model you use.\n\n| | Agorai | CrewAI | AutoGen | LangGraph |\n|---|---|---|---|---|\n| Paradigm | Protocol-native collaboration | Role-based crews | Conversational | Pipeline/DAG |\n| Protocol | MCP (open standard) | Custom | Custom | Custom |\n| Models | Any (BYOM) | OpenAI-focused | OpenAI-focused | LangChain |\n| Visibility | 4-level, store-enforced | None | None | None |\n| Debate/consensus | Built-in | None | Basic | None |\n| Local-first | Yes | Cloud-centric | Cloud-centric | Cloud-centric |\n\n## License\n\nAGPLv3. Dual licensing available for commercial use — reach out.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjohnson998%2Fagorai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenjohnson998%2Fagorai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjohnson998%2Fagorai/lists"}