92 KiB
Obsidian用 Notemd プラグイン
English | 简体中文 | Español | Français | Deutsch | Italiano | Português | 繁體中文 | 日本語 | 한국어 | Русский | العربية | हिन्दी | বাংলা | Nederlands | Svenska | Suomi | Dansk | Norsk | Polski | Türkçe | עברית | ไทย | Ελληνικά | Čeština | Magyar | Română | Українська | Tiếng Việt | Bahasa Indonesia | Bahasa Melayu
多言語ドキュメントの参照:言語センター
==================================================
_ _ _ _ ___ __ __ ___
| \ | | ___ | |_| |___| | \/ |___ \
| \| |/ _ \| __| |___| | |\/| | | |
| |\ | (_) | |_| |___ | | | |___| |
|_| \_|\___/ \__|_|___| | | | |____/
==================================================
AI駆動の多言語ナレッジ強化ツール
==================================================
あなただけの知識ベースを簡単に作成する方法!
Notemd は、さまざまな大規模言語モデル (LLM) と統合することで Obsidian のワークフローを強化し、多言語ノートの処理、主要な概念に対する Wiki リンクの自動生成、対応する概念ノートの作成、Web 検索の実行を支援し、強力なナレッジグラフの構築をサポートします。
Notemdを気に入っていただけたら、⭐ GitHubでスターを付けるか☕️ コーヒーをおごるをご検討ください。
.9.0
目次
- クイックスタート
- 言語サポート
- 機能
- インストール
- 設定
- 使用ガイド
- サポートされている LLM プロバイダー
- ネットワークの使用とデータ処理
- トラブルシューティング
- 貢献
- メンテナー用ドキュメント
- ライセンス
クイックスタート
- インストールと有効化: Obsidian コミュニティマーケットプレイスからプラグインを入手します。
- LLM の設定:
設定 -> Notemdに移動し、LLM プロバイダー (OpenAI や Ollama などのローカルプロバイダー) を選択し、API キー/URL を入力します。 - サイドバーを開く: 左側のリボンにある Notemd 魔法の杖アイコンをクリックして、サイドバーを開きます。
- ノートを処理: ノートを開き、サイドバーの 「ファイルを処理 (リンク追加)」 をクリックすると、主要概念に
[[wiki-links]]が自動的に追加されます。 - クイックワークフローを実行: デフォルトの 「One-Click Extract」 ボタンを使用して、処理、一括生成、Mermaid クリーンアップをワンストップで実行します。
完了です!Web 検索、翻訳、コンテンツ生成などのさらなる機能については設定を確認してください。
言語サポート
言語動作契約
| 項目 | 制御範囲 | デフォルト | 備考 |
|---|---|---|---|
インターフェース言語 |
プラグインインターフェースのテキストのみ (設定、サイドバー、通知、ダイアログ) | auto |
Obsidian の言語に従います。現在の UI カタログは en, ar, de, es, fa, fr, id, it, ja, ko, nl, pl, pt, pt-BR, ru, th, tr, uk, vi, zh-CN, zh-TW です。 |
タスク出力言語 |
LLM によって生成されるタスク出力 (リンク、要約、生成、抽出、翻訳先) | en |
全局設定または タスクごとに異なる言語を使用する を有効にしてタスクごとに設定可能です。 |
自動翻訳を無効化 |
翻訳以外のタスクで原文の文脈を保持 | false |
明示的な 翻訳 タスクは指定された目標言語を適用し続けます。 |
| ロケールフォールバック | UI キーが欠落している場合の解決策 | locale -> en |
一部のキーが翻訳されていない場合でも UI の安定性を維持します。 |
- 維持管理しているソース文書は英語と簡体字中国語で、公開済みの README 翻訳は上部ヘッダーにリンクされています。
- アプリ内の UI ロケール対応は現在、コード内の明示的なカタログと一致しています:
en,ar,de,es,fa,fr,id,it,ja,ko,nl,pl,pt,pt-BR,ru,th,tr,uk,vi,zh-CN,zh-TW。 - 英語フォールバックは実装上の安全網として残していますが、対応済みの可視 UI は回帰テストで担保されており、通常利用で英語へ黙って戻るべきではありません。
- 詳細および貢献ガイドラインは 言語センター で管理されています。
機能
AI 駆動のドキュメント処理
- マルチ LLM サポート: さまざまなクラウドおよびローカルの LLM プロバイダーに接続 (詳細は サポートされている LLM プロバイダー を参照)。
- インテリジェント・チャンキング: 処理のために、単語数に基づいて大きなドキュメントを管理可能なパーツに自動的に分割します。
- コンテンツの保持: 構造とリンクを追加しつつ、元の書式を維持することを目指します。
- 進捗追跡: Notemd サイドバーまたは進捗モーダルを介したリアルタイム更新。
- キャンセル可能な操作: 専用のキャンセルボタンを介して、サイドバーから開始された処理タスク (個別または一括) をいつでもキャンセルできます。コマンドパレットの操作はキャンセル可能なモーダルを使用します。
- マルチモデル構成: タスク (リンク追加、リサーチ、タイトルから生成、翻訳) ごとに異なる LLM プロバイダー および 特定のモデルを使用するか、すべてに単一のプロバイダーを使用します。
- 安定した API 呼び出し (リトライロジック): 失敗した LLM API 呼び出しに対して、構成可能な間隔と試行回数制限で自動再試行をオプションで有効にできます。
- レジリエントなプロバイダー接続テスト: 最初のテストが一時的な切断に遭遇した場合、Notemd は失敗する前に安定した再試行シーケンスにフォールバックするようになりました。OpenAI 互換、Anthropic、Google、Azure OpenAI、Ollama のトランスポートをカバーしています。
- 実行環境トランスポート・フォールバック:
requestUrlを介した長時間のリクエストがERR_CONNECTION_CLOSEDなどの一時的なネットワークエラーで切断された場合、Notemd は構成された再試行ループに入る前に、環境固有のフォールバックトランスポートを介して同じ試行を再試行するようになりました。デスクトップビルドは Nodehttp/httpsを使用し、非デスクトップ環境はブラウザのfetchを使用します。これにより、低速なゲートウェイやリバースプロキシでの誤検出による失敗が減少します。 - OpenAI 互換の安定した長時間リクエストチェーンの強化: 安定モードでは、OpenAI 互換の呼び出しは、試行ごとに明示的な 3 段階の順序 (プライマリ直接ストリーミング、次に直接非ストリーミング、次に
requestUrlフォールバック (必要に応じてストリーミング解析にアップグレード可能)) を使用するようになりました。これにより、プロバイダーがバッファ応答を完了しているがストリーミングパイプが不安定な場合の誤失敗が減少します。 - 全 LLM API でのプロトコル対応ストリーミングフォールバック: 長時間のリクエストフォールバック試行は、OpenAI 互換エンドポイントだけでなく、すべての組み込み LLM パスでプロトコル対応のストリーミング解析にアップグレードされるようになりました。Notemd は、デスクトップ
http/httpsと非デスクトップfetchの両方で、OpenAI/Azure スタイルの SSE、Anthropic メッセージストリーミング、Google Gemini SSE 応答、および Ollama の NDJSON ストリームを処理し、残りの OpenAI スタイルの直接プロバイダーエントリポイントは同じ共有フォールバックパスを再利用します。 - 中国向けプリセット: 組み込みプリセットにより、既存のグローバルおよびローカルプロバイダーに加えて、
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlowをカバーするようになりました。 - 信頼性の高い一括処理: 大きな一括ジョブ中のレート制限エラーを防ぎ、安定したパフォーマンスを確保するために、段階的な API 呼び出しを備えた改善された並行処理ロジック。新しい実装では、タスクが同時ではなく、異なる間隔で開始されることが保証されます。
- 正確な進捗レポート: 進捗バーが動かなくなるバグを修正し、UI が常に操作の実際の状態を反映するようにしました。
- 堅牢な並列一括処理: 並列一括操作が途中で停止する問題を解決し、すべてのファイルが確実かつ効率的に処理されるようにしました。
- 進捗バーの精度: 「Wiki リンクの作成とノートの生成」コマンドの進捗バーが 95% で止まるバグを修正し、完了時に 100% が正しく表示されるようにしました。
- 強化された API デバッグ: 「API エラーデバッグモード」は、LLM プロバイダーや検索サービス (Tavily/DuckDuckGo) からの完全な応答ボディをキャプチャするようになり、また、OpenAI、Anthropic、Google、Azure OpenAI、Ollama フォールバックでのトラブルシューティングを改善するために、サニタイズされたリクエスト URL、経過時間、応答ヘッダー、部分的な応答ボディ、解析された部分的なストリームコンテンツ、スタックトレースを含む試行ごとのトランスポートタイムラインもログに記録します。
- 開発者モードパネル: 設定に開発者専用の診断パネルが含まれるようになり、デフォルトでは非表示ですが「開発者モード」をオンにすると表示されます。診断呼び出しパスの選択と、選択したモードでの繰り返し安定性プローブの実行をサポートします。
- 再設計されたサイドバー: 組み込みのアクションは、明確なラベル、ライブステータス、キャンセル可能な進捗、およびコピー可能なログを備えたフォーカスされたセクションにグループ化され、サイドバーの煩雑さが軽減されました。進捗/ログのフッターは、すべてのセクションが展開されているときでも表示されたままになり、準備完了ステータスはより明確な待機進捗トラックを使用します。
- サイドバーのインタラクションと可読性の向上: サイドバーのボタンは、より明確なホバー/プレス/フォーカスのフィードバックを提供するようになり、色付きの CTA ボタン (
One-Click ExtractやBatch generate from titlesを含む) は、テーマを問わず可読性を高めるために強いテキストコントラストを使用するようになりました。 - 単一ファイル用 CTA マッピング: 色付きの CTA スタイルは、単一ファイルアクション専用になりました。一括/フォルダレベルのアクションおよび混合ワークフローは、アクションの範囲に対する誤クリックを減らすために非 CTA スタイルを使用します。
- カスタムワンクリックワークフロー: 組み込みのサイドバーユーティリティを、ユーザー定義の名前とアセンブルされたアクションチェーンを持つ再利用可能なカスタムボタンに変換します。デフォルトの
One-Click Extractワークフローが内蔵されています。
ナレッジグラフの強化
- 自動 Wiki リンク: LLM の出力に基づいて、処理されたノート内の主要概念を識別し、
[[wiki-links]]を追加します。 - 概念ノートの作成 (オプションかつカスタマイズ可能): 指定されたヴォルトフォルダに、発見された概念の新しいノートを自動的に作成します。
- カスタマイズ可能な出力パス: 処理済みファイルと新しく作成された概念ノートを保存するために、ヴォルト内に個別の相対パスを構成します。
- カスタマイズ可能な出力ファイル名 (リンク追加): リンク処理時に、デフォルトの
_processed.mdの代わりに、オプションで 元のファイルを上書き するか、カスタムのサフィックス/置換文字列を使用します。 - リンクの整合性維持: ヴォルト内でノートの名前が変更されたり削除されたりしたときのリンク更新の基本処理。
- 純粋な概念抽出: 元のドキュメントを変更せずに、概念を抽出して対応する概念ノートを作成します。これは、既存のドキュメントを変更せずに知識ベースを構築するのに最適です。この機能には、最小限の概念ノートを作成し、バックリンクを追加するための構成可能なオプションがあります。
翻訳
- AI 駆動の翻訳:
- 構成された LLM を使用してノートの内容を翻訳します。
- 大容量ファイルサポート: LLM に送信する前に、
チャンク単語数設定に基づいて大容量ファイルを自動的に小さなチャンクに分割します。翻訳されたチャンクは、その後単一のドキュメントにシームレスに結合されます。 - 複数の言語間の翻訳をサポート。
- 設定または UI でカスタマイズ可能な目標言語。
- 読みやすくするために、元のテキストの右側に翻訳されたテキストを自動的に開きます。
- 一括翻訳:
- 選択したフォルダ内のすべてのファイルを翻訳します。
- 「バッチ並列化を有効にする」がオンの場合、並列処理をサポート。
- 構成されている場合、翻訳にカスタムプロンプトを使用します。
- ファイルエクスプローラーのコンテキストメニューに「このフォルダを一括翻訳」オプションを追加。
- 自動翻訳を無効化: このオプションがオンの場合、翻訳以外のタスクは出力を特定の言語に強制しなくなり、元の言語の文脈を保持します。明示的な「翻訳」タスクは、構成に従って翻訳を実行し続けます。
Web リサーチとコンテンツ生成
- Web リサーチと要約:
- Tavily (API キーが必要) または DuckDuckGo (実験的) を使用して Web 検索を実行します。
- 改善された検索の堅牢性: DuckDuckGo 検索は、レイアウトの変更に対応し、信頼性の高い結果を確保するために、強化された解析ロジック (Regex フォールバックを備えた DOMParser) を備えています。
- 構成された LLM を使用して検索結果を要約します。
- 要約の出力言語は設定でカスタマイズ可能です。
- 要約を現在のノートに追加します。
- LLM に送信されるリサーチコンテンツの構成可能なトークン制限。
- タイトルからコンテンツ生成:
- ノートのタイトルを使用して、既存のコンテンツを置き換えて LLM を介して初期コンテンツを生成します。
- オプションのリサーチ: 生成のためのコンテキストを提供するために Web リサーチ (選択したプロバイダーを使用) を実行するかどうかを構成します。
- タイトルからの一括コンテンツ生成: 選択したフォルダ内のすべてのノートについて、そのタイトルに基づいてコンテンツを生成します (オプションのリサーチ設定を尊重します)。正常に処理されたファイルは、再処理を避けるために、構成可能な「完了」サブフォルダ (例:
[フォルダ名]_completeまたはカスタム名) に移動されます。 - Mermaid 自動修復結合: Mermaid 自動修復が有効な場合、Mermaid 関連のワークフローは処理後に生成されたファイルまたは出力フォルダを自動的に修復するようになりました。これには、処理、タイトルから生成、タイトルからの一括生成、リサーチと要約、Mermaid として要約、および翻訳のフローが含まれます。
ユーティリティ機能
- Mermaid 図として要約:
- この機能により、ノートのコンテンツを Mermaid 図に要約できます。
- Mermaid 図の出力言語は設定でカスタマイズ可能です。
- Mermaid 出力フォルダ: 生成された Mermaid 図ファイルを保存するフォルダを構成します。
- Mermaid 出力への要約の翻訳: 生成された Mermaid 図のコンテンツを、構成された目標言語にオプションで翻訳します。
-
簡単な数式形式の修正:
- 単一の
$で区切られた単一行の数式を、標準のダブル$$ブロックに素早く修正します。 - 単一ファイル: サイドバーボタンまたはコマンドパレットを介して現在のファイルを処理します。
- 一括修正: サイドバーボタンまたはコマンドパレットを介して、選択したフォルダ内のすべてのファイルを処理します。
- 単一の
-
現在のファイル内の重複をチェック: このコマンドは、アクティブなファイル内の潜在的な重複用語を識別するのに役立ちます。
-
重複検出: 現在処理されているファイルの内容に含まれる重複単語の基本チェック (結果はコンソールにログ記録されます)。
-
重複した概念ノートのチェックと削除: 正確な名前の一致、複数形、正規化、およびフォルダ外のノートと比較した単一単語の包含に基づいて、構成された 概念ノートフォルダ 内の潜在的な重複ノートを識別します。比較の範囲 (概念フォルダ外のどのノートをチェックするか) は、ヴォルト全体、特定の包含フォルダ、または 特定のフォルダを除くすべてのフォルダ に構成可能です。理由と競合するファイルを含む詳細なリストを表示し、識別された重複ファイルをシステムのごみ箱に移動する前に確認を求めます。削除中の進捗を表示します。
-
一括 Mermaid 修復: ユーザーが選択したフォルダ内のすべての Markdown ファイルに Mermaid と LaTeX の構文修正を適用します。
- ワークフロー対応: スタンドアロンユーティリティとして、またはカスタムワンクリックワークフローボタン内のステップとして使用できます。
- エラーレポート: 処理後も潜在的な Mermaid エラーが含まれているファイルをリストした
mermaid_error_{foldername}.mdレポートを生成します。 - エラーファイルを移動: エラーが検出されたファイルを、手動レビューのために指定したフォルダにオプションで移動します。
- インテリジェント検出: 修正を試みる前に
mermaid.parseを使用してファイルの構文エラーをインテリジェントにチェックするようになり、処理時間を節約し、不要な編集を避けます。 - 安全な処理: 構文修正が Mermaid コードブロックにのみ適用されることを保証し、Markdown テーブルや他のコンテンツの意図しない変更を防ぎます。アグレッシブなデバッグ修正からテーブル構文 (例:
| :--- |) を保護するための堅牢な保護策が含まれています。 - ディープデバッグモード: 初期修正後にエラーが残る場合、高度なディープデバッグモードがトリガーされます。このモードは、以下を含む複雑なエッジケースを処理します:
- コメントの統合: 末尾のコメント (
%で始まる) をエッジラベルに自動的にマージします (例:A -- Label --> B; % CommentがA -- "Label(Comment)" --> B;になります)。 - 不正な矢印: 引用符に吸収された矢印を修正します (例:
A -- "Label -->" BがA -- "Label" --> Bに修正されます)。 - インラインサブグラフ: インラインサブグラフのラベルをエッジラベルに変換します。
- 逆矢印修正: 非標準の
X <-- Y矢印をY --> Xに修正します。 - 方向キーワード修正: サブグラフ内の
directionキーワードが小文字であることを保証します (例:Direction TB->direction TB)。 - コメント変換:
//コメントをエッジラベルに変換します (例:A --> B; // Comment->A -- "Comment" --> B;)。 - 重複ラベル修正: 繰り返される括弧ラベルを簡略化します (例:
Node["Label"]["Label"]->Node["Label"])。 - 無効な矢印修正: 無効な矢印構文
--|>を標準の-->に変換します。 - 堅牢なラベルとノートの処理: 特殊文字 (例:
/) を含むラベルの処理を改善し、カスタムノート構文 (note for ...) のサポートを強化して、末尾の括弧などのアーティファクトが綺麗に削除されるようにしました。 - 高度な修正モード: スペース、特殊文字、またはネストされた括弧を含む引用符なしのノードラベル (例:
Node[Label [Text]]->Node["Label [Text]"]) に対する堅牢な修正が含まれており、ステラ進化経路のような複雑な図との互換性を確保します。また、不正なエッジラベル (例:--["Label["-->を-- "Label" -->に) も修正します。さらに、インラインコメント (Consensus --> Adaptive; # Some advanced consensusをConsensus -- "Some advanced consensus" --> Adaptiveに) を変換し、行末の不完全な引用符 (末尾の;"を"]に) を修正します。 - ノート変換: スタンドアロンのnote right/left ofおよびnote :コメントを標準の Mermaid ノード定義および接続に自動的に変換し (例:note right of A: textをAにリンクされたNoteA["Note: text"]に変換)、構文エラーを防ぎレイアウトを改善します。矢印リンク (-->) と実線リンク (---) の両方をサポートするようになりました。 - 拡張ノートサポート:note for Node "Content"およびnote of Node "Content"を標準のリンクされたノートノードに自動的に変換し (例:NodeにリンクされたNoteNode[" Content"])、ユーザーの拡張構文との互換性を確保します。 - 強化されたノート修正: 複数のノートが存在する場合のエイリアス問題を回避するために、連番 (例:Note1,Note2) を使用してノートの名前を自動的に変更します。 - 平行四辺形/形状修正: 不正なノード形状定義 (例:[/["Label["/]を標準の["Label"]に) を修正し、生成されたコンテンツとの互換性を確保します。 - パイプ付きラベルの標準化: パイプを含むエッジラベルを自動的に修正して標準化し、正しく引用符で囲まれるようにします (例:-->|Text|を-->|"Text"|に、-->|Math|^2|を-->|"Math|^2"|に)。 - 誤配置されたパイプの修正: 矢印の前に表示される誤配置されたエッジラベルを修正します (例:
>|"Label"| A --> BがA -->|"Label"| Bに修正されます)。 - 二重ラベルのマージ: 単一のエッジ上の複雑な二重ラベル (例:A -- Label1 -- Label2 --> BまたはA -- Label1 -- Label2 --- B) を検出し、改行を含む単一のクリーンなラベル (A -- "Label1<br>Label2" --> B) にマージします。 - 引用符なしラベル修正: 問題を引き起こす可能性のある文字 (例: 引用符、等号、数学演算子) を含むが外側の引用符がないノードラベルを自動的に引用符で囲み (例:Plot[Plot "A"]がPlot["Plot "A""]に修正されます)、レンダリングエラーを防ぎます。 - 中間ノード修正: 中間ノード定義を含むエッジを 2 つの別々のエッジに分割し (例:A -- B[...] --> CをA --> B[...]とB[...] --> Cに)、有効な Mermaid 構文を確保します。 - 連結ラベル修正: ID がラベルと連結されているノード定義を堅牢に修正します (例:SubdivideSubdivide...がSubdivide["Subdivide..."]になります)。パイプ付きラベルが先行している場合や、重複が正確でない場合でも、既知のノード ID に対して検証することで修正します。 - 特定の原文テキストを抽出: - 設定で質問のリストを定義します。 - アクティブなノートから、これらの質問に答える逐次的なテキストセグメントを抽出します。 - マージクエリモード: 効率向上のために、すべての質問を単一の API 呼び出しで処理するオプション。 - 翻訳: 抽出されたテキストの翻訳を出力に含めるオプション。 - カスタム出力: 抽出されたテキストファイルの構成可能な保存パスとファイル名サフィックス。
- コメントの統合: 末尾のコメント (
-
LLM 接続テスト: アクティブなプロバイダーの API 設定を検証します。
インストール
Obsidian マーケットプレイスから (推奨)
- Obsidian の 設定 → コミュニティプラグイン を開きます。
- 「制限モード」が オフ であることを確認します。
- コミュニティプラグインの 閲覧 をクリックし、"Notemd" を検索します。
- インストール をクリックします。
- インストールされたら、有効化 をクリックします。
手動インストール
- GitHub リリースページ から最新のリリースアセットをダウンロードします。各リリースには参照用に
README.mdも含まれていますが、手動インストールに必要なのはmain.js,styles.css,manifest.jsonのみです。 - Obsidian ヴォルトの構成フォルダ
<YourVault>/.obsidian/plugins/に移動します。 notemdという名前の新しいフォルダを作成します。main.js,styles.css,manifest.jsonをnotemdフォルダにコピーします。- Obsidian を再起動します。
- 設定 → コミュニティプラグイン に移動し、"Notemd" を有効にします。
設定
プラグインの設定には以下からアクセスします: 設定 → コミュニティプラグイン → Notemd (歯車アイコンをクリック)。
LLM プロバイダー構成
- アクティブなプロバイダー: ドロップダウンから使用したい LLM プロバイダーを選択します。
- プロバイダー設定: 選択したプロバイダーの特定の設定を構成します:
- API キー: ほとんどのクラウドプロバイダー (例: OpenAI, Anthropic, DeepSeek, Qwen, Qwen Code, Doubao, Moonshot, GLM, Z AI, MiniMax, Huawei Cloud MaaS, Baidu Qianfan, SiliconFlow, Google, Mistral, Azure OpenAI, OpenRouter, xAI, Groq, Together, Fireworks, Requesty) で必要です。Ollama では不要です。エンドポイントが匿名アクセスまたはプレースホルダーアクセスを受け入れる場合、LM Studio および汎用的な
OpenAI Compatibleプリセットではオプションです。 - ベース URL / エンドポイント: サービスの API エンドポイント。デフォルト値が提供されていますが、ローカルモデル (LMStudio, Ollama)、ゲートウェイ (OpenRouter, Requesty, OpenAI Compatible)、または特定の Azure デプロイメントの場合は変更が必要になる場合があります。Azure OpenAI では必須です。
- モデル: 使用する特定のモデル名/ID (例:
gpt-4o,claude-3-5-sonnet-20240620,google/gemini-flash-1.5,grok-4,moonshotai/kimi-k2-instruct-0905,accounts/fireworks/models/kimi-k2p5,anthropic/claude-3-7-sonnet-latest)。エンドポイント/プロバイダーでモデルが利用可能であることを確認してください。 - 温度: LLM 出力のランダム性を制御します (0=決定的、1=最大の創造性)。構造化されたタスクには、低い値 (例: 0.2-0.5) が通常適しています。
- API バージョン (Azure 専用): Azure OpenAI デプロイメントで必要です (例:
2024-02-15-preview)。
- API キー: ほとんどのクラウドプロバイダー (例: OpenAI, Anthropic, DeepSeek, Qwen, Qwen Code, Doubao, Moonshot, GLM, Z AI, MiniMax, Huawei Cloud MaaS, Baidu Qianfan, SiliconFlow, Google, Mistral, Azure OpenAI, OpenRouter, xAI, Groq, Together, Fireworks, Requesty) で必要です。Ollama では不要です。エンドポイントが匿名アクセスまたはプレースホルダーアクセスを受け入れる場合、LM Studio および汎用的な
- 接続テスト: アクティブなプロバイダーの「接続テスト」ボタンを使用して設定を検証します。OpenAI 互換プロバイダーは、プロバイダー対応のチェックを使用するようになりました。
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlow,Groq,Together,Fireworks,LMStudio,OpenAI Compatibleなどのエンドポイントはchat/completionsを直接プローブしますが、信頼できる/modelsエンドポイントを持つプロバイダーは引き続き最初にモデルリストを使用する場合があります。最初のプローブがERR_CONNECTION_CLOSEDなどの一時的なネットワーク切断で失敗した場合、Notemd はすぐに失敗するのではなく、自動的に安定した再試行シーケンスに切り替わります。 - プロバイダー構成の管理: 「プロバイダーをエクスポート」および「プロバイダーをインポート」ボタンを使用して、LLM プロバイダーの設定をプラグイン構成ディレクトリ内の
notemd-providers.jsonファイルに保存/ロードします。これにより、バックアップや共有が容易になります。 - プリセットの範囲: オリジナルのプロバイダーに加えて、Notemd には
Qwen,Qwen Code,Doubao,Moonshot,GLM,Z AI,MiniMax,Huawei Cloud MaaS,Baidu Qianfan,SiliconFlow,xAI,Groq,Together,Fireworks,Requestyのプリセットエントリが含まれるようになりました。また、LiteLLM, vLLM, Perplexity, Vercel AI Gateway、またはカスタムプロキシ用の汎用的なOpenAI Compatibleターゲットも含まれています。
マルチモデル構成
- タスクに異なるプロバイダーを使用する:
- 無効 (デフォルト): すべてのタスクに対して上記の単一の「アクティブなプロバイダー」を使用します。
- 有効: 各タスク (「リンク追加」、「リサーチと要約」、「タイトルから生成」、「翻訳」、「概念抽出」) に対して特定のプロバイダーを選択し、オプションでモデル名を上書きできます。タスクのモデル上書きフィールドを空白のままにすると、そのタスクの選択されたプロバイダー用に構成されたデフォルトモデルが使用されます。
- 異なるタスクに異なる言語を選択する:
- 無効 (デフォルト): すべてのタスクに対して単一の「出力言語」を使用します。
- 有効: 各タスク (「リンク追加」、「リサーチと要約」、「タイトルから生成」、「Mermaid 図として要約」、「概念抽出」) に対して特定の言語を選択できます。
言語アーキテクチャ (インターフェース言語 vs タスク出力言語)
- インターフェース言語 は、プラグインインターフェースのテキスト (設定ラベル、サイドバーボタン、通知、およびダイアログ) のみを制御します。デフォルトの
autoモードは、Obsidian の現在の UI 言語に従います。 - 地域差分や表記体系のバリアントは、英語に直接フォールバックするのではなく、最も近い公開済みカタログに解決されるようになりました。たとえば、
fr-CAはフランス語、es-419はスペイン語、pt-PTはポルトガル語、zh-Hansは簡体字中国語、zh-Hant-HKは繁体字中国語を使用します。 - タスク出力言語 は、モデルによって生成されるタスク出力 (リンク、要約、タイトル生成、Mermaid 要約、概念抽出、翻訳目標) を制御します。
- タスクごとの言語モード を使用すると、モジュールごとに分散した上書きではなく、統合されたポリシーレイヤーから各タスクが独自の出力言語を解決できます。
- 自動翻訳を無効化 すると、翻訳以外のタスクは元の言語の文脈を保持しますが、明示的な翻訳タスクは構成された目標言語を適用し続けます。
- Mermaid 関連の生成パスは同じ言語ポリシーに従い、有効な場合は引き続き Mermaid 自動修復をトリガーできます。
安定した API 呼び出しの設定
- 安定した API 呼び出しを有効にする (リトライロジック):
- 無効 (デフォルト): 単一の API 呼び出しが失敗すると、現在のタスクが停止します。
- 有効: 失敗した LLM API 呼び出しを自動的に再試行します (断続的なネットワークの問題やレート制限に役立ちます)。
- 接続テストのフォールバック: 通常の呼び出しがまだ安定モードで実行されていない場合でも、プロバイダーの接続テストは、最初のネットワークエラーの後に同じ再試行シーケンスに切り替わるようになりました。
- 実行環境トランスポート・フォールバック (環境対応):
requestUrlを介して一時的に失敗した長時間のタスクリクエストは、まず環境対応のフォールバックを介して同じ試行を再試行するようになりました。デスクトップビルドは Nodehttp/httpsを使用し、非デスクトップ環境はブラウザのfetchを使用します。これらのフォールバック試行は、組み込みの LLM パス全体でプロトコル対応のストリーミング解析を使用するようになり、OpenAI 互換 SSE、Azure OpenAI SSE、Anthropic メッセージ SSE、Google Gemini SSE、および Ollama NDJSON 出力をカバーするため、低速なゲートウェイでもボディのチャンクをより早く返すことができます。残りの OpenAI スタイルの直接プロバイダーエントリポイントは、同じ共有フォールバックパスを再利用します。 - OpenAI 互換の安定順序: 安定モードでは、OpenAI 互換の各試行は、失敗した試行としてカウントされる前に、
直接ストリーミング -> 直接バッファ -> requestUrl (必要に応じてストリーミングフォールバック付き)の順に従うようになりました。これにより、1 つのトランスポートモードのみが不安定な場合の過度にアグレッシブな失敗を防ぎます。
- 再試行間隔 (秒): (有効な場合のみ表示) 再試行の間の待機時間 (1-300 秒)。デフォルト:5。
- 最大再試行回数: (有効な場合のみ表示) 最大再試行回数 (0-10)。デフォルト:3。
- API エラーデバッグモード:
- 無効 (デフォルト): 標準の簡潔なエラーレポートを使用します。
- 有効: すべてのプロバイダーとタスク (翻訳、検索、接続テストを含む) で詳細なエラーログ (DeepSeek の冗長な出力に類似) を有効にします。これには、HTTP ステータスコード、生のリプライテキスト、リクエストトランスポートタイムライン、サニタイズされたリクエスト URL とヘッダー、経過した試行時間、リプライヘッダー、部分的なリプライボディ、解析された部分的なストリーム出力、スタックトレースが含まれます。これは、API 接続の問題やアップストリームゲートウェイのリセットを解決するために不可欠です。
- 開発者モード:
- 無効 (デフォルト): 一般ユーザーから開発者専用の診断コントロールをすべて非表示にします。
- 有効: 設定に開発者専用の診断パネルを表示します。
- 開発者向けプロバイダー診断 (長時間リクエスト):
- 診断呼び出しモード: プローブごとの実行パスを選択します。OpenAI 互換プロバイダーは、実行環境モードに加えて、追加の強制モード (
直接ストリーミング,直接バッファ,requestUrl-only) をサポートします。 - 診断を実行: 選択した呼び出しモードで長時間のリクエストプローブを実行し、ヴォルトのルートに
Notemd_Provider_Diagnostic_*.txtを書き込みます。 - 安定性テストを実行: 選択した呼び出しモードを使用して、構成可能な回数 (1-10) プローブを繰り返し、集約された安定性レポートを保存します。
- 診断タイムアウト: 実行ごとの構成可能なタイムアウト (15-3600 秒)。
- 使用する理由: プロバイダーが「接続テスト」には合格するが、実際の長時間のタスク (例: 低速ゲートウェイでの翻訳) で失敗する場合に、手動で再現するより迅速です。
- 診断呼び出しモード: プローブごとの実行パスを選択します。OpenAI 互換プロバイダーは、実行環境モードに加えて、追加の強制モード (
一般設定
処理済みファイルの出力
-
処理済みファイルの保存パスをカスタマイズする:
- 無効 (デフォルト): 処理済みファイル (例:
YourNote_processed.md) は元のノートと 同じフォルダ に保存されます。 - 有効: カスタムの保存場所を指定できます。
- 無効 (デフォルト): 処理済みファイル (例:
-
処理済みファイルのフォルダパス: (上記が有効な場合のみ表示) 処理済みファイルを保存するヴォルト内の 相対パス (例:
Processed NotesやOutput/LLM) を入力します。フォルダが存在しない場合は自動的に作成されます。絶対パス (C:... など) や無効な文字は使用しないでください。 -
'リンク追加' にカスタム出力ファイル名を使用する:
- 無効 (デフォルト): 'リンク追加' コマンドによって作成された処理済みファイルは、デフォルトの
_processed.mdサフィックスを使用します (例:YourNote_processed.md)。 - 有効: 下記の設定を使用して出力ファイル名をカスタマイズできます。
- 無効 (デフォルト): 'リンク追加' コマンドによって作成された処理済みファイルは、デフォルトの
-
カスタムサフィックス/置換文字列: (上記が有効な場合のみ表示) 出力ファイル名に使用する文字列を入力します。
- 空白 のままにすると、元のファイルが処理されたコンテンツで 上書き されます。
- 文字列 (例:
_linked) を入力すると、元のベース名の後に追加されます (例:YourNote_linked.md)。サフィックスに無効なファイル名文字が含まれていないことを確認してください。
-
リンク追加時にコードフェンスを削除する:
- 無効 (デフォルト): リンク追加時に、コンテンツ内のコードフェンス (`\``) は保持され、(`\`markdown) は自動的に削除されます。
- 有効: リンク追加前にコンテンツからコードフェンスを削除します。
概念ノートの出力
- 概念ノートのパスをカスタマイズする:
- 無効 (デフォルト):
[[linked concepts]]に対するノートの自動作成は無効です。 - 有効: 新しい概念ノートを作成するフォルダを指定できます。
- 無効 (デフォルト):
- 概念ノートのフォルダパス: (上記が有効な場合のみ表示) 新しい概念ノートを保存するヴォルト内の 相対パス (例:
ConceptsやGenerated/Topics) を入力します。フォルダが存在しない場合は自動的に作成されます。カスタマイズが有効な場合は入力必須です。 絶対パスや無効な文字は使用しないでください。
概念ログファイルの出力
- 概念ログファイルを生成する:
- 無効 (デフォルト): ログファイルは生成されません。
- 有効: 処理後に新しく作成された概念ノートをリストしたログファイルを作成します。形式は以下の通りです:
xx 個の概念 md ファイルを生成 1. concepts1 2. concepts2 ... n. conceptsn
- ログファイルの保存パスをカスタマイズする: (「概念ログファイルを生成する」が有効な場合のみ表示)
- 無効 (デフォルト): ログファイルは、指定されている場合は 概念ノートのフォルダパス に、そうでない場合はヴォルトのルートに保存されます。
- 有効: ログファイル用のカスタムフォルダを指定できます。
- 概念ログのフォルダパス: (「ログファイルの保存パスをカスタマイズする」が有効な場合のみ表示) ログファイルを保存するヴォルト内の 相対パス (例:
Logs/Notemd) を入力します。カスタマイズが有効な場合は入力必須です。 - ログファイル名をカスタマイズする: (「概念ログファイルを生成する」が有効な場合のみ表示)
- 無効 (デフォルト): ログファイル名は
Generate.logです。 - 有効: ログファイルにカスタム名を指定できます。
- 無効 (デフォルト): ログファイル名は
- 概念ログのファイル名: (「ログファイル名をカスタマイズする」が有効な場合のみ表示) 希望のファイル名 (例:
ConceptCreation.log) を入力します。カスタマイズが有効な場合は入力必須です。
概念抽出タスク
- 最小限の概念ノートを作成する:
- オン (デフォルト): 新しく作成される概念ノートには、タイトルのみが含まれます (例:
# Concept)。 - オフ: 概念ノートには、下記の設定で無効にされていない限り、「Linked from」バックリンクなどの追加コンテンツが含まれる場合があります。
- オン (デフォルト): 新しく作成される概念ノートには、タイトルのみが含まれます (例:
- 「Linked from」バックリンクを追加する:
- オフ (デフォルト): 抽出時に概念ノートにソースドキュメントへのバックリンクを追加しません。
- オン: ソースファイルへのバックリンクを含む「Linked from」セクションを追加します。
特定の原文テキストを抽出
- 抽出用の質問: AI にノートから逐次的な回答を抽出させたい質問のリストを入力します (1 行に 1 つ)。
- 出力を対応する言語に翻訳する:
- オフ (デフォルト): 抽出されたテキストのみを元の言語で出力します。
- オン: このタスクで選択された言語で、抽出されたテキストの翻訳を追加します。
- マージクエリモード:
- オフ: 各質問を個別に処理します (精度は高いが API 呼び出しが増える)。
- オン: すべての質問を単一のプロンプトで送信します (高速で API 呼び出しが少ない)。
- 抽出されたテキストの保存パスとファイル名をカスタマイズする:
- オフ: 元のファイルと同じフォルダに
_Extractedサフィックスを付けて保存します。 - オン: カスタムの出力フォルダとファイル名サフィックスを指定できます。
- オフ: 元のファイルと同じフォルダに
一括 Mermaid 修復
- Mermaid エラー検出を有効にする:
- オフ (デフォルト): 処理後のエラー検出をスキップします。
- オン: 処理されたファイルに Mermaid 構文エラーが残っていないかスキャンし、
mermaid_error_{foldername}.mdレポートを生成します。
- Mermaid エラーのあるファイルを指定のフォルダに移動する:
- オフ: エラーのあるファイルはその場に残ります。
- オン: 修復を試みた後も Mermaid 構文エラーが含まれるファイルを、手動レビューのために専用フォルダに移動します。
- Mermaid エラーフォルダパス: (上記がオンの場合のみ表示) エラーファイルを移動するフォルダ。
処理パラメータ
- バッチ並列化を有効にする:
- 無効 (デフォルト): 一括処理タスク (「フォルダを処理」や「タイトルから一括生成」など) は、ファイルを 1 つずつ (順次) 処理します。
- 有効: プラグインが複数のファイルを同時に処理できるようにします。これにより、大規模な一括ジョブが大幅にスピードアップする可能性があります。
- バッチ並行数: (並列化が有効な場合のみ表示) 並列で処理する最大ファイル数を設定します。数値を大きくすると高速になりますが、より多くのリソースを消費し、API のレート制限に達する可能性があります。(デフォルト:1、範囲:1-20)
- バッチサイズ: (並列化が有効な場合のみ表示) 単一のバッチにグループ化されるファイルの数。(デフォルト:50、範囲:10-200)
- バッチ間の遅延 (ms): (並列化が有効な場合のみ表示) 各バッチの処理間のオプションの遅延 (ミリ秒)。API のレート制限の管理に役立ちます。(デフォルト:1000ms)
- API 呼び出し間隔 (ms): 各 LLM API 呼び出し 前後 の最小遅延 (ミリ秒)。低レートの API や 429 エラーを防ぐために重要です。人為的な遅延をなくすには 0 に設定します。(デフォルト:500ms)
- チャンク単語数: LLM に送信される各チャンクの最大単語数。大容量ファイルの API 呼び出し回数に影響します。(デフォルト:3000)
- 重複検出を有効にする: 処理中のコンテンツに含まれる重複単語の基本チェックを切り替えます (結果はコンソールに表示)。(デフォルト:有効)
- 最大トークン数: レスポンスチャンクごとに LLM が生成すべき最大トークン数。コストと詳細度に影響します。(デフォルト:4096)
翻訳
- デフォルト目標言語: ノートを翻訳したいデフォルトの言語を選択します。これは、翻訳コマンドを実行する際に UI で上書きできます。(デフォルト:英語)
- 翻訳済みファイルの保存パスをカスタマイズする:
- 無効 (デフォルト): 翻訳済みファイルは元のノートと 同じフォルダ に保存されます。
- 有効: 翻訳済みファイルを保存するヴォルト内の 相対パス (例:
Translations) を指定できます。フォルダが存在しない場合は作成されます。
- 翻訳済みファイルにカスタムサフィックスを使用する:
- 無効 (デフォルト): 翻訳済みファイルはデフォルトの
_translated.mdサフィックスを使用します (例:YourNote_translated.md)。 - 有効: カスタムサフィックスを指定できます。
- 無効 (デフォルト): 翻訳済みファイルはデフォルトの
- カスタムサフィックス: (上記が有効な場合のみ表示) 翻訳済みファイル名に追加するカスタムサフィックスを入力します (例:
_jaや_en)。
コンテンツ生成
- 「タイトルから生成」でリサーチを有効にする:
- 無効 (デフォルト): 「タイトルから生成」はタイトルのみを入力として使用します。
- 有効: 構成された Web リサーチプロバイダー を使用して Web リサーチを実行し、その結果をタイトルベースの生成時の LLM へのコンテキストとして含めます。
- 生成後に自動的に Mermaid 構文修復を実行する:
- 有効 (デフォルト): 処理、タイトルから生成、タイトルからの一括生成、リサーチと要約、Mermaid として要約、および翻訳などの Mermaid 関連のワークフローの後に、Mermaid 構文修復パスを自動的に実行します。
- 無効: 生成された Mermaid 出力をそのままにします。手動で
一括 Mermaid 修復を実行するか、カスタムワークフローに追加する必要があります。
- 出力言語: (新規) 「タイトルから生成」および「タイトルからの一括生成」タスクの希望の出力言語を選択します。
- 英語 (デフォルト): プロンプトは英語で処理され、出力されます。
- その他の言語: 推論は英語で行うが、最終的なドキュメントは選択した言語 (例: スペイン語、フランス語、簡体字中国語、繁体字中国語、アラビア語、ヒンディー語など) で提供するよう LLM に指示します。
- プロンプトワードの変更: (新規)
- プロンプトワードの変更: 特定のタスクのプロンプトワードを変更できます。
- カスタムプロンプトワード: タスクのカスタムプロンプトワードを入力します。
- 「タイトルから生成」にカスタム出力フォルダを使用する:
- 無効 (デフォルト): 正常に生成されたファイルは、元のフォルダの親フォルダを基準とした
[元のフォルダ名]_completeという名前のサブフォルダに移動されます (元のフォルダがルートの場合はVault_complete)。 - 有効: 完了したファイルを移動するサブフォルダのカスタム名を指定できます。
- 無効 (デフォルト): 正常に生成されたファイルは、元のフォルダの親フォルダを基準とした
- カスタム出力フォルダ名: (上記が有効な場合のみ表示) サブフォルダの希望の名前 (例:
Generated Content,_complete) を入力します。無効な文字は使用できません。空欄の場合はデフォルトで_completeになります。このフォルダは元のフォルダの親ディレクトリを基準に作成されます。
ワンクリックワークフローボタン
- ビジュアルワークフロービルダー: DSL を手書きすることなく、組み込みのアクションからカスタムワークフローボタンを作成、編集、順序付けできます。
- カスタムワークフローボタン DSL: 上級ユーザーは、ワークフロー定義テキストを直接編集することもできます。無効な DSL は安全にデフォルトワークフローにフォールバックし、サイドバー/設定 UI に警告を表示します。
- ワークフローエラー戦略:
- エラー時に停止 (デフォルト): ステップが失敗すると、すぐにワークフロー全体を中止します。
- エラー時に続行: 以降のステップの実行を継続し、最後に失敗したアクションの数を出力します。
- 組み込みデフォルトワークフロー:
One-Click Extractは、ファイルを処理 (リンク追加)->タイトルから一括生成->一括 Mermaid 修復を順に実行します。
カスタムプロンプト設定
この機能により、特定のタスクに対して LLM に送信されるデフォルトの指示 (プロンプト) を上書きし、出力を細かく制御できます。
-
特定のタスクのカスタムプロンプトを有効にする:
- 無効 (デフォルト): プラグインは、すべての操作に対して組み込みのデフォルトプロンプトを使用します。
- 有効: 以下にリストされているタスクのカスタムプロンプトを設定する機能をアクティブにします。これがこの機能のマスター構成です。
-
[タスク名] にカスタムプロンプトを使用する: (上記が有効な場合のみ表示)
- サポートされている各タスク (「リンク追加」、「タイトルから生成」、「リサーチと要約」、「概念抽出」) について、個別にカスタムプロンプトを有効または無効にできます。
- 無効: この特定のタスクはデフォルトプロンプトを使用します。
- 有効: このタスクは、以下の対応する「カスタムプロンプト」テキストエリアに入力したテキストを使用します。
-
カスタムプロンプトテキストエリア: (タスクのカスタムプロンプトが有効な場合のみ表示)
- デフォルトプロンプトの表示: 参照用に、プラグインがそのタスクに通常使用するデフォルトプロンプトが表示されます。「デフォルトプロンプトをコピー」 ボタンを使用してこのテキストをコピーし、独自のカスタムプロンプトの起点として使用できます。
- カスタムプロンプト入力: ここに LLM への独自の指示を記述できます。
- プレースホルダー: プロンプト内で特別なプレースホルダーを使用できます (また使用すべきです)。プラグインは、リクエストを LLM に送信する前にこれらを実際の内容に置き換えます。各タスクで使用可能なプレースホルダーについては、デフォルトプロンプトを参照してください。一般的なプレースホルダーには以下が含まれます:
{TITLE}: 現在のノートのタイトル。{RESEARCH_CONTEXT_SECTION}: Web リサーチから収集された内容。{USER_PROMPT}: 処理中のノートの内容。
重複チェックの範囲
- 重複チェックの範囲モード: 重複の可能性をチェックするために、概念ノートフォルダ内のノートをどのファイルと比較するかを制御します。
- ヴォルト全体 (デフォルト): 概念ノートをヴォルト内の他のすべてのノート (概念ノートフォルダ自体を除く) と比較します。
- 特定のフォルダのみ含める: 概念ノートを以下にリストされたフォルダ内のノートのみと比較します。
- 特定のフォルダを除外する: 概念ノートを、以下にリストされたフォルダ内のノート (および概念ノートフォルダ) を 除く すべてのノートと比較します。
- 概念フォルダのみ: 概念ノートを 概念ノートフォルダ内の他のノート とのみ比較します。これは、生成された概念内だけで重複を見つけるのに役立ちます。
- フォルダを含める/除外する: (モードが「含める」または「除外する」の場合のみ表示) 1 行に 1 つずつ、含めるまたは除外するフォルダの 相対パス を入力します。パスは大文字と小文字を区別し、区切り文字として
/を使用します (例:Reference Material/PapersやDaily Notes)。これらのフォルダは、概念ノートフォルダと同じであったり、その中にあったりしてはいけません。
Web リサーチプロバイダー
- 検索プロバイダー:
Tavily(API キーが必要、推奨) とDuckDuckGo(実験的、検索エンジンにより自動リクエストがブロックされることが多い) から選択します。「テーマのリサーチと要約」およびオプションで「タイトルから生成」に使用されます。 - Tavily API キー: (Tavily 選択時のみ表示) tavily.com から取得した API キーを入力します。
- Tavily 最大結果数: (Tavily 選択時のみ表示) Tavily が返すべき検索結果の最大数 (1-20)。デフォルト:5。
- Tavily 検索深度: (Tavily 選択時のみ表示)
basic(デフォルト) またはadvancedを選択します。注意:advancedはより良い結果を提供しますが、検索ごとに 1 ではなく 2 つの API クレジットを消費します。 - DuckDuckGo 最大結果数: (DuckDuckGo 選択時のみ表示) 解析する検索結果の最大数 (1-10)。デフォルト:5。
- DuckDuckGo コンテンツ取得タイムアウト: (DuckDuckGo 選択時のみ表示) 各 DuckDuckGo 結果 URL からコンテンツを取得しようとする際の最大待機秒数。デフォルト:15。
- 最大リサーチコンテンツトークン数: 要約プロンプトに含める、統合された Web リサーチ結果 (スニペット/取得されたコンテンツ) のおおよその最大トークン数。コンテキストウィンドウのサイズとコストの管理に役立ちます。(デフォルト:3000)
学習フォーカスドメイン
- 学習フォーカスドメインを有効にする:
- 無効 (デフォルト): LLM に送信されるプロンプトは、標準的な汎用指示を使用します。
- 有効: LLM の文脈理解を向上させるために、1 つ以上の研究分野を指定できます。
- 学習ドメイン: (上記が有効な場合のみ表示) 特定の分野を入力します (例: '材料科学', '高分子物理学', '機械学習')。これにより、プロンプトの冒頭に「関連分野: [...]」という行が追加され、LLM が特定の研究分野に対してより正確で関連性の高いリンクやコンテンツを生成するのを助けます。
使用ガイド
クイックワークフローと新しいサイドバー
- Notemd サイドバーを開くと、コア処理、生成、翻訳、ナレッジ、ユーティリティのアクションがグループ化されて表示されます。
- サイドバー上部の クイックワークフロー エリアを使用して、カスタムのマルチステップボタンを起動します。
- デフォルトの One-Click Extract は、
ファイルを処理 (リンク追加)->タイトルから一括生成->一括 Mermaid 修復を実行します。 - ワークフローの進捗、ステップごとのログ、失敗はサイドバーに表示され、固定されたフッターにより進捗バーとログエリアが展開されたセクションによって押し出されるのを防ぎます。
- 進捗カードは、ステータステキスト、専用のパーセンテージ、残り時間を一目で確認できるように保持しており、同じカスタムワークフローを設定から再構成できます。
オリジナル処理 (Wiki リンクの追加)
これは、概念を識別して [[wiki-links]] を追加することに焦点を当てたコア機能です。
重要: このプロセスは .md または .txt ファイルでのみ機能します。PDF ファイルは、さらに処理する前に Mineru などを使用して無料で MD ファイルに変換できます。
- サイドバーを使用する:
- Notemd サイドバーを開きます (杖アイコンまたはコマンドパレット)。
.mdまたは.txtファイルを開きます。- 「ファイルを処理 (リンク追加)」 (Process File (Add Links)) をクリックします。
- フォルダを処理する場合:「フォルダを処理 (リンク追加)」 (Process Folder (Add Links)) をクリックし、フォルダを選択して「処理」をクリックします。
- 進捗はサイドバーに表示されます。サイドバーの「処理をキャンセル」ボタンを使用してタスクをキャンセルできます。
- フォルダ処理に関する注意: ファイルはエディタで開かれることなく、バックグラウンドで処理されます。
- コマンドパレットを使用する (
Ctrl+PまたはCmd+P):- 単一ファイル: ファイルを開き、
Notemd: Process Current Fileを実行します。 - フォルダ:
Notemd: Process Folderを実行し、フォルダを選択します。ファイルはエディタで開かれることなく、バックグラウンドで処理されます。 - コマンドパレットのアクションには、キャンセルボタンを含む進捗モーダルが表示されます。
- 注意: プラグインは、保存前に最終的な処理済みコンテンツ内で見つかった開始行
\boxed{と終了行}を自動的に削除します。
- 単一ファイル: ファイルを開き、
新機能
-
Mermaid 図として要約:
- 要約したいノートを開きます。
- コマンド
Notemd: Summarise as Mermaid diagramを実行します (コマンドパレットまたはサイドバーボタン経由)。 - プラグインは、Mermaid 図を含む新しいノートを生成します。
-
ノート/選択範囲を翻訳:
- ノート内のテキストを選択してその選択範囲のみを翻訳するか、選択せずにコマンドを呼び出してノート全体を翻訳します。
- コマンド
Notemd: Translate Note/Selectionを実行します (コマンドパレットまたはサイドバーボタン経由)。 - モーダルが表示され、目標言語 を確認または変更できます (設定で指定された内容がデフォルトになります)。
- プラグインは、構成された LLM プロバイダー (マルチモデル設定に基づく) を使用して翻訳を実行します。
- 翻訳された内容は、適切なサフィックスを付けて構成された 翻訳保存パス に保存され、比較しやすいように元の内容の 右側の新しいペイン で開かれます。
- このタスクは、サイドバーボタンまたはモーダルのキャンセルボタンからキャンセルできます。
-
一括翻訳:
- コマンドパレットから
Notemd: Batch Translate Folderを実行してフォルダを選択するか、ファイルエクスプローラーでフォルダを右クリックして「このフォルダを一括翻訳」を選択します。 - プラグインは、選択したフォルダ内のすべての Markdown ファイルを翻訳します。
- 翻訳されたファイルは構成された翻訳パスに保存されますが、自動的には開かれません。
- このプロセスは進捗モーダルからキャンセルできます。
- コマンドパレットから
- テーマのリサーチと要約:
- ノート内のテキストを選択するか、ノートにタイトルがあることを確認します (これが検索テーマになります)。
- コマンド
Notemd: Research and Summarize Topicを実行します (コマンドパレットまたはサイドバーボタン経由)。 - プラグインは、構成された 検索プロバイダー (Tavily/DuckDuckGo) と適切な LLM プロバイダー (マルチモデル設定に基づく) を使用して情報を検索し、要約します。
- 要約は現在のノートに追加されます。
- このタスクは、サイドバーボタンまたはモーダルのキャンセルボタンからキャンセルできます。
- 注意: DuckDuckGo での検索はボット検出により失敗する場合があります。Tavily が推奨されます。
-
タイトルからコンテンツ生成:
- ノートを開きます (空でも構いません)。
- コマンド
Notemd: Generate Content from Titleを実行します (コマンドパレットまたはサイドバーボタン経由)。 - プラグインは、適切な LLM プロバイダー (マルチモデル設定に基づく) を使用してノートのタイトルに基づいたコンテンツを生成し、既存のコンテンツがある場合は置き換えます。
- 「タイトルから生成」でリサーチを有効にする」 設定がオンの場合、最初に Web リサーチを実行し (構成された Web リサーチプロバイダー を使用)、そのコンテキストを LLM に送信されるプロンプトに含めます。
- このタスクは、サイドバーボタンまたはモーダルのキャンセルボタンからキャンセルできます。
-
タイトルからの一括コンテンツ生成:
- コマンド
Notemd: Batch Generate Content from Titlesを実行します (コマンドパレットまたはサイドバーボタン経由)。 - 処理したいノートが含まれるフォルダを選択します。
- プラグインはフォルダ内の各
.mdファイルを反復処理し (_processed.mdファイルおよび指定された「完了」フォルダ内のファイルを除く)、ノートのタイトルに基づいたコンテンツを生成して既存のコンテンツを置き換えます。ファイルはエディタで開かれることなく、バックグラウンドで処理されます。 - 正常に処理されたファイルは、構成された「完了」フォルダに移動されます。
- このコマンドは、処理される各ノートに対して 「タイトルから生成」でリサーチを有効にする」 設定を尊重します。
- このタスクは、サイドバーボタンまたはモーダルのキャンセルボタンからキャンセルできます。
- 進捗と結果 (変更されたファイル数、エラー) は、サイドバーのログ/モーダルに表示されます。
- コマンド
-
重複した概念ノートのチェックと削除:
- 設定で 概念ノートのフォルダパス が正しく構成されていることを確認します。
Notemd: Check and Remove Duplicate Concept Notesを実行します (コマンドパレットまたはサイドバーボタン経由)。- プラグインは概念ノートフォルダをスキャンし、さまざまなルール (正確な一致、複数形、正規化、包含) を使用してファイル名をフォルダ外のノートと比較します。
- 潜在的な重複が見つかった場合、ファイル、フラグが立てられた理由、および競合するファイルをリストしたモーダルウィンドウが表示されます。
- リストを注意深く確認してください。識別された重複ファイルをシステムのゴミ箱に移動するには 「ファイルを削除」 (Delete Files) を、何もしない場合は 「キャンセル」 をクリックします。
- 進捗と結果は、サイドバーのログ/モーダルに表示されます。
-
概念抽出 (純粋モード):
- この機能により、元のファイルを変更することなく、ドキュメントから概念を抽出して対応する概念ノートを作成できます。一連のドキュメントから知識ベースを素早く構築するのに最適です。
- 単一ファイル: ファイルを開き、コマンドパレットから
Notemd: Extract concepts (create concept notes only)コマンドを実行するか、サイドバーの 「概念抽出 (現在のファイル)」 (Extract concepts (current file)) ボタンをクリックします。 - フォルダ: コマンドパレットから
Notemd: Batch extract concepts from folderコマンドを実行するか、サイドバーの 「概念抽出 (フォルダ)」 (Extract concepts (folder)) ボタンをクリックし、フォルダを選択してその中のすべてのノートを処理します。 - プラグインはファイルを読み取り、概念を識別して、指定された 概念ノートフォルダ に新しいノートを作成します。元のファイルはそのまま残ります。
-
選択範囲から Wiki リンクを作成しノートを生成:
- この強力なコマンドは、新しい概念ノートの作成と入力のプロセスを合理化します。
- エディタで単語またはフレーズを選択します。
- コマンド
Notemd: Create Wiki-Link & Generate Note from Selectionを実行します (これにはCmd+Shift+Wなどのショートカットを割り当てることをお勧めします)。 - プラグインは以下を実行します:
- 選択したテキストを
[[wiki-link]]に置き換えます。 - 概念ノートフォルダ 内にそのタイトルのノートが既に存在するかチェックします。
- 存在する場合、現在のノートへのバックリンクを追加します。
- 存在しない場合、新しい空のノートを作成します。
- 次に、新規または既存のノートに対して 「タイトルからコンテンツ生成」 (Generate Content from Title) コマンドを自動的に実行し、AI 生成のコンテンツを入力します。
- 選択したテキストを
-
概念を抽出してタイトルを生成:
- このコマンドは、合理化されたワークフローのために 2 つの強力な機能を連鎖させます。
- コマンドパレットから
Notemd: Extract Concepts and Generate Titlesを実行します (ショートカットを割り当てることをお勧めします)。 - プラグインは以下を実行します:
- まず、現在アクティブなファイルに対して 「概念抽出 (現在のファイル)」 (Extract concepts (current file)) タスクを実行します。
- 次に、設定で 概念ノートのフォルダパス として構成したフォルダに対して 「タイトルから一括生成」 (Batch generate from titles) タスクを自動的に実行します。
- これにより、まずソースドキュメントから新しい概念を抽出して知識ベースを構築し、その後、それらの新しい概念ノートを 1 つのステップで AI 生成コンテンツで即座に具体化できます。
-
特定の原文テキストを抽出:
- 設定の「特定の原文テキストを抽出」で質問を構成します。
- サイドバーの「特定の原文テキストを抽出」ボタンを使用して、アクティブなファイルを処理します。
- マージモード: すべての質問を単一のプロンプトで送信することで、より高速な処理を可能にします。
- 翻訳: オプションで、抽出されたテキストを構成された言語に翻訳します。
- カスタム出力: 抽出されたファイルがどこにどのように保存されるかを構成します。
-
一括 Mermaid 修復:
- サイドバーの「一括 Mermaid 修復」ボタンを使用して、フォルダをスキャンし、一般的な Mermaid 構文エラーを修正します。
- プラグインは、エラーが残っているファイルを
mermaid_error_{foldername}.mdファイルにレポートします。 - オプションで、これらの問題のあるファイルを確認のために別のフォルダに移動するように構成できます。
サポートされている LLM プロバイダー
| プロバイダー | タイプ | API キーが必要 | 備考 |
|---|---|---|---|
| DeepSeek | クラウド | はい | 推論モデルの処理を備えた DeepSeek ネイティブエンドポイント |
| Qwen | クラウド | はい | Qwen / QwQ モデル用の DashScope 互換モードプリセット |
| Qwen Code | クラウド | はい | Qwen coder モデル用の DashScope コード特化型プリセット |
| Doubao | クラウド | はい | Volcengine Ark プリセット。通常、モデルフィールドにエンドポイント ID を設定します |
| Moonshot | クラウド | はい | 公式 Kimi / Moonshot エンドポイント |
| GLM | クラウド | はい | 公式 Zhipu BigModel OpenAI 互換エンドポイント |
| Z AI | クラウド | はい | 公式 GLM/Zhipu インターナショナル OpenAI 互換エンドポイント。GLM を補完 |
| MiniMax | クラウド | はい | 公式 MiniMax chat-completions エンドポイント |
| Huawei Cloud MaaS | クラウド | はい | ホスト型モデル用の Huawei ModelArts MaaS OpenAI 互換エンドポイント |
| Baidu Qianfan | クラウド | はい | ERNIE モデルなどのための公式 Baidu Qianfan OpenAI 互換エンドポイント |
| SiliconFlow | クラウド | はい | ホスト型 OSS モデル用の公式 SiliconFlow OpenAI 互換エンドポイント |
| OpenAI | クラウド | はい | GPT モデルおよび o シリーズをサポート |
| Anthropic | クラウド | はい | Claude シリーズをサポート |
| クラウド | はい | Gemini シリーズをサポート | |
| Mistral | クラウド | はい | Mistral および Codestral ファミリーをサポート |
| Azure OpenAI | クラウド | はい | エンドポイント、API キー、デプロイメント名、API バージョンが必要 |
| OpenRouter | ゲートウェイ | はい | OpenRouter モデル ID を介して多くのプロバイダーにアクセス |
| xAI | クラウド | はい | Grok ネイティブエンドポイント |
| Groq | クラウド | はい | ホスト型 OSS モデル用の高速 OpenAI 互換推論 |
| Together | クラウド | はい | ホスト型 OSS モデル用の OpenAI 互換エンドポイント |
| Fireworks | クラウド | はい | OpenAI 互換推論エンドポイント |
| Requesty | ゲートウェイ | はい | 単一 API キーによるマルチプロバイダールーター |
| OpenAI Compatible | ゲートウェイ | オプション | LiteLLM, vLLM, Perplexity, Vercel AI Gateway などの汎用プリセット |
| LMStudio | ローカル | オプション (EMPTY) |
LM Studio サーバーを介してローカルでモデルを実行 |
| Ollama | ローカル | いいえ | Ollama サーバーを介してローカルでモデルを実行 |
注意:ローカルプロバイダー (LMStudio, Ollama) の場合、各サーバーアプリケーションが実行されており、構成されたベース URL でアクセス可能であることを確認してください。
注意:OpenRouter および Requesty の場合は、ゲートウェイに表示される完全な/プロバイダープレフィックス付きのモデル識別子を使用してください (例: google/gemini-flash-1.5 や anthropic/claude-3-7-sonnet-latest)。
注意:Doubao は通常、モデルフィールドに生のモデル名ではなく、Ark エンドポイント/デプロイメント ID を期待します。設定画面では、プレースホルダー値が残っている場合に警告が表示され、実際のエンドポイント ID に置き換えるまで接続テストがブロックされます。
注意:Z AI はインターナショナルライン api.z.ai をターゲットとし、GLM は中国本土の BigModel エンドポイントを維持します。アカウントの地域に合ったプリセットを選択してください。
注意:中国特化型のプリセットは chat-first の接続チェックを使用するため、テストでは API キーのアクセシビリティだけでなく、実際に構成されたモデル/デプロイメントも検証されます。
注意:OpenAI Compatible は、カスタムゲートウェイおよびプロキシを対象としています。プロバイダーのドキュメントに従って、ベース URL、API キーポリシー、およびモデル ID を設定してください。
ネットワークの使用とデータ処理
Notemd は Obsidian 内でローカルに実行されますが、一部の機能は外部リクエストを送信します。
LLM プロバイダーへの呼び出し (構成可能)
- トリガー:ファイルの処理、生成、翻訳、リサーチの要約、Mermaid の要約、および接続/診断アクション。
- エンドポイント:Notemd 設定で構成されたプロバイダーのベース URL。
- 送信データ:処理に必要なプロンプトテキストとタスクコンテンツ。
- データ処理に関する注意:API キーはプラグインの設定にローカルに保存され、デバイスからのリクエストの署名に使用されます。
Web リサーチの呼び出し (オプション)
- トリガー:Web リサーチがオンで、検索プロバイダーが選択されている場合。
- エンドポイント:Tavily API または DuckDuckGo エンドポイント。
- 送信データ:検索クエリと必要なリクエストメタデータ。
開発者診断とデバッグログ (オプション)
- トリガー:API デバッグモードおよび開発者診断アクション。
- 保存先:診断およびエラーログはヴォルトのルートに書き込まれます (例:
Notemd_Provider_Diagnostic_*.txtやNotemd_Error_Log_*.txt)。 - リスクに関する注意:ログにはリクエスト/レスポンスの断片が含まれる場合があります。公開共有する前にログを確認してください。
ローカルストレージ
- プラグインの設定は
.obsidian/plugins/notemd/data.jsonに保存されます。 - 生成されたファイル、レポート、およびオプションのログは、設定に従ってヴォルトに保存されます。
トラブルシューティング
よくある問題
- プラグインがロードされない:
manifest.json,main.js,styles.cssが正しいフォルダ (<Vault>/.obsidian/plugins/notemd/) にあることを確認し、Obsidian を再起動してください。起動時のエラーについては開発者コンソール (Ctrl+Shift+IまたはCmd+Option+I) を確認してください。 - 処理の失敗 / API エラー:
- ファイル形式を確認: 処理またはチェックしようとしているファイルの拡張子が
.mdまたは.txtであることを確認してください。Notemd は現在、これらのテキストベースの形式のみをサポートしています。 - 「LLM 接続テスト」コマンド/ボタンを使用して、アクティブなプロバイダーの設定を検証してください。
- API キー、ベース URL、モデル名、API バージョン (Azure の場合) を再確認してください。API キーが正しく、十分なクレジット/権限があることを確認してください。
- ローカル LLM サーバー (LMStudio, Ollama) が実行されており、ベース URL が正しいことを確認してください (例:LMStudio の場合は
http://localhost:1234/v1)。 - クラウドプロバイダーの場合はインターネット接続を確認してください。
- 単一ファイルの処理エラーの場合: 詳細なエラーメッセージについては開発者コンソールを確認してください。必要に応じて、エラーモーダルのボタンを使用してコピーしてください。
- 一括処理エラーの場合: 失敗した各ファイルの詳細なエラーメッセージについては、ヴォルトのルートにある
error_processing_filename.logを確認してください。開発者コンソールまたはエラーモーダルに、概要または一般的な一括エラーが表示される場合があります。 - 自動エラーログ: プロセスが失敗した場合、プラグインはヴォルトのルートディレクトリに
Notemd_Error_Log_[Timestamp].txtという詳細なログファイルを自動的に保存します。このファイルには、エラーメッセージ、スタックトレース、およびセッションログが含まれています。永続的な問題が発生した場合は、このファイルを確認してください。設定で「API エラーデバッグモード」を有効にすると、このログにさらに詳細な API レスポンスデータが入力されます。 - 実際のエンドポイント長時間リクエスト診断 (開発者):
- プラグイン内パス (最初にお勧めします):設定 -> Notemd -> 開発者向けプロバイダー診断 (長時間リクエスト) を使用して、アクティブなプロバイダーに対して実行時プローブを実行し、ヴォルトルートに
Notemd_Provider_Diagnostic_*.txtを生成します。 - CLI パス (Obsidian 実行環境外):バッファ動作とストリーミング動作の間のエンドポイントレベルでの再現可能な比較には、以下を使用してください:
生成されたレポートには、試行ごとのタイミング (npm run diagnose:llm -- \ --transport openai-compatible \ --provider-name OpenRouter \ --base-url https://openrouter.ai/api/v1 \ --api-key "$OPENROUTER_API_KEY" \ --model anthropic/claude-3.7-sonnet \ --prompt-file ./tmp/prompt.txt \ --content-file ./tmp/content.txt \ --mode compare \ --timeout-ms 360000 \ --output ./tmp/openrouter-diagnostic.txtFirst Byte,Duration)、サニタイズされたリクエストメタデータ、レスポンスヘッダー、生の/部分的なボディチャンク、解析されたストリームフラグメント、およびトランスポートレイヤーの失敗点が含まれます。 - プラグイン内パス (最初にお勧めします):設定 -> Notemd -> 開発者向けプロバイダー診断 (長時間リクエスト) を使用して、アクティブなプロバイダーに対して実行時プローブを実行し、ヴォルトルートに
- ファイル形式を確認: 処理またはチェックしようとしているファイルの拡張子が
- LM Studio/Ollama 接続の問題:
- 接続テストの失敗: ローカルサーバー (LM Studio または Ollama) が実行されており、正しいモデルがロード/利用可能であることを確認してください。
- CORS エラー (Windows 上の Ollama): Windows で Ollama を使用しているときに CORS (Cross-Origin Resource Sharing) エラーが発生した場合は、
OLLAMA_ORIGINS環境変数を設定する必要があるかもしれません。Ollama を起動する前に、コマンドプロンプトでset OLLAMA_ORIGINS=*を実行することでこれを行えます。これにより、任意のオリジンからのリクエストが許可されます。 - LM Studio での CORS 有効化: LM Studio の場合、サーバー設定で直接 CORS を有効にできます。これは、Obsidian がブラウザで実行されている場合や厳格なオリジンポリシーがある場合に必要になることがあります。
- フォルダ作成エラー ("File name cannot contain..."):
- これは通常、設定で提供されたパス (処理済みファイルのフォルダパス または 概念ノートのフォルダパス) が Obsidian にとって 無効であることを意味します。
- 相対パスを使用していることを確認し (例:
Processed,Notes/Concepts)、絶対パスは使用しないでください (例:C:\Users\...,/Users/...)。 - 無効な文字がないか確認してください:
* " \ / < > : | ? # ^ [ ]。Obsidian のパスでは、Windows であっても\は無効であることに注意してください。パスの区切り文字には/を使用してください。
- パフォーマンスの問題: 大容量ファイルや多数のファイルの処理には時間がかかる場合があります。API 呼び出しを高速化 (ただし回数は増加) するために、「チャンク単語数」の設定を下げてみてください。別の LLM プロバイダーまたはモデルを試してください。
- 予期しないリンク: リンクの品質は LLM とプロンプトに大きく依存します。異なるモデルや温度設定を試してください。
貢献
貢献は大歓迎です!ガイドラインについては GitHub リポジトリを参照してください:https://github.com/Jacobinwwey/obsidian-NotEMD
メンテナー用ドキュメント
ライセンス
MIT ライセンス - 詳細は LICENSE ファイルを参照してください。
Notemd v1.9.3 - AI であなたの Obsidian ナレッジグラフを強化しましょう。
開発クロニクル
この四半期クロニクルは repo-saga の元のビジュアルスタイルを保ちつつ、四半期分割そのものを repo-saga が直接生成します。
リリースタグ 1.9.3 向けに 2026-06-24 に最新更新しました。 最新コミット日: 2026-06-24。