﻿ObservePC Ver 2.1 詳細説明ドキュメント（DOC_v2.1.txt）

1. はじめに（ObservePC の目的）
───────────────────────────────────────────────
ObservePC は、AI との技術対話やトラブル相談を円滑にするための
「前提整形支援ツール」です。  
Windows 環境の構成情報を広く浅く収集し、それを AI に渡すことで、
前提情報の不足から生じる誤診断や説明不足を防ぐことを目的としています。

・GUI 不要、インストール不要、USB から実行可能  
・出力はすべてテキスト形式で、AI 共有に最適化  
・「診断ツール」ではなく「前提情報整形ツール」である点が特徴


2. 出力セクションと解説（出力順・取得元・整形方針）
───────────────────────────────────────────────
ObservePC の出力は、Windows 標準 API、WMI、レジストリ、イベントログなどから取得した
情報を整形し、セクションごとにまとめています。以下-Eでの出力

ヘッダー  
　取得元：System 情報、起動引数  
　内容：バージョン、実行時刻、タイムゾーン

PC起動時刻
　取得元：WMI（Win32_OperatingSystem）  
　内容：LastBootUpTime をローカル時刻へ変換して表示

コンピュータ名、ドメイン、ユーザー
　取得元：System.Environment  
　内容：MachineName、UserName、UserDomainName、OS アーキテクチャ

OS情報
　取得元：WMI（Win32_OperatingSystem）  
　内容：OS 名、バージョン、ビルド番号、64bit 判定

システム詳細設定
  取得元： レジストリ（SystemPropertiesAdvanced 相当）
  内容： パフォーマンス設定、仮想メモリ、環境設定など

OneDrive 詳細解析(-E)
  取得元： レジストリ、OneDrive 設定ファイル
  内容： 同期状態、フォルダ構成、バージョン、エラー有無

マザーボード情報
　取得元：WMI（Win32_BaseBoard）  
　内容：メーカー、製品名、シリアル番号

BIOS情報
　取得元：WMI（Win32_BIOS）  
　内容：ベンダー、バージョン、リリース日

CPUとメモリー情報
　取得元：WMI（Win32_Processor, Win32_PhysicalMemory）  
　内容：CPU 名、コア数、スレッド数、RAM 合計、スロット別スペック（速度・種別・容量）

ストレージ情報
　取得元：WMI（Win32_LogicalDisk）  
　内容：ドライブ種別（ローカル / リムーバブル）、容量、空き容量、ボリューム名

GPU情報
　取得元：WMI（Win32_VideoController）  
　内容：GPU 名、ドライバーバージョン、VRAM（正確に取れない場合は注記）、解像度

ディスプレイ情報
　取得元：Win32 API（EnumDisplayDevices）  
　内容：GPU と接続モニターの PnP 名。代表的な 1 台のみ表示

ネットワーク構成
　取得元：WMI（Win32_NetworkAdapterConfiguration）、System.Net  
　内容：NIC 名、製造元、種別、状態、MAC、IP、DNS、Gateway、リンク速度  
　補足：ループバックや無効 NIC を自動除外

ドメイン / ワークグループ情報
  取得元： System.Environment / WMI
  内容： ドメイン参加状態、ワークグループ名

接続デバイス一覧(-E)
　取得元：WMI（Win32_PnPEntity）  
　内容：「録音・映像機器」と「その他デバイス」に分類。  
　　　　通常は最大 10 件（-E で 30 件）。  
　補足：USB など電源 ON・接続状態のものが対象

環境変数(-E)
　取得元：Environment.GetEnvironmentVariables()  
　内容：ユーザー変数とシステム変数を表示（Path は最大 5 件）

Windows Update履歴
　取得元：WMI（Win32_QuickFixEngineering）  
　内容：KB 番号とインストール日を抽出。  
　　　　環境によっては 50 件以上表示される場合もあり

最近インストールされたソフトウェア
　取得元：レジストリ（Uninstall キー）  
　内容：InstallDate が存在する項目を抽出  
　補足：レジストリ仕様により欠落や重複の可能性あり  
　　　　最大 10 件（-E で 30 件）

スタートアップアプリ一覧
　取得元：レジストリ（Run キー）、WMI（Win32_StartupCommand）  
　内容：ユーザーとシステムのスタートアップ項目を統合表示  
　注意：数が多いと PC 起動速度に影響する場合があります

