Personal Productivity Agent について
Personal Productivity Agent は、対話型コマンドラインでファイル操作やシステム情報の取得を行う、Windows 向けの Python ツールです。Google Gemini による Windows イベントログ分析にも対応し、MCP モードで他のプログラムから利用できます。
主な機能
- 01ファイルの検索、移動、名前変更
- 02システム情報とネットワーク情報の取得
- 03アプリの起動と重複ファイルの検索
- 04.ics の予定取得とリマインダー設定
- 05Gemini による Windows イベントログ分析
活用シーン
- 01対話メニューでファイルを整理
- 02ディスク、メモリ、CPU、ネットワーク情報を確認
- 03イベントログを分析してトラブル対応案を取得
- 04オーケストレーターからログ分析を呼び出す
MCP 対応
MCP モードでは標準入力と標準出力を介して JSON のリクエストと応答を交換します。analyze_windows_event_logs をオーケストレーターなどのプログラムに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
個人生産性エージェント
概要
個人生産性エージェントは、Windows システム上のさまざまなタスクを支援し、LLM の能力を活用してインテリジェントな分析を行う Python ベースのツールです。対話型のコマンドラインアシスタントとして、またはオーケストレーターと連携するバックエンドサーバーコンポーネントとして動作します。
機能
エージェントは現在、次の機能を提供しています。
- 対話型ファイルシステム操作:
- ファイルを検索
- ファイルを移動(確認あり)
- ファイル名を変更(確認あり)
- ディレクトリを作成(確認あり)
- システム情報とユーティリティ:
- ディスク使用量、メモリ情報、CPU 情報、ネットワーク情報を取得
- アプリケーションを起動
- 重複ファイルを検索
- 生産性向上ツール:
- ドキュメントを要約(この CLI 機能では現在、モック LLM を使用)
.icsファイルから今後のカレンダーイベントを取得- デスクトップのリマインダー/通知を設定
- Windows イベントログ分析(LLM 連携):
- 指定した条件(ログ名、レベル、期間)に基づいて Windows イベントログを取得します。
- Google の Gemini LLM を使用してイベントログのエントリを分析し、説明、考えられる原因、トラブルシューティング手順、および安全なコマンドライン修正案を提示します。
動作モード
エージェントは、次の 2 つのモードで実行できます。
1. 対話型 CLI モード
- 実行方法:
python main_agent.py - 説明: このモードでは、PowerShell またはコマンドプロンプトにメニュー形式のインターフェースが直接表示されます。さまざまな操作を選択でき、エージェントが必要な情報を尋ね、結果をその場で表示します。このモードは、ユーザーが直接操作することを想定しています。
2. MCP(Multi-Capability Protocol)サーバーモード
- 実行方法:
python main_agent.py --mcp-mode - 説明: MCP モードで起動すると、エージェントはバックグラウンドプロセスとして動作し、標準入力(stdin)で JSON 形式のリクエストを受け取り、標準出力(stdout)で JSON 形式のレスポンスを返します。
- 目的: このモードは、プログラムからの連携を想定しています。他のアプリケーションやオーケストレーター(TypeScript ベースのエージェントや中央自動化システムなど)は、標準化された JSON メッセージを送信して機能を呼び出すことで、この Python エージェントと通信できます。
- MCP ツールの例:
analyze_windows_event_logs機能は MCP 経由で公開されます。オーケストレーターがイベントログのパラメーターを指定した JSON リクエストを送信すると、エージェントは LLM の分析、推奨コマンド、およびそのコマンドに管理者権限が必要かどうかを含む JSON レスポンスを返します。 - メリット:
- 自動化: 他のシステムがエージェントの機能を自動的に利用できます。
- モジュール性: 中央のコントローラーがオーケストレーションする、特化型エージェントの構築が可能になります。
- 構造化データ交換: JSON を使用してソフトウェアコンポーネント間の信頼性の高い通信を実現します。
主なテクノロジー
- Python 3.x
- Google Gemini LLM: イベントログのインテリジェントな分析に使用します。
- 認証には、
GEMINI_API_KEY環境変数を設定する必要があります。設定されていない場合、エージェントは該当機能でモック LLM を使用していることを示します。
- 認証には、
- MCP(Multi-Capability Protocol): サーバーモードでプロセス間通信を行うための、stdio 経由のシンプルな JSON ベースプロトコルです。
セットアップと要件
- Python: Python 3.x がインストールされていることを確認してください。
- 依存関係: 必要な Python パッケージをインストールしてください。LLM との連携に主に使用するのは
google-generativeaiです。通常、requirements.txtファイルにすべての依存関係を記載します。pip install google-generativeai # 通知には「plyer」など、ほかのパッケージが必要になる場合があります - API キー: Gemini LLM の機能を利用するには、Google AI Studio で API キーを取得し、環境変数に設定してください。
- PowerShell の場合:
$env:GEMINI_API_KEY = "YOUR_API_KEY_HERE" - (
"YOUR_API_KEY_HERE"を実際のキーに置き換えてください。キーを GitHub にコミットしないでください。)
- PowerShell の場合:
実行方法
-
対話モード:
cd path\to\PersonalProductivityAgent # LLM 機能を利用する場合は API キーを設定 $env:GEMINI_API_KEY = "YOUR_API_KEY_HERE" python main_agent.py -
MCP サーバーモード(連携用):
cd path\to\PersonalProductivityAgent # LLM 機能を利用する場合は API キーを設定 $env:GEMINI_API_KEY = "YOUR_API_KEY_HERE" python main_agent.py --mcp-modeその後、エージェントは stdin で JSON リクエストを待ち受けます。
今後の機能強化
- MCP ツールを管理して活用するための、TypeScript ベースのオーケストレーター(
agent.ts)との連携。 - MCP サーバーモードで利用できるツールの拡充。
- エージェントの機能を活用する、より使いやすいグラフィカルインターフェース(Web UI またはデスクトップアプリ)の開発。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。