本日は、Electron から Tauri v2 への移行作業を完了させ、プロジェクト構造の抜本的な整理(Rationalization)と安定化を行った。主な成果は、バックエンドコードの src/backend への集約、Sidecar (llama-server) の安定稼働、および MCP プロトコルの基本実装テストのパスである。
src-tauri を src/backend に移動し、src/frontend と対になる構成に変更。これに伴い tauri.conf.json や各種パス解決ロジックを修正。bin/: 外部バイナリ (llama-server 等)data/: 永続化データ (vector.db)logs/: 実行ログresources/: 静的アセットsrc/backend/* 旧) と依存関係を完全に削除。PATH を継承し、カレントディレクトリをバイナリ配置場所に設定するロジックを実装。std::env::current_dir を基準とした絶対パス解決を導入。items テーブルに created_at, updated_at を追加し、SQLite トリガーによる自動更新を実装。tauri-plugin-log を導入し、ログローテーション(10MB x 5世代)を設定。README.md を全面的に書き換え、セットアップ手順を bun setup に集約。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 等)との接続確認が可能な状態となった。