新闻
Tactic Remote 1.6.1:终端原生文本选择与更顺滑的首次连接
长按即可原生选择终端输出,用 `npx tacticremote` 更快连接新机器,并同步获得更严格的服务端安全防护。
继续查看该栏目下的产品与工程更新。
浏览此分类1.6.1 聚焦两个最影响第一印象的环节:终端交互和首次连接。目标很直接: 让终端在 iOS 上更像原生界面,也让新机器接入不再依赖一长串设置说明。
终端原生文本选择
这是本次更新中用户最能直观感受到的变化。
此前,Tactic Remote 的终端输出是静态渲染的——可以阅读,但无法选中或复制。当 Claude 输出一段命令、一个链接或一段代码时,你只能手动重新输入,这是一个真实存在的摩擦点。
现在,在终端任意位置长按即可开始选择文本。iOS 原生的选择手柄会出现,你可以用和其他 iOS 应用完全相同的方式复制内容,粘贴到备忘录、编辑器或任何其他目标。
在实现层面,这要求我们重写了终端渲染器。原有实现基于 SwiftUI Text 视图,布局灵活但不支持文本选择。新的渲染器基于 UIKit UITextView,并配合自定义 ANSI 转义码解析器。它支持 16 色、256 色和完整的 24 位真彩色序列,语法高亮输出和彩色 diff 均能正确渲染,同时保持完全可选中状态。
30 秒完成连接
另一个重要改进是如何连接新服务器。
当你打开服务器列表且尚未添加任何服务器时,现在会看到一张“连接你的电脑”卡片。它直接在应用内显示需要运行的命令 npx tacticremote,不再需要你去查文档或记包名。在 Mac 或 Linux 上运行该命令后,服务端会启动并在终端打印二维码。
用 Tactic Remote 扫描该二维码,服务器即自动保存。完成。
结合 v1.6.0 引入的 CLI 路径,新的引导流程就是:运行一条命令、扫描一个二维码、完成连接。无需注册账号,无需手动输入 IP,也不需要做端口转发,除非你明确要在局域网外访问。
如果你已经添加了服务器,这张卡片不会干扰你——它只在服务器列表为空时显示。
安全加固
本次更新在服务端包含了若干加固改动:
git_info请求的路径验证更加严格,防止路径遍历越出工作目录。- 上传并发数量设置了上限,避免并行上传请求耗尽资源。
- 钩子脚本的输入在传入 shell 执行前进行了净化处理。
完整的安全相关改动请参阅 1.6.1 更新日志。
问题修复
- 离开聊天界面时,麦克风访问权限现在可以正确释放。此前麦克风会话可能在导航离开后仍保持开启,导致 iOS 状态栏持续显示麦克风使用指示。
- 快速切换服务器时,连接状态现在可以正确同步。此前存在一个竞态条件,可能导致切走后 UI 仍显示旧的已连接状态。
v1.6.1 现已可在 /download 页面获取。如果你使用 CLI 路径,重新运行 npx tacticremote 会在首次启动时下载对应二进制,后续启动则复用本地缓存。