Skip to content

远程控制 ​

在电脑上开着的 hipmmcode 会话,可以用手机接着干:看实时回复、批准权限、回答提问、发图片和 PDF、浏览文件、打开终端。手机上发的消息和电脑终端里输入的,进的是同一个会话。

方式命令手机怎么连适合
本机直连/remote-control-local(/rcl)手机上的 HM Bot 经 SSH 连这台电脑,不经过任何中转服务器手机能连到这台电脑(同一局域网、Tailscale 之类)
经平台/remote-control(/rc)经平台中转,用 HiPMMCode 手机端手机和电脑不在一个网络;需要先 hipmmcode login

用 /rcl 连上手机 ​

  1. 在 hipmmcode 里输入 /rcl。第一次用会说明这是什么,确认后屏幕上出现二维码。
  2. 打开手机上的 HM Bot,扫这个二维码。二维码里是这台电脑的局域网地址、SSH 端口和用户名、主机指纹,以及这个会话。
  3. 第一次连接要输入一次这台电脑的登录密码。连上后 HM Bot 会为这台手机生成专用密钥,装进 ~/.ssh/authorized_keys,然后删掉手机里存的密码;以后都用密钥登录。
  4. 连上后,输入框右上角显示 /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 无关。对话本身走什么网络,取决于当前渠道,见模型渠道。