# TOOLS.md - Local Notes

## OpenClaw 控制台

- 网址（含token）：http://119.29.241.85:21753/z6n96o/?token=ccf15d5cdbf3328e0e62af2cc741bed8021de5ec34d6e333

## ADB（2026-05-07 重大突破）

- **真我 GT7 (RMX6688)** → `adb connect localhost:15556`（反向SSH隧道）
  - 手机上: `nohup ssh -R 15556:localhost:5555 ubuntu@100.81.160.90 -N -o ServerAliveInterval=60 &`
  - **本服务器(pw)连接方式**: `adb connect localhost:15556`
  - Android 16 (SDK 36), 分辨率 1080×2362
  - 功能: 点击/滑动/截图/输入文字
  - 停机机制: 每步操作前截屏OCR检测以下特征，检测到任意一个则立即停止操作：
  1. 'ClawBot' 或 '对方正在输入' 等微信特征
  2. 包含'虾'字的消息
  3. 机器人图标/虾虾头像
  4. 任何包含小旺头像或名字的可识别元素

### 常用APP包名
- 豆包（字节跳动）: `com.larus.nova`
- 千问/通义万向: `com.aliyun.tongyi`

### 中文输入解决方案（ADBKeyboard）

**问题**: `input text` 无法输入中文（NPE崩溃），中文输入法拦截英文空格

**解决**: 安装 ADBKeyboard 后用广播方式输入

1. 安装ADBKeyboard（只需一次）:
   ```bash
   wget -q "https://github.com/senzhk/ADBKeyBoard/raw/master/ADBKeyboard.apk" -O /tmp/ADBKeyboard.apk
   adb install /tmp/ADBKeyboard.apk
   ```

2. 激活ADBKeyboard:
   ```bash
   adb shell ime enable com.android.adbkeyboard/.AdbIME
   adb shell ime set com.android.adbkeyboard/.AdbIME
   ```

3. 完整输入流程:
   ```bash
   # 切换到ADB键盘
   adb shell ime set com.android.adbkeyboard/.AdbIME
   # 上滑触发键盘
   adb shell input swipe 540 2100 540 2000
   # 用广播输入中文
   adb shell am broadcast -a ADB_INPUT_TEXT --es msg '要输入的中文内容'
   # 点击发送按钮（从uiautomator dump获取）
   adb shell input tap 955 1959
   # 切回微信输入法
   adb shell ime set com.tencent.wetype/.plugin.hld.WxHldService
   ```

4. QQ发送按钮坐标: `com.tencent.mobileqq:id/send_btn` → bounds [874,2047][1037,2145], 中心点 (955, 2096)

## SSH

- **ubuntu-NF5468M5** → 172.29.1.103:22 (内网) / 100.120.115.30:22 (Tailscale), user: user-lbhzj
  - 密码: lbhzj
  - 工作目录/conda环境: pw（`~/pw`）
  - 系统: Ubuntu 18.04, Linux 5.4.0-150-generic, x86_64
  - Tailscale: 装在 ~/pw/PFLlib-master/tailscale_1.96.4_amd64/，socket 在 ~/pw/PFLlib-master/tailscale.sock

## SSH (PC)

- **PC**: xwjf@100.105.23.114 (LAPTOP-14AJG74M, Tailscale)
- 备用IP: 10.114.121.229 (内网)
- 密码: myn888
- 免密登录: 已配置
- 功能: 远程执行命令、文件传输

## Tailscale 网络

- **服务器** ubuntu-NF5468M5: 100.120.115.30 ✅ 在线
- **手机** GT7 RMX6688: 100.114.227.26 ✅ 活跃
- **PC** LAPTOP-14AJG74M: 100.105.23.114（状态不稳定，经常关机休眠，每次需实时检查）
- 服务器上 tailscale 路径: `~/pw/PFLlib-master/tailscale_1.96.4_amd64/tailscale`
- 服务器上 tailscale socket: `~/pw/PFLlib-master/tailscale.sock`
- SSH 服务器用 `sshpass -p 'lbhzj' ssh user-lbhzj@100.120.115.30`

## 云服务器（腾讯云）

