スレッド
あらゆるAIツールの会話をキャプチャし、閲覧し、検索し、蒸留します。
スレッドは会話のレイヤーです。 AIセッションで起きたことの元の流れをそのまま保ちます。 何を尋ね、ツールが何を答え、作業がどのように進んだのかを記録します。
その真の価値は単なる保存にとどまりません。 スレッドは、過去の会話を検索し、正確なコンテキストを再び開き、長く残る部分をメモリへと蒸留できるときに役立ちます。
完全な履歴が必要なときはスレッドを使う
元のメッセージが必要な場合は、スレッドを保存またはインポートしてください。 長く残る要点だけが必要な場合は、それをメモリへ蒸留し、そこから作業してください。
インポートのオンボーディングマップ
既存の会話をどのように取り込むか(一括ファイルか、コーディングエージェントのスキャンか、ブラウザか、1つのmarkdownファイルか)を判断している場合は、まず**既存の会話をインポートするをお読みください。 このページはスレッドのフォーマットと機能のリファレンス**として残ります。
最初の役立つスレッド
初めての方は、まず次のいずれかを行ってください。
- すでに大切にしている会話を1つインポートする
- 対応しているツールに1つのセッション全体をキャプチャさせる
- ブラウザ拡張機能を通じてWebの会話を1つキャプチャする
その後、そのスレッドを開き、役立つメモリを1つ蒸留してください。 これが中心となるワークフローです。
| やりたいこと | 移動先 |
|---|---|
| すべてのインポート経路を1つの概要で見る | 既存の会話をインポートする |
| スレッドを閲覧、検索する | スレッドの閲覧 |
| スレッドをメモリへ蒸留する | スレッドの蒸留 |
| コーディングエージェントから自動インポートする | 自動同期 |
| WebのAIチャットからキャプチャする | ブラウザ拡張機能 |
| ChatGPT、Claude、DeepSeek、その他のアカウント履歴をインポートする | 一括インポート |
会話ファイル(.mdと## User/## Assistantヘッダー)をインポートする | 単一スレッド |
| .md会話フォーマットを学ぶ | 会話Markdown |
| API経由でインポートする | インポートAPI |
| CLI経由でインポートする | CLI |
スレッドの閲覧
スレッドビューには、インポートしたすべての会話が1か所に表示されます。
- 内容またはタイトルでスレッドを検索する
- ソース(Claude Code、ChatGPT、Cursorなど)でフィルタリングする
- 重要なスレッドをピン留めしてアクセスしやすくする
- 任意のスレッド内の個々のメッセージを表示する
サイドバーからスレッドを開くか、Cmd + 3(macOS)を押してください。
スレッドの蒸留
スレッドをメモリへつなぐ中心的なワークフローです。 任意のスレッドを開き、蒸留を開始します。 システムは会話から個々のメモリを抽出し、それぞれに独自のタイトル、ラベル、重要度スコアを付けます。 抽出されたメモリはナレッジグラフに入り、他のすべてと並んで検索可能になります。
こうして、何時間ものAIとの会話が、後から見つけられるつながった知識になります。
通常サイズのスレッドでは、蒸留はすぐに実行されます。 非常に大きなスレッドでは、Memは代わりにスマートバックグラウンド蒸留を提供します。 これは数秒後に開始され、ナレッジエージェントがスレッドを段階的に読み、その後、長く残るメモリをより少ないセットで保存します。 これは短いスレッドの蒸留より遅いですが、1つのフォアグラウンドリクエストにすべてを一度に読ませるよりはるかに安全です。
ブラウザからも
ブラウザ拡張機能はWebの会話から直接スマート蒸留をサポートしているため、完全なスレッドを先にインポートしなくてもメモリをキャプチャできます。
スレッドがMemに届く仕組み
スレッドはいくつかの異なる経路でNowledge Memに入ることができます。 それらは関連していますが、同じものではありません。
- 専用のプラグインと拡張機能: Claude Code、Grok Build、Codex、Gemini CLI、OpenClaw、Hermes Agent、Alma、Cursor、Droid、OpenCode、Craft Agent、Copilot CLIなどのツール固有の統合
- ローカル検出/バックフィル: Memを実行しているマシン上の、対応するコーディングエージェントの会話に対するアプリ内インポート
- 共有スキルまたはプロンプトパック:
npx skillsのような再利用可能なセットアップ - ブラウザキャプチャ: Exchange拡張機能は、パネルで使用しているフォーカスされたWebセッション(チャットアカウント全体ではありません)で動作します。 詳しくは既存の会話をインポートするをご覧ください
- 手動インポート: ファイル、エクスポート、API呼び出し、CLIインポート
理解しておくべき主な点は次のとおりです。
- 完全なセッションキャプチャとは、Memがそのツールから実際に記録された会話を受け取ることを意味します
- ハンドオフサマリーとは、Memが完全なセッションの代わりに簡潔な継続メモを保存することを意味します
共有スキルもここで重要です。 それらは多くのエージェントで役立ちますが、そのホストランタイムが読み取り可能なセッションファイルや安定したトランスクリプトAPIを公開していない限り、完全なセッションキャプチャを正直に約束することはできません。
ほとんどのユーザーに必要なルールは1つだけです。
- 使用しているツールにすでに実際のスレッド保存経路があるなら、それを使う
- 現時点でハンドオフサマリーしかサポートしていないなら、そのメンタルモデルを明確に保ち、完全な履歴にはインポートまたは
nmem t syncを使う
自動同期
アプリ内検出
ローカルのコーディングアシスタントからの会話をマシン上でスキャンします。 ファイルのエクスポートは不要です。
ローカル限定の検出
この経路はNowledge Memを実行しているマシン上の会話ファイルをスキャンします。
ローカル同期には優れていますが、nmem t sync --from ...とは異なります。
後者はクライアント側でローカルセッションファイルを読み取り、正規化されたスレッドをリモートのMemサーバーへアップロードすることもできます。
最初のインポート後に起こること
インポートすると、その会話はすぐにスレッドとして保存されます。 自動同期がオンの場合、Memはその後そのスレッドに新しいメッセージを追記でき、そのアプリが安定したプロジェクトパスを公開していれば、検出したプロジェクトを以降のセッションのために記憶できます。
| クライアント | 同期モード | 場所 |
|---|---|---|
| Claude Code | 自動検出 + 増分同期 | スレッド → インポート → AI会話を検索 |
| Cursor | 自動検出 + 増分同期 | スレッド → インポート → AI会話を検索 |
| Codex | 自動検出 + 増分同期 | スレッド → インポート → AI会話を検索 |
| OpenCode | 古いセッションをバックフィル。新しい作業はネイティブプラグインがキャプチャ | スレッド → インポート → AI会話を検索 |
| Proma Chat | ~/.proma/conversationsから通常のProma Chat履歴をインポート | スレッド → インポート → AI会話を検索 |
ネイティブキャプチャと保存経路
統合ごとに、スレッド保存の動作は異なります。 完全なセッションキャプチャをサポートするものもあれば、ライフサイクルイベントで自動キャプチャするものもあります。 DroidとCursorは現在、プラグインのハンドオフサマリーを完全な会話インポートとは別に保っています。
| 統合 | 保存されるもの | 仕組み | セットアップ |
|---|---|---|---|
| Claude Code | 完全なセッションキャプチャ | Stopフックが各応答後にセッションを自動保存します。明示的な/saveもサポートします。nmemはアップロード前にクライアント側でローカルセッションファイルを読み取ります。 | Claude Codeガイド |
| Grok Build | 完全なセッションキャプチャ | Grok Buildは共有のClaude互換コネクタを読み込みますが、フックはnmem t save --from grokを通じて保存をルーティングするため、ソースとセッションフォーマットが正しく保たれます。 | Grok Buildガイド |
| Grok Bot | MCPメモリアクセス | Grok Botはクラウドホスト型です。公開HTTPS MCPエンドポイントを使用してください。そのプラグインとフックのサーフェスはBotまたはチーム設定で利用できる場合がありますが、Bot固有のトランスクリプト契約は自動の完全スレッドキャプチャに対して検証されていません。 | Grok Botガイド |
| Gemini CLI | 完全なセッションキャプチャと別個のハンドオフサマリー | save-threadはnmem t save --from gemini-cliを通じて記録されたGeminiセッションをインポートします。拡張機能は圧縮前とセッション終了時にもインポートします。save-handoffは別個の再開可能なサマリーのままです。 | Gemini CLIガイド |
| Droid | プラグイン内のハンドオフサマリー | Droidプラグインは意図的にsave-handoffを公開し、save-threadは公開しません。現時点ではワーキングメモリ、ルーティングされたリコール、再開可能なチェックポイントを提供し、トランスクリプトに基づくスレッド保存は将来の本物のインポーターに委ねています。 | Droidガイド |
| Cursor | 完全なセッションキャプチャとハンドオフのフォールバック | プラグインのstopフックは、Cursorがパスを提供するときに現在のトランスクリプトをキャプチャします。save-thread、Memデスクトップの検出、nmem t sync --from cursorが、手動でのインポート、過去のセッションや取りこぼしたセッションのインポートをカバーします。 | Cursorガイド |
| Alma | 完全なセッションキャプチャ | ライブ同期は、2分間アイドル後、スレッド切り替え時、終了時に会話を保存します(デフォルトでオン)。 | Almaガイド |
| OpenClaw | 完全なセッションキャプチャ | 完了時にすべてのエージェントセッションを自動的にキャプチャし、任意でLLM蒸留を行います。 | OpenClawガイド |
| Hermes Agent | 完了ターンのキャプチャと最終境界でのフラッシュ | ネイティブメモリプロバイダーは、応答が完了するたびにクリーンアップされたuser / assistantターンを書き込み、クリーン終了時、/new、/resetで残りの変更をフラッシュします。 | Hermesガイド |
| Codex | 完全なセッションキャプチャ | Stopフックが各ターン後に記録されたCodexセッションをキャプチャします。明示的な保存はフォールバックとして引き続き利用できます。 | Codexガイド |
| Copilot CLI | 完全なセッションキャプチャ | キャプチャフックは、各応答後、圧縮前、セッション終了時に、新しく記録されたCopilot会話内容をMemに追記します。明示的な保存/チェックポイント要求は、必要に応じて簡潔なサマリースレッドを引き続き作成します。 | Copilot CLIガイド |
| Pi | 完全なセッションキャプチャ | ネイティブPiパッケージは完了した会話を自動的に同期します。古いローカルセッションはnmem t sync --from piでインポートできます。 | Piガイド |
| OpenCode | 完全なセッションキャプチャ | ネイティブプラグインは、OpenCodeがアイドルを報告したときにキャプチャし、圧縮前にフラッシュします。nowledge_mem_save_threadは明示的なフォールバックとして残ります。古いセッションはnmem t sync --from opencodeでインポートできます。 | OpenCodeガイド |
| Proma | エージェントキャプチャ + チャットインポート | Proma AgentセッションはPromaのライフサイクルフックによってキャプチャされます。通常のProma Chatの会話は、アプリまたはnmem t sync --from promaでローカル履歴からインポートされます。 | Promaガイド |
| Craft Agent | ソースガイド付きメモリ + インポート | CraftはMCPベースのメモリ動作のためにワークスペースソースとガイドを使用します。古いローカルCraftセッションは、session.jsonlファイルからnmem t sync --from craft-agentでインポートできます。 | Craft Agentガイド |
| OMP | プラグインの自動キャプチャと古いセッションのバックフィル | 専用のOMPプラグインは新しい会話を自動的にキャプチャします。古いローカルOMPセッションはnmem t sync --from ompで引き続きバックフィルできます。PiパッケージをOMPコネクタとして使用しないでください。 | OMPガイド |
汎用npx skillsエージェント | ハンドオフサマリーのみ | save-handoffを使用してください。共有スキルは保存を導けますが、ホストランタイムを十分に制御できないため、どこでもトランスクリプトに基づくインポートを約束することはできません。 | コネクタの概要 |
完全なセッションキャプチャとハンドオフサマリー
正確な過去の会話履歴が必要な場合は、完全なセッションキャプチャまたはインポート経路を使用してください。 ハンドオフサマリーは再開可能な継続のためのものであり、完全な会話の保存ではありません。
ファイルインポート
一括インポート
スレッド → インポートで、アカウント履歴をインポートを選択します。 ChatGPT、Claude、DeepSeek、その他対応ベンダーのエクスポートはすべてこの同じ入口を使用します。
| ソース | ファイル形式 | エクスポート方法 |
|---|---|---|
| ChatGPT | ダウンロードしたZIPを展開した後のchat.html | ChatGPT設定 → データコントロール → データをエクスポート |
| Claude | Claudeのエクスポートメールにあるmanifest-<id>.json、またはconversations.jsonを含むダウンロード済みエクスポートZIP | claude.aiまたはClaude Desktop: アバター → 設定 → プライバシー → データをエクスポート(Anthropicガイド)。Claudeモバイルアプリからは利用できません。 |
| DeepSeek | deepseek_conversations.json | chat.deepseek.com → 設定 → データ → データをエクスポート |
| ChatWise | .zip(JSONファイルを含む) | ChatWiseアプリからすべてのチャットをエクスポート |
| Alma | alma-backup-YYYY-MM-DD.zip(threads.jsonを含む) | Alma設定 → データ → すべてのスレッドをエクスポート |
| Raycast AI | .json(例: raycast_ai_chats.json) | ベンダーのエクスポートがないため、macOSで raycast-ai-exporter を使用してください(そのREADMEを参照) |
Claude エクスポートマニフェストのインポート
まずmanifest-<id>.jsonファイルを選択してください。
Memはマニフェストで名前が付けられたすべてのZIPを表示します。
Claudeにサインインした状態でファイルをダウンロードし、完了したZIPをMemで選択してください。
ファイルの準備ができると、インポート前に会話プレビューが表示されます。
Claudeのダウンロードリンクは24時間で期限切れになります。
リンクが期限切れの場合は、新しいエクスポートをリクエストしてください。
Claudeへのサインインはブラウザ内に留まります。
セルフホストのMemサーバーは、選択したファイルのみを受け取ります。
まず検索し、重要なときに抽出する
一括インポートは元の会話をスレッドとして保存します。 それらはすぐに検索可能になるため、Memが見つけられるようにする前に、インポートした何百ものチャットを蒸留する必要はありません。 蒸留は2番目のステップです。 長期メモリとして残す価値のある決定、手順、好み、教訓を含む会話に使用してください。 大規模なアーカイブでは、タイムラインから、または特定のスレッドを選択して、小さなバッチで抽出を計画してください。
単一スレッド
ファイルから1つの会話をインポートします。
| 形式 | ファイルタイプ | 備考 |
|---|---|---|
| 会話Markdown | .md | ## User / ## Assistant / ## Systemヘッダー、任意のYAMLフロントマター |
| Cursor | .md | Cursorのネイティブエクスポート形式(自動検出) |
| 汎用Markdown | .md | 任意のmarkdownファイル。ドキュメントとしてインポートされます |
ドキュメントと会話
.mdファイルが通常のドキュメント(## User / ## Assistantヘッダーなし)である場合は、スレッドではなくライブラリに属します。
タイムラインにドラッグするか、ライブラリビューからインポートしてください。
会話Markdownフォーマット
会話インポート用のポータブルフォーマットです。
## User / ## Assistantヘッダーを書き出すツールであれば、Nowledge Memが読み取れるファイルを生成します。
最小例
最も単純な有効なファイル、2ターン、フロントマターなし:
## User
What is Python's GIL?
## Assistant
The Global Interpreter Lock (GIL) is a mutex in CPython that allows only one thread to execute Python bytecode at a time. This means CPU-bound multi-threaded programs won't see speedups from threading: use multiprocessing or async I/O instead.完全な例
任意のYAMLフロントマターとシステムメッセージ付き:
---
title: Python Async Patterns
source: chatgpt
date: 2025-06-15
---
## System
You are a senior Python developer who explains concepts clearly.
## User
How does async/await work in Python?
## Assistant
Python's `async`/`await` lets you write concurrent code that doesn't block while waiting for I/O. An `async def` function returns a coroutine, and `await` pauses it until the result is ready, meanwhile other coroutines can run.
## User
When should I use asyncio vs threading?
## Assistant
Use **asyncio** for I/O-bound work (HTTP requests, database queries, file reads): it's lighter and scales better than threads. Use **threading** when you need to call blocking libraries that don't support async. Use **multiprocessing** for CPU-bound work.フォーマットのルール
- ヘッダー:
## User、## Assistant、または## System、レベル2見出し、メッセージごとに1つ - 内容: ヘッダー間のすべてが1つのメッセージです。 Markdownフォーマット、コードブロック、リストはそのまま保持されます
- フロントマター: 先頭の任意のYAMLブロック。
対応フィールド:
title、source、date、すべて任意 - 検出: 少なくとも1つの
## Userまたは## Assistantヘッダーを含むファイルは、自動的に会話として認識されます - フォールバック: 認識されたヘッダーのないファイルは、単一のドキュメントメッセージとしてインポートされます
- 大文字小文字: ロール名は大文字小文字を区別せずに照合されます(
## userと## Userのどちらも機能します)
インポートAPI
POST /threads/importはJSONメッセージまたは会話Markdownを受け付け、単一モードとバッチモードがあります。
単一スレッド(JSONメッセージ)
curl -X POST http://127.0.0.1:14242/threads/import \
-H "Content-Type: application/json" \
-d '{
"title": "My Conversation",
"source": "chatgpt",
"messages": [
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hi there! How can I help?"}
]
}'単一スレッド(Markdown)
curl -X POST http://127.0.0.1:14242/threads/import \
-H "Content-Type: application/json" \
-d '{
"markdown_content": "## User\n\nHello!\n\n## Assistant\n\nHi there! How can I help?"
}'バッチインポート
curl -X POST http://127.0.0.1:14242/threads/import \
-H "Content-Type: application/json" \
-d '{
"threads": [
{
"title": "Thread 1",
"messages": [
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi"}
]
},
{
"title": "Thread 2",
"markdown_content": "## User\n\nGoodbye\n\n## Assistant\n\nSee you!"
}
]
}'スレッドIDは省略時に自動生成されます。 タイトルは、利用可能な場合はmarkdownフロントマターから推測されます。
CLI
nmem CLIは、ファイル、JSON、またはstdinからのスレッドインポートをサポートします。
# Import a conversation markdown file
nmem t import --file conversation.md
# Import with explicit title and source
nmem t import --file chat.md --title "Python Async" --source chatgpt
# Import from JSON messages
nmem t import --messages '[{"role":"user","content":"Hello"},{"role":"assistant","content":"Hi"}]'
# Bulk JSON from Raycast AI (raycast-ai-exporter output)
nmem t import --file ~/Desktop/raycast_ai_chats.json
# Pipe markdown from stdin
cat conversation.md | nmem t import --stdin --title "Piped Conversation"すべてのオプションについてはnmem t import --helpを実行してください。
完全なコマンド一覧はCLIリファレンスをご覧ください。
ブラウザ拡張機能
Nowledge Mem Exchange拡張機能は、ブラウザの対応するAIチャットページで、拡張機能で実際に使用しているセッション(たとえばサイドパネルで開いたタブ)上で動作します。 Webチャット履歴全体の一括ダウンローダーではありません。 そのためには、各ベンダーのエクスポートとMemの一括インポートを使用するか、**既存の会話をインポートする**をご覧ください。 自動キャプチャ、手動蒸留、現在のスレッドのバックアップについては、ブラウザ拡張機能ガイドで説明しています。
MCPツール
| ツール | 機能 |
|---|---|
thread_search | キーワードでスレッドを検索、または最近のスレッドを一覧表示 |
thread_fetch_messages | 特定のスレッドから完全なメッセージを取得 |
search_thread_messages | スレッド内でキーワードに一致するメッセージを検索 |
MCPスレッドツールは、Memにすでに存在するスレッドを検索、読み取りします。
ローカルのコーディングエージェントのトランスクリプトをキャプチャするには、そのツールのネイティブコネクタを使用してください。
古いセッションをバックフィルするには、エージェントを実行しているクライアントマシンでnmem t sync --from <source>を実行します。
対応ソースにはclaude-code、codex、craft-agent、cursor、gemini-cli、grok、hermes、kimi-code、kimi-work、mimo-code、omp、opencode、piが含まれます。
これによりトランスクリプトの検出がローカルに保たれ、正規化されたスレッドがMemサーバーへアップロードされます。
