このプロジェクトはもともと Wails のデスクトップアプリとして動いていました。改修では主要機能を残しつつ、デスクトップイベント、ローカル状態、ファイル操作を明示的な HTTP インターフェースへ移しました。
プロジェクト概要
Go バックエンドが静的アセット、API、Cookie セッション、WebSocket イベントを提供します。React フロントエンドが管理画面を担当し、SQLite が設定、セッション、実行時データを保存します。Docker ビルドではフロントエンド成果物とバックエンドを一つの実行単位にまとめます。
用途は、デスクトップ依存のツールを遠隔アクセス、コンテナ配置、モデル設定管理、MCP ツールセット管理に対応させることです。
実装
バックエンドは Go net/http を境界として使います。デスクトップシェルの中に暗黙的にあった状態は、永続設定、実行時状態、タスク状態に分けます。時間のかかる処理は WebSocket イベントを出し、フロントエンドはポーリングせずに更新します。
実装の考え方は、デスクトップ固有の能力をすべて明示することです。ファイル操作、タスク状態、MCP 管理、認証は HTTP API になり、ブラウザ側は表示と操作だけを持ちます。