跳到主要内容

Runner 与云端环境

Runner(执行机)是启动 Agent 底座、实际执行工作的进程。

  • 本机 Runner:内置在桌面客户端里,不需要配置。
  • 云端 Runner:运行在一台持续在线的服务器上的独立执行机。它工作时,用户可以关闭自己的客户端。
  • 工作电脑 Runner:运行在团队里一台已授权电脑上的独立执行机,适合需要用到这台电脑上的文件或工具的工作。接入步骤和云端 Runner 相同。

三种都是同一个 Runner 程序,内部结构见架构:Runner 内部。

接入云端 Runner​

开始前:准备一台能通过 HTTPS 访问 Hub 的服务器,并且你有管理执行机的权限(runner.manage),或者是在接入自己的云端环境。

  1. 在客户端打开 设置 → 云端环境,点 配置执行机。管理员也可以在管理端的 执行网络 里接入共享执行机。
  2. 点 复制接入指令。指令里包含这台机器专属的密钥,只显示一次。
  3. 在服务器的终端里运行这条指令。
    • Linux 会把执行机安装到 /opt/soduwork-runner,并注册一个 systemd 服务,需要 root 或 sudo。
    • Windows 使用 PowerShell 安装脚本。
  4. 回到 云端环境,点 刷新。执行机连上后就会出现在列表里。

这个密钥拥有这台执行机的接入权限。只在目标电脑的终端里使用,不要发到聊天或工单里。需要更换时,在同一页面轮换凭据。

卸载执行机:sudo bash runner-install.sh --uninstall。

执行机选项​

安装脚本会写好执行机的配置。自己运行 runner_main.py 时,也可以使用这些选项:

选项环境变量含义
--hubSODUWORK_HUBHub 地址
--keySODUWORK_RUNNER_KEY这台机器的密钥
--idSODUWORK_RUNNER_ID执行机 ID
--tagsSODUWORK_RUNNER_TAGS逗号分隔的标签,例如 linux,intranet。工作流节点可以要求特定标签
--work-rootSODUWORK_WORK_ROOT任务和首次克隆的代码放在哪里
--data-rootSODUWORK_DATA_ROOT执行机的会话和日志目录
--max-concurrentSODUWORK_RUNNER_MAX_CONCURRENT并发工作数的上限,1~20。实际值会根据 CPU 和内存自动调整
--doctor检查命令行工具、终端和内置 Skill 后退出

在执行机上安装底座​

每台执行机各自安装 Agent 底座。请用执行机服务使用的同一个账号安装,确保 Node.js、npm 和底座都在这个账号的 PATH 里,然后重启执行机并检查连接。systemd 不会加载交互式 shell 的配置文件,所以只写在 ~/.bashrc 里的 PATH(例如 nvm 设置的)不会生效。

管理执行机​

在客户端的 云端环境 里,用户可以改名、暂停接单或删除自己的执行机。在管理端的 执行网络 → Runner 执行机 里可以看到所有执行机,管理员可以调整可用状态并重新分配。

没有执行机能接手云端对话时,客户端会说明原因:离线、缺少底座、未登录、能力不足或已满载。

安全​

  • 执行机只接入你信任的 Hub。
  • Hub 不会获得执行机的 Docker socket 或 SSH 凭据。
  • 插件用到的密钥保存在执行机上,只注入需要它的那一步(见能力与密钥)。
harness harnesses runtime runtimes 底座
编辑此页