Newer
Older
TelosDB / journals / 20260207-Tauri_Refactoring_and_Stabilization.md
@楽曲作りまくりおじさん 楽曲作りまくりおじさん 9 hours ago 2 KB refactor(journals): mask absolute paths and update environment docs

20260207 Tauri化の完了とプロジェクト構造の刷新

概要

本日は、Electron から Tauri v2 への移行作業を完了させ、プロジェクト構造の抜本的な整理(Rationalization)と安定化を行った。主な成果は、バックエンドコードの src/backend への集約、Sidecar (llama-server) の安定稼働、および MCP プロトコルの基本実装テストのパスである。

実施事項

1. プロジェクト構造の整理

  • Backendの移動: src-taurisrc/backend に移動し、src/frontend と対になる構成に変更。これに伴い tauri.conf.json や各種パス解決ロジックを修正。
  • 資産の分離:
    • bin/: 外部バイナリ (llama-server 等)
    • data/: 永続化データ (vector.db)
    • logs/: 実行ログ
    • resources/: 静的アセット
  • Electronの廃止: 不要になった Electron 時代のソースコード (src/backend/* 旧) と依存関係を完全に削除。

2. Sidecar (llama-server) の安定化

  • Windows 環境における DLL 読み込みエラーを解決するため、起動時に環境変数 PATH を継承し、カレントディレクトリをバイナリ配置場所に設定するロジックを実装。
  • std::env::current_dir を基準とした絶対パス解決を導入。

3. 機能実装と修正

  • ベクトル次元数の修正: Gemma 3 300M モデルに合わせて、DBスキーマとバリデーションを 384 次元に統一。
  • 日時フィールドの導入: items テーブルに created_at, updated_at を追加し、SQLite トリガーによる自動更新を実装。
  • ロギング: tauri-plugin-log を導入し、ログローテーション(10MB x 5世代)を設定。

4. 品質保証

  • ドキュメント刷新: README.md を全面的に書き換え、セットアップ手順を bun setup に集約。
  • MCP統合テスト: MCP クライアント(JS)からサーバーへの接続、ツール実行、ベクトル検索の一連のフローを検証するテストを作成し、全パスを確認。

構成図 (最終形態)

graph TD
    Root[Project Root] --> Data[data/]
    Root --> Bin[bin/]
    Root --> Logs[logs/]
    Root --> Src[src/]
    
    Data --> VDB["vector.db"]
    Src --> FE["frontend/ (Web UI)"]
    Src --> BE["backend/ (Rust/Tauri)"]

    subgraph "Sidecar Architecture"
        BE -->|Spawn| LS["llama-server.exe (in bin/)"]
        LS -->|Load| Model["Gemma 3 (in models/)"]
    end

成果

プロジェクトの見通しが劇的に改善され、開発環境(bun dev)とプロダクションビルドの両方で安定して動作する基盤が整った。次のステップとして、実際の MCP クライアント(Claude Desktop, LM Studio 等)との接続確認が可能な状態となった。