乐于分享
好东西不私藏

什么是 Star Office UI?

什么是 Star Office UI?

最近刷到一个开源项目,看完截图的第一反应是:这也太可爱了。

先说个真实的困境

用过 AI 编程助手或者 Agent 的人,大概都碰过同一件事——

你挂着一个任务让它跑,然后就不知道它在干嘛了。

终端窗口那里,一行行日志滚过去,你也看不出它到底在"认真工作"还是"已经卡住了"。这种状态是透明的,但也是完全不可感知的

如果你同时跑着好几个 Agent,或者想把工作状态分享给队友——就更难了。

有人把这件事做成了一个像素办公室

这个项目叫 Star Office UI,作者是 Ring Hyacinth 和 Simon Lee。

用一句话概括:

把 AI 助手(OpenClaw / 龙虾)的实时工作状态,映射成一个会动的像素办公室看板。

具体长什么样呢——办公室里有个小人儿,代表你的 AI 助手。它会根据当前状态自动走到不同的区域:

  • 写代码中?走到工作台前坐下
  • 在研究问题?跑去书架区

  • 出 bug 了?站到红色故障角落
  • 没任务?回到休息区晃悠

不是那种静态的状态标签,是真的会动的、有场景感的可视化。

它到底解决了什么问题

问题一:Agent 的工作状态是不透明的。

以前你只能盯着日志猜。现在这个看板做一件事:让"AI 在干嘛"变得一目了然,而且是有温度的那种——不是冷冰冰的 status: running,是一个小角色站在特定区域、头上飘着气泡文字说"正在整理文档"。

问题二:多 Agent 协作没有统一的展示入口。

项目支持邀请其他 Agent 作为"访客"加入同一个办公室看板。每个访客有自己的角色,可以持续推送状态,主人能同时看到多个助手的实时动态。

问题三:昨天做了什么,根本记不住。

看板里有一个"昨日小记"模块,后端自动从 Agent 的记忆文件里抽取前一天的内容,做基础脱敏后展示到卡片上。不用再翻日志对时间轴了。

几个真正有意思的细节

状态驱动位置移动

不是手动拖拽,是根据 state.json 文件里的状态值,角色会自动出现在对应区域。切换也只需要一行命令:

python3 set_state.py writing "正在整理文档"

python3 set_state.py error "发现问题,排查中"

python3 set_state.py idle "待命中"

支持接生图 API,房间可以装修

这个有点好玩——项目内置了"换背景"能力,接入 Gemini API 之后,可以直接输入主题词让 AI 重绘房间背景。相当于你的 Agent 可以"搬家",或者"给自己的办公室装修"。

移动端直接可用

外出时打开手机,也能看到当前 Agent 在干嘛。对于想随时掌握任务进度的场景,这个体验出乎意料地顺畅。

中英日三语切换

界面文案、角色气泡、状态说明全部支持 CN / EN / JP 切换,而且是实时联动的,不需要刷新页面。

stale 状态自动回 idle

如果 Agent 一段时间没有更新状态,系统会自动把状态判定为"闲置",避免看板上一直显示"工作中"但实际上啥都没发生的假象。这个细节挺体贴的。

架构上是怎么做的

整体结构不复杂:

  • 后端是 Python(Flask),负责维护状态、提供 API、读取 memo 文件

  • 前端是纯 HTML + JS,渲染像素场景和角色动画

  • Electron shell 也有,可以打包成桌面客户端

  • 还有个实验性的 Tauri 桌宠版本,支持透明窗口悬浮在桌面上

多 Agent 通过 join key 机制接入,访客可以持续推送状态,离开时也可以主动 leave。整个状态同步是轻量的 JSON 文件 + API 轮询模式,部署门槛很低。

给谁用最合适

  • 跑着 AI Agent 做日常任务、想知道它在干嘛的人
  • 多 Agent 协作场景下需要统一状态展示的团队
  • 对"AI 工具可视化"这个方向感兴趣、想自己改着玩的开发者
  • 就是觉得像素风格很可爱、想摆一个在屏幕上的人

最后

这个项目刚开源不久,已经有 2000+ Star,227 个 Fork。

项目地址:https://github.com/ringhyacinth/Star-Office-UI