站点图标 高效码农

电脑自己动了!豆包视觉AI桌面自动化神器免费开源

包豆电脑:基于豆包视觉模型的AI智能屏幕控制系统详解

你有没有想过,让电脑自己“看”屏幕,然后根据你的指令自动完成操作?比如打开浏览器、搜索内容、点击链接,甚至处理一些重复性任务,而不需要你手动一步步操作。这正是“包豆电脑”这个开源项目想要实现的目标。它是一个结合AI视觉能力和自动化控制的桌面工具,能通过分析屏幕内容来执行鼠标点击、键盘输入等操作,帮助用户实现任务自动化。

这个项目基于PyQt5构建了直观的图形界面,后端则调用豆包(Doubao)视觉模型来理解屏幕图像。整个系统设计得比较实用,适合对自动化感兴趣的开发者或普通用户尝试。下面我将从头到尾带你了解这个项目,包括它能做什么、怎么获取、怎么搭建环境、怎么使用,以及背后的技术细节。

项目核心功能有哪些?

包豆电脑的核心在于“看屏幕—思考—执行”这样一个闭环流程。主要功能包括:

  • 智能屏幕分析:实时截取屏幕内容,发送给豆包视觉模型进行理解。
  • 自动鼠标控制:支持鼠标移动、左键点击、右键点击、双击、拖拽等操作,位置由AI根据屏幕内容精准计算。
  • 键盘自动化:可以模拟文字输入、按下快捷键(如Ctrl+C)。
  • 用户友好界面:基于PyQt5的GUI,窗口支持置顶、半透明、自动避开操作区域,还加入了防截图保护。

这些功能组合在一起,就能让AI一步步完成较复杂的桌面任务,比如打开软件、填写表单、浏览网页等(当前版本只支持主屏幕操作)。

项目目录结构一览

了解一个项目,最直接的方式就是看它的文件组织。包豆电脑的目录结构很清晰:

baodot_AI/
├── imgs/                  # 存放截图和标记图片
│   └── label/             # AI调试时生成的坐标标记图
├── config.json            # 核心配置文件(API密钥、模型参数等)
├── README.md              # 项目文档
├── requirements.txt       # 依赖库列表
├── pyqt_main.spec         # Windows打包配置
├── pyqt_main_mac.spec     # macOS打包配置
├── get_next_action_AI_doubao.txt     # Windows版AI系统提示词
├── get_next_action_AI_doubao_mac.txt  # macOS版AI系统提示词
├── pyqt_main.py           # 主程序入口(GUI界面)
├── vl_model_test_doubao.py   # 独立视觉模型测试模块(不连接GUI)
├── vl_model_test_doubao2.py  # 与GUI连接的视觉模型核心模块
├── log_window.py          # 日志显示窗口
├── cv_shot_doubao.py      # 截图与坐标处理工具
├── mac_app_utils.py       # macOS资源路径处理
├── favicon.ico            # Windows图标
└── favicon_mac.ico        # macOS图标
软件图标

如何获取并开始使用这个项目?

方法一:使用Git克隆(推荐)

如果你已经安装了Git,最简单的方式是:

git clone https://github.com/mini-yifan/baodou_AI.git
cd baodou_AI

方法二:直接下载ZIP包

  1. 打开GitHub项目页面:https://github.com/mini-yifan/baodou_AI
  2. 点击右上角绿色“Code”按钮
  3. 选择“Download ZIP”
  4. 解压到任意目录
  5. 进入解压后的文件夹

环境搭建步骤(详细版)

很多人卡在环境配置上,这里一步步来,确保你能顺利跑起来。

第一步:创建并激活虚拟环境

Windows用户:

python -m venv new_venv
new_venv\Scripts\activate

Linux/macOS用户:

python3 -m venv new_venv
source new_venv/bin/activate

第二步:安装依赖

推荐直接一键安装:

pip install --upgrade pip
pip install -r requirements.txt

如果你想手动安装,也可以逐个执行:

pip install --upgrade pip
pip install PyQt5 PyQt5-tools
pip install opencv-python numpy
pip install pyautogui pyperclip
pip install openai pydantic
pip install pillow

这些库分别负责界面、图像处理、鼠标键盘控制、API调用和截图。

配置文件 config.json 详解

项目的所有可调参数都集中在config.json里,内容如下(首次运行时API密钥为空):

{
  "api_config": {
    "api_key": "",          
    "base_url": "https://ark.cn-beijing.volces.com/api/v3",
    "model_name": "doubao-seed-1-6-vision-250815"
  },
  "ai_config": {
    "thinking_type": "disabled"
  },
  "execution_config": {
    "max_visual_model_iterations": 80,
    "default_max_iterations": 80
  },
  "screenshot_config": {
    "optimize_for_speed": true,
    "max_png": 1280,
    "input_path": "imgs/screen.png",
    "output_path": "imgs/label"
  },
  "mouse_config": {
    "move_duration": 0.1,
    "failsafe": false
  }
}
  • api_key:必须填写你的豆包API密钥
  • model_name:当前固定为豆包最新的视觉模型
  • max_*_iterations:防止AI陷入死循环,最多执行80次
  • optimize_for_speed:开启后会压缩图片以提升响应速度
  • move_duration:鼠标移动动画时间,数值越小越快

如何获取豆包API密钥?

  1. 打开豆包开发者平台:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey
  2. 注册或登录火山引擎账号
  3. 进入“API密钥”管理页面
  4. 点击“创建API密钥”
  5. 复制生成的密钥
  6. 粘贴到程序界面或直接写入config.json

