open-duet
Anil-matcha/open-duet加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025 年,OpenAI 正式推出 Dots 项目,让用户可以通过自然对话让 AI 代理执行复杂任务——写代码、发邮件、操作浏览器。但问题随之而来:数据流向哪里?审批流程透明吗?能用自己信任的模型吗?
Open Dots 给出了答案:它是一个完全开源、自托管的 AI 工作空间,可以连接任何推理 API(OpenAI、Anthropic、本地模型等),内置审批网关和可选的隔离浏览器执行环境,全部数据留在本地。这不是简单的"克隆",而是一个独立实现的替代方案。
Open Dots 支持创建多个助手人格(Assistant Personas),每个助手可以拥有独立的系统指令、模型 ID 和视觉形象。用户可以与多个助手同时对话,消息以 Markdown 格式渲染,支持图片附件和语音输入。数据存储在本地 SQLite 数据库中,模型提供商的凭证以 Fernet 加密形式存储。
项目内置了一个推理适配器(Inference Adapter),通过配置 MODEL_API_BASE_URL 和 MODEL_API_KEY 即可连接任意兼容的推理后端。支持的模型包括 GPT 系列、Claude 系列以及任何符合该请求/响应契约的 API。这与 OpenAI 的标准 Chat Completions 接口不同——需要针对具体的推理服务进行适配配置。
这是 Open Dots 与其他 AI 聊天工具最核心的区别。项目实现了一个** deny-by-default(默认拒绝)的审批网关**:
这对于企业场景尤为重要——AI 的每一步行动都在人的眼皮底下。
WORKSPACE_ROOT 环境变量控制[Browser Client (Next.js)] <---> [API Server (FastAPI)] <---> [LLM Provider API]
| | |
| [SQLite (本地数据)] |
| | |
+---------------------> [审批网关 / 审计日志] <-----------+
默认的 fake 计算机运行时用于开发调试;切换到 docker 模式即可启用真实的浏览器自动化。
依赖栈:FastAPI + Uvicorn + Pydantic + SSE-Starlette(流式响应)+ Cryptography(凭证加密)
Next.js 15 App Router + React 19 + Tailwind CSS,前端目录包含 app/、components/、lib/ 等标准结构。
运行时以非 root 用户(pwuser)运行,通过 seccomp profile 限制系统调用,安全性设计相对完善。
homepage 字段为空,缺乏独立官网引导| 资源 | 需求 |
|---|---|
| 内存 | 2GB+ |
| 磁盘 | 1GB+ |
| GPU | 不需要(推理通过 API 调用外部服务) |
| 网络 | 需要访问模型提供商 API |
Open Dots 代表了 AI 应用从"纯云端"向"本地优先"迁移的一个细分方向。它的核心价值不是技术上的突破,而是控制权的回归:
目前项目处于原型阶段(Prototype),但 4415 颗 GitHub Stars 表明社区对"自托管 AI 工作空间"的需求是真实且强烈的。随着 AI Agent 应用的普及,这类工具的市场空间值得持续关注。
Open Dots 界面截图
图:Open Dots 界面,支持 Markdown 渲染、多助手管理和审批流程(截图来源:项目 assets 目录)