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: Codex Native Memory

機能

  • ライブキャプチャ: ユーザープロンプト、アシスタント応答、ツールアクティビティが Codex フックを通じてキャプチャされます。

  • 永続的なローカルストレージ: WAL モードの SQLite が、生のメッセージ、構造化されたメッセージパーツ、要約、FTS5 インデックスを保存します。

  • 階層的圧縮: 古いメッセージはリーフ要約になり、適格な要約の実行はより深い DAG ノードに凝縮できます。ソース行は自動的に削除されることはありません。

  • コンテキスト復元: アクティブな要約と最新の未要約メッセージが、厳密なサイズ制限内でセッション開始時に注入されます。

  • ローカル呼び出し: 6 つの 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 を再起動します。Codex で /hooks を使用して、インストールされたフックを検査し信頼します。

インストーラーは codex-lcm エントリを ~/.codex/hooks.json と ~/.codex/config.toml にマージします。既存のファイルを変更する前に、タイムスタンプ付きのバックアップを作成します。インストーラーを再度実行しても冪等です。

ソースのチェックアウトには scripts/install.sh も含まれており、同じ分離されたインストールと検証を実行します。

オプションの LLM 要約

Python 3.11 以降では、コアパッケージにサードパーティのランタイム依存関係はありません。Python 3.10 は、安全な TOML 設定処理のために tomli 互換バックポートをインストールします。LLM クライアントがない場合、圧縮は決定的な先頭/末尾の切り詰めを使用します。

OpenAI 互換の要約を有効にするには、オプションのエクストラをインストールし、資格情報を設定します:

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

OPENAI_API_KEY も認識されます。OpenAI 互換エンドポイントには CODEX_LCM_BASE_URL または OPENAI_BASE_URL を使用します。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 サイドカー、ロックファイル、圧縮ログは、POSIX システムではモード 0600 です。

データとセキュリティの境界

  • 既知の API キー、トークン、認証ヘッダー、パスワード/シークレットの割り当て、JWT、PEM 秘密鍵について、永続化の前に編集が行われます。

  • 資格情報を含む Git リモート URL は、ユーザー情報、クエリパラメータ、フラグメントなしで保存されます。

  • 編集は多層防御であり、考えられるすべてのシークレット形式が認識されることを保証するものではありません。

  • 完全な編集済みツールペイロードには、プライベートな会話やプロジェクトデータが含まれる場合があります。ローカルアカウントとデータベースのバックアップを適切に保護してください。

  • オプションのクライアントがインストールされ、プロバイダーの資格情報またはベース URL が設定されていない限り、LLM プロバイダーにデータは送信されません。

  • 自動保持と削除は意図的にありません。アプリケーションはソース履歴を黙って破棄しません。

開発

プロジェクトローカルの環境を使用してください。テストはライブの 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

Related MCP Connectors

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
  • 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.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Persistent memory for AI coding agents, storing decisions, bug fixes, conventions, and discoveries in a local SQLite database and automatically recalling them when relevant. Works with Claude Code, Codex, Cursor, Gemini CLI, and other MCP-compatible agents.
    22
    2
    MIT