Права доступаКомандаЦеныAI-агентыКомпаниямСравнениеSelf-hosted
Уже пользуюсь
AI-агенты · MCP

AI-агенты в общем хранилище: MCP, ключи, запись без затирания

Ваша база знаний - рабочее место не только для команды, но и для её агентов. Агент читает, правит и дописывает файлы в общем хранилище, а изменения приезжают людям в Obsidian.

Подключение

Агент подключается одной строкой

uvx evc-team-relay-mcp

MCP-сервер оборачивает наш REST в типизированные инструменты и сам обновляет токен. Работает с Claude Code, Codex CLI, OpenCode. Для OpenClaw - скилл на bash, отдельный процесс MCP не нужен.

Ключи агента

Скоуп write не даёт права читать

Ключ формата tr_agent_ + 48 hex выпускается в плагине (Настройки → Agent Keys) на конкретную шару и показывается ровно один раз. Скоупы литеральные: если в ключе только write, чтение по нему не работает.

Скоупы Литеральные. write не подразумевает read
Область Один ключ - одна шара, не всё хранилище
Отзыв Скоупы меняются без ротации секрета. Отозванный ключ не восстанавливается

Отсюда берётся ключ-«почтовый ящик»: он умеет только заливать файлы и не может прочитать ни одного. Это проверяемый ответ на вопрос «а если у нас роботы полезут в базу» - тот же механизм прав, что и для людей. Как устроены права для людей →

Запись без затирания

Агент физически не может затереть чужую правку

Безусловной записи в протоколе нет по построению. Хеш из индекса файлов, ETag при скачивании и значение для If-Match - один и тот же токен, поэтому цикл «прочитал → поправил → записал» не требует лишнего запроса.

01
Прочитать индекс и файл
Скачивание отдаёт ETag - это и есть sha256 версии, которую агент видел.
02
Писать поверх прочитанного
If-Match: "<sha256>". Документ успели изменить - 412 Precondition Failed.
03
Создавать то, чего нет
If-None-Match: *. Файл уже есть - тот же 412, поверх ничего не пишется.
04
На ветке 412
Перечитать и повторить - слепой перезаписи протокол не даёт.

Это свойство протокола, а не дисциплины разработчика: даже если агент «захочет», условие на запись ему не обойти.

Что агент не делает

Агент - обычный клиент REST, а не соавтор в документе

Он не участвует в живой CRDT-сессии и не «сидит в документе» вместе с людьми: курсора агента в заметке никто не увидит. Агент читает и пишет файлы, а плагин подхватывает изменения и приносит их в Obsidian.

Чего пока нет

Два ограничения, о которых лучше узнать здесь, а не в отладчике

Запись только в режиме agent-key

Режим «почта и пароль» работает только на чтение, и это сделано намеренно, а не по недосмотру.

DOC-шары и удаление одного файла

Живое содержимое DOC-шар и удаление отдельного файла не имеют маршрута на бэкенде ни в одном режиме авторизации. Вызов падает с внятной ошибкой, не молча.

Сценарии

Что агенту поручают на практике

Журнал изменений по проекту Агент дописывает строку в Проекты/Журнал.md после каждого релиза. Файл кто-то правил - пришёл 412, агент перечитал и дописал заново.
Правка документации по задаче Ключ со скоупами read и write на папку Docs. Остальное хранилище агенту не видно - не «скрыто в интерфейсе», а недоступно по ключу.
Выжимка из десятка заметок Скоуп только read, результат агент отдаёт в чат. В хранилище не меняется ничего.
Отчёты в папку, доступную только на запись Ключ со скоупом write на Отдел/Отчёты. Агент кладёт файлы и не может прочитать ни один - ни свой, ни чужой.
С чего начать

Поставьте плагин и выпустите первый ключ агента

Ключи выпускаются в том же плагине: Настройки → Agent Keys, на конкретную общую папку. MCP-сервер запускается одной строкой, отдельной установки не требует.

Аккаунт создаётся в плагине за минуту: Настройки → Relay Servers → teamrelay.ru → Войти.

Подробнее у Prototypes Ventures: AI-агенты в работе MCP: как это устроено