AIREITER
ДОКИ APIЦЕНЫ
ШАБЛОНЫ
  • AIReiter
  • Блог
  • Память для coding-агентов Funes: настройка Claude Code и Codex

Память для coding-агентов Funes: настройка Claude Code и Codex

Последнее обновление: 2026-09-03 19:28:43

Логику изменения парсера можно час доказывать одному агенту — и потерять весь контекст, как только следующая задача уйдёт другому. Funes локально индексирует сессии агентов, возвращает исходные фрагменты с указанием происхождения и умеет давать общую память Claude Code, Codex, pi и Hermes. Но важно понимать границу его возможностей: Funes находит историю, а решать, применимо ли старое решение сейчас, всё равно должен агент.

Ниже — практическая схема Claude Code → Codex, локальная память без внешней синхронизации, опциональный sync через Hugging Face, подключение универсальных MCP-клиентов и проверки, которые помогают не превратить найденную историю в источник ошибок.

Сначала определите границы памяти

Если вы только оцениваете Funes или работаете с чувствительными репозиториями, начните с локальной памяти. Привязывать датасет Hugging Face стоит лишь тогда, когда одна и та же история нужна на другой машине или нескольким участникам команды.

РежимГде хранитсяКогда выбиратьГлавное ограничение
localЛокальный датасет LanceОдин разработчик на одной машинеПамять не появится автоматически на другом хосте
<org>/<repo>Локальные данные Lance и репозиторий Hugging Face DatasetРабота с разными агентами или машинамиВ следах сессий могут оказаться чувствительный код, промпты, пути или учётные данные

В политике безопасности Funes указано, что разбор, нарезка на чанки, создание эмбеддингов и реранжирование по умолчанию происходят локально. Данные покидают машину через funes push либо через интеграцию общей памяти, которая публикует их на границе сессии. Память на базе Hub — это репозиторий датасета, поэтому перед первым push обязательно проверьте его видимость.

Для первого пилота выбирайте local. Позже привязку можно изменить, повторно выполнив funes add <agent> <memory>.

Установите Funes и создайте первый индекс

В официальном репозитории Funes есть shell-установщик: он определяет платформу, скачивает бинарный файл с тегом, проверяет checksum релиза и по умолчанию помещает исполняемый файл в PATH, в каталог ~/.local/bin:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh

Если команда funes не находится сразу, откройте новый shell, затем проверьте установку:

funes status

В репозитории опубликованы tagged-бинарники для Linux x86_64, Linux aarch64 и macOS Apple Silicon. Если вашей платформы в списке нет, воспользуйтесь инструкцией по сборке из исходников, а не рассчитывайте, что готовый установщик её поддерживает.

Быстрый старт за пять минут

Выполните следующую команду там, где уже есть сессии агента, которые вы хотите сохранить в памяти:

funes add claude

Для Claude Code она может создать первый индекс, зарегистрировать инструменты чтения, установить автоматизацию интеграции и индексировать завершённые ходы. Первый проход ориентирован на текст и, согласно документации, после подтверждения занимает около минуты. Сначала Funes обрабатывает обычный текст и рассуждения, а объёмный вывод инструментов оставляет на потом. (Документация по настройке Funes)

После этого проверьте состояние:

funes status

Чтобы вручную заполнить индекс сессиями Claude или обновить его, используйте:

funes index --harness claude

Без указания пути funes index ищет стандартные каталоги сессий Claude, Codex, pi и Hermes, включая ~/.claude/projects и ~/.codex/sessions. Параметр --harness claude ограничивает поиск Claude Code. В руководстве по индексации также описан примерно 60-секундный текстовый бюджет для обновления без пути: старые сессии и крупные результаты инструментов могут попасть в индекс только на последующих проходах.

Индексация Funes инкрементальная: при повторном запуске уже записанные чанки не получают эмбеддинги заново. Явно указанные пути к транскриптам и Hub-репозитории со следами индексируются полностью, без ограничения бюджета для запуска без пути. (Подробности индексации)

