メインコンテンツへ移動
Nowledge MemNowledge Mem

Nowledge Mem CLI

Nowledge Memのコマンドラインインターフェース。ターミナルからのアクセス、スクリプト作成、AIエージェント連携。

nmem CLIを使うと、ターミナルからNowledge Memのナレッジベースにアクセスできます。 メモリの検索、スレッドの閲覧、ワーキングメモリの読み取りと編集、ナレッジグラフの探索、アクティビティフィードの表示を、すべてシェルから行えます。

ブラウザの自動化も必要な場合は、デスクトップアプリにbrowse-nowという2つ目のCLIが同梱されています。 これはNowledge Mem Exchange拡張機能と連携し、エージェントがユーザーの実際のブラウザを操作して、認証が必要なタスクやインタラクティブなWebタスクを実行できるようにします。 このブラウザブリッジはローカル専用であり、Access Anywhereを通じて公開されることはありません。

インストール

オプション1: スタンドアロンCLIパッケージ

任意のマシンにインストールできます。 ローカルまたはリモートのNowledge Memサーバーで動作します:

pip install nmem-cli

# or with uv
uv pip install nmem-cli

# on Fedora / RPM-based Linux, use the community-maintained COPR package
sudo dnf copr enable abn/nowledge-mem
sudo dnf install nowledge-mem-cli

# on Arch Linux, use the community-maintained AUR package
yay -S nmem-cli
# or: paru -S nmem-cli

# or run without installing
uvx --from nmem-cli nmem --help

要件: Python 3.11以上、Nowledge Memがローカルで実行中またはリモートから到達可能であること。

リモートアクセス

スタンドアロンパッケージを使うと、サーバー、CI/CDパイプライン、リモートワークステーションからNowledge Memにアクセスできます。 Access Mem Anywhereをご覧ください。 PyPIで公開されています。

Arch Linux

AURパッケージはczytによってコミュニティメンテナンスされており、PyPIのnmem-cliリリースに追随しています。 他のAURパッケージと同様、インストール前にPKGBUILDを確認してください。

Fedora / RPM ベースの Linux

COPRパッケージはabnによってコミュニティメンテナンスされています。 CLIのみのマシンにはnowledge-mem-cli、ヘッドレスサーバーにはnowledge-mem-server、完全なローカルデスクトップ体験にはnowledge-memを使用してください。

オプション2: デスクトップアプリに同梱

macOS

Settings → Preferences → Developer Toolsに移動し、Install CLIをクリックします。

/usr/local/bin/nmemにインストールされます。

0:00
--:--

Windows

CLIはアプリのインストール後、自動的に利用可能になります。 nmemを使用するには、新しいターミナルウィンドウを開いてください。

Linux

deb/rpmパッケージに含まれています。 バイナリは/usr/local/bin/nmemに配置されます。


クイックスタート

nmem status                              # Check connection
nmem ask "What did we decide about deployment?"
nmem ask "What changed?" --space work --ephemeral
nmem m search "project notes"           # Search memories
nmem m search "project notes" --space work
nmem m add "Key insight" --title "Learning"
nmem wm                                  # Read today's Working Memory
nmem wm --space work                     # Read Working Memory for one space
nmem spaces                              # List known spaces
nmem f --days 1                          # Today's activity
nmem g expand <memory-id>               # Explore graph connections
nmem tui                                 # Interactive terminal UI

グローバルオプション

