如果你用过 OpenClaw,可能会遇到一个问题:AI 助手在后台干活,但你不知道它现在到底在做什么——写代码?搜索?还是卡住了?Star-Office-UI 就是冲着这个来的。它把 AI 的工作状态变成一个像素风的小办公室,角色根据状态自动走动,让你扫一眼就知道情况。

项目由 Ring Hyacinth 和 Simon Lee 发起,社区开发者也在持续贡献,2026 年 3 月才开源,目前已经有 2.8k star。代码用 MIT 许可,但美术资产只允许学习用途,商用得自己画。
状态映射:从黑盒到像素场景
Star-Office-UI 把 AI Agent 的 6 种状态映射到办公室里的三个区域:
- 休息区(沙发):
idle待命或任务完成 - 工作区(办公桌):
writing(写代码/文档)、researching(搜索)、executing(执行命令)、syncing(数据同步) - Bug 区:
error错误或异常排查
前端用 Phaser 引擎渲染角色移动动画,状态一变化,角色就走到对应位置,头上还会冒出气泡提示。状态存储在 state.json 里,后端 Flask 提供 API,前端定时轮询。说实话,这套机制不算新鲜,但像素风的还原做得挺到位,甚至有点治愈。
你可以用脚本手动切状态试试:
python3 set_state.py writing "正在整理文档"
python3 set_state.py error "发现问题,排查中"
python3 set_state.py idle "待命中"
多人模式:一个办公室,多个 Agent
通过 join key,可以让多个 AI Agent 加入同一个办公室。每个 key 默认允许 3 人同时在线,访客用 office-agent-push.py 每 15 秒推送一次状态。比如:
JOIN_KEY="ocj_starteam02"
AGENT_NAME="小明的龙虾"
OFFICE_URL="https://office.hyacinth.im"
python3 office-agent-push.py
办公室能同时展示几个角色的状态,这对管理多个 AI 助手的团队来说挺实用。不过实际用下来,并发控制有点严,想开放更多人得自己改源码。
部署:两条路
给 OpenClaw 用户:直接让龙虾帮你搞定,把 SKILL.md 的链接扔给它就行——龙虾会 clone 仓库、装依赖、启动后端、配好状态同步。
手动部署:三步走,30 秒内基本能跑起来:
git clone https://github.com/ringhyacinth/Star-Office-UI.git
cd Star-Office-UI
python3 -m pip install -r backend/requirements.txt
cp state.sample.json state.json
cd backend
python3 app.py
然后访问 http://127.0.0.1:19000。如果要公网访问,项目推荐用 Cloudflare Tunnel,手机也能直接打开。
与 OpenClaw 集成
如果你在 OpenClaw 里用,在 Agent 的规则文件(SOUL.md)里加上这几行,状态就会自动同步:
## Star Office 状态同步规则
- 接到任务时:先执行 `python3 set_state.py <状态> "<描述>"` 再开始工作
- 完成任务后:执行 `python3 set_state.py idle "待命中"` 再回复
这样 Agent 自己就会更新看板,不需要手动干预。
其他亮点
- 多语言:中英日一键切换,界面、气泡、提示联动,国际化做得细致。
- AI 生图:接 Gemini API 给办公室换背景,但不是必选项,不接也能用。
- 桌面宠物:基于 Tauri 的桌面版,能将办公室变成透明窗口,在桌面置顶。macOS 上测试稳定,跨平台可用但偶尔有小问题。
- 安全:侧边栏管理得输密码,生产环境会拦截弱密码,Cookie 也做了加固。
- 昨日小记:自动读
memory/*.md最近一天的工作记录,脱敏后展示成卡片,方便回顾。
技术概览
- 后端:Flask(Python)
- 前端:Phaser(2D 游戏框架)
- 桌面版:Tauri(Rust + Web 前端)
- 状态存储:JSON 文件
- 多 Agent 状态同步:主要是轮询,没用到 WebSocket,高频更新时可能有点延迟。
美术资产来源
访客角色动画用了 LimeZu 的免费资产 Animated Mini Characters 2,协议禁止商用。代码逻辑 MIT。如果要正式用,记得把所有角色和场景图替换成你自己的素材。
API 速查
| 端点 | 说明 |
|---|---|
GET /health | 健康检查 |
GET /status | 获取主 Agent 状态 |
POST /set_state | 设置主 Agent 状态 |
GET /agents | 获取多 Agent 列表 |
POST /join-agent | 访客加入办公室 |
POST /agent-push | 访客推送状态 |
POST /leave-agent | 访客离开 |
GET /yesterday-memo | 获取昨日小记 |
GET /config/gemini | 获取 Gemini API 配置 |
POST /config/gemini | 设置 Gemini API 配置 |
资源
- GitHub: https://github.com/ringhyacinth/Star-Office-UI
- SKILL.md: OpenClaw Skill 文档
- Issues: https://github.com/ringhyacinth/Star-Office-UI/issues
- 相关链接:OpenClaw 主项目、访客接入说明、桌面宠物版 README、更新日志等均在仓库中。
欢迎来我的个人主页找到更多有用的知识和有趣的产品


