Skip to main content
Glama

codex-lcm

Локальное управление контекстом без потерь для OpenAI Codex CLI.

codex-lcm захватывает события диалогов Codex в SQLite, уплотняет более старый контекст в иерархию сводок без удаления исходных сообщений, восстанавливает релевантный контекст при запуске сеанса и предоставляет лексический поиск через локальный MCP-сервер.

Смысл «без потерь»: исходное содержимое сохраняется после заданного редактирования секретов. Поисковые предпросмотры инструментов ограничены, а полные отредактированные входные и выходные данные инструментов остаются доступными через постраничное разворачивание.

Статус и платформа

codex-lcm — это бета-программное обеспечение для macOS. Оно полагается на хуки Codex и POSIX flock; Windows и Linux в настоящее время не поддерживаются и не заявляются.

Related MCP server: ClaudeX

Возможности

  • Живой захват: пользовательские подсказки, ответы ассистента и активность инструментов захватываются через хуки Codex.

  • Надёжное локальное хранилище: SQLite в режиме WAL хранит необработанные сообщения, структурированные части сообщений, сводки и индексы FTS5.

  • Иерархическое уплотнение: более старые сообщения становятся листовыми сводками; подходящие серии сводок могут быть сжаты в более глубокие узлы DAG. Исходные строки никогда не удаляются автоматически.

  • Восстановление контекста: активные сводки и самые новые несжатые сообщения внедряются при запуске сеанса в пределах строгого ограничения размера.

  • Локальный поиск: шесть инструментов stdio MCP обеспечивают лексический поиск, поиск недавних сеансов, проверку метаданных и постраничное разворачивание исходных данных.

  • Отказоустойчивые хуки: сбои захвата или уплотнения не блокируют ход выполнения Codex.

  • Контроль безопасности: редактирование секретов, блокировки уплотнения для каждого сеанса, атомарные записи сообщений/FTS, резервирование вызовов провайдера, проверки прогресса и приватные права доступа к файлам по умолчанию.

Установка из репозитория

python3 -m venv ~/.codex-lcm/venv
~/.codex-lcm/venv/bin/python -m pip install .
~/.codex-lcm/venv/bin/codex-lcm install
~/.codex-lcm/venv/bin/codex-lcm doctor

Перезапустите Codex после установки. Используйте /hooks в Codex для проверки и доверия установленным хукам.

Установщик объединяет записи codex-lcm в ~/.codex/hooks.json и ~/.codex/config.toml. Он создаёт резервные копии с метками времени перед изменением существующих файлов. Повторный запуск установщика идемпотентен.

Исходный код также включает scripts/install.sh, который выполняет ту же изолированную установку и проверку.

Необязательная LLM-суммаризация

На Python 3.11+ основной пакет не имеет сторонних зависимостей времени выполнения. Python 3.10 устанавливает совместимый бэкпорт tomli для безопасной обработки конфигурации TOML. Без LLM-клиента уплотнение использует детерминированное усечение по началу и концу.

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

~/.codex-lcm/venv/bin/python -m pip install ".[llm]"
export CODEX_LCM_API_KEY="..."

OPENAI_API_KEY также распознаётся. Используйте CODEX_LCM_BASE_URL или OPENAI_BASE_URL для конечной точки, совместимой с OpenAI. Настройки провайдера CODEX_LCM_* обрабатываются как пара и имеют приоритет как пара, поэтому глобальный ключ никогда не отправляется на ограниченную конечную точку. Если задан CODEX_LCM_BASE_URL, настройте также CODEX_LCM_API_KEY.

CLI

codex-lcm install                       Wire hooks and the MCP server into Codex
codex-lcm uninstall                     Remove codex-lcm wiring and keep stored data
codex-lcm status                        Show database statistics
codex-lcm doctor                        Verify package, database, hooks, and MCP wiring
codex-lcm compact --session <id>        Compact one session synchronously
codex-lcm compact --all                 Compact every recorded session synchronously

Удаление не удаляет ~/.codex-lcm/ или его базу данных.

Инструменты MCP

Инструмент

Назначение

lcm_status

Статистика базы данных и активного сеанса

lcm_grep

Буквальный и FTS5-лексический поиск по сообщениям и сводкам

lcm_recall

Ранжированный лексический поиск с ограниченным количеством результатов

lcm_expand

Просмотр исходных данных сводки или постраничное восстановление необработанных сообщений

lcm_recent

Сеансы, обновлённые в окне обратного просмотра UTC

lcm_describe

Метаданные сеанса или сводки

Поиск лексический, а не семантический: в этом выпуске нет заявлений о встраиваниях или векторной схожести.

Конфигурация

Конфигурация считывается из переменных окружения.

Переменная

По умолчанию

Назначение

CODEX_LCM_DB_PATH

~/.codex-lcm/codex-lcm.db

