Patricia

официальный

Patricia подключает ваш ИИ-клиент к одному рабочему пространству Patricia. Читает память и файлы рабочего пространства, проверяет подключенные интеграции и делегирует задачи Patricia с контролем одобрения человеком.

Что можно делать с Patricia MCP?

  • Install and configure the plugin — Ask your AI to install the patricia plugin via the marketplace and sign in with OAuth or a personal token.
  • Onboard projects automatically — The SessionStart hook greets you and offers the onboard skill once per project when a token is configured.
  • Recall relevant memory — The UserPromptSubmit hook adds relevant memory to eligible prompts via search_memory, sending up to 300 characters.
  • Check integrations before tools run — The PreToolUse hook locally checks WebFetch, WebSearch, and Bash input against a known provider catalog, with no network calls.
  • Propose memory pushes — After local memory writes, the PostToolUse hook suggests remember with an explicit scope, and the Stop hook reminds you after substantial sessions.
  • Manage settings and files — Use get_settings, update_settings, list_files, and get_brand_kit to read or change workspace configuration and brand assets.

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

[!NOTE] Этот репозиторий создан из bettergroupinc/patricia-monorepo в plugins/patricia/. Автоматизация синхронизирует это публичное зеркало. Коммит источника: 147037702592109a4944cdbfb94bdcabb33f490f. Открывайте pull request и issues в монорепозитории.

Плагин Claude Code для patricia

Установите это один раз, и агент будет правильно использовать MCP-сервер Patricia без дополнительных указаний.

Плагин включает три компонента.

  1. Руководство. Пять навыков охватывают основы Patricia, онбординг, делегированную работу, интеграции и мост памяти.
  2. MCP-подключение. Установка настраивает Streamable HTTP-сервер Patricia для входа через OAuth.
  3. Пять локальных хуков. Они выполняют онбординг проектов, извлекают память, сначала проверяют интеграции и предлагают отправку памяти. Они никогда не записывают данные в Patricia.

Это распространяемый плагин Claude Code. Пользователь устанавливает его на свою машину, и он работает в сессии Claude Code этого пользователя. Это не каталог навыков продукта Patricia, и ничего из него не выполняется внутри Patricia.

Установка

claude plugin marketplace add patricia-app/patricia-plugin
claude plugin install patricia@patricia

Затем запустите новую сессию или выполните /reload-plugins.

Этот маркетплейс — https://github.com/patricia-app/patricia-plugin.. Автоматизация генерирует каждый файл в нём из монорепозитория Patricia.

Примечание для контрибьюторов: монорепозиторий приватный. Контрибьютор с доступом может добавить сам монорепозиторий как маркетплейс, потому что его корневой .claude-plugin/marketplace.json указывает плагин patricia на ./plugins/patricia.

Установите его. Не загружайте его через --plugin-dir. Плагин, загруженный из каталога, получает свои навыки, но не хуки, поэтому руководство работало бы, а мост памяти никогда бы не срабатывал. Это было измерено, а не предположено: пробный хук, загруженный через --plugin-dir, никогда не запускался, тогда как тот же хук, объявленный в настройках проекта, срабатывал на той же записи в том же headless-режиме. Claude Code регистрирует hooks/hooks.json плагина только для установленного и включённого плагина.

claude plugin details patricia сообщает, что было установлено:

Component inventory
  Skills (5)  delegating-work, integrations, memory-bridge, onboard, using-patricia
  MCP servers (1)  patricia
  Hooks (5)  SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop

Вход в MCP-сервер

Плагин настраивает MCP-сервер без сохранённого заголовка. При первом использовании выполните /mcp и выберите Patricia. Вы также можете запустить поток OAuth из терминала:

claude mcp login plugin:patricia:patricia

Вход через MCP OAuth и pat_mcp_ персональный токен хуков — это разные учётные данные. Только OAuth не активирует хуки, зависящие от токена.

Используйте токен как альтернативу, когда OAuth не подходит:

claude mcp add --transport http patricia https://api.patricia.app/v1/mcp \
  --header "Authorization: Bearer $PATRICIA_MCP_TOKEN"

pat_mcp_ персональный токен называет ответственное лицо и может записывать данные. pat_live_ тенантный API ключ не называет никого, поэтому он только читает и не может отвечать на list_skills или list_integrations.

Предоставьте локальным хукам персональный токен

Для локальных хуков должен быть доступен Python 3 через команду python3.

Создайте pat_mcp_ персональный ключ в Patricia в разделе Settings > Developer > Personal keys. Затем выберите один из вариантов настройки:

export PATRICIA_MCP_TOKEN="pat_mcp_..."

Или запишите этот файл по пути ~/.claude/patricia.json:

