NexusDock 是什么

NexusDock 是 AgentDock 的自托管中心服务。如果你在多台 Mac、Windows、Linux 或容器上都跑着 AgentDock,NexusDock 就是把它们串起来的那个「指挥台」:

  • 节点管理:设备配对、在线状态、版本一目了然
  • 统一 MCP 入口:AI 客户端只配一个地址,后面挂着所有节点
  • 集中 Recall:跨设备共享的长期记忆,语义检索
  • Workflow 模板:可复用的任务模板,跨节点编排
  • 文件代理:节点间文件传输走中心代理,不用自己搭通道

一个关键设计要先说清楚:NexusDock 是控制面,不是数据面。 你的任务记录、记忆、Skills 全部留在各节点的 AgentDock 本地,NexusDock 只保存编排所需的最小信息。中心挂了节点照常工作,数据主权始终在你自己手里。

部署:一条 Docker 命令

官方镜像 agentdockio/nexusdock,监听 18777 端口。最小化部署:

docker run -d \
  --name nexusdock \
  -p 18777:18777 \
  -v nexusdock_data:/data \
  --read-only \
  --cap-drop=ALL \
  --user 10001:10001 \
  agentdockio/nexusdock:latest

注意命令里的三个安全参数——--read-only(只读根文件系统)、--cap-drop=ALL(移除全部 Linux capabilities)、--user 10001:10001(非特权用户运行)。这是官方镜像自带的安全强化,建议原样保留:中心服务跑在最低权限下,即使有漏洞利用,容器内也做不了什么。

数据卷 nexusdock_data 持久化中心配置。部署完成后浏览器打开:

http://你的服务器IP:18777

首次进入按引导完成管理员初始化。

Docker Compose 版本(推荐长期使用)

单条 docker run 适合试用,长期跑建议 Compose 管理:

services:
  nexusdock:
    image: agentdockio/nexusdock:latest
    container_name: nexusdock
    restart: unless-stopped
    ports:
      - "18777:18777"
    volumes:
      - nexusdock_data:/data
    read_only: true
    cap_drop:
      - ALL
    user: "10001:10001"

volumes:
  nexusdock_data:

docker compose up -d 启动,升级时 docker compose pull && docker compose up -d。部署形态和本站写过的 n8n Docker 部署是同一套范式——自托管服务上 NAS 或 VPS 的套路完全通用。

接入第一个 AgentDock 节点

中心部署好后,把已有节点接进来:

  1. 在 NexusDock 控制台发起节点配对,得到配对凭证
  2. 在目标机器的 AgentDock 配置里填入中心地址和配对凭证
  3. 控制台确认节点上线,能看到该节点的状态、版本、运行时信息

对每台设备重复这个过程。配对完成后,控制台的设备列表就是你的「机房面板」:哪台在线、跑什么版本、有哪些任务在跑,一眼全知。

值得强调的一点:控制台里看到的是各节点上报的运行时视图,原始数据(任务日志、Skills、MCP 配置)仍在节点本地。这既是隐私设计,也是故障隔离——某台设备断网,它的任务照跑,重新上线后视图自动同步。

配置 Embedding 与语义召回

NexusDock 的 Recall(长期记忆)支持语义检索,需要在中心配置 AI/向量服务:

  • 在控制台的 AI 配置区填入 Embedding 服务的地址和凭证
  • 兼容 OpenAI 格式的 Embedding API 都可以接,本地 Ollama 也能跑——本站的 Ollama 安装配置可以帮你把 Embedding 模型本地化
  • 配置完成后,Recall 里的记忆会向量化入库,跨设备检索按语义匹配而不是关键词

隐私考量:Embedding 会把文本内容发给向量服务。介意数据出域的话,用本地 Embedding(Ollama 跑 nomic-embed-text 这类模型即可),整条链路完全不出你的网络。

网络与访问控制

18777 是管理端口,暴露策略要比 AgentDock 的 8765 更谨慎:

部署位置访问方案
家庭 NASCloudflare Tunnel + Access 策略,或仅内网访问
VPS反代 + HTTPS + 管理员凭证,防火墙限源
纯内网直接内网 IP 访问,最安全

AI 客户端连接统一 MCP 入口时用 NexusDock 签发的 Access Token——按客户端分发独立 Token,别所有客户端共用一把钥匙。

部署后验证清单

  • http://IP:18777 打开控制台,完成管理员初始化
  • 至少一个 AgentDock 节点配对上线,状态显示正常
  • 用 AI 客户端连统一入口,能列出工具
  • Embedding 配置完成(如需语义 Recall)
  • 18777 端口的公网暴露策略符合预期(最好是不暴露)

部署避坑清单

实际部署里出现频率最高的六个坑,动手前对照一遍:

现象处理
端口被占用容器起了、面板打不开ss -tlnp(或 netstat)查 18777 占用;换宿主机端口 -p 28777:18777 即可,容器内端口不用动
没挂数据卷升级或重建容器后配置全丢命名卷 nexusdock_data 必须挂上,升级前确认卷还在
删掉安全参数图省事去掉 --read-only--cap-drop=ALL中心服务是整套体系里权限最高的入口,三个安全参数一个都别省
18777 直接暴露公网管理面板被外网扫到走反代 + HTTPS + 访问策略,或只留内网——管理端口默认不该出现在公网
Embedding 用了外部服务记忆文本出域隐私敏感就切本地 Embedding(Ollama),链路不出内网
升级后不验证版本变了、节点掉了没察觉每次升级后过一遍文末验证清单,重点看节点在线状态

常见问题 FAQ

Q:NexusDock 挂了,各节点还能干活吗?

能。这正是控制面与数据面分离的意义:任务记录、记忆、Skills 都在各节点的 AgentDock 本地,中心不可达时节点照常执行任务,恢复后上报视图自动补齐。中心挂掉的损失是「统一入口和跨节点编排暂时不可用」,不是「全线停摆」。

Q:只有一台设备,需要部署 NexusDock 吗?

不需要。它是多节点的「指挥台」,单设备场景直接用 AgentDock 就够。什么时候你的设备多到「哪台机器干过什么都要想半天」,什么时候再上中心。

Q:数据卷需要备份吗?

需要。管理员凭证、AI 配置、Workflow 模板都在 nexusdock_data 卷里;节点侧数据各自本地留存,中心这份是唯一需要你主动备份的——别让中心成为整套系统里唯一没有备份的组件。

Q:能用反向代理挂到自己的域名下吗?

可以,自托管服务的通用反代方案都适用,和反代 n8n 是同一套做法。前提是配好 HTTPS——管理凭证和配对凭证明文过公网不可接受,这也是上表「不要直接暴露 18777」的另一种解法。

下一步

中心搭好、节点接完,NexusDock 最有价值的两个能力值得专门学:Recall 长期记忆(让 AI 记住跨会话、跨设备的上下文)和 Workflow 任务模板(把常用多步流程固化成可复用资产)。下一篇Recall 与 Workflow 实战展开。