返回博客
AI AgentsDockerSelf-Hosting

在 Docker 中运行自托管 AI 智能体:2026 年实践指南

如何在不耗费整个周末的情况下,在 Docker 中运行自托管 AI 智能体。架构详解、利弊权衡,以及 2026 年真正可用的方案。

作者:Hermify Team||阅读约 3 分钟
深色终端界面显示 docker compose up 命令正在启动 AI 智能体容器,状态指示灯呈绿色

为什么 Docker 是运行自托管 AI 智能体的首选方式

如果你决定在自己的基础设施上运行 AI 智能体,而不是按月支付 SaaS 费用,那么 Docker 几乎肯定是你的最终选择。2026 年,每个主流开源智能体运行时都会在仓库中附带 Dockerfile 或 docker-compose.yml。这一模式之所以成为行业共识,是因为容器同时解决了自托管智能体时面临的四个核心问题:Python 或 Node 的运行时版本、音频或视觉功能所需的系统依赖、向 Telegram 或 Slack Webhook 暴露的网络接口,以及智能体在重启后需要的持久化状态(数据库和向量存储)。

本文将介绍 2026 年在 Docker 中运行自托管 AI 智能体的实际情况:架构设计、值得关注的平台、你需要接受的权衡,以及能够在重启后存活的最低成本方案。本文面向有 Docker 使用经验、但尚未选定智能体技术栈的读者。

"自托管 AI 智能体"在实践中意味着什么

这个词涵盖的产品范围很广。在选择 Docker 镜像之前,先把它们分成三类。

工作流智能体是可视化或低代码平台,通过连接模块来组合智能体。n8n、Dify 和 Flowise 是典型代表。它们以 Web 应用的形式运行,你登录后在界面中编排并触发工作流。如果你需要图形界面和 400 多个预置集成,这类平台是不错的选择。

代码优先智能体框架是你用 Python 或 TypeScript 编写代码的库。LangChain/LangGraph、AutoGen、CrewAI 以及 OpenAI Agents SDK 都属于这一类。你将自己的代码打包为 Docker 镜像。如果你是开发者,希望完全掌控提示词、工具和状态机,这类框架更适合你。

运行时智能体是预构建好的智能体,你将其自托管后连接到自己的即时通讯应用(Telegram、Slack、WhatsApp、Signal、邮件)。Hermes Agent、OpenHands 和 Agent Zero 都属于这一类。你不需要自己编写智能体循环——它已经内置其中。你只需提供 API 密钥、一台服务器,然后从手机上与它对话。

三类产品的 Docker 配置方式大同小异,差异在于容器周边的配套设施:用于持久化记忆的数据库、用于语义搜索的向量存储,以及你所接入的即时通讯应用的 Webhook 接收器。

示意图展示一个 docker 容器,箭头分别指向 postgres 数据库、向量存储和 telegram webhook

参考架构

几乎所有在 Docker 中运行的自托管 AI 智能体最终都长成这个样子:

组件 典型镜像 用途
智能体运行时 自定义镜像或 ghcr.io/<project>/<agent> 智能体循环:接收输入、调用大语言模型、执行工具
LLM 网关 本地用 ollama/ollama,或外部 API 模型本体,或指向 OpenAI / Anthropic / OpenRouter 的代理
关系型数据库 postgres:16 对话记录、用户状态、定时任务
向量存储 qdrant/qdrant 或 Postgres 内置的 pgvector 长期记忆、语义搜索、RAG
反向代理 traefikcaddy TLS 终止、Webhook 路由
消息适配器 内置于智能体镜像中 Telegram、Slack、Discord、WhatsApp、Signal 连接器

你不必用到每一层。如果智能体只处理文本且使用外部 LLM API,可以跳过 Ollama。如果你的即时通讯应用支持长轮询而非 Webhook(Telegram 两者都支持),可以跳过反向代理。在单台 $5 VPS 上,最小可用技术栈是智能体运行时加上 Postgres,模型通过外部 API 调用——大约三到四个容器,放在一个 docker-compose.yml 里即可。

最简 docker-compose.yml

对于大多数个人或小团队的智能体,compose 文件大致是这个结构。将 your-agent-image 替换为你选择的运行时镜像。

services:
  agent:
    image: your-agent-image:latest
    restart: unless-stopped
    environment:
      DATABASE_URL: postgres://agent:agent@db:5432/agent
      MODEL_PROVIDER: openai
      OPENAI_API_KEY: ${OPENAI_API_KEY}
      TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
    depends_on:
      - db
    ports:
      - "127.0.0.1:8080:8080"

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: agent
      POSTGRES_PASSWORD: agent
      POSTGRES_DB: agent
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data:

有三点需要特别说明。智能体端口绑定到 127.0.0.1 而非 0.0.0.0,因为来自公网的消息 Webhook 应该经过反向代理完成 TLS 终止,而不是直接打到裸容器端口。密钥存放在 compose 文件同级目录下的 .env 文件中(绝对不要提交到 git)。Postgres 数据卷使用具名卷,这样 docker compose 在重启时会保留数据;一旦该卷丢失,你的智能体记忆也会随之消失。

2026 年值得关注的方案

以下是 2026 年提供 Docker 镜像且具有持续发展势头的开源智能体技术栈简表。

项目 类型 许可证 消息集成 备注
Hermes Agent 运行时 MIT Telegram、Slack、Discord、WhatsApp、Signal、邮件 持久化记忆、BYOK 模型服务商、自主技能创建
n8n 工作流 Sustainable Use 400 多个节点 可视化工作流构建器,集成目录丰富
Dify 工作流 Apache 2.0 Web 界面、可嵌入组件 RAG 优先,提示词编排,内置监控
Flowise 工作流 Apache 2.0 Web 界面、REST/Slack/Telegram 节点 拖拽式 LangChain
LangGraph 框架 MIT 自行接入 代码优先,深度状态图
AutoGen 框架 CC-BY 4.0(微软) 自行接入 多智能体对话
OpenHands 运行时 MIT Web 界面、IDE 在沙箱化 Docker 中运行的软件工程智能体
Agent Zero 运行时 MIT Web 界面、终端 自主计算机操控智能体

