HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Show HN: Engrim – AI CLI向けのユニバーサルなローカルファーストSQLiteメモリエンジン

Show HN: Engrim – A universal, local-first SQLite memory engine for AI CLIs (github.com)

68 pointsby timgordontg35 コメント

要約

Engrimは、AI CLI向けのローカルファーストなSQLiteメモリエンジンです。異なるAIモデルや環境間をプロジェクトの状態を失うことなく切り替え可能にし、コンテキストウィンドウの拡大に伴う注意散漫やコスト増大といった課題を解決します。SQLite FTS5とベクトル埋め込みを組み合わせたハイブリッド検索により、効率的なメモリ管理と迅速なコンテキストロードを実現します。

全文翻訳

[画像: CI](https://github.com/timgordontg/engrim/actions/workflows/ci.yml) [画像: PyPI](https://pypi.org/project/engrim/) [画像: Website](https://engrim.dev/) [画像: Python 3.10+](https://www.python.org/) [画像: License: MIT](https://github.com/timgordontg/engrim/blob/main/LICENSE) [画像: Local & Private](https://github.com/timgordontg/engrim#security-privacy) [画像: Glama MCP](https://glama.ai/mcp/servers/timgordontg/engrim)

AIモデルとAIエージェント間のユニバーサルなエピソードメモリ標準。

ローカルファーストでプロジェクトスコープのSQLiteメモリエンジンであり、開発者はアーキテクチャ上の決定、ユーザーの制約、プロジェクトの状態を失うことなく、同じコードベース上でモデルや環境(Google Antigravity, Claude Code, Cursor, Codex CLI, GitHub Copilot CLI, OpenCode, Windsurf)を自由に切り替えることができます。


1. 概要とコアバリュープロポジション

「毎回20万トークンの忘れられたノイズに料金を払うのはなぜか? モデルは使い捨てのユーティリティであり、プロジェクトの決定はそうではない。」

Engrim は、自律AIコーディングエージェントとヘビーなソフトウェア開発のために特別に設計された、ユニバーサルでクロスモデルのエピソードメモリ標準です。

これは、生のトランスクリプトの再生を4,000文字の高精度でキュレーションされたエピソードワーキングメモリに置き換えることで、「20万トークンのコンテキストウィンドウの罠」(コーディングモデルが深刻なアテンションの希薄化、ターンごとのトークンコストの増加、チャットセッションがクリアされるたびに過去のアーキテクチャ上の決定が失われる問題)を解決します。これは単一のローカルファーストSQLiteファイル(~/.engrim/memory.db)に保存されます。

問題点 vs Engrim標準
チャレンジEngrimなし(トークン過多とコンテキストリセット)Engrimあり(エピソードの連続性)
コンテキストウィンドウアテンションの希薄化: ターンごとに15万トークン以上を再送信。モデルは推論の鋭さを失い、過去の制約を幻覚する。高精度ワーキングメモリ: ~4,000文字(1,000トークン未満、コンテキストの1%未満)を起動時に注入。アテンションの希薄化ゼロ。
セッションクリア/clear時のコンテキストリセット: チャットをクリアするとエージェントのコンテキストがゼロにリセットされる。ルールやアーキテクチャを説明するのに数分かかる。Continue-As-Clear: いつでもクリア可能(/clear)。決定事項、アクティブな状態、[▶ RESUME HERE]が即座に再ロードされる。
エージェントエコシステムベンダーサイロ: Claude Codeで行われた決定は、Antigravity、Cursor、Codex、Copilot CLI、またはOpenCodeでは認識されない。ユニバーサル基盤: 全ての主要な6つのハーネスで共有される単一のローカルSQLiteストア(~/.engrim/memory.db)。
フックの信頼性サイレント障害: マシンやOSを移動すると、エラーメッセージなしにハードコードされたバイナリパスがサイレントに壊れる。自己修復診断: engrim doctor --fixは、サポートされているフックとMCPの設定をチェックし、古いバイナリパスを修復する。
データプライバシーSaaSクラウド漏洩: プロプライエタリなコードとアーキテクチャ上の制約が、サードパーティのメモリAPIに送信される。100%ローカル&プライベート: SQLite WALモード(POSIX 0600)でローカルに保存。テレメトリなし、クラウド同期なし、トラッキングなし。

2. アーキテクチャと仕組み(10秒メンタルモデル)

graph TD
    subgraph Agents ["Supported Agent Environments"]
        AGY["Google Antigravity<br/>(PreInvocation & Stop Hooks)"]
        CLAUDE["Claude Code<br/>(SessionStart & Stop Hooks)"]
        CURSOR["Cursor / Windsurf<br/>(Model Context Protocol stdio)"]
        CODEX["Codex CLI<br/>(Hooks, guidance & optional MCP)"]
        OPENCODE["OpenCode<br/>(Plugin & MCP)"]
        COPILOT["GitHub Copilot CLI<br/>(Command hooks & MCP)"]
    end

    subgraph CoreEngine ["engrim Core Engine (v1.4.11)"]
        ADAPTERS["Adapters & Lifecycle Hooks<br/>(agy, claude, opencode, copilot, mcp)"]
        DOCTOR["Health & Diagnostic Engine<br/>(engrim doctor --fix)"]
        PROVENANCE["Agent Provenance Engine<br/>(origin_agent tracking)"]
        ROUTER["Hybrid Retrieval & Minder<br/>(bm25 lexical + vector cosine)"]
    end

    subgraph Storage ["Local-First SQLite Store (~/.engrim/memory.db)"]
        MEMORIES[("Curated Memories<br/>(decisions, facts, feedback)")]
        FTS5["FTS5 Full-Text Search<br/>(porter stemmer, triggers)"]
        VEC["Vector Embeddings<br/>(model2vec static embeddings)"]
        LOG["Flight Recorder Log<br/>(turns + action lines)"]
    end

    AGY <-->|"hook / CLI"| ADAPTERS
    CLAUDE <-->|"hook / CLI"| ADAPTERS
    CURSOR <-->|"JSON-RPC (stdio)"| ADAPTERS
    CODEX <-->|"command hook / MCP"| ADAPTERS
    OPENCODE <-->|"plugin / MCP"| ADAPTERS
    COPILOT <-->|"command hook / MCP"| ADAPTERS
    ADAPTERS --> PROVENANCE
    PROVENANCE --> ROUTER
    ROUTER --> MEMORIES
    MEMORIES --- FTS5
    MEMORIES --- VEC
    ADAPTERS --> LOG

ロード時

  1. ブート: エージェントが起動するかプロンプトが送信されると、engrimは最優先メモリパック(約4k文字)をエージェントのコンテキストに注入し、[▶ RESUME HERE]を先頭に表示します。
  2. キャプチャ: エージェントが作業する際、MCP(engrim_add)またはライフサイクルフックを通じてアーキテクチャ上の決定を自動的に記録し、origin_agentの来歴を追跡します。
  3. リコール&マイダー: ハイブリッドレキシカル(bm25)+ベクトル(model2vec)検索が、エージェントを遅延させることなく約30ミリ秒で関連レコードをオンデマンドで取得します。
  4. Continue-As-Clear: コンテキストが過剰になったり、モデルがドリフトしたりした場合は、/clearと入力します。次のセッションはmemory.dbからメモリ損失ゼロで起動します。

3. マルチエージェントクイックスタート

インストール
pip install engrim
自動検出(推奨)

引数なしでengrim setupを実行します。これにより、ローカルマシンにインストールされている環境が自動的に検出され、すべて設定されます。

engrim setup
  • ~/.geminiが存在する場合 → Antigravityのライフサイクルフック、スキル、MCPサーバーを接続します。
  • ~/.claudeが存在する場合 → Claude CodeのSessionStart、Stop、ステータスライン、CLAUDE.mdを接続します。
  • ~/.cursorが存在する場合 → Cursor MCP設定を生成してマージします。
  • ~/.codexが存在する場合 → Codex CLIネイティブコマンドフックと管理対象のグローバルAGENTS.mdガイダンスを接続します。MCPはオプトインのままです。
  • ~/.config/opencodeが存在する場合 → OpenCodeプラグインを書き込み、MCPサーバーを登録し、AGENTS.mdノートを追加します。
  • ~/.copilotが存在する場合 → Copilot CLIフックとEngrimステータスラインを接続し、MCPサーバーを登録し、copilot-instructions.mdノートを追加します。

診断ヘルスチェックと自己修復(engrim doctor)

データベースの整合性、セマンティックリコールカバレッジ、およびシステム全体で設定されているすべてのエージェントフックを確認します。

# すべてのエージェント環境で包括的なヘルス診断を実行
engrim doctor

# 古いバイナリパスやクロスOS移行を自己修復PATHフォールバックで自動修復
engrim doctor --fix

# 診断レポートをJSONとして出力(CIパイプラインまたはヘルスモニタリング用)
engrim doctor --json

実際の出力:

================================================================================
                 🩺 ENGRIM DOCTOR: DIAGNOSTIC HEALTH CHECK                    
================================================================================
Platform   : linux (x86_64) · Python 3.12.3
Engrim CLI : /home/user/.local/bin/engrim
Project    : /workspace/my-project

[1] Database & Storage Engine
  ✓ Store Location   : /home/user/.engrim/memory.db
  ✓ Integrity Check  : ok
  ✓ Journal Mode     : wal (WAL)
  ✓ Curated Memories : 956 active / 1057 total
    (decision=413, fact=178, feedback=47, reference=20, state=283, user=15)
  ✓ Flight Log Turns : 48501 logged

[2] Semantic Recall Engine
  ✓ Model Available  : model2vec:minishlab/potion-base-8M
  ✓ Embedded Records : 1032 / 956

[3] Agent Environments & Hooks
  Google Antigravity (~/.gemini):
    ✓ PreInvocation hook: valid
    ✓ Stop hook: valid
    ✓ MCP server: /home/user/.local/bin/engrim (valid)
    ✓ Skill deployed: yes
  Claude Code (~/.claude):
    ✓ SessionStart hook: valid
    ✓ SessionEnd hook: valid
    ✓ Stop hook: valid
    ✓ UserPromptSubmit hook: valid
  Codex CLI (~/.codex):
    ✓ SessionStart hook: valid
    ✓ SessionEnd hook: valid
    ✓ Stop hook: valid
    ✓ UserPromptSubmit hook: valid
    ✓ Managed AGENTS.md guidance: present
    • MCP registration: optional, not configured
  GitHub Copilot CLI (~/.copilot):
    ✓ sessionStart hook: valid
    ✓ userPromptSubmitted hook: valid
    ✓ agentStop hook: valid
    ✓ MCP server: /home/user/.local/bin/engrim (valid)
    ✓ Status line: configured

================================================================================
Result: All systems healthy. Zero issues detected across all agent hosts.
================================================================================
  • 自己修復パスフォールバック: フックコマンドはポータブルなPATHフォールバック(<bin> || engrim ... || true)を備えており、ディレクトリの移動やドットファイルの同期でセッションがサイレントにフック障害を起こすのを防ぎます。
  • ディープ整合性監査: SQLite WALモード、データベースの一貫性(PRAGMA integrity_check)、アクティブなレコード、セマンティックモデルの準備状況(model2vec)を検証します。

明示的なプラットフォーム設定
🪐 Google Antigravity
engrim setup --agy
  • ~/.gemini/config/hooks.jsonを設定し、PreInvocation時にengrim hook --agent agy --event boot、Stop時にengrim hook --agent agy --event stopを実行するようにします。
  • 標準的なAntigravityスキルを~/.gemini/config/skills/engrim/SKILL.mdにデプロイします。
  • MCPサーバーを~/.gemini/antigravity-cli/mcp_config.jsonおよび~/.gemini/config/mcp_config.jsonに登録します。
🟣 Claude Code
engrim setup --claude
  • ~/.claude/settings.jsonでSessionStart、SessionEnd、Stop、UserPromptSubmitフックを接続します。
  • Claude Codeのステータスバーにライブアンビエントステータスラインを設定します。
  • メモリ使用量のノートを~/.claude/CLAUDE.mdに追加します。
⚡ Cursor & Windsurf
engrim setup --cursor
  • engrimを~/.cursor/mcp.jsonに追加し、engrim serve --mcpを実行します。

Windsurfの場合、~/.codeium/windsurf/mcp_config.jsonにengrimを追加します。

{
  "mcpServers": {
    "engrim": {
      "command": "engrim",
      "args": ["serve", "--mcp"]
    }
  }
}
💻 Codex CLI
engrim setup --codex
  • $CODEX_HOME/hooks.json(デフォルトでは~/.codex)でSessionStart、SessionEnd、Stop、UserPromptSubmitコマンドフックを接続します。
  • $CODEX_HOME/AGENTS.mdにEngrim所有のブロックを追加または更新します。既存の指示とシンボリックリンクは変更されません。ファイルに既にマークのない## Project Memory (engrim)セクションがある場合、セットアップはそれをユーザー所有とみなし、重複を追加しません。空でないAGENTS.override.mdは変更されませんが、セットアップはそれがガイダンスをシャドウすることを警告します。
  • ローカルのengrim CLIを直接呼び出すため、MCPは不要です。フックはCodexの/hooksコマンドでレビューし、信頼してから実行する必要があります。

engrim_*ツールをCodexに公開するには、オプションのMCPサーバーを有効にします。

engrim setup --codex-mcp
# 相当: engrim setup --codex --codex-mcp

これはCodexのサポートされているcodex mcp addコマンドを使用し、無関係なconfig.toml設定を保持します。/mcpを使用してサーバーを確認し、新しいCodexセッションを開いてフックとガイダンスをロードします。

engrim uninstall --codexはEngrimフック、管理対象ガイダンスブロック、およびmcp_servers.engrimエントリのみを削除します。他のすべてのCodex設定と指示は保持されます。

🤖 GitHub Copilot CLI
engrim setup --copilot
  • ~/.copilot/hooks/engrim.json($COPILOT_HOMEを尊重)を書き込みます。これはengrimが完全に所有するファイルなので、他のフックファイルが書き直されることはありません。
    • sessionStart → メモリパックがadditionalContextとして返され、最初のプロンプトの前に新しいセッションに注入されます。
    • userPromptSubmitted → プロンプトがフライトレコーダーログに記録されます。Copilot CLIはこのイベントでコマンドフックの出力を破棄するため、このフックは何も注入しません。
    • agentStop → アシスタントメッセージは、指定されたevents.jsonlトランスクリプトパスから読み取られ、フライトレコーダーログに追加されます。
  • ~/.copilot/mcp-config.jsonにmcpServers.engrim(engrim serve --mcp)を登録し、engrim_*ツールを公開します。エージェントへの書き込みは自動的にcopilotに帰属すると記録されます。
  • ~/.copilot/settings.jsonにengrim statuslineを設定し、ライブでキュレーションされた、ログに記録された、実行中の、クリア安全なカウントを提供します。既存のカスタムステータスラインは保持されます。
  • 使用上の注意を~/.copilot/copilot-instructions.mdに追加します。

フックエントリはCopilotのexec + args形式を使用しており、シェルを介さずにバイナリを直接実行するため、スペースやバックスラッシュを含むパスは引用符で囲む必要がありません。フック設定は起動時に読み取られます。セットアップ後に新しいセッションを開いてください。

CopilotはagentStopが開始された直後に最終アシスタントイベントをフラッシュできるため、Engrimは短時間ポーリングし、次のセッション開始時に後続のテールを回復します。イベントファイルスキーマは公開されているCopilot互換性契約ではありません。Engrimは互換性のない既知のレコードを検出しますが、トランスクリプトコンテンツを診断に含めず、フックを通じて一度警告し、互換性のあるパスが成功するまでengrim doctorを通じて永続的な問題を報告します。

🟩 OpenCode
engrim setup --opencode

OpenCodeにはシェルフックがないため、engrimはプラグインとMCPサーバーとして提供されます。

  • ~/.config/opencode/plugins/engrim.js($XDG_CONFIG_HOMEを尊重)を書き込みます。プラグインは各ライフサイクルモーメントでengrim hook --agent opencodeを呼び出します。
    • セッションブート → メモリパックがシステムプロンプトに注入されます(セッションごとに1回、およびコンパクション後にもう1回)。
    • すべてのプロンプト → マイダーは、そのメッセージに関連する少数のレコードを取得し、そのユーザーメッセージに添付します。システムプロンプトには決して添付しないため、プロバイダーのプロンプトキャッシュ(vLLMプレフィックスキャッシュ、Anthropicプロンプトキャッシュ)はターン間でウォームに保たれます。
    • セッションアイドル → セッションの新しいユーザー/アシスタントターンがフライトレコーダーログに記録されます(冪等、OpenCodeメッセージIDでキー付け)。
    • コンパクション → コンパクションプロンプトには、永続メモリがengrimに存在し、キャプチャされていない決定事項をリストするように指示され、それらがengrim_addされるようになります。
  • ~/.config/opencode/opencode.jsonにmcp.engrim(engrim serve --mcp)を登録し、engrim_*ツールをエージェントに公開します。
  • 使用上の注意を~/.config/opencode/AGENTS.mdに追加します。
OpenCodeトランスクリプトストア vs Engrim

opencode.dbはOpenCode専用の生のトランスクリプト(セッション、メッセージ、パート)を保存します。Engrimは、すべてのツール間で来歴を追跡する、クロスツールエピソードメモリエンジンを提供します。

  • クロスハーネス連続性: OpenCode、Claude Code、Codex CLI、Cursor、またはAntigravity間で、単一の~/.engrim/memory.dbを使用して同じコードベースで切り替えます。
  • キュレーションされたエピソード状態: /new、セッション削除、コンパクションを生き残るタイプ化されたレコード(decision、fact、state)を保持します。
  • モデル駆動型検索: ハイブリッドFTS5 +ベクトル検索(engrim_recall)と、クロスエージェント来歴(origin_agent)を持つプロンプトごとのマイディング。
🐙 GitHub Agentic Workflows (gh-aw)

GitHub Agentic Workflows内のengrimについては、examples/gh-aw/を参照してください。アーティファクトとengrim mergeを介した実行間のメモリ、および自動コンパクションの代わりにContinue-as-Clear再起動。

全プラットフォーム
engrim setup --all

--allはCodexフックとガイダンスを設定しますが、Codex MCPサーバーはオプトインしません。そのツールインターフェースが必要な場合は、明示的に--codex-mcpを追加してください。(任意のセットアップコマンドで--dry-runを使用すると、ディスクに書き込まずに変更をプレビューできます)。


4. 実証的証拠(105セッションのケーススタディ)

50,000行のアルゴリズム取引システムで105回の連続セッションを通じてテスト。186の単体テストで回帰ゼロ、モデル切り替えでコンテキスト損失ゼロ。

実際の資金を運用するアクティブなアルゴリズム取引コードベースでの本番テストにおいて:

  • 数日間にわたるアーキテクチャ、パラメータチューニング、デバッグ作業の153,000トークン以上が、1,000トークン未満(コンテキストウィンドウの1%未満)のアクティブメモリパックに統合されました。
  • これは、セッション再起動ごとに99%以上のリロードコンテキストコスト削減を意味します。
  • Google Antigravity CLI、Claude Code、Cursorの間で、同一リポジトリ上でモデルドリフトやアーキテクチャ回帰ゼロでシームレスに切り替えました。

5. エージェント来歴追跡

複数のエージェントが単一のコードベースで協力する場合、来歴は重要です。engrimはorigin_agentフィールドで各メモリエントリの出所を記録します。

  • 許可される値: antigravity, claude-code, cursor, codex, opencode, copilot, cli, または user。
  • アクティブなフック、MCPクライアント、またはCLIセッションに基づいて自動的に設定されます。
  • engrim contextおよびengrim listで微妙に表示されます。
🧠 engrim · このプロジェクトのためにメモリが復元されました: 再説明する必要はありません · /workspace
  ロードされたキュレーション済みレコード18/54(約3850文字) · 残りは`recall`で取得可能

[DECISION]
- #961 [DECISION] (Antigravity経由): 高ボラティリティ向けに逆指値注文行列を反転 (risk, execution)
- #942 [DECISION] (Claude Code経由): プライマリデータベースをMongoDBからPostgreSQLに変更 (db, schema)
- #910 [DECISION] (Cursor経由): API境界全体でPydantic v2スキーマを標準化 (api, types)

既存のデータベースは、初回アクセス時にALTER TABLE memories ADD COLUMN origin_agent TEXTを通じて非破壊的に移行されます。


6. ハード化されたモデルコンテキストプロトコル(MCP)サーバー

ゼロ依存のJSON-RPC 2.0 stdio MCPサーバーを起動します。

engrim serve --mcp
# または: engrim mcp

stdoutは厳密にJSON-RPCメッセージ用に予約されており、すべての診断ログはstderrにリダイレクトされます。

公開されるコアMCPツール:
ツールシグネチャ目的
engrim_recall(query: str, project: str = "auto", k: int = 5, type: str = None, tag: str = None)プロジェクトメモリをハイブリッドランキングで検索(オプションでタイプまたはタグでフィルタリング)。
engrim_add(type: str, summary: str, detail: str = None, tags: list[str] = [])セッションをまたいで永続化される耐久性のあるメモリレコードを書き込みます。
engrim_context(project: str = "auto", budget: int = 4000)文字予算内でセッションブートメモリパックを取得します。
engrim_review(project: str = "auto")クリアする前に、トランスクリプトログからキャプチャされていない決定事項を確認します。

engrim_reviewは、プロジェクトにトランスクリプトログがない場合、safe_to_clear: null(不明)を返します。ログに記録されたターンがある場合、開発者が/clearを実行する前に、キャプチャされていないアーキテクチャ上の決定が存在するかどうかを評価します。


7. CLIリファレンス

コマンド使用法説明
engrim addengrim add -t decision -s "..." [--origin-agent agy]メモリレコードを挿入します(タイプ: decision, fact, feedback, state, user, reference)。
engrim recallengrim recall -q "database" [--tag auth]プロジェクトのランク付けされたハイブリッドリコール(--tagはタグでフィルタリング、--logは生のターンを検索)。
engrim contextengrim context [-b 4000]優先順位付けされた、予算制限付きのセッションブートパック。
engrim doctorengrim doctor [--fix] [--json]SQLite、セマンティックエンジン、およびフック全体での包括的なヘルス&環境診断(--fixはパスを自動修復)。
engrim hookengrim hook --agent agy --event bootClaude Code、Antigravity、Codex、Copilot CLI、OpenCode用のエージェントライフサイクルフックランナー(`--agent opencode --event boot
engrim setup`engrim setup [--agy--claude
engrim serveengrim serve --mcpエージェント統合用のstdio MCPサーバーを起動します。
engrim reviewengrim review [--strict]「クリアしても安全か」のカバレッジチェック:キャプチャされていない決定事項がないかログをスキャンします(--strictはキャプチャされていない場合に2で終了)。
engrim prune`engrim prune [--keep-days <N>--all
engrim listengrim list [-k 20] [--tag auth]現在のプロジェクトの最近のメモリをリストします(--tagをサポート)。
engrim project`engrim project [-p PROJECT--global
engrim projectsengrim projects [--json]全プロジェクトのカウント:engrim project --allと同じです。
engrim supersedeengrim supersede --id 12 --status superseded履歴を消去せずにレコードを「superseded」としてマークします。
engrim retireengrim retire [--all] [--dry-run] [--json]アクティブなresume-pointerレコードが完了したら「done」としてマークします(決して消去しません)。
engrim syncengrim sync [DIR]Markdownメモリをストアにミラーリングします(冪等、一度だけシード)。
engrim mergeengrim merge OTHER.db [--dry-run]他のストアのレコードをこのストアに折り込みます(コンテンツキー、冪等、リタイアメントは引き継がれます)。
engrim backupengrim backup COPY.db [--force] [--json]SQLiteのオンラインバックアップAPIを使用したストアの一貫したコピー(エージェントがオープンしている間は安全)。

8. Continue-As-Clearワークフロー

  1. 作業しながらキャプチャ: 主要な決定やアーキテクチャ上の制約が確立されたら、それをメモリに保存します。接続されたエージェントはengrim_addを通じて自動的にこれを行い、または手動でengrim addを実行できます。
  2. resume-pointerを使用: セッションを終了するかクリアする前に、次のタスクを説明するresume-pointerタグ付きレコードを追加します。最も新しいポインタは、次のセッションのブートパックの先頭にある[▶ RESUME HERE]の下にピン留めされます。その作業が完了したら、engrim retireでポインタをdoneとしてマークし、完了したタスクが将来のパックをリードしないようにします。
  3. engrim reviewで確認: クリアする前に、すべての最近の決定がキャプチャされていることを確認します。
  4. 自由にクリア(/clear): セッションウィンドウがクリアされます。engrimは次のプロンプトまたは呼び出し時にアクティブなメモリパックを自動的に再注入し、コンテキストの損失はゼロです。

9. オープンコアアーキテクチャ:ローカル vs エンタープライズ

Engrimは、オープンソースのシングル開発者生産性とエンタープライズインフラストラクチャの間に、厳格で透明なアーキテクチャ境界を維持します。

機能Engrimオープンソース(無料、MIT)Engrimエンタープライズ(VPC内商用)
ターゲットユーザー個人開発者とローカルコーディングエージェントエンジニアリングチームと自律CI/CDパイプライン
ストレージ基盤100%ローカルSQLite WAL(~/.engrim/memory.db)VPC内高スループット状態コレクターとチームリポジトリ
検索エンジンハイブリッドFTS5 bm25 + model2vec(CPU、約30ms)組織全体のセマンティック検索とマルチテナントインデックス作成
エージェントサポートAntigravity, Claude Code, Codex, Copilot CLI, OpenCode分散コンテナフリートと自律CIステートマシン
整合性とヘルスengrim doctor診断と自己修復フックコミット前AST不変量アービターと決定論的検証
セキュリティとコンプライアンスPOSIX 0600所有者権限、オフラインシークレットとPIIスクラバー、暗号化されたマーケルコンプライアンス台帳
コラボレーションローカルマージとバックアップ(engrim merge/backup)マルチ開発者チームメモリフェデレーションとLinearグレードのWeb UI

10. Engrimはどのように比較されますか?

  • gbrain vs: gbrainはプロバイダーに依存しないメモリツールですが、engrimは軽量なローカルファーストSQLiteアーキテクチャで差別化を図っています。クラウドインフラストラクチャや複雑なデーモンセットアップを必要とせず、CPU上で完全に動作します。
  • OpenCode & Codex内部ストア vs: それらの組み込みSQLiteデータベースは、単一ツールにロックされたトランスクリプト(セッション、生のメッセージパート、損失のあるコンパクション要約)を保存します。engrimは、すべてのツール間で来歴を追跡するクロスツールエピソードメモリエンジンです。OpenCodeプラグインを使用すると、engrimは競合するのではなく、永続メモリレイヤーとして機能します。
  • Pi / Personal Companions vs: コンパニオンツールはソーシャル会話履歴に焦点を当てています。engrimはソフトウェアエンジニアリングプロジェクトのために特別に設計されており、アーキテクチャ上の決定、不変の制約、技術的な状態を保持します。

11. セキュリティとプライバシー

  • 100%ローカル&オフライン: すべてのメモリレコードとフライトレコーダーログは、ローカルSQLiteファイル(~/.engrim/memory.db)に存在します。テレメトリなし、クラウド同期なし、トラッキングなし。
  • CPUのみのベクトル推論: model2vecを使用して静的埋め込みを生成します(約30msのロード時間、GPU不要、CPUで実行)。純粋なレキシカル(ENGRIM_EMBED=off)で実行でき、追加の依存関係は一切ありません。
  • POSIX所有者権限: データベースは制限された所有者のみの権限(0600)で作成されます。
  • Gitセーフ: *.dbはデフォルトでgitignoreされており、メモリが公開バージョン管理に誤ってコミットされることはありません。

12. プロジェクトと著者について

Engrim は Tim Gordon(@timgordontg)によって作成されました。

Timは、エージェントエピソードメモリのための決定的なオープンソース標準を確立し、開発者にベンダーロックインからの完全な自由を与えるためにEngrimを構築しました。

エンタープライズライセンス、アドバイザリー、パイロット展開、またはカスタムエージェント統合については、timgordontg@gmail.comまでご連絡ください。


13. ライセンス

MIT © 2026 Tim Gordon。