一個視覺化的 AI 團隊協作系統,以可愛的像素藝術風格呈現 AI Agents 的工作狀態。
本應用涉及較大系統權限,包括讀取 Clawdbot agents 資料、存取資料庫等操作。
🔒 安全建議:
- ✅ 僅限本機使用(預設綁定
127.0.0.1) - ❌ 不建議對外網開放
⚠️ 如需外網訪問,請自行設定 Cloudflare Tunnel 或反向代理,並自行承擔安全風險- 💡 作者本人不開放外網訪問,僅供本機開發使用
- 🎨 像素藝術風格 - 可愛的辦公室場景
- 📊 即時狀態追蹤 - 顯示每個 AI Agent 的工作狀態
- 🔄 任務流轉動畫 - 視覺化任務在團隊間的流動
- 🐳 一鍵部署 - Docker Compose 自動化安裝
- 🤖 Clawdbot 整合 - 原生支援 Clawdbot/OpenClaw
- 🔐 Port 掃描 - 自動掃描開放的 ports 並評估風險
- 🛡️ Prompt Guard - 使用 Claude AI 檢測 prompt injection 攻擊
- 🤖 Agent 自動偵測 - 自動掃描並匯入 Clawdbot agents
- 🎯 Skills 管理 - 視覺化 agents 的 skills 與能力
- 🔗 Agent-Skill 關聯 - 追蹤每個 agent 擁有的技能
性能影響說明:
Virtual Office 會持續監控您的 AI agents 並提供即時動畫效果。這可能會對 OpenClaw/Clawdbot 的回覆速度造成輕微影響:
-
預期影響: 回覆延遲增加 0.5-2 秒(取決於系統負載)
-
原因:
- 定期掃描
~/.clawdbot/agents/目錄 - SSE 連線維持(即時推送動畫)
- PostgreSQL 資料庫查詢
- 定期掃描
-
建議:
- 💻 開發/測試環境: 可正常使用
- 🚀 生產環境: 建議部署到獨立機器或關閉即時監控功能
- ⚡ 高負載場景: 可調整掃描頻率或停用自動偵測
💡 注意: 這是正常現象!Virtual Office 是為了視覺化監控而設計,不會影響 agents 的核心功能。
- Docker Desktop (下載安裝)
- Node.js >= 18(本機開發模式)
如果你使用 Clawdbot,一句話即可自動完成所有設定:
# 在 Clawdbot 中說:
請下載專案並完成設定
專案路徑:https://github.com/inventra/lazyoffice-opneclwd
到 ~/Desktop/virtual-office
再讀取 ~/Desktop/virtual-office/SETUP.md 並完成設定Clawdbot 會自動:
- ✅ 下載專案到 ~/Desktop/virtual-office
- ✅ 讀取 SETUP.md 安裝指南
- ✅ 檢查 Docker 環境
- ✅ 執行安裝腳本
- ✅ 建立 vo-push.sh 整合腳本
- ✅ 配置環境變數
-
下載專案
git clone https://github.com/你的帳號/virtual-office.git cd virtual-office -
設定環境變數(選配)
cp .env.example .env # 編輯 .env,設定 SSE_TOKEN 和 ANTHROPIC_API_KEY(如果要用 Prompt Guard) -
啟動服務
docker-compose up -d
-
訪問網頁 打開瀏覽器訪問:http://127.0.0.1:3456
-
安裝依賴
npm install
-
啟動 PostgreSQL
# 方式 1:使用 Docker docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=changeme -e POSTGRES_DB=virtual_office postgres:16-alpine # 方式 2:本機 PostgreSQL # 確保 PostgreSQL 已啟動且有 virtual_office 資料庫
-
初始化資料庫
psql -U postgres virtual_office < init-all.sql -
啟動伺服器
node server.js
-
訪問網頁 打開瀏覽器訪問:http://127.0.0.1:3456
- 自動掃描:定時掃描本機開放的 ports(可設定間隔時間)
- 手動掃描:隨時執行即時掃描
- 風險評估:自動分析每個 port 的風險等級(High/Medium/Low)
- 歷史記錄:查看過去的掃描結果
- 即時檢測:使用 Claude AI 分析用戶輸入的安全性
- 風險分級:Safe / Low / Medium / High / Critical
- 統計儀表板:顯示最近 24 小時的審查統計
- 測試功能:可手動測試任意文字的安全性
ANTHROPIC_API_KEY 環境變數,且會消耗 Claude API tokens。
- 一鍵掃描:自動掃描
~/.clawdbot/agents/目錄 - 智能解析:自動讀取 SOUL.md / AGENTS.md 提取資訊
- Skills 偵測:自動偵測每個 agent 安裝的 skills
- 基本資訊編輯:名字、職稱、說明
- 頭像上傳:支援圖片上傳(2MB 以內)
- Skills 列表:顯示每個 agent 擁有的技能
- 完整清單:列出所有已安裝的 skills
- 詳細資訊:名稱、描述、版本、作者
- 使用追蹤:顯示哪些 agents 使用了此 skill
- 重新掃描:手動觸發全系統 skills 掃描
- 自動建立:偵測 agents 時自動建立關聯
- 視覺化呈現:在 Skills 頁面顯示使用此 skill 的 agents
- 反向查詢:在 Agent 頁面顯示其擁有的 skills
不需要任何設定,專案已內建可愛的預設圖片。
- 註冊 KIE.ai 並取得 API Key
- 在安裝時選擇「使用 KIE.ai 生成圖片」
- 輸入 API Key
- 系統會自動為每個 Agent 生成個性化圖片
或手動設定:
echo "KIE_AI_API_KEY=your-api-key-here" >> .env然後呼叫 API:
curl -X POST http://127.0.0.1:3456/api/generate-avatar \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_SSE_TOKEN" \
-d '{
"agentId": "alex",
"prompt": "A cute pixel art avatar of a developer cat wearing glasses"
}'┌─────────────────────────────────────┐
│ 用戶瀏覽器 │
│ http://127.0.0.1:3456 │
└──────────┬──────────────────────────┘
│
↓
┌─────────────────────────────────────┐
│ Node.js Server (Express) │
│ - 前端靜態檔案 │
│ - REST API │
│ - SSE 即時推送 │
└──────────┬──────────────────────────┘
│
↓
┌─────────────────────────────────────┐
│ PostgreSQL 資料庫 │
│ - departments(部門) │
│ - agents(員工) │
│ - tasks(任務) │
│ - task_flows(流轉記錄) │
└─────────────────────────────────────┘
啟動服務
docker-compose up -d停止服務
docker-compose down查看日誌
docker-compose logs -f app重新啟動
docker-compose restart資料備份
docker-compose exec postgres pg_dump -U postgres virtual_office > backup.sql完全重置(刪除所有資料)
docker-compose down -v
docker-compose up -d建立 .env 檔案(或複製 .env.example):
# 必要設定
SSE_TOKEN=your-secret-token-here # SSE 驗證 token(建議用 uuid)
DATABASE_URL=postgres://... # 資料庫連線字串
# 選配:Prompt Guard
ANTHROPIC_API_KEY=sk-ant-... # Claude API Key(啟用 Prompt Guard 需要)
# 選配:圖片生成
KIE_AI_API_KEY=... # KIE.ai API Key
# 選配:Agent 偵測路徑
CLAWDBOT_AGENTS_PATH=~/.clawdbot/agents/如果在 Docker 環境中使用 Agent 偵測功能,需要 mount 本機的 .clawdbot 目錄:
# docker-compose.yml
services:
app:
volumes:
- ~/.clawdbot:/root/.clawdbot:ro # 唯讀掛載本專案採用最高資安標準:
- ✅ 本機限定訪問 - 只監聽 127.0.0.1(外部無法連線)
- ✅ Token 驗證 - SSE 和敏感 API 需要 Bearer Token
- ✅ Rate Limiting - API 限流防爆破(60/分鐘)
- ✅ SQL 參數化 - 防 SQL Injection
- ✅ CORS 限制 - 只允許本機來源
docker-compose logs app | grep "SSE Token"GET /api/skills- 列出所有 skillsPOST /api/skills/scan- 重新掃描 skillsGET /api/skills/:id- 取得單個 skill 詳情
POST /api/agents/detect- 自動偵測 Clawdbot agents(需要認證)GET /api/agents/detected- 取得已偵測的 agentsPATCH /api/agents/:id/config- 更新 agent 設定POST /api/agents/:id/avatar- 上傳頭像(multipart/form-data)GET /api/agents/:id/skills- 取得 agent 的 skills
GET /api/security/settings- 取得安全設定POST /api/security/settings- 更新安全設定POST /api/security/scan- 手動觸發 port 掃描GET /api/security/scan/latest- 取得最新掃描結果GET /api/security/scan/history- 取得歷史掃描記錄
GET /api/security/prompt-guard/stats- 取得統計(可選參數:hours)GET /api/security/prompt-guard/logs- 取得審查記錄(可選參數:limit)POST /api/security/prompt-guard/test- 測試單個 prompt
認證方式:
Authorization: Bearer YOUR_SSE_TOKENQ: 如何取得 SSE Token?
# Docker 環境
docker-compose logs app | grep "SSE Token"
# 本機環境
# 啟動 server.js 後會在 console 顯示Q: 如何新增 Agent? 方式 1(推薦):使用自動偵測
# 在 /agents-config.html 點擊「自動偵測」按鈕方式 2:手動插入資料庫
INSERT INTO agents (name, department_id, desk_x, desk_y, clawdbot_agent_id)
VALUES ('Agent Name', 2, 50, 60, 'agent-id');Q: 如何修改資料庫密碼?
修改 docker-compose.yml 中的 POSTGRES_PASSWORD 並重新啟動。
Q: 資料會遺失嗎?
不會,資料儲存在 Docker volume postgres_data 中,除非執行 docker-compose down -v。
Q: Prompt Guard 消耗多少 tokens?
- 每次檢查約 500-1000 tokens(輸入 200-500 + 輸出 100-300)
- 每天 100 則訊息約 $0.21 USD
- 建議監控 token 使用量,避免超出預算
Q: Agent 偵測失敗怎麼辦?
- 確認
~/.clawdbot/agents/目錄存在 - 確認目錄中有 SOUL.md 或 AGENTS.md 檔案
- 檢查檔案權限(Docker 需要讀取權限)
Q: 如何備份資料?
# 備份資料庫
docker-compose exec postgres pg_dump -U postgres virtual_office > backup.sql
# 恢復資料
docker-compose exec -T postgres psql -U postgres virtual_office < backup.sqlQ: 可以掛域名嗎?
如您堅持需要外網訪問,可自行設定 Cloudflare Tunnel 或其他反向代理方案:
# 僅供參考,請自行承擔安全風險
cloudflared tunnel --url http://127.0.0.1:3456建議做法:
- 使用 VPN 連回本機
- 使用 SSH Tunnel 轉發
- 不要直接暴露到公網
Q: 如何更新到最新版本?
git pull
docker-compose down
docker-compose build --no-cache
docker-compose up -d歡迎提交 Pull Request 或回報 Issue!
MIT License
- ✨ 新增:Agent 自動偵測與設定(自動掃描 ~/.clawdbot/agents/)
- ✨ 新增:Skills 管理與列表頁面
- ✨ 新增:Port 掃描功能(安全監控)
- ✨ 新增:Prompt Guard(Prompt Injection 檢測)
- ✨ 新增:Agent-Skill 關聯追蹤
- 🔧 改進:資料庫 schema 擴充(5 個新表格)
- 🔧 改進:前端導航優化
- 📚 文件:完整的 API 文件和使用指南
- Clawdbot - AI Agent 框架
- Anthropic Claude - Prompt Guard AI
- KIE.ai - 圖片生成 API
- 偷懶辦公室團隊
- 前端頁面:4 個(index, security, agents-config, skills)
- API 端點:25+ 個
- 資料庫表格:10 個
- 程式碼行數:約 3000+ 行
- 開發時間:2 天