Подключите Funes к Claude Code

Для локальной памяти в Claude Code выполните:

funes add claude local
funes status

local можно не указывать — это значение по умолчанию. Если в терминале доступен HF-токен, Funes может предложить настроить пользовательский репозиторий <user>/funes-memory; для локального пилота отклоните это предложение.

Интеграция с Claude использует плагин только с hooks и отдельную регистрацию MCP. Funes не редактирует settings.json Claude Code: автоматизация индексирует завершённые ходы, а конфигурация общей памяти добавляет публикацию на границах сессии. (Поведение автоматизации)

Откройте Claude Code и проверяйте установку на известном историческом решении, а не только по факту успешной инсталляции:

Найди предыдущее решение по поводу потокового парсера. Если история репозитория его не объясняет, используй Funes recall и укажи сессию, на которую опираешься.

Хороший результат ссылается на более ранний фрагмент, называет сессию и отличает старый эксперимент от текущего состояния репозитория.

Чтобы отключить интеграцию, не удаляя сохранённые данные, выполните:

funes remove claude

В документации по удалению сказано, что команда убирает подключение Funes, но сохраняет локальную память, исходные транскрипты, кеши и опубликованную память.

Подключите к той же памяти Codex

Когда Claude Code уже работает, добавьте Codex в ту же локальную память:

funes add codex local
funes status

Для общей памяти на базе Hub передайте один и тот же идентификатор репозитория обоим агентам:

funes add claude <org>/<repo>
funes add codex <org>/<repo>

У Codex есть легко упускаемый этап доверия. Funes записывает свои hooks в ~/.codex/hooks.json; в самом Codex выполните /hooks, проверьте добавленные Funes записи и пометьте их как trusted. Пока hooks не получили доверия, Codex их пропускает: новые ходы не индексируются, а память не публикуется. Для документированного сценария с привязанной памятью требуется Codex 0.151.0. (Требования к автоматизации Codex)

Проверьте передачу контекста между агентами

Возьмите заметное решение, которое есть в сессии одного агента, но отсутствует у другого:

  1. В Claude Code найдите решение о парсере и запомните характерный термин из обсуждения.
  2. Завершите сессию, чтобы успели отработать индексация и автоматизация на границе сессии.
  3. В Codex спросите об этом термине и попросите привести прежние аргументы.
  4. Убедитесь, что ответ называет Claude исходным harness и указывает на исходную сессию или ход.

Проверить доказательства можно и прямо в терминале:

funes recall "why did we switch away from the streaming parser"

recall возвращает ранжированные исходные фрагменты, а не сгенерированное резюме. Каждый результат содержит сведения об источнике и сгенерированную команду get; скопируйте её, если нужен контекст соседних ходов.

Если Codex ничего не находит, проверьте версию, состояние доверия в /hooks, вывод funes status и то, не была ли сессия Claude создана до подключения интеграции. Затем повторите запрос с характерным термином из исходного обсуждения.

Подключение pi, Hermes и других MCP-клиентов

Помимо Claude Code и Codex, Funes напрямую поддерживает pi и Hermes. Pi работает через события расширения, Hermes — через shell hooks; для Hermes индексация каждого хода имеет статус beta. (Сведения о поддерживаемых агентах)

Для MCP-совместимого клиента, который не входит в эту четвёрку, запустите Funes как локальный stdio-сервер:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp"]
    }
  }
}

Чтобы привязать сервер к общей памяти, добавьте репозиторий после mcp:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp", "<org>/<repo>"]
    }
  }
}

В документации MCP описаны инструменты recall, get и status. funes mcp работает только на чтение: он не индексирует сессии и не публикует данные. Для этого используйте funes index, funes push или поддерживаемую интеграцию через funes add.

Память, указанная в отдельном MCP-вызове, имеет приоритет над привязкой на уровне сервера. Если не указано ни то ни другое, Funes использует локальную память.

