SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor

Плагін context-mode для Claude Code: що він економить

Плагін context-mode тримає великі логи й знімки браузера поза контекстом Claude Code. Як його встановити, виміряти економію в /context, видалити і чого він не виправляє.

Що робить плагін context-mode для Claude Code

Плагін context-mode для Claude Code не пускає великий вивід інструментів у розмову. Логи, прогони тестів і знімки сторінок браузера обробляються в окремому процесі. Сирі дані зберігаються в локальній базі SQLite, а в контекст моделі повертається лише короткий результат. Тому вікно контексту заповнюється повільніше, і кожен наступний запит до моделі містить менше токенів.

Ця стаття описує версію v1.0.169. Станом на 7 жовтня 2026 року це остання версія на npm і в релізах GitHub. Вона вийшла 29 червня 2026 року. Команди й назви інструментів нижче звірено з README і метаданими пакета npm саме цієї версії. Якщо у вас новіша версія, звірте назви з README, перш ніж копіювати команди.

Чому контекст у Claude Code закінчується так швидко

Вікно контексту (context window) означає все, що модель бачить за один запит: системні інструкції, описи інструментів, ваші повідомлення і весь вивід інструментів за сесію. Модель не пам'ятає попередніх запитів. Тому Claude Code щоразу надсилає всю історію розмови заново. Як саме рахуються токени, пояснено в гайді як Claude Code рахує токени. Тут важливий один наслідок.

Коли агент читає великий лог, цей лог залишається в історії. Він іде з кожним наступним запитом, доки сесія не стиснеться. README проєкту наводить такі приклади сирого виводу:

ГрафікСирий вивід інструментів, КБ (приклади з README проєкту)
Дані, на яких побудовано графік
[
  {
    "label": "\u0417\u043d\u0456\u043c\u043e\u043a \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 Playwright",
    "kb": 56
  },
  {
    "label": "20 issues \u0437 GitHub",
    "kb": 59
  },
  {
    "label": "\u041e\u0434\u0438\u043d access-\u043b\u043e\u0433",
    "kb": 45
  }
]

Знімок сторінки з Playwright (інструмента для автоматизації браузера) займає 56 КБ. Двадцять issues з GitHub займають 59 КБ, а один access-лог 45 КБ. Це цифри з README, а не наші виміри. Але масштаб зрозумілий. Кілька таких викликів займають помітну частину вікна текстом, який модель уже прочитала і більше не потребує.

Коли вікно заповнюється, Claude Code запускає компактизацію (compaction): стискає розмову в підсумок. Після цього модель часто губить деталі, наприклад які файли вже змінено і на чому ви зупинилися. Загальні прийоми проти цього зібрано в гайді про керування контекстом у Claude Code. context-mode автоматизує два з них: тримає сирі дані поза розмовою і зберігає стан сесії перед стисканням.

Як context-mode тримає вивід поза розмовою

context-mode є MCP-сервером. MCP (Model Context Protocol) є стандартним способом дати моделі додаткові інструменти. Сервер додає інструменти з префіксом ctx_. Головні з них такі:

  • ctx_execute запускає код в окремому підпроцесі, тобто в пісочниці (sandbox). У розмову потрапляє тільки те, що код надрукував у stdout.
  • ctx_batch_execute робить те саме для кількох команд за один виклик.
  • ctx_index і ctx_fetch_and_index кладуть текст або вміст сторінки за URL у локальний індекс.
  • ctx_search шукає в цьому індексі й повертає лише потрібні фрагменти.

Індекс зберігається в SQLite з розширенням FTS5 (full-text search, повнотекстовий пошук). Результати впорядковуються алгоритмом ранжування BM25. На практиці це означає таке: сирий лог лежить на диску, а модель запитує з нього лише рядки з помилкою, а не весь файл.

Другу ідею README називає «Think in Code». Модель не читає п'ятдесят файлів, щоб порахувати в них функції. Вона пише скрипт, який рахує, і запускає його через ctx_execute. У контекст приходить одне число замість п'ятдесяти файлів.

При встановленні через маркетплейс плагінів context-mode також реєструє хуки (hooks). Хук є командою, яку Claude Code запускає на певній події. README перелічує PreToolUse, PostToolUse, UserPromptSubmit, PreCompact, SessionStart і Stop. Хуки спрямовують великі операції на інструменти ctx_, тому модель не обходить їх. Як працюють такі події, пояснено в гайді про хуки Claude Code.

