python调用openai兼容api实现视觉识别坐标完成自动化操作电脑示例代码

代码语言:python

所属分类:其他

代码描述:python调用openai兼容api实现视觉识别坐标完成自动化操作电脑示例代码,具体步骤:1. 用户输入任务。2. 截取当前屏幕,3. 将截图和任务描述发送给OpenAI Vision API。 4. OpenAI分析截图和任务,规划下一步操作(例如点击某个坐标、输入文本)。它会以特定的JSON格式返回操作指令。5. 解析OpenAI的指令,使用`pyautogui`模拟鼠标点击或键盘输入。** 6. 重复2-5步,直到OpenAI指示任务完成。

代码标签: python 调用 openai 兼容 api 视觉 识别 坐标 完成 自动化 操作 电脑 示例

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
#pip install openai pyautogui mss Pillow

#`openai`: 用于与OpenAI API交互。
# `pyautogui`: 用于模拟鼠标和键盘操作。
# `mss`: 更高效的屏幕截图库。
#`Pillow`: 处理图像(`mss`通常配合它使用)。

#2.  **获取OpenAI API Key:**
#在 OpenAI 官网 ([https://platform.openai.com/](https://platform.openai.com/)) 获取你的 API Key。

# **MacOS 用户额外设置:**
#确保Python和你的终端应用有“辅助功能”和“屏幕录制”权限:`系统设置` -> `隐私与安全性` -> `辅助功能` / `屏幕录制`,找到你的终端或IDE并勾选。
#如果遇到`pyautogui`错误,可能需要安装`opencv-python`: `pip install opencv-python`

import base64
import json
import time
import pyautogui
import mss
from openai import OpenAI
import re
import os

# --- 配置 ---
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY") # 建议通过环境变量设置
if not OPENAI_API_KEY:
    print("WARNING: OPENAI_API_KEY not found in environment variables.")
    OPENAI_API_KEY = "YOUR_OPENAI_API_KEY_HERE" # 如果没有环境变量,请直接在这里替换你的API Key

OPENAI_MODEL = "gpt-4o"  # 或 "gpt-4-turbo" (推荐gpt-4o,更具视觉理解能力)

# PyAutoGUI 的一些设置
# pyautogui.FAILSAFE = True  # 启用安全模式,将鼠标移动到屏幕左上角会停止程序
pyautogui.PAUSE = 0.5    # 每个pyautogui调用后暂停的时间,方便观察

# --- 初始化 OpenAI 客户端 ---
client = OpenAI(api_key=OPENAI_API_KEY)

# --- 辅助函数 ---

def take_screenshot():
    """
    使用 mss 库截取当前屏幕,并将其编码为 base64 字符串。
    """
    with mss.mss() as sct:
        monitor = sct.monitors[1]  # 通常是主显示器,如果有多显示器,可以调整
        sct_img = sct.grab(monitor)
        img_bytes = mss.tools.to_png(sct_img.rgb, sct_img.size)
        return base64.b64encode(img_bytes).decode("utf-8")

def get_ai_action(base64_image, user_prompt, conversation_history):
    """
    将截图和用户/AI历史消息发送给OpenAI Vision API,
    获取AI规划的下一步操作。
    """
    # 构建消息列表
    messages = [
        {
            "role": "system",
            "content": """
            你是一个电脑操作自动化助手。你的任务是根据用户的需求和当前屏幕截图,规划并执行下一步操作。
            
            你的输出必须是严格的JS.........完整代码请登录后点击上方下载按钮下载查看

网友评论0