Simon Willison 1 сентября 2026 года ковырялся в своей папке ~/.cache/ через OmniDiskSweeper и наткнулся на папку codex-primary-runtime — 1.7 ГБ. Внутри: полная установка Python, полная установка Node.js и нативные бинарники Poppler, git и офисного пакета LibreOffice. Десктопное приложение OpenAI Codex (с тех пор перебрендированное в просто ChatGPT) притащило на диск пользователя целый офисный пакет, чтобы агент умел читать docx и xlsx. Разбор — ниже.

Что нашли и почему это важно
Обычно про агента думают как про «модель + инструкции». Здесь видно, что под капотом у него ещё и рантайм — изрядный набор исполняемых файлов, который едет к вам на диск целиком. Заметка и стала поводом для разбора: 1.7 ГБ — это не модель (она на серверах), это инструменты, которыми агент работает локально.
Скриншот самой папки из OmniDiskSweeper показывает, из чего складывается число:

Что лежит в кеше
По данным из заметки и скриншота, дерево ~/.cache/codex-runtimes/codex-primary-runtime/ выглядит так:
| Компонент | Размер | Зачем агенту |
|---|---|---|
dependencies/ |
1.7 ГБ | Общий склад зависимостей рантайма |
dependencies/node |
446.4 МБ | Полная установка Node.js — для JS/TS-проектов и MCP-серверов на Node |
dependencies/python |
440.6 МБ | Полная установка Python — скрипты, тулы, работа с документами |
.../libreoffice-headless |
429.7 МБ | Офисный пакет для чтения и конвертации docx / xlsx / pptx |
dependencies/native/poppler |
187.9 МБ | Нативные бинарники Poppler для PDF |
dependencies/native/git |
148.1 МБ | Полный git для работы с репозиториями |
dependencies/native/libheif |
4.7 МБ | Чтение изображений формата HEIF/HEIC |
dependencies/native/jxrlib |
679.9 кБ | Работа с JPEG XR |
plugins/ |
6.3 МБ | Сами скиллы, объясняющие агенту, как этим пользоваться |
runtime.json |
4.1 кБ | Манифест рантайма |
Обратите внимание на масштаб: LibreOffice headless (429.7 МБ) и Python (440.6 МБ) — почти одного размера с Node.js. Это не «небольшая библиотека для конвертации»: на диск кладут фактически полный офисный пакет.

Как агент читает docx и xlsx локально
Ключевая цитата из заметки: «The ~/.cache/codex-runtimes/codex-primary-runtime/plugins/openai-primary-runtime/plugins/documents folder includes skills which tell Codex how to find and use those binaries» — в этой папке лежат skills, которые объясняют Codex, как найти и использовать те самые бинарники.
То есть механика такая: LibreOffice здесь работает как headless-движок для конвертации форматов. Агент не «читает» бинарный docx напрямую — он запускает soffice в фоне, тот конвертирует документ в текст или PDF, а уже результат агент разбирает. Официальная документация LibreOffice описывает соответствующие команды (File Conversion Filter Names):
soffice --headless --convert-to pdf *.docx
soffice --headless --convert-to txt:"Text (encoded):UTF8" file.docx
А Poppler — это нативные бинарники для PDF: pdftotext, pdftoppm и прочие утилиты, которые превращают PDF в текст и картинки (poppler.freedesktop.org). Документация LibreOffice подчёркивает, что конвертация через --convert-to идёт напрямую, без интерактивного запуска интерфейса, — именно поэтому в кеше лежит libreoffice-headless, а не полное GUI-приложение.
Практический вывод: агент, который умеет открывать офисные документы, не требует ни установленного Microsoft Office, ни интернета. Всё офлайн, всё на вашем диске.

