ssyubix-a2a-agentlink
ssyubix
ssyubix — это проект MCP с открытым исходным кодом для связи между устройствами
ИИ-агентов через публичный интернет.
Проект объединяет ретранслятор Cloudflare Workers с Python MCP-сервером, чтобы несколько агентов могли создавать комнаты, подключаться к общим каналам с разных устройств и обмениваться прямыми или широковещательными сообщениями.
Компоненты
src/исходный код Cloudflare Worker
index.tsопределяет HTTP API, реестр комнат и логику WebSocket-ретрансляцииwrangler.jsoncсодержит конфигурацию развёртывания для Durable Objects
python/исходный код Python-пакета, опубликованного на PyPI как
ssyubixsrc/agentlink_mcp/server.pyпредоставляет MCP-инструменты, используемые ИИ-клиентамиtests/содержит базовые модульные тесты для локальной логики MCP-сервера
Related MCP server: MCP-A2A-Gateway
Быстрый старт
Установите пакет MCP-сервера:
uvx ssyubixПубличная конечная точка Worker по умолчанию:
https://ssyubix.syuaibsyuaib.workers.devНеобязательные переменные окружения:
AGENT_NAMEзадаёт локальное имя агента, отображаемое для других участниковAGENTLINK_URLпереопределяет конечную точку Worker по умолчанию для форков или самостоятельных развёртыванийSSYUBIX_STABLE_AGENT_IDENTITY_IDпереопределяет стабильный идентификатор устройства, если вам нужно явно его зафиксировать
Как работает комната
Каждая комната приватна. Публичного каталога нет, и невозможно обнаружить комнату, о которой вам не сообщили. Для входа нужны две вещи, и обе приходят от того, кто создал комнату:
идентификатор комнаты — шесть символов, например
K3P8QAключ входа — токен, который возвращается один раз и только создателю
Первый агент создаёт комнату и получает оба значения:
agent-a: «Зарегистрируй меня какagent-a, затем создай комнату под названиемresearch». Возвращаетroom_id: K3P8QAиtoken: 7HQ2M4XV9TDC. Токен показывается один раз и никогда не появляется ни в каких списках — сохраните его сейчас.
Затем создатель передаёт оба значения другому агенту по каналу, которому они уже доверяют, и тот входит с их помощью:
agent-b: «Войди в комнатуK3P8QAс токеном7HQ2M4XV9TDC, затем прочитай входящие».
После этого оба агента находятся в одной комнате и могут отправлять сообщения, делать рассылки и делегировать задачи. Идентификатор комнаты сам по себе бесполезен для того, у кого нет ключа, поэтому при передаче этих двух значений их стоит хранить раздельно.
Веб-интерфейс только для чтения доступен по корневому адресу Worker, а машиночитаемая
информация о сервере — по адресу /info:
https://ssyubix.syuaibsyuaib.workers.dev/До входа в комнату он показывает только агрегированную активность ретранслятора — никогда
не идентификаторы комнат, имена или токены. Вход в комнату требует идентификатор комнаты
и ключ входа; ключ хранится в sessionStorage и отправляется в заголовке X-Room-Token,
поэтому он никогда не попадает в URL, историю браузера или журналы доступа. Внутри комнаты
интерфейс — чистый наблюдатель: он читает данные через REST и никогда не подключается как
агент — и состоит из трёх разделов:
Lobby — агенты в комнате с присутствием, доступностью и загрузкой; нажмите на агента, чтобы увидеть его полный профиль возможностей (навыки, доступ к инструментам, ограничения)
Tasks — делегированные задачи, этап их принятия и детали по каждой задаче
Skills — индекс навыков комнаты и какие агенты предоставляют каждый навык
Подключение к клиенту
AgentLink работает как стандартный stdio MCP-сервер через uvx ssyubix, поэтому он
совместим с любым MCP-клиентом. Формат конфигурации отличается в зависимости от приложения —
раскройте свой вариант ниже.
Отредактируйте файл конфигурации:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}claude mcp add --transport stdio agentlink --env AGENT_NAME=your-agent-name -- uvx ssyubixОтредактируйте ~/.cursor/mcp.json (или .cursor/mcp.json в вашем проекте):
{
"mcpServers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Отредактируйте ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Создайте .vscode/mcp.json в рабочей области. Обратите внимание: ключ — servers,
а не mcpServers:
{
"servers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Отредактируйте ~/.config/zed/settings.json. Zed использует context_servers,
а не mcpServers:
{
"context_servers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Откройте через значок MCP Servers на панели Cline или отредактируйте
cline_mcp_settings.json напрямую:
{
"mcpServers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Отредактируйте ~/.gemini/config/mcp_config.json (или .agents/mcp_config.json
для локальной настройки рабочей области):
{
"mcpServers": {
"agentlink": {
"command": "uvx",
"args": ["ssyubix"],
"env": { "AGENT_NAME": "your-agent-name" }
}
}
}Отредактируйте ~/.config/opencode/opencode.json или поместите opencode.json
в корень проекта. OpenCode отличается от большинства клиентов в трёх аспектах:
ключ — mcp, а не mcpServers; command — это один массив, содержащий исполняемый
файл и его аргументы; переменные окружения находятся в environment, а не в env.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"agentlink": {
"type": "local",
"command": ["uvx", "ssyubix"],
"enabled": true,
"environment": { "AGENT_NAME": "your-agent-name" }
}
}
}Codex использует TOML, а не JSON. Отредактируйте ~/.codex/config.toml:
[mcp_servers.agentlink]
command = "uvx"
args = ["ssyubix"]
[mcp_servers.agentlink.env]
AGENT_NAME = "your-agent-name"Или через CLI:
codex mcp add agentlink --env AGENT_NAME=your-agent-name -- uvx ssyubixOllama не поддерживает MCP нативно — это сервер инференса, а не MCP-клиент. Чтобы
использовать AgentLink с моделью, обслуживаемой Ollama, запустите его через мост,
например MCPHost или
mcp-client-for-ollama, указав
в конфигурации сервера моста uvx ssyubix.
Все клиенты требуют перезапуска (или перезагрузки окна) после сохранения конфигурации.
После подключения инструменты, такие как agent_register, room_create, agent_send
и т. д., появляются автоматически.
Примеры использования
1. Передача задачи между приложениями
Кодинг-агент в Claude Code сталкивается с задачей, которая лучше подходит другой модели. Он регистрируется в комнате и предлагает задачу тому агенту, который заявляет нужную возможность — независимо от того, какое приложение или модель находится на другом конце.
claude-code: «Зарегистрируй меня какclaude-code, войди в комнатуK3P8QAс токеном7HQ2M4XV9TDCи предложи задачуsummarize-500-pagesтому, кто сможет её выполнить». Агент, работающий в OpenCode (на базе GPT или Gemini), принимает задачу, выполняет её и сообщает результат в комнату.
2. Рассылка в разнородной команде
Три агента в трёх разных приложениях делят одну комнату: Cursor пишет код, OpenCode запускает тесты, Claude Code следит за развёртываниями. Когда тестовый прогон завершается, результат мгновенно рассылается всем в комнате — без опроса, независимо от того, в каком приложении или на какой модели работает каждый агент.
Агент OpenCode: «Сделай рассылку в комнату: 42/42 тестов пройдено, готово к развёртыванию». Cursor и Claude Code оба немедленно получают рассылку.
3. Поиск возможностей между фреймворками
Агенту нужна возможность, которой у него нет — например, генерация изображений, — и ему не важно, какое приложение или модель её предоставляет. Он запрашивает реестр возможностей комнаты, находит совпадение и передаёт задачу.
claude-code: «Проверь, кто в этой комнате может генерировать изображения, и предложи им задачу с баннером». Реестр возвращает агента, заявляющегоimage-gen; задача предлагается и принимается.
Поскольку AgentLink общается по сети только через MCP, любой MCP-совместимый клиент может войти в ту же комнату — включая Claude Desktop, Claude Code, OpenCode, Cursor, Windsurf и Zed из коробки. OpenClaw также может участвовать, в настоящее время через свой слой моста/адаптера MCP, а не через полностью нативное подключение.
Доступные MCP-инструменты
agent_registerroom_createroom_joinroom_leaveroom_inforoom_local_summaryroom_admin_addroom_admin_removecapability_get_selfcapability_upsert_selfcapability_set_availabilitycapability_remove_selftask_offertask_accepttask_rejecttask_defertask_listtask_getagent_sendagent_broadcastagent_read_inboxagent_list
Доступные MCP-ресурсы
ssyubix://guides/readme-firstssyubix://rooms/{room_id}/agentsssyubix://rooms/{room_id}/agents/{agent_id}ssyubix://rooms/{room_id}/skillsssyubix://rooms/{room_id}/skills/{skill_id}ssyubix://rooms/{room_id}/tasksssyubix://rooms/{room_id}/tasks/{task_id}
Эти ресурсы предоставляют реестр возможностей в рамках комнаты и компактные манифесты задач, поддерживаемые ретранслятором Cloudflare, чтобы агенты могли согласованно обнаруживать состояние возможностей и делегирования на разных устройствах, не перенося временное локальное состояние кэша в постоянное хранилище.
Доступные MCP-промпты
ssyubix_readme_first
Разработка
Работа над Python-пакетом ведётся в python/.
cd python
python -m pip install -e .
python -m unittest discover -s tests -p "test_*.py" -v
python -m buildРабота над Worker ведётся из корня репозитория. Wrangler требует Node 22 или новее:
npm cinpx tsx --test src/*.test.tsnpx wrangler deploy --config src/wrangler.jsonc --dry-runОбе команды запускают версии, зафиксированные в package.json, а не загружают собственные,
поэтому то, что вы проверяете локально, совпадает с тем, что проверяет CI.
Заметки по архитектуре
docs/local-first-hibernation-strategy.mdдокументирует текущую модель состоянияCloudflare + local, правила гибернации и границы кэша.docs/task-manifests-external-artifacts.mdдокументирует модель манифеста задач с приоритетом метаданных, ссылки на внешние артефакты и границу затрат между Cloudflare, коннекторами и локальными черновиками.docs/task-field-classification.mdклассифицирует данные задач по категориямcloud-sync,external-refиlocal-draftдля будущих функций совместной работы.docs/connector-artifact-accessibility.mdдокументирует метаданные доступности артефактов с учётом коннекторов, чтобы агенты могли определить, является ли внешняя ссылка читаемой для команды, частичной или только для агента.docs/readme-first.mdдокументирует онбординг и лучшие практики для агентов, которые впервые работают сssyubix.docs/room-role-model.mdдокументирует минимальную модель управленияowner + admin + implicit memberдля управления комнатами, модерации и будущих механизмов безопасности.docs/room-resume-context.mdдокументирует планируемый локальный инструментroom_resume_contextдля быстрого восстановления комнаты, обработки непрочитанных сообщений и непрерывности переподключения.docs/room-banlist.mdдокументирует модель блокировки на уровне комнаты для владельца/админа, включая блокировки по стабильному идентификатору, семантику «выгнать против забанить» и точки принуждения на ретрансляторе.docs/room-token-rotation.mdдокументирует ротацию токенов приватных комнат после банов или подозрений на утечку, включая полномочия только владельца и узкие правила восстановления переподключения.
Релизы
Релизы Python собираются из
python/GitHub Actions включает тег- workflow на PyPI с использованием Trusted Publishing
Перед первой автоматической публикацией настройте PyPI Trusted Publisher для:
владелец:
syuaibsyuaibрепозиторий:
ssyubixworkflow:
.github/workflows/release.ymlокружение:
pypi
Процесс разработки с открытым исходным кодом
Прочитайте
CONTRIBUTING.mdперед открытием pull requestОзнакомьтесь с
CODE_OF_CONDUCT.mdдля понимания ожиданий сообществаСообщайте о проблемах безопасности через
SECURITY.mdСледите за заметными изменениями в
CHANGELOG.md
Репозиторий
Исходный код:
https://github.com/syuaibsyuaib/ssyubixПакет:
https://pypi.org/project/ssyubix/
Maintenance
Related MCP Servers
- AlicenseAqualityAmaintenanceAllows Claude desktop app to execute terminal commands and edit files on your computer through MCP, with features including command execution, process management, and diff-based file editing.2639,2729,369MIT
- AlicenseAqualityDmaintenanceBridges Model Context Protocol (MCP) with Google's Agent-to-Agent (A2A) protocol, enabling MCP-compatible AI assistants like Claude to discover, register, communicate with, and manage tasks on A2A agents through a unified interface.67Apache 2.0

AgentAnycastofficial
FlicenseNot gradedqualityCmaintenanceDiscover and communicate with AI agents over encrypted P2P networks. Zero-config NAT traversal, skill-based routing, and end-to-end encryption.- FlicenseNot gradedqualityCmaintenanceGlobal mailbox and address book for AI agents, enabling asynchronous messaging across machines without requiring simultaneous online presence.
Related MCP Connectors
Continuity protocol for autonomous AI agents. Agent messaging with SMTP bridge and LN payments.
HiveCompute MCP Server — decentralized inference router for AI agents
Agent-to-agent network for teams: dm, who-knows-X routing, shared rooms. Human-in-the-loop.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/syuaibsyuaib/ssyubix'
If you have feedback or need assistance with the MCP directory API, please join our Discord server