Star Office UI - Pixel Art AI Office Dashboard
Turn AI assistants' invisible work states into a cozy pixel office, visualizing who is doing what, what was done yesterday, and who is online.
Evidence shows: backend defaults to localhost, provides password protection, weak-password blocking, hardened session cookies; but no user confirmation mechanism (e.g., before state changes), limited data flow transparency (no detailed data flow), sensitive data handling (e.g., Gemini API key) only mentioned in config, no storage/transmission security; dependencies only flask, no version pinning or vulnerability scanning; external effects (e.g., Cloudflare Tunnel) require user action but risks not explained; no rollback; source attribution clear (MIT license, author credits). Deductions: missing user confirmation, insufficient data flow transparency, dependency security not addressed, no rollback.
Evidence shows: README consistent with project structure, state definitions clear; dependencies only flask, but no version pinning or mirror, availability depends on PyPI; failure messages not detailed, but smoke_test script provided. Deductions: dependency availability not fully ensured, failure messages not specific.
Evidence shows: clearly targets OpenClaw users and general users, multiple usage scenarios; capability boundaries (e.g., state mapping, API) described, but trigger precision (e.g., state switch rules) depends on user configuration; environment fit (e.g., Python version, port) described, but not all platforms covered. Deductions: trigger precision depends on user, environment fit incomplete.
Evidence shows: README well-structured, install steps detailed, naming stable (states, API endpoints), examples and FAQ (partial), known limitations (e.g., desktop pet experimental) mentioned, license clear (MIT + art assets non-commercial), changelog present, maintenance responsibility by authors and community. Deductions: examples and FAQ incomplete, known limitations not comprehensive, maintenance responsibility not explicit.
Evidence shows: output is a visual dashboard, directly usable; marginal value high (multi-agent collaboration, AI room design); cost-benefit reasonable (free open source, but self-deployment required). Deductions: cost-benefit not quantified, depends on user self-deployment.
Evidence shows: README feature descriptions largely consistent with code structure, but no test results or independent verification; cross-source corroboration insufficient (only README and code); facts and inferences not clearly separated. Deductions: missing cross-source corroboration, facts and inferences not separated.
- No user confirmation mechanism found; state changes may be automatic, configure with caution.
- Handling of sensitive data (e.g., Gemini API key) not detailed; review yourself.
- Dependencies not version-pinned, supply chain risk; consider lock files or mirrors.
- No rollback mechanism; state changes irreversible, back up state file.
What does this agent do, and when should you use it?
Star Office UI is a pixel-styled AI office status dashboard that visualizes the real-time working states of AI agents. It consists of a Flask backend and a Phaser frontend, mapping six agent states (idle, writing, researching, executing, syncing, error) to different office areas with animations and speech bubbles. The project supports multi-agent collaboration via join keys, allowing guest agents to join and push their status. It offers Chinese, English, and Japanese UI languages, AI image generation for backgrounds (via Gemini API), mobile-friendly design, security hardening, and an optional Electron desktop pet mode. The code is MIT-licensed, but art assets are restricted to non-commercial learning use. It integrates deeply with OpenClaw for automatic state sync, but can also be deployed standalone as a status board.
The Flask backend (backend/app.py) exposes REST APIs: GET /status returns the main agent's status, POST /set_state sets it, GET /agents lists multiple agents, POST /join-agent lets a guest join, POST /agent-push pushes a guest's status, GET /yesterday-memo reads memory/*.md to generate a memo. The frontend (frontend/index.html) uses Phaser to render the pixel office and updates animations in real time. States are set via the set_state.py script or API. It supports multi-agent join via join-keys.json and office-agent-push.py, optional Gemini API for background generation, and Cloudflare Tunnel for public access. An Electron desktop pet (desktop-pet/) provides a transparent window version.
- OpenClaw users: integrate via SOUL.md so the agent automatically updates its status during tasks, allowing you to see its current activity on the web dashboard.
- Multi-agent teams: invite other agents using join keys to join your office and view each member's real-time status and location.
- Remote team status board: team members push status via HTTP API or script to show their current work state in a pixel office view.
- Personal pixel status page: manually update status via set_state.py to display what you are working on.
- Users wanting AI-generated backgrounds: connect Gemini API to let AI create office backgrounds for a personalized look.
What are this agent's strengths and limitations?
- Deep OpenClaw integration: agents automatically sync status, providing a complete visualization loop.
- Multi-agent collaboration: invite other agents via join keys, suitable for team usage.
- Attractive pixel art and trilingual (CN/EN/JP) support for international audiences.
- Code is MIT-licensed, allowing modification and reuse.
- Art assets are non-commercial; commercial use requires replacing them with own assets.
- Requires Python 3.10+; incompatible with older Python versions.
- AI image generation depends on Gemini API; core features work without it, but the decoration feature is limited.
- Desktop pet mode is experimental and primarily tested on macOS; other platforms may have issues.
How do you install or deploy this agent?
Requirements: Python 3.10+. Clone: git clone https://github.com/ringhyacinth/Star-Office-UI.git; cd Star-Office-UI; Install dependencies: python3 -m pip install -r backend/requirements.txt; Copy state file: cp state.sample.json state.json; Start backend: cd backend && python3 app.py; open http://127.0.0.1:19000. Optionally configure .env with FLASK_SECRET_KEY and ASSET_DRAWER_PASS.
How do you use this agent?
After starting the backend, use set_state.py to change states, e.g., python3 set_state.py writing "working on document". Visit the web UI to see changes. For OpenClaw integration, add status sync rules to SOUL.md so the agent calls set_state.py on task start/end. For multi-agent, add join keys to join-keys.json; guests use office-agent-push.py with JOIN_KEY, AGENT_NAME, OFFICE_URL, and run it; it pushes status every 15 seconds.