# auto_phone **Repository Path**: copy_Soft/auto_phone ## Basic Information - **Project Name**: auto_phone - **Description**: Termux 手机自动化工作区 — port layer:统一配置、设备访问层、脚本与 AutoJs6 UI 服务 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-27 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # auto_phone — 手机自动化控制工作区 集中管理在 Android(Termux)上控制手机的全部脚本、服务与配置。三层能力: | 层 | 入口 | 用途 | |----|------|------| | UI 服务 | `ui_server/ui_server.js` | AutoJs6 无障碍:查找/点击/输入元素、OCR、悬浮窗 | | AI 代理 | `android-automation-agent/` | Python + LLM 自主多步任务 | | MCP 服务 | `mcp-servers/termux-mcp/` | 120+ MCP 工具(设备/UI/文件/通讯/ADB/Shell) | 三者共享 `config.env`(配置)与 `lib/device.py`(设备访问层)。 > **本仓库只包含 port layer**(配置 + 设备访问层 + 脚本 + UI 服务)。 > AI 代理与 MCP 服务是独立项目,以 submodule 引用,各自维护、各自遵循其原始协议。 ## 组件来源 | 目录 | 来源 | 协议 | 说明 | |------|------|------|------| | `android-automation-agent/` | [Mohd-Mursaleen/android-automation-agent](https://github.com/Mohd-Mursaleen/android-automation-agent) | MIT | Termux 移植层(rish 优先 / adb 兜底、唤醒脚本) | | `mcp-servers/termux-mcp/` | [wujie272/termux-mcp](https://github.com/wujie272/termux-mcp) | MIT | 120+ MCP 工具;本工作区为当前唯一维护版本 | 两个子仓均为第三方项目,本仓库的改动集中在移植层,不污染上游代码,便于随时同步。 ## 结构 ``` config.env # 统一配置(路径/端口/包名),所有脚本与 Python 共享 lib/device.py # 设备访问层:Shizuku>ADB>Direct 三级执行、截屏、UI dump、AutoJs6 API ui_server/ui_server.js # AutoJs6 UI 服务 (127.0.0.1:7912) scripts/ # 9 个 shell 脚本,均 source ../config.env data/ # 运行时状态,不入版本控制(仅保留 .gitkeep) android-automation-agent/ # submodule — AI 代理 mcp-servers/termux-mcp/ # submodule — MCP 服务 ``` ## 快速开始 ```bash git clone --recursive https://gitee.com/copy_Soft/auto_phone.git cd auto_phone # 按本机情况改 config.env(WECHAT_USER / RISH 路径) vim config.env bash scripts/restart_ui_server.sh # 启动 UI 服务 curl -s http://127.0.0.1:7912/ping # 校验 bash scripts/send_wechat.sh "张三" "你好" bash scripts/adb_reconnect.sh # 恢复无线 ADB ``` AI 代理与 MCP 服务的启动见各自目录内的 README。 若 clone 时忘了 `--recursive`,执行 `git submodule update --init --recursive` 补齐。 ## 环境要求 | 依赖 | 说明 | |------|------| | Termux + `rish` | **rish 必须放在 Termux home**(ext4,可 exec + 可 chmod)。sdcard 是 noexec 且无法 chmod,Android 14+ 会拒绝加载可写 dex | | Shizuku | 提供 rish 的特权通道 | | AutoJs6 | 无障碍服务,`settings put secure enabled_accessibility_services` 写入 | | ADB | rish 不可用时的兜底通道 | ## 规则 - **改配置只动 `config.env`**:设备 IP、微信用户、端口、包名等。 - **设备能力只加在 `lib/device.py`**:不要散落 `adb shell`/`rish` 调用。 - **新脚本放 `scripts/`**,第二行 `source "$(dirname "$0")/../config.env"`,用 `$RISH`/`$AUTOJS_URL` 等变量而非硬编码。 - **rish 读取必须重试**:rish 会执行命令但约三成概率丢弃 stdout,把「读不到」当成「不存在」会导致误判与破坏性操作。 ## 已知限制 - `uiautomator dump` 在部分厂商 ROM(如 Vivo / OriginOS)上被系统杀死(rc 137),已改由 AutoJs6 无障碍树替代 - 设备屏幕关闭时截屏与 OCR 不可用,需先唤醒 ## 协议 MIT,见 [LICENSE](LICENSE)。两个 submodule 各自遵循其原始协议。