尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
DeepBot Web服务端部署教程:Docker构建、JWT认证与WebSocket架构实战
DeepBot Web服务端部署教程Docker构建、JWT认证与WebSocket架构实战【免费下载链接】deepbotDeepBot is a system-level AI assistant built for both personal productivity and enterprise workflows — one-click setup, seamless experience, and native Feishu integration.项目地址: https://gitcode.com/gh_mirrors/de/deepbotDeepBot是一款系统级 AI 助手支持个人生产力与企业工作流具备一键部署、飞书原生集成等能力。本文带你完成 DeepBot 的Web 服务端部署涵盖 Docker 镜像构建、JWT 认证机制与 WebSocket 实时通信架构让你快速把 DeepBot 跑在服务器上通过浏览器随时随地使用 AI 助手。为什么选择 Web 服务端部署桌面版 DeepBot 需要安装 Electron 客户端而 Web 模式把服务整体搬到了服务器上浏览器即用无需安装客户端打开网页就能对话容器化交付一个 Docker 镜像包含后端 API、WebSocket 服务和前端静态页面密码 JWT 双重保护生产环境安全可控数据持久化工作目录、记忆、会话历史全部挂载到宿主机DeepBot 项目内置了完整的 Web 部署链路服务端入口位于 src/server/index.ts它同时提供HTTP API和WebSocket 服务两个通道。环境准备部署前的清单开始部署前请确认宿主机满足以下条件依赖项版本要求说明Docker20.10运行容器Docker Composev2编排服务Node.js≥ 20.0.0见 package.json 的 engines 配置克隆仓库到服务器git clone https://gitcode.com/gh_mirrors/de/deepbot.git cd deepbot 镜像构建基于node:22-bookworm-slim同时支持linux/amd64和linux/arm64双架构Apple Silicon 与 ARM 服务器均可运行。一键 Docker 构建构建阶段详解DeepBot 提供了现成的 Dockerfile采用两阶段构建策略来压缩镜像体积构建阶段builder基于node:22-bookworm-slim安装 pnpm并移除 Web 版不需要的electron/rebuild依赖通过 BuildKit 缓存挂载cache mount加速 pnpm 依赖下载执行pnpm run build:web产出dist-server后端和dist-web前端将生产依赖单独安装到干净目录并对electron包做 mock避免运行时加载失败运行阶段预装 Python 3、curl、ffmpeg 等 AI 执行命令常用的工具内置 Playwright Chromium 的系统依赖让浏览器自动化工具开箱即用创建/data/workspace、/data/db等目录作为数据挂载点暴露 3000 端口启动命令为node dist-server/server/index.js一条命令完成镜像构建pnpm run docker:build配置 .env 文件密钥、端口与数据目录.env.example 给出了全部配置项部署时复制并填写cp .env.example .env重点配置项如下变量是否必填说明PORT否Web 服务端口默认 3008ACCESS_PASSWORD推荐访问密码留空则无需登录单用户模式JWT_SECRET生产必改JWT 签名密钥用于 Token 签发与校验AI_API_KEY必填大模型 API KeyAI_BASE_URL必填模型服务地址OpenAI 兼容格式AI_MODEL_ID必填主模型 ID如deepseek-chatAI_API_TYPE必填API 格式支持 openai-completions / google-generative-ai / anthropic-messages数据持久化方面docker-compose.yml 将宿主机目录挂载到容器/data/*下覆盖工作目录、Skill、记忆、会话、SQLite 数据库等路径。⚠️ 注意修改.env中的路径变量后需要执行docker-compose down docker-compose up -d重建容器才能生效。启动服务与验证三条命令上线docker-compose up -d # 启动服务 docker-compose logs -f # 查看日志 curl http://localhost:3008/health # 健康检查健康检查接口返回服务状态、版本号与当前 WebSocket 连接数源码在 src/server/index.ts。服务启动成功后浏览器访问http://你的服务器IP:3008即可进入 DeepBot Web 界面。compose 文件还内置了健康检查探针30 秒间隔、10 秒超时、启动宽限 15 秒配合restart: unless-stopped实现故障自动拉起生产环境稳定性有保障。JWT 认证机制密码保护如何工作DeepBot Web 采用单用户 密码 JWT的轻量认证模型核心实现在 src/server/middleware/auth.ts认证流程设置ACCESS_PASSWORD后所有/api/*接口都挂在 authMiddleware 之后客户端调用POST /api/auth/login提交密码校验通过则签发 JWT Token后续请求在Authorization: Bearer token头中携带 Token中间件用JWT_SECRET验签Token 有效期为30 天过期后需重新登录几个值得注意的设计无密码直连模式未设置ACCESS_PASSWORD时中间件直接放行适合本地开发WebSocket 同样受保护websocket-manager.ts 从连接 URL 的?token参数取 Token 验签无效则关闭连接1008单端登录互踢同一用户新连接建立后旧连接会收到session:kicked消息并被断开避免多端状态混乱⚠️ 生产环境务必修改JWT_SECRET否则任何人都能伪造 Token。除 JWT 外DeepBot 还提供X-Secret方式的外部调用接口/api/external方便第三方系统如飞书回调、CI/CD集成文档见 docs/external-api.md。WebSocket 架构实时消息流是怎么走的DeepBot 的实时体验来自精心设计的 WebSocket 架构核心在 src/server/websocket-manager.ts连接与订阅模型服务端挂载在ws://host:3008/ws路径客户端连接后可发送subscribe/unsubscribe消息按Tab会话粒度订阅收到ping心跳后回复pong保持长连接活跃消息广播策略事件类型广播范围示例AI 流式回复、执行步骤仅订阅该 Tab 的客户端message:stream、execution-step:updateTab 创建/更新、模型配置变更所有客户端tab:created、model-config:update微信/企微二维码所有客户端wechat:qr-code优雅资源回收是这套架构的亮点客户端断开时handleClientDisconnect 会自动停止其订阅的所有 Tab 中的 Agent 执行避免 AI 在后台空跑浪费 Token。常见问题排查清单现象排查方向401 需要身份验证未登录或 Token 过期重新调用 login 接口WebSocket 连接被 1008 关闭URL 未携带有效token参数端口无法访问检查.env中PORT与 compose 端口映射是否一致修改挂载路径不生效执行docker-compose down up -d重建容器AI 无响应检查AI_API_KEY/AI_BASE_URL/AI_MODEL_ID三项配置浏览器工具报错确认 Playwright 依赖已随镜像预装勿手动删除系统库总结从构建到上线的完整链路回顾一下 DeepBot Web 服务端部署的核心链路构建两阶段 Dockerfile双架构镜像工具链开箱即用配置.env管理密钥、模型与数据目录一份文件搞定启动docker-compose 编排 健康检查 自动重启安全密码登录签发 30 天 JWTWebSocket 连接同机制防护实时Tab 级订阅广播 断连自动回收流式体验流畅掌握这套 Docker 构建、JWT 认证与 WebSocket 架构的组合你不仅能部署 DeepBot也为自建类似的 AI 助手服务打下了完整的工程基础。【免费下载链接】deepbotDeepBot is a system-level AI assistant built for both personal productivity and enterprise workflows — one-click setup, seamless experience, and native Feishu integration.项目地址: https://gitcode.com/gh_mirrors/de/deepbot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