实际使用流程(一步步教你操作)

1. 启动程序

在虚拟环境中运行:

python pyqt_main.py

启动后会出现一个半透明、始终置顶的小窗口。

2. 输入API密钥

首次运行需要在界面顶部的输入框粘贴密钥,程序会自动保存到config.json

3. 描述你的任务

在下方大文本框输入具体需求,例如:

请打开浏览器,搜索“人工智能发展趋势”,然后点击第一个搜索结果进入页面。

越详细越好,AI会根据描述一步步规划。

4. 开始执行

点击“上传并执行”按钮,程序会:

  1. 截取当前屏幕
  2. 把截图发给豆包视觉模型
  3. 模型返回下一步操作(如“点击坐标(500,300)”或“输入文字”)
  4. 程序执行该操作
  5. 循环上述步骤,直到AI判断任务完成

5. 随时停止

执行过程中如果觉得不对劲,立即点击“停止AI执行”即可中断。

系统工作原理是怎样的?

整个流程可以概括为以下循环:

  1. 用户输入任务目标
  2. 系统截取当前屏幕 → 保存为imgs/screen.png
  3. 调用豆包视觉模型,结合系统提示词(get_next_action_AI_doubao.txt)分析当前屏幕与目标的差距
  4. AI返回结构化的下一步动作(点击、输入、拖拽、完成等)
  5. 程序解析动作并通过pyautogui执行
  6. 重复2-5,直到达到最大迭代次数或AI输出“任务完成”

关键在于系统提示词,它严格约束了AI只能输出规定格式的动作,避免乱操作。

核心代码模块功能详解

pyqt_main.py

  • 负责整个GUI界面
  • 处理用户输入、按钮事件
  • 启动AI执行线程
  • 实现窗口置顶、透明、防截图、自动避让操作区域

vl_model_test_doubao2.py

  • 项目真正的“大脑”
  • 加载配置、截图、调用API
  • 解析AI返回的JSON动作
  • 执行鼠标键盘操作
  • 坐标缩放映射(适配不同分辨率与截图压缩)

cv_shot_doubao.py

  • capture_screen_and_save():全屏截图并压缩
  • mark_coordinate_on_image():调试用,在截图上标记AI选择的坐标
  • map_coordinates():将模型看到的压缩图坐标映射回真实屏幕坐标

get_next_action_AI_doubao.txt

  • 这是系统提示词文件,定义了AI的角色、允许的操作类型、输出格式、特殊情况处理等,是整个系统稳定性的关键。

如何打包成独立可执行程序?

如果你想分享给没有Python环境的朋友,可以用PyInstaller打包。

安装PyInstaller

pip install pyinstaller

Windows打包

pyinstaller pyqt_main.spec

macOS打包

pyinstaller pyqt_main_mac.spec

打包完成后,可执行文件在dist文件夹:

  • Windows:dist/pyqt_main.exe
  • macOS:dist/pyqt_main.app

注意:打包后需要手动把config.json和提示词文件复制到可执行文件同目录。

常见问题与解决办法(FAQ)

程序提示“AI执行错误,可能密钥错误或欠费”怎么办?

  • 确认API密钥填写正确、无多余空格
  • 登录火山引擎控制台检查账号余额
  • 确认选择的地域是北京(base_url已默认北京)

为什么截图失败或保存不了?

  • 检查项目根目录下是否有imgs文件夹,且程序有写入权限
  • 某些安全软件可能会阻止截图,暂时关闭试试
  • 确保屏幕缩放设置为100%(高DPI可能影响坐标)

鼠标点击位置不准怎么办?

  • 检查显示器缩放设置是否为100%
  • 尝试把config.json中的max_png调大(如1920),牺牲速度换精度
  • 调整mouse_config.move_duration为0.2~0.5,让移动更平稳

程序启动后立刻闪退?

  • 确认Python版本在3.8以上
  • 在命令行直接运行python pyqt_main.py,查看具体错误信息
  • 确保所有依赖都安装成功(尤其是PyQt5)

AI总是做重复操作或卡住怎么办?

  • 这是迭代次数保护机制在起作用(默认80次)
  • 可以适当增加max_visual_model_iterations
  • 或者优化任务描述,让目标更明确

系统能控制多个屏幕吗?

当前版本只支持主屏幕,多屏环境可能坐标偏移。

使用时的安全注意事项

  1. API密钥相当于账号密码,千万不要泄露或上传到公开仓库
  2. 程序会把屏幕内容发送给云端AI模型,请确保屏幕上没有敏感信息(如密码、银行卡)
  3. 自动化操作有一定风险,避免在重要生产环境直接运行高风险任务
  4. 建议先在虚拟机或测试账号中充分验证

写在最后

包豆电脑是一个非常有潜力的桌面AI自动化尝试,它把大模型的视觉理解能力与传统的鼠标键盘控制结合在一起,让“让电脑自己操作自己”从科幻变成可触手可及的现实。虽然目前还有一些限制(比如只支持主屏幕、依赖网络、迭代次数上限),但作为开源项目,它提供了完整的代码和思路,值得每一位对AI Agent、RPA(机器人流程自动化)感兴趣的朋友深入研究和二次开发。

如果你正在寻找一个能亲手体验“视觉+行动”闭环的项目,这个仓库绝对值得一试。动手搭建起来,输入一个简单任务,看着AI一步步完成,那种感觉还是挺奇妙的。

祝你玩得开心!

退出移动版