ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何把远程服务器接入 AgentSpace:Daemon 远程执行部署完整指南

如何把远程服务器接入 AgentSpace:Daemon 远程执行部署完整指南
  • 人工智能
  • AI Agent
  • Agent 编排
  • 后端
  • 前端
  • 任务调度
  • 认证鉴权

【免费下载链接】AgentSpace

"AgentSpace: Human + Agents. One Team. One Workspace"

项目地址:https://gitcode.com/gh_mirrors/ag/AgentSpace
点击查看免费下载

AgentSpace是一个面向「人类 + AI Agent 团队」的协作工作区(Human + Agents. One Team. One Workspace),其中的Daemon 远程执行能力,可以让你用自己的远程服务器作为 AI Agent 的专属执行节点:Agent 在 AgentSpace 工作区里接活、调度,而真正耗资源、跨天跑的长任务,全部交给你的远程机器完成。本指南带你从零开始,完整走一遍「打包 → 安装 → 注册 → 绑定 Agent → 触发任务 → 生产托管」的全过程。

🧩 先搞懂:Daemon 远程执行是什么

AgentSpace 采用「控制面 + 执行面」分离的架构:

角色机器说明
控制面Server A部署 AgentSpace Web 控制台,负责调度、权限、审批与审计
执行面Server B(远程服务器)运行agent-space-daemon,执行 Agent 任务并回传产物

agent-space-daemon是一个独立可分发的远程执行底座(源码位于 packages/daemon/),它的职责是:

  • 🔌 把远端机器注册进 AgentSpace 工作区(携带 daemon token 认证)
  • 📦 轮询并拉取任务,解包 input bundle
  • ⚙️ 通过 AgentRouter 调用 provider CLI(claude、codex、agy、opencode、openclaw、hermes等)执行任务
  • 📤 打包运行时产物,安全写回正式工作流
  • 🪵 管理日志、PID、重试与优雅退出

一个关键优势:daemon不依赖 AgentSpace 仓库 checkout,也不需要访问apps/web、packages/db等服务端代码——远端机器只需 Node.js 和一个已登录的 provider CLI 即可接入。

✅ 部署前检查清单

