Warning
アーカイブ予定のお知らせ(2026-02-18)
このリポジトリは近く GitHub 上で Archived(read-only)化します。既存ユーザー向けに理由と移行先を明記します。
理由
- 近年の AI ツール/IDE 側の進化により、再起動補助の必要性が低下したため。
移行先 / 代替手段
- ご利用中の AI ツール/IDE の公式リカバリー・再接続機能
- OS のタスクスケジューラや監視機構を組み合わせた運用
既存利用中の方は、必要に応じて利用バージョンを固定してお使いください。
Windows専用の常駐アプリとして、停止した処理を自動検知し安全に再開するC#/.NET 10版のPoCです。Python版で課題だったDPIスケーリングとマルチモニター(負の座標含む)を優先的に解決します。
- DPIスケーリング対応(Per-Monitor v2 / SendInput 前提)
- マルチモニター座標の正規化(仮想スクリーン基準、負の座標も許容)
- SendInputによる信頼性の高いクリック・キー入力(IME前提のテキスト送出)
- グローバルホットキーでの安全停止(Ctrl+Alt+Q)と一時停止/再開(Ctrl+Alt+P)
- 連続一致ガード+クールダウン、Serilogベースのログ
src/AIReStarter/Core/DisplayManager.cs: モニター列挙・DPIスケール計算・座標補正src/AIReStarter/Core/ScreenCaptureService.cs: DPI補正済み領域キャプチャsrc/AIReStarter/Core/TemplateMatcher.cs: OpenCVテンプレートマッチングsrc/AIReStarter/Core/MatchGuard.cs: 連続一致ガードとクールダウンsrc/AIReStarter/Services/MonitorService.cs: 監視ループ、ガード判定、アクション実行src/AIReStarter/Services/ActionEngine.cs: アクション実行の制御src/AIReStarter/Services/HotKeyService.cs: グローバルホットキー(安全停止用)src/AIReStarter/Input/InputSender.cs: SendInput/SetCursorPosでのクリック・キー送出src/AIReStarter/UI/SystemTrayManager.cs: トレイメニューによる開始/停止/終了src/AIReStarter/Config/ConfigLoader.cs: TOML設定ファイルの読み込みsrc/AIReStarter/Config/AppConfig.cs: アプリケーション設定の型定義
- 前提: Windows + .NET 10 SDK
- 依存関係取得
dotnet restore
- プロファイル作成
profiles.example.tomlをprofiles.tomlにコピーmatching.fileにテンプレート画像パス、monitor_regionを 0.0-1.0 の相対座標で調整
- 実行
dotnet run --project src/AIReStarter
Ctrl + Alt + P: 監視の一時停止/再開Ctrl + Alt + Q: 安全終了- トレイメニュー: 開始/停止/終了(デフォルトのアプリケーションアイコン)
[global]:check_interval,cooldown_seconds,max_consecutive_matches,action_delay_ms,log_level[[templates]]:monitor_region… 画面に対する相対座標 (0.0-1.0)。複数モニター時は仮想スクリーン基準matching.file/matching.thresholdaction…click(offset/retry)、chat(command/target_element)、keyboard(keys)
- サンプル:
profiles.example.toml
dotnet test
- 本ブランチ:
feature/v2-csharp-rewrite(C# PoC) - Python版/Rust PoC は別ブランチに保持