pywinassistant
Windows平台AI智能助手,通过自然语言指令操控桌面应用的先驱开源框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Windows平台AI智能助手,通过自然语言指令操控桌面应用的先驱开源框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:PyWinAssistant AI助手界面
你可能用过 RPA 工具(UiPath、Power Automate)或 AutoHotkey 脚本——它们功能强大,但都有一个共同的局限:你必须精确告诉它们「点击哪里」「输入什么」。一旦软件界面更新,坐标偏移,整个流程就崩溃了。
PyWinAssistant 带来了截然不同的思路。它是 GitHub 上第一个开源的窄人工智能(ANI)通用智能体框架,于 2023 年 12 月 31 日发布,早于微软的 Visualization-of-Thought 论文(2024年4月)、Anthropic 的 Claude Computer-Use(2024年10月)和 OpenAI 的 Operator CUA(2025年1月)。这个时间差意味着它不是追随者,而是被后来者借鉴的先驱者。
传统 GUI 自动化依赖两种方式:坐标点击(脆弱)或计算机视觉(昂贵)。PyWinAssistant 走出了第三条路——直接读取 Windows 操作系统的 UI Automation(UIA)接口,以编程方式获取每个界面元素的类型、状态、位置和层级关系。
打个比方:传统方法像盲人靠触觉摸索房间,而 PyWinAssistant 像拥有房间的建筑蓝图——它知道「按钮在第3行第2列,是提交表单的入口」这样的结构化信息。这使其具备以下能力:
PyWinAssistant 将这套机制称为符号空间认知框架(Symbolic Spatial Cognition Framework),结合了 CoT(思维链)和 VoT(思维可视化)推理策略,使 AI 能够模拟人类操作时的抽象决策过程。
项目采用 Python + CustomTkinter 构建,分离了 UI 层、推理层和操作层:
| 核心模块 | 功能 |
|---|---|
driver.py(69KB) | 主推理引擎,包含 LLM 调用、步骤规划和 HID 动作生成 |
assistant.py(25KB) | CustomTkinter GUI 界面,支持语音输入/输出 |
ocr.py(15KB) | OCR 文字识别(默认关闭,依赖 pytesseract) |
window_focus.py(12KB) | 窗口激活与焦点管理 |
core_imaging.py(6KB) | 视觉推理模块(可选) |
voice.py(4KB) | TTS 语音合成 |
core_api.py(2KB) | OpenAI API 封装 |
core_api.py 默认调用 GPT-3.5-turbo-1106,可替换为 GPT-4 或其他兼容 API。driver.py 中的 fast_action() 函数使用零温度采样,直接输出坐标决策,保证操作的可重复性。
依赖栈中值得注意的是同时引入了 pywinauto(Windows UI Automation 封装)和 pyautogui(像素级鼠标控制)两套方案——前者用于语义级定位,后者作为备用的精准坐标执行。这体现了作者「双重保障」的设计哲学。
安装只需 pip install -r requirements.txt,再配置 OpenAI API Key 即可。启动后,桌面上出现一个半透明的 AI 助手浮窗(默认命名为「Ok Computer」),支持语音唤醒。
典型使用场景:
# 自动化复杂跨应用任务
assistant("Play Daft Punk on Spotify and email the lyrics to my friend")
# 多步链式操作
song = assistant(goal="get the current track") # UIA 获取当前曲目
write_action(f"Review '{song}': Great bassline!", app="Notepad") # 写入记事本
assistant(goal="Post on twitter the written text from notepad") # 发布推文
# 纯自然语言,一步到位
assistant("Get the current song playing and in notepad put the title as Review song name:
Great bassline, and write about why it is a great baseline, then post it on twitter")
开发者也可以直接调用 driver.assistant() 函数,将其嵌入自己的 Python 项目作为自动化引擎。
明显的局限:
值得关注的设计决策:
README 中有一处耐人寻味的注释——act() 函数中部分步骤推理和记忆内容检索功能被主动禁用,理由是「遵守联邦 AI 标准协调规范(federal coordinations AI Standards for Complex Adaptive Systems)」。这在开源社区引发了一些讨论:一方面体现了合规意识,另一方面也让人好奇完整功能的潜力边界。
PyWinAssistant 的出现在 AI Agent 发展史上具有里程碑意义——它证明了在 GPT-4V 出现之前,AI 就能通过纯符号推理实现 GUI 操作。2025年微软、Anthropic、OpenAI 相继推出类似能力的商业产品(Visualization-of-Thought、Claude Computer Use、Operator),但它们都晚于 PyWinAssistant 一年以上。
从数据看,该项目 1341 stars、188 forks、持续活跃更新(最近更新:2026年6月),说明社区对「低成本本地化 AI 桌面助手」的需求依然强烈。对于想要在 Windows 环境下构建自动化流程的开发者,它提供了极好的参考实现和改装起点。