Путь к базе данных SQLite

CODEX_LCM_FRESH_TAIL

25

Новейшие необработанные сообщения, защищённые от уплотнения

CODEX_LCM_LEAF_CHUNK_TOKENS

20000

Максимальное оценочное количество токенов в листовом фрагменте

CODEX_LCM_LEAF_MIN_FANOUT

3

Активные листовые сводки, необходимые для конденсации

CODEX_LCM_CONDENSED_MIN_FANOUT

3

Активные более глубокие сводки, необходимые для конденсации

CODEX_LCM_MAX_ROUNDS

5

Раундов уплотнения за один запуск рабочего процесса

CODEX_LCM_MAX_SUMMARY_CALLS

12

Попыток обращения к провайдеру за сеанс и окно вызовов

CODEX_LCM_SUMMARY_CALL_WINDOW_MS

600000

Окно учёта попыток обращения к провайдеру

CODEX_LCM_SUMMARY_TIMEOUT_MS

60000

Тайм-аут запроса к провайдеру

CODEX_LCM_PROGRESS_THRESHOLD

0.10

Помечает запуск уплотнения как остановившийся ниже этого коэффициента экономии

CODEX_LCM_ADDITIONAL_CONTEXT_LIMIT

5000

Бюджет восстановления контекста в оценочных токенах

CODEX_LCM_COMPACTION_BACKLOG

5

Дополнительные несжатые сообщения, разрешённые перед запуском рабочего процесса Stop

CODEX_LCM_COMPACTION_MODEL

gpt-4.1-mini

Модель суммаризации листовых сводок

CODEX_LCM_CONDENSATION_MODEL

gpt-4.1

Модель конденсации

CODEX_LCM_API_KEY / OPENAI_API_KEY

Необязательные учётные данные провайдера

CODEX_LCM_BASE_URL / OPENAI_BASE_URL

Необязательная конечная точка, совместимая с OpenAI

CODEX_LCM_CAPTURE_TOOLS

1

Установите 0, чтобы отключить захват инструментов

CODEX_LCM_TOOL_INPUT_MAX_CHARS

2000

Длина предпросмотра входных данных инструмента для поиска

CODEX_LCM_TOOL_RESULT_MAX_CHARS

2000

Длина предпросмотра выходных данных инструмента для поиска

Каталог данных по умолчанию имеет режим 0700; база данных, боковые файлы WAL, файлы блокировок и журнал уплотнения имеют режим 0600 на системах POSIX.

Границы данных и безопасности

  • Редактирование выполняется до сохранения для известных ключей API, токенов, заголовков авторизации, назначений паролей/секретов, JWT и закрытых ключей PEM.

  • URL-адреса удалённых репозиториев Git, содержащие учётные данные, хранятся без информации о пользователе, параметров запроса или фрагментов.

  • Редактирование — это защита в глубину, а не гарантия распознавания всех возможных форматов секретов.

  • Полные отредактированные полезные данные инструментов могут по-прежнему содержать приватные данные диалогов или проектов. Соответственно защищайте локальную учётную запись и резервные копии базы данных.

  • Никакие данные не отправляются LLM-провайдеру, если не установлен дополнительный клиент и не настроены учётные данные провайдера или базовый URL.

  • Автоматическое хранение и удаление намеренно отсутствуют. Приложение не удаляет молча историю исходных данных.

Разработка

Используйте локальное окружение проекта; тестам никогда не нужен живой профиль Codex или база данных.

python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/python -m pytest -q
.venv/bin/python tests/smoke_test.py
.venv/bin/python tests/reliability_test.py
.venv/bin/python tests/package_test.py
.venv/bin/ruff check .
.venv/bin/bandit -q -r codex_lcm

Тестовый пакет собирается и устанавливается во временный домашний каталог и виртуальное окружение. Скрипты проверки и надёжности также используют временные базы данных.

См. DESIGN.md для модели хранения, инвариантов, потока хуков и поведения при сбоях.

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to maintain persistent, cross-session memory of codebase architecture, naming conventions, and decisions through MCP tools. Eliminates repetitive project re-explanation by automatically injecting stored context into every session with local-first SQLite storage and optional team sharing capabilities.
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Persistent memory + FTS5 full-text search for Claude Code conversation history. Indexes ~/.claude/projects/ JSONL into SQLite, exposes 10 MCP tools (store/recall/search memories, browse sessions, get summaries) plus prompts. Includes a web UI for visual exploration
    10
    89
    92
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Collects session JSONL from Codex and Claude Code into local SQLite memory, exposed through MCP with tools for memory context, search, get, put, forget, sleep, and status.

View all related MCP servers

Related MCP Connectors

  • A paid remote MCP for OpenAI Codex context compressor, built to return verdicts, receipts, usage log

  • Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).

  • Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mallet-Dev/codex-lcm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server