← 返回信息流
AI 资讯Hacker News·4 天前

Odysseus:支持自托管的AI工作空间

原标题:Odysseus – self-hosted AI workspace

速览

Odysseus是一款旨在提供自托管能力的AI工作空间平台。它允许用户在自己的基础设施上部署和管理AI应用,从而更好地控制数据隐私和安全性。该工具为开发者和企业提供了灵活且可控的AI工作环境。

AI 深度解读

Odysseus:一个功能完备的自托管 AI 工作空间

背景

在 ChatGPT 和 Claude 等主流大语言模型(LLM)平台主导当前 AI 交互体验的背景下,隐私泄露、数据所有权缺失以及“黑盒”操作成为了用户日益关注的痛点。虽然这些平台提供了极佳的 UI/UX 体验,但它们通常要求用户将数据上传至云端,且缺乏对本地硬件和私有数据的深度整合能力。

在此背景下,Odysseus 应运而生。这是一个旨在成为 ChatGPT 和 Claude 的“自托管版本”的 AI 工作空间。它强调“本地优先”和“隐私优先”,让用户能够在自己的硬件上运行,使用自己的数据,且没有任何后门(no trojan)。Odysseus 不仅复刻了主流平台的聊天体验,还通过引入 Agent(智能体)、深度研究、文档编辑、邮件处理等高级功能,构建了一个更强大、更灵活且充满极客趣味的本地 AI 生态系统。

核心内容

Odysseus 是一个基于 Web 的全功能 AI 工作空间,支持 Docker Compose 和原生 Python 部署。其核心设计理念是将多种 AI 能力集成到一个统一的界面中,同时保持对底层硬件和数据的完全控制。

1. 核心功能模块

  • Chat(聊天)
    • 支持与任何本地模型或 API 进行对话,添加模型的过程极其简单。
    • 兼容后端包括:vLLM、llama.cpp、Ollama、OpenRouter 以及 OpenAI 等。
  • Agent(智能体)
    • 赋予 AI 工具使用能力,使其能够自主执行复杂任务。
    • 基于 OpenCode、MCP(Model Context Protocol)、Web、文件、Shell、Skills(技能)和 Memory(记忆)构建。
  • Cookbook(食谱/模型管理)
    • 自动扫描用户硬件配置,推荐合适的模型,并支持一键下载和服务化部署。
    • 基于 llmfit 构建,具备 VRAM(显存)感知能力,支持 GGUF、FP8、AWQ 等量化格式,并提供模型适配评分。
    • 支持远程服务器模型托管,通过 SSH 密钥管理远程节点。
  • Deep Research(深度研究)
    • 借鉴自阿里通义千问的 DeepResearch 技术,执行多步骤任务,自动收集、阅读并综合来源信息,生成可视化的研究报告。
  • Compare(模型对比)
    • 提供侧边栏对比功能,支持多模型盲测,消除偏见,直观比较不同模型的表现。
  • Documents(文档编辑)
    • 坚持“用户主导,AI 辅助”的理念。支持多标签编辑器,兼容 Markdown、HTML、CSV,具备语法高亮、AI 编辑建议和修改功能。
  • Memory / Skills(记忆与技能)
    • 基于 ChromaDB 和 fastembed (ONNX) 实现持久化记忆和技能存储。
    • 支持向量检索与关键词检索,允许 Agent 随着对用户和任务理解的加深而不断进化。支持数据的导入/导出。
  • Email(邮件管理)
    • 集成 IMAP/SMTP 收件箱,内置 AI 分类功能:包括紧急度提醒、自动打标签、自动摘要、自动回复草稿生成以及垃圾邮件过滤。
    • 支持按账户路由,并兼容 CalDAV。
  • Notes & Tasks(笔记与任务)
    • 快速笔记、待办事项列表以及定时任务。Agent 可以执行这些任务,并通过 ntfy、浏览器通知或邮件渠道进行提醒。
  • Calendar(日历)
    • 本地优先的日历系统,支持 CalDAV 同步(兼容 Radicale、Nextcloud、Apple、Fastmail 等)。
    • 支持 .ics 导入/导出、多日历颜色区分,并具备 Agent 感知能力。
  • 移动端支持
    • 完全响应式设计,支持 PWA(渐进式 Web 应用)安装,适配触摸手势,在手机上拥有良好的体验。
  • 其他功能
    • 图片编辑器、主题编辑器、文件上传(支持视觉分析和 PDF)、网页搜索、预设配置、会话管理以及双因素认证(2FA)。

