端口与预览
在 iPhone 上打开电脑上的开发服务器,临时分享一个,并查看到达它的请求。
这一切都需要电脑上的 coderemote 0.2.0 或更高版本。版本较旧时应用会提示:运行 coderemote update(或 npm install -g coderemote@latest),然后重新启动 coderemote up。
Ports 标签页
列出你的用户正在监听的 TCP 端口,每隔几秒刷新:
- Started in Code Remote:你在应用的终端中启动的服务器,并带有返回该终端的快捷方式。
- Other:在项目文件夹中运行的其他所有内容,例如你在电脑上自己启动的服务器。
- Background:应用和系统服务,在你要求之前保持隐藏。
滑动一个端口可停止它背后的进程(它会收到 SIGTERM,类似 Ctrl+C);按住则可选 Force Stop(SIGKILL)。只能停止此刻正在监听的进程,且绝不能停止其他用户的进程。停止另一个 coderemote 智能体前会先询问,因为所有与它配对的设备都会失去它的文件夹。
预览
点按一个端口即可在应用中打开它。第一次需要几秒钟,电脑会把它开放到隧道上;之后它就像任何页面一样加载,并且已经以你的身份登录。
- 位于
localhost、127.0.0.1或::1的服务器都可以:无需让你的开发服务器监听所有网络接口。 - 请求到达你的服务器时的地址是
localhost:<port>,所以会检查主机名的服务器(例如 Vite)可以直接接受。 - Copy Link 和 Open in Safari 会给你预览的地址。它是私有的:Safari 会先要求你用同一个账号登录。
- Stop Preview 把端口从隧道上移除。你的服务器继续运行。
- 当你的服务器停止时(你在 Ports 标签页中停止它、关闭它的终端、按下 Ctrl+C,或它崩溃了),一旦该端口 30 秒内没有任何监听,它的预览就会自动结束,公开链接也一样。在这段时间内重启的服务器会保留其预览。从 Ports 标签页停止的会立即失去预览。需要 coderemote 0.3.8 或更高版本。
正在预览的端口会在 Ports 标签页中标记。
分享公开链接
要让没有账号的人看到你的成果,请打开预览的菜单并选择 Share Publicly,可选一小时、八小时或一天。在此期间,任何拿到链接的人都无需登录就能打开该端口。
- 只有那个端口被共享。智能体、它的文件和它的终端仍然是私有的,走的是它们自己的隧道。
- 横幅会显示链接公开到什么时候,并提供 Make Private 以立即结束。Ports 标签页会用地球图标标记该端口。
- 当你停止预览或智能体时,链接也会失效。
请记住这是一个开发服务器:只分享给你愿意向其展示屏幕的人,用完后记得改回私有。
请求
预览中的列表图标会显示到达该端口的请求,最新的在前并实时更新:方法、路径、状态、时间和大小,按状态着色。点按某一项可查看它的请求头和请求体;JSON 会缩进,压缩的请求体会被解压。
- 凡是通过预览链接进来的内容都适用:页面本身、它的 API 调用、你指向共享链接的 webhook。
- 每个端口保留最近 200 个请求,请求体最大 64 KB。WebSocket(热重载)原样通过;只列出它们的握手。
- 它们保存在你的电脑内存中:Clear 会清除它们,停止
coderemote up也会。
列表下方的栏用于缩小范围。筛选按钮选择类型(All、Fetch/XHR、CSS、Image 或 JS,根据响应类型和文件扩展名判断),搜索框则匹配方法和路径。
同样的日志也可以在电脑上的终端里用 coderemote requests 读取,这样像 Claude Code 这样的编程智能体就能用它来调试。除非它要求,否则令牌和 Cookie 在那里会被遮蔽。
工作原理
预览不经过智能体自己的隧道。第一次预览某个端口时,智能体会创建第二个私有隧道,标签为 coderemote-preview,并把你的端口转发到那里。添加或移除端口会重启该隧道的连接,所以其他已打开的预览会闪一下,而你的终端、文件和 git 完全不受影响。
每个被预览的端口都会经过智能体中的一个小型代理,请求就是由它记录的。这就是预览地址带的是代理的端口号而不是你服务器的端口号的原因(5173 端口的服务器对应 …-49213.usw2.devtunnels.ms):应用始终显示你服务器自己的端口。
智能体停止时会删除预览隧道;如果做不到(比如电脑离线了),下一次 coderemote up 会代为删除。共享链接绝不会比创建它的智能体存活得更久,旧的预览也不会占用你账号的 10 个隧道名额。当账号仍然满了时,新的预览会先删除没有智能体在使用的预览隧道;如果还不够,应用会提示,电脑上的 coderemote tunnels 会显示该删除什么。