Web 與 APP 能力對比
Web 與 APP 能力對比
概述
GPTBots 工作空間提供兩種使用方式:Web 端(瀏覽器存取)和 桌面 APP(macOS/Windows/Linux 桌面客戶端)。兩端共享核心 UI 元件和後端 API,但Agent 實際在哪裡執行有本質差異。
簡單說:
- Web 是大腦 —— 發起對話、管理空間、檢視結果
- APP 是手腳 —— 真正執行任務、操作檔案、執行命令、連接 IM
一句話區分
| 使用者問題 | 答案 |
|---|---|
| 我只用瀏覽器夠嗎? | 看 Work / Search / 工作流 / 智能體 / 空間管理夠 —— 但真正執行任務需要至少一台 APP 節點在線 |
| 桌面 APP 能離開 Web 單獨用嗎? | 能。APP 端就是完整的工作空間,本地有 Agent 引擎 |
| 團隊裡需要每人都裝 APP 嗎? | 不需要。任意一人開 APP 在線,團隊成員都可以透過 Web 把任務派發到這台 APP 上(需要把節點設為 enterprise) |
| Web 上看不到的設定項在哪? | 桌面 APP 的「設定」裡 —— 模型 Key、技能、工具、定時任務、渠道、子代理、記憶、執行階段安全 |
功能矩陣對比
| 能力維度 | 🌐 Web 端 | 🖥️ APP 端 |
|---|---|---|
| Work 對話 | 透過 Gateway 連接遠端 Agent 節點 | 本地 Sidecar 直接執行 |
| Agent Loop | 依賴遠端節點執行 | 本地 25 輪自主循環 |
| 上下文壓縮 | 遠端節點處理 | 本地 5 層壓縮策略 |
| 檔案系統 | ❌ 無本地檔案存取權限 | ✅ 完整本地檔案讀寫、搜尋 |
| 沙箱執行 | ❌ 不支援 | ✅ VirtIO 微虛擬機隔離執行 |
| MCP 工具 | ❌ 不支援 | ✅ stdio / SSE / HTTP 三種傳輸 |
| 技能(Skills) | ❌ 不支援本地技能 | ✅ 21 項預置 + 自訂 + 企業技能 |
| 渠道(IM) | ❌ 不支援設定 | ✅ 14+ 平台(Telegram、WhatsApp、釘釘等) |
| 定時任務 | ❌ 不支援 | ✅ 一次性 / 週期 / Cron |
| 子代理 | 依賴遠端節點 | ✅ 本地建立 + 跨節點派發 |
| 記憶管理 | ✅ 企業記憶(管理員介面) | ✅ 帳戶 + 企業 + 會話全維度 |
| 模型設定 | ❌ 不支援本地設定 | ✅ 多供應商 API Key 管理 |
| 設定面板 | 無(對應功能在空間管理) | ✅ 完整設定 |
| AI Search | ✅ 支援 | ✅ 支援 |
| Agent 智能體 | ✅ A2A 代理管理 + 對話 | ✅ A2A 代理管理 + 對話 |
| Workflow | ✅ 工作流列表 + 詳情 + 執行 | ✅ 工作流列表 + 詳情 + 執行 |
| 空間管理 | ✅ 完整管理員功能 | ✅ 可透過內嵌視窗存取 |
| 多模態預覽 | ✅ 9 種檔案預覽 | ✅ 9 種檔案預覽 |
架構差異
Web 端:Gateway 連接模型
瀏覽器 ──WebSocket──► Gateway ──WebSocket──► 遠端 APP 節點
│
智能路由
(LLM → BM25 → 兜底)
瀏覽器 ──WebSocket──► Gateway ──WebSocket──► 遠端 APP 節點
│
智能路由
(LLM → BM25 → 兜底)
此代碼塊在浮窗中顯示
- Web 端本身不執行 Agent Engine
- 所有對話執行依賴至少一個在線的遠端 APP 節點
- Gateway 負責節點發現、智能路由和訊息轉發
- 適合:輕量瀏覽、空間管理、遠端發起任務
APP 端:本地三進程模型
React UI ──IPC──► Tauri Rust ──stdio──► Node.js Sidecar (Agent Engine)
React UI ──IPC──► Tauri Rust ──stdio──► Node.js Sidecar (Agent Engine)
此代碼塊在浮窗中顯示
- APP 端在本地執行完整的 Agent 引擎(Sidecar 進程)
- 擁有本地檔案系統完全存取權限
- 可註冊為 Gateway 節點,供 Web 端或其他 APP 遠端呼叫
- 適合:深度開發、自動化任務、本地工具執行
UI 共享機制
Web 和 APP 的對話介面核心元件透過 PlatformAdapter + 兄弟倉庫路徑別名 共享 —— Web 倉庫與 APP 倉庫同級放在同一工作區目錄下,APP 端透過 Vite/tsconfig 別名 ~/* 直接引用 Web 倉庫的原始碼。
| 層級 | 說明 |
|---|---|
| 共享層(claw-shared) | WorkPage、PromptInput、SessionList、Preview 等 40+ 元件,源頭在 Web 倉庫 |
| Web 適配器 | webPlatformAdapter.ts — 將 Redux Store 對應為 WorkState |
| APP 適配器 | appPlatformAdapter.ts — 將 Redux + coworkService 對應為 WorkState |
這意味著 Web 上看到的 Work 對話介面,和 APP 上看到的完全一致 —— 同一份程式碼、同一套元件,只是底層執行方式不同。
選型建議
| 你的場景 | 推薦使用 | 原因 |
|---|---|---|
| 偶爾聊幾句 AI、問個問題 | Web 端 | 無需安裝,瀏覽器即可存取 |
| 管理工作空間(成員、權限、用量) | Web 端 | 空間管理在 Web 端體驗最好 |
| 處理本地檔案、寫程式碼 | APP 端 | 需要本地檔案系統權限 + Bash 工具 |
| 讓 AI 幫我自動化每天的重複工作 | APP 端 | 定時任務僅 APP 支援 |
| 把 AI 接入團隊 IM(Telegram、釘釘等) | APP 端 | 渠道設定僅 APP 支援 |
| 多設備協作(家裡 + 辦公室) | Web + 多台 APP | Web 發起、APP 節點執行 |
| 我是企業管理員,想管全員的 AI 用量 | Web 端 | 空間管理介面 |
多設備協作的典型用法
「你在家用 Web 端瀏覽器發起對話 → Gateway 路由到辦公室那台始終開著的 APP → 辦公室 APP 讀取本地檔案並完成任務 → 結果在你的瀏覽器中即時顯示。」
這種場景下:
- 辦公室那台電腦:裝 APP,登入帳戶,節點設為
account(僅自己可見)或enterprise(同事也可用) - 家裡瀏覽器:登入同一帳戶,進入 Work,發訊息時輸入框下方會自動選中那台 APP 節點
- 任務執行:所有命令在辦公室 APP 上跑,結果透過 Gateway 串流回傳到家裡瀏覽器
