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 | 編排服務並為每位使用者啟動獨立容器。 |
訊息傳遞流程
- 使用者在瀏覽器輸入 → 前端向
/api/...發送 WebSocket 請求。 - 網關驗證 JWT,尋找/啟動使用者容器,並將 WebSocket 代理至該容器內的 Hermes API。
- Hermes 處理訊息,可能呼叫工具或技能;當需要語言模型時,呼叫網關的
/llm/v1/chat/completions端點。 - 網關檢查使用者令牌配額,根據模型名稱選擇合適的提供者(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 → 容器金鑰鏈;資源限制;稽核日誌。
運行平台
- 安裝 Docker 與 Docker‑Compose。
- 在倉儲根目錄建立
.env檔案,並加入至少一個 LLM 提供者金鑰(例如OPENAI_API_KEY=sk‑…)。 - 建立基礎映像:
python prepare.py && bash build_base_image.sh。 - 使用 Docker Compose 部署:
python deploy_docker.py --rebuild hermes,gateway,frontend(或直接docker compose up -d)。 - 訪問
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;未添加任何外部假設。
相關
- 專案
- 專案
- 專案
- 專案
- 專案