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 节点
中心部署好后,把已有节点接进来:
- 在 NexusDock 控制台发起节点配对,得到配对凭证
- 在目标机器的 AgentDock 配置里填入中心地址和配对凭证
- 控制台确认节点上线,能看到该节点的状态、版本、运行时信息
对每台设备重复这个过程。配对完成后,控制台的设备列表就是你的「机房面板」:哪台在线、跑什么版本、有哪些任务在跑,一眼全知。
值得强调的一点:控制台里看到的是各节点上报的运行时视图,原始数据(任务日志、Skills、MCP 配置)仍在节点本地。这既是隐私设计,也是故障隔离——某台设备断网,它的任务照跑,重新上线后视图自动同步。
配置 Embedding 与语义召回
NexusDock 的 Recall(长期记忆)支持语义检索,需要在中心配置 AI/向量服务:
- 在控制台的 AI 配置区填入 Embedding 服务的地址和凭证
- 兼容 OpenAI 格式的 Embedding API 都可以接,本地 Ollama 也能跑——本站的 Ollama 安装配置可以帮你把 Embedding 模型本地化
- 配置完成后,Recall 里的记忆会向量化入库,跨设备检索按语义匹配而不是关键词
隐私考量:Embedding 会把文本内容发给向量服务。介意数据出域的话,用本地 Embedding(Ollama 跑 nomic-embed-text 这类模型即可),整条链路完全不出你的网络。
网络与访问控制
18777 是管理端口,暴露策略要比 AgentDock 的 8765 更谨慎:
| 部署位置 | 访问方案 |
|---|---|
| 家庭 NAS | Cloudflare 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 实战展开。