# TelosDB

**Version 0.3.3.1** — ローカル完結型セマンティック検索基盤 & MCPサーバー

---

## 概要

**TelosDB** は、Tauri 2 と Rust を核とした、プライバシー重視のローカル特化型ナレッジベースです。**Community 版**は LSA（Latent Semantic Analysis）、**Pro 版**は日本語向け埋め込みモデル（sentence-BERT 系）により、外部 API やクラウドを介さずに意味検索と知識管理を実現します。

AI エージェントが自律的に記憶を蓄積・整理するための基盤として設計されており、**Model Context Protocol (MCP)** を通じて、Cursor や Claude Desktop 等から即座に利用可能です。

---

## エディション

| | Community 版 | Pro 版 |
|---|--------------|--------|
| **ベクトル化** | LSA（50 次元、モデル不要） | 埋め込みモデル（768 次元、ONNX） |
| **検索** | キーワード・通常の文どちらも可 | 同上、言い回しの違いにも強い |
| **起動** | `npm run dev` | `npm run dev:pro`（要 model_quantized.onnx） |

どちらのエディションも、**短い語句でも通常の文でも**そのまま検索クエリとして利用できます。

---

## 主な機能

- **セマンティック検索**: キーワードや自然文で意味に基づいた検索。文書単位で結合して返すオプションあり。空クエリ・0 件時も統一形式で応答。
- **MCP SSE サーバー内蔵**: AI クライアント（Cursor 等）からツールとして検索・一覧取得（ページング）・カテゴリ一覧・CRUD が可能。
- **自動ヒーリング**: DB 内のテキストとベクトルの不一致を検出し、バックグラウンドで同期。
- **完全ローカル・プライバシー**: 計算・ベクトル空間はすべてローカルで完結。GPU 不要。
- **システムトレイ常駐**: MCP サーバーをバックグラウンドで待機。

---

## MCP で接続する

1. **TelosDB を起動する**（アプリが MCP サーバーをポート 3001 で待ち受けます）。
2. **MCP クライアントで SSE の URL を指定する**:

```json
{
  "mcpServers": {
    "TelosDB": {
      "url": "http://127.0.0.1:3001/sse"
    }
  }
}
```

接続後、`search_text`（検索）、`list_documents`（文書一覧・ページング）、`list_categories`（カテゴリ一覧）、`add_item_text`（追加）、`update_item`（更新）、`lsa_retrain`（RE-INDEX）などのツールが利用できます。

---

## クイックスタート

### 動作要件

- Windows 10/11 (x64)
- Rust 1.77.2+
- Node.js（Bun 推奨）

### Community 版（モデル不要）

```bash
npm install
npm run dev
```

初回起動時に LSA によるベクトル空間が自動で構成されます。

### Pro 版（埋め込みモデル使用）

- **インストーラ利用**: Pro 版インストーラ（`TelosDB-Pro_*.exe`）には埋め込みモデルが**同梱**されています。インストールするだけで利用可能で、別途モデルのダウンロードは不要です。
- **開発時**（`npm run dev:pro`）: プロジェクトルートの `embedding_model/` に `model_quantized.onnx` と `vocab.txt` を配置するか、`TELOS_EMBEDDING_MODEL_DIR` でパスを指定。取得元: [sentence-bert-base-ja-mean-tokens-v2-int8](https://gitbucket.tmworks.club/dtmoyaji/sentence-bert-base-ja-mean-tokens-v2-int8)。

```bash
npm run dev:pro
```

### ビルド

```bash
npm run build:community   # Community 版
npm run build:pro         # Pro 版（embedding_model/ に model_quantized.onnx と vocab.txt が必要。同梱されたインストーラが生成される）
```

---

## ディレクトリ構成

- `src/frontend/`: フロントエンド（Vanilla JS / CSS）
- `src/backend/`: バックエンド（Rust / Tauri / MCP 実装 / LSA・埋め込みエンジン）
- `docs/specification/`: システム設計・技術仕様（アーキテクチャ、DB、MCP、埋め込み・エディション、モノリシック化、KPI・検証、UI テスト等）
- `docs/issues/`: Issue 同期用（Git 追跡外）
- `docs/references/`: 調査メモ・参照資料
- `journals/`: 作業記録（日付別）

---

## データの保存場所

- **ユーザーデータ**（`telos.db`、ログ、vec0.dll のコピー）は **`%APPDATA%\com.telosdb.app\`** に保存されます。
- アンインストール時もこのフォルダは残ります。完全に消す場合は手動で削除してください。

---

## リポジトリ

https://gitbucket.tmworks.club/dtmoyaji/TelosDB

## インストーラ

- Windows 版: https://dtmoyaji.base.shop/items/137814251

## ライセンス

MIT License