- **旧服务器**: 152.136.58.12 (公网IP) / 100.98.100.66 (Tailscale)
- 用户名: ubuntu
- 密码: MYNmyn888
- OpenClaw名: 龙虾-Ji6k
- SSH端口: 22

## 邮箱

- **QQ邮箱**: 2689455084@qq.com
  - SMTP授权码: fgqyntepzukgdefj
- **谷歌邮箱**: 2689455084pwzlh@gmail.com

## API Keys

- **Gemini**: AIzaSyBJLQoqUOwQrLeGQWTk7vhbMHTrOU_jnT4
  - 用途: 搜索功能（需配合代理或特殊配置）
## 服务器SSH公钥（2026-05-04新服务器）
- 公钥：`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCn8rLNyehqqD4Jkh45A1JdHhDxfWi3hwv54IjZaC9MBXRfAdMHo7Qwk1HDB3fcLE3c2toDFCt6r7QoTneSMlghIM2q3tP9f57PIsSVGQYWy39V6NtbkY1gsh0b/f6XHTjIiAjK4m6E14mlouOEVL/GX+itSTko1mbEw0jRO6FNKQHeEjyt7ujVpXKkk5MUbb82FhQ+etei/QLc3DVZ+W+bWqUtoB5FV60TWGzwEM+WnaE3P+JgqO4RWC2IYkdujpO1g7VJPDxubbVtoWZkFeiA9WwEyAaiZEVo25IB1zGf4v4fCjcw2iqGI+AYx7qFVyBecs4Nqw37m48ej74VkMtt root@pw`
- 密钥路径：`/tmp/new_key`（新生成）

## 手机SSH连接（通过Tailscale中继）
- Tailscale IP：100.114.227.26
- SSH端口：2222
- 连接命令：`ssh -i /tmp/new_key -o "ProxyCommand=~/tailscale_1.96.4_amd64/tailscale --socket=/run/tailscale/tailscaled.sock nc %h %p" -o StrictHostKeyChecking=no -p 2222 root@100.114.227.26`
- 注意：手机必须已将服务器公钥加入 `~/.ssh/authorized_keys` 才能连接

## PC连接（通过Tailscale中继）
- Tailscale IP：100.105.23.114
- 用户：xwjf
- 密码：myn888
- 端口：22
- SSH命令：`sshpass -p 'myn888' ssh -o "ProxyCommand=~/tailscale_1.96.4_amd64/tailscale --socket=/run/tailscale/tailscaled.sock nc %h %p" -o StrictHostKeyChecking=no -p 22 xwjf@100.105.23.114`
- 注意：PC 需要在 Tailscale 网络中才能连接

## 发送文件到PC桌面（通过Tailscale中继）
- **SCP命令**（支持中文文件名）：
```bash
sshpass -p 'myn888' scp -o "ProxyCommand=~/tailscale_1.96.4_amd64/tailscale --socket=/run/tailscale/tailscaled.sock nc %h %p" -o StrictHostKeyChecking=no -P 22 文件路径 xwjf@100.105.23.114:~/Desktop/
```
- 发送到PC Downloads：`xwjf@100.105.23.114:~/Downloads/`

## 手机 SSH Server（Buckwalker）
- App：SSH Server（com.termux）
- authorized_keys 路径：`/APP/storage/emulated/0/Android/data/com.termux/files/SSH_Keys/authorized_keys`
- 端口：2222
- 连接命令（pw → gt7）：`ssh -i /tmp/new_key -o "ProxyCommand=~/tailscale_1.96.4_amd64/tailscale --socket=/run/tailscale/tailscaled.sock nc %h %p" -p 2222 root@100.114.227.26`

## 手机 Termux 信息
- 设备：真我 GT7 (RMX6688)
- Android：16 (SDK 36)
- Termux 数据目录：`/data/data/com.termux/files/home/`
- QQ 会话文件：`/data/data/com.termux/files/home/.openclaw/agents/main/sessions/5ce608e6-7456-4c9a-9e9c-03f708cf2f83.jsonl`
- 微信会话文件：`/data/data/com.termux/files/home/.openclaw/agents/main/sessions/72d64978-5deb-47cc-824f-9c5bf2194f86.jsonl`
