rawmem について
rawmemは、AIや人のワークフローを対象とするローカル優先の追記型エビデンス台帳です。共通形式で活動記録を収集し、MCP経由の参照は範囲限定の読み取り専用で、記憶への変換とは分離されています。
主な機能
- 01セッション、コマンド、ファイル変更の受動収集
- 02ブラウザー、クリップボード、手動記録に対応
- 03追記型JSONLイベント台帳
- 04ハッシュチェーンと台帳の整合性検証
- 05MCPでの読み取り専用ステータスと最近のイベント
活用シーン
- 01複数のコーディングツールのセッション記録を集約
- 02Git操作とファイル変更を追跡
- 03ブラウザーページや手動メモを保存
- 04カーソル指定でイベントをエクスポートし台帳を検証
MCP 対応
rawmem-mcpは、パスを含まないステータス、件数を制限した最近のイベント、アーカイブメタデータをMCPクライアントに公開します。既定では要約のみを返し、生の本文にはread:fullスコープが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
rawmem
rawmem は、AI と人間のワークフロー向けの、小規模なローカルファーストのエビデンス台帳です。
その考え方は、意図的にシンプルです。
今保存し、理解するのは後で。
AI のメモリシステムは、要約から始めることがよくあります。rawmem は、その一段下から始めます。
追記専用の生のエビデンスです。チャットのやり取り、2px の UI 調整、バグ修正、コマンドの実行、
git スナップショット、ブラウザーでのクリップ、コーディングエージェントによる完了処理は、すべて同じ種類のローカルイベントになります。
明確な境界があります。記録と想起は別物です。台帳はソースレイヤーです。 レビュー、フィルタリング、MemoryDSL への変換、好みの抽出、プロジェクトルールの生成は、後から行えます。
これが存在する理由
小さな事実は、単独ではノイズに見えます。時間やプロジェクトをまたいで繰り返されると、パターンになります。
- 「このアイコンは小さすぎます。2px 大きくしてください。」
- 「AI がまたデスクトップパッケージの更新を忘れました。」
- 「このプロジェクトでは、追記専用のバグ記録が好まれます。」
- 「同じ種類の境界バグが、3 つのリポジトリで発生しました。」
ディスクは安価です。履歴が失われると、その代償は大きくなります。
インストール
プログラミングが初めての方は、Windows アプリ(EXE)を選んでください。 EXE は、ダブルクリックして開く Windows プログラムです。実行に Python のインストールやターミナルコマンドは必要ありません。
| 対象 | 選択肢 | 必要条件 |
|---|---|---|
| グラフィカルアプリを使いたい Windows ユーザー | Windows EXE プレビュー | ビルド済みの rawmem.exe。Python は不要です |
| コマンドや統合機能を使いたい開発者 | Python CLI | Python 3.10+ と、以下のソースインストールで使用する Git |
どちらか一方を選んでください。両方を使う必要はありません。新しい EXE プレビューは、現在ダウンロード可能なリリースがありません。 先に開発者がソースからビルドする必要があります。プログラミングに慣れていない方は、以下の Python コマンドを実行する代わりに、EXE のリリースをお待ちください。
Windows アプリ(EXE プレビュー)
ビルド済みの rawmem.exe を用意したら、ダブルクリックして起動し、保存フォルダーを選択し、ログオン時に起動するかどうかを決めてから、クリックして記録を開始します。ブラウザーからの保存には、オプションの拡張機能が必要です。設定とビルドの手順については、Windows レコーダーをご覧ください。このプレビューには署名がなく、拡張機能のインストールにも、開発者モードでの手動操作が必要です。
Python CLI(開発者向け)
EXE を使う方は、このセクションをスキップできます。Python 3.10+ と Git をインストールしたら、PowerShell で次のコマンドを実行します。
git clone https://github.com/Liyuan1992/rawmem.git
cd rawmem
python -m pip install --user -e .
コアランタイムにサードパーティー依存関係はありません。DeepSeek Harness の圧縮セッション記録と MCP サーバーは、オプションの追加機能です。
python -m pip install --user -e ".[deepseek-harness,mcp]"
リポジトリをクローンせずに、公開済みの v0.7.1 ホイールをインストールするには、次のコマンドを実行します。
python -m pip install "rawmem[deepseek-harness,mcp] @ https://github.com/Liyuan1992/rawmem/releases/download/v0.7.1/rawmem-0.7.1-py3-none-any.whl"
ユーザーの Scripts
ディレクトリ(例:%APPDATA%\Python\Python312\Scripts)が PATH に含まれていることを確認してください。そうすれば、どのディレクトリからでも rawmem を実行できます。
初回セットアップ
rawmem setup --global --install-startup --dry-run # inspect first; writes nothing
rawmem setup --global --yes # global config + git hooks for all repos
rawmem setup --install-startup --yes # run the daemon headless at every logon
rawmem setup --start-daemon # start it right now
rawmem config --show-browser-token # paste into the browser extension options
rawmem doctor # verify the complete installation
これ以降、デーモンは Claude Code、Codex、Cursor のセッションを受動的に追跡し、PowerShell の履歴を追跡し、設定済みディレクトリを監視して、ブラウザーキャプチャ用のエンドポイントを提供します。イベントごとにユーザーが操作する必要はありません。クリップボードのポーリングは利用できますが、デフォルトでは無効です。設定または rawmem config --include-clipboard を使って明示的に有効にしてください。
基本方針は、自己申告より受動的な記録を優先することです。エージェントが報告を覚えていて送信するのではなく、他のツールがすでに書き込んでいるログからエビデンスを取得します。
セットアップの全項目とブラウザー拡張機能については、docs/SETUP.mdをご覧ください。
DeepSeek Harness の記録と、範囲を限定した読み取り専用 MCP アクセスについては、docs/DEEPSEEK_HARNESS.mdをご覧ください。

