Skip to content

Termux(Android)设置 ​

Pi 通过 Termux 在 Android 上运行,这是一个为 Android 设计的终端模拟器和 Linux 环境。

先决条件 ​

  1. 从 GitHub 或 F-Droid 安装 Termux(不要从 Google Play 安装,该版本已废弃)
  2. 从 GitHub 或 F-Droid 安装 Termux:API,用于剪贴板和其他设备集成

安装 ​

bash
# 更新包
pkg update && pkg upgrade

# 安装依赖
pkg install nodejs termux-api git

# 安装 Pi
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

# 创建配置目录
mkdir -p ~/.pi/agent

# 运行 Pi
pi

剪贴板支持 ​

在 Termux 中运行剪贴板操作时,会使用 termux-clipboard-set 和 termux-clipboard-get。Termux:API 应用必须已安装才能工作。

Termux 不支持图像剪贴板(ctrl+v 图像粘贴功能不工作)。

Termux 示例 AGENTS.md ​

创建 ~/.pi/agent/AGENTS.md 以帮助代理理解 Termux 环境:

markdown
# 代理环境:Termux on Android

## 位置
- **操作系统**:Android(Termux 终端模拟器)
- **家目录**:`/data/data/com.termux/files/home`
- **前缀**:`/data/data/com.termux/files/usr`
- **共享存储**:`/storage/emulated/0`(Downloads、Documents 等)

## 打开 URL
```bash
termux-open-url "https://example.com"
```

## 打开文件
```bash
termux-open file.pdf          # 使用默认应用打开
termux-open --chooser image.jpg      # 选择应用
```

## 剪贴板
```bash
termux-clipboard-set "text"   # 复制
termux-clipboard-get          # 粘贴
```

## 通知
```bash
termux-notification -t "标题" -c "内容"
```

## 设备信息
```bash
termux-battery-status         # 电池信息
termux-wifi-connectioninfo    # WiFi 信息
termux-telephony-deviceinfo   # 设备信息
```

## 共享
```bash
termux-share -a send file.txt # 分享文件
```

## 其他有用的命令
```bash
termux-toast "message"        # 快速提示弹窗
termux-vibrate                # 震动设备
termux-tts-speak "hello"      # 语音合成
termux-camera-photo out.jpg   # 拍照
```

## 注意
- `termux-*` 命令需要安装 Termux:API 应用
- 使用 `pkg install termux-api` 安装命令行工具
- 访问 `/storage/emulated/0` 需要存储权限

限制 ​

  • 无图像剪贴板:Termux 剪贴板 API 仅支持文本
  • 无本机二进制文件:某些可选本机依赖(如剪贴板模块)在 Android ARM64 上不可用,安装时会跳过
  • 存储访问:要访问 /storage/emulated/0(Downloads 等)中的文件,运行一次 termux-setup-storage 授予权限

故障排除 ​

剪贴板无法工作 ​

确保已安装两个应用:

  1. Termux(来自 GitHub 或 F-Droid)
  2. Termux:API(来自 GitHub 或 F-Droid)

然后安装命令行工具:

bash
pkg install termux-api

共享存储权限被拒绝 ​

运行一次以授予存储权限:

bash
termux-setup-storage

Node.js 安装问题 ​

如果 npm 失败,尝试清除缓存:

bash
npm cache clean --force

Pi 编码助手中文文档