前端面试题:让 AI 生成组件,怎么保证不重复造轮子?

前端面试题:让 AI 生成组件,怎么保证不重复造轮子?

一、核心回答 核心就是让 AI 生成前先查,能复用就别新建;如果确实要新建,生成后把它纳入组件库,再人工确认一次。 这句话就够作为第一层答案。二、为什么“让 AI 先查组件”还不够? 因为真正的问题不是: 有…

📅 2026/10/8 22:56:56
一文搞懂 AI 落地下手三步法(附提示词模板)

一文搞懂 AI 落地下手三步法(附提示词模板)

经验分享:Anthropic 拿 1 亿美元培养 1 万名前沿部署工程师这件事,把 AI 落地的真问题摆上了台面。本文按「背景 → 案例拆解 → 实操步骤 → 提示词模板」组织,适合想把 AI 用进自己业务的读者。 目录 一、背景,1 亿美元只培养人…

📅 2026/10/8 22:56:56
汇编语言基于x86处理器

汇编语言基于x86处理器

通过网盘分享的文件:汇编语言基于x86处理器.zip 链接: https://pan.baidu.com/s/1U_MpVLnUwZVvppHvvWWorQ?pwdr55w 提取码: r55w

📅 2026/10/8 22:56:56
MORE NEWS

更多资讯

📰

jstips 第 15 期:用按位非操作符 `~` 把 indexOf 写成更简洁的 contains 判断

教程 【免费下载链接】jstips This is about useful JS tips! 项目地址: https://gitcode.com/gh_mirrors/js/jstips 点击查看 免费下载 本文是 jstips 仓库(gh_mirrors/js/jstips)第 15 期技巧的中文版详解,主题为"更简单的…

📰

全栈测试平台 TestHub

传统自动化测试平台,遇上 AI 会变成什么样?——一个全栈测试平台 TestHub 的架构与思考一篇读完,你会明白:测试为什么会一步步演进到「平台」和「AI」、一个现代测试管理平台是怎么搭起来的、核心业务模块怎么设计,以及…

📰

使用 Xberg Kotlin/Android 绑定抽取 HTML 表格:ExtractInput 与 ExtractionConfig 实战指南

后端AI 应用NLP 【免费下载链接】xberg Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with …

📰

50个PHP程序性能优化的方法

前言 "PHP 性能优化的 N 个方法"是中文技术圈里被复制得最多、也最容易掺水的一类文章。 常见的毛病有三种:给出没有来源的百分比("提升 300%")、把已被移除的老 API 当成技巧推荐、 以及把"代码写得更短"当成…

📰

Docker配置PHP开发环境教程

前言 用 Docker 搭 PHP 环境最大的价值不是"省安装步骤",而是把环境本身变成可以提交到版本库的代码。换一台机器,docker compose up -d 之后环境完全一致,不会出现"我这台能跑你那台报错"。 但刚上手时有三类误解特别常…

📰

如何快速上手 Nemotron 训练自动化:AI Agent 驱动的 nemotron-customize 技能插件完整实战

如何快速上手 Nemotron 训练自动化:AI Agent 驱动的 nemotron-customize 技能插件完整实战 【免费下载链接】Nemotron Developer Asset Hub for NVIDIA Nemotron — A one-stop resource for training recipes, usage cookbooks, datasets, and full end-to-end ref…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