Newer
Older
TelosDB / README.md

TelosDB

ローカル完結型セマンティック検索DB & MCPサーバー


概要

TelosDBは、Tauri 2 + Rust + Vanilla JS/HTMLで構成された、SQLite Vector拡張を活用するローカル特化型セマンティック検索基盤です。サイドカー(llama-server)による埋め込み生成、AxumベースのMCP APIサーバー、最小構成のUIを備え、外部API不要・高速・安全な知識検索/提供を実現します。


特徴

  • Tauri 2 + Rust: デスクトップアプリ基盤。プロセス/リソース管理もRustで一元化。
  • Vanilla JS/HTML UI: React等のフレームワーク非依存。最小・高速・シンプル。
  • サイドカー自動起動/監視: llama-server(llama.cppベース)を自動管理。
  • Axum MCP API: Model Context Protocol準拠のREST/SSEサーバー。外部AIエージェント連携も容易。
  • SQLite Vector: sqlite-vec拡張DLLによる高速ベクトル検索。
  • ESLint/Prettier整備: コード品質・自動整形対応。
  • journal記録: journals/に進捗・設計・トラブルシュートを日次記録。

セットアップ

1. Rust/Bunインストール

2. 依存インストール

bun install

3. サイドカー/モデル準備

  • scripts/launch-llama-server.bat でllama-server起動(またはTauri起動時に自動)
  • Gemma-3-300M.gguf等のモデルファイルをexeと同じディレクトリに配置

4. 開発/ビルド

# 開発モード
tauri dev
# ビルド
tauri build

主要機能

機能 概要
文章登録 文章+メタデータを自動ベクトル化しDB保存
セマンティック検索 自然言語で類似文書を高速検索
MCP API 外部エージェント向けJSON-RPC/SSEインターフェース
サイドカー管理 llama-server自動起動・死活監視・終了シグナル
UI 状態・件数・API仕様(mcp.json)の可視化/コピー

アーキテクチャ

graph TD
    UI[Vanilla UI]
    Tauri[Tauri Core]
    Axum[Axum MCP Server]
    Sidecar[llama-server]
    DB[(SQLite+vec0)]
    Model[Gemma-3 GGUF]
    UI -->|IPC| Tauri
    Tauri <--> Axum
    Tauri <--> DB
    Axum <--> DB
    Tauri --> Sidecar
    Sidecar --> Model

API仕様(抜粋)

  • /llama_status : サイドカー状態取得(running/stopped/error)
  • /messages : MCP JSON-RPCエンドポイント
  • /sse : SSEストリーム
  • 詳細: document/openapi.yaml, document/mcp.json

サイドカー(llama-server)管理

  • Tauri起動時に自動でllama-server.exeをspawn
  • Gemma-3-300M.gguf等のモデルを引数で指定
  • DLL依存解決・CWD制御・標準出力監視
  • /health監視で死活判定、終了時はkill
  • scripts/launch-llama-server.bat でも手動起動可

journal・開発ガイド


ライセンス

MIT