zai-org/Open-AutoGLM
45.3
Weak · 18 September 2026
6.9k
lines of production code
Python
primary language
1
measurement over time
What this system is
This system is a cross-platform mobile automation agent that controls Android, iOS, and HarmonyOS devices through a unified interface. It leverages large language models to interpret user intent and execute device actions such as tapping, swiping, and text input. The architecture abstracts platform-specific drivers like ADB, WebDriverAgent, and HDC, while supporting configurable timing, internationalization, and streaming inference for real-time feedback.
Features
Added deployment verification scripts for Chinese and English environments
New scripts have been added to the \scripts\ directory to verify model deployment status. \check\_deployment\_cn.py\ and \check\_deployment\_en.py\ allow users to test model inference by sending messages from JSON files (\scripts/sample\_messages.json\ and \scripts/sample\_messages\_en.json\) to a specified API endpoint. These tools validate that the model is running correctly and provide token usage statistics, with the Chinese script including a detailed system prompt for agent-based task execution.
scripts · high confidence
Adds iOS and HarmonyOS support with configurable timing and internationalization
The Phone Agent now supports iOS and HarmonyOS devices in addition to Android. New configuration files define app package mappings for iOS (apps\_ios.py) and HarmonyOS (apps\_harmonyos.py), while the main Android app list (apps.py) has been updated with additional entries. A new timing configuration module (timing.py) allows users to customize delays for actions, device operations, and ADB connections via environment variables. Internationalization is introduced via i18n.py for UI messages, and system prompts are now available in both English and Chinese (prompts\_en.py, prompts\_zh.py), with the config module exporting language-specific prompts and a helper to retrieve them. XCTest utilities for iOS device interaction are also added.
_phone\agent/config · high confidence
Examples now support configurable output language
The example scripts in the examples directory have been updated to support internationalization, allowing users to choose between Chinese and English for all console output. This is achieved by importing a new get\_messages utility and passing a lang parameter to AgentConfig and example functions, with the demo script adding a --lang command-line argument to select the language.
examples · high confidence
Initial support for HarmonyOS device interaction via HDC
Added a new \phone\_agent/hdc\ module providing utilities to connect to, control, and capture screens on HarmonyOS devices using the HDC (HarmonyOS Device Connector) tool. This includes connection management (USB, WiFi, remote), device control actions (tap, swipe, back, home, launch app), text input handling (including multi-line support), and screenshot capture with fallback for sensitive screens.
_phone\agent/hdc · high confidence
iOS automation support and HarmonyOS key event handling
The phone agent now supports iOS devices through a new WebDriver-based action handler (handler\_ios.py), enabling actions like tap, swipe, and text input on iOS. Additionally, the main action handler (handler.py) has been refactored to use a device factory for cross-platform compatibility, and now includes specific support for HarmonyOS NEXT via HDC, including a new \_send\_keyevent method that maps key codes to HarmonyOS-specific commands for proper key event handling.
_phone\agent/actions · high confidence
iOS device support and multi-platform expansion
The Phone Agent now supports iOS devices in addition to Android and HarmonyOS. This change introduces a new \ios.py\ CLI entry point and \IOSPhoneAgent\ implementation, enabling automation via WebDriverAgent and \libimobiledevice\. The main entry point (\main.py\) has been updated to detect and manage device types (ADB, HDC, iOS), and documentation has been expanded with specific setup guides for iOS and HarmonyOS, alongside new third-party model service integrations (z.ai, BigModel, ModelScope).
(repo-wide) · high confidence
iOS support and HarmonyOS device integration
The phone agent now supports automating iOS devices via a new \IOSPhoneAgent\ class and XCTest integration, while the core agent has been updated to use a \DeviceFactory\ that allows switching between Android (ADB) and HarmonyOS (HDC) backends. Additionally, the agent's verbose output now displays the model's internal reasoning ("thinking") and localized status messages based on the configured language.
_phone\agent · high confidence
Behavioural changes
ADB interaction timing and encoding improvements
The ADB connection and device interaction modules now use configurable timing values from TIMING\_CONFIG for delays such as tap, swipe, and server restarts, replacing hardcoded sleep intervals. Additionally, subprocess calls explicitly specify UTF-8 encoding to resolve issues with multi-line text output and encoding errors, and the screenshot function now uses a platform-independent temporary directory path.
_phone\agent/adb · high confidence
Streaming inference with performance metrics and updated action parsing
The model client now streams responses instead of waiting for the full completion, enabling real-time display of thinking content and immediate detection of action markers (finish(message= or do(action=). This change introduces performance metrics (time to first token, time to thinking end, total inference time) printed after inference, and updates the response parser to prioritize these new action markers over the legacy XML tag format.
_phone\agent/model · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 45.
Lenses
- Code Health 88
- Architecture 90
- Maturity 52
- Readiness 17
- Security 91
Changes since last survey
- 106 commits — 97 feature/other, 9 fixes
By area
- (root) — 45 commits
- (repo) — 40 commits
- resources/wechat.jpeg — 7 commits
- phone_agent/config — 4 commits
- phone_agent/actions — 2 commits
- phone_agent/adb — 2 commits
- phone_agent/hdc — 2 commits
- docs/ios_setup — 1 commit
- phone_agent/agent.py — 1 commit
- phone_agent/model — 1 commit
- phone_agent/xctest — 1 commit
Notable commits
- fix: Fix Didi error
- fix: Merge pull request #212 from zai-org/fix-multiline-type
- fix: fix adb multiline input
- fix: fix format
- fix: fix format
- fix: fix format
- fix: fix format
- fix: fix precommit
- fix: fix the entry ability of apps
- change: Add link to Voice Input Method App
- change: Add modelscope support
- change: Merge branch 'main' of https://github.com/zai-org/Open-AutoGLM
- change: Merge pull request #10 from chiichen/doc-enable-adbkeyboard
- change: Merge pull request #108 from CocoSgt/patch-1
- change: Merge pull request #109 from CocoSgt/patch-2
- change: Merge pull request #112 from CocoSgt/patch-4
- change: Merge pull request #113 from ksDreamer/main
- change: Merge pull request #123 from zai-org/Xiao9905-patch-1
- change: Merge pull request #129 from zai-org/update-check-deployment-en
- change: Merge pull request #143 from gekowa/ios-support-3
- …and 86 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
zai-org/Open-AutoGLM was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 86f55382982fb054e8fc98ca80609dff8a2cdc3c — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.