{
  "token": "pat_mcp_..."
}

PATRICIA_MCP_TOKEN имеет приоритет над файлом. Пустое значение PATRICIA_MCP_TOKEN отключает резервный вариант с файлом. Это поведение намеренное. Оно позволяет приостановить аутентифицированные хуки без перемещения файла.

Локальные хуки

Все пять хуков включены по умолчанию. Отсутствующий файл конфигурации или отсутствующий ключ хука оставляет их включёнными. Некорректный или нечитаемый конфиг отключает их. Установите указанный ключ хука в буквальное значение false в ~/.claude/patricia-plugin.json, чтобы отключить только этот хук.

Онбординг

  • Когда и действие: SessionStart запускается для новой или возобновлённой сессии. Он приветствует подключённого пользователя и предлагает навык онбординга один раз на проект.
  • Стоимость: С токеном он делает один whoami вызов. Таймаут сети — 3 секунды, таймаут хука — 10 секунд.
  • Выключение: hooks.onboarding.enabled установлен в false.
  • Конфиденциальность: С токеном только аутентифицированный whoami запрос покидает машину. Никакой промпт, транскрипт или содержимое проекта не покидает машину через этот хук.

Извлечение памяти

  • Когда и действие: UserPromptSubmit запускается перед каждым отправленным промптом. Он пропускает команды, короткие ответы, подтверждения и ввод только с кодом. Он добавляет релевантную память к подходящим промптам.
  • Стоимость: С токеном и подходящим промптом он делает один search_memory вызов. Таймаут сети — 3 секунды, таймаут хука — 8 секунд.
  • Выключение: hooks.recall.enabled установлен в false.
  • Конфиденциальность: Он отправляет до 300 символов свёрнутого промпта в Patricia. Он отправляет этот текст только когда настроен токен.

Сначала интеграции

  • Когда и действие: UserPromptSubmit проверяет промпт. PreToolUse проверяет WebFetch, WebSearch и Bash ввод перед запуском инструмента. Локальный каталог определяет известных провайдеров.
  • Стоимость: Он не делает MCP или сетевых вызовов и не требует токена. Таймаут хука — 8 секунд для промпта и 5 секунд перед вызовом инструмента.
  • Выключение: hooks.integrations_first.enabled установлен в false.
  • Конфиденциальность: Ничего не покидает машину. Хук проверяет промпт или ввод инструмента локально.

Мост памяти

  • Когда и действие: PostToolUse запускается после Write, Edit или MultiEdit. Он замечает сохранённую локальную заметку памяти и предлагает remember с явной областью действия.
  • Стоимость: Он не делает MCP или сетевых вызовов. Таймаут хука — 5 секунд.
  • Выключение: hooks.memory_bridge.enabled установлен в false. Устаревший файл ~/.claude/patricia-memory-bridge.json также может установить enabled в false.
  • Конфиденциальность: Скрипт читает сохранённую заметку локально и ничего не отправляет по сети. Он возвращает путь к заметке и текст напоминания в Claude Code, без содержимого заметки.

Напоминание об отправке

  • Когда и действие: Stop запускается, когда агент завершает работу. Он предлагает remember после локальной записи памяти или значительной сессии с использованием инструментов без записи памяти в Patricia.
  • Стоимость: Он не делает MCP или сетевых вызовов. Таймаут хука — 8 секунд.
  • Выключение: hooks.push_reminder.enabled установлен в false.
  • Конфиденциальность: Он читает не более 5 МБ локального транскрипта и ничего не отправляет. Он запускается только когда настроен токен, чтобы предложенный вызов памяти мог успешно выполниться после согласия пользователя.

Сеть и учётные данные

Этот плагин подключается к https://api.patricia.app/v1/mcp через Streamable HTTP.

Patricia использует OAuth 2.1 с PKCE S256. Завершённый поток OAuth даёт клиенту персональный pat_mcp_ bearer-токен.

Манифест плагина не содержит учётных данных. Клиент отправляет bearer-токен на api.patricia.app после входа.

Другие маркетплейсы

  • Cursor читает plugin.json и mcp.json из этого пакета.
  • OpenAI Codex и ChatGPT читают .codex-plugin/plugin.json.
  • Запись с удалённым источником не требует манифеста. xAI читает .claude-plugin/plugin.json, когда он присутствует.

Все пакеты маркетплейсов указывают на одно дерево skills/ в этом пакете.

assets/icon.png — это фирменный актив Patricia первой стороны.

Мост памяти предлагает; он никогда не записывает