サードパーティ製プロセス一覧(-E)
　取得元：System.Diagnostics.Process  
　内容：Microsoft 製以外の常駐候補プロセスを抽出  
　補足：不明なプロセスは注意が必要

セキュリティソフト状況
　取得元：WMI（AntiVirusProduct）、プロセス名  
　内容：Defender またはサードパーティ製を推定表示。
　補足：Windows Server 系 OS（2016/2019/2022 など）には Windows Security Center が存在しないため、
  OutputSecurityStatus() は常に「取得できませんでした」と表示されます。
  これは OS の仕様によるもので、ObservePC の不具合ではありません。

FW プロファイル状態
　取得元：NetSecurity API（PowerShell 非依存）  
　内容：Domain / Private / Public の有効状態と送受信ポリシー  
　推奨：すべて有効が望ましい

ドライバー情報
　取得元：WMI（Win32_PnPEntity）  
　内容：Status が Error / Degraded のデバイス  
　補足：古い順にドライバー一覧(-E)と署名無し等のドライバー抽出

最近のシステムイベントログ
　取得元：Application / System ログ  
　内容：Error または Warning のイベントを抽出  
　　　（DCOM ノイズ：EventID 10016 は除外）  
　補足：最大 15 件（-E で 35 件）

Edge ブラウザ情報
  取得元： レジストリ
  内容： バージョン、設定状態

プリンター一覧(-E)
  取得元： WMI（Win32_Printer）
  内容： プリンター名、状態

ユーザーアカウント一覧(-E)
　取得元：WMI（Win32_UserAccount）  
　内容：有効 / 無効状態、健全性（OK / Degraded）

サービス一覧(-E)
　取得元：WMI（Win32_Service）  
　内容：停止中・無効・異常状態のサービスを抽出（最大 30 件）

ユーザー設定 FWルール(-E)
　取得元：NetSecurity API、レジストリ  
　内容：DisplayName（名前）のみ表示  
　補足：アンインストール済みアプリのルールが残っている場合は削除推奨

NTP同期状態(-E)
  取得元：コマンドライン w32tm /query /peers
　内容：現在設定されているNTP設定を表示。LAN内にNTPが存在するなら指定するべき


3. -E モードの詳細
───────────────────────────────────────────────
-E オプションを指定すると、以下の拡張が有効になります。

・表示件数の上限拡大：+20件  
・情報の詳細化：環境変数・ドライバー情報など  

用途：  
「自分で環境を把握したい」「問題点を深掘りしたい」向けの詳細モードです。この出力ファイルをAIへ渡して
より正確な診断を仰ぐ方法も有りです。-F, -S の出力も -E に準じます。


4. FW ルールの表示方針（名前のみ）
───────────────────────────────────────────────
ObservePC は FW ルールの表示を DisplayName（名前）のみに限定しています。  
理由は以下の通りです。

1. Windows 設定画面と同様の構成であり、ON/OFF の判断が容易  
2. Protocol, Port, IP などの詳細は目的に対して冗長であり、ノイズとなりやすい  
3. アンインストール済みアプリの痕跡が残っている場合、その判断材料として有用  


5. AI との連携方法（Copilot / Gemini など）
───────────────────────────────────────────────
ObservePC の出力は Copilot、Gemini、ChatGPT などの AI へ直接渡すことで、  
技術相談やトラブル診断がスムーズに行えます。

推奨手順：  
1. 出力されたテキストファイル（例：PC_Observation_GESO_20251118.txt）を AI へアップロード  
2. 「このファイルを確認して」と入力  
3. 質問を続けて記述

コンソール出力はデバッグ情報を含むのでAIへ渡すのは出力ファイルの方が望ましい。

質問例：  
・この PC を診断してほしい  
・××(特定の機能・アプリ)が動かない原因と対策を教えて
・起動が遅い原因を教えて  
・ゲーム用途に GPU を交換すべきか？  
・HDR が有効にならない（※ケーブル規格は user_note.txt に記入）


