简体中文 | English | 한국어 | Français | Deutsch | 日本語 | Русский | Español | Português | Italiano | Tiếng Việt | العربية
マルチエージェント協業向けの ピクセル風オフィス・ダッシュボード です。OpenClaw や Lobster などの AI アシスタントが今何をしているか、「昨日」の記録、誰がオンラインかをリアルタイムに可視化します。
本リポジトリは上流 Star-Office-UI を Node.js / Express で再実装したもので、見た目と HTTP 契約を保ち既存エージェントの変更を最小限にしつつ、バックエンドは 常駐サービス 向けに整理しています。
UI は 4 スタイル:ピクセル、ソフト、夜青、紙本 — 既定は ピクセル です。


src/ に分離。engines、only-allow、engine-strict、src/bootstrap/env-check.js)。SIGTERM / SIGINT で graceful shutdown。GET /health、永続化後の GET /ready。memory/ の Markdown を読みます(GET /yesterday-memo)。Node ≥ 20、pnpm ≥ 9(pnpm インストール)。
git clone https://github.com/wangmiaozero/Star-Office-UI-Node.git
cd Star-Office-UI-Node
pnpm install
pnpm start
既定 URL: http://127.0.0.1:18791
ファイル監視付き開発:
pnpm dev
ポートが使用中の場合:
PORT=18792 pnpm start
環境変数の例:
cp .env.example .env
SKIP_PNPM_CHECK=1 は pnpm なしで node src/server.js を動かす際のみ — 本番では非推奨 です。
docker compose up -d
ブラウザで http://127.0.0.1:18791
メインエージェントの状態:
pnpm set-state writing "ドキュメント作成中"
ヘルス・レディ:
curl -s http://127.0.0.1:18791/health curl -s http://127.0.0.1:18791/ready
GET /health — 生存GET /ready — 準備完了(起動チェック後)GET /status — メインエージェント状態POST /set_state — メイン状態の設定GET /agents — エージェント一覧(ゲスト整理・オフライン処理)POST /join-agent — ゲスト参加POST /agent-push — ゲスト状態のプッシュPOST /leave-agent — ゲスト退出POST /agent-approve / POST /agent-reject — 承認/拒否GET /yesterday-memo — memory/YYYY-MM-DD.md 由来のメモGET /, /join, /invite — ページ;静的ファイルは /staticidle, writing, researching, executing, syncing, error互換マッピング:
working / busy / write → writingrun / running / execute / exec → executingsync → syncingresearch / search → researchingcurl -s -X POST http://127.0.0.1:18791/join-agent \
-H "Content-Type: application/json" \
-d '{
"name": "openclaw-agent-01",
"joinKey": "ocj_starteam02",
"state": "idle",
"detail": "just joined"
}'
curl -s -X POST http://127.0.0.1:18791/agent-push \
-H "Content-Type: application/json" \
-d '{
"agentId": "agent_xxx",
"joinKey": "ocj_starteam02",
"name": "openclaw-agent-01",
"state": "writing",
"detail": "working on current task context"
}'
curl -s -X POST http://127.0.0.1:18791/leave-agent \
-H "Content-Type: application/json" \
-d '{"agentId":"agent_xxx"}'
推奨フロー: 起動時に join-agent → agentId をローカル保存 → 一定間隔で agent-push → 正常終了時に leave-agent → 403/404 ではプッシュ停止と再 join またはアラート。
役に立ったらスターをいただけると嬉しいです。
Made with ❤️ by wangmiaozero