v0.3.0
2933cad
7 hours ago

v0.3.0

@dtmoyaji dtmoyaji released this 7 hours ago

TelosDB v0.3.0 Release Notes

TelosDB v0.3.0 へようこそ!
今回のリリースでは、データベース構造の抜本的な正規化、検索精度の向上、そして「MIMEタイプ対応」による将来的なファイル形式拡張への基盤を構築しました。
加えて、配布パッケージ(NSIS インストーラ)の安定化と UI の改善を行いました。

🚀 新機能 (Major Features)

1. MIMEタイプ対応 (MIME Type Support)

  • documents テーブルに mime カラムを追加し、ファイル形式を自動的に記録するようにしました。
  • ファイル拡張子(.md, .rs, .js 等)から適切な MIME タイプを自動判別します。
  • これにより、将来的な PDF や画像、多言語ソースコードへの対応が容易になりました。

2. データベース構造の正規化 (DB Normalization - Issue-2)

  • ドキュメントメタデータ(パス、MIME等)を管理する documents テーブルを items テーブル(チャンク)から分離しました。
  • 1ドキュメントに対して複数のチャンクを紐付ける 1:N 構造を確立し、データの冗長性を排除。
  • ドキュメント単位の一括削除や管理が可能になりました。

3. セマンティック検索の精度向上 (Search Accuracy)

  • LSA(潜在意味解析)の類似度計算ロジックを改善。
  • ベクトルの正規化を考慮し、L2距離をコサイン類似度へ正確に変換する計算式 1.0 - (distance / 2.0) を採用しました。
  • SVD(特異値分解)の安定性を向上させ、より一貫性のある検索結果を実現。

4. 日本語解析エンジンの刷新 (Vibrato Integration)

  • 日本語形態素解析エンジンを Lindera から Vibrato へ移行。
  • 辞書の整合性と分かち書きの精度が向上し、より自然な検索が可能になりました。

🛠 改善・修正 (Improvements & Fixes)

配布パッケージ・インストーラ (Installer & Packaging)

  • vec0.dll の扱い: セマンティック検索用 SQLite 拡張(vec0.dll)をバンドルリソースのルートに配置し、インストール先のパス差を吸収するため、起動時に %APPDATA%\com.telosdb.app\vec0.dll へコピーしてから読み込むようにしました。
  • 複数フォールバック: exe と同じフォルダ・resources フォルダ・Tauri の resource_dir を順に参照し、いずれかで vec0.dll が見つかれば起動可能です。
  • エラーメッセージ: vec0.dll が見つからない場合はパニックせず、試したパスを表示して終了するようにしました。ログは %APPDATA%\com.telosdb.app\logs\telos.log に出力されます。

UI

  • Toast UI Editor ダークモード: 文書の追加・編集モーダル内のエディタをダークテーマに統一し、アプリ全体のダーク UI と一貫させました。

その他

  • プロジェクト構成: nodejs/scripts/ を統合し、標準的なディレクトリ構造へ移行。
  • AIエージェント最適化: 運用ルールを .agent/rules へ集約。AIエージェントによる自己修正機能を強化しました。
  • 仕様書の整理: 技術仕様書を最新の状態に更新し、番号体系を整理(01〜06)。
  • HNSWインデックス: 大規模データ向けの高速近傍探索インデックス HNSW を統合し、検索速度を維持。

📦 インストール方法

添付の TelosDB_0.3.0_x64-setup.exe(NSIS インストーラ)をご利用ください。
ソースコードからビルドする場合は、リポジトリルートで npm install の後に npm run tauri build を実行してください。

  • データベーススキーマに変更があるため、起動時に自動的にマイグレーションまたは補完(セルフヒーリング)が実行されます。
  • 初回起動時に vec0.dll がアプリデータフォルダへコピーされます。問題が発生した場合は %APPDATA%\com.telosdb.app\logs\telos.log で原因を確認できます。