logo
0
0
WeChat Login
wangmiao<tuziling84@gmail.com>
fix

简体中文 | English | 한국어 | Français | Deutsch | 日本語 | Русский | Español | Português | Italiano | Tiếng Việt | العربية

Star Office UI Node

License Node pnpm GitHub stars

لوحة تحكم مكتب بكسل للتعاون متعدد الوكلاء: تعرض في الوقت الفعلي ما تفعله مساعدات الذكاء الاصطناعي (OpenClaw و Lobster وغيرها) — من نشط، وماذا حدث «أمس»، ومن متصل — ليقرأ الإنسان المشهد بسرعة.

هذا المستودع تنفيذ Node.js / Express لفكرة Star-Office-UI الأصلية. يحافظ على نفس المظهر وعقد HTTP حتى تحتاج الوكلاء والسكربتات الحالية إلى تغييرات بسيطة أو معدومة، بينما الخلفية مُهيأة لخدمة طويلة الأمد وليس سكربتًا واحدًا ضخمًا.

المشروع يدعم أربعة أنماط: Pixel و Soft و Night Blue و Paper؛ الافتراضي هو Pixel.

像素风格 柔和风格 夜青风格 纸本风格

ما الذي يميز هذا الفرع

  • شيفرة على شكل خدمة: مسارات وخدمات وإعدادات وتمهيد تحت src/ بدل ملف واحد. أسهل للمراجعة والاختبار والتوسعة.
  • سلسلة الأدوات جزء من المنتج: يُشترط pnpm و Node ≥ 20 (engines و only-allow و engine-strict في .npmrc وفحص في src/bootstrap/env-check.js). CI والتشغيل متسقان في كل مكان.
  • تشغيل: الخادم يُنهي التشغيل بشكل منظم عند SIGTERM / SIGINT (مناسب لـ Docker/K8s). GET /health للبقاء و GET /ready بعد تهيئة التخزين.
  • حالة على القرص: الحالة الرئيسية وقائمة الوكلاء ومفاتيح الانضمام في JSON بجانب التطبيق — سهلة للنسخ الاحتياطي والمقارنة والأحجام في compose.
  • مذكرة الأمس: تقرأ Markdown من مجلد memory/ المجاور (انظر GET /yesterday-memo) وتحول ملفات اليوميات إلى ملخص «ما فعلناه آخر مرة».

الشكر للمشروع الأصلي أدناه؛ ثم كيفية التشغيل والدمج.

شكر وتقدير

  • المصدر: ringhyacinth/Star-Office-UI
  • المؤلف الأصلي: Ring Hyacinth (والمساهمون)
  • هذا المستودع: إعادة كتابة خلفية Express وهيكلة المشروع بواسطة wangmiaozero

شكرًا لإتاحة مفهوم المكتب البكسل والأصول وتصميم التفاعل.

بدء سريع

يُشترط 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

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

نظرة على واجهة API

  • 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 — صفحات الويب؛ الموارد الثابتة تحت /static

الدمج مع OpenClaw / Lobster

1) الحالات المدعومة

  • idle, writing, researching, executing, syncing, error

ربط التوافق:

  • working / busy / writewriting
  • run / running / execute / execexecuting
  • syncsyncing
  • research / searchresearching

2) انضم مرة واحدة واحفظ agentId

curl -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" }'

3) ادفع الحالة دوريًا (كل 10–30 ثانية)

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" }'

4) مغادرة

curl -s -X POST http://127.0.0.1:18791/leave-agent \ -H "Content-Type: application/json" \ -d '{"agentId":"agent_xxx"}'

دورة حياة مقترحة:

  1. استدعِ join-agent عند البدء
  2. خزّن agentId محليًا
  3. ادفع على فترات
  4. استدعِ leave-agent عند الإغلاق المنظم
  5. عند 403/404، توقف عن الدفع وأعد الانضمام أو تنبّه

الترخيص

  • الشيفرة: MIT
  • أصول الفن قد تخضع لشروط إضافية من المصدر؛ للاستخدام التجاري استبدل بأصولك عند الحاجة.

تاريخ النجوم

إذا ساعدك المشروع، نقدّر نجمة.


Made with ❤️ by wangmiaozero