Как использовать recall и не терять доказательства

У Funes есть три разных сценария работы:

КомандаРезультатКогда использовать
funes recall "…"Ранжированные исходные фрагменты с происхождениемКогда нужно изучить доказательства
funes get …Указанный ход и окружающий контекстКогда результат релевантен, но неполон
funes ask <agent> "…"Один обоснованный ответ на естественном языкеКогда нужен быстрый ответ от Claude или Codex без установки интеграции

По умолчанию recall возвращает 8 результатов, использует пул из 30 кандидатов после реранжирования, период полураспада давности в 30 дней и 1 соседний чанк. (Параметры и значения по умолчанию для Recall)

Надёжный цикл отладки выглядит так:

  1. Запустите funes recall, передав ошибку, название компонента или формулировку решения.
  2. Перейдите по сгенерированной команде get, чтобы открыть полный ход.
  3. Сверьте найденное решение с текущей веткой.
  4. Внесите изменение или проведите эксперимент.
  5. Снова выполните поиск по результату, чтобы следующая сессия могла его найти.

funes ask устроен иначе. Сначала он ищет материалы, затем передаёт выбранные фрагменты и ваш вопрос Claude или Codex для одного ответа. Дочерний агент не получает инструментов, stdin или MCP-серверов и не может повторить поиск, если первое совпадение оказалось слабым. Хотя поиск выполняется локально, вопрос и найденные фрагменты отправляются провайдеру, настроенному для выбранного агента. Поэтому документация по ask рекомендует funes recall для материалов, которые вы не готовы отправлять этому провайдеру.

Как поддерживать память достоверной и пригодной для работы

Funes сохраняет исходные фрагменты и сведения об их происхождении, но не может определить, актуален ли каждый исторический обходной путь.

«Coding-агенты ведут себя гораздо менее странно, когда память — это скучная инфраструктура: локальный индекс, точное происхождение, приватность по умолчанию». — @TheArtemisHunts в X

Небольшой чек-лист для рабочего использования

СитуацияЧто проверитьЧто сделать
Codex ничего не находитДоверие к hooks и версиюВыполните /hooks, доверьте записи Funes и убедитесь, что используется Codex 0.151.0
Не видны старые сессииОбласть и уровень индексацииВыполните funes index --harness claude или --harness codex; дайте последующим проходам добавить объёмный вывод
Заблокирован удалённый pushTruffleHog и scope токенаУстановите TruffleHog или задайте FUNES_TRUFFLEHOG; используйте fine-grained токен на запись только на машинах, которые публикуют данные
В результате найден секретСостояние локальной очисткиВыполните funes scrub, затем повторите push; исходные транскрипты не изменяются
Общая удалённая памятьВидимость и довериеНе делайте датасет публичным без явного намерения и считайте найденный сторонний текст недоверенным вводом для агента
Последняя сессия не попала в HubМомент границы сессииПеред тем как вывести машину из эксплуатации, выполните funes push <org>/<repo>

Funes скрывает учётные данные во время индексации и перед публикацией выполняет fail-closed проверку TruffleHog. В документации по push указано, что отсутствие сканера блокирует публикацию; если действующие учётные данные попали в удалённый датасет, немедленно отзовите их и выпустите новые, поскольку очистка в следующем коммите не удалит историю репозитория.

Используйте Hugging Face токены с минимальными правами: scope на запись — для машин, которые публикуют данные, а read-only — для коллег и хостов, которым нужен только поиск. Если две машины публикуют изменения в одну удалённую память, возможна гонка; документация по автоматизации не заявляет о сериализации между машинами.

Что выбрать на практике

Не подключайте сразу все интеграции — лучше начните с одного из этих сценариев:

