综合介绍
LangGraph CUA 是由 LangChain 团队开发的一个开源项目。它基于 LangGraph 框架,让开发者可以用 Python 打造能直接操作电脑的 AI 智能体。这个工具的核心是“Computer Use Agent”(CUA),可以模拟人类在电脑上的行为,比如点击、输入文字或浏览网页。它支持记忆功能、人机协作和实时输出,适合用来自动化重复任务或开发智能助手。项目代码开放,开发者可以自由下载、修改和使用,特别适合对 AI 自动化感兴趣的技术爱好者。
功能列表
- 支持 AI 通过文字和语音控制电脑操作,比如打开软件、输入文字或点击按钮。
- 提供短期和长期记忆功能,记住之前的操作和对话内容。
- 内置人机协作模式,允许用户随时介入调整 AI 的行为。
- 支持实时流式输出,操作过程可以逐步展示。
- 集成 Scrapybara,能在虚拟机上运行 AI 代理并访问网页。
- 允许开发者自定义工具和配置,灵活扩展功能。
使用帮助
LangGraph CUA 的安装和使用并不复杂,但需要一些基本的 Python 环境和 API 配置。下面是详细步骤,让你快速上手。
安装流程
- 准备环境
确保你的电脑有 Python 3.8 或以上版本。可以用命令检查:
python --version
如果没有,请从 https://www.python.org 下载安装。
- 克隆项目
在终端输入以下命令,把代码下载到本地:
git clone https://github.com/langchain-ai/langgraph-cua-py.git
下载完成后,进入项目文件夹:
cd langgraph-cua-py
- 安装依赖
项目需要一些 Python 库,用这个命令安装:
pip install -r requirements.txt
如果遇到权限问题,可以加 --user
:
pip install -r requirements.txt --user
- 配置 API 密钥
LangGraph CUA 需要 OpenAI 和 Scrapybara 的 API 密钥。先注册账号获取密钥,然后在终端设置环境变量:
export OPENAI_API_KEY=<你的OpenAI密钥>
export SCRAPYBARA_API_KEY=<你的Scrapybara密钥>
替换 <你的OpenAI密钥>
和 <你的Scrapybara密钥>
为实际值。Windows 用户可以用 set
替代 export
。
- 验证安装
跑一个简单测试,确保环境没问题。进入项目目录,运行:
python -m langgraph_cua
如果没有报错,说明安装成功。
如何使用主要功能
LangGraph CUA 的核心是创建一个 AI 代理来操作电脑。下面是具体操作方法。
创建 AI 代理
在 Python 文件中导入并配置代理,比如:
from langgraph_cua import create_cua
cua_graph = create_cua()
这会生成一个默认的 AI 代理。如果你想用特定的虚拟机实例,可以加参数:
cua_graph = create_cua(auth_state_id="你的认证ID")
操作电脑
代理可以通过命令控制电脑。比如,让它打开浏览器:
cua_graph.invoke({"command": "open browser"})
或者输入文字:
cua_graph.invoke({"command": "type", "text": "你好,世界"})
这些命令会直接在电脑上执行。
使用记忆功能
代理能记住之前的操作。比如,先让它打开记事本:
cua_graph.invoke({"command": "open notepad"})
然后输入内容:
cua_graph.invoke({"command": "type", "text": "这是测试"})
下次调用时,它会知道记事本已经打开,直接继续操作。
人机协作
如果想手动调整,可以启用人机协作模式。运行时加参数:
cua_graph.invoke({"command": "click", "x": 100, "y": 200}, human_in_loop=True)
执行到这里,程序会暂停,等你确认或修改坐标。
实时输出
想看到每一步操作,可以用流式输出:
for step in cua_graph.stream({"command": "search web", "query": "天气"}):
print(step)
它会逐步显示搜索过程。
特色功能操作
集成 Scrapybara
Scrapybara 让代理能在虚拟机上运行,适合处理网页任务。配置时确保 API 密钥正确,然后运行:
cua_graph.invoke({"command": "browse", "url": "https://example.com"})
代理会在虚拟机里打开网页并操作。
自定义工具
你可以加自己的工具。比如,定义一个计算器工具:
def calculator(a, b):
return a + b
cua_graph = create_cua(tools=[calculator])
然后调用:
cua_graph.invoke({"command": "calculate", "a": 5, "b": 3})
结果会返回 8。
这些步骤和代码能让你快速上手 LangGraph CUA,无论是简单任务还是复杂定制都可以实现。
应用场景
- 自动化办公
用 AI 代理批量处理文件,比如打开 Excel,输入数据并保存,省去重复操作。 - 网页数据抓取
让代理访问网站,提取信息,比如自动收集新闻标题或价格数据。 - 智能助手开发
打造一个能听语音指令的助手,比如说“打开邮件”或“搜索文档”,直接执行。 - 教育和培训
在教学中展示 AI 如何模拟人类操作电脑,帮助学生理解自动化原理。
QA
- 需要什么编程基础吗?
需要基本的 Python 知识,比如会用命令行和写简单代码。如果不会,可以先学基础语法。 - 没有 API 密钥怎么办?
去 OpenAI (https://openai.com) 和 Scrapybara 官网注册账号,申请密钥。免费额度可能有限,建议看清定价。 - 可以不用虚拟机吗?
可以,但用 Scrapybara 的虚拟机更安全,能隔离操作环境,避免影响本地电脑。 - 支持中文指令吗?
支持。只要 AI 模型能理解中文,输入中文指令一样有效。