Server A(控制台侧)

  • AgentSpace Web 已部署并可访问(本地开发:npm run dev:web后打开http://127.0.0.1:1455)

Server B(远程服务器侧)

  • Linux 机器
  • Node.js>=20.20.0(推荐 24)、npm 11.x
  • 已安装至少一个provider CLI,并且已用当前登录用户完成登录

在 Server B 上执行以下命令快速自检:

which codex || true which claude || true which agy || true which opencode || true which openclaw || true which hermes || true

⚠️ 注意:执行 daemon 的用户必须就是登录了 provider CLI 的那个用户。用 root 启动也可以,但需确认/root下已完成登录,且任务命令将以 root 权限执行。

🚀 最快接入方法:Web 控制台一键生成安装命令

官方推荐的「最短路径」是:在前端生成安装命令,在远程服务器上执行一条 bash 命令,容器自动上线。

  1. 打开控制台 Agents 页面:/agents?mode=container
  2. 点击「添加容器」(对应组件 add-container-modal.tsx)
  3. 弹窗中会自动生成一条 bash 安装命令,并显示Daemon token 记录 ID(留好它,最后吊销 token 时会用到)
  4. 复制命令,在 Server B 上执行:
bash <(curl -fsSL https://<server-a-domain>/api/daemon/install-script) \ --daemon-token "adt_xxx" \ --daemon-id "daemon-xxxxx"

这条命令背后会拉取 deploy/install-remote-daemon.sh 安装脚本:自动下载 daemon 安装包、写入~/.agent-space-daemon/daemon.env、生成启动器并拉起 daemon。

安装完成后立刻验证状态:

~/.agent-space-daemon/runtime/bin/agent-space-daemon status --json --state-dir ~/.agent-space-daemon ~/.agent-space-daemon/runtime/bin/agent-space-daemon logs --lines 50 --state-dir ~/.agent-space-daemon

预期:daemon 已启动,日志中没有 token / auth 报错。

📦 手动打包安装:适合完全离线的环境

如果你的远程服务器不方便直连控制台域名,也可以手动打包后安装:

# 1. 在有 AgentSpace 仓库的机器上打包 cd packages/daemon npm pack # 生成 agent-space-daemon-<version>.tgz # 2. 把 tgz 传到 Server B 后全局安装 npm install -g ./agent-space-daemon-<version>.tgz

安装脚本还支持--package/--package-url参数从本地路径或内网地址拉取安装包,详见 install-remote-daemon.sh 的帮助文档。

🖥️ 在 Web 控制台确认容器上线

daemon 启动后,回到 Server A 检查两处:

  1. /settings:应出现新的 daemon 卡片,状态为「在线 / Online」,模式为「远程 / Remote」(管理面板见 daemon-management-panel.tsx)
  2. /agents?mode=container:容器列表中应出现新容器,详情里可见 provider、deviceName、heartbeat 等信息

如果你的 Server B 上装了多个 provider CLI,这是正常现象——daemon 会同时注册多条 runtime,你只需在 Agent 设置里绑定想用的那一条即可。

🔗 把 Agent 绑定到远程容器

容器上线只是第一步,真正让 Agent「跑起来」需要绑定:

  1. 打开/agents?mode=agent,点击「新建 Agent」,填写名称、描述并创建
  2. 选中该 Agent,切到Settings标签
  3. 在Bind container下拉框中选择刚上线的容器,点击「绑定容器」
  4. 绑定成功后,Agent 的 Provider 不再为空

之后有两种方式触发远程执行:

  • 频道 @ 提及:在/im的任意频道发送@你的Agent 请回复一句:manual mention smoke passed
  • 私聊:在/contacts中找到 Agent,直接私聊发任务

任务会被路由到 Server B 上的 daemon 执行,最终回复、附件甚至文档更新都会写回工作区。完整验证流程可对照 deploy/REMOTE_DAEMON_TEST.md 逐项打勾。

🛠️ 常见问题排查(附关键参数说明)

症状最常见原因
daemon 起不来 / 一直离线daemon token 不对,或 Server A 域名不可达
注册后没有任何 runtimeServer B 没有安装 provider CLI
任务快速失败provider CLI 未登录,或登录用户与 daemon 用户不一致
发消息没有反应Agent 没绑定容器,或消息里没有真的@Agent

排查日志的第一站永远是 Server B:

~/.agent-space-daemon/runtime/bin/agent-space-daemon logs --lines 100 --state-dir ~/.agent-space-daemon

几个值得记住的关键参数(完整说明见 packages/daemon/README.md):

  • --task-timeout/AGENT_SPACE_TASK_TIMEOUT_MS:长任务超时控制,默认 12 小时,避免跨天执行被提前中断
  • --state-dir:状态目录,默认~/.agent-space-daemon
  • --device-name/--daemon-id:设备标识,默认取主机名
  • CLAUDE_MODEL、OPENCODE_MODEL、OPENCLAW_MODEL等环境变量:可按 provider 覆盖模型

⚙️ 生产环境:用 systemd 托管 daemon

生产部署建议用 systemd 托管,实现开机自启和崩溃自动拉起。仓库已提供现成配置:

  • 服务单元:agentspace-daemon.service(Restart=always,5 秒后自动拉起)
  • 环境模板:agentspace-daemon.env.example

大致步骤:

  1. 将 env 模板复制到/etc/agentspace/daemon.env,填入真实的AGENT_SPACE_SERVER_URL、AGENT_SPACE_DAEMON_TOKEN等
  2. 安装 agentspace-daemon.service 到/etc/systemd/system/
  3. systemctl enable --now agentspace-daemon启动并设置自启

🧹 收尾:停止与吊销

下线一台远程执行节点时,按顺序做三件事:

  1. 吊销 token:在/settings的 token 列表中找到对应记录(ID 与「添加容器」弹窗一致),点击「吊销」
  2. 解绑 Agent:在/agents中选中 Agent,Settings 里点击「解除绑定」
  3. 停止 daemon:
~/.agent-space-daemon/runtime/bin/agent-space-daemon stop --state-dir ~/.agent-space-daemon

刷新/settings,确认该 daemon 状态变为 offline 即完成清理。


至此,你已经完成了一次完整的AgentSpace Daemon 远程执行部署:远程服务器接入了工作区,Agent 在「添加容器 → 绑定 → @ 一下」三步之后就能在你的机器上跑起跨天长任务。更多 provider 细节(OpenClaw 健康检查、Hermes、Cube sandbox 实验特性)可继续查阅 packages/daemon/README.md。

  • 人工智能
  • AI Agent
  • Agent 编排
  • 后端
  • 前端
  • 任务调度
  • 认证鉴权

【免费下载链接】AgentSpace

"AgentSpace: Human + Agents. One Team. One Workspace"

项目地址:https://gitcode.com/gh_mirrors/ag/AgentSpace
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进