ドキュメントに戻る
デスクトップ

デスクトップアプリの内部

Tauri v2シェル、Rustコマンドレイヤー、PTYセッション、UI状態管理。

14分 で読めます

デスクトップアプリはReact UIを実行するTauri v2シェル(バージョン2.9.1)です。Rustサービスがワークフロー、ターミナルセッション、設定用のコマンドを公開し、SQLiteにローカルで状態を永続化します。機能ベースの権限モデルが、ファイルシステムアクセス、HTTPリクエスト、シェル実行、システム通知に対するきめ細かいセキュリティ制御を提供します。

デスクトップシェル概要

計画エディター、ターミナルタブ、ジョブステータスサイドバーを示すスクリーンショット。

PlanToCodeデスクトップシェル
Click to expand
実装計画パネルとサイドバーを表示するデスクトップアプリ。

React UIとサーフェスエリア

React UIはタスク説明エディター、計画ビューア、ターミナルパネルをレンダリングします:

Tauriコマンド

desktop/src-tauri/src/commands/のコマンドがRust機能をReact UIに公開します。主要モジュール:

Key command modules:

  • workflow_commands.rs - Workflow orchestration
  • job_commands.rs - Job status and management
  • terminal_commands.rs - PTY session control
  • session_commands.rs - Session CRUD operations
  • implementation_plan_commands.rs - Plan generation
  • audio_commands.rs - Voice transcription
  • video_analysis_commands.rs - Video processing
  • device_commands.rs - Mobile device linking

ジョブプロセッサとワークフロー

desktop/src-tauri/src/jobs/のジョブ処理アーキテクチャ:

Job system components:

  • queue.rs - Priority queue with 8 concurrent workers
  • dispatcher.rs - Job execution dispatcher
  • registry.rs - Processor registration
  • workflow_orchestrator/ - Multi-stage workflow engine
  • processors/ - 12+ job type processors
  • streaming_handler.rs - LLM response streaming

ローカル永続化

desktop/src-tauri/migrations/consolidated_schema.sqlのSQLiteストレージ:

Core tables:

  • sessions - Project context and preferences
  • background_jobs - Job records with prompts/responses
  • terminal_sessions - PTY output logs
  • task_description_history - Task version history
  • file_selection_history - File selection tracking
  • project_system_prompts - Per-project overrides
  • key_value_store - Application settings

ターミナルセッション

PTYターミナル実装:

タスク説明の安定性

タスク説明エディターにはカーソルジャンプを防ぐセーフガードが含まれます:

  • ユーザー入力中はリモート更新がキューに入れられ、アイドルまたはブラー時にフラッシュされます。
  • 選択状態はReact再レンダリング後に追跡および復元されます。
  • バックグラウンドライターはsessionActions.updateCurrentSessionFieldsを呼び出して更新を調整します。
  • マルチデバイス同期はsequence_numberとversionフィールドを使用して競合を解決します。

Explore related internals

The background jobs and data model docs explain how the desktop app persists and processes work.