ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Docker部署OpenDots完整指南:3个compose文件和2个随机密钥搭建生产级AI同事环境

Docker部署OpenDots完整指南:3个compose文件和2个随机密钥搭建生产级AI同事环境 Docker部署OpenDots完整指南3个compose文件和2个随机密钥搭建生产级AI同事环境【免费下载链接】OpenDotsYour always-on AI coworkers that move between text, calls, and Slack.项目地址: https://gitcode.com/gh_mirrors/op/OpenDotsOpenDots 是一款常驻在线的开源 AI 同事AI coworker模板让每个 AI Agent称为 Dot拥有独立的工作空间、浏览器和记忆可在文本聊天、语音通话和 Slack 之间无缝切换。本文带你用 Docker 部署 OpenDots只需理解3 个 compose 文件和2 个随机密钥即可搭出一套带容器隔离、数据持久化的生产级 AI Agent 环境。OpenDots 是一个可完全自托管的模板而非托管产品你运行应用并配置自己的模型与对话服务。OpenDots 是什么你的 AI 同事团队在动手之前先花 30 秒了解你要部署的东西Spaces文档空间。AI 同事产出的草稿经你批准后会保存为可编辑的页面形成可搜索的知识库。Specialist Dots每个 Dot 是一个有名字、角色和权限的 AI 同事比如研究员、写作者。Dot 专属电脑每个 Dot 可以拥有一台自己的容器化电脑含独立浏览器配置文件、工作区文件和终端文件在重启后依然保留。一个典型的 Spaces 协作流程是向 AI 同事提问 → 它浏览网页并起草内容 → 你审核批准 → 草稿变成可编辑的页面3个compose文件分别负责什么OpenDots 仓库根目录提供了三个 Docker Compose 文件分工非常清晰文件作用启动的服务compose.yml核心应用appWeb API端口 4310browser只读浏览器服务端口 4311内部网络compose.computers.yml给 Dot 配电脑computer-image构建目标computer-supervisor监督者端口 4312compose.computers-app.yml全容器化叠加层让app通过服务 DNS 直连监督者无需宿主端口三个文件的设计逻辑compose.yml是必选项。app服务基于 Dockerfile 的app阶段构建Node.js 24 生产镜像以非 root 用户运行数据存入opendots-data命名卷重启不丢数据。浏览器服务则刻意做了加固只读文件系统、tmpfs 临时目录、丢弃所有能力cap_drop: ALL、no-new-privileges。compose.computers.yml是进阶项。监督者supervisor会为每个 Dot 动态创建一台独立电脑容器文件和浏览器配置文件各用独立命名卷持久化。注意只有监督者挂载 Docker socketWeb 应用和 Dot 的电脑都拿不到它——这是有意的最小权限设计。compose.computers-app.yml是叠加层overlay。当你的应用也跑在容器里时它把应用接入computer-control内部网络并移除宿主端口。叠加层必须最后加载。2个随机密钥安全部署的底线官方文档 docs/SETUP.md 明确要求在.env中为OWNER_TOKEN和BROWSER_SECRET设置不同的、至少 24 位的随机密钥。compose.yml 中带有${VAR:?...}语法密钥缺失时容器会直接拒绝启动从机制上杜绝裸奔。变量作用要求OWNER_TOKEN应用访问令牌外部绑定如 Slack必需≥24 位随机字符串BROWSER_SECRET应用与浏览器服务之间的共享密钥≥24 位随机字符串与上一条不同INTELLIGENCE_API_KEY/OPENAI_API_KEY等对话持久化与模型服务的凭据只保存在服务器端.env切勿提交生成随机密钥的推荐方式openssl rand -hex 32如果还要启用Dot 电脑功能则额外增加两把随机密钥COMPUTER_SUPERVISOR_TOKEN授权生命周期操作和COMPUTER_TOKEN主密钥应用会为每个 Dot 派生出独立的子凭据主密钥本身从不下发到任何电脑容器。两把必须不同详细说明见 docs/COMPUTERS.md。一键启动步骤1. 获取代码并配置 .envgit clone https://gitcode.com/gh_mirrors/op/OpenDots cd OpenDots cp .env.example .env编辑.env至少填入OWNER_TOKEN、BROWSER_SECRET以及你的模型凭据OPENAI_API_KEY、OPENAI_MODEL和对话服务凭据INTELLIGENCE_API_KEY。完整变量清单见 docs/SETUP.md。2. 启动核心应用docker compose up --build -d然后打开http://localhost:4310即可。注意app的端口只绑定回环地址127.0.0.1浏览器服务不发布任何宿主端口——这是模板内置的安全边界。3. 停服务但保留数据docker compose down数据在opendots-data卷里随时可以再up恢复。4.进阶启动全容器化 Dot 电脑如果希望应用、浏览器、监督者全部跑在容器里按顺序加载三个文件docker compose -f compose.yml -f compose.computers.yml -f compose.computers-app.yml build computer-image computer-supervisor app browser docker compose -f compose.yml -f compose.computers.yml -f compose.computers-app.yml up -d app browser computer-supervisor启动后在 Web 界面打开某个 Dot 的Computer面板启用所需能力并点击 Start它就有了专属的浏览器、文件系统和终端。生产环境部署检查清单HTTPS 反向代理远程托管时务必配置 HTTPS 代理并把APP_ORIGIN设为与代理完全一致的浏览器源。备份双层数据SQLiteopendots-data卷存页面与工作区元数据对话历史存于 Intelligence 项目只拷 SQLite 不算完整备份。凭据只在服务器模型、语音、浏览器密钥一律放服务端.env严禁提交到代码库。️信任级别Dot 电脑是标准 Docker 容器隔离共享宿主内核Shell 权限意味着容器内可执行程序与联网请运行在与之匹配的机器上。更多边界说明见 SECURITY.md。镜像锁定电脑服务基于 deployment/computers/ 中固定的 OpenBot 源码修订构建非latest浮动标签升级需连同其补丁一起评审。部署后如何验证打开http://localhost:4310确认能看到设置界面而非报错。创建一个 Dot 和一个 Space发起聊天确认模型正常回复。若启用了电脑服务写一个文件到某台电脑停掉再启动确认文件仍在验证持久化。在两台不同 Dot 的电脑间互相验证看不到对方的文件验证隔离。常见问题速查现象原因与处理容器启动即退出提示Set a 24 character....env缺少随机密钥或长度不足 24 位电脑服务状态不可用可能 Docker daemon 未运行、镜像未构建、凭据不一致或应用无法访问返回的地址先确认docker compose ps全部健康换了 namespace 后找不到旧电脑COMPUTER_NAMESPACE决定容器与卷的命名请保持稳定且每套部署唯一改了环境变量没生效改完.env后必须重启服务总结整套 Docker 部署的精髓可以浓缩为一句话用 compose.yml 拉起核心用两个 24 位随机密钥守住安全底线需要真电脑时再叠加 compose.computers.yml 与 compose.computers-app.yml。完成部署后你的 AI 同事就能开始工作浏览网页、撰写草稿、保存为 Spaces 页面甚至可以打电话。想继续探索 Slack 接入、语音通话与自动学习功能请阅读官方文档 docs/SETUP.md 和 docs/COMPUTERS.md。【免费下载链接】OpenDotsYour always-on AI coworkers that move between text, calls, and Slack.项目地址: https://gitcode.com/gh_mirrors/op/OpenDots创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表