Star-Office-UI

ringhyacinth更新放缓

把 OpenClaw 多智能体看不见的运行状态变成像素风办公室小场景,用角色、每日便签和访客 agent 直观展示协作进度。

A pixel office for your OpenClaw: turn invisible work states into a cozy little space with characters, daily notes, and guest agents. Code under MIT; art assets for non-commercial learning only.

v1.0.0发布于 2026-03-06 10:08 UTC7,569star +5 / 7 天805fork同步于 2026-11-10 23:33 UTC

怎么上手

由 README 提炼,执行前请确认
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
硬件要求按 README 说明

README 未说明显存或 GPU 要求,后端为 Flask 服务,按 Python 3.10+ 环境运行即可;桌面宠物版为 Electron 封装,主要在 macOS 上开发测试。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把 AI 助手的工作状态变成像素办公室看板,直观看到谁在做什么

把 OpenClaw 多智能体看不见的运行状态变成像素风办公室小场景,用角色、每日便签和访客 agent 直观展示协作进度。

核心能力

  • 6 种状态自动映射到办公室不同区域并播放动画气泡
  • 从 memory/*.md 读取昨日工作记录生成昨日小记卡片
  • 用 join key 邀请其他 Agent 加入并实时查看多人状态
  • 侧边栏管理角色场景装饰素材,支持动态帧同步
  • 接入 Gemini API 用 AI 生成办公室背景图

容易踩的坑

必须使用 Python 3.10+,代码用了 X | Y union type 语法,3.9 及以下跑不起来;首次启动前要先复制 state.sample.json 为 state.json;默认端口是 19000,生产环境需复制 .env.example 为 .env 并设置强随机的 FLASK_SECRET_KEY 与 ASSET_DRAWER_PASS;美术资产禁止商用,商用需自行替换素材。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v1.0.0
  1. v1.0.0Star Office UI v1.0.0最新正式版2026-03-06 · 2026-03-06 10:08 UTC

    Star Office UI v1.0.0 🎉

    从 v0.1.0 到 v1.0.0,经历了 154 次提交、完整的架构重构和社区共建。这是第一个正式的稳定版本。

    Star Office UI


    ✨ 核心特性

    • 像素办公室看板 — 6 种 AI 工作状态实时可视化,角色自动走到对应区域
    • 多 Agent 协作 — 通过 Join Key 邀请其他 Agent 加入你的办公室
    • 中英日三语 — CN / EN / JP 一键切换,全部 UI 文案联动
    • AI 生图装修 — 接入 Gemini API 用 AI 给办公室换背景
    • 昨日小记 — 自动读取 memory 日志,脱敏展示
    • 移动端适配 — 手机直接打开查看
    • 桌面宠物版 — 可选的 Tauri 桌面封装

    🚀 快速体验

    OpenClaw 用户

    发给你的龙虾:

    请按照这个 SKILL.md 帮我完成 Star Office UI 的部署:
    https://github.com/ringhyacinth/Star-Office-UI/blob/master/SKILL.md
    

    手动部署

    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 即可。


    📋 v0.1.0 → v1.0.0 主要变更

    🎨 v2 重制(2026-03-01)

    • 全新美术资产替换
    • 资产管理系统(侧边栏管理角色/场景/装饰)
    • AI 生图装修系统(Gemini API)
    • 中英日三语完整支持

    🔒 安全加固(2026-03-04)

    • 侧边栏弱密码拦截
    • 后端模块拆分(security / memo / store utils)
    • Stale 状态自动回 idle
    • 首屏骨架屏优化

    📱 稳定性修复(2026-03-05)

    • CDN 缓存策略修复
    • 生图异步化(避免 Cloudflare 524 超时)
    • 移动端侧边栏 UX 优化
    • Join Key 过期与并发控制

    🔌 端口调整(2026-03-06)

    • 默认端口从 18791 调整为 19000(避开 OpenClaw Browser Control 冲突)
    • 同步更新所有脚本、桌面壳与文档

    📖 文档重构(2026-03-06)

    • README 三语重构:双路径快速体验、适用人群说明、社区共建文案
    • 更新日志倒序排列

    🤝 社区贡献

    感谢以下贡献者参与改进:

    • @Jah-yee — 文档改进、代码质量、Bug 修复(#56-#63)
    • @liaoandi — 访客 Agent 重叠修复(#64)
    • @vingmo、@thomasmmin、@Mammmth — Issue 反馈与问题定位

    许可协议

    • 代码:MIT
    • 美术资产:禁止商用(仅学习/演示/交流)

    本项目由 Ring Hyacinth 与 Simon Lee 共同创建,并与社区开发者一起持续维护和共建。

  2. v0.1.0Star Office UI v0.1.02026-02-26 · 2026-02-26 03:50 UTC
    查看更新说明

    Initial release of Star Office UI - a tiny pixel office status UI for your AI assistant.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Star Office UI

    🌐 Language: 中文 | English | 日本語

    Star Office UI 封面

    一个像素风格的 AI 办公室看板 —— 把 AI 助手的工作状态实时可视化,让你直观看到"谁在做什么、昨天做了什么、现在是否在线"。

    支持多 Agent 协作、中英日三语、AI 生图装修、桌面宠物模式。 与 OpenClaw 深度集成时体验最佳,也可以独立部署作为状态看板使用。

    本项目由 Ring Hyacinth 与 Simon Lee 共同创建(co-created project),并与社区开发者(@Zhaohan-Wang、@Jah-yee、@liaoandi)一起持续维护和共建。 欢迎提交 Issue 和 PR,也感谢每一位贡献者的支持。


    ✨ 快速体验

    方式一:让龙虾帮你部署(推荐给 OpenClaw 用户)

    如果你正在使用 OpenClaw,直接把下面这句话发给你的龙虾:

    请按照这个 SKILL.md 帮我完成 Star Office UI 的部署:
    https://github.com/ringhyacinth/Star-Office-UI/blob/master/SKILL.md
    

    龙虾会自动完成 clone、安装依赖、启动后端、配置状态同步,并把访问地址发给你。

    方式二:30 秒手动部署

    环境要求:Python 3.10+(代码使用了 X | Y union type 语法,不支持 3.9 及更低版本)

    # 1) 下载仓库
    git clone https://github.com/ringhyacinth/Star-Office-UI.git
    cd Star-Office-UI
    
    # 2) 安装依赖(需要 Python 3.10+)
    python3 -m pip install -r backend/requirements.txt
    
    # 3) 准备状态文件(首次)
    cp state.sample.json state.json
    
    # 4) 启动后端
    cd backend
    python3 app.py
    

    打开 http://127.0.0.1:19000 然后试试切状态:

    python3 set_state.py writing "正在整理文档"
    python3 set_state.py error "发现问题,排查中"
    python3 set_state.py idle "待命中"
    

    Star Office UI 预览


    🤔 适合谁用?

    有 OpenClaw / AI Agent 的用户

    这是完整体验。Agent 在工作时自动切换状态,办公室里的像素角色会实时走到对应区域——你只需要打开网页,就能看到 AI 此刻在做什么。

    没有 OpenClaw 的用户

    也完全可以部署。你可以:

    • 用 set_state.py 或 API 手动 / 脚本推送状态
    • 把它当成一个像素风的个人状态页 / 远程办公看板
    • 接入任何能发 HTTP 请求的系统来驱动状态

    📋 功能一览

    1. 状态可视化 —— 6 种状态(idle / writing / researching / executing / syncing / error)自动映射到办公室不同区域,动画 + 气泡实时展示
    2. 昨日小记 —— 自动从 memory/*.md 读取最近一天的工作记录,脱敏后展示为"昨日小记"卡片
    3. 多 Agent 协作 —— 通过 join key 邀请其他 Agent 加入你的办公室,实时查看多人状态
    4. 中英日三语 —— CN / EN / JP 一键切换,界面文案、气泡、加载提示全部联动
    5. 美术资产自定义 —— 侧边栏管理角色 / 场景 / 装饰素材,支持动态帧同步,避免闪烁
    6. AI 生图装修 —— 接入 Gemini API,用 AI 给办公室换背景;不接入 API 也能正常使用核心功能
    7. 移动端适配 —— 手机直接打开即可查看,适合外出时快速瞄一眼
    8. 安全加固 —— 侧边栏密码保护、生产环境弱密码拦截、Session Cookie 加固
    9. 灵活公网访问 —— 推荐 Cloudflare Tunnel 一键公网化,也可用自有域名 / 反向代理
    10. 桌面宠物版 —— 可选的 Electron 桌面封装,把办公室变成透明窗口的桌面宠物(见下方说明)

    🚀 详细部署指南

    1) 安装依赖

    cd Star-Office-UI
    python3 -m pip install -r backend/requirements.txt
    

    2) 初始化状态文件

    cp state.sample.json state.json
    

    3) 启动后端

    cd backend
    python3 app.py
    

    打开 http://127.0.0.1:19000

    ✅ 首次部署可以先保留默认配置;在生产环境中,请复制 .env.example 为 .env 并设置强随机的 FLASK_SECRET_KEY 与 ASSET_DRAWER_PASS,避免弱密码和会话泄露。

    4) 切换状态

    python3 set_state.py writing "正在整理文档"
    python3 set_state.py syncing "同步进度中"
    python3 set_state.py error "发现问题,排查中"
    python3 set_state.py idle "待命中"
    

    5) 公网访问(可选)

    cloudflared tunnel --url http://127.0.0.1:19000
    

    拿到 https://xxx.trycloudflare.com 链接即可分享。

    6) 验证安装(可选)

    python3 scripts/smoke_test.py --base-url http://127.0.0.1:19000
    

    所有检查显示 OK 即表示部署成功。


    🦞 OpenClaw 深度集成

    以下内容面向 OpenClaw 用户。如果你不使用 OpenClaw,可以跳过这一节。

    状态自动同步

    在你的 SOUL.md(或 Agent 规则文件)中加入以下规则,让 Agent 自觉维护状态:

    ## Star Office 状态同步规则
    - 接到任务时:先执行 `python3 set_state.py <状态> "<描述>"` 再开始工作
    - 完成任务后:执行 `python3 set_state.py idle "待命中"` 再回复
    

    6 种状态 → 3 个区域的映射:

    状态办公室区域触发场景
    idle🛋 休息区(沙发)待命 / 任务完成
    writing💻 工作区(办公桌)写代码 / 写文档
    researching💻 工作区搜索 / 调研
    executing💻 工作区执行命令 / 跑任务
    syncing💻 工作区同步数据 / 推送
    error🐛 Bug 区报错 / 异常排查

    邀请其他 Agent 加入办公室

    Step 1:准备 join key

    首次启动后端时,如果当前目录下不存在 join-keys.json,服务会自动根据 join-keys.sample.json 生成一个运行时的 join-keys.json(内含示例 key,例如 ocj_example_team_01)。你可以在生成后的 join-keys.json 中自行添加、修改或删除 key,每个 key 默认支持最多 3 人同时在线。

    Step 2:让访客 Agent 运行推送脚本

    访客只需下载 office-agent-push.py,填写 3 个变量即可:

    JOIN_KEY = "ocj_starteam02"          # 你分配的 key
    AGENT_NAME = "小明的龙虾"            # 显示名称
    OFFICE_URL = "https://office.hyacinth.im"  # 你的办公室地址
    
    python3 office-agent-push.py
    

    脚本会自动加入办公室并每 15 秒推送一次状态。访客会出现在看板上,根据状态自动走到对应区域。

    Step 3(可选):访客安装 Skill

    访客也可以把 frontend/join-office-skill.md 作为 Skill 使用,Agent 会自动完成配置和推送。

    详细的访客接入说明见 frontend/join-office-skill.md


    📡 常用 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 配置
    GET /assets/generate-rpg-background/poll轮询生图进度

    🖥 桌面宠物版(可选)

    desktop-pet/ 目录提供了一个基于 Electron 的桌面封装版本,可以把像素办公室变成一个透明窗口的桌面宠物。

    cd desktop-pet
    npm install
    npm run dev
    
    • 启动时自动拉起 Python 后端
    • 窗口默认指向 http://127.0.0.1:19000/?desktop=1
    • 支持通过环境变量自定义项目路径和 Python 路径

    ⚠️ 这是一个可选的实验性功能,目前主要在 macOS 上开发测试。详见 desktop-pet/README.md。

    🙏 桌面宠物版由 @Zhaohan-Wang 独立开发,感谢他的贡献!


    🎨 美术资产与开源许可

    资产来源

    访客角色动画使用了 LimeZu 的免费资产:

    请在二次发布 / 演示时保留来源说明,并遵守原作者许可条款。

    许可协议

    • 代码 / 逻辑:MIT(见 LICENSE)
    • 美术资产:禁止商用(仅学习 / 演示 / 交流用途)

    如需商用,请将所有美术资产替换为你自己的原创素材。


    📝 更新日志

    日期概要详情
    2026-03-06🔌 默认端口调整 — 默认后端端口从 18791 调整为 19000,以避开 OpenClaw Browser Control 端口冲突;同步更新脚本、桌面壳与文档默认值docs/CHANGELOG_2026-03.md
    2026-03-05📱 稳定性修复 — CDN 缓存修复、生图异步化、移动端侧边栏优化、Join Key 过期与并发控制docs/UPDATE_REPORT_2026-03-05.md
    2026-03-04🔒 P0/P1 安全加固 — 弱密码拦截、后端模块拆分、stale 状态自动回 idle、首屏骨架屏优化docs/UPDATE_REPORT_2026-03-04_P0_P1.md
    2026-03-03📋 开源发布检查清单完成docs/OPEN_SOURCE_RELEASE_CHECKLIST.md
    2026-03-01🎉 v2 重制发布 — 新增三语支持、资产管理系统、AI 生图装修、美术资产全面替换docs/FEATURES_NEW_2026-03-01.md

    📁 项目结构

    Star-Office-UI/
    ├── backend/            # Flask 后端
    │   ├── app.py
    │   ├── requirements.txt
    │   └── run.sh
    ├── frontend/           # 前端页面与资产
    │   ├── index.html
    │   ├── join.html
    │   ├── invite.html
    │   └── layout.js
    ├── desktop-pet/        # Electron 桌面宠物版(可选)
    ├── docs/               # 文档与截图
    │   └── screenshots/
    ├── office-agent-push.py  # 访客推送脚本
    ├── set_state.py          # 状态切换脚本
    ├── state.sample.json     # 状态文件模板
    ├── join-keys.sample.json # Join Key 模板(启动时生成 join-keys.json)
    ├── SKILL.md              # OpenClaw Skill
    └── LICENSE               # MIT 许可
    

    ⭐ Star History

    Star History Chart