远程控制
在电脑上开着的 hipmmcode 会话,可以用手机接着干:看实时回复、批准权限、回答提问、发图片和 PDF、浏览文件、打开终端。手机上发的消息和电脑终端里输入的,进的是同一个会话。
| 方式 | 命令 | 手机怎么连 | 适合 |
|---|---|---|---|
| 本机直连 | /remote-control-local(/rcl) | 手机上的 HM Bot 经 SSH 连这台电脑,不经过任何中转服务器 | 手机能连到这台电脑(同一局域网、Tailscale 之类) |
| 经平台 | /remote-control(/rc) | 经平台中转,用 HiPMMCode 手机端 | 手机和电脑不在一个网络;需要先 hipmmcode login |
用 /rcl 连上手机
- 在 hipmmcode 里输入
/rcl。第一次用会说明这是什么,确认后屏幕上出现二维码。 - 打开手机上的 HM Bot,扫这个二维码。二维码里是这台电脑的局域网地址、SSH 端口和用户名、主机指纹,以及这个会话。
- 第一次连接要输入一次这台电脑的登录密码。连上后 HM Bot 会为这台手机生成专用密钥,装进
~/.ssh/authorized_keys,然后删掉手机里存的密码;以后都用密钥登录。 - 连上后,输入框右上角显示
/rcl · 手机名。
二维码选地址时优先用局域网网卡(en*、eth*、wl* 上的私有地址),其次是 Tailscale 这类 100.64.0.0/10 地址,再其次是公网地址。VPN 软件的虚拟网卡地址(198.18.0.0/15)、回环和链路本地地址不会被放进二维码。
安全建议
密钥装好后,可以在 sshd_config 里关掉 PasswordAuthentication,并且不要把 22 端口直接暴露到公网。想让某台手机再也连不上,在 /rcs 里删掉它的密钥。
手机上能做什么
- 实时对话 —— 回复逐字出现;电脑终端里输入的消息也会出现在手机上,下面标着「电脑终端」。
- 开远程之前的对话也在 —— 新开的远程会话会先把已有对话(最近 400 条)同步到手机,所以中途才开
/rcl也能看到前面说过什么。 - 权限和提问 —— 电脑上弹出的权限请求、问答、计划确认,手机上同时出现,哪边先回答都行。
- 图片和 PDF —— 作为这一轮的附件发给电脑。
@可以补全会话目录里的文件。 - 斜杠命令 —— 用量、状态、上下文这类命令以文字回到手机;只对电脑终端有意义的命令会说明原因,不会在电脑上弹出面板卡住。
- 改动和文件 —— 查看未提交的改动(diff),浏览、打开会话目录里的文件(
~/.ssh这类敏感文件不给读)。 - 终端 —— 手机上打开这台电脑的终端。会话的颜色和电脑上一致(24 位真彩色)。
- 新建会话、接着旧对话 —— 手机可以在指定目录新建会话,也可以接着电脑上保存的对话继续。这些会话跑在 tmux 里,电脑上用
tmux attach -t hm-rc-xxxxxxxx就能接过来;手机新建的会话不会卡在「是否信任此文件夹」的提示上。
管理所有会话:/rcs
在任意一个 hipmmcode 终端里输入 /rcs(/remote-control-sessions):
- 主列表是开着远程的会话,每行写着方式(
/rc、/rcl、phone)、标题、目录、连着的手机和已开时长。选中后可以断开远程(会话继续在终端里跑)、结束手机新建的会话(连同它的 tmux)、显示二维码、断开某台手机。 - 没开远程的终端收在「Terminals with Remote Control off (N)」里。进去后直接打字,按标题或目录过滤,选中后选「Turn on /rcl」或「Turn on /rc」。那个终端会自己连上,不再弹首次说明;它正在回复时,等这一轮结束再连。
- 列表很长时跟着光标滚动,
PageUp/PageDown翻页,Esc先清空过滤、再按一次返回。 - 下面还有:被拒绝的手机(可以放行)、手机密钥(可以撤销)、整台电脑开关远程控制、停掉本机中转。
命令行里做同样的事:
bash
hipmmcode remote-control --list # 开着远程的会话 + 没开的有几个
hipmmcode remote-control --list --all # 连没开的也逐个列出(带 pid)
hipmmcode remote-control --start 48213 # 给这个终端打开 /rcl(--platform 为 /rc)
hipmmcode remote-control --disable # 整台电脑关闭远程控制(--enable 恢复)打开请求由那个终端自己读取并连接,所以它也得是 v1.3.1 或更新的版本。
常见问题
扫码后连不上。 先确认手机和电脑在同一个网络,或者都在 Tailscale 里。二维码里的地址应该是电脑的局域网地址(如 192.168.x.x);如果你的 hipmmcode 版本较旧,二维码里可能是 VPN 的 198.18.0.1,升级后就会选对。
电脑终端闪一下。 v1.3.1 起,手机连上、断开或重连时只重画右下角的角标,不会整屏闪。
手机上同一条消息出现两次。 v1.3.1 已修复:hipmmcode 有时会把想起的记忆放在提问前面,旧版本因此把手机发的消息当成电脑终端的新消息又发了一遍。
不开 VPN 能不能用。 /rcl 只在手机和电脑之间走 SSH,跟 VPN 无关。对话本身走什么网络,取决于当前渠道,见模型渠道。