Знімок сесії, який переживає компактизацію

Під час роботи context-mode записує події сесії в SQLite: які файли ви читали й редагували, git-операції, задачі, помилки, ваші виправлення. Перед компактизацією хук PreCompact будує з цих подій невеликий знімок (snapshot). Після компактизації або після /resume хук SessionStart повертає в контекст стислий путівник по сесії. Там є ваш останній запит, відкриті задачі й прийняті рішення. Решта подій лежить в індексі, і модель може знайти їх через ctx_search.

Знімок працює поряд із вбудованим підсумком Claude Code. Він додає структурований список фактів, тому моделі не треба вгадувати, що було важливим.

Звідки береться економія, а звідки ні

context-mode зменшує вхідний контекст (input) на кожному кроці. Відповіді моделі (output) він не скорочує. Це дві різні статті витрат.

Ліміт підписки Pro чи Max витрачається на обидві. В агентній сесії вхід росте з кожним кроком, бо історія надсилається повторно. Якщо прибрати лог з історії, він не їде в жодному з наступних запитів. Для розробника, який оплачує підписку в доларах з гривневої картки, це означає більше роботи до того, як ліміт закінчиться. Що ще витрачає ліміт, розібрано в статті що насправді з'їдає ліміт Claude Pro.

Скіли на кшталт caveman працюють з іншого боку. Вони просять модель відповідати коротше, тобто зменшують вихідні токени. Докладніше про це в огляді скілу caveman, який стискає відповіді агента. README context-mode прямо каже, що плагін не диктує моделі стиль відповіді. Тому ці два підходи не конфліктують, і їх можна ставити разом.

Що перевірити перед встановленням

Потрібен Node.js версії 22.5.0 або новішої. Саме так записано в полі engines пакета на npm. README додає, що Linux з Node нижче 22.5 не підтримується. Перевірте свою версію:

node --version

Вивід має бути v22.5.0 або більший номер. Версія Node залежить від того, як ви її встановили, тому дивіться на вивід команди, а не на назву дистрибутива. README також згадує Bun як альтернативне середовище виконання.

Для маршруту через плагін README вимагає Claude Code v1.0.33 або новіший. Перевірте командою claude --version. Якщо Claude Code не розпізнає команду /plugin, спершу оновіть його.

Ліцензія. context-mode поширюється під Elastic License 2.0 (ELv2). Це source-available ліцензія: код можна читати, використовувати, форкати і змінювати. Але ELv2 не є відкритою ліцензією в сенсі OSI (Open Source Initiative). Вона забороняє пропонувати продукт як хостинговий сервіс і прибирати ліцензійні позначки. Для особистої роботи в Claude Code ці обмеження не заважають. Якщо ваша компанія дозволяє лише ліцензії, схвалені OSI, спершу узгодьте це всередині компанії.

Встановлення context-mode через маркетплейс плагінів

README рекомендує саме цей шлях. Він ставить MCP-сервер, хуки і slash-команди разом. Усередині сесії Claude Code виконайте:

/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

Перша команда додає маркетплейс з репозиторію GitHub. Друга відкриває панель плагіна, де ви обираєте область встановлення: для себе в усіх проєктах, для всіх учасників репозиторію або лише для себе в цьому репозиторії. Перед вибором прочитайте, які хуки й MCP-сервер додає плагін. Плагін зі стороннього маркетплейсу запускає код з вашими правами. Загальну модель розібрано в гайді як влаштовані плагіни Claude Code.

Після встановлення перезапустіть Claude Code або виконайте /reload-plugins. Потім перевірте установку:

/context-mode:ctx-doctor

За README, усі пункти мають бути позначені [x]. Doctor перевіряє середовища виконання мов, хуки, роботу FTS5 і реєстрацію плагіна. Пункт без позначки показує, яка саме частина не працює.

Встановлення як MCP-сервер через npx

Якщо плагіни вам не підходять, context-mode можна підключити як звичайний MCP-сервер. Ця команда виконується у звичайному терміналі, а не всередині сесії:

claude mcp add context-mode -- npx -y context-mode

При першому запуску npx завантажує пакет context-mode з реєстру npm і запускає його. Перезапустіть Claude Code і перевірте список серверів:

claude mcp list

