stellavault 0.8.4 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +469 -0
- package/README.ko.md +469 -0
- package/README.md +470 -372
- package/README.zh.md +469 -0
- package/dist/graph-ui/assets/{camera_utils-DBFmYlaE.js → camera_utils-C1y6pgyV.js} +1 -1
- package/dist/graph-ui/assets/{hands-CBFUH2Er.js → hands-BbZLpLop.js} +1 -1
- package/dist/graph-ui/assets/index-KgyFgRwK.js +4435 -0
- package/dist/graph-ui/index.html +1 -1
- package/dist/stellavault.js +989 -415
- package/package.json +21 -6
- package/dist/graph-ui/assets/index-BNGAzxHC.js +0 -4426
package/README.ja.md
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="images/banner.svg" alt="Stellavault — 何でも放り込むだけで自動的に知識へコンパイルされます" width="100%" />
|
|
4
|
+
|
|
5
|
+
**Claude が記憶するローカルファーストなセカンドブレイン。**<br/>
|
|
6
|
+
Karpathy の自己コンパイル型 wiki × ツェッテルカステン — 完全ローカル、ボールト非破壊、MCP ネイティブ。
|
|
7
|
+
|
|
8
|
+
[](#mcp-連携-21ツール) [](https://www.npmjs.com/package/stellavault) [](https://github.com/Evanciel/stellavault/actions/workflows/ci.yml) []() []() [](LICENSE)
|
|
9
|
+
|
|
10
|
+
[English](README.md) · [한국어](README.ko.md) · **日本語** · [简体中文](README.zh.md)
|
|
11
|
+
|
|
12
|
+
[**🤖 Claude / Cursor に追加**](#mcp-連携-21ツール) · [**⬇ デスクトップアプリ**](https://github.com/Evanciel/stellavault/releases/tag/desktop-v0.3.0) · [**⚡ クイックスタート**](#インストール) · [**🌐 ライブデモ**](https://evanciel.github.io/stellavault/)
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
> **Claude にボルトを読ませる 1 コマンド:**
|
|
17
|
+
>
|
|
18
|
+
> ```bash
|
|
19
|
+
> npx -y stellavault setup # Claude Code / Desktop、Cursor、Windsurf、VS Code に MCP サーバーを接続
|
|
20
|
+
> ```
|
|
21
|
+
|
|
22
|
+
**自らをコンパイルするセカンドブレイン。** Stellavault は、知識はどう生き、どう育つべきかについての 2 つの思想を一つに溶け込ませました:
|
|
23
|
+
|
|
24
|
+
- 🧠 **Karpathy の自己コンパイル型 wiki** — 何でも(PDF、YouTube リンク、ふと浮かんだ考え)を放り込むと自動で抽出されて `raw/` に積まれ、概念とバックリンクが整理された綺麗な `_wiki/` へと **コンパイル** されます。知識はフォルダの中で腐るのではなく、積み重なるほど自らを再コンパイルします。
|
|
25
|
+
- 🕸️ **ツェッテルカステン(Zettelkasten)** — アトミックなノート、`[[ウィキリンク]]`、そして自然に育つつながり。フォルダツリーではなく *アイデアの網* こそが、あなたの思考を形づくる本当の骨格になります。
|
|
26
|
+
|
|
27
|
+
この 2 つを一つのローカルファーストな知識ツールに統合しました — 本格的なマークダウンエディタ、3D ニューラルグラフ、ハイブリッド AI 検索、間隔反復(spaced repetition)による記憶減衰まで。そのすべてが、**デスクトップアプリ**、**CLI**、**Obsidian プラグイン**、そして **Claude にあなたのボールト(vault)全体を読ませる MCP サーバー** として利用できます。クラウドも API キーも不要、元のファイルは決して変更されません。
|
|
28
|
+
|
|
29
|
+
<p align="center">
|
|
30
|
+
<img src="images/screenshots/graph-main-2.png" alt="3D ナレッジグラフ" width="820" />
|
|
31
|
+
<br><em>あなたのボールトを一つのニューラルネットワークに。ローカルファースト、クラウド不要。</em>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
## 目次
|
|
35
|
+
|
|
36
|
+
[ハイライト](#ハイライト) · [なぜ Stellavault?](#なぜ-stellavault-なのか) · [インストール](#インストール) · [エディタ](#エディタ) · [パイプライン](#パイプライン) · [インテリジェンス](#インテリジェンス) · [検索とランキング](#検索とランキング) · [MCP 連携](#mcp-連携-21ツール) · [3D ビジュアライゼーション](#3d-ビジュアライゼーション) · [設定](#設定) · [パフォーマンス](#パフォーマンス) · [技術スタック](#技術スタック) · [セキュリティ](#セキュリティ) · [トラブルシューティング](#トラブルシューティング)
|
|
37
|
+
|
|
38
|
+
## ハイライト
|
|
39
|
+
|
|
40
|
+
- 🧠 **自らをコンパイルします。** PDF、YouTube リンク、走り書きのメモ — 何でも放り込めば `raw/` に抽出し、概念とバックリンクが整理された綺麗な `_wiki/` へと *コンパイル* します。積み重なるほど自ら整理される知識。
|
|
41
|
+
- 🔍 **本当に見つかる検索。** 意味(セマンティック)+ 正確なキーワード(BM25)+ あなたの `[[ウィキリンク]]` / `#タグ` を **重み付き RRF** で融合し、FSRS 記憶モデルで再ランキングして *いま使っている* ノートを浮上させます。50+ 言語、完全ローカル、APIキー 0。
|
|
42
|
+
- 🌌 **あなたの思考を 3D で。** リアルタイムのニューラルグラフ(React Three Fiber)— クラスタ色分け、コンステレーション、ヒートマップ、タイムライン、マルチバース P2P ビュー。知っていることの *かたち* を目で見る方法。
|
|
43
|
+
- 🤖 **Claude がボールト全体を読みます。** ファーストクラスの **MCP サーバー**(21 ツール): Claude Code・Claude Desktop・Cursor・Windsurf・VS Code から検索・質問・ドラフト・点検・分析を直接。
|
|
44
|
+
- ⏳ **決して *静かに* 忘れません。** FSRS 記憶減衰が失いかけている本当のノートを浮上させ、ボールト全体の知識ギャップ・矛盾・重複まで検出します。
|
|
45
|
+
- 🔒 **ローカルファースト。ボールト非破壊。キー 0。** ローカル埋め込み + オンデバイスのベクトルストア、元のファイルは **決して変更されません。** オプトインしない限り、何も端末を離れません。
|
|
46
|
+
|
|
47
|
+
## なぜ Stellavault なのか
|
|
48
|
+
|
|
49
|
+
多くのツールは *書く*・*探す*・*覚える* のどれかを選ばせます。Stellavault はその 3 つすべてを — ローカルで、しかも Claude が読める形で。
|
|
50
|
+
|
|
51
|
+
| | **Stellavault** | Obsidian | Notion | 自作 RAG |
|
|
52
|
+
|---|:---:|:---:|:---:|:---:|
|
|
53
|
+
| ローカルファースト、オフライン動作 | ✅ | ✅ | ☁️ クラウド | ⚠️ 多くはクラウド |
|
|
54
|
+
| APIキー不要のセマンティック検索 | ✅ | ⚠️ プラグイン+キー | 💰 有料 AI | ⚠️ キー必須 |
|
|
55
|
+
| 元ファイル非変更 | ✅ | ✅ | ❌ 独自形式 | ➖ |
|
|
56
|
+
| 自己コンパイル(取込 → wiki) | ✅ | ❌ | ❌ | ❌ |
|
|
57
|
+
| 3D ナレッジグラフ | ✅ | 2D / プラグイン | ❌ | ❌ |
|
|
58
|
+
| 間隔反復による減衰(FSRS) | ✅ | ⚠️ プラグイン | ❌ | ❌ |
|
|
59
|
+
| ギャップ・矛盾・重複の検出 | ✅ | ❌ | ❌ | ❌ |
|
|
60
|
+
| MCP ネイティブ(Claude がボールトを読む) | ✅ | ➖ コミュニティ | ☁️ クラウド | ➖ |
|
|
61
|
+
|
|
62
|
+
> [!NOTE]
|
|
63
|
+
> 二者択一ではありません — Stellavault は **Obsidian の中で** [プラグイン](https://github.com/Evanciel/stellavault-obsidian)としても動きます。使い慣れたエディタはそのまま、頭脳だけ足してください。
|
|
64
|
+
|
|
65
|
+
## インストール
|
|
66
|
+
|
|
67
|
+
### デスクトップアプリ (推奨 — ワンクリック)
|
|
68
|
+
|
|
69
|
+
<table>
|
|
70
|
+
<tr>
|
|
71
|
+
<td align="center"><a href="https://github.com/Evanciel/stellavault/releases/download/desktop-v0.3.0/Stellavault-win32-x64-0.3.0.zip"><br/><b>⬇ Windows 版をダウンロード</b><br/><sub>x64 · 273 MB · ZIP</sub></a></td>
|
|
72
|
+
<td align="center"><a href="https://github.com/Evanciel/stellavault/releases/download/desktop-v0.3.0/Stellavault-linux-x64-0.3.0.zip"><br/><b>⬇ Linux 版をダウンロード</b><br/><sub>x64 · 243 MB · ZIP</sub></a></td>
|
|
73
|
+
<td align="center"><br/><b>macOS</b><br/><sub>近日公開</sub></td>
|
|
74
|
+
</tr>
|
|
75
|
+
</table>
|
|
76
|
+
|
|
77
|
+
> [!TIP]
|
|
78
|
+
> ダウンロード → 解凍 → `stellavault.exe`(Windows) または `stellavault`(Linux) を実行 → ノートフォルダを選択 → 完了。
|
|
79
|
+
|
|
80
|
+
### CLI (開発者向け)
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npm install -g stellavault # または: npx stellavault
|
|
84
|
+
stellavault init # 対話式セットアップ (3分): ボールトの索引化 + AI クライアント接続
|
|
85
|
+
stellavault setup # Claude Code/Desktop, Cursor, Windsurf, VS Code に接続 (1コマンド)
|
|
86
|
+
stellavault graph # ブラウザで 3D グラフを起動
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
> Node.js 20+ が必要です。問題が起きたら `stellavault doctor` で診断してください。
|
|
90
|
+
|
|
91
|
+
### Obsidian プラグイン
|
|
92
|
+
|
|
93
|
+
1. [stellavault-obsidian リリース](https://github.com/Evanciel/stellavault-obsidian/releases/latest)から `main.js` + `manifest.json` + `styles.css` をダウンロード
|
|
94
|
+
2. `.obsidian/plugins/stellavault/` に配置
|
|
95
|
+
3. 設定 → コミュニティプラグインで有効化
|
|
96
|
+
4. ボールトフォルダで API を起動: `npx stellavault graph`
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## エディタ
|
|
101
|
+
|
|
102
|
+
本格的なマークダウンエディタ — Obsidian に匹敵します。
|
|
103
|
+
|
|
104
|
+
<details>
|
|
105
|
+
<summary><b>あらゆる書式 & ブロックに対応</b> — テーブル、コード、KaTeX、スラッシュコマンド、ウィキリンク、分割ビュー… <i>(クリックで展開)</i></summary>
|
|
106
|
+
|
|
107
|
+
<br/>
|
|
108
|
+
|
|
109
|
+
| 機能 | 状態 |
|
|
110
|
+
|---------|--------|
|
|
111
|
+
| 太字、斜体、下線、取り消し線 | ✅ |
|
|
112
|
+
| 見出し 1–6 | ✅ |
|
|
113
|
+
| 箇条書き・番号付き・タスクリスト (ネストしたチェックボックス) | ✅ |
|
|
114
|
+
| テーブル (作成、列幅調整、行・列の追加/削除) | ✅ |
|
|
115
|
+
| シンタックスハイライト付きコードブロック (40+ 言語) | ✅ |
|
|
116
|
+
| 画像 (URL、クリップボード貼り付け、ドラッグ&ドロップ) | ✅ |
|
|
117
|
+
| KaTeX 数式レンダリング (`$E=mc^2$` インライン、`$$...$$` ディスプレイ) | ✅ |
|
|
118
|
+
| `/スラッシュコマンド` (12種のブロック、あいまい検索) | ✅ |
|
|
119
|
+
| `[[ウィキリンク]]` オートコンプリート | ✅ |
|
|
120
|
+
| 分割ビュー (垂直 + 水平、Ctrl+\\) | ✅ |
|
|
121
|
+
| テキスト整列 (左 / 中央 / 右) | ✅ |
|
|
122
|
+
| ハイライト、上付き、下付き | ✅ |
|
|
123
|
+
| スマートタイポグラフィ (丸引用符、em/en ダッシュ) | ✅ |
|
|
124
|
+
| 水平線 | ✅ |
|
|
125
|
+
|
|
126
|
+
</details>
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## パイプライン
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
収集 ──→ 整理 ──→ 蒸留 ──→ 表現
|
|
134
|
+
(Capture ──→ Organize ──→ Distill ──→ Express)
|
|
135
|
+
|
|
136
|
+
何でも放り込む → 自動抽出 → raw/ → コンパイル → _wiki/ → ドラフト
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Karpathy の自己コンパイル型ナレッジアーキテクチャに着想を得ています。
|
|
140
|
+
|
|
141
|
+
### 14 フォーマットの取り込み(Ingest)
|
|
142
|
+
|
|
143
|
+
| 入力 | 方法 |
|
|
144
|
+
|-------|-----|
|
|
145
|
+
| PDF, DOCX, PPTX, XLSX | `stellavault ingest report.pdf` |
|
|
146
|
+
| JSON, CSV, XML, YAML, HTML, RTF | `stellavault ingest data.json` |
|
|
147
|
+
| YouTube | `stellavault ingest https://youtu.be/...` — 文字起こし + タイムスタンプ |
|
|
148
|
+
| URL | `stellavault ingest https://...` — HTML → マークダウン |
|
|
149
|
+
| テキスト | `stellavault ingest "ふと思ったこと"` |
|
|
150
|
+
| フォルダ | `stellavault ingest ./papers/` — 全ファイルを一括処理 |
|
|
151
|
+
| デスクトップ / Web UI | ファイルを直接ドラッグ&ドロップ |
|
|
152
|
+
|
|
153
|
+
### 表現(Express): 知識を取り出す
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
stellavault draft "AI" --format blog # ボールトを基にしたブログ記事
|
|
157
|
+
stellavault draft "AI" --format outline # 構造化されたアウトライン
|
|
158
|
+
stellavault draft "AI" --ai # Claude API で強化 ($0.03)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
または、デスクトップアプリの **Express タブ** でトピックを入力しフォーマットを選ぶと、ボールトに基づいたドラフトを生成します。`_drafts/` に保存し、インラインで編集できます。
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## インテリジェンス
|
|
166
|
+
|
|
167
|
+
> Obsidian にはプラグインを使っても **存在しない** 機能です。
|
|
168
|
+
|
|
169
|
+
| 機能 | コマンド / デスクトップ | 説明 |
|
|
170
|
+
|---------|-------------------|-------------|
|
|
171
|
+
| **記憶減衰(Memory Decay)** | `stellavault decay` / Memory タブ | FSRS ベース — あなたが忘れかけている実際のノートを示します |
|
|
172
|
+
| **知識のギャップ(Knowledge Gaps)** | `stellavault gaps` | トピッククラスタ間の弱い結びつきを検出 |
|
|
173
|
+
| **矛盾(Contradictions)** | `stellavault contradictions` | ボールト全体の相反する記述を発見 |
|
|
174
|
+
| **重複(Duplicates)** | `stellavault duplicates` | 類似度スコア付きでほぼ同一のノートを検出 |
|
|
175
|
+
| **ヘルスチェック(Health Check)** | `stellavault lint` | ボールトの健全性スコアを集計 (0–100) |
|
|
176
|
+
| **学習パス(Learning Path)** | `stellavault learn` | AI がパーソナライズした復習レコメンド |
|
|
177
|
+
| **デイリーブリーフ** | デスクトップアプリのホーム画面 | プッシュ型: アプリ起動時に減衰上位ノート + 統計を表示 |
|
|
178
|
+
| **自動タグ付け** | 取り込み時に自動 | コンテンツベースのキーワード抽出 + カテゴリルール |
|
|
179
|
+
| **自己コンパイル** | `stellavault compile` | raw/ → _wiki/ へ、概念抽出 + バックリンクを自動生成 |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 検索とランキング
|
|
184
|
+
|
|
185
|
+
複数のシグナルを **重み付き RRF(Reciprocal Rank Fusion)** で融合するハイブリッド検索 — 個人のナレッジボールト向けにチューニングされ、完全ローカル、APIキー 0:
|
|
186
|
+
|
|
187
|
+
| シグナル | 捉えるもの | 既定の重み |
|
|
188
|
+
|--------|------------------|---------------:|
|
|
189
|
+
| **セマンティック**(dense) | 意味; 多言語 (50+ 言語) | `1.0` |
|
|
190
|
+
| **BM25**(キーワード) | 正確な用語、コード、名前 | `1.0` |
|
|
191
|
+
| **エンティティリンキング** | あなたの `[[ウィキリンク]]`、`#タグ`、見出し、タイトル — キュレーションされたグラフ | `1.5` |
|
|
192
|
+
| **FSRS 新近性** | あなたが今使っている / 忘れかけているノートをそっと浮上させる | `±10%` |
|
|
193
|
+
|
|
194
|
+
- **エンティティマッチング** は、あいまい部分文字列 + 句読点正規化マッチングで自然言語クエリを解決します(韓国語 / CJK フレンドリー)。さらに **ドキュメント単位の多様性キャップ(per-document diversity cap)** により、大きなノート 1 つが上位結果を埋め尽くすのを防ぎます。
|
|
195
|
+
- **新近性** は単なるファイル更新時刻(mtime)ではなく、減衰エンジンと同じ FSRS 記憶モデルを再利用します — 忘れかけているノートは再浮上し、習得済みの古い定番ノートが古いというだけで埋もれることはありません。
|
|
196
|
+
- **アダプティブ再ランキング**(長時間稼働する MCP サーバー)は、現在のセッション文脈(最近のタグ / パス)でさらに結果を補正します。
|
|
197
|
+
- すべての重みはボールトごと、または環境変数で **チューニング可能** です — [設定](#設定) を参照。
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## MCP 連携 (21ツール)
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
stellavault setup # 1コマンド → Claude Code, Claude Desktop, Cursor, Windsurf, VS Code
|
|
205
|
+
# または Claude Code のみ:
|
|
206
|
+
claude mcp add stellavault -- stellavault serve
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
<details>
|
|
210
|
+
<summary>手動設定 (任意の MCP クライアント) — コピー&ペースト JSON</summary>
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"mcpServers": {
|
|
215
|
+
"stellavault": {
|
|
216
|
+
"command": "npx",
|
|
217
|
+
"args": ["-y", "stellavault", "serve"]
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
[MCP レジストリ](https://registry.modelcontextprotocol.io)に `io.github.Evanciel/stellavault` として登録 (Glama・Smithery・mcp.so でも発見可能)。
|
|
224
|
+
</details>
|
|
225
|
+
|
|
226
|
+
Claude があなたのボールトを直接、検索・質問・ドラフト作成・点検・分析できます。検索はハイブリッドパイプライン全体を実行します — セマンティック + BM25 + エンティティリンキングに対する **重み付き RRF**、加えて **FSRS 新近性** とセッション適応型の再ランキング(詳細は [検索とランキング](#検索とランキング))。
|
|
227
|
+
|
|
228
|
+
| ツール | 機能 |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| `search` | 重み付き RRF (セマンティック + BM25 + エンティティ) + FSRS 新近性 + アダプティブ再ランキング |
|
|
231
|
+
| `ask` | ボールト根拠の Q&A |
|
|
232
|
+
| `generate-draft` | あなたの知識から AI がドラフトを作成 |
|
|
233
|
+
| `get-decay-status` | 記憶減衰レポート (FSRS) |
|
|
234
|
+
| `detect-gaps` | 知識ギャップ分析 |
|
|
235
|
+
| `create-knowledge-node` | AI がウィキ品質のノートを作成 |
|
|
236
|
+
| `federated-search` | 複数ボールトをまたぐ P2P 検索 |
|
|
237
|
+
| + 他 14 個 | ドキュメント、トピック、決定、スナップショット、エクスポート |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 3D ビジュアライゼーション
|
|
242
|
+
|
|
243
|
+
- クラスタ色分けされたニューラルグラフ (React Three Fiber)
|
|
244
|
+
- コンステレーション(星座)ビュー (MST スターパターン)
|
|
245
|
+
- ヒートマップオーバーレイ + タイムラインスライダー + 減衰オーバーレイ
|
|
246
|
+
- マルチバースビュー — P2P ネットワーク上で一つの宇宙になったあなたのボールト
|
|
247
|
+
- ダーク/ライトテーマ
|
|
248
|
+
|
|
249
|
+
<table>
|
|
250
|
+
<tr>
|
|
251
|
+
<td width="50%"><img src="images/screenshots/graph-heatmap.png" alt="ヒートマップオーバーレイ" /><br/><sub><b>ヒートマップ</b> — クラスタ間の接続密度</sub></td>
|
|
252
|
+
<td width="50%"><img src="images/screenshots/graph-timeline.png" alt="タイムラインスライダー" /><br/><sub><b>タイムライン</b> — ボールトが育つ様子を時系列で</sub></td>
|
|
253
|
+
</tr>
|
|
254
|
+
<tr>
|
|
255
|
+
<td><img src="images/screenshots/search-active.png" alt="セマンティック検索ハイライト" /><br/><sub><b>検索</b> — グラフ内でセマンティックマッチをハイライト</sub></td>
|
|
256
|
+
<td><img src="images/screenshots/multiverse-view.png" alt="マルチバース P2P ビュー" /><br/><sub><b>マルチバース</b> — 軌道を回る宇宙となった連合ボールト</sub></td>
|
|
257
|
+
</tr>
|
|
258
|
+
</table>
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 今すぐ試す (デモボールト)
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
npx stellavault index --vault ./examples/demo-vault # サンプルノート 10 件を索引化
|
|
266
|
+
npx stellavault search "vector database" # セマンティック検索
|
|
267
|
+
npx stellavault graph # 3D グラフの可視化
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
デモボールトには Vector Database、Knowledge Graph、Spaced Repetition、RAG、MCP など、相互にリンクしたノートが含まれており、すべての機能をすぐに体験できます。
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## スタートガイド
|
|
275
|
+
|
|
276
|
+
### デスクトップアプリ
|
|
277
|
+
|
|
278
|
+
1. **ダウンロード** → 解凍 → 実行
|
|
279
|
+
2. 初回起動時にノートフォルダの選択を求められます
|
|
280
|
+
3. ノートがサイドバーに表示されます — クリックして開く
|
|
281
|
+
4. `Ctrl+P` で高速ファイル切り替え
|
|
282
|
+
5. タイトルバーの ✦ をクリック → AI パネル (セマンティック検索、統計、ドラフト)
|
|
283
|
+
6. ◉ をクリック → 3D グラフ
|
|
284
|
+
|
|
285
|
+
### CLI
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
npm install -g stellavault
|
|
289
|
+
stellavault init # セットアップウィザード
|
|
290
|
+
stellavault search "machine learning" # セマンティック検索
|
|
291
|
+
stellavault ingest paper.pdf # 知識を追加
|
|
292
|
+
stellavault graph # ブラウザで 3D グラフ
|
|
293
|
+
stellavault brief # 朝のブリーフィング
|
|
294
|
+
stellavault decay # 今、何を忘れかけている?
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### キーボードショートカット (デスクトップ)
|
|
298
|
+
|
|
299
|
+
| ショートカット | 動作 |
|
|
300
|
+
|----------|--------|
|
|
301
|
+
| `Ctrl+P` | クイックスイッチャー (あいまいファイル検索) |
|
|
302
|
+
| `Ctrl+Shift+P` | コマンドパレット (全アクション) |
|
|
303
|
+
| `Ctrl+S` | 現在のノートを保存 |
|
|
304
|
+
| `Ctrl+\` | 分割ビューの切り替え |
|
|
305
|
+
| `Ctrl+B` | 太字 |
|
|
306
|
+
| `Ctrl+I` | 斜体 |
|
|
307
|
+
| `Ctrl+U` | 下線 |
|
|
308
|
+
| `Ctrl+E` | インラインコード |
|
|
309
|
+
| `/` | スラッシュコマンド (行頭で) |
|
|
310
|
+
| `[[` | ウィキリンクのオートコンプリート |
|
|
311
|
+
|
|
312
|
+
### クイックリファレンス
|
|
313
|
+
|
|
314
|
+
| 動作 | デスクトップ | CLI |
|
|
315
|
+
|--------|---------|-----|
|
|
316
|
+
| ノート検索 | Ctrl+P または AI パネル | `stellavault search "query"` |
|
|
317
|
+
| ノート追加 | + Note ボタン または ドラッグ&ドロップ | `stellavault ingest "text"` |
|
|
318
|
+
| 3D グラフ表示 | ◉ ボタン | `stellavault graph` |
|
|
319
|
+
| 記憶減衰 | AI パネル → Memory | `stellavault decay` |
|
|
320
|
+
| ドラフト生成 | AI パネル → Draft | `stellavault draft "topic"` |
|
|
321
|
+
| ヘルスチェック | AI パネル → Stats | `stellavault lint` |
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 設定
|
|
326
|
+
|
|
327
|
+
Stellavault は `./.stellavault.json`(または `~/.stellavault.json`)を読み込みます。検索ランキングは完全にチューニング可能で、妥当な既定値がそのまま機能します:
|
|
328
|
+
|
|
329
|
+
```jsonc
|
|
330
|
+
{
|
|
331
|
+
"search": {
|
|
332
|
+
"rrfK": 60,
|
|
333
|
+
"weights": { "semantic": 1.0, "bm25": 1.0, "entity": 1.5 },
|
|
334
|
+
"recencyWeight": 0.2, // FSRS 新近性の強さ; 0 = オフ
|
|
335
|
+
"entityAliases": { "k8s": ["kubernetes"] } // 同義語 / 言語横断グループ (完全一致のみ)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
環境変数は設定を上書きします (ガード付きでパース):
|
|
341
|
+
|
|
342
|
+
| 環境変数 | 効果 |
|
|
343
|
+
|---------|--------|
|
|
344
|
+
| `STELLAVAULT_W_SEMANTIC` / `_BM25` / `_ENTITY` | シグナルごとの RRF 重み (例: `STELLAVAULT_W_ENTITY=2.0` でエンティティを積極的に浮上) |
|
|
345
|
+
| `STELLAVAULT_RECENCY_WEIGHT` | 新近性の強さ `0`–`1` (`0` で無効) |
|
|
346
|
+
| `STELLAVAULT_DB_PATH` | 索引 DB の場所を上書き |
|
|
347
|
+
| `STELLAVAULT_WATCH` | `serve` 実行中の自動再索引ファイルウォッチャーを無効化するには `0` |
|
|
348
|
+
|
|
349
|
+
> 注: 言語横断のリコール(例: 韓国語クエリで英語ノートを見つける)は多言語埋め込みモデルが自動で処理します — `entityAliases` は、キュレーションされたエンティティグラフ(タグ / ウィキリンク)と略語に対する任意の精度ブーストです。
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## パフォーマンス
|
|
354
|
+
|
|
355
|
+
合成ボールトでテスト — 一般的な用途ではすべての操作が 1 秒未満:
|
|
356
|
+
|
|
357
|
+
| 操作 | 100 ドキュメント | 500 ドキュメント | 1000 ドキュメント |
|
|
358
|
+
|-----------|----------|----------|-----------|
|
|
359
|
+
| ストア初期化 | 15ms | 15ms | 16ms |
|
|
360
|
+
| 一括 upsert | 12ms | 102ms | ~200ms |
|
|
361
|
+
| 検索 (BM25) | <1ms | <1ms | <1ms |
|
|
362
|
+
| 全ドキュメント取得 | <1ms | 2ms | ~4ms |
|
|
363
|
+
| 124K 内積演算 | — | 36ms | — |
|
|
364
|
+
|
|
365
|
+
自分でベンチマークを実行:
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
node tests/stress.mjs 500 # 合成ドキュメント 500 件でテスト
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
主な最適化:
|
|
372
|
+
- **HNSW グラフ構築** — 200+ ドキュメントで sqlite-vec KNN (O(n·K·log n) vs O(n²))
|
|
373
|
+
- 事前正規化ベクトル: コサイン類似度 → 単一の内積
|
|
374
|
+
- バッチ埋め込みロード (バッチあたり 500、RAM オーバーフローを防止)
|
|
375
|
+
- 小規模ボールト(< 200 ドキュメント)は上三角ブルートフォース
|
|
376
|
+
- 型付き配列による O(n) K-Means セントロイド更新
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## 技術スタック
|
|
381
|
+
|
|
382
|
+
| レイヤー | 技術 |
|
|
383
|
+
|-------|------|
|
|
384
|
+
| デスクトップ | Electron + React + TipTap (15 拡張) + Zustand |
|
|
385
|
+
| ランタイム | Node.js 20+ (ESM, TypeScript) |
|
|
386
|
+
| ベクトルストア | SQLite-vec (ローカル、設定不要) |
|
|
387
|
+
| 埋め込み | MiniLM-L12-v2 (ローカル、50+ 言語、バッチ処理) |
|
|
388
|
+
| 検索 | 重み付き RRF (セマンティック + BM25 + エンティティ) + FSRS 新近性 |
|
|
389
|
+
| 数式 | KaTeX (インライン + ディスプレイ) |
|
|
390
|
+
| コード | lowlight / highlight.js (40+ 言語) |
|
|
391
|
+
| 3D | React Three Fiber + Three.js |
|
|
392
|
+
| AI | MCP (21 ツール) + Anthropic SDK |
|
|
393
|
+
| P2P | Hyperswarm (任意、差分プライバシー) |
|
|
394
|
+
| CI | GitHub Actions (Node 20 + 22) |
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## セキュリティ
|
|
399
|
+
|
|
400
|
+
- **ローカルファースト** — `--ai` を使わない限りデータが端末を離れません
|
|
401
|
+
- **ボールトファイルは決して変更しない** — SQLite に索引化するだけで、元ファイルはそのまま
|
|
402
|
+
- **Electron サンドボックス有効** — レンダラーは縮小された OS 権限で実行
|
|
403
|
+
- **IPC パス検証** — すべてのファイル操作はボールトルート内に留まる
|
|
404
|
+
- **API 認証トークン** — セッションごと、ヘッダー専用(`X-Stellavault-Token`)。トークンのエンドポイントは同一オリジン(same-origin)のみ
|
|
405
|
+
- **CORS 許可リスト** — 既定は `localhost` / `127.0.0.1` のみ; MCP HTTP トランスポートはオプトイン
|
|
406
|
+
- **SSRF 対策** — URL 取り込み時にプライベート IP をブロック
|
|
407
|
+
- **E2E 暗号化** — クラウド同期に AES-256-GCM
|
|
408
|
+
|
|
409
|
+
### フェデレーション (実験的、既定でオフ)
|
|
410
|
+
|
|
411
|
+
P2P セマンティック検索は **オプトインの実験的機能** として提供されます。既定のインストールではどの swarm にも参加せず、データを共有することはありません。
|
|
412
|
+
|
|
413
|
+
明示的に有効化:
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
# PowerShell
|
|
417
|
+
$env:STELLAVAULT_FEDERATION_EXPERIMENTAL = "1"
|
|
418
|
+
|
|
419
|
+
# bash / zsh
|
|
420
|
+
export STELLAVAULT_FEDERATION_EXPERIMENTAL=1
|
|
421
|
+
|
|
422
|
+
stellavault federate join
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
有効化すると、フェデレーションは Ed25519 アイデンティティと署名付きエンベロープ、相互チャレンジ・レスポンスのハンドシェイク、エンベロープごとのリプレイ用ノンス、ハンドシェイクタイムアウト、ピアごとのレート制限、そして受信専用の共有既定値(`myNodeLevel=0`)を使用します。実際にタイトル/スニペットをピアと共有するには、フェデレーションプロンプトで `set-level 1+` を実行してください。
|
|
426
|
+
|
|
427
|
+
> [!WARNING]
|
|
428
|
+
> **アップグレード注記 (v0.7.4)** — フェデレーションのワイヤーフォーマットが v2.0 → v2.1(エンベロープ単位のノンス)に上がりました。v0.7.3 のノードとは互換性がありません。既存の `~/.stellavault/federation/sharing.json` はより安全な既定値へ自動ダウングレード **されない** ため、以前オプトインしていた場合は `myNodeLevel` を見直してください。
|
|
429
|
+
|
|
430
|
+
詳細は [SECURITY.md](SECURITY.md) を参照してください。
|
|
431
|
+
|
|
432
|
+
## トラブルシューティング
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
stellavault doctor # 設定、ボールト、DB、モデル、Node バージョンを確認
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
よくある問題:
|
|
439
|
+
- **"Command not found"** → `npm i -g stellavault@latest`
|
|
440
|
+
- **"API server not found"** → `npx stellavault graph`
|
|
441
|
+
- **空のグラフ** → `stellavault index`
|
|
442
|
+
- **初回起動が遅い** → AI モデル ~30MB を初回のみダウンロード
|
|
443
|
+
|
|
444
|
+
## コントリビュート
|
|
445
|
+
|
|
446
|
+
Issue と Pull Request を歓迎します。はじめ方は [CONTRIBUTING.md](CONTRIBUTING.md) を、脆弱性の報告は [SECURITY.md](SECURITY.md) を参照してください。
|
|
447
|
+
|
|
448
|
+
## ライセンス
|
|
449
|
+
|
|
450
|
+
MIT — 全ソースコードを監査(audit)できます。
|
|
451
|
+
|
|
452
|
+
## リンク
|
|
453
|
+
|
|
454
|
+
- **[⬇ デスクトップアプリをダウンロード](https://github.com/Evanciel/stellavault/releases/tag/desktop-v0.3.0)**
|
|
455
|
+
- [ランディングページ](https://evanciel.github.io/stellavault/)
|
|
456
|
+
- [Obsidian プラグイン](https://github.com/Evanciel/stellavault-obsidian)
|
|
457
|
+
- [npm](https://www.npmjs.com/package/stellavault)
|
|
458
|
+
- [GitHub リリース](https://github.com/Evanciel/stellavault/releases)
|
|
459
|
+
- [セキュリティポリシー](SECURITY.md)
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
<div align="center">
|
|
464
|
+
|
|
465
|
+
**役に立ちましたか?** ⭐ [**Stellavault にスター**](https://github.com/Evanciel/stellavault) — つながりで考える人たちに届く大きな力になります。
|
|
466
|
+
|
|
467
|
+
<sub>セカンドブレインを築く人のために ✦ で。 · <a href="https://github.com/Evanciel/stellavault/releases">ダウンロード</a> · <a href="#mcp-連携-21ツール">Claude を接続</a> · <a href="https://github.com/Evanciel/stellavault/issues">問題を報告</a></sub>
|
|
468
|
+
|
|
469
|
+
</div>
|