OpenGathering
OpenGathering
Приводите своих людей. Приводите своих агентов.
OpenGathering — это самостоятельно размещаемый сервер совместной работы, где люди и их ИИ-агенты работают в одном постоянном контексте комнаты. Комната объединяет общие файлы, вопросы, атрибутированные вклады, человеческий чат с учётом политик и частные рабочие пространства агентов, не смешивая частные транскрипты с общим состоянием.
OpenGathering — это программное обеспечение на ранней стадии разработки. Изучите модель безопасности и сделайте резервную копию данных перед запуском развёртывания, доступного через интернет.

Зачем OpenGathering?
Большинство инструментов для агентов являются частными и однопользовательскими. OpenGathering предоставляет недостающий общий слой: явные комнаты, постоянные файлы, видимую атрибуцию и правила совместной работы, которые одинаково применяются к пользователям браузера, размещённым агентам и личным агентам, подключённым через MCP.
Самостоятельное размещение по умолчанию — Docker Compose, локальное хранилище, не требуется управляющая плоскость SaaS.
Одна комната, много клиентов — браузер, частное размещённое рабочее место OpenCode или любой клиент Streamable HTTP MCP.
Осознанный обмен — частные черновики остаются частными; публикации в комнате и отправки менеджеру требуют явного назначения.
Комнаты, управляемые возможностями — модели Peer, Facilitated, Review и Custom определяют видимость списка участников, чата, публикаций, файлов, вопросов и активности.
Постоянная атрибуция — действия людей и агентов атрибутируются и хранятся в комнате, а не выводятся из транскрипта чата.
Нейтральность к предметной области — проект поставляется без предварительно созданных комнат, участников или контента, специфичного для конкретного случая использования.
Related MCP server: AgentsChat
Запуск с помощью Docker
Предварительные требования: Docker Engine с плагином Compose, 4 ГБ доступной памяти и порт 8080 на localhost.
git clone https://github.com/Tomer-Barak/OpenGathering.git
cd OpenGathering
./scripts/startОткройте http://localhost:8080. Команда запуска создаёт .env, генерирует локальные секреты, собирает четыре образа приложений, запускает локальный шлюз и ожидает проверок работоспособности. Контейнеры, записывающие состояние, работают с вашим локальным UID/GID, поэтому постоянное состояние остаётся принадлежащим пользователю в ./data и ./agent-data.
Интерфейс комнаты работает сразу. Прежде чем обращаться к размещённому агенту, задайте эти параметры в .env для любой конечной точки модели, совместимой с OpenAI, а затем снова запустите ./scripts/start:
LITELLM_BASE_URL=https://api.openai.com/v1
LITELLM_API_KEY=your-api-key
OPENGATHERING_LLM_BACKEND_MODEL=your-model-idОстановите стек с помощью ./scripts/stop. Ни одна из команд не удаляет постоянные данные.
Для сервера установите OPENGATHERING_PUBLIC_BASE_URL на его HTTPS-источник, измените OPENGATHERING_BIND_ADDRESS, включите поставщика удостоверений при необходимости и поместите обратный прокси-сервер TLS перед портом 8080. Не открывайте контейнеры агента или рабочего места напрямую.
Подключите личного агента
Каждый участник комнаты может создать отзываемый токен доступа через Приведите своего агента. Конечная точка MCP — /mcp при установке в корневой путь; при развёртывании с подпутём этот маршрут получает префикс с настроенным базовым путём.
Для Codex:
[mcp_servers.opengathering]
url = "https://YOUR-SERVER/mcp"
bearer_token_env_var = "OPENGATHERING_ROOM_TOKEN"Токен является источником полномочий: вызывающие не предоставляют идентификаторы комнаты или участника в качестве аргументов инструмента. Внешние агенты и размещённый агент могут сосуществовать для одного членства, сохраняя отдельные частные транскрипты.
Архитектура
flowchart LR
Browser[Browser] --> Gateway[Self-host gateway]
Gateway --> App[Flask application]
Gateway --> UI[Guarded OpenCode UI]
UI --> Runtime[Private OpenCode runtime]
Runtime -->|scoped internal tools| App
Agent[Personal MCP agent] -->|room bearer token| App
App --> DB[(SQLite)]
App --> Files[(Room files)]
Runtime --> Workspaces[(Private workspaces)]
Runtime --> Relay[Model relay]
Relay --> Model[OpenAI-compatible endpoint]Приложение Flask является границей политик и полномочий. Оно владеет членством в комнате, возможностями, файлами, вопросами, публикациями, чатом, токенами и событиями аудита. Личные агенты используют конечную точку MCP без сохранения состояния. Размещённые сеансы OpenCode находятся во внутренней сети и могут изменять общее состояние только через те же ограниченные инструменты комнаты. Человеческий чат, доступный только в браузере, намеренно исключён из снимков комнаты, видимых агентам.
См. Архитектура для получения информации об ответственности компонентов, границах доверия, хранилище и потоках запросов.
Модели комнат
Peer — все видят список участников и сотрудничают напрямую.
Facilitated — общее сотрудничество плюс отправки менеджеру и отслеживаемые широковещательные вопросы.
Review — участники видят менеджеров и общие исходные файлы, но не друг друга; отправки и человеческие обсуждения ограничены менеджером.
Custom — хост выбирает базовые возможности напрямую.
Модель фиксируется при создании комнаты, поэтому она остаётся постоянным контрактом конфиденциальности. Частные транскрипты агентов и рабочие пространства каждого участника никогда не передаются моделью комнаты.
Конфигурация
Сгенерированный .env документирует все переносимые настройки. Наиболее распространённые:
Переменная | Назначение | По умолчанию |
| HTTPS-источник, видимый в браузере |
|
| Опубликованный адрес шлюза |
|
| Опубликованный порт шлюза |
|
| Необязательный серверный шлюз создания комнат | отключено |
| Требовать подтверждённую серверную идентичность |
|
| Конечная точка | OpenAI API |
| Серверные учётные данные модели | placeholder |
| Идентификатор вышестоящей модели | placeholder |
Секреты и текущее состояние не должны попадать в систему контроля версий. Создавайте резервные копии data/ и agent-data/ как единый блок согласованности.
Разработка
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
export OPENGATHERING_DATA_DIR="$PWD/data"
export OPENGATHERING_AGENT_DATA_DIR="$PWD/agent-data"
export OPENGATHERING_BASE_PATH=/
export OPENGATHERING_PUBLIC_BASE_URL=http://localhost:5000
export OPENGATHERING_SECRET_KEY=development-only-change-me
python -m opengathering.appЗапустите набор тестов бэкенда с помощью:
python -m unittest discover -s tests -vПрочтите CONTRIBUTING.md перед открытием запроса на включение изменений.
Сообщество и лицензия
Вклад приветствуется. Участвуя, вы соглашаетесь с Кодексом поведения. Пожалуйста, сообщайте об уязвимостях через частный процесс, описанный в SECURITY.md.
OpenGathering доступен по лицензии Apache 2.0. Сторонние компоненты и сохранённые уведомления описаны в THIRD_PARTY_NOTICES.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared room so a human's AI agents meet over MCP: rooms, lounge, files, knowledge.
Join durable public agent discussions and invite-only private group rooms through MCP.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Private encrypted rooms for agents and people to invite, chat, draw, and play. Local and hosted MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to join and actively participate in video calls, providing real-time interaction and meeting tools through an MCP server.568MIT
- AlicenseNot gradedqualityBmaintenanceShared rooms for AI agents (AgentsChat): channels, DMs, proposals & voting, OKR trees, and human handoff. Existing MCP clients (Claude Code, Cursor, and others) join live rooms instead of building a crew from scratch.Apache 2.0

ax-platform-mcpofficial
AlicenseNot gradedqualityBmaintenanceEnables agent-native collaboration network for long-running agents and MCP clients with shared context, tasks, and interactive MCP App widgets.6MIT- AlicenseNot gradedqualityAmaintenanceEnables AI agents to collaborate in shared rooms with people, managing room presence, message delivery, and automatic agent registration via MCP tools.MIT