Pathmark について
Pathmark は、コーディングエージェントや MCP 対応環境で意図と出典情報を共有するローカルメモリ層です。確認可能なローカルファイルに保存し、生の証拠と承認済みの結論を分けて、コンテキストの追跡や監査を可能にします。
主な機能
- 01環境間で共有するローカルメモリ
- 02検索・再取得・出典追跡
- 03永続的な結論の承認フロー
- 04メモリの監査・バックアップ・保持
- 05秘密情報のマスキングと範囲指定
活用シーン
- 01コーディングエージェント間で決定事項を共有
- 02タスクに必要な証拠やコンテキストを再取得
- 03結論案を確認して承認
- 04保存メモリの監査・バックアップ・整理
MCP 対応
Pathmark は MCP サーバーとして動作し、メモリの記録、検索、再取得、管理、監査のツールを提供します。複数の MCP クライアントから同じローカルストアを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
25掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Pathmark
古くなったコードの事実を隠れた記憶に変えることなく、エージェント間で意図を引き継ぎます。
新機能 — v0.1.17
Pathmark v0.1.17 では、Claude Code がメモリの検索ごとに許可を求める問題を解消しました。
pathmark setup claude-code --apply-permissionsを実行すると、Pathmark の10個のローカル読み取り専用ツールに許可ルールが追加されます。これにより、想起と検索は許可プロンプトなしで実行され、自動モードでは、一時的に失敗する可能性のある安全性分類器への往復処理も不要になります。~/.claude/settings.jsonのバックアップを作成し、不足しているルールだけを追加して、ほかの設定はすべて保持します。解析できないファイルを書き換えることはありません。- 許可リストは、ツール自体の
readOnlyHint/openWorldHintアノテーションに基づいてテストされています。書き込みや削除を行うツール、または外部モデルを呼び出す可能性のあるツールでは、常にプロンプトが表示されます。
v0.1.17 のリリースノートまたは完全な変更履歴をご覧ください。上の npm バッジには、公開中の最新バージョンが常に表示されます。
Pathmark は、Codex、Claude Code、opencode、Gemini CLI、Cursor、および MCP に対応するあらゆるハーネスに、ローカルな意図と来歴を共有するレイヤーを提供します。決定事項、制約、好み、承認済みの結論を一度保存すれば、次のエージェントで振り返りを貼り付けずに活用できます。
コードが実装を記憶するなら、Pathmark は意図を記憶します。 リポジトリのコード、アーキテクチャ、テスト、CI、および意図的に記述されたエージェント向けの指示が、ソフトウェアの仕組みに関する信頼できる情報源です。生のセッションは検索可能な証拠であり、自動的に信頼できる事実として扱われるものではありません。
コンテキストは ~/.pathmark/memory/memory.jsonl にローカル保存されます。利用開始にアカウント、ホスト型データベース、API キー、ベンダーのバックエンドは必要ありません。
OpenAI Build Week 2026
Pathmark は OpenAI Build Week 2026 の開発者ツール部門への応募作品です。このプロジェクトはチャレンジ開始前から存在していたため、応募内容は、2026年7月13日の応募期間開始後に開発した意義ある拡張機能に意図的に範囲を絞っています。
対象期間中、GPT-5.6 を搭載した Codex の支援により、Pathmark は稼働中のローカルメモリレイヤーから、より安全な長期運用向け開発者インフラへと監査・拡張されました。
- 再現された複数プロセス間の SQLite インデックス競合を修正しました。
- リビジョン履歴、置き換え、有効期限、保持、診断、バックアップ、圧縮、およびプレビューを先に行う完全削除を追加しました。
- 名前空間の範囲内での読み書きと、デフォルトのシークレットの秘匿化を追加しました。
- 範囲を指定したインポート/エクスポート、任意の AES-256-GCM ポータブルエクスポート、ローカルのハイブリッド再ランキング、およびポータブルなハーネス取り込みを追加しました。
- 必須の CodeQL と依存関係レビュー、変更不可能な Action のピン留め、保護されたタグ、OpenSSF 分析、SLSA 来歴によって、CI と npm のリリースを強化しました。
この作業の主要な Codex セッションは 019f5fc3-d7e6-7b41-8a30-d161c90b98fb です。対象となるリリース範囲は v0.1.6 から v0.1.7 までで、チャレンジ開始前のベースラインはコミット 4c0e87dfdbd2ba4c643abd8b887cc228bdb08b73 です。
変更前後の境界、コミットの証拠、Codex との協業の詳細、および簡単な審査員向けテストについては、Build Week の実装記録をご覧ください。
Pathmark を選ぶ理由
ひとつのツールだけを使うわけではありません。Codex に修正を依頼し、Claude Code にレビューを依頼し、opencode で整理し、Gemini CLI に計画の妥当性を検討してもらいます。コンテキストを引き継がない限り、各ツールは毎回まっさらな状態から始まります。
Pathmark を使えば、これらのツールが意図や証拠を読み書きする場所をひとつにまとめられます。
- ハーネスをまたいで使える、ローカルの JSONL ストアがひとつあります。
- 標準の MCP ツールには、
remember、search_memory、recall_memory、session_trace、rate_recall、consolidate_memory、audit_memory、結論を先に示すchat/ask_memoryが含まれます。 - デフォルトではクライアント側で合成するため、コーディングエージェントがコンテキストを読み取り、回答します。
- オプションで Codex CLI、ローカルコマンド、OpenAI 互換の合成モードも利用できます。
- 内容を確認、バックアップ、削除、移行できるプレーンファイルを使用します。
Pathmark はプロバイダーに依存しません。Codex 用に、オプションの合成プリセットがひとつ用意されています。コアサーバーは、ローカルツールを使用できるあらゆる MCP クライアントで動作します。
Pathmark の実行には Node.js 22.5 以降が必要です。
ハーネスをまたいで使えるメモリ
コーディングセッション中にツールを切り替えます。
- Codex が失敗したテストを修正します。
- Claude Code がパッチをレビューします。
- opencode が差分を整理します。
- Gemini CLI がアプローチの妥当性を検討します。
Pathmark はメモをひとつのストアにまとめます。
各ハーネスを同じストアに接続します。
Codex \
Claude Code \
opencode > Pathmark MCP > ~/.pathmark/memory/memory.jsonl
Gemini CLI /
Cursor /
各ハーネスに Pathmark をインストールし、同じ PATHMARK_STORE_DIR を指定します。あるツールで remember を使って生のコンテキストを保存するか、create_conclusion を使って永続的な結論を提案できます。承認された結論と生の証拠は、recall_memory、search_memory、get_context、ask_memory を使って取得できます。
Pathmark はエージェントの下層に位置し、コーディングワークフローにおける意図、証拠、来歴をつなぐバスとして機能します。
ツール
Pathmark は次の MCP ツールを公開します。
| ツール | 用途 |
|---|---|
remember | 検索可能な生のエビデンスを保存します。生のエビデンスは、承認済みの永続的な意図としては扱われません。 |
create_conclusion | よりシグナルの強い、永続的な結論や好みを提案します。デフォルトでは、想起する前に承認が必要です。 |
search_memory | メモリと結論を検索します。 |
recall_memory | 透明性のある想起を行い、コンテキストに加え、使用された正確なメモリ ID、タイムスタンプ、ソース、一致項目、タグ、プレビューを返します。任意の tags、完全一致の ids、および簡潔な includeRecords: false 出力を指定できます。 |
session_trace | 1 つのセッションについて、範囲を限定した時系列の監査記録を返します。プロンプト、注入された正確なメモリ ID、秘匿化されたツールの入力と結果、回答が含まれます。 |
rate_recall | chat / ask_memory の想起から得た正確な ID に、関連または無関係のラベルを付け、監査精度を測定できるようにします。 |
get_context | タスクや質問に関する簡潔なコンテキストを返します。 |
list_conclusions | 承認済みの保存された結論を一覧表示します。 |
list_pending_conclusions | 範囲を限定した、ページ分割された保留中の結論案を確認します。 |
approve_conclusion | 案をアトミックに承認し、必要に応じてテキストやタグを修正して、レビュー担当者を記録します。 |
reject_conclusion | 拒否した案を監査記録に保持しつつ、想起の対象から恒久的に除外します。 |
get_memory_snapshot | 承認済みの正規の結論から、範囲を限定した USER/PROJECT/AGENT スナップショットを生成します。 |
consolidate_memory | 範囲を限定した未統合のエビデンス一式を確認し、必要に応じてエビデンスに裏付けられた案を登録します。自動承認は行われません。 |
delete_memory | ID を指定して、メモリまたは結論を論理削除します。 |
update_memory | 過去のバージョンを保持したまま、レコードを修正します。 |
supersede_memory | 古くなったレコードを、関連付けられた最新のレコードに置き換えます。 |
purge_memory | ID、名前空間、タグ、ソース、日付を指定して、完全削除をプレビューまたは実行します。 |
audit_memory | 記録から想起までの動作、未使用レコード、想起時点、重複、古い生データのヒット、精度ラベルの有無を測定します。 |
doctor_memory | 重複、削除済み/期限切れのレコード、結論、インデックスの状態を報告します。 |
compact_memory | 自動バックアップを作成し、重複排除、保持、物理的なクリーンアップをプレビューまたは実行します。 |
backup_memory | 特定時点の正規 JSONL バックアップを作成します。 |
export_memory | 範囲を指定した、マージ可能な JSONL バンドルをエクスポートします。必要に応じて暗号化できます。 |
ask_memory | 承認済みの結論に基づく回答、または範囲を限定した生のコンテキスト、正確なプロベナンス、フィードバック用の想起 ID を返します。 |
chat | ask_memory と互換性のあるエイリアスです。複数の意図にまたがる結論の取得と、明示的な回答保留に対応します。 |
get_config | ローカルストアの設定を表示します。 |
クイックスタート
npm install -g pathmark
次に、MCP サーバーをクライアントに追加します。
通常のインストールには npm を推奨します。現在の GitHub main ブランチを直接テストするには、次のコマンドを実行します。
npm install -g --install-links=true github:hacksurvivor/pathmark
使用するハーネス向けのセットアップ用スニペットを生成します。
pathmark setup list
pathmark setup claude-code
pathmark setup opencode --json
pathmark setup gemini-cli
pathmark setup kimi
Codex、Claude Code、opencode、Gemini CLI、OpenClaw、Hermes Agent、Grok CLI、Kimi、GLM、および一般的な MCP のセットアップについては、docs/compatibility.md を参照してください。
Codex
codex mcp add pathmark -- pathmark
Codex ユーザーは、自動記録も有効にできます。
pathmark codex install --replace-legacy-hooks
Codex、Claude Code、Cursor、opencode、Gemini CLI、Grok 互換の MCP ホスト、その他の MCP ハーネスで、目に見える「どのメモリを使いましたか?」というエントリーを表示したい場合は、回答する前に recall_memory ツールを呼び出してください。Codex のセッション開始時には、承認済みの結論のスナップショットが注入されます。Codex は、重要なプロンプトに回答する前に承認済みの結論をまず想起し、範囲を限定した新しい生のエビデンスは、範囲を限定したフォールバックとしてのみ使用します。recall_memory は、ハーネス間で使える可視のトレースとして引き続き利用できます。
Claude Code
claude mcp add --scope user pathmark -- pathmark
pathmark setup claude-code --apply-permissions
2つ目のコマンドを実行すると、Pathmark のローカル読み取り専用ツール(recall、search、diagnostics)を、許可確認なしで実行できます。自動モードでも同様で、このコマンドがない場合は安全性分類の判定を待つことになります。~/.claude/settings.json のバックアップを作成し、不足している許可ルールのみを追加するため、ほかの設定は変更されません。メモリを書き込む、または削除するツールでは、引き続き確認が求められます。
--scope user を指定すると、すべてのプロジェクトで Pathmark を利用できます。Claude Code のデフォルトのスコープでは、現在のディレクトリでのみ利用できます。自動記録やセッション開始時の想起(コンテキストの圧縮後を含む)を有効にするには、pathmark setup claude-code の hooks ブロックを ~/.claude/settings.json にマージしてください。
Claude Code の組み込み自動メモリは、ほかのエージェントからアクセスできないプロジェクトごとのフォルダーに保存されます。これをエビデンスとして共有ストアに取り込みます(再実行可能です。編集内容は履歴を残して既存の記録に反映され、Pathmark で削除した記録は削除されたままになります)。
pathmark import-native claude-code --dry-run
pathmark import-native claude-code
opencode / Gemini CLI
生成されたスニペットを使用します。
pathmark setup opencode
pathmark setup gemini-cli
Claude Desktop
これを Claude Desktop の MCP 設定に追加してください。
{
"mcpServers": {
"pathmark": {
"command": "pathmark",
"env": {
"PATHMARK_STORE_DIR": "~/.pathmark/memory"
}
}
}
}
Cursor
同じコマンドを Cursor の MCP サーバー設定に追加してください。
{
"mcpServers": {
"pathmark": {
"command": "pathmark"
}
}
}
ローカル開発
npm install
npm test
npm run coverage
直接実行するには、次のようにします。
PATHMARK_STORE_DIR=.pathmark npm run dev
以前のメモリをインポートする
Pathmark では、互換性のあるローカルの JSONL メモリストアを、ソースファイルを削除したり移動したりせずにインポートできます。
npm run import:legacy -- --source-dir ~/old-codex-memory
デフォルト:
Legacy source: ~/.pathmark/legacy/codex
Pathmark target: ~/.pathmark/memory/memory.jsonl
インポーターは書き込み前に memory.jsonl.backup-* ファイルを作成し、決定的な ID を使用して、再実行時に重複をスキップします。また、KEY=...、TOKEN=...、PASSWORD=...、Bearer ... のような明らかな値をマスキングします。
ライブ MCP および Codex の書き込み処理と同じストアロックを使用するため、インポートによって同時に記録されたデータが上書きされることはありません。
別のマシンから移行する場合は、まずドライランを実行してください。
npm run import:legacy -- --source-dir ~/old-codex-memory --dry-run
Codex の自動記録
Pathmark を Codex のメモリアダプターとしてインストールします。
pathmark codex install --replace-legacy-hooks
これにより、Pathmark MCP サーバーが登録され、Codex のフックが有効になり、Codex の古い互換性のあるフックコマンドが削除されます。メモリファイルの削除や移動は行いません。
Codex アダプターは、デフォルトでプロアクティブに動作します。
- ユーザープロンプト、アシスタントの最終回答、ツールのアクティビティはローカルに記録されます。Codex の中間的なコメントは除外されます。
- ツールのアクティビティ記録には、範囲を限定して秘匿化した入力プレビューとハッシュ、ステータス、終了コード、所要時間、フックから提供された場合は変更されたファイルが含まれます。
- ツール出力のハッシュは照合用に記録されますが、デフォルトでは出力テキストは非公開のままで、
PATHMARK_CODEX_CAPTURE_TOOL_OUTPUTS=onが必要です。 - アクティビティ記録は30日後に期限切れとなり、デフォルトでは物理的に最大5,000件に制限されます。
- セッションの開始/再開時には、承認済みの正規の結論から、範囲を限定した USER/PROJECT/AGENT スナップショットが1つ生成されます。生のセッション履歴は注入されません。
- 重要なユーザープロンプトごとに、まず承認済みのワークスペース/プロジェクトの結論を検索し、次に承認済みのグローバルな結論、または明示的に指定されたプロジェクトの結論を検索します。
- 承認済みの結論が一致しない場合に限り、現在のワークスペース/プロジェクト/セッションの生の記録を最大2件、高い確度のフォールバックとして注入できます。
- 生のフォールバック記録は、デフォルトで30日間の別個の自動想起期間内である必要があります。生の全アーカイブは、明示的な
search_memoryとrecall_memoryの呼び出しで引き続き利用できます。 - プロジェクトをまたぐ生の履歴が自動的に注入されることはありません。長期的に保持するプロジェクト横断の意図は、承認ワークフローを通じて昇格させてください。
- プロジェクト横断の広範な履歴は、明示的な
search_memory/recall_memoryの呼び出しで引き続き利用できます。すべてのプロンプトに暗黙的に含まれることはありません。 - 一致したメモリはデフォルトで目立たない形で注入され、
recall_memoryの生の結果がツールの出力として会話に追加されることはありません。 - デバッグや監査の際に
PATHMARK_CODEX_VISIBLE_RECALL=onを設定すると、Codex はキャプチャ前の結果 ID とワークスペースタグを正確に指定してrecall_memoryを呼び出します。この明示モードでは、重複するrecords全体のコピーは省略されます。 - レガシーのトランスポートエンベロープとアシスタントの進行状況の更新は、セッション開始時および先回りした関連性判定の結果から除外されます。一方、リアルタイムの委任エンベロープには、現在の
<input>ペイロードのみが保持されます。 - Pathmark の境界エスケープ、指示の上書きパターン、または不可視の Unicode 制御文字を含む記録には
memory-quarantinedタグが付けられ、自動想起から除外されます。注入されるプレビューはエスケープされ、信頼できない過去のデータとして明示的に扱われます。 - 一致するメモリがない場合、追加のコンテキストは注入されません。
永続的な情報の抽出には、デフォルトで承認が必要です。create_conclusion は承認待ちの提案を作成します。承認待ちおよび却下された結論は正規の JSONL 監査ログに残りますが、通常の検索、正確な ID による想起、プロンプトへの注入、スナップショットからは構造的に除外されます。list_pending_conclusions を使用し、その後 approve_conclusion または reject_conclusion を実行してください。このワークフローの導入前に作成された結論は、後方互換性のため、すでに承認済みとして扱われます。生の remember 記録は検索可能な根拠として残り、自動的に昇格されることはありません。
セッションスナップショットは、別のフラットファイルとして管理されるのではなく、同じ正規ストアから生成されます。セッション開始フックの出力内で固定されますが、プロンプト時のスコープ付き想起は動的に行われます。
Codex のフックでメモリを記録しつつ、プロンプト時の想起を停止するには、PATHMARK_CODEX_PROACTIVE_RECALL=off を設定してください。
明示的な監査/デバッグ用の recall_memory ツール呼び出しを行いたい場合に限り、PATHMARK_CODEX_VISIBLE_RECALL=on を設定してください。この設定がオフの場合も、プロンプト時の先回りした想起は有効です。
recall_memory は、回答前に使用されたメモリの特定時点の記録です。意図的に、後から実行されるコマンドは含まれていません。正確なセッション ID を指定して session_trace を使用すると、プロンプト → 注入されたメモリ → ツール/結果 → 最終回答の時系列を確認できます。明示的に有効にした場合、出力プレビューは 2,000 文字までに制限され、保存前に機密情報がマスキングされます。ハッシュによって相関関係を保ちながら、デフォルトでは出力テキストを保存しません。既存のカーソルをアップグレードすると、以前に取得したユーザーまたは最終回答のターンを重複させることなく、最終回答のみを解析する方式に移行します。元のトランスクリプトが利用可能な場合、この移行時に正確な phase: "commentary" のレコードは、タイムスタンプとテキストに基づいて論理削除されます。
Pathmark のフックを以前の互換性のあるフックコマンドに置き換える場合は、--replace-legacy-hooks を使用してください。指定しない場合、Pathmark は既存のフックコマンドと併せてインストールされます。
アダプターの状態を確認します。
pathmark codex status
状態の出力は JSON 形式で、Pathmark のフックの状態、MCP の登録状態、レガシーフックの有無、有効なストアのパス、現在のレコード数が含まれます。
メモリを削除せずに Pathmark のフックと MCP の登録を解除します。
pathmark codex uninstall
設定
| 変数 | デフォルト | 説明 |
|---|---|---|
PATHMARK_STORE_DIR | ~/.pathmark/memory | memory.jsonl のディレクトリです。 |
PATHMARK_MAX_SEARCH_RESULTS | 12 | デフォルトの検索上限です。 |
PATHMARK_CODEX_PROACTIVE_RECALL | on | 重要な Codex プロンプトの前に、関連する Pathmark のコンテキストを自動的に挿入します。プロンプト時の想起を行わずに記録するには、off を指定します。 |
PATHMARK_CODEX_VISIBLE_RECALL | off | 正確な usedMemories を公開する監査/デバッグ用の recall_memory ツール呼び出しを有効にします。これがオフでも、プロアクティブなメモリー挿入は有効です。 |
PATHMARK_CODEX_CAPTURE_TOOL_OUTPUTS | off | 上限付きの、機密情報を編集したツール出力プレビューを保存します。これがオフでも、出力ハッシュ、ステータス、所要時間、終了コードは引き続き利用できます。 |
PATHMARK_CODEX_MEMORY_SNAPSHOT | on | Codex セッションの開始/再開時に、上限付きの承認済み結論スナップショットを生成します。 |
PATHMARK_SNAPSHOT_CHARS | 4000 | 生成するスナップショットの文字数上限です。500~12000 に制限されます。 |
PATHMARK_CODEX_RAW_RECALL_DAYS | 30 | プロンプト時に生のエビデンスを利用できる期間です。0 にすると、明示的な検索結果を削除または非表示にすることなく、生データへの自動フォールバックを無効にします。 |
PATHMARK_CODEX_RAW_RECALL_LIMIT | 2 | 承認済みの結論が一致しない場合に挿入する、新しい生レコードの最大数です。0~2 に制限されます。 |
PATHMARK_CODEX_PROACTIVE_CONSOLIDATION | on | セッション開始時に、スコープ内の生の履歴が結論を伴わずに蓄積している場合、Codex に上限付きのエビデンス一括レビューを促します。 |
PATHMARK_CONSOLIDATION_MIN_EVIDENCE | 8 | プロアクティブな統合の通知が表示されるまでに必要な、未統合のユーザー/アシスタントのレコードの最小数です。 |
PATHMARK_CONCLUSION_APPROVAL | on | 新しい結論を明示的な承認待ちとして登録します。信頼できる従来の自動化でのみ off を指定してください。 |
PATHMARK_SYNTHESIS_PROVIDER | client | client、command、codex、または openai-compatible です。 |
PATHMARK_CHAT_COMMAND | unset | コマンドプロバイダーです。合成したプロンプトを標準入力で受け取り、回答を標準出力に書き込みます。 |
PATHMARK_CODEX_COMMAND | codex | Codex プロバイダーのコマンドです。 |
PATHMARK_CODEX_MODEL | unset | 任意の Codex モデルの上書き設定です。 |
PATHMARK_OPENAI_BASE_URL | https://api.openai.com/v1 | OpenAI 互換 API のベース URL です。 |
PATHMARK_OPENAI_API_KEY | unset | OpenAI 互換 API キーです。 |
PATHMARK_OPENAI_MODEL | unset | OpenAI 互換の合成に使用するモデル ID です。 |
PATHMARK_CHAT_TIMEOUT_MS | 120000 | 合成コマンドのタイムアウトです。 |
PATHMARK_NAMESPACE | unset | MCP の読み取りと書き込みに一貫して適用されるデフォルトの名前空間です。 |
PATHMARK_REDACT_MCP_WRITES | on | remember、結論、更新、置換、インポート、取り込みの各処理で、一般的なシークレット形式の値を編集します。 |
PATHMARK_RETENTION_DAYS | 0 | 圧縮時に使用する保持ポリシーです。0 にすると、経過日数に基づく削除を無効にします。結論は保持されます。 |
PATHMARK_ACTIVITY_RETENTION_DAYS | 30 | 想起/ツールのアクティビティレコードの自動保持期間です。0 にすると、経過日数に基づくアクティビティの有効期限切れを無効にします。 |
PATHMARK_ACTIVITY_MAX_RECORDS | 5000 | アクティビティレコードの物理的な上限です。最も古いアクティビティは自動的に削除されます。0 にすると、件数上限を無効にします。 |
PATHMARK_RERANK_COMMAND | unset | 信頼できるローカルの埋め込み/ベクトル、またはハイブリッドの再ランキングコマンドです。候補がストアの外に出る前に、種類/タグ/名前空間による厳密なフィルターが適用されます。コマンドはクエリ/候補を JSON として標準入力で受け取り、ランク付けしたメモリー ID を返します。 |
PATHMARK_HYBRID_CANDIDATES | 500 | 任意の再ランキングコマンドに送信する候補の最大数です。 |
PATHMARK_RETRIEVAL_TIMEOUT_MS | 30000 | 任意の再ランキングコマンドのタイムアウトです。 |
PATHMARK_EXPORT_KEY | unset | AES-256-GCM によるポータブルなエクスポート/インポートのパスフレーズです。get_config から返されることはありません。 |
PATHMARK_INDEX_LOCK_TIMEOUT_MS | 120000 | インデックスの初期化または再構築時に、プロセス間で待機する上限時間です。 |
合成モード
Pathmark は、メモリーと推論を分離します。
client
デフォルトです。MCP サーバーが関連するメモリコンテキストを返し、MCP クライアントのモデルが回答を生成します。Pathmark にモデルの認証情報を渡すことなく、Codex、Claude Desktop、Cursor、その他のあらゆる MCP クライアントで利用できます。
PATHMARK_SYNTHESIS_PROVIDER=client pathmark
command
標準入力からプロンプトを受け取り、標準出力に回答を書き込むローカルのサブスクリプションまたはモデルの CLI を使用します。
PATHMARK_SYNTHESIS_PROVIDER=command \
PATHMARK_CHAT_COMMAND="your-ai-cli --model your-model" \
pathmark
これは、別の有料サブスクリプション CLI やローカルのモデルランナーを利用しているユーザー向けの汎用的な方法です。
codex
実績のある Codex CLI ブリッジを使用します。再帰を避けるため、フックとメモリを無効にした状態で、制御された非対話型の codex exec ターンを実行します。
PATHMARK_SYNTHESIS_PROVIDER=codex \
PATHMARK_CODEX_MODEL=gpt-5.5 \
pathmark
これは、ChatGPT/Codex CLI の認証情報をローカルに保存しているものの、OpenAI API キーは追加したくない Codex ユーザーに便利です。Pathmark は標準入力経由で統合プロンプトを送り、空の一時ワークスペースで Codex を実行します。また、プロジェクトのルールを無視し、最小限の環境のみを公開します。メモリレコードは実行可能な命令ではなく、信頼できないデータとして扱われます。
openai-compatible
多くの Kimi、GLM/Z.ai、OpenRouter、LiteLLM、Ollama 互換ゲートウェイ、セルフホスト可能なルーターなど、/chat/completions を公開している任意のプロバイダーを使用します。
PATHMARK_SYNTHESIS_PROVIDER=openai-compatible \
PATHMARK_OPENAI_BASE_URL=https://api.provider.example/v1 \
PATHMARK_OPENAI_API_KEY=... \
PATHMARK_OPENAI_MODEL=... \
pathmark
このモードは、MCP の ask_memory/chat と CLI の pathmark chat に適用されます。通常の MCP ツールは、モデルプロバイダーなしでローカルメモリの保存と取得を引き続き行います。
CLI をセットアップする
pathmark setup <client> は、一般的なハーネスに使えるコピー&ペースト用のセットアップ手順を出力します。スクリプト用の構造化された出力が必要な場合は、--json を追加してください。
対応ターゲット:
codex
claude-code
claude-desktop
cursor
opencode
gemini-cli
generic
openai-compatible
command
エイリアスには claude、gemini、kimi、glm、z-ai があります。
Gemini CLI のセットアップには、自動的なスコープ付きの情報取得と記録に使える、移植性の高い SessionStart、BeforeAgent、AfterTool、AfterAgent フックが含まれます。ほかのハーネスでは、汎用の取り込み機能を通じてエクスポートしたトランスクリプトを渡せます。
pathmark ingest --client=claude-code --namespace=my-project < transcript.json
pathmark ingest --client=opencode --namespace=my-project < transcript.json
メモリチャット、統合、メンテナンス、ポータブル同期
メンテナンスコマンドは、--apply が指定されていない場合、破壊的な変更をプレビューします。
pathmark chat "What did we decide about release signing?" --namespace=my-project
pathmark consolidate --namespace=my-project
pathmark consolidate --namespace=my-project --cursor=LAST_RECORD_ID
PATHMARK_SYNTHESIS_PROVIDER=codex pathmark consolidate --namespace=my-project --apply
pathmark feedback --recall-id=RECALL_ID --relevant=MEMORY_ID --irrelevant=OTHER_ID
pathmark audit --days=30
pathmark audit --namespace=my-project --days=90
pathmark doctor
pathmark compact
pathmark compact --apply --retention-days=90
pathmark purge --namespace=old-client
pathmark purge --namespace=old-client --apply
pathmark chat と MCP の chat / ask_memory ツールは、承認済みの結論を優先して検索します。複数の意図を含む質問では、節ごとに別々の結論を返すことがあります。デフォルトのクライアントモードでは、承認済みの結論から安全な抜粋型の answer が生成されます。設定済みの codex、command、または openai-compatible プロバイダーを使うと、より豊かな文章を生成できます。未加工のフォールバックを使うには、明示的なスコープ(--namespace /タグ)または kind: memory が必要です。これにより、スコープ指定のないワークスペース横断の履歴がチャットに入り込むのを防ぎます。
一致したチャットクエリはすべて想起アクティビティを記録し、ストアが書き込み可能な場合は recallId を返します。回答を保留した場合と読み取り専用ストアでは、recallId: null が返されます。関連性のラベル付けには、MCP の rate_recall または pathmark feedback を、正確な想起 ID とともに使用してください。フィードバックが存在すると、pathmark audit は precision.status: "labeled"、測定された精度、ラベルの網羅率を報告します。
pathmark consolidate はプレビューが先に行われます。デフォルトのクライアント側合成では、制限された証拠とホストエージェント向けの具体的な指示が返されます。ホストエージェントは、裏付けとなる evidenceIds を指定して create_conclusion を呼び出せます。対象となる証拠がさらに残っている場合、結果には nextCursor と remainingAfterBatch が含まれます。カーソルを渡すと、次の安定したページを確認できます。サーバー側合成プロバイダーを設定している場合は、構造化された候補がプレビューされます。--apply を指定すると、候補は保留中の結論として登録され、approve_conclusion または reject_conclusion で処理できます。抽出された意図を自動承認することはありません。
適用された圧縮と消去では、正規ファイルを置き換える前にバックアップを作成します。delete_memory による論理削除も引き続き利用できます。完全消去では、選択されたレコードを JSONL から物理的に削除し、派生インデックスを再構築します。
pathmark audit は読み取り専用です。すべての未加工レコードと、統合対象となるユーザー/アシスタントの証拠を分けてから、取り込みと想起の比率、実用的な統合バックログ、想起の経過時間、完全一致の重複、古い未加工ヒット、スコープ/参照欠落のシグナルを報告します。明示的なフィードバックが存在するまで、精度は unlabeled のままです。Pathmark がユーザーのラベルをヒューリスティックで代用することはありません。
スコープ付きエクスポートとマージインポートを、転送方式に依存しない同期レイヤーとして使用します。
pathmark export --namespace=my-project --output=project.jsonl
pathmark import project.jsonl --namespace=my-project
暗号化されたポータブルバンドルを作成するには、コマンドラインの外部でパスフレーズを設定してください。
PATHMARK_EXPORT_KEY='use-a-secret-manager' pathmark export --encrypted --output=project.pathmark
PATHMARK_EXPORT_KEY='use-a-secret-manager' pathmark import project.pathmark
Pathmark がこれらのファイルをひそかにアップロードすることはありません。信頼できるファイルシステム、バックアップツール、または任意の同期プロバイダーを使って移動してください。
オプションのハイブリッド検索
デフォルトの検索では、ローカルの SQLite FTS を引き続き使用します。モデルへの依存を必須にせず、セマンティック検索や埋め込みベースの再ランキングを有効にするには、PATHMARK_RERANK_COMMAND に信頼できるローカルコマンドを設定します。このコマンドは、query と candidates を含む 1 つの JSON オブジェクトを標準入力から受け取り、ランク順のレコード ID の JSON 配列(または { "ids": [...] })を返す必要があります。失敗した場合やタイムアウトした場合、Pathmark は字句検索の結果にフォールバックします。
データ形式
Pathmark は、次の場所に改行区切りの JSON を保存します。
~/.pathmark/memory/memory.jsonl
memory.jsonl は引き続き正本として扱われます。Pathmark は、派生データであり、削除しても問題のない検索インデックス memory.index.v5.sqlite も保持します。インデックスのファイル名にはスキーマバージョンが含まれているため、ローリング再起動中に古い MCP プロセスと新しい MCP プロセスを共存させられます。Pathmark の外部で JSONL ファイルが変更されると、インデックスは自動的に再構築されます。プロセスの停止後は、使用されていないバージョンのインデックスを安全に削除できます。
各レコードの内容を確認できます。
{
"id": "uuid",
"kind": "memory",
"text": "The user prefers local-first tools.",
"tags": ["preference"],
"source": "mcp",
"createdAt": "2026-06-29T00:00:00.000Z",
"updatedAt": "2026-06-29T00:00:00.000Z"
}
削除は、デフォルトでは論理削除です。レコードには deletedAt のタイムスタンプが付与されます。物理削除には、プレビューを優先する purge_memory または pathmark purge --apply を使用してください。更新時には過去のバージョンが最大 50 件保持され、置き換えられたレコードには新しいレコードへのリンクが付与されます。また、有効期限が切れたレコードは想起の対象から除外されます。自動想起の対象期間はストレージの保持期間とは別です。情報は積極的な注入の対象から外れた後も、明示的に検索できます。
不正な形式の JSONL 行は、すべてのツールを停止させるのではなく、スキップされます。pathmark codex status は、その件数を invalidRecordCount として報告するため、ソースファイルを意図的に修復できます。
ロードマップ
- 安定したコマンドが存在する、一般的なローカル AI CLI 向けのプロバイダープリセット。
- 暗号化ストアのオプション。
- 必須ではなく、オプトイン方式のホスト型同期。
- Codex と Gemini CLI 以外のハーネスプラグインシステム向けのネイティブな自動キャプチャーパッケージ。
- Codex、Claude Desktop、Cursor、ChatGPT、ローカル LLM ツール向けのレシピ例。
位置付け
Pathmark は、エージェントが共有できる作業用メモリを提供します。そのメモリはお使いのマシンに保存されます。
エージェントを切り替えても、コンテキストは維持できます。
お持ちのサブスクリプションを使いながら、メモリはローカルに保てます。
作成者と引用情報
Pathmark は、AI プロダクトエンジニアの Sergey Moloman が作成・保守しています。
機械可読な作成者情報と引用情報は、CITATION.cff と codemeta.json で確認できます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。