mcpField
Z
zeabur-server-list

zeabur-server-list

github.com/zeabur云与 DevOps39176 次安装7 周前更新
代码仓库

关于 zeabur-server-list

zeabur-server-list 是通过 Zeabur CLI 查看和连接服务器的技能。它帮助区分 ZeaburOS 机器与 Ubuntu VPS,并提供查询详情、重启和 SSH 命令。

主要功能

  1. 01列出服务器并查看操作系统
  2. 02查询资源和服务商详情
  3. 03重启服务器
  4. 04通过 SSH 连接
  5. 05以非交互方式运行远程命令

适用场景

  1. 01确认哪些机器可运行 Zeabur 项目
  2. 02查看服务器用量和位置
  3. 03通过 SSH 执行远程诊断

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zeabur/agent-skills --skill zeabur-server-list

安装后在 Claude Code 中输入/zeabur-server-list确认已加载。

详细介绍

Zeabur 服务器列表和详情

始终使用 npx zeabur@latest 调用 Zeabur CLI。 切勿直接使用 zeabur 或通过其他安装方式调用。如果没有 npx,请先安装 Node.js。

列出所有服务器

npx zeabur@latest server list -i=false

输出示例

     ID              NAME        IP              PROVIDER   LOCATION         STATUS   VM STATUS   OS
-----------------+-------------+---------------+----------+----------------+--------+-----------+----------
 6989b00fd42b...   my-server    103.45.67.89    Hetzner    Singapore, SG    Online   RUNNING     ZeaburOS
 6989b00fd42b...   dev-box      45.67.89.12     Vultr      Tokyo, JP        Online   RUNNING     Ubuntu

查看哪些服务器可以托管 Zeabur 项目:读取 OS 列

ZeaburOS 表示该机器可以托管 Zeabur 项目;Ubuntu 表示不可以(除非先在该机器上安装 ZeaburOS)。这是权威答案——不要通过 SSH 登录机器来判断它属于哪种类型。

如需机器可读的输出,--json 中每台服务器的 os 值与此处相同:

npx zeabur@latest server list -i=false --json | jq -r '.[] | "\(.Name)\t\(.os)"'

需要 CLI 0.21.0 或更高版本。如果 OS 列和 os 字段都不存在,说明 CLI 版本较旧;可以让 npx zeabur@latest 获取当前版本,或者改为通过 API 查询 hasK3s(zeabur-server-ssh 技能说明了该字段的三态陷阱)。

获取服务器详情

# By server ID
npx zeabur@latest server get <server-id> -i=false

显示详细信息:OS、CPU/内存/磁盘使用情况、提供商、位置、托管状态和创建时间。

资源列显示为 已用/总量——CPU 以毫核为单位(148/4000 m 表示 4 核中的 0.15 核),内存和磁盘以 MB 为单位。列显示 — 表示未测量该值,并不表示机器没有该资源。

重启服务器

npx zeabur@latest server reboot <server-id> -y

-y 会跳过确认提示——非交互式使用时必须指定。

服务器和项目

只有服务器运行 ZeaburOS 后,才能托管 Zeabur 项目。项目部署在此类服务器上时,其 Region.ID 的值为 server-<server-id>。

租用服务器后,系统会安装 Ubuntu——只有基础 OS 和 SSH,不含 Zeabur 服务。因此,新租用的服务器在安装 ZeaburOS 之前无法托管项目。zeabur-server-rent 技能介绍了这一步骤。查看上方的 OS 列即可判断特定服务器属于哪种类型。

直接安装仅适用于尚未配置的机器。对于用户已经配置过的机器,转换意味着要在控制面板中重新安装,这会清空磁盘——建议前先查看 zeabur-server-rent 技能。

在 ZeaburOS 服务器上:

  • 要部署服务,请使用 zeabur-deploy 技能,并确保项目绑定到该服务器——不要通过 SSH 登录并手动搭建 Web 服务器或复制文件。
  • SSH 仅用于底层调试(例如检查 kubectl、查看磁盘、诊断网络)。部署或管理服务不需要 SSH。

在纯 Ubuntu VPS 上: SSH 不是用于旁路调试,而是使用该机器的核心方式——用户可以按自己的喜好配置机器(docker compose、1Panel、寶塔等)。此类机器没有 Zeabur 服务可供管理,也不存在 kubectl。

通过 SSH 登录服务器

npx zeabur@latest server ssh <server-id>

以下 kubectl 示例假设服务器运行的是 ZeaburOS。在纯 Ubuntu VPS 上, 这些示例会因 command not found 而失败——请参阅 zeabur-server-ssh 技能,了解如何 区分这两种服务器。

对于托管服务器,系统会自动获取密码。如果已安装 sshpass,则会全自动登录;否则会打印密码,供手动输入。

非交互式 SSH(运行远程命令)

在非交互式环境(例如 Claude Code、CI/CD)中,无法使用交互式 SSH 会话。请改为通过标准输入管道传递命令,并指定 -i=false:

echo 'kubectl get pods -A' | npx zeabur@latest server ssh <server-id> -i=false

如需运行多条命令,请用 ; 或 && 分隔:

echo 'kubectl get pods -A; kubectl get svc -A' | npx zeabur@latest server ssh <server-id> -i=false

重要说明:

  • 输出中包含服务器的 MOTD(每日消息)横幅。解析结果时请将其过滤掉:
    echo 'kubectl get pods -A' | npx zeabur@latest server ssh <server-id> -i=false 2>&1 \
      | grep -v "Welcome\|Documentation\|Management\|Support\|System load\|Usage of /\|Memory usage\|Swap usage\|Strictly\|just raised\|https://ubuntu\|Expanded\|updates can\|To see these\|Enable ESM\|See https://ubuntu\|New release\|Run 'do-release\|restart required\|INFO.*Connecting\|Pseudo-terminal\|^ \*"
    
  • 如果远程命令返回非零退出码(例如 grep 没有匹配项),CLI 会打印 ERROR exit status 1。这不一定意味着 SSH 连接失败。
  • 此命令无法可靠支持 HereDoc 语法(<<'EOF')。请始终使用 echo '...' |。

评论

支持 Markdown