SwayOS/开发者文档
v0.1.0
浏览文档目录v0.1.0+

SwayOS / 文档

v0.1.0

SwayOS 使用与开发指南

从安装客户端、连接第一台设备,到通过 CLI 或 SDK 接入 SwayOS。本文档优先提供能直接照做的步骤、命令和排查路径。

文档版本

v0.1.0

客户端

Windows · macOS · Linux · Android

开发工具

CLI · JavaScript SDK

核心服务

GMeta · XAgent

01

快速开始

安装 SwayOS

先在门户注册并验证账户,再从下载中心选择与你的系统和 CPU 架构匹配的安装包。受保护的安装包需要登录后下载。

  1. 1 / ACCOUNT

    创建账户

    使用常用邮箱注册,并按邮件提示完成验证。

    注册账户 →
  2. 2 / PACKAGE

    选择安装包

    确认系统、架构与版本,桌面端优先使用最新稳定版。

    查看下载 →
  3. 3 / VERIFY

    启动并登录

    打开客户端,用同一账户登录;首次启动会加载可用服务。

安装前检查

macOS 请区分 Apple Silicon 与 Intel;Linux 请按发行版选择对应包;Android 安装外部 APK 时需允许当前浏览器或文件管理器安装未知应用。

首次运行

完成首次配置

推荐按下列顺序确认账户、设备和数据路径。这样后续安装应用或创建智能体时,系统已经有明确的执行位置。

01

确认登录环境

公网账户选择“公网登录”;连接自托管节点时填写节点地址并使用节点账户。

02

检查系统状态

进入系统状态,先确认 GMeta 可访问;需要设备侧能力时还应确认 XAgent 在线。

03

添加执行设备

在“设备管理”中选择“添加设备”,完成后确认设备状态为在线。

04

准备数据源

在“数据源”中添加本地或对象存储;测试连接成功后,再上传或导入文件。

基础概念

账户与认证

门户账户负责下载与公共服务访问;节点账户负责具体 SwayOS 环境中的资源权限。两者可能由不同服务签发凭证,不要把 Token 写进代码仓库。

浏览器 / 客户端

  • 仅在官方门户或可信节点输入密码。
  • 会话过期后重新登录,不要反复刷新失败请求。

CLI / 自动化

  • 本地登录令牌由 CLI 保存到用户配置目录。
  • CI 中通过秘密变量注入 SWAY_AUTH_TOKEN。

核心能力

连接与管理设备

GMeta 保存设备、账户与调度等控制面信息;XAgent 运行在设备侧,承接文件、运行时和系统操作。设备出现在列表中并不等于设备侧能力已经在线。

01 / REGISTER

添加设备并记录生成的设备 ID。

02 / ONLINE

确认心跳、XAgent 地址与最近在线时间。

03 / OPERATE

再执行文件、终端、容器或应用操作。

智能体

从市场到运行

先在智能体市场确认用途、作者与版本,再安装到自己的环境。需要执行任务的智能体还必须选择在线设备和可用运行时。

  1. 1

    审阅

    检查说明、版本、权限与依赖。

  2. 2

    安装

    安装后回到应用中心确认入口。

  3. 3

    调度

    绑定设备和运行时,再观察状态与日志。

浏览智能体市场

开发工具

使用 Sway CLI

CLI 适合日常诊断、批量查询和自动化。当前仓库中的二进制名称为 sway-cli,可直接从源码安装。

从源码安装bash
cd app/sway-cli
cargo install --path . --locked
sway-cli --help
初始化、登录与健康检查bash
sway-cli config init
sway-cli config set gmeta_url https://<your-gmeta-host>
sway-cli auth login --username <name> --password '<password>'
sway-cli health --detailed
查询示例bash
# List online devices as JSON
sway-cli device list --status online --format json

# Inspect the current local configuration
sway-cli config show --format human

提示:命令行密码参数可能进入 Shell 历史。共享机器上建议使用临时会话,并在完成后执行 sway-cli auth logout。

应用集成

JavaScript / TypeScript SDK

@sway/sdk 将设备、用户、应用、数据源、任务和集群等客户端集中在同一个入口。服务地址和 Token 应从部署环境注入。

npm install @sway/sdkTypeScript
import { JsSwayClient } from '@sway/sdk';

const client = JsSwayClient.new({
  gmeta_url: 'https://<your-gmeta-host>',
  auth_token: process.env.SWAY_AUTH_TOKEN,
  timeout_ms: 30_000,
});

const health = await client.healthCheck();
const devices = await client.device().listDevices();

console.log(health.status, devices.items);

生产集成清单

  • ✓ 为请求设置超时和有限重试
  • ✓ 401 后停止请求并刷新认证
  • ✓ 不要在日志中输出 Token
  • ✓ 在启动时执行健康检查

配置参考

常用环境变量

自动化任务可用环境变量覆盖本地配置。机密值应来自 CI/CD 的 Secret 管理,而不是 .env 示例或仓库文件。

变量用途示例
SWAY_SERVER_URLGMeta 服务入口https://gmeta.example.com
SWAY_AUTH_TOKEN非交互认证 Token${{ secrets.SWAY_TOKEN }}
SWAY_OUTPUT_FORMATCLI 默认输出格式json / yaml / human

排查

常见问题

登录后立即返回登录页+

确认系统时间正确;清理过期会话后重新登录;若是节点登录,确认节点地址没有填成门户地址。

健康检查显示连接失败+

运行 config show 检查 GMeta URL;从同一网络访问健康端点;再检查代理、证书和防火墙。

设备存在但操作失败+

确认设备在线、XAgent 正常、设备 ID 匹配;查看最近心跳后再重试具体操作。

返回 401 或权限不足+

401 先重新认证;403 或权限不足需要核对账户角色、资源所有者和节点策略。