在手机上使用编程 agent 的 Web UI
通过 TSLink 在手机上打开编程 agent 的界面或开发服务器。配置私有访问,核实准确地址,并在用完后移除分享。
按端口分享正在运行的开发服务器,或用 tslink share ./report.html 只分享一个报告文件;在获准访问的 Tailscale 手机上打开,用完后移除分享。文件流程见私有分享一份 HTML 报告。
开始前的准备
在发布机器上安装 TSLink,并让 HTTP UI 或开发服务器已在 daemon 可达的地址运行。发布机器不需要另装 Tailscale 应用。启用 MagicDNS 和 HTTPS,并在 tailnet 策略中允许连接。参见首次私有分享、Tailscale HTTPS 设置及访问控制。
任何在 daemon 可达端口上提供 HTTP 服务的 agent UI 或开发服务器都适用,例如 OpenCode、Vite 或 Next.js 的开发服务器。TSLink 只转发请求,不负责启动、配置或登录这个应用。
发布 agent 正在使用的端口
使用应用实际选择的端口。以 3000 为例:
tslink share localhost:3000 --name agent-ui --json保存返回的 data.name:请求的名称可能附加数字后缀。之后的每条命令都使用这个实际名称。分享操作可能安装或启动 TSLink 后台服务,但不会启动目标开发服务器。参见应用管理和daemon 生命周期。
Agent 可以使用 CLI --json 或 MCP 的 share、unshare。MCP 注册和移除分享需要 owner,远程 MCP 也一样;app-operator、people-manager 和 viewer 不能创建或删除分享。本地 stdio MCP 默认是 owner。CLI 使用启动它的操作系统用户权限,不使用 MCP 角色。参见MCP 配置和MCP 角色。
完成注册并复制准确地址
若 status 为 needs_login,把返回的 auth_url 交给所有者。命令已经成功,正在等待有人完成注册,这时还没有可用的应用地址。由人完成注册及必要的设备审批,再把下面的 <returned-name> 替换为保存的实际名称:
tslink url <returned-name> --wait --json
tslink status --urls --name <returned-name> --json使用准确返回的 endpoint,并在手机上取得真实响应后再认定预览可用。参见注册与获取地址和Tailscale tsnet 认证。
在手机上打开
手机需要浏览器,以及已安装、已连接并登录的 Tailscale,不需要安装 TSLink。tslink share 不做按人检查:tailnet 策略允许访问该节点的任何设备都能打开这个 UI。如果只想让自己的账号访问,改用 tslink add agent-ui --proxy localhost:3000 --allow you@example.com 注册,或在 MCP share 工具中传入 allow。Tailnet 外的接收者还需要接受应用节点邀请。参见人员分享、Tailscale iOS、Android和设备分享。
检查登录、实时更新和主机设置
保留 UI 自己的认证和工具权限。TSLink 代理应用功能,不会授权另一个 MCP 服务器的工具。参见MCP 托管和访问边界。
TSLink 的 HTTP 代理会转发 WebSocket upgrade,SSE 等流式响应也不受上传超时限制,热更新和 agent 的实时输出都能到达手机。share 默认把 Host 头改写为本地目标,浏览器的 Origin 保持原样。如果应用检查 Origin,或在使用 --preserve-host 时检查允许的主机名,请把 tslink url 返回的准确地址加入允许列表。在手机上用这个地址打开应用,确认登录、实时更新和布局都正常后再投入使用。参见反向代理、应用配方与 WebSocket和请求限制与流式响应。
移除预览
只移除返回的实际名称:
tslink remove <returned-name> --jsonMCP 对应工具是 unshare。移除会删除注册,daemon 随后协调状态并关闭节点。远端设备删除取决于凭据和所有权证明;它不会停止 agent 或后端、卸载 daemon,也不能收回已下载的数据。如需停止开发服务器,请单独操作,并检查清理结果。参见应用移除和MCP 角色。
以上 Tailscale 官方来源访问日期:2026-10-07。产品行为依据 TSLink v0.1.1。