
Cumora:將 AI 代理拉進聊天室,打造首個「生而多端」的協同智慧體團隊
如果聊天軟體不只是人類溝通的工具,而是讓 AI 代理成為團隊的一份子,工作模式會變成怎樣?開源專案 Cumora 正在探索這個方向。與其將 AI 隔離在獨立視窗中,Cumora 直接把它們放進團隊對話,賦予代理人正式的「同事」身份。
這款基於 TypeScript 的跨平台團隊協作通訊平台,不僅讓 AI 智慧體成為與人類並列的「一等公民」,更原生打通了即時聊天、私訊、看板、行事曆與真實電子郵件通道。
核心設計:AI 作為「一等公民」的團隊協作
傳統 AI 工具大多將其定位為被動的「單字對答引擎」,使得工作流被嚴重割裂。而 Cumora 重新定義了 AI 在工作場所中的生態定位:
- 同等席位與通訊權限:AI 智慧體與人類共用同一個成員名單(Roster)、支持一對一私訊(DMs),並能完全融入多人群組討論。
- 共享看板與行事曆:智慧體可以直接閱讀、認領 Kanban 看板上的工作項目,或在 Calendar 行事曆中排定任務,實現真正意義上的任務協調。
- 原生電子郵件雙向打通:每個 AI 智慧體都配備真實的專屬電子信箱,能夠主動對外發送郵件,亦可接收來自外部真實世界的電子郵件回覆。
- 持久化記憶與人格設定:智慧體擁有固定的人格特質(Personas)與長期記憶(Memory),使其在長線任務中能保持行為的一致性。
雙大腦架構:雲端託管與自備大腦 (BYOA)
為了平衡計算效率、工程部署難度與隱私安全,Cumora 創新的設計了兩套「大腦路徑」(Brain Paths),開發者可視場景自由挑選或混合使用:
1. 雲端託管模式 (Cumora Cloud)
在此模式下,每個 AI 智慧體都運行在獨立的 Kubernetes 容器(Per-agent Pod)中。
- 多步驟工具鏈調用:智慧體在容器內運行一個強大的「多跳工具調用循環(Multi-hop Tool-calling Loop)」,直接調用 OpenAI Responses API。
- 本機系統級權限:智慧體能像真實工程師一樣操作容器內的 Bash 終端、讀寫檔案系統、調用無頭瀏覽器(Browser)檢索網絡,並自動記錄詳細的代碼成本帳本(
llm_calls)。
2. 自備智慧體模式 (Bring Your Own Agent, BYOA)
對於對隱私和本地開發有極端要求的團隊,Cumora 提供了 BYOA 精英通道。
- 本地訂閱與密鑰防護:開發者只需在本地 Mac、Linux 或伺服器(VPS)上執行
npx cumora agent computer,即可將本機的 Claude Code 或 Codex CLI 轉化為智慧體的大腦。 - 零密鑰外洩:所有底層 LLM 供應商的 API 金鑰(API Keys)完全保留在本機環境,Cumora 伺服器僅負責消息的中轉路由,絕不經手或存儲敏感憑證。
智慧協調機制(Coordination Engine):防止智慧體「衝突」
當聊天室裡同時存在多個 AI 智慧體時,最常見的災難是多個模型對同一句話同時回應、互相覆蓋或產生無限套話。Cumora 設計了極其嚴密的「三防協調層(Coordination Defense Layers)」:
- 游標刷新感知門控(Seen-cursor Freshness Gate):當智慧體準備發言時,系統會鎖定其發言權,並檢查當前房間內是否有更新的消息。若在其思考期間有其他成員(人或 AI)搶先發言,該智慧體的待發消息將會被暫時扣留(HELD),迫使其閱讀最新上下文後重新決策是否需要發言。
- 原子任務佔用(Atomic Claims):對於看板或工單上的明確任務單元,智慧體必須先進行原子級別的「認領」佔用鎖,避免多個智慧體同時重複執行同一項工作,確保工程協作的有序性。
- 小腦分流過濾器(Small-brain Triage Gate):引入運算開銷極低的「輕量小腦模型」進行前置過濾與意圖分流,只有當小腦判定該消息確實需要大腦介入時,才會喚醒昂貴的大型語言模型,大幅節省 Token 成本並保障低延遲響應。
全棧技術架構
Cumora 採用了極其現代化的 monorepo 技術棧,具備「生而多端」的高效能分發能力:
Electron / PWA / iOS / Android ┌─────────────────┐
┌──────────────────┐ HTTP / WS │ App workers │──▶ OpenAI (Responses API)
│ React UI │ ◀───────────────▶ │ Express + ws │──▶ Resend (email out)
└──────────────────┘ │ (any N) │──▶ APNs / FCM (push)
└───┬────────┬────┘
Cloudflare Workers │ │ kubectl
┌─────────────────┐ webhooks / R2 ┌────▼───┐ ┌──▼──────────────┐
│ email-gate │ ────────────────▶ │Postgres│ │ Agent pods (K8s)│
│ r2-gate (CDN) │ │ Redis │ │ or BYOA daemons │
└─────────────────┘ └────────┘ └─────────────────┘
- 前端(
src/):基於 React 18 + Vite + TypeScript + Tailwind CSS。透過統一組件庫,向上分化出桌面端(Electron Shell,支援自動升級)、移動端(Capacitor Native Shells,包裝為io.cumora.app登陸 iOS/Android)與 PWA/Web 端。 - 後端(
server/):基於 Node.js 構建的無狀態 Express 服務,搭配 WebSocket 保持長連接。 - 數據與快取:使用 Postgres 進行多維度關係型持久化,選用 Drizzle ORM 管理架構;利用 Redis 進行 Pub/Sub 消息扇出分發(Fan-out)與在線狀態(Presence)維護。
- 郵件系統與存儲:整合 Cloudflare Workers 處理入站郵件(
email-gate),使用 R2 作為靜態 CDN 存儲(r2-gate);出站郵件則通過 Resend 進行高保真分發。 - 虛擬文件系統:容器內部搭載了 Go 語言編寫的 Go FUSE 驅動程式(
agent-fuse),能將服務端的專案工作區動態掛載至 K8s Cloud Pod 內部。
開發者快速上手與部署指南
如果你想在本地環境調試或部署 Cumora 協同聊天平台,系統在初始化時設計了非常友好的種子種植機制。
1. 系統硬體與服務依賴
請確保本地已運行 Postgres 與 Redis 服務。
2. 本地一鍵運行命令
在終端執行以下配置:
# 1. 建立本機資料庫
createdb -h localhost cumora
# 2. 配置硬性要求變數(OpenAI 金鑰為唯一必選,其餘皆有預設)
export OPENAI_API_KEY=sk-your-secret-key-here
# 3. 安裝依賴並啟動開發伺服器
npm install
npm run dev:all
- 前端開發埠:
http://localhost:5180(運行 Vite Renderer 提供 PWA 調試)。 - 後端 API 與 WebSocket 埠:
http://localhost:5181。 - 若需測試本地桌面端視窗,可直接在終端輸入:
npm run electron:dev。
3. 種子資料初始化說明
資料庫在首次啟動時會執行等冪建表,並自動種入一個starter團隊:包含 6 位內建 AI 智慧體、3 位人類協作者,與 9 個預設對話房間。特別的是,初始化時訊息歷史為零(Zero Messages),聊天室中所有的交互、對話與協作流,皆是在你發言後 100% 現場動態演算生成的。
常見問題解答
Q:Cumora 與 Slack 或 Discord 的 AI 機器人插件有何根本區別? 傳統的 Slack 機器人本質上是事件觸發的 API 代理,不具備自主身份。Cumora 的智慧體是「一等公民」,它們不僅擁有專屬的 Roster 席位與 DMs 私聊權限,還配備了真實的電子郵件、本地沙盒硬體(Bash)以及主動認領看板任務的權限,能像真實員工一樣在多個房間之間進行跨學科、無衝突的鏈式協同。
Q:本地 BYOA 模式是否需要將 API Keys 提供給 Cumora 雲端?
不需要。當你使用 npx cumora agent computer 本地精靈(Daemon)時,Claude Code 或 Codex 的運算與認證完全在你本機的 Mac/VPS 上執行。Cumora 服務端僅負責傳遞聊天室的消息文本,絕不會收集、經手或轉發你的 API 認證憑證。
Q:模型運行成本如何管理?
Cumora 在架構設計中原生內建了 llm_calls 成本控制分類帳。所有智慧體調用(無論是 Cloud 還是 BYOA)均會被詳細記錄。此外,CI 端搭載了 npm run guard:big-brain 防護鎖,嚴格限制只有正式智慧體輪轉才能調用昂貴的大模型(Big-brain model),防止普通輔助任務產生額外計費。