Хук — это shell-команда. Он не содержит MCP-клиента, у него нет согласия ни от кого, и он не может прочитать заметку и отличить командный факт от приватного. Хук, который отправлял бы каждую локальную заметку в общее рабочее пространство, молча показывал бы машино-специфичные, временные и приватные заметки всей команде. Это тот режим отказа, которого мост создан избегать, а не отложенная функция.

Поэтому хук делает одну вещь: он внедряет hookSpecificOutput.additionalContext, сообщая агенту, что заметка только локальная и что remember требует scope. Агент решает область действия, спрашивает своего пользователя и выполняет вызов. Суждение и запись остаются в одном месте.

Четыре барьера держат его тихим:

БарьерЭффект
Любая поддерживаемая конфигурация устанавливает значение enabled моста в falseТихий. Без этого значения мост включён.
Записанный путь находится вне каталога памятиТихий.
Запись не была выполнена или файл пустТихий.
Front matter заметки содержит patricia: skipТихий.

Он также предлагает данную заметку не более одного раза за сессию, поэтому Write, за которым следует запуск Edit вызовов, даёт одно напоминание, а не четыре. Эта запись хранится в ~/.claude/patricia-memory-bridge-state/, один файл на сессию, удаляется через семь дней.

Он не использует CLAUDE_PLUGIN_DATA для этого. Эта переменная присутствует в окружении хука, но она не обязательно является каталогом самого запущенного плагина: хук уровня проекта на этой машине видел её установленной в ~/.claude/plugins/data/codex-openai-codex, каталог данных несвязанного плагина.

Какой инструмент на самом деле используется для записи памяти

Claude Code 2.1.238 объявляет инструменты с именами memory_list, memory_read и memory_write. На машинах, на которых это было построено, заметки памяти не записываются с их помощью: проверка 120 самых последних транскриптов сессий нашла 49 Write и 35 Edit вызовов в ~/.claude/projects/*/memory/ и ноль memory_write вызовов.

Поэтому матчер — это Write|Edit|MultiEdit. memory_write намеренно исключён. Добавление матчера для инструмента, чья форма полезной нагрузки не была проверена, даёт хук, который молча никогда не срабатывает и выглядит точно так же, как работающий. Добавьте его, когда реальная memory_write полезная нагрузка будет прочитана.

Руководство и постоянное правило сервера — одна копия, а не две

start_onboarding_import может возвращать standing_rule_to_offer, содержащий ask_first, instruction и блок markdown, размер которого подходит для чужого CLAUDE.md. Навык не повторяет этот блок. Он говорит агенту вызвать инструмент и использовать то, что вернётся, чтобы сервер оставался единственным владельцем этой формулировки.

Получение его при установке было альтернативой, и это не работает. SKILL.md плагина — это статический текст в кэше с адресацией по содержимому, нет шага установки, который мог бы переписать его, и плагин, чья работа включает настройку Patricia, не может зависеть от работающего аутентифицированного Patricia подключения для отображения своих собственных инструкций. Чтение инструмента во время использования даёт ту же единственную копию без всего этого.

Каждое имя инструмента здесь — реальный инструмент

Каждый идентификатор инструмента в обратных кавычках в этом плагине проверяется по реестру инструментов сервера, списку, который сервер строит tools/list. Та же проверка утверждает, что она нашла непустой набор идентификаторов, поэтому сломанный экстрактор не может пройти, ничего не найдя.

Примечание для контрибьюторов: эта проверка — backend/api/tests/test_patricia_claude_plugin.py в монорепозитории Patricia, и она запускается при каждом изменении этого плагина.

Настройки и обнаружение файлов

ИнструментИспользование
get_settingsСписок настроек или чтение выбранных ключей или групп со значениями, смыслом и правами. Любые учётные данные могут читать группы рабочего пространства.
update_settingsИзменение одной разрешённой группы через операцию панели управления. Требуется персональный токен.
list_filesСписок файлов. Первая страница включает папки и счётчики с фильтрацией по видимости.
get_brand_kitЧтение фирменных цветов, типографики и логотипов.

Используйте get_settings(keys=["company_profile"]) для профиля компании. Инструменты настроек используют тот же каталог и операции, что и Patricia в чате. Изменения настроек в чате требуют клика от запрашивающего пользователя. Изменение политики одобрения влияет на консольные запуски; критические и требуемые провайдером действия сохраняют свой минимальный уровень одобрения, а аудитория и клик-только уровни сохраняют свои на любом действии, о котором Patricia уже спрашивает.

Чтение интеграций ждёт, пока другая задача выполняется для того же пользователя. Опрашивайте эту задачу через get_task_status или ждите её завершения. После прямого одобрения интеграции следуйте предложению next, возвращённому decide_approval. Оно называет инструмент, который нужно вызвать снова с тем же tool_ref и аргументами.