У списку має з'явитися context-mode. Сервер працює там само, де працює Claude Code. Якщо ви тримаєте інші інструменти на окремому сервері, як у гайді MCP-сервери на VPS, context-mode все одно запускається поруч із клієнтом.

README позначає цей маршрут як «MCP-only»: без хуків і без slash-команд. Різниця суттєва. Без хуків ніщо не спрямовує великий вивід на інструменти ctx_. Модель сама вирішує, коли їх викликати. Якщо вона запустить звичайний інструмент Bash, весь вивід потрапить у контекст, як і без плагіна. Без хука PreCompact немає й знімка сесії. Якщо ви працюєте довгими сесіями, як у гайді Claude Code на VPS у tmux, обирайте маршрут через плагін.

Як виміряти економію: одна сесія з context-mode і одна без

Цифра «98%» у README походить з власного бенчмарку проєкту. Ось що він показує:

ГрафікБенчмарк самого проєкту: сирий вивід і те, що дійшло до контексту, КБ
Дані, на яких побудовано графік
[
  {
    "label": "\u0421\u0438\u0440\u0438\u0439 \u0432\u0438\u0432\u0456\u0434 \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0456\u0432",
    "kb": 315
  },
  {
    "label": "\u041f\u043e\u0442\u0440\u0430\u043f\u0438\u043b\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442",
    "kb": 5.4
  }
]

За даними проєкту, 315 КБ сирого виводу перетворилися на 5.4 КБ у контексті. Ваші задачі інші, тому перевірте результат на своєму репозиторії. У Claude Code є вбудована команда /context. Вона показує поточне заповнення вікна з розбивкою за категоріями.

  1. Вимкніть плагін у терміналі: claude plugin disable context-mode@context-mode.
  2. Запустіть нову сесію в тому самому репозиторії на тому самому коміті.
  3. Дайте задачу з великим виводом, наприклад: «запусти всі тести й скажи, які впали і чому».
  4. Коли агент закінчить, виконайте /context і запишіть заповнення вікна та рядок з повідомленнями.
  5. Увімкніть плагін: claude plugin enable context-mode@context-mode.
  6. Запустіть нову сесію і дайте ту саму задачу тим самим текстом.
  7. Знову виконайте /context і порівняйте ті самі рядки.

Одного порівняння мало. Модель щоразу обирає трохи інші кроки, тому повторіть пару сесій хоча б двічі. Різницю варто шукати на задачах з великим виводом. На задачі «перейменуй змінну в одному файлі» прибирати нічого, тому й економії не буде.

Плагін має і власну статистику:

/context-mode:ctx-stats

Вона показує економію за кожним інструментом і загальне співвідношення. Але ці числа рахує сам плагін. /context рахує Claude Code, тому для чесного порівняння беріть саме його.

Ще одна цифра, яку варто знати. Плагін теж займає місце в контексті: описи власних інструментів і текст, який додають хуки. Подивитися постійні витрати можна так:

claude plugin details context-mode

Рядок Always-on показує, скільки токенів плагін додає до кожної сесії, де він увімкнений. Якщо ваші сесії короткі й без великих логів, плагін може коштувати більше, ніж економить. Цю тему ширше розібрано в статті про накладні витрати токенів в обв'язці агента.

Які інструменти context-mode виходять у мережу

README каже: «Nothing leaves your machine. No telemetry, no cloud sync». Для індексу і бази сесій це так. Вони лежать локально, для Claude Code в каталозі ~/.claude/context-mode. Але кілька частин плагіна працюють з мережею за самим своїм призначенням:

  • ctx_fetch_and_index завантажує сторінку за URL, перетворює HTML на markdown і кладе результат в індекс. Кеш живе 24 години.
  • ctx_upgrade і slash-команда /context-mode:ctx-upgrade завантажують останню версію з GitHub і перезбирають залежності.
  • ctx_insight відкриває у браузері хостинговий дашборд context-mode.com/insight.
  • npx -y context-mode і /plugin marketplace add завантажують код з npm і GitHub під час встановлення.

Є й очевидніша річ. Короткий результат, який context-mode повертає в розмову, іде до моделі разом з рештою контексту. Фраза про те, що нічого не залишає машину, стосується сирих даних у пісочниці, а не того, що бачить модель.

