包豆电脑:基于豆包视觉模型的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包
-
打开GitHub项目页面:https://github.com/mini-yifan/baodou_AI -
点击右上角绿色“Code”按钮 -
选择“Download ZIP” -
解压到任意目录 -
进入解压后的文件夹
环境搭建步骤(详细版)
很多人卡在环境配置上,这里一步步来,确保你能顺利跑起来。
第一步:创建并激活虚拟环境
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密钥?
-
打开豆包开发者平台:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey -
注册或登录火山引擎账号 -
进入“API密钥”管理页面 -
点击“创建API密钥” -
复制生成的密钥 -
粘贴到程序界面或直接写入 config.json
实际使用流程(一步步教你操作)
1. 启动程序
在虚拟环境中运行:
python pyqt_main.py
启动后会出现一个半透明、始终置顶的小窗口。
2. 输入API密钥
首次运行需要在界面顶部的输入框粘贴密钥,程序会自动保存到config.json。
3. 描述你的任务
在下方大文本框输入具体需求,例如:
请打开浏览器,搜索“人工智能发展趋势”,然后点击第一个搜索结果进入页面。
越详细越好,AI会根据描述一步步规划。
4. 开始执行
点击“上传并执行”按钮,程序会:
-
截取当前屏幕 -
把截图发给豆包视觉模型 -
模型返回下一步操作(如“点击坐标(500,300)”或“输入文字”) -
程序执行该操作 -
循环上述步骤,直到AI判断任务完成
5. 随时停止
执行过程中如果觉得不对劲,立即点击“停止AI执行”即可中断。
系统工作原理是怎样的?
整个流程可以概括为以下循环:
-
用户输入任务目标 -
系统截取当前屏幕 → 保存为 imgs/screen.png -
调用豆包视觉模型,结合系统提示词( get_next_action_AI_doubao.txt)分析当前屏幕与目标的差距 -
AI返回结构化的下一步动作(点击、输入、拖拽、完成等) -
程序解析动作并通过 pyautogui执行 -
重复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 -
或者优化任务描述,让目标更明确
系统能控制多个屏幕吗?
当前版本只支持主屏幕,多屏环境可能坐标偏移。
使用时的安全注意事项
-
API密钥相当于账号密码,千万不要泄露或上传到公开仓库 -
程序会把屏幕内容发送给云端AI模型,请确保屏幕上没有敏感信息(如密码、银行卡) -
自动化操作有一定风险,避免在重要生产环境直接运行高风险任务 -
建议先在虚拟机或测试账号中充分验证
写在最后
包豆电脑是一个非常有潜力的桌面AI自动化尝试,它把大模型的视觉理解能力与传统的鼠标键盘控制结合在一起,让“让电脑自己操作自己”从科幻变成可触手可及的现实。虽然目前还有一些限制(比如只支持主屏幕、依赖网络、迭代次数上限),但作为开源项目,它提供了完整的代码和思路,值得每一位对AI Agent、RPA(机器人流程自动化)感兴趣的朋友深入研究和二次开发。
如果你正在寻找一个能亲手体验“视觉+行动”闭环的项目,这个仓库绝对值得一试。动手搭建起来,输入一个简单任务,看着AI一步步完成,那种感觉还是挺奇妙的。
祝你玩得开心!

