← Все проекты
Проект / TypeScript

M0Rf30/opencode-tool-search: OpenCode Tool Search — умный поиск инструментов для ИИ-ассистентов

Плагин, который сокращает расход токенов на 69-85%, позволяя ИИ-модели искать нужные инструменты по запросу, а не загружать все описания сразу.

Это TypeScript-плагин для OpenCode, реализующий паттерн Tool Search от Claude. Он не требует модификации ядра OpenCode, работает через официальный API хуков. Вдохновлён форком famitzsy8/opencode-tool-search-tool, но сделан как самостоятельный плагин.

★ 20 TypeScript Форки 0 Issue 0 Оценка 7/10 Карточка проверена

Для кого это

Для разработчиков, работающих с OpenCode и Claude, которые хотят оптимизировать контекстное окно и повысить эффективность ИИ-ассистентов при работе с десятками или сотнями инструментов.

Проблема / задача

Когда к ИИ-ассистенту подключается много инструментов (MCP-серверы, плагины), их описания съедают огромное количество токенов в каждом запросе, делая работу медленной и дорогой.

Как это работает

Плагин перехватывает определения инструментов перед тем, как они попадут к модели, и заменяет длинные описания на короткие заглушки [d]. Вместо этого он добавляет два поисковых инструмента: BM25-поиск по ключевым словам и regex-поиск. Когда модели нужен конкретный инструмент, она ищет его через tool_search("файловые операции") и получает полное описание только нужных инструментов.

Что видно по README

Это TypeScript-плагин для OpenCode, реализующий паттерн Tool Search от Claude. Он не требует модификации ядра OpenCode, работает через официальный API хуков. Вдохновлён форком famitzsy8/opencode-tool-search-tool, но сделан как самостоятельный плагин.

Ключевые возможности

Сокращение использования токенов на 69-91% в зависимости от количества инструментовДва типа поиска: BM25 для естественных запросов и regex для точных паттерновГибкая настройка: можно указать, какие инструменты всегда загружать полностью (alwaysLoad)Тонкая настройка алгоритма BM25 под разные модели (для слабых и сильных LLM)

Технологии

TypeScriptBM25 (алгоритм релевантности поиска)OpenAI APIRust

Интересный факт

Плагин экономит до 57 000 токенов за один тур диалога при подключении 6+ MCP-серверов — это примерно 40 страниц текста, которые модель не должна каждый раз перечитывать.

С чего начать

  • Установите плагин: npm install opencode-tool-search
  • Добавьте конфигурацию в opencode.jsonc, указав ключевые инструменты в alwaysLoad
  • Запустите OpenCode — модель теперь будет искать инструменты через tool_search.

Оценка GitRadar

Удобство
7/10
Свежесть
8/10
Перспектива
7/10
Монетизация
4/10
Общая оценка
7/10

Вердикт GitRadar

Стоит попробовать, если вы используете OpenCode с большим количеством инструментов. Это конкретное, технически грамотное решение для реальной проблемы оптимизации контекста. Проект сыроват (20 звёзд, 0 форков), но код чистый, документация подробная.

Наблюдения по обновлениям

Проект активен (последний релиз 0.4.3), использует современный стек (TypeScript, Biome, Vitest). Нет Issues и форков — сообщество пока не сформировалось.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/M0Rf30/opencode-tool-search
Лицензия
MIT
Создан на GitHub
18 апреля 2026 г.
Последнее обновление репо
18 апреля 2026 г.
Последняя проверка GitRadar
18 апреля 2026 г.
Изученные файлы
README.md, index.ts, package.json, src/types.ts, src/catalog.ts, src/bm25.ts

FAQ

Что это такое?

Плагин для OpenCode, который помогает ИИ-ассистентам экономить токены, загружая описания инструментов только по запросу, а не все сразу.

Для кого подходит?

Для разработчиков, которые используют OpenCode/Claude с множеством плагинов и MCP-серверов и хотят ускорить работу и снизить затраты на токены.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с M0Rf30/opencode-tool-search?

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