Skip to main content

Linkly AI CLI の紹介

Linkly AI CLI は、Linkly AI Desktop の MCP サービスに接続して、ターミナルからローカルドキュメントを検索、閲覧、読み取りできるコマンドラインツールです。同時に、AI Agent(Claude Desktop、Cursor など)と Linkly AI の間のブリッジとしても機能します。

ターミナル検索

コマンドラインから直接ドキュメントを検索。開発者やギークユーザーに最適です

MCP ブリッジ

stdio MCP モードで実行し、Claude Desktop、Cursor などの AI ツールから Linkly AI を呼び出せます

インストール

ターミナルで以下を実行:
または Homebrew でインストール:
インストール完了後、インストールを確認します:
デフォルトでは、CLI は ~/.linkly/port ファイルを通じてローカルの Linkly AI Desktop アプリを自動的に検出して接続します。LAN やクラウドトンネル経由でリモートのデバイスに接続することもできます — 下記の接続モードを参照してください。

使い方

CLI は search → grep または outline → read の段階的なワークフローに従います:まず検索で対象ドキュメントを見つけ、次に grep でパターンを特定するか、アウトラインで構造を把握し、最後に具体的な内容を読み取ります。ユーザーが指すコンテナ(「Notion ノートの中で」「Dropbox の論文フォルダで」)の実際のパスがわからない場合は、search の前に find-paths を呼び出してパスを特定できます。
成功したコマンド出力の末尾には、[meta] now=2026-05-08T...Z という UTC タイムスタンプ行が付きます(JSON モードではトップレベルの _meta.now フィールド)。これは Desktop が AI アシスタントに「先月」などの相対日付を計算するために提供するメタ情報です。人間ユーザーは無視して構いません。スクリプト処理時は、最終行をフィルタしてから後続の解析を行うことを推奨します。

接続ステータスの確認

Linkly AI Desktop の実行ステータス、バージョン番号、インデックス済みドキュメント数、インデックスステータスを返します。

ドキュメント検索

ローカルドキュメントを検索し、最も関連性の高い結果リストを返します。タイトル、パス、マッチ度、内容スニペットが含まれます。 よく使うパラメータ:
--modified-after / --modified-before は ISO 8601 UTC 形式を受け付けます:日付のみ 2024-01-0100:00:00Z として扱われる)または完全な RFC 3339 タイムスタンプ 2024-01-01T00:00:00Z--time-sortnewest / oldest を受け付け、省略すると BM25 + ベクトルのハイブリッド関連度順を保持します。
--scope notes は結果をノートに限定し、--library--path-glob を無視します — これらのフィルターはエラーにならず、静かに破棄されます。

ドキュメントアウトラインの表示

ドキュメントの構造化されたアウトラインとメタデータを取得します。DOC_ID は検索結果から取得します。複数のドキュメントを一度に表示したり、- を指定して ID をパイプで渡したりできます:
アウトライン機能は Markdown、DOCX、PowerPoint (PPTX)、EPUB のドキュメントで最も効果的です。これらの形式の見出し構造を解析できます。プレーンテキストやブックマークのない PDF の場合は、read コマンドを直接使用することをお勧めします。

ドキュメント内のパターン検索

1 つまたは複数のドキュメント内で、正規表現パターンにマッチする箇所を検索します。特定のテキスト(用語、人名、日付、識別子など)を探す必要があるときに使用します:

ドキュメント内容の読み取り

1 つまたは複数のドキュメントの完全な内容を読み取り、行番号付きのテキストを出力します。長いドキュメントの場合、ページ分割して読み取れます:
--json を指定した場合、複数のドキュメントは JSON Lines(1 行に 1 オブジェクト)として出力されます。ID が 1 つだけのときは従来どおり単一のオブジェクトを出力するため、既存のスクリプトに影響はありません。
ページ分割戦略: デフォルトでは 1 回に 200 行を読み取ります(最大 500 行)。長いドキュメントの場合、--offset を調整して段階的に読み取ります:

パス特定(find-paths)

