import os import asyncio from langchain_openai import ChatOpenAI from browser_use import Agent from dotenv import load_dotenv def check_openai_api_key(): """OpenAI APIキーの存在を確認する""" load_dotenv() # .envファイルから環境変数を読み込む if not os.getenv('OPENAI_API_KEY'): print('\nエラー: OPENAI_API_KEYが設定されていません.') print('以下のいずれかの方法で設定してください:') print('1. Windowsシステム環境変数にOPENAI_API_KEYを設定') print('2. .envファイルに "OPENAI_API_KEY=あなたのAPIキー" を追加') return False return True def select_model(): """使用するモデルを選択する""" print('\nモデルを選択してください:') print('1: gpt-4o-mini (デフォルト)') print('2: gpt-4o') choice = input('選択 (1-2) [1]: ').strip() return "gpt-4o" if choice == '2' else "gpt-4o-mini" async def execute_task(task, model): """ 指定されたタスクを実行する """ agent = Agent( task=task, llm=ChatOpenAI(model=model), ) return await agent.run() async def main(): """メイン処理""" print('\n=== Browser Agent ===') print('機能:AIエージェントによるWebブラウザの自動操作') print('使用方法:実行したいタスクをプロンプトに入力してください') print('終了方法:Ctrl+Cを押すか,プロンプトで何も入力せずにEnterを押してください\n') if not check_openai_api_key(): return model = select_model() while True: task = input('\nタスクを入力してください(終了するには空のEnter): ').strip() if not task: print('プログラムを終了します.') break result = await execute_task(task, model) print('\n結果:') print(result) if __name__ == '__main__': try: asyncio.run(main()) except KeyboardInterrupt: print('\nプログラムが中断されました.')