johnson7788/MultiUserClaw

目前OpenClaw和NanoBot都是用于个人的,不太支持多用户,基于多用户重新修改Bot,没有对Openclaw进行任何更改,原生能力封装

MultiUserClaw – 基於 Hermes Agent 的多租戶 AI SaaS 平台

是什麼

  • 一個完整的基於 Web 的 SaaS 框架,可在同一伺服器上為不同客戶運行多個隔離的 AI 助手(代理)。
  • 每位使用者皆擁有自己的 Docker 容器,執行基於 Hermes 的 AI 代理執行環境。容器依需求建立,閒置時暫停,數週未使用後可歸檔。
  • 平台提供現成的前端、FastAPI 網關、PostgreSQL 儲存,以及一系列開箱即用的功能(知識庫、技能庫、定時任務、多渠道機器人、API 金鑰等)。

核心元件

元件 作用
前端 (Vite + React) 使用者互動的 SPA — 登入、聊天、技能庫、管理頁面。
平台網關 (FastAPI) 認證(JWT)、Docker 容器管理、LLM 代理(注入 API 金鑰)、配額追蹤、相容舊版 OpenClaw API 的相容層。
Hermes 代理容器 (Python) 執行實際 AI 代理。公開 HTTP + SSE API(埠 18080),處理會話、工具呼叫、技能、檔案工作區等。
PostgreSQL 儲存使用者帳戶、容器元資料、使用日誌、配額。
Docker Compose 編排服務並為每位使用者啟動獨立容器。

訊息傳遞流程

  1. 使用者在瀏覽器輸入 → 前端向 /api/... 發送 WebSocket 請求。
  2. 網關驗證 JWT,尋找/啟動使用者容器,並將 WebSocket 代理至該容器內的 Hermes API。
  3. Hermes 處理訊息,可能呼叫工具或技能;當需要語言模型時,呼叫網關的 /llm/v1/chat/completions 端點。
  4. 網關檢查使用者令牌配額,根據模型名稱選擇合適的提供者(OpenAI、Anthropic、DashScope 等),注入提供者的 API 金鑰(僅保留在網關環境變數中),轉發請求,記錄令牌使用量,並將回應串流回 Hermes → 前端。

主要功能

  • 多租戶隔離 – 每位使用者在獨立的 Docker 容器中執行(2 GB 記憶體,4 CPU),擁有私用卷用於檔案與聊天歷史。
  • 代理管理 – 建立、重新命名、設定表情符號/圖示、檢視細節、刪除。
  • 即時聊天 – WebSocket、Markdown 渲染、程式碼強調、語音輸入、檔案/圖片上傳。
  • 定時任務 – 排程重複或一次性任務,啟用/停用,立即執行,可選通知。
  • 知識庫 – 每個代理的檔案儲存區(文字、PDF、JSON、程式碼),支援預覽、下載與刪除。
  • 技能庫 – 從 skills.sh 安裝技能,啟用/停用,支援使用者上傳的自訂技能。
  • 多渠道機器人 – 內建 Telegram、Discord、電子郵件、WhatsApp Web、Signal、Slack、iMessage 等適配器。
  • API 存取 – 產生金鑰,從 CLI 或其他服務呼叫代理,重複使用會話。
  • 多模型提供者 – 支援數十種 LLM(OpenAI、Anthropic、DashScope、DeepSeek、AiHubMix、Evolink、OpenRouter 等),透過簡單的模型名稱選擇器切換。
  • 儀表板 – 快速查看代理、會話、技能及系統整體健康狀態的統計資料。
  • 安全性 – API 金鑰永不進入使用者容器;JWT → 容器金鑰鏈;資源限制;稽核日誌。

運行平台

  1. 安裝 Docker 與 Docker‑Compose。
  2. 在倉儲根目錄建立 .env 檔案,並加入至少一個 LLM 提供者金鑰(例如 OPENAI_API_KEY=sk‑…)。
  3. 建立基礎映像:python prepare.py && bash build_base_image.sh
  4. 使用 Docker Compose 部署:python deploy_docker.py --rebuild hermes,gateway,frontend(或直接 docker compose up -d)。
  5. 訪問 http://localhost:3080,註冊並開始聊天——網關將自動為您啟動專用的 Hermes 容器。

典型使用情境

  • 希望為每位客戶免費提供客製化 AI 助手,但不想從零開始建構基礎設施的 SaaS 公司。
  • 每個團隊需要獨立代理、私有知識庫與定時任務的內部工具。
  • 需要即插即用平台來實驗多模型 LLM、工具呼叫與技能擴充的開發者。

限制 / 需注意事項

  • 平台依賴 Docker;需要具備足夠 CPU/RAM 的主機以執行每位活躍使用者的容器。
  • 所有 LLM 呼叫皆透過網關代理,因此提供者 API 金鑰限制與延遲會影響所有使用者。
  • 預設資源上限(2 GB 記憶體,4 CPU)可能需針對重負載進行調整。
  • 雖然 README 提供多個部署腳本,但生產級強化(TLS 終止、密鑰管理、監控)需由操作者自行完成。

更多資訊來源

  • 詳細文件連結於 README 中(例如,channel‑config wiki)。
  • UI 截圖與日誌位於 doc/ 資料夾。
  • deploy_copy/ 目錄包含範例預先設定的代理(HR、研究員、程式員),首次啟動時會複製至新容器中。

以上所有資訊均直接取自倉儲的 README;未添加任何外部假設。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案