LocalLens
アプリ概要

LocalLens の機能

ローカルフォルダから brain を作成し、その内容に対して根拠付きの質問をする。

フォルダを 1 つ選んでください。LocalLens はそれを brain に変えます。 ここで言う brain とは、チャットできるインデックスのことです。質問すれば 回答が返ってきて、モデルがどのファイルのどのチャンクに依拠したのかが そのまま確認できます。

操作方法は 2 通りあります。

  • CLI: フォルダを指定して 1 つだけ質問して終わりたいときに使う。
  • ブラウザ UI(Bun.serve で配信): 複数の brain を行き来したり、 チャットスレッドで追加質問を続けたいときに使う。

どちらも同じ LocalLensApp クラスを経由するので、片方で動くものは 追加の配線なしにもう片方でもだいたい動きます。

4 ステップのフロー

  1. フォルダを選ぶ。 CLI ならパスを渡し、ブラウザ UI なら Choose folder をクリックします。
  2. インデックスする。 LocalLens がフォルダを走査し、テキスト形式の ファイルだけを残してチャンクに分割、それを embedding として QVAC RAG ワークスペースに書き込みます。
  3. 質問する。 質問を embedding にしてワークスペースと照合します。 上位のヒットがプロンプト内で番号付きの抜粋になります。
  4. 回答を読む。 チャットモデルが回答をストリームで返し、抜粋を [1][2] として引用します。UI ではその引用が元ファイルへの リンクとして表示されます。

データの保存先

brain とチャンクは .locallens/store.json に置かれます。embedding は QVAC 自身のワークスペースディレクトリに残ります。brain を削除すれば 両方とも 1 回の操作で消えます。

コードの所在

ファイル役割
src/cli.tsUI なしのパス。フォルダ 1 つ、質問 1 つ、回答 1 つ、その後クリーンアップ。
src/server.tsブラウザ UI を支えるオプションの Bun HTTP サーバー。
src/ui/静的なブラウザ UI: index.htmlapp.jsstyles.css
examples/sample-brain/CLI と UI が試しに食わせるデモフォルダ。

より詳しい構成図は、アーキテクチャコード構造のページで扱います。

実際の見た目

CLI 実行:

$ bun run cli examples/sample-brain "Why does LocalLens use QWEN3_1_7B_INST_Q4?"

LocalLens uses QWEN3_1_7B_INST_Q4 because it offers a strong balance of answer
quality and local resource use [1]. A 600M fallback is wired in for slimmer
machines [2].

Sources:
- locallens.md#0
- qvac-notes.md#1

ブラウザ UI では同じ回答が Markdown としてレンダリングされ、[1][2] がそれぞれ元のチャンクへのリンクになります。

On this page