Також пам'ятайте про зворотний бік. Сирі логи тепер лежать на диску в базі SQLite. Якщо в логах були токени доступу чи паролі, вони там і залишаться. Команда /context-mode:ctx-purge безповоротно видаляє весь проіндексований вміст.

Чого context-mode не виправляє

  • Вихідні токени. Довгі пояснення і великі диффи модель пише так само, як і без плагіна.
  • Постійну частину контексту. Системні інструкції, ваш CLAUDE.md і описи інших MCP-серверів займають місце, як і раніше.
  • Текст, який ви вставили самі. Лог на дві тисячі рядків, вставлений у повідомлення, вже в контексті. Краще дайте агенту шлях до файлу.
  • Читання коду для редагування. Щоб змінити файл, модель має його бачити, і пісочниця цього не змінює.
  • Пропуски в пошуку. Якщо ctx_search не знайде потрібний рядок, модель працюватиме з неповною картиною. Коли висновок агента здається дивним, попросіть показати конкретний фрагмент логу.

Як повністю видалити context-mode

Почніть з очищення індексу, поки плагін ще працює. Усередині сесії виконайте /context-mode:ctx-purge. Потім у звичайному терміналі приберіть плагін і маркетплейс:

claude plugin uninstall context-mode@context-mode
claude plugin marketplace remove context-mode
claude plugin list

claude plugin uninstall діє на область користувача. Якщо ви ставили плагін для репозиторію, додайте --scope project або --scope local. Видалення маркетплейсу також видаляє всі плагіни, встановлені з нього. Після цього claude plugin list не має показувати context-mode.

Якщо ви підключали context-mode як MCP-сервер, приберіть його так:

claude mcp remove context-mode
claude mcp list

Локальні дані лишаються на диску після обох маршрутів. Спершу подивіться, що там лежить, і лише потім видаляйте:

ls -la ~/.claude/context-mode
rm -rf ~/.claude/context-mode

Якщо ви ставили пакет глобально через npm install -g context-mode, виконайте також npm uninstall -g context-mode. І ще одне. README пропонує вручну додати рядок статусу в ~/.claude/settings.json. Якщо ви це робили, приберіть той запис. Інакше рядок статусу Claude Code посилатиметься на команду, якої вже немає.

FAQ

Скільки контексту реально економить context-mode?

Цифра «98%» належить власному бенчмарку проєкту, де 315 КБ сирого виводу стали 5.4 КБ у контексті. На ваших задачах результат буде іншим. Вимкніть плагін, виконайте задачу з великим виводом і запишіть показники /context. Потім увімкніть плагін, повторіть ту саму задачу в новій сесії і порівняйте. Економія помітна на логах, тестах і знімках браузера, а на дрібних правках її майже немає.

Чи працює context-mode без хуків, тільки як MCP-сервер?

Так, через claude mcp add context-mode -- npx -y context-mode. Але README позначає цей режим як «MCP-only»: без хуків і без slash-команд. Без хуків модель сама вирішує, чи викликати інструменти ctx_, і може запустити звичайний Bash, тоді вивід потрапить у контекст повністю. Знімок сесії перед компактизацією теж робить хук, тому в цьому режимі його немає.

Чи є context-mode open source?

Ні, у сенсі OSI він не є open source. context-mode поширюється під Elastic License 2.0, тобто це source-available ліцензія. Код можна читати, використовувати, форкати і змінювати. Не можна пропонувати його як хостинговий сервіс і прибирати ліцензійні позначки.

Чому після встановлення context-mode нічого не змінилося в /context?

Перша причина: плагін ще не завантажився. Виконайте /reload-plugins або перезапустіть Claude Code, потім /context-mode:ctx-doctor, і всі пункти мають бути позначені [x]. Друга причина: ви ставили його як MCP-сервер без хуків, і модель просто не викликала інструменти ctx_. Третя: у задачі не було великого виводу, тому прибирати не було чого.

Чи надсилає context-mode мої дані в інтернет?

Індекс і база сесій лежать локально, у ~/.claude/context-mode, і телеметрії README не заявляє. Але ctx_fetch_and_index завантажує сторінки з мережі, ctx_upgrade тягне нову версію з GitHub, а ctx_insight відкриває хостинговий дашборд у браузері. Короткий результат, який плагін повертає в розмову, як і весь контекст, іде до моделі.

#claude-code#context-window#mcp#plugins#token-usage