autoglm-gui 1.4.1__py3-none-any.whl → 1.5.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. AutoGLM_GUI/__init__.py +11 -0
  2. AutoGLM_GUI/__main__.py +26 -4
  3. AutoGLM_GUI/actions/__init__.py +6 -0
  4. phone_agent/actions/handler_ios.py → AutoGLM_GUI/actions/handler.py +30 -112
  5. AutoGLM_GUI/actions/types.py +15 -0
  6. {phone_agent → AutoGLM_GUI}/adb/__init__.py +25 -23
  7. {phone_agent → AutoGLM_GUI}/adb/connection.py +5 -40
  8. {phone_agent → AutoGLM_GUI}/adb/device.py +12 -94
  9. {phone_agent → AutoGLM_GUI}/adb/input.py +6 -47
  10. AutoGLM_GUI/adb/screenshot.py +11 -0
  11. {phone_agent/config → AutoGLM_GUI/adb}/timing.py +1 -1
  12. AutoGLM_GUI/adb_plus/keyboard_installer.py +4 -2
  13. AutoGLM_GUI/adb_plus/screenshot.py +22 -1
  14. AutoGLM_GUI/adb_plus/serial.py +38 -20
  15. AutoGLM_GUI/adb_plus/touch.py +4 -9
  16. AutoGLM_GUI/agents/__init__.py +43 -12
  17. AutoGLM_GUI/agents/events.py +19 -0
  18. AutoGLM_GUI/agents/factory.py +31 -38
  19. AutoGLM_GUI/agents/glm/__init__.py +7 -0
  20. AutoGLM_GUI/agents/glm/agent.py +297 -0
  21. AutoGLM_GUI/agents/glm/message_builder.py +81 -0
  22. AutoGLM_GUI/agents/glm/parser.py +110 -0
  23. {phone_agent/config → AutoGLM_GUI/agents/glm}/prompts_en.py +7 -9
  24. {phone_agent/config → AutoGLM_GUI/agents/glm}/prompts_zh.py +18 -25
  25. AutoGLM_GUI/agents/mai/__init__.py +28 -0
  26. AutoGLM_GUI/agents/mai/agent.py +408 -0
  27. AutoGLM_GUI/agents/mai/parser.py +254 -0
  28. AutoGLM_GUI/agents/mai/prompts.py +103 -0
  29. AutoGLM_GUI/agents/mai/traj_memory.py +91 -0
  30. AutoGLM_GUI/agents/protocols.py +12 -8
  31. AutoGLM_GUI/agents/stream_runner.py +193 -0
  32. AutoGLM_GUI/api/__init__.py +40 -21
  33. AutoGLM_GUI/api/agents.py +181 -239
  34. AutoGLM_GUI/api/control.py +9 -6
  35. AutoGLM_GUI/api/devices.py +102 -12
  36. AutoGLM_GUI/api/history.py +104 -0
  37. AutoGLM_GUI/api/layered_agent.py +67 -15
  38. AutoGLM_GUI/api/media.py +64 -1
  39. AutoGLM_GUI/api/scheduled_tasks.py +98 -0
  40. AutoGLM_GUI/config.py +81 -0
  41. AutoGLM_GUI/config_manager.py +68 -51
  42. AutoGLM_GUI/device_manager.py +248 -29
  43. AutoGLM_GUI/device_protocol.py +1 -1
  44. AutoGLM_GUI/devices/adb_device.py +5 -10
  45. AutoGLM_GUI/devices/mock_device.py +4 -2
  46. AutoGLM_GUI/devices/remote_device.py +8 -3
  47. AutoGLM_GUI/history_manager.py +164 -0
  48. AutoGLM_GUI/model/__init__.py +5 -0
  49. AutoGLM_GUI/model/message_builder.py +69 -0
  50. AutoGLM_GUI/model/types.py +24 -0
  51. AutoGLM_GUI/models/__init__.py +10 -0
  52. AutoGLM_GUI/models/history.py +140 -0
  53. AutoGLM_GUI/models/scheduled_task.py +71 -0
  54. AutoGLM_GUI/parsers/__init__.py +22 -0
  55. AutoGLM_GUI/parsers/base.py +50 -0
  56. AutoGLM_GUI/parsers/phone_parser.py +58 -0
  57. AutoGLM_GUI/phone_agent_manager.py +62 -396
  58. AutoGLM_GUI/platform_utils.py +26 -0
  59. AutoGLM_GUI/prompt_config.py +15 -0
  60. AutoGLM_GUI/prompts/__init__.py +32 -0
  61. AutoGLM_GUI/scheduler_manager.py +350 -0
  62. AutoGLM_GUI/schemas.py +246 -72
  63. AutoGLM_GUI/scrcpy_stream.py +142 -24
  64. AutoGLM_GUI/socketio_server.py +100 -27
  65. AutoGLM_GUI/static/assets/{about-_XNhzQZX.js → about-CfwX1Cmc.js} +1 -1
  66. AutoGLM_GUI/static/assets/alert-dialog-CtGlN2IJ.js +1 -0
  67. AutoGLM_GUI/static/assets/chat-BYa-foUI.js +129 -0
  68. AutoGLM_GUI/static/assets/circle-alert-t08bEMPO.js +1 -0
  69. AutoGLM_GUI/static/assets/dialog-FNwZJFwk.js +45 -0
  70. AutoGLM_GUI/static/assets/eye-D0UPWCWC.js +1 -0
  71. AutoGLM_GUI/static/assets/history-CRo95B7i.js +1 -0
  72. AutoGLM_GUI/static/assets/{index-Cy8TmmHV.js → index-BaLMSqd3.js} +1 -1
  73. AutoGLM_GUI/static/assets/index-CTHbFvKl.js +11 -0
  74. AutoGLM_GUI/static/assets/index-CV7jGxGm.css +1 -0
  75. AutoGLM_GUI/static/assets/label-DJFevVmr.js +1 -0
  76. AutoGLM_GUI/static/assets/logs-RW09DyYY.js +1 -0
  77. AutoGLM_GUI/static/assets/popover--JTJrE5v.js +1 -0
  78. AutoGLM_GUI/static/assets/scheduled-tasks-DTRKsQXF.js +1 -0
  79. AutoGLM_GUI/static/assets/square-pen-CPK_K680.js +1 -0
  80. AutoGLM_GUI/static/assets/textarea-PRmVnWq5.js +1 -0
  81. AutoGLM_GUI/static/assets/workflows-CdcsAoaT.js +1 -0
  82. AutoGLM_GUI/static/index.html +2 -2
  83. AutoGLM_GUI/types.py +17 -0
  84. {autoglm_gui-1.4.1.dist-info → autoglm_gui-1.5.1.dist-info}/METADATA +179 -130
  85. autoglm_gui-1.5.1.dist-info/RECORD +118 -0
  86. AutoGLM_GUI/agents/mai_adapter.py +0 -627
  87. AutoGLM_GUI/api/dual_model.py +0 -317
  88. AutoGLM_GUI/device_adapter.py +0 -263
  89. AutoGLM_GUI/dual_model/__init__.py +0 -53
  90. AutoGLM_GUI/dual_model/decision_model.py +0 -664
  91. AutoGLM_GUI/dual_model/dual_agent.py +0 -917
  92. AutoGLM_GUI/dual_model/protocols.py +0 -354
  93. AutoGLM_GUI/dual_model/vision_model.py +0 -442
  94. AutoGLM_GUI/mai_ui_adapter/agent_wrapper.py +0 -291
  95. AutoGLM_GUI/phone_agent_patches.py +0 -147
  96. AutoGLM_GUI/static/assets/chat-DwJpiAWf.js +0 -126
  97. AutoGLM_GUI/static/assets/dialog-B3uW4T8V.js +0 -45
  98. AutoGLM_GUI/static/assets/index-Cpv2gSF1.css +0 -1
  99. AutoGLM_GUI/static/assets/index-UYYauTly.js +0 -12
  100. AutoGLM_GUI/static/assets/workflows-Du_de-dt.js +0 -1
  101. autoglm_gui-1.4.1.dist-info/RECORD +0 -117
  102. mai_agent/base.py +0 -137
  103. mai_agent/mai_grounding_agent.py +0 -263
  104. mai_agent/mai_naivigation_agent.py +0 -526
  105. mai_agent/prompt.py +0 -148
  106. mai_agent/unified_memory.py +0 -67
  107. mai_agent/utils.py +0 -73
  108. phone_agent/__init__.py +0 -12
  109. phone_agent/actions/__init__.py +0 -5
  110. phone_agent/actions/handler.py +0 -400
  111. phone_agent/adb/screenshot.py +0 -108
  112. phone_agent/agent.py +0 -253
  113. phone_agent/agent_ios.py +0 -277
  114. phone_agent/config/__init__.py +0 -53
  115. phone_agent/config/apps_harmonyos.py +0 -256
  116. phone_agent/config/apps_ios.py +0 -339
  117. phone_agent/config/prompts.py +0 -80
  118. phone_agent/device_factory.py +0 -166
  119. phone_agent/hdc/__init__.py +0 -53
  120. phone_agent/hdc/connection.py +0 -384
  121. phone_agent/hdc/device.py +0 -269
  122. phone_agent/hdc/input.py +0 -145
  123. phone_agent/hdc/screenshot.py +0 -127
  124. phone_agent/model/__init__.py +0 -5
  125. phone_agent/model/client.py +0 -290
  126. phone_agent/xctest/__init__.py +0 -47
  127. phone_agent/xctest/connection.py +0 -379
  128. phone_agent/xctest/device.py +0 -472
  129. phone_agent/xctest/input.py +0 -311
  130. phone_agent/xctest/screenshot.py +0 -226
  131. {phone_agent/config → AutoGLM_GUI/adb}/apps.py +0 -0
  132. {phone_agent/config → AutoGLM_GUI}/i18n.py +0 -0
  133. {autoglm_gui-1.4.1.dist-info → autoglm_gui-1.5.1.dist-info}/WHEEL +0 -0
  134. {autoglm_gui-1.4.1.dist-info → autoglm_gui-1.5.1.dist-info}/entry_points.txt +0 -0
  135. {autoglm_gui-1.4.1.dist-info → autoglm_gui-1.5.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,18 +1,18 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autoglm-gui
3
- Version: 1.4.1
3
+ Version: 1.5.1
4
4
  Summary: Web GUI for AutoGLM Phone Agent - AI-powered Android automation
5
5
  Project-URL: Homepage, https://github.com/suyiiyii/AutoGLM-GUI
6
6
  Project-URL: Repository, https://github.com/suyiiyii/AutoGLM-GUI
7
7
  Author: suyiiyii
8
- License-Expression: MIT
8
+ License-Expression: Apache-2.0
9
9
  License-File: LICENSE
10
10
  Keywords: ai,android,autoglm,automation,gui,phone-agent
11
11
  Classifier: Development Status :: 3 - Alpha
12
12
  Classifier: Environment :: Web Environment
13
13
  Classifier: Framework :: FastAPI
14
14
  Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
16
  Classifier: Operating System :: OS Independent
17
17
  Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3.10
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
22
  Requires-Python: >=3.10
23
+ Requires-Dist: apscheduler<4.0.0,>=3.10.0
23
24
  Requires-Dist: fastapi>=0.124.0
24
25
  Requires-Dist: fastmcp>=2.0.0
25
26
  Requires-Dist: httpx[socks]>=0.28.1
@@ -44,7 +45,7 @@ Description-Content-Type: text/markdown
44
45
 
45
46
  AutoGLM 手机助手的现代化 Web 图形界面 - 让 AI 自动化操作 Android 设备变得简单
46
47
 
47
- **🎉 双模型协作架构现已上线!决策大模型 + 视觉小模型,智能任务规划与精准执行分离,性能提升 60%!🎉**
48
+ **🆕 分层代理模式**:基于决策模型和视觉模型的双层协作架构,支持复杂任务规划与精准执行分离,适合需要多轮推理的高级任务。
48
49
 
49
50
  ![Python](https://img.shields.io/badge/python-3.10+-blue.svg)
50
51
  ![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)
@@ -60,7 +61,7 @@ AutoGLM 手机助手的现代化 Web 图形界面 - 让 AI 自动化操作 Andro
60
61
 
61
62
  ## ✨ 特性
62
63
 
63
- - **🧠 双模型协作** - 🆕 决策大模型 + 视觉小模型协作架构,智能任务规划与精准执行分离,支持三种工作模式(DEEP/FAST/TURBO)
64
+ - **分层代理模式** - 🆕 决策模型 + 视觉模型双层协作架构,支持复杂任务规划与精准执行分离
64
65
  - **完全无线配对** - 🆕 支持 Android 11+ 二维码扫码配对,无需数据线即可连接设备
65
66
  - **多设备并发控制** - 同时管理和控制多个 Android 设备,设备间状态完全隔离
66
67
  - **对话式任务管理** - 通过聊天界面控制 Android 设备
@@ -109,19 +110,7 @@ uvx autoglm-gui
109
110
 
110
111
  ## 📸 界面预览
111
112
 
112
- 快速跳转: [普通模式](#mode-classic) · [双模型协作(增强)](#mode-dual) · [分层代理(增强)](#mode-layered)
113
-
114
- ### 双模型协作架构
115
-
116
- **决策大模型(如 GLM-4.7)+ 视觉小模型(AutoGLM-Phone)**:大模型负责规划与纠错,小模型负责观察与执行,适合更复杂、更长流程的任务。
117
-
118
- - 🧠 **决策层**:任务理解 / 步骤规划 / 异常纠错
119
- - 👁️ **执行层**:识别界面元素并点击/滑动/输入完成操作
120
- - 🔄 **运行方式**:规划 → 执行 → 反馈;必要时自动重规划
121
-
122
- **模式选择(Thinking Mode)**:TURBO(更省更快,推荐常规流程)/ DEEP(更稳,适合复杂任务)/ FAST(更快,适合轻量任务)。
123
-
124
- <img width="879" height="849" alt="双模型协作界面" src="https://github.com/user-attachments/assets/15e5cf51-5a19-403d-9af3-46f77c2068f5" />
113
+ 快速跳转: [普通模式](#mode-classic) · [分层代理(增强)](#mode-layered)
125
114
 
126
115
  ### 分层代理
127
116
 
@@ -141,49 +130,16 @@ uvx autoglm-gui
141
130
 
142
131
  ## 🚀 快速开始
143
132
 
144
- ## 🎯 模型服务配置
145
-
146
- AutoGLM-GUI 只需要一个 OpenAI 兼容的模型服务。你可以:
147
-
148
- - 使用官方已托管的第三方服务
149
- - 智谱 BigModel:`--base-url https://open.bigmodel.cn/api/paas/v4`,`--model autoglm-phone`,`--apikey <你的 API Key>`
150
- - ModelScope:`--base-url https://api-inference.modelscope.cn/v1`,`--model ZhipuAI/AutoGLM-Phone-9B`,`--apikey <你的 API Key>`
151
- - 或自建服务:参考上游项目的[部署文档](https://github.com/zai-org/Open-AutoGLM/blob/main/README.md)用 vLLM/SGLang 部署 `zai-org/AutoGLM-Phone-9B`,启动 OpenAI 兼容端口后将 `--base-url` 指向你的服务。
152
-
153
- 示例:
154
-
155
- ```bash
156
- # 使用智谱 BigModel
157
- pip install autoglm-gui
158
- autoglm-gui \
159
- --base-url https://open.bigmodel.cn/api/paas/v4 \
160
- --model autoglm-phone \
161
- --apikey sk-xxxxx
162
-
163
- # 使用 ModelScope
164
- pip install autoglm-gui
165
- autoglm-gui \
166
- --base-url https://api-inference.modelscope.cn/v1 \
167
- --model ZhipuAI/AutoGLM-Phone-9B \
168
- --apikey sk-xxxxx
169
-
170
- # 指向你自建的 vLLM/SGLang 服务
171
- pip install autoglm-gui
172
- autoglm-gui --base-url http://localhost:8000/v1 --model autoglm-phone-9b
173
- ```
174
-
175
133
  ### 前置要求
176
134
 
177
- - Python 3.10+
178
135
  - Android 设备(Android 11+ 支持完全无线配对,无需数据线)
179
- - 已安装 ADB 并添加到系统 PATH(桌面版已内置)
180
- - 一个 OpenAI 兼容的 API 端点
136
+ - 一个 OpenAI 兼容的 API 端点(支持智谱 BigModel、ModelScope 或自建服务)
181
137
 
182
138
  **关于设备连接**:
183
139
  - **Android 11+**:支持二维码扫码配对,完全无需数据线即可连接和控制设备
184
140
  - **Android 10 及更低版本**:需要先通过 USB 数据线连接并开启无线调试,之后可拔掉数据线无线使用
185
141
 
186
- ### 快捷运行(推荐)
142
+ ### 方式一:Python 包安装(推荐)
187
143
 
188
144
  **无需手动准备环境,直接安装运行:**
189
145
 
@@ -199,23 +155,86 @@ autoglm-gui --base-url http://localhost:8080/v1
199
155
  uvx autoglm-gui --base-url http://localhost:8080/v1
200
156
  ```
201
157
 
202
- ### 传统安装
158
+ ### 方式二:Docker 部署
159
+
160
+ AutoGLM-GUI 提供预构建的 Docker 镜像,支持 `linux/amd64` 和 `linux/arm64` 架构,适合服务器端远程控制 Android 设备的场景。
161
+
162
+ **使用 docker-compose(推荐):**
203
163
 
204
164
  ```bash
205
- # 从源码安装
206
- git clone https://github.com/your-repo/AutoGLM-GUI.git
207
- cd AutoGLM-GUI
208
- uv sync
165
+ # 1. 下载 docker-compose.yml
166
+ curl -O https://raw.githubusercontent.com/suyiiyii/AutoGLM-GUI/main/docker-compose.yml
209
167
 
210
- # 构建前端(必须)
211
- uv run python scripts/build.py
168
+ # 2. 启动服务
169
+ docker-compose up -d
212
170
 
213
- # 启动服务
214
- uv run autoglm-gui --base-url http://localhost:8080/v1
171
+ # 3. 访问 http://localhost:8000,在 Web 界面中配置模型 API
215
172
  ```
216
173
 
174
+ **或直接使用 docker run:**
175
+
176
+ ```bash
177
+ # 使用 host 网络模式运行(推荐)
178
+ docker run -d --network host \
179
+ -v autoglm_config:/root/.config/autoglm \
180
+ -v autoglm_logs:/app/logs \
181
+ ghcr.io/suyiiyii/autoglm-gui:main
182
+
183
+ # 访问 http://localhost:8000,在 Web 界面中配置模型 API
184
+ ```
185
+
186
+ **配置说明**:
187
+ - 默认使用 host 网络模式(推荐,便于 ADB 设备发现和二维码配对)
188
+ - 模型 API 配置可以在 Web 界面的设置页面中完成,无需提前配置环境变量
189
+ - 如果需要在启动时预配置,可以编辑 `docker-compose.yml` 取消注释 `environment` 部分
190
+
191
+ **连接远程设备**:
192
+
193
+ Docker 容器中连接 Android 设备推荐使用 **WiFi 调试**:
194
+
195
+ 1. 在 Android 设备上开启「开发者选项」→「无线调试」
196
+ 2. 记录设备的 IP 地址和端口号
197
+ 3. 在 Web 界面点击「添加无线设备」→ 输入 IP:端口 → 连接
198
+
199
+ > ⚠️ **注意**:二维码配对功能依赖 mDNS 多播,在 Docker bridge 网络中可能受限。**强烈建议使用 `--network host` 模式**以获得完整功能支持。
200
+
201
+ **更多 Docker 配置选项**,请参见下方的 [Docker 部署详细说明](#-docker-部署详细说明)。
202
+
203
+ ---
204
+
217
205
  启动后,在浏览器中打开 http://localhost:8000 即可开始使用!
218
206
 
207
+ ### 🎯 模型服务配置
208
+
209
+ AutoGLM-GUI 只需要一个 OpenAI 兼容的模型服务。你可以:
210
+
211
+ - 使用官方已托管的第三方服务
212
+ - 智谱 BigModel:`--base-url https://open.bigmodel.cn/api/paas/v4`,`--model autoglm-phone`,`--apikey <你的 API Key>`
213
+ - ModelScope:`--base-url https://api-inference.modelscope.cn/v1`,`--model ZhipuAI/AutoGLM-Phone-9B`,`--apikey <你的 API Key>`
214
+ - 或自建服务:参考上游项目的[部署文档](https://github.com/zai-org/Open-AutoGLM/blob/main/README.md)用 vLLM/SGLang 部署 `zai-org/AutoGLM-Phone-9B`,启动 OpenAI 兼容端口后将 `--base-url` 指向你的服务。
215
+
216
+ 示例:
217
+
218
+ ```bash
219
+ # 使用智谱 BigModel
220
+ pip install autoglm-gui
221
+ autoglm-gui \
222
+ --base-url https://open.bigmodel.cn/api/paas/v4 \
223
+ --model autoglm-phone \
224
+ --apikey sk-xxxxx
225
+
226
+ # 使用 ModelScope
227
+ pip install autoglm-gui
228
+ autoglm-gui \
229
+ --base-url https://api-inference.modelscope.cn/v1 \
230
+ --model ZhipuAI/AutoGLM-Phone-9B \
231
+ --apikey sk-xxxxx
232
+
233
+ # 指向你自建的 vLLM/SGLang 服务
234
+ pip install autoglm-gui
235
+ autoglm-gui --base-url http://localhost:8000/v1 --model autoglm-phone-9b
236
+ ```
237
+
219
238
  ## 🔄 升级指南
220
239
 
221
240
  ### 检查当前版本
@@ -290,11 +309,19 @@ AutoGLM-GUI 支持同时控制多个 Android 设备:
290
309
  在初始化设备时,可以选择不同的 Agent 类型(默认:GLM Agent):
291
310
 
292
311
  - **GLM Agent**:基于 GLM 模型优化,成熟稳定,适合大多数任务
293
- - **MAI Agent**:阿里通义团队开发的 Mobile Agent,支持多张历史截图上下文,适合复杂任务
312
+ - **MAI Agent**:**内部实现**的 Mobile Agent,支持多张历史截图上下文,适合复杂任务
313
+ - 🆕 **现已完全内部化**:移除 ~1200 行第三方依赖,性能优化,中文适配
314
+ - 🔄 **向后兼容**:需要使用旧版本可选择 `mai_legacy` 类型
294
315
 
295
316
  MAI Agent 可配置参数:
296
317
  - `history_n`:历史截图数量(1-10,默认:3)
297
318
 
319
+ **MAI Agent 增强特性**(v1.5.0+):
320
+ - ✅ 流式思考输出(实时显示推理过程)
321
+ - ✅ 中文优化 Prompt(针对国内应用场景)
322
+ - ✅ 性能监控(LLM 耗时、动作执行统计)
323
+ - ✅ 详细的操作指南和错误避免提示
324
+
298
325
  <a id="mode-classic"></a>
299
326
  ### 🌿 普通模式(单模型 / Open AutoGLM)
300
327
 
@@ -303,22 +330,6 @@ MAI Agent 可配置参数:
303
330
  - **优点**:配置最简单,上手最快
304
331
  - **适用场景**:目标明确、步骤较少的任务(例如打开应用、简单导航)
305
332
 
306
- <a id="mode-dual"></a>
307
- ### 🧠 双模型协作模式(增强)
308
-
309
- 双模型模式通过**决策大模型(负责规划/纠错)** + **视觉小模型(负责观察/操作)**协作,提升复杂任务的稳定性与可控性。
310
-
311
- #### 工作模式(Thinking Mode)
312
-
313
- - **🚀 TURBO(推荐)**:大模型先生成“操作序列”,视觉模型批量执行;仅在异常时触发重规划(通常 1-2 次大模型调用)
314
- - **🎯 DEEP**:每一步都调用大模型做决策与分析,最稳但成本/耗时更高
315
- - **⚡ FAST**:同样逐步决策,但提示词更短、响应更快,适合轻量任务
316
-
317
- #### 配置要点
318
-
319
- - **决策大模型**:建议使用推理/规划能力较强的模型(如 GLM-4.7、GPT-4、Claude 等)
320
- - **视觉小模型**:建议使用具备 GUI 观察与操作能力的模型(如 AutoGLM-Phone-9B / `autoglm-phone`)
321
-
322
333
  <a id="mode-layered"></a>
323
334
  ### 🧩 分层代理模式(Layered Agent,增强 / 实验性)
324
335
 
@@ -329,21 +340,16 @@ MAI Agent 可配置参数:
329
340
  - **适用场景**:需要多轮推理、需要“边看边问边改计划”的复杂任务(例如浏览/筛选/对比、多轮表单填写等)
330
341
  - **重要限制**:执行层不负责“记笔记/保存中间信息/直接提取文本变量”;规划层需要信息时必须通过提问让执行层把屏幕内容“念出来”
331
342
 
332
- ### 🎭 三种工作模式对比
343
+ ### 🎭 两种工作模式对比
333
344
 
334
- AutoGLM-GUI 提供了三种不同的代理工作模式,适用于不同的使用场景:
345
+ AutoGLM-GUI 提供了两种不同的代理工作模式,适用于不同的使用场景:
335
346
 
336
347
  #### 1️⃣ 经典模式(Classic Mode)
337
348
  - **架构**:单一 `autoglm-phone` 视觉模型直接处理(即普通 Open AutoGLM 的体验)
338
349
  - **适用场景**:简单、明确的任务
339
350
  - **特点**:配置简单,适合快速上手
340
351
 
341
- #### 2️⃣ 双模型协作(Dual Model
342
- - **架构**:决策大模型(GLM-4.7/GPT-4)+ 视觉小模型(autoglm-phone)
343
- - **适用场景**:需要智能规划的中高复杂度任务
344
- - **特点**:支持 TURBO/DEEP/FAST 三种思考模式,在成本、速度与稳定性之间做权衡
345
-
346
- #### 3️⃣ 分层代理(Layered Agent)🆕 实验性功能
352
+ #### 2️⃣ 分层代理(Layered Agent
347
353
  - **架构**:基于 Agent SDK 的分层任务执行系统
348
354
  - **规划层**:决策模型作为高级智能中枢,负责任务拆解和多轮推理
349
355
  - **执行层**:autoglm-phone 作为执行者,只负责观察和操作
@@ -351,13 +357,9 @@ AutoGLM-GUI 提供了三种不同的代理工作模式,适用于不同的使
351
357
  - **特点**:规划层通过工具调用驱动执行层,过程更透明、更便于调试与迭代策略
352
358
 
353
359
  **选择建议**:
354
- - 🚀 **常规任务(订外卖、打车)**:双模型 TURBO 模式
355
- - 🎯 **复杂任务(浏览并评论帖子)**:双模型 DEEP 模式
360
+ - 🚀 **常规任务(订外卖、打车)**:经典模式
356
361
  - 🏗️ **需要多轮推理的任务**:分层代理模式
357
362
 
358
- > 💬 **我们需要你的反馈!**
359
- > 不同的任务场景适合不同的模式,我们正在持续优化这些模式的性能和易用性。如果你在使用过程中有任何建议、遇到问题或发现某个模式特别好用/不好用,欢迎通过 [GitHub Issues](https://github.com/suyiiyii/AutoGLM-GUI/issues) 或 [QQ 交流群](https://qm.qq.com/q/J5eAs9tn0W) 告诉我们。你的反馈将帮助我们改进产品!
360
-
361
363
  ### 手动控制模式
362
364
 
363
365
  除了 AI 自动化,你也可以直接在实时画面上操控手机:
@@ -407,6 +409,25 @@ AutoGLM-GUI 提供了三种不同的代理工作模式,适用于不同的使
407
409
 
408
410
  ## 🛠️ 开发指南
409
411
 
412
+ ### 源码安装
413
+
414
+ 如果你需要从源码进行开发或定制,可以按照以下步骤:
415
+
416
+ ```bash
417
+ # 1. 克隆仓库
418
+ git clone https://github.com/suyiiyii/AutoGLM-GUI.git
419
+ cd AutoGLM-GUI
420
+
421
+ # 2. 安装依赖
422
+ uv sync
423
+
424
+ # 3. 构建前端(必须)
425
+ uv run python scripts/build.py
426
+
427
+ # 4. 启动服务
428
+ uv run autoglm-gui --base-url http://localhost:8080/v1
429
+ ```
430
+
410
431
  ### 快速开发
411
432
 
412
433
  ```bash
@@ -427,46 +448,42 @@ uv run python scripts/build.py
427
448
  uv run python scripts/build.py --pack
428
449
  ```
429
450
 
430
- ## 🐳 Docker 部署
431
-
432
- AutoGLM-GUI 支持 Docker 容器化部署,适合服务器端远程控制 Android 设备的场景。
451
+ ## 🐳 Docker 部署详细说明
433
452
 
434
- ### 快速启动
453
+ > 💡 **提示**:Docker 部署已整合到 [快速开始](#-快速开始) 部分,推荐直接查看上方的"方式二:Docker 部署"说明。
435
454
 
436
- ```bash
437
- # 1. 克隆仓库
438
- git clone https://github.com/suyiiyii/AutoGLM-GUI.git
439
- cd AutoGLM-GUI
455
+ 本节提供更多 Docker 配置选项和高级用法。
440
456
 
441
- # 2. 创建环境变量文件
442
- cat > .env << EOF
443
- AUTOGLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4
444
- AUTOGLM_MODEL_NAME=autoglm-phone
445
- AUTOGLM_API_KEY=sk-your-api-key
446
- EOF
457
+ ### 指定监听端口
447
458
 
448
- # 3. 启动容器
449
- docker-compose up -d
459
+ 如果使用 host 网络模式且需要修改默认端口(8000),可以通过 `command` 参数指定:
450
460
 
451
- # 4. 访问 http://localhost:8000
461
+ ```bash
462
+ # 监听 9000 端口
463
+ docker run -d --network host \
464
+ -v autoglm_config:/root/.config/autoglm \
465
+ -v autoglm_logs:/app/logs \
466
+ ghcr.io/suyiiyii/autoglm-gui:main \
467
+ autoglm-gui --host 0.0.0.0 --port 9000 --no-browser
452
468
  ```
453
469
 
454
- ### 手动构建
470
+ 如果使用 bridge 网络模式,则使用 `-p` 参数映射端口:
455
471
 
456
472
  ```bash
457
- # 构建镜像
458
- docker build -t autoglm-gui:latest .
459
-
460
- # 运行容器 (Linux 推荐 host 网络)
461
- docker run -d --network host \
462
- -e AUTOGLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4 \
463
- -e AUTOGLM_MODEL_NAME=autoglm-phone \
464
- -e AUTOGLM_API_KEY=sk-xxx \
473
+ # 映射主机 9000 端口到容器 8000 端口
474
+ docker run -d -p 9000:8000 \
465
475
  -v autoglm_config:/root/.config/autoglm \
466
476
  -v autoglm_logs:/app/logs \
467
- autoglm-gui:latest
477
+ ghcr.io/suyiiyii/autoglm-gui:main
468
478
  ```
469
479
 
480
+ ### 镜像标签
481
+
482
+ | 标签 | 说明 |
483
+ |------|------|
484
+ | `main` | 跟随 main 分支最新代码,推荐使用 |
485
+ | `<commit-sha>` | 特定 commit 的镜像(如 `abc1234`),用于锁定版本 |
486
+
470
487
  ### 环境变量
471
488
 
472
489
  | 变量 | 说明 | 默认值 |
@@ -475,16 +492,6 @@ docker run -d --network host \
475
492
  | `AUTOGLM_MODEL_NAME` | 模型名称 | `autoglm-phone` |
476
493
  | `AUTOGLM_API_KEY` | API 密钥 | (必填) |
477
494
 
478
- ### 连接远程设备
479
-
480
- Docker 容器中连接 Android 设备推荐使用 **WiFi 调试**:
481
-
482
- 1. 在 Android 设备上开启「开发者选项」→「无线调试」
483
- 2. 记录设备的 IP 地址和端口号
484
- 3. 在 Web 界面点击「添加无线设备」→ 输入 IP:端口 → 连接
485
-
486
- > ⚠️ **注意**:二维码配对功能在 Docker bridge 网络中可能受限(依赖 mDNS 多播)。Linux 系统建议使用 `network_mode: host`。
487
-
488
495
  ### 健康检查
489
496
 
490
497
  ```bash
@@ -492,6 +499,48 @@ Docker 容器中连接 Android 设备推荐使用 **WiFi 调试**:
492
499
  curl http://localhost:8000/api/health
493
500
  ```
494
501
 
502
+ ## 🤝 如何贡献
503
+
504
+ 我们热烈欢迎社区贡献!无论是修复 bug、添加新功能、改进文档,还是分享使用经验,都对项目有重要价值。
505
+
506
+ ### 🎯 快速开始贡献
507
+
508
+ 1. **查看置顶 Issue** - [🎯 Start Here: 如何贡献 / 认领任务 / 本地跑起来](https://github.com/suyiiyii/AutoGLM-GUI/issues/170)
509
+ 2. **阅读贡献指南** - 详细步骤请参考 [CONTRIBUTING.md](./CONTRIBUTING.md)
510
+ 3. **认领任务** - 在感兴趣的 Issue 下评论 `/assign me`
511
+
512
+ ### 💡 贡献方式
513
+
514
+ - 🐛 **修复 Bug** - 查找标记为 `bug` 的 Issue
515
+ - ✨ **添加功能** - 实现标记为 `enhancement` 的需求
516
+ - 📖 **改进文档** - 修正错误、补充说明、添加示例
517
+ - 🧪 **添加测试** - 提升代码质量和测试覆盖率
518
+ - 🌍 **翻译文档** - 帮助更多语言的用户使用
519
+
520
+ ### 🏷️ 新手友好任务
521
+
522
+ 如果你是第一次贡献开源项目,可以从这些任务开始:
523
+
524
+ - 查找标记为 [`good first issue`](https://github.com/suyiiyii/AutoGLM-GUI/labels/good%20first%20issue) 的 Issue
525
+ - 改进文档(修正拼写错误、补充说明)
526
+ - 测试软件并报告使用体验
527
+
528
+ ### 📚 参考资源
529
+
530
+ | 文档 | 说明 |
531
+ |------|------|
532
+ | [CONTRIBUTING.md](./CONTRIBUTING.md) | 完整的贡献指南(环境配置、开发流程、PR 规范) |
533
+ | [CLAUDE.md](./CLAUDE.md) | 技术架构文档(代码结构、关键实现细节) |
534
+ | [Issues](https://github.com/suyiiyii/AutoGLM-GUI/issues) | 查看和认领任务 |
535
+
536
+ ### 💬 交流讨论
537
+
538
+ - 💭 在 Issue 中讨论想法和问题
539
+ - 🎮 加入 [QQ 交流群](https://qm.qq.com/q/J5eAs9tn0W)
540
+ - 📝 [创建新 Issue](https://github.com/suyiiyii/AutoGLM-GUI/issues/new/choose) 报告问题或提出建议
541
+
542
+ 感谢每一位贡献者,你们让 AutoGLM-GUI 变得更好!🎉
543
+
495
544
  ## 📝 开源协议
496
545
 
497
546
  Apache License 2.0
@@ -499,7 +548,7 @@ Apache License 2.0
499
548
 
500
549
  ### 许可证说明
501
550
 
502
- AutoGLM-GUI 打包了 ADB Keyboard APK (`com.android.adbkeyboard`),该组件使用 GPL-2.0 许可证。ADB Keyboard 组件作为独立工具使用,不影响 AutoGLM-GUI 本身的 MIT 许可。
551
+ AutoGLM-GUI 打包了 ADB Keyboard APK (`com.android.adbkeyboard`),该组件使用 GPL-2.0 许可证。ADB Keyboard 组件作为独立工具使用,不影响 AutoGLM-GUI 本身的 Apache 2.0 许可。
503
552
 
504
553
  详见:`AutoGLM_GUI/resources/apks/ADBKeyBoard.LICENSE.txt`
505
554
 
@@ -0,0 +1,118 @@
1
+ AutoGLM_GUI/__init__.py,sha256=XHKVEKeLm9LLoM5Otd_9Sk1ald7GxGIvIvjQlCpQTCc,2387
2
+ AutoGLM_GUI/__main__.py,sha256=liPZEFLCuhshCCodW_ldn0A63-i_gXy29TLIuDhuWvQ,6920
3
+ AutoGLM_GUI/config.py,sha256=OrjhbjcaZWBRLiLTzmknm6pONglDXjfoZngQd8jU9bk,2286
4
+ AutoGLM_GUI/config_manager.py,sha256=WZEa8p2iXIg1CneuquKh-EemdQL1uiPoz_I7yWPY99A,24312
5
+ AutoGLM_GUI/device_manager.py,sha256=QvxTjXvnVz_BhJAIfNColsXkw6YUQkf1yiC1An8u7kU,35293
6
+ AutoGLM_GUI/device_protocol.py,sha256=T3JctpggGekkYDeNXiPj_PoINPg8yFqalTx8Lk9w-9A,6944
7
+ AutoGLM_GUI/exceptions.py,sha256=QXTQzxdbEHDUrtaD1G4zuKZydFJO5ymNvuo8ZvVjUdA,3487
8
+ AutoGLM_GUI/history_manager.py,sha256=wbndRk2fnuY5n2bcsfbt2HEa_1N9AcnSC1xAn1VMgcA,6347
9
+ AutoGLM_GUI/i18n.py,sha256=-x8yD5ywyK7xwjoI-pOYqPlSeId_W9KkVjmKayr36m0,2501
10
+ AutoGLM_GUI/logger.py,sha256=wLzjbRqsHAsOtI9yB0bcUZFVzgGK6qM8330std6FjVw,2553
11
+ AutoGLM_GUI/metrics.py,sha256=L72hzMNzw1eemQLz6Hoth5sRW6OQlI4Np5BIFSFwl1c,8994
12
+ AutoGLM_GUI/phone_agent_manager.py,sha256=Bcz--lMTjLFzB2wX8teOm7CAyjcB7h_1E2eVkh3qogQ,19798
13
+ AutoGLM_GUI/platform_utils.py,sha256=tsZ-H6Lsgz3aceWQ3GVBmO4lgKBEyD5l-fYyXU7nPU4,3356
14
+ AutoGLM_GUI/prompt_config.py,sha256=3eNEDdlrk8rvuqakQTiVrGEmFFH5X-UdV-9yUibCSsI,336
15
+ AutoGLM_GUI/prompts.py,sha256=lC5UktW0KRpWKij6T0GG1OrNKV9gAfM6dUcp_tjX7mo,4814
16
+ AutoGLM_GUI/scheduler_manager.py,sha256=K7Y6j0omuuHgrJZJ780ck7ldLrosRzWmTBz-SYU3Hqg,11884
17
+ AutoGLM_GUI/schemas.py,sha256=m5dg3gjeu2GZT1IInAr0oyp4CCoyL8cUqX2KXlGlaqQ,21559
18
+ AutoGLM_GUI/scrcpy_protocol.py,sha256=h6AtAGq3zMM30FWM7EYiYKJz7BDikpNCOjcKtFcRx3s,997
19
+ AutoGLM_GUI/scrcpy_stream.py,sha256=cI30cOnDeAgaWZhHdkbAvQvuWovA3FVC8IatyrSspeE,21376
20
+ AutoGLM_GUI/server.py,sha256=Fo2Afl6CFT5B6MBggvR0n_savNxqxW22bFdN51NXRJs,299
21
+ AutoGLM_GUI/socketio_server.py,sha256=Y_B3lKXCv9rDs8IbbKUCGoA2eldZ1pr6_qK1Gh99XOQ,6532
22
+ AutoGLM_GUI/state.py,sha256=qGnqZKdWFDpegVBLB4KHDbzfAVWc89C0AiCum_R9LSk,912
23
+ AutoGLM_GUI/types.py,sha256=FY-M0VWK0CyiLhV1gL1aqY872zdftlkHiJPLEORk4ug,2927
24
+ AutoGLM_GUI/version.py,sha256=z0MPXu-k9UO7RXxVGcAwim2M3yklrRqLwgOq66zSdzo,178
25
+ AutoGLM_GUI/workflow_manager.py,sha256=AZ_zrhSeEvtlF1HTNMNS3f4qBwRuX-bzImdZEVZVXV8,5552
26
+ AutoGLM_GUI/actions/__init__.py,sha256=kdprfh9IzhoaBBlKG10q6MROSQ96n-uo9GkREjcv9gc,165
27
+ AutoGLM_GUI/actions/handler.py,sha256=wztZwIDRIAhokxJ3LvDQY8i2AS9MdmTn7Q3h3e34Elo,6993
28
+ AutoGLM_GUI/actions/types.py,sha256=19TZNoi6KkFtsGkaqhw23vIE7c549j1t2CpKxBXuUKo,266
29
+ AutoGLM_GUI/adb/__init__.py,sha256=QdiryYhjt-Ox8MKGCUv6Dd9L1e0VFAcXS4TMpDNCi9s,1095
30
+ AutoGLM_GUI/adb/apps.py,sha256=D9HcsGzqwJL3g1ZRS4_Iq4WjviijDDEtkBJlV4-TSjE,8774
31
+ AutoGLM_GUI/adb/connection.py,sha256=4_u3tZ21y8SvDrucSTe1tLDk4MSIMRV-vRl6uS3njFk,9212
32
+ AutoGLM_GUI/adb/device.py,sha256=erVAjyefzsd1Dz5qB2nrr7zJwwPNFOrLiX_Se9r7Kjk,4351
33
+ AutoGLM_GUI/adb/input.py,sha256=DELZOebzg9Dh7OxOICe-cPIPbe6kIye2pUY24fIHTVM,1738
34
+ AutoGLM_GUI/adb/screenshot.py,sha256=VJWbZM3wNCc0kfdm6ra7ja0fcS9yw5KvfezzaMH4mfk,434
35
+ AutoGLM_GUI/adb/timing.py,sha256=3NPcuMzNQuo_eqs3SKQESsKeRa5L4Ice5GTyrx0WqLc,5790
36
+ AutoGLM_GUI/adb_plus/__init__.py,sha256=YwYYbeMrsKv8BGPcD6dv0PB8-wW93Ik9pMHo02i8QoU,945
37
+ AutoGLM_GUI/adb_plus/device.py,sha256=nCMDUd18LPfl5CsJeDjKd9HSt6FFOy2jS1muOSeLO08,1683
38
+ AutoGLM_GUI/adb_plus/ip.py,sha256=dt6ffIjiW_jGoEqUKUDi9fRGbWN1W9LxfT8rWIqgS-0,2200
39
+ AutoGLM_GUI/adb_plus/keyboard_installer.py,sha256=OfBdtFNbIZtiEgsJJaewgCAucaP4ppoAmd1M6y9-URY,13586
40
+ AutoGLM_GUI/adb_plus/mdns.py,sha256=AwQ4MQsPKVW1tPjIUpOWvBQGlJxvVrO9eTvxoqsgPUo,5862
41
+ AutoGLM_GUI/adb_plus/pair.py,sha256=3UElG0yjylhmZBtPpDER2BNMZs9CwDeavjuQOwOC4sw,1945
42
+ AutoGLM_GUI/adb_plus/qr_pair.py,sha256=WHvx76q2xfTnJPXf5y_qI9cNuiBC_KeWwqYpuROdPkw,13571
43
+ AutoGLM_GUI/adb_plus/screenshot.py,sha256=12JFZJsrUsW4hTSFCQMEDFtMA6WWROaa8bcXxVvi1iw,4023
44
+ AutoGLM_GUI/adb_plus/serial.py,sha256=DZEm5R-w9UypMpqPbnE1uRvQXsAx9Jr-4vQk07_X7eM,3850
45
+ AutoGLM_GUI/adb_plus/touch.py,sha256=cqGmGBmo9gUjSI31OBEV4Q_hLKhRo48ed4XNmbYwgSs,2135
46
+ AutoGLM_GUI/adb_plus/version.py,sha256=u5u1N40izJceeORN9kFhyz0wq_hZtlwBXaiytfA3px8,2428
47
+ AutoGLM_GUI/agents/__init__.py,sha256=z4AggrPOw8xa9S0e053UvOFIES5GTe052HZcjnYCmLU,1264
48
+ AutoGLM_GUI/agents/events.py,sha256=4810WrCNYqQFTpkIcU0lv3XUYwzR4uGn3MeshhDrFaI,392
49
+ AutoGLM_GUI/agents/factory.py,sha256=PKIcssxwGVjpCVqC03jS64vZUUarSDs1_9GB1AZTESE,4620
50
+ AutoGLM_GUI/agents/protocols.py,sha256=YkAprwChnLsomDRDyrPmzpI3uOAASHU-KHBpTxNryHs,572
51
+ AutoGLM_GUI/agents/stream_runner.py,sha256=uWJ7QiRVhtQ52tO8sc5AOz3IQSHAXrBtp2v30IBtXAY,6831
52
+ AutoGLM_GUI/agents/glm/__init__.py,sha256=1b9SzDLmWXcxlPS708p96o4W1Ks40YWQ3dd2HPaYewI,179
53
+ AutoGLM_GUI/agents/glm/agent.py,sha256=Owtad5NQY-Yg-iMiSAqWxfi5Lr6I31aDpbQvBKYZBys,10110
54
+ AutoGLM_GUI/agents/glm/message_builder.py,sha256=Z1eNMifdrQfojoDBnUBaFRMnxxvugE8kTvFX2jiyHFk,2302
55
+ AutoGLM_GUI/agents/glm/parser.py,sha256=nhWKIAlEloghxdw_pPEKMbLFufYsaj2aIFsYi_ZEU3A,3425
56
+ AutoGLM_GUI/agents/glm/prompts_en.py,sha256=ms92sFAl45gZC1mVdKjYN4kntJG-OZujbCcI-jyzJGo,2608
57
+ AutoGLM_GUI/agents/glm/prompts_zh.py,sha256=g3_6nBjcLZwc5Keg1u26Z4w6xjoL05Fk078263A5EZ8,8285
58
+ AutoGLM_GUI/agents/mai/__init__.py,sha256=HOma4Vc0SDgk2uyS-bq6IvWCrpTBTC_9u6TJp1fOplU,935
59
+ AutoGLM_GUI/agents/mai/agent.py,sha256=xkLXjTJeKiTuaBddi70RHsQGpcaBzMjyXjjB9LBfqgc,14158
60
+ AutoGLM_GUI/agents/mai/parser.py,sha256=0VoxBiW3gEaU759tw1iD0qoOOFgUcaq-CyiWQJ1u0aM,8453
61
+ AutoGLM_GUI/agents/mai/prompts.py,sha256=X3dvVLAP01_OcpUYiwJxBNhETU3lbY-EUK0gJURtkec,4392
62
+ AutoGLM_GUI/agents/mai/traj_memory.py,sha256=2oEpwgz4YGT3KgW0BojFYEcsZL8WKlkaBJao0QcLHcY,2965
63
+ AutoGLM_GUI/api/__init__.py,sha256=EYENHE-DjShI0EOy65i3cmpw7CT4EilaQgG3rmPW0Qs,6321
64
+ AutoGLM_GUI/api/agents.py,sha256=JkAVnylw9Wdan1pE3gaSnoWsY9yHegH1Dm-9kqlW3q8,19274
65
+ AutoGLM_GUI/api/control.py,sha256=mxklJ7o4Eb_nc-lZKKG86zMk2s5DHv3WGPatnyzQB44,3374
66
+ AutoGLM_GUI/api/devices.py,sha256=lRjbkrNHM9aoXGw4pu0GidDDedR6DB5uPxsTQZJmcCE,14022
67
+ AutoGLM_GUI/api/health.py,sha256=ZedFUv-IHst_YUyeQ_MpL5JXOKuOhWVlHBVwAY3MM0I,266
68
+ AutoGLM_GUI/api/history.py,sha256=GFJ3kphNAkQFATiWAzLVsCJPrjrJ6_LMGYwfUwTHy4c,3582
69
+ AutoGLM_GUI/api/layered_agent.py,sha256=GvwajyfzFbfuPWhFxbz9p8fR1dspAH4x3VN_h5gwE0A,28403
70
+ AutoGLM_GUI/api/mcp.py,sha256=ppqzBxiS_8tUeJ5P8AszH_4m6q0sNe0oT2SCU_uISks,4625
71
+ AutoGLM_GUI/api/media.py,sha256=Cwtk2cikZSBK8gV-igpdtx7bsGYyb2letOe4ZEj0-k4,3806
72
+ AutoGLM_GUI/api/metrics.py,sha256=2h5MnUiMTRAshD6nvcarLVoSlOjtlyVAGg-LRXq03vQ,941
73
+ AutoGLM_GUI/api/scheduled_tasks.py,sha256=BJvu2TlNfXw6C_y4lYYl-sxfcUQzyE6TYWf-jiVa2-Y,3622
74
+ AutoGLM_GUI/api/version.py,sha256=DYiSNNykJsxOXO1zvf3w5AcAtQJTs2c-qtA1HRVihx0,6085
75
+ AutoGLM_GUI/api/workflows.py,sha256=waYwlm2HxwkcfZwp7Bm2Z2l_bms6UmOy2xJEU9B_t0s,2431
76
+ AutoGLM_GUI/devices/__init__.py,sha256=3RHDxS3feJ1jGdWbDKeOHSFUogmexcEr9lpcXWhlnjg,1471
77
+ AutoGLM_GUI/devices/adb_device.py,sha256=uKgSMh7Dn7VPkfjkGltUqAgMcXsXBPIvG4dD3C__MOw,6334
78
+ AutoGLM_GUI/devices/mock_device.py,sha256=StMmVnQ5YRkc6MNUSLz5-FAdW1l2eL1XTRxCHNwE6Lc,5786
79
+ AutoGLM_GUI/devices/remote_device.py,sha256=PXc2uoczKcDi7ovcIZoWcDA8U9CrIXDamyPApGXNXYI,5665
80
+ AutoGLM_GUI/model/__init__.py,sha256=eBat20fq5PyTUL_uRW33eQQzj6m3JQkG5rVgmDOgh3c,120
81
+ AutoGLM_GUI/model/message_builder.py,sha256=wUX3iFiR8kj2lBEpI9gJXVISzsW1AgvRVeIG4DaHmEQ,2148
82
+ AutoGLM_GUI/model/types.py,sha256=Lk96Nmn9U69RaT9OZbUgop2HvZK0Dx4ticCqpGgTsM8,750
83
+ AutoGLM_GUI/models/__init__.py,sha256=NYsb1EcyrcoSYeRYC9u4wEPfTmtEKUScxjd_RNrvIaQ,252
84
+ AutoGLM_GUI/models/history.py,sha256=v6_-VA-QQgwnh3SicsRaoDOIpPaB7Z1-AxionFp2OGI,4600
85
+ AutoGLM_GUI/models/scheduled_task.py,sha256=Z4qO9W72nRyI--gDLqAkO1AMN30B_SDAqZUeF7mQ6o8,2536
86
+ AutoGLM_GUI/parsers/__init__.py,sha256=pa5GK6zVJH0vxofZkkMf4UJmoqAUo29cxI9ujkBeI0E,693
87
+ AutoGLM_GUI/parsers/base.py,sha256=3HGsMAhIv5oQU9GjLGPzMDtDmhScpFQKYK1kaRhNm8w,1565
88
+ AutoGLM_GUI/parsers/phone_parser.py,sha256=JEgfZfpolmGM_j9F1gNZC1nxBNWXlo4h1k_JIyNuLCE,2053
89
+ AutoGLM_GUI/prompts/__init__.py,sha256=GtS7Ek3ds5G8orJj4R-2odjm1Hchje3cF1-1YaxZD38,1069
90
+ AutoGLM_GUI/static/favicon.ico,sha256=uB4wrcENiFaF-K4V-FzNp51XLW8GC4-ujpBDHgISfGM,781
91
+ AutoGLM_GUI/static/index.html,sha256=CxPbhU2dHA4PMHb9CaqSCbR2QIagsWavdVPasAYxCz0,761
92
+ AutoGLM_GUI/static/logo-192.png,sha256=FOXgZxFrN0ZleO0VjlCnvD5cDkd1okJPkwPDZqsflNs,35243
93
+ AutoGLM_GUI/static/logo-512.png,sha256=HlwSg09dQ3_Jtb09Ght4l2VK3YNLZlP_941LCdpDkWk,251598
94
+ AutoGLM_GUI/static/assets/about-CfwX1Cmc.js,sha256=9oETNHceeJjZHTwdx56sR_N-zh3Ry-oxy7DZw4gDBxQ,155
95
+ AutoGLM_GUI/static/assets/alert-dialog-CtGlN2IJ.js,sha256=PH3sQ9SsNTw9MxgWF9fK0PhZyn-KQwjG76XZ2QE1c0o,3140
96
+ AutoGLM_GUI/static/assets/chat-BYa-foUI.js,sha256=NIM5jD7F7XJbGrVaBStbd1jrl1LOS-QeVqw8vJOQZiI,301041
97
+ AutoGLM_GUI/static/assets/circle-alert-t08bEMPO.js,sha256=N6uSigPZu4YJdlJ6qLWeyOMpUofDLn9mHFXT525ZdLM,251
98
+ AutoGLM_GUI/static/assets/dialog-FNwZJFwk.js,sha256=gRs_hh2BxysSNQ8LgyvnDmBEr8-Ek6OgXSTBvp61xRc,25373
99
+ AutoGLM_GUI/static/assets/eye-D0UPWCWC.js,sha256=0Cj-BDbPmQQ1TWPtAtl5KQmUW08zjvUvhmEia4XV-dI,339
100
+ AutoGLM_GUI/static/assets/history-CRo95B7i.js,sha256=E_EUGqi753WvivR4ivnc5jiY015C7u5_nnzGylFSmBQ,10787
101
+ AutoGLM_GUI/static/assets/index-BaLMSqd3.js,sha256=O886kmQVwhXM8jq4aPEtxFfMrzIzroFqZyIXFqrJdso,229
102
+ AutoGLM_GUI/static/assets/index-CTHbFvKl.js,sha256=sUeL3IunDxbs0AbxlFkSItIKY36uXKxBiSgL98aPLG4,396545
103
+ AutoGLM_GUI/static/assets/index-CV7jGxGm.css,sha256=cw7HZ3DBylOyAOpqLz6j5bnSBvGL6mrqXb1hvBvWXjE,83985
104
+ AutoGLM_GUI/static/assets/label-DJFevVmr.js,sha256=dQt2s2v47Em5pH2I-D2yS7BjOVVYpojfSYYLygyzZRo,1407
105
+ AutoGLM_GUI/static/assets/logo-Cyfm06Ym.png,sha256=6GRUFH2KNmB4ZmnrmJ1wxpoIYEmOW-__XlmKImyAMKM,4955675
106
+ AutoGLM_GUI/static/assets/logs-RW09DyYY.js,sha256=RwkA-hZFnhEX_3thhw-hCRYi3t7vbwJ9oGywE2iztZQ,5048
107
+ AutoGLM_GUI/static/assets/popover--JTJrE5v.js,sha256=LREDbF7RY5psGvW-0Z7DYvAxCPapJszZQLRUGgLf8WQ,5782
108
+ AutoGLM_GUI/static/assets/scheduled-tasks-DTRKsQXF.js,sha256=_6R292PSGOtogjprbUt40QT1NsNWsfUG_1LBN0iXmDE,8364
109
+ AutoGLM_GUI/static/assets/square-pen-CPK_K680.js,sha256=GG9UhqPsIwIBpgAwCRhHYd2E7sjUGSiTV8EpTIY05g4,321
110
+ AutoGLM_GUI/static/assets/textarea-PRmVnWq5.js,sha256=hfTdufXPvGYU0YEjkX5aTxmJdgSNZ9Daz_XPxiHapzE,705
111
+ AutoGLM_GUI/static/assets/worker-D6BRitjy.js,sha256=RL1NIRIks9dXdDhXOHK1cCg-OELT0uv9a6u_UEHfQ0Q,173494
112
+ AutoGLM_GUI/static/assets/workflows-CdcsAoaT.js,sha256=LG_ggnjS484fxlNFnMELViavvmZmtEJyBWwOdZ6uvDc,3301
113
+ scrcpy-server-v3.3.3,sha256=fnAyO6fyWWSd1KzOl6xP77roECssbZHi575hP9U1S-A,90164
114
+ autoglm_gui-1.5.1.dist-info/METADATA,sha256=EKtdUmFHRp0sKm4Vkq8JOxf3a-Kkui_jvoZrSJmxv5M,21690
115
+ autoglm_gui-1.5.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
116
+ autoglm_gui-1.5.1.dist-info/entry_points.txt,sha256=sz4rBO_kgrYmOiT0QnhCCv0b9QqBdWyCjugJgY8AEOI,58
117
+ autoglm_gui-1.5.1.dist-info/licenses/LICENSE,sha256=0IkSHDewdtmXnmYzTNq4U47EJYjTuhjQNpT0bZKuqWc,11342
118
+ autoglm_gui-1.5.1.dist-info/RECORD,,