简体中文 | English | 한국어 | Français | Deutsch | 日本語 | Русский | Español | Português | Italiano | Tiếng Việt | العربية
لوحة تحكم مكتب بكسل للتعاون متعدد الوكلاء: تعرض في الوقت الفعلي ما تفعله مساعدات الذكاء الاصطناعي (OpenClaw و Lobster وغيرها) — من نشط، وماذا حدث «أمس»، ومن متصل — ليقرأ الإنسان المشهد بسرعة.
هذا المستودع تنفيذ Node.js / Express لفكرة Star-Office-UI الأصلية. يحافظ على نفس المظهر وعقد HTTP حتى تحتاج الوكلاء والسكربتات الحالية إلى تغييرات بسيطة أو معدومة، بينما الخلفية مُهيأة لخدمة طويلة الأمد وليس سكربتًا واحدًا ضخمًا.
المشروع يدعم أربعة أنماط: Pixel و Soft و Night Blue و Paper؛ الافتراضي هو Pixel.

src/ بدل ملف واحد. أسهل للمراجعة والاختبار والتوسعة.engines و only-allow و engine-strict في .npmrc وفحص في src/bootstrap/env-check.js). CI والتشغيل متسقان في كل مكان.SIGTERM / SIGINT (مناسب لـ Docker/K8s). GET /health للبقاء و GET /ready بعد تهيئة التخزين.memory/ المجاور (انظر 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
العنوان الافتراضي: http://127.0.0.1:18791
تطوير مع إعادة التحميل:
pnpm dev
إذا كان المنفذ مشغولًا:
PORT=18792 pnpm start
ملف بيئة اختياري:
cp .env.example .env
SKIP_PNPM_CHECK=1 موثّق فقط لحالات نادرة يجب فيها تشغيل node src/server.js بدون pnpm — لا يُنصح به في الإنتاج.
docker compose up -d
ثم افتح: http://127.0.0.1:18791
تعيين حالة الوكيل الرئيسي (مساعد CLI):
pnpm set-state writing "Drafting docs"
الصحة والجاهزية:
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.mdGET /, /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 محليًاleave-agent عند الإغلاق المنظم403/404، توقف عن الدفع وأعد الانضمام أو تنبّهإذا ساعدك المشروع، نقدّر نجمة.
Made with ❤️ by wangmiaozero