这种分类很重要,因为正确的选择取决于你使用智能体的目的。如果你想用 14 个步骤和 5 个外部 API 自动化某个业务流程,工作流平台是正确选择。如果你在构建自定义产品,框架更合适。如果你想要一个通过即时通讯应用住在你手机里、并且记住你的个人智能体,运行时才是正确答案。

对于以消息为主的个人用户场景,Hermes Agent 与 n8n 的工作流侧对比与 LangChain 的框架侧对比均有专文介绍。

真实的权衡

在 Docker 中自托管并非免费,即便二进制文件本身不收费。以下是 2026 年诚实的权衡清单:

你负责保证服务可用。 托管型智能体服务商会监控进程、重启崩溃的容器,并在凌晨 3 点发布故障时叫醒值班人员。在自托管 VPS 上,这些事情都要你自己承担,即使你配置了 restart: unless-stopped。Docker 会重启容器,但它无法修复损坏的 Postgres 数据卷,也无法处理过期的 Telegram bot token。

你完全拥有数据。 这正是让大多数读者觉得值得接受上述权衡的优势。你的对话记录、客户笔记、联系人列表——除了你选择的 LLM 服务商之外,不会触及任何第三方。在欧盟 VPS 上运行的欧盟用户无需额外手续即可实现 GDPR 数据驻留。在自有硬件上运行的医疗或会计从业者,对于"数据存放在哪里"这个问题有了清晰的答案。

你负责模型账单。 使用自己的 API 密钥(BYOK)时,个人智能体每月通常只需几美元,而托管型同等产品往往收取 $20 以上。反过来,你需要给 OpenAI 或 Anthropic 账户充值并随时关注余额。

你负责升级。 拉取新镜像只是一条命令,但阅读更新日志和迁移数据库 schema 则不然。每隔几个月预留 15 分钟的维护窗口。

你不拥有 LLM 本身。 除非你在本地 GPU 上运行 Ollama 或 vLLM,否则模型本身仍然是对 OpenAI、Anthropic、Google、Mistral 或 OpenRouter 聚合服务的 API 调用。2026 年的自托管通常意味着自托管运行时,而非自托管模型权重。这完全没问题——运行时才是 90% 数据敏感性的所在。

如果你觉得上述权衡可以接受,那么收益确实显著。与同等 SaaS 相比,自托管基础设施在 18 个月内的总拥有成本可降低约 55%,在模型本地运行时延迟优势约为 18 毫秒。对大多数读者而言,成本优势会更早显现——大约在第三个月左右。

最低成本方案长什么样

以下是 2026 年单人自托管智能体的实用基准配置:

  • 月费 $5 到 $10 的 VPS(Hetzner、Vultr、Contabo),2 GB 内存
  • 安装 Docker 和 Docker Compose
  • 反向代理(Caddy 是自动 TLS 最简单的选择),监听 443 端口
  • 一个智能体运行时容器 + 一个 Postgres 容器
  • 充值 $5 到 $10 的模型 API 密钥
  • 一个消息机器人(Telegram bot 是上手最快的)

每月总费用:大约 $7 到 $20,具体取决于使用量,其中 $4 到 $10 是 API token 费用,其余是 VPS 费用。有 Docker 基础的话,整个搭建过程需要 15 到 30 分钟;没有基础的话,可能需要一个晚上。VPS 规格选择的计算方法在我们专门介绍低成本 VPS 托管 AI 智能体的文章中自托管与托管服务的费用对比分析在这篇文章里

深夜的简洁深色工作台,笔记本电脑显示终端输出,手机屏幕上可见来自自托管 AI 智能体的绿色消息气泡

什么情况下自托管是错误选择

以下几种情况,Docker 方案并不是正确答案。

  • 你需要零运维介入,团队对任何停机都无法容忍。那就付费使用托管运行时。
  • 你需要供应商 SLA 和可拨打的客服电话。选托管。
  • 你没有耐心花超过一个小时完成初始搭建。选托管。
  • 你的智能体需要明天就弹性扩展到数千个并发用户。支持 Kubernetes 的托管运行时值得溢价购买。

对于其他所有人——独立创业者、独立开发者、小型团队、注重隐私的专业人士、技术爱好者——小型 VPS 上的 Docker 是控制力与搭建时间比值最优的路径。

Hermes 在其中的定位

Hermify 是一个 MIT 许可的自托管 AI 智能体运行时,以 Docker 镜像形式交付。你提供自己的模型服务商密钥(OpenAI、Anthropic、OpenRouter、Mistral 或其他),在 VPS 或自有机器上运行容器,通过 Telegram、Slack、Discord、WhatsApp、Signal 或邮件与之对话。它在对话之间保持持久化记忆,从你的使用习惯中学习可复用的技能,其余时间则静静运行、不打扰你。它是上述运行时列表中的选项之一,恰好也是我们自己维护的那个。

如果你想要的正是"住在手机里的个人智能体"这种形态,而且愿意花一个小时把 Docker 容器架在反向代理后面,请立即开始使用 Hermify。如果你宁愿完全跳过 VPS 环节、让我们帮你运行,托管套餐会接管容器、Postgres、TLS 和更新,而你依然使用自己的模型密钥。

参考资料

运行你自己的 Hermes Agent

自带 API 密钥,连接 Telegram,60 秒内即可上线一个自我改进的 AI 智能体。

立即开始