Remote 是 Clodds 的远程访问管理模块,用于把本地运行的 Clodds 实例通过隧道暴露到外部网络,并统一管理这些连接。
用途:为本地服务提供公网访问入口,便于测试 Webhook、从手机等外部设备访问机器人,或进行远程调试。
主要能力:支持四种隧道类型——ngrok(适合快速测试,需免费账号)、Cloudflare(适合生产环境,需 Cloudflare 账号)、SSH(安全访问,需 SSH 服务器)、localtunnel(免费临时,无额外要求)。提供聊天命令与 TypeScript API 两套操作方式。
聊天命令:/remote tunnel ngrok 3000 通过 ngrok 暴露端口;/remote tunnel cloudflare 3000 通过 Cloudflare 暴露;/remote tunnel ssh 3000 user@server 建立 SSH 隧道;/remote tunnel localtunnel 3000 通过 localtunnel 暴露。管理命令包括 /remote list 列出活动隧道、/remote status <id> 检查健康状态、/remote url <id> 获取隧道 URL、/remote close <id> 关闭单个隧道、/remote close-all 关闭全部。端口转发使用 /remote forward 8080:localhost:3000(本地转发)和 /remote forward remote 3000:server:80(远程转发)。
TypeScript API:通过 import { createRemoteManager } from 'clodds/remote' 创建管理器,可配置 ngrokAuthToken、cloudflareToken、sshKeyPath、autoReconnect、reconnectDelayMs。提供 createNgrokTunnel、createCloudflareTunnel、createSshTunnel 创建隧道,listTunnels 列出隧道,getStatus 查询状态(connected、reconnecting、disconnected,含 uptimeMs、bytesIn、bytesOut),closeTunnel 与 closeAll 关闭隧道,并支持 connected、disconnected、error 事件监听。
限制与建议:ngrok 自定义子域名需付费计划;生产环境建议使用 Cloudflare 隧道;暴露服务时应配置认证保护;需监控连接状态并及时关闭不再使用的隧道。具体收费、价格与平台细节资料未提供。