mirror of
https://github.com/earendil-works/pi.git
synced 2026-09-28 14:13:13 +08:00
Replace the external clipboard dependency with small macOS, Windows, and X11 helpers and integrate them into coding-agent. Run native clipboard operations on worker threads and make command fallbacks asynchronous. Preserve incremental X11 transfers, legacy text encodings, native image formats, and existing Wayland and platform tools. Include native prebuilds with ARM64 page alignment, packaging updates, and regression coverage.
3.0 KiB
3.0 KiB
Termux (Android) Setup
Pi runs on Android via Termux, a terminal emulator and Linux environment for Android.
Prerequisites
- Install Termux from GitHub or F-Droid (not Google Play, that version is deprecated)
- Install Termux:API from GitHub or F-Droid for clipboard and other device integrations
Installation
# Update packages
pkg update && pkg upgrade
# Install dependencies
pkg install nodejs termux-api git
# Install pi
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# Create config directory
mkdir -p ~/.pi/agent
# Run pi
pi
Clipboard Support
Clipboard operations use termux-clipboard-set and termux-clipboard-get when running in Termux. The Termux:API app must be installed for these to work.
Image clipboard is not supported on Termux (the ctrl+v image paste feature will not work).
Example AGENTS.md for Termux
Create ~/.pi/agent/AGENTS.md to help the agent understand the Termux environment:
# Agent Environment: Termux on Android
## Location
- **OS**: Android (Termux terminal emulator)
- **Home**: `/data/data/com.termux/files/home`
- **Prefix**: `/data/data/com.termux/files/usr`
- **Shared storage**: `/storage/emulated/0` (Downloads, Documents, etc.)
## Opening URLs
```bash
termux-open-url "https://example.com"
```
## Opening Files
```bash
termux-open file.pdf # Opens with default app
termux-open --chooser image.jpg # Choose app
```
## Clipboard
```bash
termux-clipboard-set "text" # Copy
termux-clipboard-get # Paste
```
## Notifications
```bash
termux-notification -t "Title" -c "Content"
```
## Device Info
```bash
termux-battery-status # Battery info
termux-wifi-connectioninfo # WiFi info
termux-telephony-deviceinfo # Device info
```
## Sharing
```bash
termux-share -a send file.txt # Share file
```
## Other Useful Commands
```bash
termux-toast "message" # Quick toast popup
termux-vibrate # Vibrate device
termux-tts-speak "hello" # Text to speech
termux-camera-photo out.jpg # Take photo
```
## Notes
- Termux:API app must be installed for `termux-*` commands
- Use `pkg install termux-api` for the command-line tools
- Storage permission needed for `/storage/emulated/0` access
Limitations
- No image clipboard: Termux clipboard API only supports text
- Storage access: To access files in
/storage/emulated/0(Downloads, etc.), runtermux-setup-storageonce to grant permissions
Troubleshooting
Clipboard not working
Ensure both apps are installed:
- Termux (from GitHub or F-Droid)
- Termux:API (from GitHub or F-Droid)
Then install the CLI tools:
pkg install termux-api
Permission denied for shared storage
Run once to grant storage permissions:
termux-setup-storage
Node.js installation issues
If npm fails, try clearing the cache:
npm cache clean --force