6. 起動オプションの意味と使い分け
───────────────────────────────────────────────
-L：初心者向け。AI に平易な説明を促す  
-H：経験者向け。簡潔な応答を AI に促す  
-M="..."：メッセージを AI に付加  
-E：詳細モード。出力拡張。安定性に配慮した限定的な並列処理+取得失敗時に再試行。
-F：高速モード。全情報を全力で並列取得。再試行なし。高スペックPCで素早く取得用途向け
-S：安全モード。逐次取得し取得失敗時に再試行。低スペックPCやServerで推奨します


7. AI への質問例
───────────────────────────────────────────────
〈基本診断・トラブル解消〉  
・この PC の問題点を総合的に診断して  
・時々重くなる原因と対策は？  
・起動が遅い時に確認すべき箇所は？  

〈ハードウェア・性能相談〉  
・パーツ交換の優先順位を知りたい  
・特定ゲームを快適に遊ぶには GPU 交換が必要？  
・動画再生を綺麗にする設定は？  
・HDR が使えない（ケーブル規格を補足）  

〈互換性・設定相談〉  
・古いアプリの互換モード設定を教えて  
・セキュリティソフトが重い場合の対策は？  

〈AI 連携活用〉  
・AI 診断に使うプロンプト例を作って  
・ローカル AI 学習環境を構築する場合の強化点は？  


8. 出力ファイルと補足ファイル
───────────────────────────────────────────────
●出力ファイル  
　PC_Observation_マシン名_日付.txt  
　例：PC_Observation_GESO_20251118.txt  
　保存先：ObservePC.exe と同じディレクトリ

●補足ファイル：user_note.txt  
　同一ディレクトリに置くと、出力末尾に自動連結されます。  
　AI に伝えたい追加情報を自由に記述できます。

記述例：  
・HDR が有効にできない。HDMI ケーブルは Ver 1.4  
・Win11 非対応のため移行検討中  
・症状が発生する条件（温度、時間帯、特定ソフトなど）


9. 処理時間と環境差（Ver1.7参考値）
───────────────────────────────────────────────
Intel Celeron N3050 / 4 GB / Win10（-E, USB 2.0） ：約 50 秒  
Pentium J5005 / 16 GB / Server 2019（-E, USB 3.0）：約 23 秒  
Core i5-13500 / 32 GB / Win11（-F, SSD）　　　　：約 3 秒  
Core i5-13500 / 32 GB / Win11（-S, SSD）　　　　：約 10 秒  

※ あくまで参考値であり、環境により大きく変動します。
※ Ver2.1は取得項目の増加により更に時間が掛かります


10.使用タイミング 
───────────────────────────────────────────────
Windowsが変な挙動を見せてからObservePCを使うのが一般的でしょうが、
Windowsはエラーなどが有っても意外と粘って動くので、環境変化(新規ドライバーや新規ソフトインストール、
Windows Update)後などに確認のために実行するのを勧めます。
1ヶ月に一回など定期的な実行も良いでしょう。出力ファイルを残しておけば、何が変化したかの確認に役立ちます。


11. 外部設定ファイル
───────────────────────────────────────────────
ObservePC.exeと同じ場所にObservePC.cfgを置けばカスタマイズが可能になります。
ソースコードを書き換えなくても設定ファイルを書くだけで簡単にカスタマイズが可能となりました。

書式はTECHNICAL_v2.1.txtに書いています。
サンプルとしてObservePC.cfg.txtを添付してますので編集後にObservePC.cfgへリネームすれば使えます。
行先頭が'#'はコメントになるのでON/OFF制御が簡単です。
ObservePC.cfgが存在しないならObservePCは初期設定動作になります。


12. 開発経緯と AI 活用
───────────────────────────────────────────────
ObservePC は、Copilot やその他の生成 AI を活用しながら開発されています。

・WMI クエリやイベントログ API の構文補完  
・冗長コードの整理  
といった定型作業を AI が補助し、  
構造設計・仕様策定・安全設計などの核心部分は開発者が担当しています。

“AI に理解させるためのツールを、AI と協働して作る”  
という点が特徴です。


13. 雑記
───────────────────────────────────────────────
ObservePCはAIへ渡すPCの問診票を自動で書いてくれるツールを目指しています。
PC の管理に疲れた人がAIのサポートで少しでも楽になる事を祈っています。


本ドキュメントは Ver2.1 時点の仕様に基づいています。
