vault-forge 2.0.0 → 2.0.1
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 +336 -0
- package/package.json +3 -2
package/README_ja.md
ADDED
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
[🇺🇸 English](README.md)
|
|
2
|
+
|
|
3
|
+
<a id="top"></a>
|
|
4
|
+
# Vault-Forge v2.0
|
|
5
|
+
|
|
6
|
+
**Obsidian × Terminal × AI**
|
|
7
|
+
Vault-Forge は、Obsidian の Vault をターミナルから直接操作し、生成 AI の力を借りて知的生産を加速させるための CLI ツールです。
|
|
8
|
+
|
|
9
|
+
v2.0 ではアーキテクチャを刷新し、**マルチAIサポート**、**高速検索**、**日記機能** を搭載しました。
|
|
10
|
+
|
|
11
|
+
## 目次 (Table of Contents)
|
|
12
|
+
|
|
13
|
+
1. [🚀 v2.0 の新機能](#-v20-の新機能)
|
|
14
|
+
2. [📦 インストールと準備](#-インストールと準備)
|
|
15
|
+
3. [📖 コマンドガイド](#-コマンドガイド)
|
|
16
|
+
* [1. 📔 日記・メモ (`vf diary`)](#1--日記メモ-vf-diary)
|
|
17
|
+
* [2. 🔍 検索 (`vf search`)](#2--検索-vf-search)
|
|
18
|
+
* [3. 🤖 AI解析・生成 (`vf ai`)](#3--ai解析生成-vf-ai)
|
|
19
|
+
* [4. 推奨エイリアス設定(`Aliases`)](#4-推奨エイリアス設定Aliases)
|
|
20
|
+
4. [🛠️ カスタマイズ (The Forge)](#️-カスタマイズ-the-forge)
|
|
21
|
+
5. [📊 トークン管理](#-トークン管理)
|
|
22
|
+
6. [⌨️ シェル補完 (Completion)](#️-シェル補完-completion)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🚀 v2.0 の新機能
|
|
27
|
+
|
|
28
|
+
* **🧠 マルチAIサポート**: Gemini, OpenAI, Groq, Claude をモードごとに自由に使い分け可能。
|
|
29
|
+
* **📔 Diaryモード**: `jrnl` ライクな爆速メモ機能。タスク化やタグ付けもCLIから一発。
|
|
30
|
+
* **🔍 Searchモード**: `ripgrep` を活用した爆速検索。Vim などのエディタや Obsidian で直接開けます。
|
|
31
|
+
* **⚙️ 設定の自動化**: AIモデルリストやタグは、使えば使うほど `json` に学習され、補完候補が育ちます。
|
|
32
|
+
* **📄 Obsidianファースト**: プロンプトも設定もすべて Obsidian のノートとして管理。
|
|
33
|
+
|
|
34
|
+
[↑ Top](#top)
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 📦 インストールと準備
|
|
38
|
+
|
|
39
|
+
### 1. 必須要件
|
|
40
|
+
* Node.js (v18以上推奨)
|
|
41
|
+
* Obsidian
|
|
42
|
+
* (推奨) `ripgrep`: 高速検索モードを利用する場合 (`brew install ripgrep` 等)
|
|
43
|
+
|
|
44
|
+
### 2. インストール
|
|
45
|
+
npm パッケージとしてインストールします。
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
npm install -g vault-forge
|
|
49
|
+
```
|
|
50
|
+
### 開発環境でのセットアップ
|
|
51
|
+
リポジトリをクローンして使用する場合:
|
|
52
|
+
```bash
|
|
53
|
+
git clone https://github.com/your-repo/vault-forge.git
|
|
54
|
+
cd vault-forge
|
|
55
|
+
npm install
|
|
56
|
+
npm run build
|
|
57
|
+
npm link # vf コマンドをグローバルにリンク
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. 環境変数の設定
|
|
61
|
+
プロジェクトルートに `.env` ファイルを作成します(`.env.example.ja` を参照)。
|
|
62
|
+
|
|
63
|
+
### 3.1 環境変数の設定
|
|
64
|
+
|
|
65
|
+
まず、プロジェクトルートにある `.env.example` をコピーして `.env` ファイルを作成し、必要な設定を行ってください。
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cp .env.example .env
|
|
69
|
+
nano .env # またはお好みのエディタで編集
|
|
70
|
+
```
|
|
71
|
+
`.env` ファイルには以下の情報を設定します:
|
|
72
|
+
* `OBSIDIAN_VAULT_PATH`: あなたの Obsidian Vault の絶対パス
|
|
73
|
+
* 各AIプロバイダーの API キー (`OPENAI_API_KEY`, `GEMINI_API_KEY` など)
|
|
74
|
+
|
|
75
|
+
```sh
|
|
76
|
+
# 必須: Obsidian Vaultのパス
|
|
77
|
+
OBSIDIAN_VAULT_PATH=/absolute/path/to/your/vault
|
|
78
|
+
|
|
79
|
+
# 任意: 言語設定 (ja/en)
|
|
80
|
+
APP_LANG=ja
|
|
81
|
+
|
|
82
|
+
# 任意:エディター設定 ripgrep使用時のみ有効
|
|
83
|
+
# obsidianではなく、デフォルトのエディターからmdファイルへアクセスします。
|
|
84
|
+
EDITOR=code
|
|
85
|
+
# EDITOR=vim
|
|
86
|
+
|
|
87
|
+
# AI APIキー (使用するものだけでOK)
|
|
88
|
+
GEMINI_API_KEY=...
|
|
89
|
+
OPENAI_API_KEY=...
|
|
90
|
+
GROQ_API_KEY=...
|
|
91
|
+
CLAUDE_API_KEY=...
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 4. 初期化 (`vf init`)
|
|
95
|
+
最初に必ず実行してください。必要なディレクトリや設定ファイルを Vault 内に生成します。
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
vf init
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
対話モードで、各モード(general, debug, xpost)で使用する **AIプロバイダー** と **モデル** を設定できます。
|
|
102
|
+
ここで入力したモデル名は `_AI_Prompts/ai-models.json` に保存され、次回から選択肢として表示されます。
|
|
103
|
+
|
|
104
|
+
[↑ Top](#top)
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 📖 コマンドガイド
|
|
108
|
+
|
|
109
|
+
### 1. 📔 日記・メモ (`vf diary`)
|
|
110
|
+
Obsidian の Daily Note (`Daily/YYYY-MM-DD.md`) に素早く追記します。※ **AI は使用しません。**
|
|
111
|
+
|
|
112
|
+
**基本:**
|
|
113
|
+
```sh
|
|
114
|
+
vf diary "素晴らしいアイデアを思いついた"
|
|
115
|
+
# -> - **HH:MM** 素晴らしいアイデアを思いついた
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**対話モード (引数なし):**
|
|
119
|
+
```sh
|
|
120
|
+
vf diary
|
|
121
|
+
# -> 入力プロンプトが起動。日本語入力も快適。
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**便利な機能:**
|
|
125
|
+
* **タスク化**: `-t` オプション、または `#task` / `#todo` を含めると、チェックボックス (`- [ ]`) 付きで保存。
|
|
126
|
+
```sh
|
|
127
|
+
vf diary -task "牛乳を買う" # -> [ ] 牛乳を買う
|
|
128
|
+
vf diary -t 牛乳を買う # -> [ ] 牛乳を買う
|
|
129
|
+
vf diary "牛乳を飲む #task" # -> [ ] 牛乳を飲む #task
|
|
130
|
+
```
|
|
131
|
+
* **見出し**: `#h2` や `#見出し2` を含めると、Markdown の見出しとして保存。
|
|
132
|
+
```sh
|
|
133
|
+
vf diary "プロジェクトAIについて #h2" # -> ## プロジェクトAIについて
|
|
134
|
+
vf diary "プロジェクトAIについて #見出し2" #
|
|
135
|
+
```
|
|
136
|
+
* **タグ**: `#tag` は自動的に抽出され Obsidianの本文に#タグとして記録されます。
|
|
137
|
+
```sh
|
|
138
|
+
vf diary "今日は新しいCLIツールの設定をした #dev"
|
|
139
|
+
# -> **16:10** 今日は新しいCLIツールの設定をした #dev
|
|
140
|
+
```
|
|
141
|
+
## 2. 🔍 検索 (`vf search` `vf tag`)
|
|
142
|
+
Vault 内のファイルを高速検索します。エイリアス `vf s` も使用可能です。※ **AIは使用しません。**
|
|
143
|
+
|
|
144
|
+
※ 検索機能は.envファイルで`OBSIDIAN_VAULT_PATH=`で設定されているディレクトリ内だけを検索します。
|
|
145
|
+
|
|
146
|
+
```sh
|
|
147
|
+
vf search "検索ワード"
|
|
148
|
+
vf s 検索ワード
|
|
149
|
+
```
|
|
150
|
+
* **エディタ連携**:
|
|
151
|
+
|
|
152
|
+
`ripgrep`がインストールされていれば、環境変数 `EDITOR` (例: `export EDITOR=code`) で設定されているエディタを使用して、Vault内のファイルを開きます。
|
|
153
|
+
|
|
154
|
+
`ripgrep`のインストールと`EDITOR`の設定がない場合は Obsidian で開きます。
|
|
155
|
+
|
|
156
|
+
### tagについて:
|
|
157
|
+
**タグ検索:**
|
|
158
|
+
```bash
|
|
159
|
+
vf tag test
|
|
160
|
+
```
|
|
161
|
+
`#test` タグが「本文に」含まれているノートを検索します。
|
|
162
|
+
|
|
163
|
+
### 4.3 日記・メモ (`vf diary`)
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
vf diary "今日は新しいCLIツールの設定をした #dev"
|
|
167
|
+
```
|
|
168
|
+
Obsidian のデイリーノートに追記されます。`-t` オプションを付けるとタスクとして追加されます。
|
|
169
|
+
|
|
170
|
+
このタグ機能と検索の機能を組み合わせることで、Vault内のアイデアを
|
|
171
|
+
|
|
172
|
+
タグで記録 -> タグで検索 -> 編集 -> 本文入力 -> 本文検索
|
|
173
|
+
|
|
174
|
+
のように、ターミナル上からスムーズに行うことができます。
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
### 3. 🤖 AI解析・生成 (`vf ai`)
|
|
178
|
+
AI を使ってテキスト処理を行います。プリセット(モード)によって挙動が変わります。
|
|
179
|
+
|
|
180
|
+
**基本:**
|
|
181
|
+
```shell
|
|
182
|
+
vf ai "AIに聞きたいこと"
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**プリセットの指定 (`-p` / `--preset`):**
|
|
186
|
+
* **general** (デフォルト): 一般的な質問や文章生成。
|
|
187
|
+
```sh
|
|
188
|
+
vf ai --preset general --instruction "AIに聞きたいこと"
|
|
189
|
+
vf ai -p general -i "AIに聞きたいこと"
|
|
190
|
+
vf ai -p general AIに聞きたいこと # -iは省略も出来ます
|
|
191
|
+
```
|
|
192
|
+
* **debug**: エラーログやコードを解析。
|
|
193
|
+
```sh
|
|
194
|
+
vf ai -preset debug "【WARN】エラーが発生これはエラーログです!!..."
|
|
195
|
+
vf ai -p debug -f error.log エラーログを解析して
|
|
196
|
+
cat error.log | vf ai -p debug # パイプで渡すこともできます
|
|
197
|
+
```
|
|
198
|
+
* **xpost**: メモから X (Twitter) 用の投稿案を作成し、そのまま投稿まで可能。
|
|
199
|
+
```sh
|
|
200
|
+
vf ai -p xpost -f blog.md "エンジニア向けにユーモアを交えて"
|
|
201
|
+
|
|
202
|
+
# バックグラウンド時は投稿案がVaultに保存されて終了する(自動では投稿しません)
|
|
203
|
+
vf ai -p xpost -f blog.md --detach "エンジニア向けにユーモアを交えて"
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**オプション:**
|
|
207
|
+
* `-f, --file <path>`: ファイルの内容を入力とする。
|
|
208
|
+
* `-i, --instruction <text>`: 追加の指示を与える。
|
|
209
|
+
* `-d, --detach`: バックグラウンドで実行する(結果はログファイルに保存)。
|
|
210
|
+
* `-m, --model <name>`: 使用するモデルを一時的に変更する。
|
|
211
|
+
|
|
212
|
+
### 4. 推奨エイリアス設定(`Aliases`)
|
|
213
|
+
Vault-Forge をさらに便利に使うために、以下のようなエイリアスをシェル設定ファイル (`.zshrc` や `.bashrc`) に追加することを推奨します。
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# ~/.zshrc または ~/.bashrc に追記
|
|
217
|
+
|
|
218
|
+
# 基本的なAI解析 (Generalプリセット)
|
|
219
|
+
alias ai='vf ai -p general'
|
|
220
|
+
|
|
221
|
+
# X (Twitter) 投稿作成プリセット
|
|
222
|
+
alias xpost='vf ai -p xpost'
|
|
223
|
+
|
|
224
|
+
# エラーログ解析プリセット
|
|
225
|
+
alias debug='vf ai -p debug'
|
|
226
|
+
|
|
227
|
+
# 日記作成
|
|
228
|
+
alias diary='vf diary'
|
|
229
|
+
|
|
230
|
+
# 検索
|
|
231
|
+
alias search='vf search'
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
設定を反映させるには、シェルを再起動するか `source ~/.zshrc` を実行してください。
|
|
235
|
+
|
|
236
|
+
### 4.1 応用: エイリアスとパイプの組み合わせ
|
|
237
|
+
|
|
238
|
+
推奨エイリアスを設定していれば、さらに直感的に操作できます。
|
|
239
|
+
|
|
240
|
+
**ブログ記事から X 投稿案を作成:**
|
|
241
|
+
```bash
|
|
242
|
+
cat blog_draft.md | xpost 親しみやすいトーンで
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Kubernetes のログを解析:**
|
|
246
|
+
```bash
|
|
247
|
+
kubectl logs my-pod | debug 異常なログはある?
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Git の差分からコミットメッセージ案を作成:**
|
|
251
|
+
```bash
|
|
252
|
+
git diff | ai コミットメッセージを考えて
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
[↑ Top](#top)
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 🛠️ カスタマイズ (The Forge)
|
|
259
|
+
|
|
260
|
+
Vault-Forge の最大の特徴は、**設定やプロンプトを Obsidian 上で管理できる** ことです。
|
|
261
|
+
|
|
262
|
+
### プロンプトの編集
|
|
263
|
+
`vf init` を実行すると、Vault 内の `_AI_Prompts/prompts/ja/` にプロンプトファイル(Markdown)が生成されます。
|
|
264
|
+
|
|
265
|
+
これを Obsidian で編集することで、AI の挙動を自由自在にカスタマイズできます。
|
|
266
|
+
|
|
267
|
+
**例: `xpost.md`**
|
|
268
|
+
|
|
269
|
+
<img src="assets/customprompt.png" alt="Demo Image" width="600">
|
|
270
|
+
|
|
271
|
+
**AIの切り替え**:
|
|
272
|
+
* Obsidianのヘッダーにあるmodelという箇所に直接使用するAIモデルを記述して変更することができます。
|
|
273
|
+
|
|
274
|
+
<img src="assets/aimodel.png" alt="Demo Image" width="600">
|
|
275
|
+
|
|
276
|
+
* コマンドライン上からも`-m`や `--model` のオプションを使って、そのモードで使う AI を変更できます。
|
|
277
|
+
```sh
|
|
278
|
+
vf ai -m <TAB> # -> タブを押すとモデル名が候補として表示されます
|
|
279
|
+
claude-haiku-4-5 gemini-2.0-flash ...
|
|
280
|
+
```
|
|
281
|
+
* **タグ補完**: `vf init` 時にObsidianのタグにモデル名が含まれているため、Obsidian 上で `#` を入力するとモデル名が補完されます。
|
|
282
|
+
|
|
283
|
+
(モデル名の登録には#を付けないようにご注意ください。)
|
|
284
|
+
|
|
285
|
+
### AIモデルの追加
|
|
286
|
+
新しいモデル(例: `gpt-7`)を使いたい場合は、以下のいずれかの方法で追加できます。
|
|
287
|
+
|
|
288
|
+
1. **`vf init` で追加**: モデル選択時に `Custom` を選び、手入力する。
|
|
289
|
+
2. **JSONを編集**: `_AI_Prompts/ai-models.json` を直接編集する。
|
|
290
|
+
3. **Onsidianから編集**: Obsidianのプロンプトを直接編集する。
|
|
291
|
+
3. **コマンドで実行**: `vf ai -m gpt-7 "test"` のように未登録モデルを指定して実行すると、自動的にプロバイダーを推測して登録されます。
|
|
292
|
+
```sh
|
|
293
|
+
vf ai -m gpt-7 "Gpt-7は使えますか?"
|
|
294
|
+
```
|
|
295
|
+
コードを書き換える必要はありません。
|
|
296
|
+
|
|
297
|
+
[↑ Top](#top)
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## 📊 トークン管理
|
|
301
|
+
AI の使用量は `_AI_Prompts/TokenUsage/` に自動的に記録されます。
|
|
302
|
+
Obsidian 上で Mermaid チャートとして可視化されるため、コスト管理も万全です。
|
|
303
|
+
|
|
304
|
+
<img src="assets/tokenusage.png" alt="Demo Image" width="400">
|
|
305
|
+
|
|
306
|
+
[↑ Top](#top)
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## ⌨️ シェル補完 (Completion)
|
|
310
|
+
`tabtab` による強力な補完機能を提供しています。
|
|
311
|
+
|
|
312
|
+
```sh
|
|
313
|
+
vf completion
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
通常は `vf init` の最後で自動的にセットアップされますが、手動で設定する場合は上記コマンドを実行してください。
|
|
317
|
+
これにより、コマンド、プリセット、オプション、そして **`tags.json` に記録されたハッシュタグ** の補完が可能になります。
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
* **コマンド補完**: `vf <TAB>` -> `ai`, `diary`, `search`, `tag`, `init`
|
|
321
|
+
* **タグ補完**: `vf ai <TAB>` -> Vault内のタグ一覧
|
|
322
|
+
* **オプション補完**: `vf ai -<TAB>` -> `-p`, `-m`, `-i`, `-f` ...
|
|
323
|
+
* **値補完**:
|
|
324
|
+
* `vf ai -p <TAB>` -> `general`, `debug`, `xpost`
|
|
325
|
+
* `vf ai -m <TAB>` -> `gpt-4`, `gemini-pro` ...
|
|
326
|
+
* `vf ai -f <TAB>` -> カレントディレクトリのファイル一覧
|
|
327
|
+
|
|
328
|
+
[↑ Top](#top)
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
### 🤝 Contributing
|
|
332
|
+
|
|
333
|
+
バグ報告や機能追加の提案は Issue または Pull Request でお待ちしています。
|
|
334
|
+
|
|
335
|
+
### 📜 License
|
|
336
|
+
MIT License
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vault-forge",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Forge new ideas from your Obsidian Vault with AI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"vf": "dist/index.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
-
"dist"
|
|
11
|
+
"dist",
|
|
12
|
+
"README_ja.md"
|
|
12
13
|
],
|
|
13
14
|
"scripts": {
|
|
14
15
|
"build": "tsc",
|