Back to Docs
アーキテクチャ

PlanToCodeアーキテクチャ

デスクトップシェル、バックグラウンドワークフロー、共有サービスの構成について説明します。

7分 read

PlanToCodeは、Reactフロントエンドを備えたTauriデスクトップアプリケーションです。UIは実装プラン、ターミナル、設定コントロールをレンダリングし、Rustバックエンドはワークフロー、トークン推定、永続的なターミナルセッションのためのコマンドを公開します。この概要では、これらの要素がどのように組み合わさるかをまとめています。

フロントエンドサーフェス

デスクトップUIはReactコンポーネントで構築されています。実装プランのコンテンツはMonacoベースのビューアーを通じて表示され、大きなプランを仮想化し、言語を検出し、コピーアクションをサポートすることで、レビュー担当者がパフォーマンスの問題なくプランテキストを確認できます。ターミナルセッションはバッファリングされたビューの中でレンダリングされ、PTY出力に接続し、接続ステータスの更新を表示します。

共有プロバイダーは通知、ランタイム設定、プラン状態を処理します。実装プランパネルはプランメタデータを保持し、モーダルの表示を管理し、必要に応じてトークン推定やプロンプトコンテンツを要求します。

Tauriコマンドとサービス

アプリケーションのRust側は、ワークフロー、ターミナルセッション、モデルツールのコマンドを公開します。ワークフローコマンドはWorkflow Orchestratorを通じてバックグラウンドジョブを開始し、入力を検証し、ファイル検出パイプラインの実行中に進行状況イベントを発行します。トークン推定コマンドは現在選択されているモデルのプロンプトサイズを計算します。

ターミナルコマンドはPTYプロセスを管理し、リモートクライアントを追跡し、セッションを起動する前にサポートされているCLIバイナリが利用可能かどうかを検証します。ヘルスチェックはPTYステータスとデータベースレコードを組み合わせて、セッションがまだ有効かどうかを報告します。

永続化と設定

ターミナル出力とセッションメタデータは、ターミナルセッションリポジトリを介してSQLiteに保存されます。各レコードには識別子、タイムスタンプ、作業ディレクトリ、環境変数、累積ログが含まれており、再起動時に以前の出力を回復できます。同じリポジトリはセッション状態が変更されたときにイベントを発行します。

モデルのデフォルト設定はアプリケーション設定テーブルに保存されます。各タスクはデフォルトモデル、許可された代替モデルのリスト、トークン予算、オプションのコピーボタンプリセットを定義します。Reactレイヤーはこれらの設定を読み取り、モデルセレクターとガードレールに反映します。

音声文字起こしパイプライン

音声文字起こしは、メディアの許可、マイクの選択、ストリーミング文字起こしリクエストを調整するReactフックとして実装されています。このフックはプランターミナルとプロンプトエディターと統合され、認識されたテキストを直接アクティブなコンポーネントに挿入し、文字起こしが失敗した場合は通知を表示します。

PlanToCodeアーキテクチャ概要