インデックス済みドキュメントのファイルパスフィールドに対してキーワードで曖昧マッチングを行い、フォルダ単位で集約して上位の候補ディレクトリを返します。search の補助ツールとして位置づけられており、ユーザーがコンテナを名前で示しているのに(「Notion ノートの中で」「Dropbox の論文フォルダで」)その実際のパスがわからないとき、まず find-paths で実際のパスを探し、返されたパスの特徴的なセグメントを search--path-glob パラメータに渡します。フォルダ名に glob メタ文字(* ? [)が含まれる場合は、返された path_glob フィールドをそのまま使えます——すでにエスケープ済みで、そのフォルダに字面一致します。 典型的な 2 ステップワークフロー:
バリエーションマッチング: --patterns はカンマ区切りの複数キーワードを受け付け、内部で OR 関係でサブストリングマッチングを行います。1 回の呼び出しで複数のバリエーションを渡す(翻訳ペア、大文字小文字、既知のアプリ識別子など)ことを推奨します:
find-paths は「フォルダを探す」ツールであり、「ファイルを探す」ツールではありません:キーワードがディレクトリセグメントにマッチした場合のみカウントされます。キーワードがファイル名セグメントにのみマッチする場合(「孤児ファイル」)、静かに破棄されます。マッチするファイルがあるはずなのに 0 件返る場合は、linkly search--path-glob なしで直接呼び出すフォールバックを検討してください。

ノート

Linkly AI は短い Markdown のノートをライブラリフォルダ内に保存します。これらはアップロードされることのない通常のローカルファイルで、他のドキュメントと同じようにインデックスされます。
既存のノートを編集するには、その note_id と現在の version が必要です。どちらも linkly list --scope notes が返します:
本文中の #タグ こそがノートのタグです——--tags でできるのは追加だけです(タグを削除するには内容から対応する #タグ を消します)。0.11.0 より古い Desktop では、編集時に --tags が必須で、全置換として扱われます。--base-version は同時実行チェックで、読み取り後にノートが変更されていた場合、上書きせずに NOTE_VERSION_CONFLICT で失敗します。ノートの内容は制限された Markdown のサブセット(段落、太字、取り消し線、リスト)です。見出し、コード、リンク、表は拒否されます。

シェル補完

bashzshfishpowershellelvish 用の補完スクリプトを出力します。
その後、新しいシェルを開いてください。このスクリプトは静的で、Linkly AI Desktop と通信することはありません。そのためアプリを終了していても動作し、プロンプトの表示が遅くなることもありません。

MCP モード

stdio MCP サーバーモードで実行し、Linkly AI のツールを MCP 互換の AI クライアントに公開します。 接続先(アップストリーム)によって、クライアントがアクセスできる範囲が決まります:
クラウドライブラリにアクセスできるブリッジモードは --remote だけです。事前に API Key を保存しておく必要があります(リモートモードを参照)。
Claude Desktop などのローカル AI アプリの設定: 以下の内容を Claude Desktop などのアプリの設定ファイルに追加してください:
~/.config/Claude/claude_desktop_config.json を編集:
Cursor の設定: Cursor で Settings → MCP Servers → Add Server を開き、以下を追加:
  • Name: linkly-ai
  • Command: linkly mcp

CLI のアップデート

自動的に最新バージョンを確認してアップデートします。CLI は起動時にバックグラウンドで更新を確認し、新しいバージョンがある場合はこのコマンドの実行を促します。

接続モード

CLI は Linkly AI ナレッジベースに接続する方法を 3 つサポートしています:

ローカルモード(デフォルト)

追加のパラメータは不要です。CLI は ~/.linkly/port を読み取り、実行中のデスクトップアプリを検出します:

LAN モード

ローカルネットワーク内の他のデバイスで実行されている Linkly AI インスタンスに接続します。Token はデスクトップアプリの 設定 → MCP で確認できます:

リモートモード

クラウドトンネル経由で、どこからでもナレッジベースに接続できます。まず API Key(linkly.ai/dashboard から取得)を保存します:
続いて、任意のコマンドで --remote を使用します:
保存済みのキーは、いつでも確認・削除できます:
--endpoint--token は LAN アクセス用で、必ず一緒に指定してください。--remote とは併用できません。リモートアクセスの場合は linkly auth set-key で API Key を保存してください。

パラメータ説明

グローバルオプション

--endpoint--token--remote はドキュメント系コマンド(searchgrepoutlinereadlistnote-savefind-pathsexplorelist-libraries)に加え、statusdoctor で使用できます。mcp コマンドは --endpoint または --remote を受け付けますが、--token は受け付けません。--json--exit-code はすべてのコマンドで使用できます。

Exit Codes

デフォルトでは、CLI は慣例的な 2 つの値を使用します:成功時は 0、失敗時は 1。ここでの「成功」には「1 件も見つからなかった」場合も含まれる点に注意してください。ヒットのない検索でも終了コードは 0 です。 --exit-code を指定すると、この 2 つを区別できます:
このフラグがオプトインなのは、1 の意味が変わるためです。指定しない場合、1 は「失敗」を意味し、既存のスクリプトはこれを前提に判定しています。

search パラメータ

find-paths パラメータ

outline パラメータ

grep パラメータ

read パラメータ

list パラメータ

note-save パラメータ

completions パラメータ