Skip to content

命令执行

第 13 章:命令执行——Termux / Shizuku / Root 三条通道 ​

这一章讲怎么让 AI 执行命令:三条权限通道、run_command 的使用要点、安全命令示例与破坏性操作纪律。

预计阅读 15 分钟。


13.1 三条通道,三种权限 ​

还记得第 2 章吗?命令不是 AI 直接跑的,而是通过三个"通道"之一:

通道身份能干什么需要
Termux普通应用用户构建、Git、脚本、装软件、搜内容装 Termux 并授权(第 2 章 2.6)
ShizukuADB 级别权限系统命令(pm / dumpsys)、受保护路径装 Shizuku 并激活
Root手机最高权限系统文件、/data、系统包管理手机已 root

权限纪律(最重要的一条)

能用低权限解决的,绝不升级权限。 普通任务用 Termux 就够了。Shizuku/Root 只在真正需要系统级操作时才配置和使用。

为什么必须装 Termux?

Termux 是命令执行通道,只有 Termux 正在运行且权限正常允许,Agent 中的 run_command 工具才能正常运行。推荐在使用时将 Termux 设置为前台小窗运行,防止系统杀后台。

13.2 run_command(Termux 通道)使用要点 ​

  • 默认目录:命令默认在你选定的工作区里执行,不需要先 cd;
  • 跨目录:用 workDir 参数指定,或写绝对路径;
  • 多行命令:告诉 AI 用多行数组传参(比如写脚本);
  • 串联步骤:AI 会用 && 把"前一步成功才继续"的命令连起来;
  • 交互式程序别跑:vim、top、游戏这类需要持续按键的程序不能跑;
  • 长驻服务:开发服务器这类要一直运行的,用后台模式(AI 会拿到进程 ID 和日志文件)——但启动成功≠服务健康,要另外检查进程和日志(见第 17 章);
  • 超时:命令最长 600 秒;输出太长时先存到文件再读:命令 > out.txt 2>&1;
  • 高危拦截:rm -rf /、写系统设备等命令会被 App 拦截——但你仍然要自己审查,AI 不是绝对可靠。

13.3 安全命令示例(看懂这些你就入门了) ​

bash
# 想删东西?先列出确认,再决定删不删
find . -name '*.tmp' -type f

# 看看哪个文件夹最占空间
du -sh * | sort -h | tail -20

# 克隆一个 GitHub 项目(浅克隆,只取最新)
git clone --depth 1 https://github.com/lyracode-app/Lyra-Code.git

# 搜索结果太多?存到文件里再看
rg -n 'error' --glob '*.log' . > /storage/emulated/0/Lyra/rg.out; wc -l /storage/emulated/0/Lyra/rg.out

13.4 破坏性操作纪律(执行前默念) ​

  1. 确认目标:删除/覆盖前,先让 AI 显示确切路径,确认没有拼错;
  2. 范围最小:能删一个文件不删整个文件夹,能重命名不删除;
  3. 可恢复优先:先备份(.bak)再动手;
  4. 失败先看原因:命令报错 → 看错误信息 → 调整参数重试,不要盲目重跑。

13.5 系统权限:Shizuku 与 Root ​

支持通过以下方式获取系统权限:

  • Root 管理器:获取设备 Root 权限执行 Root 命令。
  • Shizuku:获取 adb shell 权限执行 adb 和 shell 命令。

高风险操作

此功能风险较高,请仔细核对后允许执行,避免 AI 破坏系统和文件。应用会兜底拦截极高危命令。

Shizuku 特殊情况:

有时候 Shizuku 会显示已启动,而且给了应用权限,但是还是无法正常使用。这种情况一般出现在:

  • 设备重启之后
  • 长期不使用,adb 进程丢失

解决方案: 前往 Shizuku 关闭对本应用的授权,重新点击启用,再开启对本应用的授权,重启本应用就可以正常使用 Shizuku 了。

13.6 新手 FAQ ​

Q:让 AI 跑 rm -rf 会怎样? A:高危命令会被拦截。但保险起见,你也不该提这种需求——有更安全的替代(先备份再删)。

Q:命令执行到一半超时了? A:命令可能还在后台跑。先让 AI 用只读命令查一下状态(进程在不在、文件生成没),再决定继续等还是重来。

Q:为什么 AI 说"命令不可用"? A:Termux 没装/没授权,或设置里的 Termux 开关没开。回第 2 章 2.6检查。

Q:我能自己动手跑命令吗? A:可以,打开 Termux 手动输入,和 AI 共用同一个环境,互不冲突。


本章完 · 下一章:远程服务——让 AI 帮你连服务器、管邮件、传文件

AGPLv3