コマンド
バックグラウンドでのキャプチャ(主な方法):
rawmem daemon # run all background surfaces in one process
rawmem daemon --status # task counters, errors, last run times
rawmem doctor # config, storage, daemon, token, startup, hooks, events
rawmem doctor --strict # warnings also produce a nonzero exit code
rawmem sync # one manual tailer pass
rawmem sync --backfill # first run: also ingest existing history
rawmem config --disable-clipboard
rawmem config --rotate-browser-token
インテグレーションをプレビューまたは削除します:
rawmem setup --global --install-startup --dry-run
rawmem uninstall --dry-run
rawmem uninstall # disables integrations; keeps ~/.rawmem
rawmem uninstall --remove-home --yes # also deletes the ledger and local state
台帳を確認します:
rawmem tail --limit 10
rawmem tail --source claude-code --limit 5
rawmem tail --project rawmem --type agent_user_turn --json
rawmem verify --json
rawmem export --cursor-file .rawmem\consumer-cursor.json --limit 100
rawmem seal --yes --json # unchanged read-only archive + linked active ledger
rawmem archives --json # metadata-only derived archive registry
rawmem export --archive .rawmem\archives\old.jsonl # explicit; metadata-only default
rawmem export は安定した rawmem.cursor.v1 コントラクトを使用し、台帳全体を読み込む必要はありません。カーソルは台帳の識別情報とバイトオフセット、境界ハッシュに結び付けられているため、切り詰め、置換、ローテーションが発生した場合は、証拠を黙ってスキップしたり重複させたりせず、明示的に報告されます。docs/LEDGER_PROTOCOL.md を参照してください。
rawmem verify は厳密に読み取り専用です。ロックや状態のサイドカーを作成または更新することはありません。rawmem seal は過去のバイト列を変更せず、検証レポート全体と、受け入れた previous_hash_mismatch をすべて記録し、Windows では古い台帳を読み取り専用にして、同じ設定パスにチェーンが完全なアクティブ台帳を作成します。アーカイブの読み取りには --archive が必要です。結果を返す前にアーカイブ全体のハッシュを計算し、デフォルトでは本文を含まないメタデータの投影を返して、記録された整合性の警告を提示します。
手動およびスクリプトによるキャプチャ:
rawmem capture --source manual --type note --text "First rawmem event"
"The button should be 2px larger." | rawmem capture --source clipboard --type ui_feedback --stdin
rawmem ingest --file event.json
"Selected page text" | rawmem clip --stdin --url "https://example.com"
rawmem run --source terminal -- python --version
rawmem git-snapshot
現在の対応範囲
キャプチャでは、古い設定に max_chars が残っている場合も含め、対応するテキストを文字数制限なしで完全に保持します。ソースのバッチサイズは処理上の予算であり、完全なレコードを分割することはありません。ブラウザーキャプチャでは、明示的なクリック時に読み込み済みのドキュメントのみを保存し、非表示の履歴は取得しません。
| 対象 | 方法 | 台帳に記録される内容 |
|---|---|---|
| Claude Code のセッション | デーモンテーラー(手間なし) | ユーザー/アシスタントのターン、プロジェクト、セッション、ブランチ |
| Codex のセッション | デーモンテーラー(手間なし) | ユーザー/アシスタントのターン、プロジェクト、セッション |
| Cursor エージェントのトランスクリプト | デーモンテーラー(手間なし) | ユーザー/アシスタントのターン、ワークスペース、セッション |
| DeepSeek Harness のセッション | オプトイン式デーモンテーラー(セットアップ後は手間なし) | ユーザー/モデルの直接のターン。ツール名/ID/ステータスのメタデータのみ |
| WorkBuddy のローカル履歴 | オプトイン式デーモンテーラー(デスクトップのセットアップで有効化) | 5.1 形式の JSONL メッセージテキストとソースの識別情報 |
| OpenClaw のローカル履歴 | オプトイン式デーモンテーラー(デスクトップのセットアップで有効化) | 従来の JSONL および新しい SQLite トランスクリプトのメッセージ。共有識別情報による重複排除 |
| シェルコマンド | PSReadLine 履歴のデーモンテーラー | 完了したすべてのコマンドライン |
| クリップボード | デーモンポーラー(重複排除、オプトイン式) | クリップボードのテキスト変更 |
| すべてのリポジトリの Git ライフサイクル | setup --global --yes の core.hooksPath フック | コミット/チェックアウト/マージ/書き換え/プッシュのスナップショット |
| ファイル変更 | デーモンウォッチャー | 作成/変更/削除されたパスのバッチ |
| ブラウザーページ | MV3 拡張機能(extension/)+トークン保護された localhost エンドポイント | 選択範囲またはページテキスト、タイトル、URL |
| 任意のアダプター/ツール | ingest / POST /capture | JSON イベントペイロード |
| 手動メモ | capture / clip / run | 生テキスト、タグ、アーティファクト、コマンドの結果 |
ストレージ
デフォルトでは、イベントは次の場所に書き込まれます。
~/.rawmem/events.jsonl
現在のプロジェクト専用の台帳に書き込むには、--local を使用します。
.rawmem/events.jsonl
明示的な台帳パスには、--ledger <path> または RAWMEM_LEDGER を使用します。
キャプチャポリシーは ~/.rawmem/config.json の privacy で設定します。プロジェクト/パスの許可リストは任意で設定でき、設定した場合は安全側に失敗します。一般的なシークレットの形式は追記前に編集され、アーティファクトはデフォルトでコンテンツを埋め込まず、メタデータ参照として扱われます。デーモンのステータスと rawmem doctor では、キャプチャしたテキストを出力せずに、ソースの対応状況、スキップされたイベント、編集、カーソルの状態を確認できます。
生の証拠には、プライベートなテキスト、パス、コマンド出力、ローカルの作業コンテキストが含まれる場合があるため、.rawmem/ は Git の対象外です。
イベントの形式
各行は JSON です。
{
"schema": "rawmem.event.v1",
"event_id": "evt_...",
"ts": "2026-07-09T00:00:00Z",
"source": "codex",
"event_type": "task_note",
"project": "rawmem",
"cwd": "/workspace/fictional-rawmem",
"summary": "User asked for a local-first raw evidence ledger.",
"raw_text": "User asked for a local-first raw evidence ledger.",
"tags": [],
"artifacts": [],
"payload": {},
"privacy": {
"scope": "local_only",
"review_required": true
},
"previous_hash": null,
"content_hash": "..."
}
previous_hash / content_hash チェーンは、改ざんの証拠を示す軽量な仕組みです。セキュリティ境界ではありませんが、意図しない書き換えを見つけやすくします。
アダプター戦略
rawmem は、巨大な統合を 1 つ作ってあらゆる AI ツールに対応しようとするべきではありません。安定した部分は台帳です。キャプチャアダプターは小規模で、必要に応じて利用できるものにします。
- Codex、Claude Code、シェルコマンド、ビルドスクリプト用の CLI ラッパー。
- WorkBuddy、QWork、カスタムスクリプトなどのための汎用 JSON 取り込み。
- 最終的にリポジトリを変更するツール向けの Git/ファイル監視ツール。
- Web AI チャット、課題ページ、ドキュメント、Web クリップ向けの localhost ブラウザーキャプチャ、ブックマークレット、将来的なブラウザー拡張機能。
- ログ、エクスポート、プラグイン、API を公開するツール向けの専用アダプター。
- 手間のかからない代替手段として、ホットキー/クリップボードによる手動キャプチャ。
すべてのアダプターは、同じイベントスキーマを出力する必要があります。
MCP はクエリアダプターであり、昇格の経路ではありません。rawmem-mcp が公開するのは、パスを含まないステータス、件数を制限した最近のイベント、アーカイブのメタデータのみです。デフォルトでは概要にアクセスでき、生データの本文を読むには明示的な read:full スコープが必要です。
プライバシーの原則
- ローカル優先。
- デフォルトではアップロードしません。
- メモリを自動的に昇格しません。
- バックグラウンドキャプチャはオプトイン必須です。
- クリップボードのポーリングはデフォルトでオフです。
- ブラウザーキャプチャには、
~/.rawmem/config.jsonに作成されたローカルトークンが必要です。 - 拡張機能のオプションページでは、デーモンへの接続とトークンの受け入れをテストできます。
- マシン全体への Git フックの設定には
--yesが必要です。 rawmem uninstallは、--remove-home --yesを明示的に指定しない限り、キャプチャしたデータを保持します。- 生イベントは、レビュー済みまたは派生したメモリとは別に保存します。
- ブラウザー/アプリのキャプチャには、許可リストを優先してください。
普段使用するマシンでバックグラウンドキャプチャを有効にする前に、PRIVACY.md と SECURITY.md をご覧ください。
開発
$env:PYTHONPATH = "src"
python -m unittest discover -s tests
python scripts/open_source_audit.py
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。