オプション説明
-j, --json機械可読なJSON出力
--api-url <url>API URL (デフォルト: http://127.0.0.1:14242)
-V, --versionバージョンを表示
-h, --helpヘルプを表示

--space <space>はグローバルオプションではありません。 指定した名前のスペース内で実行するには、nmem m search "notes" --space workのようにサブコマンドの後に渡します。

エイリアス: m = memories · t = threads · wm = working-memory · g = graph · f = feed · c = communities


ナレッジに質問する (nmem ask)

ターミナルから、メモリ、過去の会話、ライブラリのドキュメント、グラフの接続を横断して質問できます:

nmem ask "What did we decide about the authentication migration?"
nmem ask "Summarize the evidence" --space "Research"
nmem ask "Is this documented anywhere?" --ephemeral
nmem --json ask "Which sources support this decision?"

デフォルトでは、質問と完了した回答はタイムラインに保存されるため、後で根拠を開き直したり、会話を続けたりできます。 タイムラインのエントリを作成したくない単発の回答には--ephemeralを使用してください。 進捗はstderrに、回答はstdoutに書き出されるため、通常のシェルパイプはクリーンなままです。 --jsonは、回答、根拠の参照、検索カバレッジ、タイムラインイベントIDを含む1つのターミナルオブジェクトを返します。

--spaceは、そのスペースの通常のstrict/shared/all検索ポリシーに従います。 スペースの境界をバイパスすることはありません。


メモリコマンド (nmem m)

スペースは任意です

スペースを使用しない場合は、--spaceを無視してデフォルトスペースで作業を続けてください。 プロジェクトやエージェントのコンテキストを分ける必要がある場合は、同じコマンドが--space "<space name>"を付けて動作します。

メモリを一覧表示

nmem m list                   # Recent 10 memories
nmem m list -n 50             # List 50
nmem m list --importance-min 0.7  # Minimum importance filter
nmem m search "authentication patterns"
nmem m search "authentication patterns" --space work
nmem m search "API design" --importance 0.8
nmem m search "deploy" -l devops -l backend    # Filter by labels (AND)
nmem m search "renewal" --metadata customer=acme --metadata purpose=contract-review
nmem m search "sprint" --mode deep             # Graph + LLM-enhanced results
nmem m search "old deployment notes" --include-history

検索は、デフォルトのテーブルでメモリの出所と古さを表示します。 デフォルトでは、recallは現在のメモリのみを返します。 新しいバージョンに取って代わられたメモリはグラフの履歴には残りますが、通常の検索で競合し続けることはありません。 回答が時間とともにどう変わったかを監査する場合は--include-historyを使用してください。

ワークフローがすでに把握している安定したフィールド (顧客、プロジェクト、素材タイプ、用途など) には--metadata key=valueを使用してください。 ランキングの前にメモリの集合を絞り込むには、--metadataを繰り返します。

バイテンポラル検索。 何かが起きた時点 と それを保存した時点 を区別します:

nmem m search "database decision" --event-from 2025-01 --event-to 2025-06
nmem m search "meeting notes" --recorded-from 2026-01-01
オプション説明
-n最大結果数
-l, --labelラベルでフィルタ (繰り返し可)
--metadata, --metaメモリメタデータのキー/値でフィルタ (繰り返し可)
--importance最小重要度 (0〜1)
--modenormal (デフォルト、高速) またはdeep (グラフ + LLM強化)
--include-history取って代わられた/非推奨のメモリバージョンを含める
--event-from/toその事実が 起きた 時点 (YYYY、YYYY-MM、またはYYYY-MM-DD)
--recorded-from/toNowledge Memに 保存された 時点 (YYYY-MM-DD)

追加

nmem m add "We chose PostgreSQL for task events"
nmem m add "Prefer functional components in React" \
  --title "Frontend conventions" \
  --unit-type preference \
  --importance 0.8 \
  -l frontend -l react

# Record when something actually happened (bi-temporal)
nmem m add "Decided to sunset the legacy API" \
  --unit-type decision \
  --event-start 2025-11 \
  --when past

# Preserve provenance when an agent distills a thread
nmem m add "The migration script must run after the schema check" \
  --unit-type learning \
  --source claude-code \
  --source-thread thread_abc \
  --source-msg msg_042
オプション説明
-t, --titleメモリのタイトル
-i, --importance重要度0〜1
-l, --labelラベルを追加 (繰り返し可)
--unit-typefact preference decision plan procedure learning context event
--event-startそれが起きた時点 (YYYY、YYYY-MM、YYYY-MM-DD)
--event-end期間の終わり
--whenpast present future timeless (デフォルト: timeless)
--source-threadこのメモリを抽出したスレッドID
--source-msgこのメモリを抽出したメッセージID
--source-rangeメッセージインデックスの範囲、例えば12:18

メモリタイプをレビュー

古いメモリや型付けが弱いメモリを、現在の型システムに照らしてレビューすべき場合に使用します。 このコマンドはデフォルトでドライランになります。 変更を適用すると、メモリのメタデータと検索インデックスのフィルタメタデータのみが更新されます。 メモリの内容を書き換えたり、メモリを再埋め込みしたり、検索インデックスを再構築したりすることはありません。

nmem m reclassify-types
nmem m reclassify-types --target-type procedure
nmem m reclassify-types --unit-type learning --unit-type decision --target-type procedure
nmem --json m reclassify-types --target-type procedure --wait
nmem m reclassify-types --apply --target-type procedure --limit 50

以前に決定や学びとして保存されていた再利用可能なハウツーを修復する場合は--target-type procedureを使用してください。 スクリプトが、正確なレビューリクエストに対するフィード結果を取得してから続行したい場合は--waitを使用してください。

表示

nmem m show <id>

更新

nmem m update <id> --title "New title"
nmem m update <id> --importance 0.9
nmem m update <id> --content "Updated content"

非推奨化または取って代わる

メモリがもはや真実でなくなった場合は、ライフサイクルコマンドを使用します。 これにより、古いメモリは履歴として利用可能なまま、通常のrecallからは除外されます。

nmem m deprecate mem_old --reason "The API changed"
nmem m supersede mem_old mem_new --reason "The newer deployment decision replaced it"

supersedeは削除ではありません。 古いメモリから新しいメモリへのEVOLVES replacesリンクを記録し、ラベルを置き換え先へ引き継ぎ、古いメモリは履歴ビューとm search --include-historyを通じて利用可能なままにします。

スペース間で移動

すでにあるスペースにメモリを保存していて、それを別のスペースに移動したい場合に使用します。

nmem m move <id> --space "Research Agent" --to-space "Archive"
nmem m move <id1> <id2> --space "Research Agent" --to-space "Archive" -f
nmem m move --all-in-space "Research Agent" --to-space "Archive" --dry-run
nmem m move --all-in-space "Research Agent" --to-space "Archive" -f

--spaceは移動元のスペースです。 --to-spaceは移動先です。 スペース全体の移動では、何かを変更する前に件数をプレビューしたい場合は、まず--dry-runを使用してください。

削除

nmem m delete <id>
nmem m delete <id> -f          # Skip confirmation
nmem m delete <id1> <id2>      # Multiple IDs

nmem m deleteはデフォルトで対話的です。 スクリプト、エージェント、CI、または非対話的なシェルでは、-fを使用して、コマンドが確認を待ってブロックしないようにしてください。


スレッドコマンド (nmem t)

nmem t list                             # Recent threads
nmem t list --source openclaw -n 20     # Recent OpenClaw threads only
nmem t list --offset 20 -n 20           # Next page of recent threads
nmem t search "architecture decisions"

最新のスレッドを順番に取得したい場合はlistを使用してください。 スレッドの内容内で全文一致を探したい場合はsearchを使用してください。

表示

nmem t show <id>
nmem t show <id> -n 50                 # Show up to 50 messages
nmem t show <id> --content-limit 200

作成

# From text
nmem t create -t "Quick note" -c "Remember to review the API changes"

# From a file
nmem t create -t "Meeting notes" -f notes.md

# With structured messages
nmem t create -t "Chat session" \
  -m '[{"role":"user","content":"Hello"},{"role":"assistant","content":"Hi!"}]'

# With a stable ID (idempotent, safe to re-run)
nmem t create -t "OpenClaw session" --id "openclaw-abc123-session"

追加

既存のスレッドにメッセージを追加します。 安全に冪等です。 重複するメッセージは、内容のハッシュまたは外部IDによってフィルタされます。

# Single message
nmem t append <id> -c "Follow-up note"

# Structured messages
nmem t append <id> \
  -m '[{"role":"user","content":"Question"},{"role":"assistant","content":"Answer"}]'

# With idempotency key (safe for retries / repeated hook fires)
nmem t append <id> \
  -m '[{"role":"user","content":"msg"}]' \
  --idempotency-key "oc-batch-session-001"

Claude Code / Grok Build / Codex / Gemini CLIセッションを保存

nmem t save --from claude-code         # Save Claude Code session
nmem t save --from grok                # Save Grok Build session
nmem t save --from codex               # Save Codex session
nmem t save --from codex -s "Summary"  # With session summary
nmem t save --from gemini-cli           # Save Gemini CLI session

デフォルトでは、nmemはClaude Codeを~/.claudeから、Grok Buildを~/.grokから、Codexを~/.codexから読み取ります。 これらのツールをカスタムの場所に置いている場合、CLAUDE_CONFIG_DIR、GROK_HOME、CODEX_HOMEが自動的に尊重されます。

オプション説明
--fromclaude-code、grok、codex、またはgemini-cli (必須)
-p, --projectプロジェクトディレクトリのパス (デフォルト: カレントディレクトリ)
-m, --modecurrent (最新) またはallセッション
--session-id特定のセッションID (CodexおよびGrok Build)
-s, --summaryセッションの簡単な要約
--truncate大きなツール結果 (>10KB) を切り詰める

削除

nmem t delete <id>
nmem t delete <id> -f                  # Force
nmem t delete <id> --cascade           # Also delete associated memories

スペース間で移動

nmem t move <id> --space "Research Agent" --to-space "Archive"
nmem t move <id1> <id2> --space "Research Agent" --to-space "Archive" -f
nmem t move --all-in-space "Research Agent" --to-space "Archive" --dry-run
nmem t move --all-in-space "Research Agent" --to-space "Archive" -f

メモリと同様に、--spaceは移動元のガードであり、--to-spaceは移動先です。 Memはスペース全体の移動をサーバー側で解決するため、スクリプトが最初にすべての結果をページ送りする必要はありません。


Nowledge FS (nmem fs)

nmem fsはNowledge FSのCLIです。 これはKnowledge Treeを支えるプレビューのパス優先レイヤーです。 スクリプトやエージェントが、メモリ、スレッド、wiki、フィード、ライブラリのコマンドを別々に扱うのではなく、Memをパスとしてナビゲートすべき場合に使用します。

これはプレビューの形であり、まだローカルマウントではありません。 パスはMem APIが提供する安定したMem識別子であるため、デスクトップアプリ、Webクライアント、リモートクライアント、スクリプト、MCP接続されたエージェントから動作します。

nmem fs capabilities --json                   # Discover roots, verbs, and limits
nmem fs ls /                                # Top-level branches
nmem fs cat /wiki/entities/PostgreSQL.entity.md
nmem fs cat /sources/research-report-abc123.pdf --line 120 --lines 80
nmem fs stat /memories/by-id/mem_abc.memory.md
nmem fs find /memories --label decisions --since 2026-01-01
nmem fs grep "JWT rotation" /memories
nmem fs grep "JWT rotation" /threads
nmem fs grep "JWT rotation" /sources
nmem fs grep -E "JWT|token" /threads --jsonl
nmem fs grep "JWT rotation" /threads --jsonl
nmem fs recall "session token strategy" --in /memories

スクリプトやアダプタが現在のルート一覧、サポートされる動詞、制限、機能フラグを必要とする場合はcapabilities --jsonを使用してください。 表現が曖昧でメモリを探している場合はrecall、制約が構造的な場合はfind、正確なフレーズが必要な場合はgrepを使用してください。 grepはデフォルトで大文字と小文字を区別しません。 正確な大文字小文字には--case-sensitiveを、JWT|tokenのような正規表現パターンには-Eを追加してください。 結果はパスであるため、catにパイプしたりコピーしたりできます。 grepは行番号も返します。 長いスレッドや解析済みドキュメントの有用な範囲だけを調べるには、cat --lineと--linesを使用してください。

nmem fs recall "why did we change token refresh?" --in /memories -k 5 --paths \
  | while IFS= read -r kfs_path; do nmem fs cat "$kfs_path"; done

nmem fs grep "JWT rotation" /threads --jsonl \
  | while IFS= read -r hit; do
      kfs_path=$(printf '%s' "$hit" | jq -r '.path')
      kfs_line=$(printf '%s' "$hit" | jq -r '.line')
      nmem fs cat "$kfs_path" --line "$kfs_line" --lines 12
    done

エージェント向け

広く始めてから絞り込みます: recallまたはfindはパスを返し、lsは近くのコンテキストを提供し、statはメタデータを低コストで確認し、catは最終的なオブジェクトのみを読み込みます。 これにより、ユーザーのツリーというメンタルモデルを保ちながら、コンテキストを小さく保てます。

正規の書き込み可能なパスは、シェルから更新できます:

cat note.md | nmem fs write /memories/by-id/mem_abc.memory.md --stdin
nmem fs rm /memories/by-id/mem_abc.memory.md --force

エイリアスと派生パスは読み取り専用のままです。 例えば、ラベルや日付のブランチの下に表示されるメモリは、その/memories/by-id/...パスを通じて編集すべきです。

動詞

動詞用途
capabilitiesサポートされるルート、動詞、制限、機能フラグを検出します。スクリプトには--jsonを使用してください。
ls PATHブランチを一覧表示します。ディレクトリがページ分割されている場合は-nを付けて--cursorを使用してください。
cat PATHレンダリングされたオブジェクトの本文とフロントマターを読み取ります。小さな範囲には--line N --lines Mを追加してください。
stat PATH本文を読み込まずにメタデータを調べます。
find PATH ...構造的な検索、例えば--type memory、--label decisions、--since 2026-01-01、または--mentions PostgreSQL。
grep QUERY PATHメモリ、スレッドメッセージ、解析済みライブラリドキュメントに対する完全一致文字列検索。正規表現には-Eを追加してください。
recall QUERY --in /memoriesパスを返すセマンティックメモリ検索。
write PATH正規の書き込み可能なオブジェクトを更新します。
rm PATH正規の書き込み可能なオブジェクトを削除します。

シェルパイプラインでは、find、grep、recallが--pathsをサポートします。 次のコマンドがpathとlineの両方を必要とする場合、grepは--jsonlもサポートします。 zshでは、ループ変数をpathと名付けないでください。 シェルのコマンド検索パスをシャドウしてしまいます。

現在の境界

  • nmem fsはAPIベースです。 まだディスク上に実際のフォルダを作成しません。
  • プレビューリリースはTree、/fs/*、CLI、MCPをサポートします。 マウントは後のフェーズで計画されています。
  • grepは完全一致文字列検索です。 メモリ、スレッドメッセージ、解析済みライブラリドキュメントを検索できます。 デフォルトで大文字と小文字を区別しません。 正確な大文字小文字には--case-sensitiveを、正規表現には-Eを使用してください。 セマンティックメモリ検索にはrecallを使用してください。
  • PDFページやスプレッドシートのシートなどのソースフラグメント、およびSQL/Cypher/replay/tailは、そのスキーマと安全制限が確定した後に計画されています。
  • エラーはおなじみのファイルシステム形式のコードを使用します: 存在しないパスにはENOENT、派生した読み取り専用パスにはEROFS、エイリアスへの書き込み試行にはEXDEV、設計済みだがまだ出荷されていない動詞にはENOTSUP。

ライブラリソース (nmem sources)

あなたのライブラリ (PDF、スプレッドシート、Wordファイル、プレゼンテーション、Markdown、コード、URL) はターミナルから到達可能です。 スクリプトが、アプリを開かずにドキュメントを探したり、その一節を読んだり、スプレッドシートから構造化された分析を引き出したりする必要がある場合はnmem sourcesを使用してください。

nmem sourcesはnmem sへのエイリアスです。

一覧表示、追加、表示、削除

nmem sources list                       # Sources in the current space
nmem sources add notes.pdf               # Import a file
nmem sources add https://example.com/doc # Capture a URL
nmem sources show src_abc123             # Metadata for one source
nmem sources delete src_abc123 -f        # Delete (non-interactive)

ライブラリ全体を検索

nmem sources search "meeting notes"
nmem sources search roadmap -n 10
nmem sources search "renewal terms" --label customer-acme
nmem sources list --label case-study

ファイル名と解析済みサマリーに対する全文一致。 以下のコマンドに渡せるソースIDを返します。

顧客、プロジェクト、素材タイプ、用途などのソースラベルで絞り込むには--labelを使用してください。 ランキングの前に結果セットを絞り込むには、--labelを繰り返してください。

解析済みコンテンツを読み取る

nmem sources read src_abc123                         # First 8000 characters
nmem sources read src_abc123 --offset 8000           # Next page
nmem sources read src_abc123 --limit 16000           # Larger window

1つのドキュメントの解析済みテキストを、文字オフセットでページ分割して返します。 特定のセクションを別のツールに渡すのに便利です。

単一ドキュメント内を検索

nmem sources search-chunks src_abc123 "risk factors"
nmem sources search-chunks src_abc123 budget -n 3

1つのソースのインデックス化されたチャンクに対して全文検索を実行します。 各一致は、実際の一節、チャンクインデックス、スコアとともに返されるため、あなたと下流のエージェントは、いくつのチャンクが一致したかだけでなく、何が一致したかを確認できます。

表形式のソースを分析

nmem sources analyze src_abc123                                # All columns
nmem sources analyze src_abc123 --column price --column region # Specific columns

CSV、TSV、XLSX、またはXLSソースに対して構造化分析を実行します: 列の統計、分布、基本的な形状。 物語形式のドキュメントには、代わりにsearch-chunksとreadを使用してください。

エージェントが使うのと同じツール

search、read、search-chunks、analyzeは、AI Now、フィードエージェント、グラフインテリジェンスエージェント、MCP接続されたクライアントが利用できるのと同じライブラリツールです。 ターミナルからできることはエージェントがあなたに代わって実行でき、その逆も同様です。


ワーキングメモリ (nmem wm)

ワーキングメモリはAIが生成する日次ブリーフィングです: フォーカス領域、未解決の問い、最近のアクティビティ。 バックグラウンドインテリジェンスが毎朝更新します。

Defaultスペースは、おなじみの互換ファイルを~/ai-now/memory.mdに保持します。 スペースが有効な場合、nmem wmは--space "<space name>"を使って任意のスペースのブリーフィングを読み取りまたは編集できます。

読み取り

nmem wm                                # Today's Working Memory
nmem wm --space work                    # Working Memory for one space
nmem wm --date 2026-02-12             # Archived date
nmem wm history                        # List available archived dates

編集

nmem wm edit -m "## Focus Areas\n- Ship v0.6"   # Set directly
nmem wm edit --space work -m "## Focus Areas\n- Ship v0.6"   # Set one space

セクションをパッチ (非破壊的)

ドキュメントの残りに触れずに、1つのセクションを置き換えたり追加したりします:

# Replace a section
nmem wm patch --heading "## Focus Areas" --content "- Finish OpenClaw plugin release"

# Append to a section
nmem wm patch --heading "## Notes" --append "Reminder: deploy to staging tonight"

見出しは大文字と小文字を区別せず、部分的に一致します。 "Focus"は"## Focus Areas"に一致します。

スペース (nmem spaces)

デフォルトスペース以上のものが必要な場合にのみ使用してください。

nmem spaces
nmem spaces create "Research Agent"
nmem spaces update "Research Agent" --instructions "Prefer research notes and hypotheses"
nmem spaces show "Research Agent"

自動化のために安定したストレージキーが必要な場合、--idは上級オプションとして引き続き利用可能です。 ほとんどの人はMemに生成させるべきです。


グラフコマンド (nmem g)

グラフの近傍を展開

指定したメモリの周囲の、接続されたメモリ、エンティティ、クリスタル、ソースドキュメントを探索します:

nmem g expand <memory-id>
nmem g expand <memory-id> --depth 2   # Two hops out
nmem g expand <memory-id> -n 10       # Limit neighbors per hop

EVOLVESバージョン連鎖を表示

メモリが時間とともにどのように洗練または取って代わられたかを確認します:

nmem g evolves <memory-id>

フィード (nmem f)

アクティビティフィードは、保存、学習、統合、取り込みされたものを時系列順に表示します。

nmem f                                  # Last 7 days (high-signal events)
nmem f --days 1                         # Today only
nmem f --days 30                        # Last 30 days
nmem f --type crystal_created           # Only crystal synthesis events
nmem f --from 2026-02-10 --to 2026-02-14   # Exact date range
nmem f --all                            # Include low-signal background events
nmem f -n 50                            # Limit events (default: 100)
オプション説明
--days何日前まで (デフォルト: 7、今日は1)
--typeイベントタイプでフィルタ
-n, --limit取得する最大イベント数 (デフォルト: 100)
--all低シグナルのバックグラウンドイベントを含める
--from、--to正確な日付範囲 (YYYY-MM-DD)

イベントタイプ: memory_created · crystal_created · insight_generated · source_ingested · source_extracted · daily_briefing · url_captured


ナレッジコミュニティ (nmem c)

ナレッジグラフで自動検出されたトピッククラスタを閲覧します:

nmem c                                  # List communities
nmem c -n 20
nmem c show <community-id>              # Show community details (entities, memories)
nmem c detect                            # Trigger community detection (background)

設定とモデル

検索インデックスモデル

nmem models status                      # Check current model status
nmem models download                    # Download the Search Index Model
nmem models reindex                     # Rebuild the search index

LLMプロバイダー

nmem config provider list
nmem config provider set openai --api-key sk-xxx --model gpt-4o
nmem config provider test

処理設定

nmem config settings                               # Show all settings
nmem config settings set briefingHour 8            # Change morning briefing time

クライアント接続設定

現在のマシンがリモートのMemサーバーに接続する必要がある場合に使用します:

nmem config client show
nmem config client set url https://mem.example.com
nmem config client set api-key nmem_...
nmem config client clear api-key

nmem config client ...は、このマシンのCLIとプラグインが使用するローカルクライアント設定を更新します。 これは、Memサーバーを他のデバイスに公開する方法を制御するnmem config access ...とは別のものです。

MCP設定スニペット

AIホストやオーケストレーターが、Memクライアント設定を直接読むのではなく、MCP設定ファイルを要求する場合に使用します:

nmem config mcp show --host claude-code
nmem config mcp show --host codex
nmem config mcp show --host cursor
nmem config mcp show --host gemini-cli
nmem config mcp show --host google-antigravity

スニペットには、解決されたMem URL、設定されている場合はAPIキーヘッダー、そのホストに適した形が含まれます。 別のツールがあなたに代わってClaude Codeを起動する場合、そのランチャーは依然として生成されたMCP設定をClaude Codeに渡す必要があります。

ライセンス

nmem license status
nmem license activate <key> [email]   # Email is inferred from the license key when possible
nmem license renew                    # Refresh or renew this device's authorization
nmem license deactivate                 # Deactivate license on this device

リモートアクセス

# LAN / private network
export NMEM_API_URL=http://192.168.1.100:14242
nmem status

# Cloudflare tunnel (from desktop app: Settings → Access Anywhere)
export NMEM_API_URL=https://<your-url>
export NMEM_API_KEY=nmem_...
nmem m search "notes"

# One-off without env vars
nmem --api-url https://<your-url> status
変数説明デフォルト
NMEM_API_URLAPIサーバーURLhttp://127.0.0.1:14242
NMEM_API_KEYAPIキー (Bearer認証)(未設定)

完全なガイド: Access Mem Anywhere。


JSON出力

機械可読な出力には、サブコマンドの前に--json (または-j) を追加します:

nmem --json m search "API design" | jq '.memories[0].id'
nmem --json m add "Note" | jq -r '.id'
nmem --json f --days 1 | jq '.events[].title'

検索レスポンス

{
  "query": "API design",
  "total": 3,
  "search_mode": "fast_bm25_vector",
  "memories": [
    {
      "id": "abc123-def456-...",
      "title": "REST API versioning decision",
      "content": "We use /v1/ prefix for all public endpoints...",
      "score": 0.91,
      "relevance_reason": "Text Match (89%) + Semantic Match (73%) | decay[imp:high]",
      "importance": 0.8,
      "labels": ["architecture", "api"],
      "event_start": "2025-09",
      "temporal_context": "past",
      "source": "cli"
    }
  ]
}

フィードレスポンス

{
  "events": [
    {
      "id": "evt-...",
      "event_type": "memory_created",
      "severity": "info",
      "title": "Memory or event title",
      "description": "Summary text...",
      "metadata": { "source": "claude", "unit_type": "fact" },
      "related_memory_ids": ["..."],
      "created_at": "2026-02-20T02:35:28+00:00"
    }
  ]
}

エラーレスポンス

{
  "error": "api_error",
  "status_code": 404,
  "detail": "Memory not found"
}

ステータスと統計

nmem status
# nmem v0.6.2
#   status   ok
#   api      http://127.0.0.1:14242
#   database connected
#   search   ready

nmem stats
# Database Statistics
#   memories    83
#   threads     27
#   entities    248
#   labels      177
#   communities 32

何が進行中か (nmem tasks)

あなたのAIが実行中、キュー待ち、1回だけスケジュール済み、または繰り返し実行中のすべてを1回の読み取りで確認します。 表示されるのは以下のみです: nmem schedulesで繰り返しタスクを一時停止または再開し、アプリのSettings → Processingから実行中のバックグラウンドタスクを停止します。

nmem tasks
# Running
# ┌───────────────────────────────────────────────────────────┐
# │ WHEN   TASK                   LANE                   LAST │
# ╞═══════════════════════════════════════════════════════════╡
# │ now    Community detection    community_detection    -    │
# └───────────────────────────────────────────────────────────┘
#
# Scheduled once
# ┌──────────────────────────────────────────────────────────────────────────┐
# │ WHEN     TASK                            LANE                  LAST      │
# ╞══════════════════════════════════════════════════════════════════════════╡
# │ in 19h   Migration 0086 on staging — …   scheduled_follow_up   -         │
# └──────────────────────────────────────────────────────────────────────────┘
#
# Recurring
# ┌───────────────────────────────────────────────────────────────┐
# │ WHEN     TASK                           LANE             LAST │
# ╞═══════════════════════════════════════════════════════════════╡
# │ in 14h   Morning research digest        recurring_task   -    │
# │ paused   Friday knowledge sweep         recurring_task   -    │
# │ draft    Weekly investor update draft   recurring_task   -    │
# └───────────────────────────────────────────────────────────────┘

nmem --json tasks | jq '.recurring[].title'

空の結果はNothing in flight.を出力します。 バックグラウンド処理がオフになっているサーバーは代わりにそれを出力するため、沈黙が空のスケジュールと誤解されることはありません。

検索に注意が必要な場合、nmem statusがどのケースにいるかを教えてくれます:

  • search rebuild needed: nmem models reindexを実行してください
  • search updating metadata: Memがバックグラウンドで新しい検索メタデータを埋めています。 再構築は不要です。

AIエージェント連携

--jsonフラグと安定した終了コードにより、nmemはAIエージェントから簡単に操作できます。

# Search for context before responding
nmem --json m search "authentication flow" | jq '.memories[:3]'

# Save an insight
nmem m add "Rate limiting is per-user, not per-IP" \
  --unit-type learning --importance 0.8 -l backend

# Save a decision with when it was made
nmem m add "Chose Postgres over MySQL for task events" \
  --unit-type decision --event-start 2026-02 -l architecture

# Browse what was worked on last week
nmem --json f --days 7 | jq '.events[].title'

# Create a session thread backup
nmem t create -t "Debug session $(date +%Y%m%d)" \
  -m '[{"role":"user","content":"Investigate auth failures"},{"role":"assistant","content":"Found rate limit issue"}]'

TUI

メモリ、スレッド、ナレッジグラフを閲覧するためのインタラクティブなターミナルUI:

nmem tui

NMEM_SPACE="Research Agent"を付けてTUIを起動すると、MemoriesタブとThreadsタブはそのスペース内にとどまります。 これは、1つのシェルセッションが1つのプロジェクトやエージェントレーンに属するエージェントワークステーションやターミナル専用サーバーに便利です。

多くのレコードをスペース間で移動するには、アプリまたはnmem m move / nmem t moveコマンドを使用してください。 TUIは閲覧と編集をスコープ内に保ちますが、別途の複数選択移動ワークフローは追加しません。

Settingsタブでは、ターミナル専用環境からAccess Anywhere (クイックリンク / 安定したCloudflareアカウントモード) を管理することもできます。 これはAccess Mem Anywhereで説明されているのと同じリモートアクセス機能です。

nmem tui main nmem tui memory nmem tui thread nmem tui graph


トラブルシューティング

"command not found: nmem"

  • PyPIインストール: pip install nmem-cli (Python 3.11以上)
  • Arch Linux: yay -S nmem-cliまたはparu -S nmem-cli
  • インストールせずに実行: uvx --from nmem-cli nmem --help
  • macOSデスクトップ: Settings → Preferences → Developer Tools → Install CLI
  • Windows: アプリのインストール後に新しいターミナルを開いてください

"Cannot connect to server"

  1. Nowledge Memが実行中であることを確認してください
  2. 試してください: nmem --api-url http://127.0.0.1:14242 status
  3. localhostをブロックするプロキシやVPNがないか確認してください

このページの内容