存储权限被拒是Hermes Agent在Termux中最常见故障根源,需依次执行termux-setup-storage授权、检查$HOME/storage/shared挂载、配置cli-config.yaml中allowed_paths路径白名单、source ~/.bashrc刷新命令路径,并避免华为/鸿蒙设备使用受限的Android/data路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

存储权限被拒是 Hermes Agent 在安卓端(尤其是 Termux 环境)最常触发的故障根源。它不单影响文件保存、日志记录或工具调用,连 pwd、echo 这类基础命令都可能报错——不是系统没权限,而是 Hermes 的执行器根本找不到命令入口或无法挂载存储路径。
Termux 必须手动授权 storage
Termux 默认无任何 Android 存储访问权,哪怕你已在系统设置里给“文件管理”开了权限,Termux 仍处于隔离状态。不执行这一步,所有文件操作都会静默失败。
- 在 Termux 中直接运行:termux-setup-storage
- 弹出 Android 权限窗口后,点「允许」授予「文件和媒体」权限
- 等待几秒,检查目录是否挂载成功:
ls $HOME/storage/shared - 若提示
Permission denied,重启 Termux 再试一次
确认 CLI 配置中已放开本地路径
Hermes Agent 自身有一层路径白名单控制(cli-config.yaml),即使 Termux 已授权,若配置未更新,AI 仍会被拦截在沙箱内。
- 确保
cli-config.yaml文件存在(从cli-config.yaml.example复制重命名) - 编辑该文件,找到
file_operations → allowed_paths节点 - 添加你实际使用的路径前缀,例如:
- /data/data/com.termux/files/home/storage/shared/ - 保存后重启 Hermes 服务:
hermes serve --port 8080
检查 shell 初始化是否生效
很多用户装完 Hermes 后直接敲 hermes 报 command not found,其实是 PATH 没加载——安装脚本虽写入了 ~/.bashrc 或 ~/.zshrc,但当前终端并不知道。
- 运行:source ~/.bashrc(用 bash)或 source ~/.zshrc(用 zsh)
- 验证:
which hermes应返回类似/data/data/com.termux/files/usr/bin/hermes - 再运行:
hermes --version,有输出即说明命令链通了
华为/鸿蒙设备需额外注意应用沙箱限制
华为 EMUI/HarmonyOS 对 /Android/data/ 和 /Android/obb/ 目录有强管控,第三方应用(包括 Termux)无法直接读写这些路径下的子目录,这是系统级限制,非 Hermes 本身问题。
- 避免把工作目录设在
/data/data/com.termux/files/home/storage/shared/Android/data/... - 改用公共目录,如:
/storage/shared/Documents/hermes-work - 如必须访问某 App 数据,需该 App 主动提供 ContentProvider 或使用 SAF(Storage Access Framework)机制


















