本日 (2026-02-08) は、MCP サーバーとしての機能強化(長文対応、ツール拡充)と、配布に向けたインストーラーおよびサイドカー起動の安定化を集中的に行った。また、クライアントからの接続安定性を確保するための SSE 通信の改善と、サーバー状態の可視化を行った。
案件: 2048トークンを超える長文データの埋め込み対応
llama-server および埋め込みモデルのコンテキスト制限を超える長文を扱うため、バックエンド (llama.rs) にチャンキングと平均プーリング (Mean Pooling) を実装。DefaultBodyLimit::disable() を追加し、巨大なリクエストを許容。案件: MCPツールの充実とテーブル構造の変更
items テーブルの path カラムを document_name に変更 (意味を明確化)。delete_item, get_vector, get_document, list_documents 等を追加し、CRUD を完全サポート。.copilot/config.json を stdio 形式から url (http://localhost:3000/sse) 形式に変更し、複数クライアントからの同時接続を可能にした。案件: MSI インストーラー環境でのクラッシュ修正とパス解決
配布用 MSI パッケージにおける、サイドカー (llama-server) の起動失敗や DLL 読み込みエラーに対し、以下の対策を実施した。
パス解決の厳密化: Tauri の app_handle.shell().sidecar() API を使用し、正規の方法でバイナリを呼び出すように修正。手動でのパス結合ロジックを廃止。
DLL 検索パスの修正 (Searching Logic): Windows は実行ファイル (llama-server.exe) と同じディレクトリにある DLL を最優先で読み込むため、Resources ディレクトリ内に DLL を配置し、サイドカー起動時のカレントディレクトリ (current_dir) を Resources に設定することで解決。 念のため PATH 環境変数にも Resources を追加。
リソース配置: tauri.conf.json の設定を見直し、models ディレクトリや mcp.json が正しくインストーラーに含まれ、かつプログラムから参照できるように修正 (resource_dir() の再帰的探索)。
案件: MCP クライアントからの接続安定化と UI 改善
tokio::sync::broadcast で非同期に行うようにし、レスポンス待ちでのデッドロックを回避。llama-server の稼働状態をポーリングし、ヘッダーにステータスを表示。