この記事で分かること
- KBLiteとは何か、どんな課題を解決するツールか
- 前身ツール「KBブラウザ」からの進化と、軽量化の設計判断
- SQLite + FTS5 を選んだ理由(RAG・ChromaDB・Dockerを捨てた経緯)
- Windows版の現在の実装状況とリポジトリ情報
- 「初心者でも動かせる」を実現するために何をやめたか
Xのフォロー、いいねもよろしくお願いします。相互フォロー大歓迎です!
リポジトリは公開中ですので、ぜひ触ってみてください。フィードバックや改善提案もお待ちしています。
インストーラー (Windows専用)
https://github.com/76Hata/KBLite/releases
※ 利用にはClaude Pro以上の加入が必要です。
※ こちらはWindows専用です。
【免責事項】
このアプリケーション(KBLite)を利用したことによる
いかなる損害・不利益・データの損失・システムの障害等が発生しても、
開発者は一切の責任を負いません。
本アプリケーションは現状のまま(AS-IS)で提供されます。
動作保証・サポートの提供も行いません。
インストールを続行することにより、
上記の免責事項を読み、内容を理解した上で同意したものとみなします。
はじめに——なぜ「ブラウザUI」を自作するのか
Claude Codeはとても便利なCLIツールですが、ターミナル上で動くという性質上、エンジニア以外には少々とっつきにくいという問題があります。会話の履歴はセッションをまたいで引き継げず、過去のやりとりを検索する手段もありません。
「ブラウザから使えて、会話が全部ローカルに残る」——そんなシンプルな要件を満たすUIが欲しくなりました。
その解として作り始めたのがKBLiteです。
---前身:KBブラウザとは
まず前身ツールの話から始めます。
私はもともと、Knowledge Assistant(KA) と呼ぶ自作のAI知識管理システムをVPS上で運用しています。KAはClaude CodeとRAG(Retrieval-Augmented Generation)を組み合わせたシステムで、ChromaDB・Docker・エージェントチームなど多数のコンポーネントから構成されています。
そのKAの一部として作ったのがKBブラウザでした。http://localhost:8765 で起動するWebアプリで、AIとのチャット・RAG知識のCRUD・セッション管理・観測データの可視化など、多機能なUIを持っています。
VPS上での運用には非常に便利でしたが、このKBブラウザをそのままWindowsに持ち込もうとすると問題がありました。
問題:KBブラウザは「重すぎた」
KBブラウザの依存関係をWindowsに持ち込もうとすると、以下のものが必要になります。
- ChromaDB(ベクトルデータベース)
- Dockerコンテナ(ChromaDB実行環境)
- VPS側との接続設定
- 埋め込みモデルのダウンロード(multilingual-e5-smallなど)
これらを合わせると依存関係だけで200MB超になります。さらにDockerが必要というだけで、IT初心者には高いハードルです。
「Git for Windows環境の人が対象なのに、Dockerまで要求するのは本末転倒」
この反省から、「何を削れるか」 の設計議論が始まりました。
設計判断:何を捨て、何を残したか
削ったもの
| 削除したもの | 理由 |
|---|---|
| ChromaDB | 200MB超の依存・Docker必須 |
| Docker / WSL | Windows初心者には壁が高い |
| RAG(ベクトル検索) | 軽量用途には全文検索で十分 |
| VPS接続設定 | ローカル完結が目的 |
残したもの
| 継承したもの | 理由 |
|---|---|
| UIデザイン(SPA構成) | KBブラウザのUXをそのまま引き継ぐ |
| Starlette(Webサーバー) | 軽量・高速なPython非同期フレームワーク |
| SQLite | 依存ゼロで動くデータベース |
FTS5で何ができるか
FTS5(Full-Text Search version 5) は、SQLiteに標準搭載された全文検索エンジンです。
たとえば、過去に「AWS Lambda の設定方法を教えて」とやりとりした会話を後日また参照したくなったとき、「Lambda」や「設定」といったキーワードで瞬時に検索できます。
RAGのようにベクトル埋め込みを使った意味的な類似度検索はできませんが、「キーワードで会話を探す」 という主要な用途は十分にカバーできます。ベクトルDBなしでこれが実現できるのがSQLite + FTS5の強みです。
KBLiteの機能一覧
現在のKBLite(Windows版)が持つ機能は以下の通りです。
会話管理
- 全会話をSQLiteに自動保存(セッションをまたいで記憶)
- 会話履歴IDで過去セッションを再開可能
- 現在の文脈を維持したまま会話を分岐可能
検索・表示
- キーワード全文検索(FTS5)
- Markdown・表・コードブロックの整形表示
- Mermaidダイアグラムの自動描画
- ワンクリックでコピー・ダウンロード・印刷
カスタマイズ
- モデル切り替え(Auto / Haiku 4.5 / Sonnet 4.6 / Opus 4.6 / Opus 4.7)
- チームモード切り替え(汎用 / IT専門家)
-
CLAUDE.mdでAIの振る舞いをプロジェクト単位で設定
実装の現状:Windows版を鋭意開発中
KBLiteのWindows版は現在、GitHubで公開中です。
https://github.com/76Hata/KBLite
技術構成は以下の通りです。
言語構成(GitHub統計)
├── Python 35.8% (Starletteサーバー + SQLite操作)
├── HTML 32.8% (SPA型UI)
├── JavaScript 21.2% (フロントエンドロジック)
└── CSS 9.8% (スタイリング)
動作要件
| 要件 | 内容 |
|---|---|
| OS | Windows 10以降 |
| 事前準備 | Claude Code インストール済み |
| APIキー | Anthropic APIキー |
| 不要なもの | Git / Docker / WSL は一切不要 |
インストーラーを実行し、初回起動時にAPIキーを設定するだけでブラウザが自動起動して利用可能になる設計を目指しています。
データプライバシーについて
クラウドに送信されるのは**ClaudeへのプロンプトとレスポンスのみZ。会話の保存・管理・検索はすべてローカルのSQLiteで完結します。
よくある落とし穴・注意点
Claude Codeが前提
KBLiteはClaude Codeのラッパーとして動作します。Anthropic APIキーとClaude Codeのインストールが前提です。「ブラウザだけで使えるスタンドアロンのAIチャット」ではありません。
FTS5はRAGの「完全な代替」ではない
FTS5はキーワード検索です。「あの話と似た話題」のような意味的な曖昧検索はできません。もし意味的な類似度検索が必要なら、フルスタックのKBブラウザ(VPS構成)の方が適しています。KBLiteは「軽量・ローカル完結」を優先した設計です。
現在β版相当
Windows版は現在アクティブに開発中です。バグや未実装機能が残っている可能性があります。IssueやPRは大歓迎です。
今後の展望
-
Windowsインストーラーの整備(
.exe形式の配布) - macOS / Linux 対応の検討
- プロジェクト別の会話グルーピングの強化
- Claude使用量の可視化ウィジェット
まとめ
KBLiteは、複雑なKnowledge AssistantシステムのUI部分だけを取り出し、ローカル完結・依存最小・初心者フレンドリー を設計の軸に置いた軽量ツールです。
ChromaDB・Docker・RAGを取り除き、SQLite + FTS5 + Starlette + SPAという組み合わせで、「Claude Codeを使ってみたけどターミナルが辛い」という層のニーズを満たすことを目指しています。
Xのフォロー、いいねもよろしくお願いします。相互フォロー大歓迎です!
リポジトリは公開中ですので、ぜひ触ってみてください。フィードバックや改善提案もお待ちしています。
