ローカルファーストのファイルチャットを、 クラウドなしで
LocalLens は任意のフォルダをプライベートな brain に変えます。質問すれば、引用付きの回答が手元のマシンだけで返ってきます。Bun、TypeScript、QVAC SDK で構築されています。
bun run cli examples/sample-brain "your question"サンプル brain
12 ファイル · ローカルでインデックス済み
ループ全体が、TypeScript 8 ファイルに収まる
ファイル探索、チャンク化、retrieval、プロンプト、completion、永続化、そして 2 つのエントリポイント。教えられるほど小さく、拡張できるほど揃っています。
ファイル探索
任意のフォルダを走査し、安全な拡張子だけ拾い、キャッシュや lockdir は無視。ブラウザの file picker 向けにパスを正規化します。
ローカル RAG
QVAC の ragChunk + ragIngest + ragSearch が grounding 付きの retrieval を担います。クラウドの vector database も API key も不要です。
オンデバイス推論
チャットに QWEN3 1.7B (Q4)、埋め込みに GTE-Large FP16。スペックが厳しいマシン向けに 600M のフォールバックも用意。
引用付き回答
回答にはすべて [1] [2] のような引用が付き、元ファイルの該当チャンクへ直接リンクします。
プレーンな JSON ストレージ
brain と chunks は .locallens/store.json に保存。cat で覗き、cp でバックアップ、git diff で比較できます。
CLI + ブラウザ
同じコアの上に 2 つのエントリポイント。ターミナルでパイプラインを試し、Bun.serve で本物の UI として動かせます。
設計からしてローカル AI
ファイルはマシンの外に出ない
QVAC はモデルをローカルで動かします。インデックス化も検索もプロセス内で完結します。どこにもアップロードされません。
回答は常に grounding 済み
プロンプトビルダーが、retrieval した chunks を引用するか、わからないと明言するかをモデルに強制します。架空のパスは出ません。
クラウドはオプション
ネットワークを切っても LocalLens は動き続けます。誰かと brain を共有したくなったら、後からトンネルを足せば済みます。
読み切れるサイズ
src/ にある 8 つの TypeScript ファイル、責務ごとに分かれています。半日でコード全体を読めます。