illuminated2020/deepagents-autoglm
Integrate Open-AutoGLM's Android & iOS GUI automation into DeepAgents-CLI via LangChain Middleware, combining LLM orchestration with vision-guided GUI control.
npx skills add illuminated2020/deepagents-autoglmREADME
🚀🧠 DeepAgents-AutoGLM
English | 中文
基于 deepagents 框架集成 AutoGLM 手机控制能力的开源智能助手,可在终端中运行,并支持 Android 和 iOS 设备自动化控制。
💡 项目亮点
相比原始 Open-AutoGLM 项目,本项目基于 deepagents 框架,通过中间件机制集成 AutoGLM,实现以下核心优势:
- 🔗 能力组合:AutoGLM 与 Web 搜索、Shell、技能系统、记忆系统无缝协同,实现"搜索信息 → 分析决策 → 手机操作"全流程自动化
- 🧠 智能分工:主 Agent 负责任务规划和复杂决策,子Agent
phone_task专注手机操作执行,职责边界清晰 - 🎯 精细化操作:利用 Anthropic 提出的 Agent SKILL,可为特定应用(如小红书、QQ)定制精细化的操作流程,实现复杂场景的自动化任务
- 🔌 模块化扩展:可插拔设计,AutoGLM 作为可选中间件,通过环境变量按需启用
典型场景示例:
$ deepagents
> 搜索最新的 AI 新闻,总结成小红书风格的文案,然后在小红书上发布
# 执行流程:
# 1. web_search 搜索 AI 新闻
# 2. LLM 分析并生成小红书文案
# 3. 主Agent通过xiaohongshu-post skill 规划发布流程
# 4. 调用子Agent phone_task 执行手机操作(打开应用、输入、发布)
# 5. agent.md 记录发布历史
核心特性:
- 内置工具集: 文件操作(读、写、编辑、搜索)、Shell 命令、网络搜索、子代理委托
- 可定制技能: 通过渐进式披露技能系统添加特定领域能力
- 持久化记忆: Agent 会记住您的偏好、编码风格和项目上下文
- 项目感知: 自动检测项目根目录并加载项目特定配置
- Android/iOS 自动化(可选): 集成 AutoGLM 实现智能手机控制(点击、滑动、输入等)
- 视觉引导控制(可选): 使用视觉-语言模型理解和操作手机 GUI
📺 实际演示
查看 DeepAgents-AutoGLM 在真实场景中的实际应用效果:
- 🎨 小红书自动发布演示 - 展示如何使用 Agent 自动搜索内容、生成文案并发布到小红书
- 💬 QQ 未读消息自动回复演示 - 展示如何智能识别并自动回复 QQ 未读消息
🚀 快速开始
基础安装
克隆本项目并安装依赖。
使用 pip 安装:
# 克隆仓库
git clone git@github.com:Illuminated2020/DeepAgents-AutoGLM.git
cd DeepAgents-AutoGLM
# 安装基础依赖
pip install -e .
或使用 uv(推荐):
# 克隆仓库
git clone git@github.com:Illuminated2020/DeepAgents-AutoGLM.git
cd DeepAgents-AutoGLM
# 创建虚拟环境并安装
uv venv
source .venv/bin/activate # Linux/macOS
# 或 .venv\Scripts\activate # Windows
uv pip install -e .
在终端中运行 Agent:
deepagents
获取帮助:
deepagents help
常用选项:
# 使用特定的 Agent 配置
deepagents --agent mybot
# 创建新的 Agent
deepagents create mybot
# 列出所有 Agent
deepagents list
# 自动批准工具使用(跳过人工确认提示)
deepagents --auto-approve
# 在远程沙箱中执行代码(需要配置)
deepagents --sandbox modal # 或 runloop, daytona
deepagents --sandbox-id dbx_123 # 重用现有沙箱
# 管理技能
deepagents skills list # 列出所有技能
deepagents skills create my-skill # 创建新技能
像在聊天界面中一样自然输入。Agent 将使用其内置工具、技能和记忆来帮助您完成任务。
环境变量配置
在项目根目录创建 .env 文件来配置环境变量。您可以复制 .env.example 作为起点:
cp .env.example .env
然后根据需要编辑 .env 文件。以下是各环境变量的说明:
必需配置
| 环境变量 | 说明 | 示例值 |
|---|---|---|
OPENAI_API_KEY | OpenAI API 密钥(或兼容的 API 密钥,支持 OpenAI、DeepSeek、通义千问等) | sk-xxxx |
OPENAI_MODEL | 使用的模型名称 | glm-4.7、deepseek-v3.2、gpt-5 |
可选配置
API 配置:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
OPENAI_BASE_URL | API 基础 URL(使用 OpenAI 官方服务时可不设置;使用其他兼容服务时必须设置) | https://api.deepseek.com/v1 |
LangSmith 追踪(可选):
用于监控和调试 Agent 行为。在 https://smith.langchain.com/ 获取 API 密钥。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
LANGSMITH_TRACING | 是否启用 LangSmith 追踪 | true / false |
LANGSMITH_ENDPOINT | LangSmith API 端点 | https://api.smith.langchain.com |
LANGSMITH_API_KEY | LangSmith API 密钥 | ls_xxxx |
LANGSMITH_PROJECT | LangSmith 项目名称 | deepagents-project |
Tavily 网络搜索(可选):
提供网络搜索能力。在 https://tavily.com/ 获取 API 密钥。
| 环境变量 | 说明 | 示例值 |
|---|---|---|
TAVILY_API_KEY | Tavily API 密钥 | tvly-xxxx |
AutoGLM 配置(可选):
如果不需要使用 Android/iOS 自动化功能,设置 AUTOGLM_ENABLED=false 即可。详细配置请参考下方的 AutoGLM 安装 章节。
| 环境变量 | 说明 | 默认值 |
|---|---|---|
AUTOGLM_ENABLED | 是否启用 AutoGLM 功能 | false |
AUTOGLM_PLATFORM | 控制的平台:android 或 ios | android |
AUTOGLM_LANG | 系统提示词语言:zh 或 en | zh |
AUTOGLM_MAX_STEPS | 自主任务的最大步骤数 | 100 |
AUTOGLM_EXPOSE_LOW_LEVEL_TOOLS | 是否向主 Agent 暴露底层工具 | false |
AUTOGLM_VERBOSE | 是否启用详细日志 | false |
AutoGLM 视觉模型配置(当 AUTOGLM_ENABLED=true 时必需):
| 环境变量 | 说明 | 示例值 |
|---|---|---|
AUTOGLM_VISION_MODEL_URL | 视觉模型 API 基础 URL | 本地:http://localhost:8000/v1智谱 AI: https://open.bigmodel.cn/api/paas/v4 |
AUTOGLM_VISION_MODEL_NAME | 视觉模型名称 | 本地:autoglm-phone-9b智谱 AI: autoglm-phone |
AUTOGLM_VISION_API_KEY | 视觉模型 API 密钥 | 本地:EMPTY智谱 AI:API 密钥 |
AutoGLM Android 设备配置(当 AUTOGLM_PLATFORM=android 时可选):
| 环境变量 | 说明 | 示例值 |
|---|---|---|
AUTOGLM_DEVICE_ID | ADB 设备 ID(留空则自动使用第一个连接的设备) | USB:ABCD1234567890WiFi: 192.168.1.100:5555模拟器: emulator-5554 |
AutoGLM iOS 设备配置(当 AUTOGLM_PLATFORM=ios 时):
| 环境变量 | 说明 | 示例值 |
|---|---|---|
AUTOGLM_WDA_URL | WebDriverAgent URL | http://localhost:8100 |
AUTOGLM_IOS_DEVICE_ID | iOS 设备 UDID(留空则自动使用第一个连接的设备) | 00008030-001234567890001E |
AutoGLM 安装
...