SuperAPI AI 工具集

huawei-cloud-devbridge-tunnel

部署与运维

查看项目

更新于 10-15 12:22

技能介绍

用途

Huawei Cloud DevBridge Development Tunnel 用于创建和管理 DevBridge 开发隧道,通过华为云中继基础设施,将本地开发服务(Web 服务器、API、调试端点)安全地暴露给远程设备,而无需开放公网入站端口。Host 与 Connect 两端均向中继服务发起出站连接,因此托管设备不需要公网入站端口。

典型使用场景包括:与团队成员进行远程调试和集成测试;向相关方分享开发中的网页;在本地开发期间接收 webhook 回调;从移动设备或其他机器访问本地服务;临时暴露本地 API 用于演示。

主要能力

  • 隧道管理:创建、列出、查看、更新、删除隧道,删除全部隧道,设置/清除默认隧道,查看配额与用量。
  • 端口管理:创建、列出、查看、更新、删除端口,支持 http / https / auto 协议,可配置匿名访问策略。
  • 托管与连接:托管隧道已配置端口,或创建临时隧道并立即托管;从远程设备连接隧道并建立本地端口映射。
  • 诊断:启动本地 HTTP echo 服务验证隧道链路,向 URI 发送 HTTP ping 并输出状态码与延迟,支持调试日志。
  • 动态命令适配层:所有隧道/端口/托管操作必须通过 scripts/devbridge_cmd.sh 中定义的 db_* 包装函数执行,而非直接调用 devbridge 命令(仅 devbridge auth 与 devbridge version 例外)。适配层在执行前通过 devbridge <command> --help 动态发现支持的参数,并在执行后解析 cobra 错误,自动恢复重命名参数、新增必填参数或重命名命令,使技能在 v0.2.x 内与版本无关。

使用方式

前置条件:Bash 与 curl,或 PowerShell 5.1+;x86-64 或 ARM64 架构;可访问 DevBridge 安装源;对 ~/.huawei 目录有写权限。

初始化(不向用户请求确认,db_init 静默自动完成安装、升级、鉴权检查与自动登录):

source <skill_directory>/scripts/devbridge_cmd.sh
db_init

快速创建流程(用户仅说“创建隧道”时):

source <skill_directory>/scripts/devbridge_cmd.sh
db_init
TUNNEL_NAME="dev-tunnel-$((RANDOM % 9000 + 1000))"
TUNNEL_ID=$(db_create "$TUNNEL_NAME" -d "开发隧道" -e 72)
db_port_create "$TUNNEL_ID" -p 8080 --protocol auto
db_host "$TUNNEL_ID"
TUNNEL_URL=$(db_tunnel_url "$TUNNEL_ID")
echo "Tunnel ID: $TUNNEL_ID"
echo "Tunnel URL: $TUNNEL_URL"

完整流程:安装或更新 CLI → 加载适配层并鉴权 → 创建隧道 → 配置端口 → 托管本地服务 → 从远程设备连接 → 清理。

安装 CLI 示例:

devbridge version
curl -fsSL https://gitcode.com/CloudDeveloperDepartment/devbrige/releases/download/latest/install.sh -o /tmp/devbridge_install.sh
bash /tmp/devbridge_install.sh -s
devbridge version

鉴权示例:

export PATH="$HOME/.huawei/bin:$PATH"
source <skill_directory>/scripts/devbridge_cmd.sh
db_init
devbridge auth status 2>/dev/null || devbridge auth login --api-key "$HW_API_KEY"

创建隧道与端口:

db_create <name> -d "<description>" -e <expiration>
db_port_create <tunnelId> -p <port> --protocol <protocol>

托管与连接:

nohup python3 -m http.server <port> > /tmp/devbridge-service.log 2>&1 &
db_host <tunnelId>
TUNNEL_URL=$(db_tunnel_url <tunnelId>)
echo "$TUNNEL_URL"
db_connect <tunnelId>

清理:

db_processes
db_process_stop <pid>
db_delete <tunnelId>

默认参数

  • 隧道名称:dev-tunnel-<random>(如 dev-tunnel-3847),最大 128 字符。
  • 描述:开发隧道,仅允许中文字符、数字、字母(不含空格),最大 64 字符。
  • 过期时间:72 小时(CLI 默认),范围 1–720 小时。
  • 端口:8080,范围 1–65535。
  • 协议:auto(可选 http / https / auto)。
  • 匿名访问:默认拒绝(--deny-anonymous 为 CLI 默认);仅在用户明确要求或内容明确公开时使用 -a 允许匿名访问。

版本与鉴权要求

  • CLI 版本:v0.2.x(从官方渠道安装,如 0.2.1-release / 0.2.2-release)。
  • 鉴权:API Key(devbridge auth login --api-key 或环境变量 HW_API_KEY)或交互式登录。v0.2.x 仅支持 API Key,--access-key / --secret-key / --security-token(AK/SK)参数已移除。API Key 在 DevBridge 管理页创建:https://devstation.connect.huaweicloud.com/space/devbridge/apikey。
  • 隧道域名:新集群域名(如 devbridge-s2.hwtunnel.com),以 devbridge host 实际输出的 Tunnel URL 为准。
  • 旧版本:v0.1.x 不受支持,旧域名已无法连接,必须使用 v0.2.x 并重新创建隧道。

限制与注意事项

  • 中继域名随集群变化,严禁按文档拼接 URL,一律用 db_tunnel_url <id> 读取权威地址。
  • 端口更新后需重启 host:若 host 进程已在运行,使用 devbridge port update 修改端口配置后,运行中的 host 进程不会自动感知变化,需先停止旧 host 进程(db_process_stop <pid>),再重新 db_host <tunnelId>。
  • 非交互/无头环境安装脚本需传 -s(静默),否则可能因读取 /dev/tty 提示“overwrite?”而失败。
  • GitCode 私有仓库安装:npx skills add 不支持 GitCode token 认证,需先 git clone 再手动复制。
  • 隧道创建流程零确认,唯一例外是隧道名称冲突时需用户选择是否复用现有隧道。
  • 破坏性操作(db_delete、db_delete_all、db_port_delete)直接执行,不请求确认。
  • 鉴权失败时需检查 auth status、验证 API Key 是否过期/删除,并暂停执行等待用户确认凭据更新后重试。
  • 文档中未提供具体收费、价格信息。