README file from
GithubLoreweaver
An Obsidian plugin for novelists and long-form fiction writers. It manages character relationships, foreshadowing, and worldbuilding entries entirely through plain Markdown frontmatter, and surfaces them in dedicated dashboards (a character relation graph and an unresolved-foreshadowing tracker).
Unlike general-purpose graph/query tools such as Excalibrain or Juggl, Loreweaver ships with a schema and dashboards purpose-built for fiction writing (character relations, foreshadowing) out of the box.
- No external database. Your vault's Markdown + frontmatter is the only source of truth; the plugin just indexes it in memory on load. Disabling the plugin never loses data.
- No network access, except an optional, off-by-default AI assist feature that talks exclusively to a local Ollama instance (
localhost/127.0.0.1, enforced in code) — no cloud APIs.
Features
- Character relation graph. Add a
relationslist to anytype: characternote's frontmatter and a dedicated view renders an interactive node/edge graph — drag nodes to reposition, double-click a node to open its note. - Foreshadowing dashboard. Notes with
type: foreshadoware listed in a warning panel showing every entry withresolved: false, so nothing gets forgotten before publication. - Worldbuilding templates. Command-palette commands insert ready-made frontmatter templates for locations, organizations, terms, characters, and foreshadowing entries into new, empty notes.
- Optional local AI assist (Ollama, off by default). When explicitly enabled and a local Ollama instance is running, three commands are available: suggesting
relationsentries from a character note's body, drafting a summary for a worldbuilding entry, and searching other notes for passages that might resolve an open foreshadowing thread. All AI output is a draft only — nothing is written back to your vault until you review and confirm it.
Installation
- Community plugins (pending review): search for "Loreweaver" in Obsidian's Community Plugins browser once the listing is approved.
- Manual install: download
main.js,manifest.json, andstyles.cssfrom the latest release, place them in<vault>/.obsidian/plugins/loreweaver/, then enable Loreweaver under Settings → Community plugins.
License
以下は日本語版です(本プラグインの主なユーザー層に向けた詳細説明)。
長編小説・シナリオ執筆者向けの Obsidian プラグインです。キャラクターの関係性・伏線・世界観設定を Markdown のフロントマターだけで管理し、専用のダッシュボードで見渡せるようにします。
Excalibrain や Juggl のような汎用グラフ/クエリツールとは異なり、「創作の relations・伏線」に特化したスキーマとダッシュボードを最初から持っている点が特徴です。
特徴
- プラグイン独自のデータベースを持ちません。 Vault 内の Markdown + フロントマターがそのまま正データです。プラグインは起動時にこれをパースしてメモリ上にインデックスを構築するだけなので、プラグインを無効化してもデータは一切失われません。
- 外部ネットワーク通信を一切行いません。 AI アシスト機能(既定 OFF)を除き、通信は発生しません。AI アシスト機能を有効にした場合も通信先は
localhost/127.0.0.1の Ollama(ローカル実行 LLM)に限定され、コードレベルでそれ以外のホストへのリクエストを拒否します。クラウド API には対応していません。
主な機能
キャラクター相関図
type: character のノートに relations を記述すると、専用ビューでノード(キャラクター)とエッジ(関係性)をグラフ表示します。ドラッグでノードを移動でき、ノードをダブルクリックすると該当ノートを開きます。
---
type: character
relations:
- target: "[[アリス]]"
relation: friend
note: "幼馴染"
- target: "[[ボブ]]"
relation: rival
---
コマンドパレット、またはリボンアイコンから「相関図を開く」で表示します。
伏線管理ダッシュボード
type: foreshadow のノートを一覧し、resolved: false(未回収)の伏線だけを警告リストとして表示します。
---
type: foreshadow
planted_in: "[[3章]]"
resolved: false
resolved_in: null
---
執筆が進んだら resolved: true と resolved_in を手動で更新します(自動検出はスコープ外です)。
世界観Wikiテンプレート
地名 (location) ・組織 (organization) ・用語 (term) ・キャラクター・伏線のフロントマター付きテンプレートを、コマンドパレットから新規ノートに挿入できます。既存の本文があるノートには挿入しません。
AIアシスト機能(Ollama連携、既定OFF)
設定タブで明示的に有効化した場合のみ使用できます。Ollama がローカルで起動している必要があります。
- relations候補抽出: キャラクターノートの本文を解析し、relations の下書きを提案します(チェックボックスで選んで適用、自動書き込みはしません)。
- 伏線回収候補検索: 未回収の伏線について、他ノートの本文からその伏線に関連しそうな箇所を探し、候補として提示します。
- 世界観エントリの要約生成: location/organization/term ノートの本文から要約文を生成し、
descriptionプロパティへの反映を提案します。
AI の提案はあくまで下書き・参考であり、採否はすべてユーザーが判断します。
インストール
コミュニティプラグイン経由(審査完了後)
Obsidian の「コミュニティプラグイン」からインストールできるよう申請予定です。
手動インストール
- Releases から最新版の
main.js/manifest.json/styles.cssをダウンロードします。 - Vault の
.obsidian/plugins/loreweaver/フォルダを作成し、そこに3ファイルを配置します。 - Obsidian の設定 → コミュニティプラグイン で Loreweaver を有効化します。
AIアシスト機能を使う場合
- Ollama をインストールし、任意のモデルを
ollama pullで取得します(日本語での動作確認には7shi/ezo-gemma-2-jpn:2b-instruct-q8_0を使用しています)。 - Loreweaver の設定タブで「Ollama連携」を有効化し、ベースURL(既定
http://localhost:11434)とモデル名を設定します。 - キャラクター/世界観ノートを開き、コマンドパレットから「Loreweaver: AIアシスト」で始まるコマンドを実行します。
開発
npm install
npm run dev # esbuildのウォッチビルド
npm run build # 型チェック + 本番ビルド
ビルド後の main.js / manifest.json / styles.css を Vault の .obsidian/plugins/loreweaver/ にコピーして動作確認してください。