agent hubПУТЕВОДИТЕЛЬ Начать

Документация

Устройство Agent Hub

Agent Hub — локальный источник основных MCP-настроек, навыков и общего контекста для Claude Code, Codex CLI и DeepSeek Harness. Нужен Node.js ≥22.13. Целевые платформы — macOS/Linux; Windows экспериментальна. Кандидат 0.1.0-beta.1 распространяется как проверенные архивы исходников и пакета; публикация в реестре npm отключена.

Принципы

  1. Канонические описания находятся в Hub, файлы клиентов — явные проекции.
  2. Сначала план, потом применение. Посторонние записи и личный текст сохраняются.
  3. До записи сохраняются оригиналы и закрытые копии. Устаревшие входы, неизвестное владение и изменённые привязки блокируют действие.
  4. Секреты локальны и не копируются в созданные MCP-конфигурации. Закрытый контекст не попадает в JSON плана.
  5. Различия клиентов изолированы в адаптерах, планирование и применение общие для CLI/UI.
  6. Контекст проекта живёт в репозитории, отдельно от глобальных настроек и истории диалогов.

Структура Hub

hub/
  hub.yaml
  skills/<name>/SKILL.md
  mcp/servers.yaml
  instructions/AGENTS.md
  memory/MEMORY.md
  memory/shared/records/<id>.md
  memory/projects/<project-id>/records/<id>.md
  memory/projects/<project-id>/MEMORY.md
  memory/projects.json
  templates/repo/
  .env
  backups/
  state/
hub.recovery/
  baseline/
  artifacts/
  archives/

AGENT_HUB_HOME выбирает Hub. Переопределения путей описаны в README. Абсолютные локальные привязки в созданных файлах и восстановлении намеренны: recovery не является переносимым облачным backup-форматом.

Доставка

ОбластьИсточникПроекция
MCPРеестр и ссылки на .envНативная конфигурация с общим запускателем
НавыкиПолные папки HubОтдельные ссылки, включая проверенные локальные копии
Инструкцииinstructions/AGENTS.mdСвой блок: импорт Claude, текст Codex/DSH
Общая памятьmemory/MEMORY.md и фактыИндекс и путь папки в блоке инструкций
Передача проектаШаблоны Hub или встроенныеAGENTS.md, PROJECT.md, NOW.md и импорт Claude в Git-репозитории

Подходящие проекту нативные Markdown-заметки импортируются с сохранением оригиналов. Архивные разговоры и SQLite не поддерживаются. Общие факты читаются по необходимости. Профиль DSH может выключить плагины инструкций и навыков; доставка этого не меняет.

Сценарий quick

quick управляет только общим Hub: недостающие файлы, сбор MCP и навыков, затем глобальная доставка выбранным клиентам. План не зависит от cwd и Git-проекта. Необязательный project connect [directory] требует готовый Hub и проверенный Git-checkout; отдельно планирует память, контекст, подходящие источники и hooks проекта. Общие инструменты и инструкции он не собирает и не доставляет.

Оба сценария переиспользуют существующие сервисы. Preview фиксирует область и входы; применение проверяет ревизию и перестраивает зависимые планы. Независимые этапы могут завершиться при конфликте другого. Единой транзакции и unattended-сервиса MCP/навыков нет. Применение удерживает повторно используемую этапами блокировку и сохраняет отдельный undo-снимок вне Hub. Поздние правки блокируют undo. Disconnect сохраняет привязки и знания за явным запретом доступа. См. быстрый старт.

Сервисы и восстановление

MCP использует свой планировщик, сохраняющий формат writer, хеши владения и sync-копии. Контент — артефакты файловой системы: файлы, полные каталоги, конечные ссылки и отсутствие. План содержит отпечатки источников и целей, публичная проекция не содержит файлы.

Все записи разделяют блокировку Hub. Перед записью данные проверяются; поздний сбой запускает компенсирующий откат завершённых изменений. Временные данные рядом с целью сохраняют права и бинарные материалы. У замены каталога есть короткий промежуток rename. Внешние клиенты блокировку не соблюдают. Общей транзакции диска и гарантии при потере питания нет.

Неизменяемый baseline и дополняемые первые оригиналы находятся вне активного Hub. Reset возвращает их и архивирует текущее. Существующая установка получает снимок доступного состояния, неизвестная история не восстанавливается. См. восстановление и контент.

Текущий этап

Реализованы quick через CLI/UI, init, MCP import/launcher/sync/doctor, restore/reset, локальный UI, операции навыков, доставка правил и индекса, шаблоны репозитория и scoped-память CLI/UI/MCP. Явные записи требуют preview и точной ревизии. После проверенного включения автоматизация использует политику, общий сервис записи и recovery без отдельного плана каждого факта. Обычный sync — только MCP; --area skills и --area context выбирают остальные проекции.

До публикации нужно пройти настоящее рабочее испытание: извлечение моделью и передача памяти между клиентами, визуальную проверку и удалённый CI macOS/Linux. Пакет и настоящий установщик проверяются в изолированных профилях; RELEASE.md описывает артефакты кандидата и оставшиеся условия. Обмен с графовой памятью остаётся будущей работой. Лендинг и документация поддерживают английский/русский через языковые файлы; доменом, хостингом и деплоем управляет сопровождающий.

Минимальная версия памяти

CLI/UI/MCP используют один реализованный сервис записей. Точные команды и лимиты — в памяти. Описанный ниже обмен графами запланирован, не реализован.

Начальное архитектурное решение