2. 部署与配置

Odysseus 提供了两种主要的部署方式,均指向 http://localhost:7000 作为默认访问地址。

Docker Compose 部署(推荐):

  • 启动 Odysseus、ChromaDB、SearXNG 和 ntfy 服务。
  • 首次运行会进行完整的镜像构建。
  • 默认配置下,ChromaDB 连接 chromadb:8000(宿主机暴露为 localhost:8100),SearXNG 连接 searxng:8080(仅本地暴露),ntfy 暴露为 localhost:8091
  • Cookbook 远程服务器使用 Docker 内部的 SSH 密钥,需手动配置远程服务器的 authorized_keys
  • 模型下载缓存存储在 ./data/huggingface,并在容器内挂载为 ~/.cache/huggingface

原生 Python 部署:

  • 要求 Python 3.11+。
  • Linux/Termux 环境下,Cookbook 需要 tmux 来支持后台模型下载和服务。
  • 通过 python setup.py 创建数据目录并生成初始管理员密码。
  • 使用 uvicorn 启动应用。

配置要点:

  • 大部分设置可在应用内的 /setup 或 Settings 面板中完成。
  • .env 文件主要用于部署级别的默认值和密钥(如 AUTH_ENABLEDDATABASE_URLODYSSEUS_ADMIN_PASSWORD)。
  • 首次启动时,若未设置管理员密码,系统将自动生成并打印初始密码。

3. 安全与隐私建议

Odysseus 被设计为一个功能强大的本地工具集,因此安全性至关重要:

  • 身份验证:任何可网络访问的部署必须保持 AUTH_ENABLED=true
  • 网络暴露:严禁在未配置 HTTPS 和可信反向代理的情况下直接将其暴露给公共互联网。Odysseus 默认提供纯 HTTP,浏览器会对不安全页面上的密码字段发出警告。
  • 数据隔离data/.env、日志、数据库及上传/生成的媒体文件默认被 Git 忽略,切勿将其纳入版本控制。
  • 权限管理
    • 非管理员用户默认没有 Shell、Python 执行或文件读写权限。
    • MCP 管理、API 令牌、Webhooks、模型服务、备份/保险库等属于管理员专属路由。
    • 首次启动后应审查 data/auth.json,关闭公开注册(除非有意为之),确保仅自己的账户为管理员,并审查其他用户的权限。
  • API 密钥安全:定期轮换曾粘贴到共享聊天、演示或日志中的 API 密钥。为每个集成创建独立的令牌,并删除未使用的令牌。
  • 反向代理配置:对于外部访问(包括 Tailscale IP),建议使用 Caddy、nginx 或 Traefik 等反向代理终止 TLS。例如,使用 Caddy 的简短配置即可自动续期 Let's Encrypt 证书并代理到 localhost:7000

关键要点

  • 本地优先与隐私保护:Odysseus 的核心价值在于让用户完全掌控数据和模型,避免数据泄露,适合对隐私有高要求的个人和企业用户。
  • 高度集成的工作流:不仅仅是聊天机器人,它集成了邮件、日历、笔记、任务管理和深度研究,试图成为一个统一的 AI 生产力中心。
  • 灵活的模型支持:通过 Cookbook 模块,用户可以根据硬件(特别是 VRAM)自动推荐和部署量化模型(GGUF/FP8/AWQ),降低了本地运行大模型的门槛。
查看原文 →github.com