Xiaozhi AutoGLMSAFE
小智基于智谱Phone Agent复刻豆包手机
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
项目介绍
这是一个基于 Open-AutoGLM 构建的小智MCP服务,作为MCP服务接入小智AI、xiaozhi-esp32-server 被小智调用。
环境准备
1. ADB (Android Debug Bridge)
- 下载官方 ADB 安装包,并解压到自定义路径
- 配置环境变量
- MacOS 配置方法:在
Terminal或者任何命令行工具里
# 假设解压后的目录为 ~/Downlaods/platform-tools。如果不是请自行调整命令。
export PATH=${PATH}:~/Downloads/platform-tools- Windows 配置方法:可参考 第三方教程 进行配置。
2. Android 7.0+ 的设备或模拟器,并启用 开发者模式 和 USB 调试
- 开发者模式启用:通常启用方法是,找到
设置-关于手机-版本号然后连续快速点击 10
次左右,直到弹出弹窗显示“开发者模式已启用”。不同手机会有些许差别,如果找不到,可以上网搜索一下教程。
- USB 调试启用:启用开发者模式之后,会出现
设置-开发者选项-USB 调试,勾选启用 - 部分机型在设置开发者选项以后, 可能需要重启设备才能生效. 可以测试一下: 将手机用USB数据线连接到电脑后,
adb devices
查看是否有设备信息, 如果没有说明连接失败.
请务必仔细检查相关权限
3. 安装 ADB Keyboard(用于文本输入)
下载 安装包 并在对应的安卓设备中进行安装。 注意,安装完成后还需要到 设置-输入法 或者 设置-键盘列表 中启用 ADB Keyboard 才能生效
部署准备工作
1. 安装依赖
conda remove -n autoglm --all -y conda create -n autoglm python=3.10 -y conda activate autoglm pip install -r requirements.txt
2. 配置 ADB
确认 USB数据线具有数据传输功能, 而不是仅有充电功能
确保已安装 ADB 并使用 USB数据线 连接设备:
# 检查已连接的设备 adb devices # 输出结果应显示你的设备,如: # List of devices attached # emulator-5554 device
3. 配置视觉模型和小智MCP接入点
3.1 复制 config.yaml 为 .config.yaml 文件。
3.2 登录小智AI或者你私有化部署的智控台,获取智能体的MCP接入点地址。
3.3 编辑 .config.yaml 文件,将获取到的MCP接入点地址替换到 mcp_endpoint 字段中。
3.4 如果你的 .config.yaml选择了 ChatGLMVLLM 作为视觉语言大模型,那么请前往智谱AI平台,获取你的密钥。请主要账户余额充足,否则会导致调用失败。
3.5 编辑 .config.yaml 文件,将获取到的密钥替换到 VLLM下的 ChatGLMVLLM下的 api_key 字段中。
4. 运行服务
Linux/macOS:
./start_mcp_service.sh
1f4becd498d8OBSERVED · 2026-10-07Exposed tools (2)
1 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
mobile_agent_call | write | Execute a mobile automation task asynchronously. |
mobile_agent_status | read | Check the current status of the mobile agent. Use this before calling mobile_agent_call to see if another task is running. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- declared (6 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (1)
websockets, mcp, pydantic, mcp-proxy, fastmcp, PyYAML, Pillow, openai
Gates applied: no_behavioural_pass.
1f4becd498d8full audit observations/trust-audit/mcp-server/xinnan-tech__xiaozhi-autoglm.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 1f4becd498d8 | SAFE | B | 89 | first audit |
Questions
What is the Xiaozhi AutoGLM MCP server?
小智基于智谱Phone Agent复刻豆包手机
What tools does Xiaozhi AutoGLM expose?
2 in total: 1 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Xiaozhi AutoGLM safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Xiaozhi AutoGLM need?
It reads PHONE_AGENT_API_KEY, PHONE_AGENT_KEYBOARD_RESTORE_DELAY and PHONE_AGENT_KEYBOARD_SWITCH_DELAY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Xiaozhi AutoGLM run?
It speaks stdio and streamable-http, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (1f4becd498d8), read on 2026-10-07. The repository is watched and re-audited when it changes.