SkillAgentSearch skills...

HusxGLM

An Android GUI Agent powered by Volcano Engine's vision LLM - automate phone operations with natural language commands

Install / Use

/learn @HuSuuuu/HusxGLM
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Open Auto GLM

基于火山引擎豆包大模型的 Android GUI 自动化助手。

项目简介

Open Auto GLM 是一个 Android GUI Agent 应用,利用火山引擎的 doubao-seed-1.6-flash 视觉大模型作为智能中枢,实现"自然语言指挥AI操作手机"的功能。

核心特性

  • 🤖 智能Agent:基于火山引擎豆包大模型,理解屏幕内容并规划操作
  • 📱 屏幕感知:通过 MediaProjection API 实时截取屏幕
  • 精准执行:通过 AccessibilityService 执行点击、滑动、输入等操作
  • 🔐 安全存储:API Key 使用 EncryptedSharedPreferences 加密存储
  • 📊 实时日志:显示AI思考过程和操作执行日志

项目架构

OpenAutoGLM/
├── app/                          # 主应用模块
│   ├── ui/screen/                # UI界面 (Jetpack Compose)
│   │   ├── HomeScreen.kt         # 主界面 - 任务输入和执行
│   │   └── SettingsScreen.kt     # 设置界面 - API Key配置
│   ├── viewmodel/                # ViewModel层
│   │   ├── AgentViewModel.kt     # Agent控制逻辑
│   │   └── SettingsViewModel.kt  # 设置管理
│   └── di/                       # 依赖注入
│
├── core/                         # 核心模块
│   ├── agent/                    # 智能体模块
│   │   ├── VolcanoAgent.kt       # 🔑 核心 - 火山API调用
│   │   ├── ActionParser.kt       # 动作解析器
│   │   └── prompt/               # 系统提示词管理
│   │
│   ├── execution/                # 执行模块
│   │   ├── ActionExecutor.kt     # 🔑 动作执行器
│   │   └── AutomationAccessibilityService.kt  # 无障碍服务
│   │
│   ├── vision/                   # 视觉模块
│   │   ├── ScreenCaptureService.kt  # 截图服务
│   │   └── ScreenCaptureManager.kt  # 截图管理器
│   │
│   └── common/                   # 公共工具
│       ├── CoordinateUtils.kt    # 坐标转换 (借鉴自原项目)
│       └── ImageUtils.kt         # 图像处理
│
└── data/                         # 数据模块
    ├── model/                    # 数据模型
    │   ├── Action.kt             # 操作定义
    │   └── api/                  # API数据模型
    │
    └── repository/               # 数据仓库
        ├── ApiKeyRepository.kt   # API Key加密存储
        └── SettingsRepository.kt # 应用设置

技术栈

| 类别 | 技术 | |------|------| | 语言 | Kotlin | | UI | Jetpack Compose + Material 3 | | 架构 | MVVM + Clean Architecture | | 依赖注入 | Hilt | | 网络 | Retrofit + OkHttp | | 异步 | Kotlin Coroutines + Flow | | 序列化 | Kotlinx Serialization | | 存储 | DataStore + EncryptedSharedPreferences |

借鉴设计

本项目借鉴了 Open-AutoGLM 开源项目的优秀设计:

  1. 归一化坐标系统 (0-1000)

    • 模型输出与屏幕分辨率解耦
    • 支持任意分辨率设备
    • 参见 CoordinateUtils.kt
  2. 动作解析机制

    • 安全的JSON解析(避免eval)
    • 多格式响应兼容
    • 参见 ActionParser.kt
  3. 系统提示词设计

    • 详细的操作指令说明
    • 完善的规则约束
    • 参见 SystemPromptManager.kt
  4. 应用包名映射

    • 50+常用应用预定义
    • 快速启动应用
    • 参见 AppPackages.kt

使用方法

1. 配置 API Key

  1. 前往 火山引擎方舟平台 获取 API Key
  2. 在应用设置中输入 API Key
  3. (可选)配置推理接入点ID

2. 授权权限

  1. 屏幕截图权限:点击"截图"按钮,在弹出的系统对话框中授权
  2. 无障碍服务:点击"无障碍"按钮,在系统设置中开启服务

3. 执行任务

  1. 在任务输入框中输入自然语言指令
    • 例如:"打开微信,给张三发一条消息说你好"
  2. 点击"开始执行"
  3. 观察实时日志,了解AI的思考和操作过程

支持的操作

| 操作 | 说明 | |------|------| | Tap | 点击指定坐标 | | Swipe | 滑动 | | Type | 输入文本 | | Launch | 启动应用 | | Back | 返回 | | Home | 主屏幕 | | Long Press | 长按 | | Double Tap | 双击 | | Wait | 等待 | | Takeover | 请求用户接管 | | Finish | 完成任务 |

编译构建

# 克隆项目
git clone <repository-url>
cd glm

# 使用 Android Studio 打开项目
# 或使用命令行构建
./gradlew assembleDebug

环境要求

  • Android Studio Hedgehog 或更高版本
  • JDK 17
  • Android SDK 35
  • Gradle 8.7+

注意事项

  1. 隐私安全:API Key 加密存储,不会上传到任何服务器
  2. 权限说明
    • 屏幕截图权限仅用于获取当前屏幕内容
    • 无障碍服务仅用于执行自动化操作
  3. 使用限制
    • 请遵守火山引擎的使用条款
    • 不要用于违法或违规用途

许可证

本项目仅供学习研究使用。

致谢

View on GitHub
GitHub Stars32
CategoryDevelopment
Updated15d ago
Forks1

Languages

Kotlin

Security Score

75/100

Audited on Mar 21, 2026

No findings