СценарийРекомендуемая настройкаПочему
Один разработчик оценивает постоянную памятьfunes add claude localМинимальный риск передачи данных и самый простой откат
Планирование в Claude Code, реализация или ревью в CodexПривяжите обоих к одной памяти localСохраняет ход рассуждений между агентами на одном хосте
Агенты работают на нескольких машинахПривяжите обоих к одной приватной памяти <org>/<repo>Память следует за разработчиком через датасет Hub
История командного проектаПриватный датасет и read-only токены для читателейОтделяет право публикации от доступа к поиску
Неподдерживаемый MCP-агентfunes mcp [memory]Добавляет доступ на чтение, сохраняя индексацию явным действием
Чувствительные исходные материалыЛокальная память и recallПозволяет избежать удалённой публикации и однократной передачи провайдеру

FAQ по памяти coding-агентов Funes

Funes работает локально?

По умолчанию Funes обрабатывает и хранит память локально. Это local-first, но не автоматически local-only: push, hooks для общей памяти и ask могут отправлять данные за пределы локального процесса.

Funes работает с Claude Code и Codex?

Да. funes add поддерживает Claude Code и Codex, а также pi и Hermes. Для привязки памяти в Codex нужны версия 0.151.0 и trusted hooks.

Funes индексирует сессии автоматически?

После funes add поддерживаемые интеграции устанавливают автоматизацию индексации каждого хода. Начальная загрузка ограничена по объёму, поэтому старые сессии и крупный вывод инструментов могут потребовать последующих проходов.

Как дать Claude Code и Codex одну память?

Передайте одинаковый аргумент <org>/<repo> для funes add claude и funes add codex. Funes хранит рабочий индекс локально и публикует общий датасет на границах сессий.

Что делать, если Funes находит устаревшее решение?

Изучите его через funes recall, разверните контекст с помощью сгенерированной команды get и перед действием сверьте вывод с текущей веткой. Если первый поиск промахнулся, переформулируйте запрос.

Сохраняет ли funes ask данные на моей машине?

Поиск и реранжирование выполняются локально, но ask отправляет вопрос и найденные фрагменты настроенному провайдеру Claude или Codex. Для чувствительных доказательств используйте recall.

Можно удалить Funes, не удаляя память?

Да. Команды funes remove claude, funes remove codex, funes remove pi и funes remove hermes удаляют подключение интеграции, сохраняя индексированную память и исходные транскрипты.

>_Каталог моделей AIReiter

Быстрый API-доступ к моделям, связанным с этим гайдом

Claude Opus 5

Chat

Премиальная модель Claude для сложного анализа, программирования и профессиональной работы с длинным контекстом.

AnthropicСоздать API Key >

Claude Fable 5

Chat

Премиальная модель Claude для глубокого рассуждения и сложной объемной работы.

AnthropicСоздать API Key >

Claude Opus 4.8

Chat

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

AnthropicСоздать API Key >

Claude Sonnet 5

Chat

Сбалансированная модель Claude для продвинутого рассуждения, программирования и повседневной работы.

AnthropicСоздать API Key >

Claude Fable 5.1

Chat

Mythos-class model for long-horizon coding, research, and knowledge work.

AnthropicСоздать API Key >

Недавние статьи

Обзор API GPT-6 Astra (2026): для агентов, а не простой замены

2026-09-07

Kling API: официальный доступ и агрегаторы — руководство по интеграции (2026)

2026-09-07

Suno API Key: где получить и сколько стоит в 2026 году

2026-09-07

Обзор GPT-6 Astra: оправдывает ли API-цена $10/$50 свою стоимость?

2026-09-06
AIREITER

Есть вопросы? Свяжитесь с нами
[email protected]

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

GPT-6 AstraGemini 3.8 FlashClaude Fable 5.1GLM-5.3 FlashGemini 3.6 Flash

AI-видео

Gemini Omni 1.1 Flash ExtMiniMax H3Kling 3.0 Motion ControlKling 3.0 TurboKling 3.0

AI-изображения

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

Блог

Посмотреть все →

Компания

Политика конфиденциальностиУсловия обслуживанияПолитика возврата

© 2026 AIReiter. Все права защищены.