Как это устроено: рантайм плюс skills
Заметка Willison формулирует простую, но важную архитектурную идею: агент — это не только модель. Это связка «рантайм + skills».
- Рантайм — реальные исполняемые файлы: Python, Node, git, Poppler, LibreOffice. Они нужны, чтобы у агента вообще была возможность выполнять команды, а не только рассуждать.
- Skills — markdown-инструкции, которые объясняют агенту, где лежат эти бинарники и как их правильно вызывать. Без skills агент, возможно, и нашёл бы
soffice, но не знал бы, как читать docx в этом окружении.
Разделение важное: сам рантайм огромен (1.7 ГБ), а «мозг» для него — маленькие текстовые файлы. Именно skills превращают набор бинарников в инструмент. Это тот же паттерн, что и в других агентах: отдельно то, что исполняет, и отдельно то, что объясняет, как исполнять.
Как посмотреть и почистить у себя
Проверить, что агент положил на ваш диск, можно штатными командами:
# 1. сколько всего занимает рантайм Codex
du -sh ~/.cache/codex-runtimes
# 2. разложить по компонентам (топ по размеру)
du -sh ~/.cache/codex-runtimes/*/* 2>/dev/null | sort -h
# 3. найти сами skills про документы
find ~/.cache/codex-runtimes -iname '*.md' -path '*documents*'
# 4. конвертировать docx в текст без установки Office
soffice --headless --convert-to txt:"Text (encoded):UTF8" file.docx
# 5. понять, какие именно нативные бинарники притащили
find ~/.cache/codex-runtimes -name 'soffice*' -o -name 'pdftotext*'

du/find для инвентаризации рантайма. Источник данных: структура из заметки Simon Willison.Про очистку важная оговорка: ~/.cache/codex-runtimes — это кеш, и приложение пересоздаст его при следующем запуске. Удалить папку целиком можно, но приложение скачает рантайм заново, что съест время и трафик. Если цель — освободить место, сначала посмотрите, что реально занимает (du), а не сносите вслепую.
Риски
- Место на диске. 1.7 ГБ на каждом устройстве, где установлено приложение. На ноутбуке с SSD на 256 ГБ это заметная доля. Отдельно стоит учесть, что кеши обычно не чистятся сами.
- Приватность и офлайн-ожидания. LibreOffice тут — не только про чтение: раз агент умеет конвертировать документы локально, он может обрабатывать ваши файлы без отправки на сервер. Но это палка о двух концах — вы должны понимать, когда обработка локальная, а когда содержимое файла всё же уходит в модель.
- Обновления. Рантайм обновляется вместе с приложением. Версии Python, Node, Poppler и LibreOffice внутри кеша могут отличаться от тех, что вы поставили в системе, — это отдельное окружение, которое вы не конфигурировали.
- Доверие к бинарникам. Вы скачиваете и запускаете исполняемые файлы (Python, Node, LibreOffice, git, Poppler), которые сами не выбирали. Это нормальная практика для десктопных приложений, но стоит понимать, что состав рантайма определяет вендор, а не вы.
Честные ограничения
- Заметка короткая. Simon Willison написал по сути заметку, а не глубокий разбор: точные пути и список компонентов есть, но деталей запуска и версий бинарников там нет. Всё, что не подтверждено источником, в этой статье не додумано.
- Скриншот — единственный источник цифр. Размеры (429.7 МБ на LibreOffice, 440.6 МБ на Python и т.д.) взяты из скриншота OmniDiskSweeper. На другой системе они будут отличаться в зависимости от версии приложения и платформы.
- Рантайм может измениться в любой момент. Состав кеша — не стабильный API: вендор может добавить или убрать компоненты. Всё описанное — «на момент публикации» по состоянию начала сентября 2026 года.
- Это не про Codex CLI. В заметке речь про десктопное приложение. Насколько набор компонентов схож у других сборок агентов, по этому источнику судить нельзя.
Российские реалии
- Доступность приложения. Десктопное приложение Codex / ChatGPT доступно из РФ нестабильно: вход через аккаунт OpenAI требует VPN (ограничения по российским IP), а установщик может не отдаваться без обхода блокировок. Open-source агенты (Cline, Aider) в этом смысле проще: ставятся из GitHub и npm без ограничений.
- Оплата. Подписка ChatGPT Plus/Pro российскими картами не проходит — Visa и Mastercard отключены от процессинга РФ. Рабочие схемы: посредники, виртуальные карты с иностранным BIN, карты банков Казахстана, Грузии, Армении. Само приложение бесплатно в базовом варианте, но модели за ним — по подписке.
- LibreOffice в РФ — бесплатен и доступен. В отличие от самого агента, его офисный движок проблем не создаёт: LibreOffice — свободный пакет, его можно поставить из репозиториев любого дистрибутива. Примеры внедрения и практика миграции на него в российских организациях хорошо описаны русскоязычными источниками.
- RU-опыт по LibreOffice. Подробный разбор миграции на свободное ПО с комментариями практиков (главная боль — совместимость документов), опыт Росатома: Astra Linux + LibreOffice, сравнительный тест Р7-Офис, МойОфис, LibreOffice и MS Office (LibreOffice набрал 50/58 баллов, второе место после MS Office) и обзор офисных пакетов, приходящих на смену Microsoft.
Ирония кейса: агент приносит на ваш диск ровно тот офисный пакет, за независимость от которого в России идёт отдельная борьба, — и делает это молча, в фоне, как техническую деталь.
Вывод
Находка Willison — хорошая иллюстрация того, как устроен современный десктопный агент: «модель» — это вершина айсберга, а под водой 1.7 ГБ рантайма, среди которых полный офисный пакет. Практическая польза от этого одна: агент умеет читать docx и xlsx офлайн, без Office и без сети.
Второй вывод — про учёт. Если вы ставите агента, стоит один раз посмотреть, что он кладёт на диск (du), и понять, что из этого вам действительно нужно. 1.7 ГБ сами по себе не проблема, а вот запускать чужие бинарники, не зная, что это, — не лучшая привычка.
Связанные статьи
- Как установить Codex CLI — установка и настройка агента Codex
- ChatGPT Work: что это — про десктопные продукты OpenAI
- Песочницы для ИИ-агентов — как изолировать то, что агент запускает
- Кейс: Codex 0.151 — перехват MCP tool results — что ещё меняется в Codex
Читайте также: Кейс: кодинг-агенты на Linux-коробке за €30: что реально тянет · Claude Code vs Codex: что выбрать в сентябре 2026