Для первой версии единственный оригинал — управляемый Hub Markdown. Небольшой встроенный MCP предоставляет тот же сервис CLI/UI. Повторно используются managed-plan, блокировка и восстановление артефактов; гарантии проверяются на совместной записи факта и индекса. Пока backend один, общий framework хранилищ не нужен.

Внешний @modelcontextprotocol/server-memory — будущий необязательный импорт/экспорт, не runtime-зависимость и не второй оригинал. Импорт должен сохранять атрибуцию и источник, распознавать повторы по стабильной идентичности и требовать решения при изменении. Сущности и связи сохраняются либо неподдерживаемые данные явно отклоняются: тихое уплощение недопустимо. Экспорт — отдельный снимок без перезаписи графа другого процесса. Ручной импорт сохраняет выбранный UTF-8 текст одной записью, onboarding — нативный Markdown; структурированный граф они не импортируют.

Не следует автоматически синхронизировать два записываемых оригинала. Графовый backend можно рассмотреть, если реальный сценарий потребует обхода графа: он заменит основное хранилище коллекции, а не станет зеркалом. Совместимость встроенного API с внешними графовыми инструментами не заявлена.

Назначение и границы

Память сохраняет полезные знания между сессиями и клиентами. Одна запись — независимо поддерживаемый факт, предпочтение, решение или урок. Инструкции остаются инструкциями, процедуры — навыками, PROJECT.md — контекстом репозитория, NOW.md — текущей работой. Transcript — источник для проверки, а не запись по умолчанию. Вместо дублирования документации предпочтительны ссылки.

Начальные области:

Оригиналы по умолчанию локальны в Hub: публичный репозиторий не публикует личные заметки автоматически. Экспорт выбранных знаний в репозиторий — отдельное действие. Выбранный Hub задаёт начальную границу; метка scope сама не реализует рабочие и личные профили или ACL.

Хранение и идентичность

UTF-8 Markdown с проверяемым YAML, одна запись в файле. Метаданные включают стабильный ID, заголовок, область и проект, даты, теги и источник. Тело хранит знание и нужный контекст. Ревизия вычисляется по байтам, поэтому редактор делает старый план недействительным.

Рукописные документы остаются читаемыми. Принятие в структурированные записи требует preview; MEMORY.md не переписывается незаметно, каждый Markdown не объявляется управляемым автоматически. Производный индекс имеет явное владение и сохраняет личный текст.

Реестр назначает локальный стабильный ID с явными checkout. Имя папки и remote URL недостаточны. Worktree могут разделять зарегистрированный проект, другой clone не подключается автоматически, перемещённый или неизвестный checkout требует привязки. Чужие имена и snippets не выдаются за пределами разрешённой области.

Markdown — источник истины, MEMORY.md — компактный производный индекс. Поиск текстовый по области и метаданным. Embeddings, графы и постоянный индекс возможны при измеренной необходимости; производный индекс всегда должен пересобираться из записей.

Один сервис, три интерфейса

CLI, UI и необязательный stdio MCP вызывают один сервис валидации, областей, поиска, планирования, ревизий и восстановления. Адаптер MCP не вводит другой формат и не обходит блокировку.

Сначала реализованы список, получение и поиск, затем создание, обновление, удаление и импорт. Записи используют preview/apply, проверенные ревизии и оригиналы, включая индекс. Конкурентные писатели перечитывают под блокировкой; старый план отклоняется. Повреждённые метаданные и неясный импорт показываются с источником, без скрытого исправления. Нужны проверки редактора и нескольких процессов CLI/MCP.

MCP стартует с явным workspace и разрешёнными областями. Переданные клиентом пути и ID их не расширяют. Чтение доступно сразу, проверенные write-tools включаются отдельно. Автоматические checkpoints требуют --allow-auto, политики и активного одноразового токена. Это граница сервиса Hub, а не sandbox агента с собственным доступом к диску.

Стартовый контекст — небольшой индекс и подсказка использования, не все факты всех проектов. Данные читаются по необходимости через файлы или MCP. Подключённый MCP сам не заставляет агента помнить: инструкции объясняют поиск и сохранение, настоящее поведение нужно проверять.

Порядок реализации и приёмки

  1. Валидация записей, привязки проектов, scoped-чтение и поиск, CLI.
  2. Проверенные записи и импорт, индекс, конфликты ревизий и восстановление.
  3. Тот же сервис через MCP и UI с настоящими протокольными вызовами; это покрыто независимыми stdio-клиентами.
  4. Рабочее испытание модели: сохранить факт, прочитать из другого клиента, безопасно изменить, отвергнуть старую запись и исключить чужой проект. Fixtures протокола не доказывают соблюдение процесса моделью.

Нативная автопамять сохраняется. Автоматизация копирует выбранный Markdown и запрашивает подтверждённые checkpoints активного контекста. Привязки обнаруживают дубликаты и правки, конфликты сохраняются закрыто. Watcher может работать между сессиями. Хранилище не переносится, знания не становятся общими, архивные разговоры не импортируются массово. Hooks сохраняют чужие настройки и используют проверяемую установку и копии; доверие и разрешения остаются клиентскими.

Архитектурные ориентиры: MCP memory server описывает сущности, связи и наблюдения; спецификация MCP tools — интерфейс адаптера. Это не зависимости и не заявление реализованной совместимости.

Дальнейшие этапы

Подготовка репозитория создаёт обычные файлы. Она не запускает агентов, не обновляет NOW.md постоянно и не гарантирует следование модели инструкциям. Windows, большие деревья, сетевые файловые системы, ACL/xattrs и потеря машины требуют отдельной проверки.