[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75050":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},75050,"Star-Office-UI","ringhyacinth\u002FStar-Office-UI","ringhyacinth","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.","",null,"HTML",7288,786,35,13,0,24,78,291,72,39.69,"Other",false,"master",true,[27,28,29,30,31,32,33,34,35,36],"agent-collaboration","ai-assistant","dashboard","flask","mobile-friendly","multi-agent","openclaw","phaser","pixel-art","status-visiualzation","2026-06-12 02:03:31","# Star Office UI\n\n🌐 Language: **中文** | [English](.\u002FREADME.en.md) | [日本語](.\u002FREADME.ja.md)\n\n![Star Office UI 封面](docs\u002Fscreenshots\u002Freadme-cover-2.jpg)\n\n**一个像素风格的 AI 办公室看板** —— 把 AI 助手的工作状态实时可视化，让你直观看到\"谁在做什么、昨天做了什么、现在是否在线\"。\n\n支持多 Agent 协作、中英日三语、AI 生图装修、桌面宠物模式。\n与 [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) 深度集成时体验最佳，也可以独立部署作为状态看板使用。\n\n> 本项目由 **[Ring Hyacinth](https:\u002F\u002Fx.com\u002Fring_hyacinth)** 与 **[Simon Lee](https:\u002F\u002Fx.com\u002Fsimonxxoo)** 共同创建（co-created project），并与社区开发者（[@Zhaohan-Wang](https:\u002F\u002Fgithub.com\u002FZhaohan-Wang)、[@Jah-yee](https:\u002F\u002Fgithub.com\u002FJah-yee)、[@liaoandi](https:\u002F\u002Fgithub.com\u002Fliaoandi)）一起持续维护和共建。\n> 欢迎提交 Issue 和 PR，也感谢每一位贡献者的支持。\n\n---\n\n## ✨ 快速体验\n\n### 方式一：让龙虾帮你部署（推荐给 OpenClaw 用户）\n\n如果你正在使用 [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw)，直接把下面这句话发给你的龙虾：\n\n```text\n请按照这个 SKILL.md 帮我完成 Star Office UI 的部署：\nhttps:\u002F\u002Fgithub.com\u002Fringhyacinth\u002FStar-Office-UI\u002Fblob\u002Fmaster\u002FSKILL.md\n```\n\n龙虾会自动完成 clone、安装依赖、启动后端、配置状态同步，并把访问地址发给你。\n\n### 方式二：30 秒手动部署\n\n> **环境要求：Python 3.10+**（代码使用了 `X | Y` union type 语法，不支持 3.9 及更低版本）\n\n```bash\n# 1) 下载仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fringhyacinth\u002FStar-Office-UI.git\ncd Star-Office-UI\n\n# 2) 安装依赖（需要 Python 3.10+）\npython3 -m pip install -r backend\u002Frequirements.txt\n\n# 3) 准备状态文件（首次）\ncp state.sample.json state.json\n\n# 4) 启动后端\ncd backend\npython3 app.py\n```\n\n打开 **http:\u002F\u002F127.0.0.1:19000** 然后试试切状态：\n\n```bash\npython3 set_state.py writing \"正在整理文档\"\npython3 set_state.py error \"发现问题，排查中\"\npython3 set_state.py idle \"待命中\"\n```\n\n![Star Office UI 预览](docs\u002Fscreenshots\u002Freadme-cover-1.jpg)\n\n---\n\n## 🤔 适合谁用？\n\n### 有 OpenClaw \u002F AI Agent 的用户\n这是**完整体验**。Agent 在工作时自动切换状态，办公室里的像素角色会实时走到对应区域——你只需要打开网页，就能看到 AI 此刻在做什么。\n\n### 没有 OpenClaw 的用户\n也完全可以部署。你可以：\n- 用 `set_state.py` 或 API 手动 \u002F 脚本推送状态\n- 把它当成一个像素风的个人状态页 \u002F 远程办公看板\n- 接入任何能发 HTTP 请求的系统来驱动状态\n\n\n---\n\n## 📋 功能一览\n\n1. **状态可视化** —— 6 种状态（`idle` \u002F `writing` \u002F `researching` \u002F `executing` \u002F `syncing` \u002F `error`）自动映射到办公室不同区域，动画 + 气泡实时展示\n2. **昨日小记** —— 自动从 `memory\u002F*.md` 读取最近一天的工作记录，脱敏后展示为\"昨日小记\"卡片\n3. **多 Agent 协作** —— 通过 join key 邀请其他 Agent 加入你的办公室，实时查看多人状态\n4. **中英日三语** —— CN \u002F EN \u002F JP 一键切换，界面文案、气泡、加载提示全部联动\n5. **美术资产自定义** —— 侧边栏管理角色 \u002F 场景 \u002F 装饰素材，支持动态帧同步，避免闪烁\n6. **AI 生图装修** —— 接入 Gemini API，用 AI 给办公室换背景；不接入 API 也能正常使用核心功能\n7. **移动端适配** —— 手机直接打开即可查看，适合外出时快速瞄一眼\n8. **安全加固** —— 侧边栏密码保护、生产环境弱密码拦截、Session Cookie 加固\n9. **灵活公网访问** —— 推荐 Cloudflare Tunnel 一键公网化，也可用自有域名 \u002F 反向代理\n10. **桌面宠物版** —— 可选的 Electron 桌面封装，把办公室变成透明窗口的桌面宠物（见下方说明）\n\n---\n\n## 🚀 详细部署指南\n\n### 1) 安装依赖\n\n```bash\ncd Star-Office-UI\npython3 -m pip install -r backend\u002Frequirements.txt\n```\n\n### 2) 初始化状态文件\n\n```bash\ncp state.sample.json state.json\n```\n\n### 3) 启动后端\n\n```bash\ncd backend\npython3 app.py\n```\n\n打开 `http:\u002F\u002F127.0.0.1:19000`\n\n> ✅ 首次部署可以先保留默认配置；在生产环境中，请复制 `.env.example` 为 `.env` 并设置强随机的 `FLASK_SECRET_KEY` 与 `ASSET_DRAWER_PASS`，避免弱密码和会话泄露。\n\n### 4) 切换状态\n\n```bash\npython3 set_state.py writing \"正在整理文档\"\npython3 set_state.py syncing \"同步进度中\"\npython3 set_state.py error \"发现问题，排查中\"\npython3 set_state.py idle \"待命中\"\n```\n\n### 5) 公网访问（可选）\n\n```bash\ncloudflared tunnel --url http:\u002F\u002F127.0.0.1:19000\n```\n\n拿到 `https:\u002F\u002Fxxx.trycloudflare.com` 链接即可分享。\n\n### 6) 验证安装（可选）\n\n```bash\npython3 scripts\u002Fsmoke_test.py --base-url http:\u002F\u002F127.0.0.1:19000\n```\n\n所有检查显示 `OK` 即表示部署成功。\n\n---\n\n## 🦞 OpenClaw 深度集成\n\n> 以下内容面向 [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) 用户。如果你不使用 OpenClaw，可以跳过这一节。\n\n### 状态自动同步\n\n在你的 `SOUL.md`（或 Agent 规则文件）中加入以下规则，让 Agent 自觉维护状态：\n\n```markdown\n## Star Office 状态同步规则\n- 接到任务时：先执行 `python3 set_state.py \u003C状态> \"\u003C描述>\"` 再开始工作\n- 完成任务后：执行 `python3 set_state.py idle \"待命中\"` 再回复\n```\n\n**6 种状态 → 3 个区域的映射：**\n\n| 状态 | 办公室区域 | 触发场景 |\n|------|-----------|---------|\n| `idle` | 🛋 休息区（沙发） | 待命 \u002F 任务完成 |\n| `writing` | 💻 工作区（办公桌） | 写代码 \u002F 写文档 |\n| `researching` | 💻 工作区 | 搜索 \u002F 调研 |\n| `executing` | 💻 工作区 | 执行命令 \u002F 跑任务 |\n| `syncing` | 💻 工作区 | 同步数据 \u002F 推送 |\n| `error` | 🐛 Bug 区 | 报错 \u002F 异常排查 |\n\n### 邀请其他 Agent 加入办公室\n\n**Step 1：准备 join key**\n\n首次启动后端时，如果当前目录下不存在 `join-keys.json`，服务会自动根据 `join-keys.sample.json` 生成一个运行时的 `join-keys.json`（内含示例 key，例如 `ocj_example_team_01`）。你可以在生成后的 `join-keys.json` 中自行添加、修改或删除 key，每个 key 默认支持最多 3 人同时在线。\n\n**Step 2：让访客 Agent 运行推送脚本**\n\n访客只需下载 `office-agent-push.py`，填写 3 个变量即可：\n\n```python\nJOIN_KEY = \"ocj_starteam02\"          # 你分配的 key\nAGENT_NAME = \"小明的龙虾\"            # 显示名称\nOFFICE_URL = \"https:\u002F\u002Foffice.hyacinth.im\"  # 你的办公室地址\n```\n\n```bash\npython3 office-agent-push.py\n```\n\n脚本会自动加入办公室并每 15 秒推送一次状态。访客会出现在看板上，根据状态自动走到对应区域。\n\n**Step 3（可选）：访客安装 Skill**\n\n访客也可以把 `frontend\u002Fjoin-office-skill.md` 作为 Skill 使用，Agent 会自动完成配置和推送。\n\n> 详细的访客接入说明见 [`frontend\u002Fjoin-office-skill.md`](.\u002Ffrontend\u002Fjoin-office-skill.md)\n\n---\n\n## 📡 常用 API\n\n| 端点 | 说明 |\n|------|------|\n| `GET \u002Fhealth` | 健康检查 |\n| `GET \u002Fstatus` | 获取主 Agent 状态 |\n| `POST \u002Fset_state` | 设置主 Agent 状态 |\n| `GET \u002Fagents` | 获取多 Agent 列表 |\n| `POST \u002Fjoin-agent` | 访客加入办公室 |\n| `POST \u002Fagent-push` | 访客推送状态 |\n| `POST \u002Fleave-agent` | 访客离开 |\n| `GET \u002Fyesterday-memo` | 获取昨日小记 |\n| `GET \u002Fconfig\u002Fgemini` | 获取 Gemini API 配置 |\n| `POST \u002Fconfig\u002Fgemini` | 设置 Gemini API 配置 |\n| `GET \u002Fassets\u002Fgenerate-rpg-background\u002Fpoll` | 轮询生图进度 |\n\n---\n\n## 🖥 桌面宠物版（可选）\n\n`desktop-pet\u002F` 目录提供了一个基于 **Electron** 的桌面封装版本，可以把像素办公室变成一个透明窗口的桌面宠物。\n\n```bash\ncd desktop-pet\nnpm install\nnpm run dev\n```\n\n- 启动时自动拉起 Python 后端\n- 窗口默认指向 `http:\u002F\u002F127.0.0.1:19000\u002F?desktop=1`\n- 支持通过环境变量自定义项目路径和 Python 路径\n\n> ⚠️ 这是一个**可选的实验性功能**，目前主要在 macOS 上开发测试。详见 [`desktop-pet\u002FREADME.md`](.\u002Fdesktop-pet\u002FREADME.md)。\n>\n> 🙏 桌面宠物版由 [@Zhaohan-Wang](https:\u002F\u002Fgithub.com\u002FZhaohan-Wang) 独立开发，感谢他的贡献！\n\n---\n\n## 🎨 美术资产与开源许可\n\n### 资产来源\n\n访客角色动画使用了 **LimeZu** 的免费资产：\n- [Animated Mini Characters 2 (Platformer) [FREE]](https:\u002F\u002Flimezu.itch.io\u002Fanimated-mini-characters-2-platform-free)\n\n请在二次发布 \u002F 演示时保留来源说明，并遵守原作者许可条款。\n\n### 许可协议\n\n- **代码 \u002F 逻辑：MIT**（见 [`LICENSE`](.\u002FLICENSE)）\n- **美术资产：禁止商用**（仅学习 \u002F 演示 \u002F 交流用途）\n\n> 如需商用，请将所有美术资产替换为你自己的原创素材。\n\n---\n\n## 📝 更新日志\n\n| 日期 | 概要 | 详情 |\n|------|------|------|\n| 2026-03-06 | 🔌 默认端口调整 — 默认后端端口从 18791 调整为 19000，以避开 OpenClaw Browser Control 端口冲突；同步更新脚本、桌面壳与文档默认值 | [`docs\u002FCHANGELOG_2026-03.md`](.\u002Fdocs\u002FCHANGELOG_2026-03.md) |\n| 2026-03-05 | 📱 稳定性修复 — CDN 缓存修复、生图异步化、移动端侧边栏优化、Join Key 过期与并发控制 | [`docs\u002FUPDATE_REPORT_2026-03-05.md`](.\u002Fdocs\u002FUPDATE_REPORT_2026-03-05.md) |\n| 2026-03-04 | 🔒 P0\u002FP1 安全加固 — 弱密码拦截、后端模块拆分、stale 状态自动回 idle、首屏骨架屏优化 | [`docs\u002FUPDATE_REPORT_2026-03-04_P0_P1.md`](.\u002Fdocs\u002FUPDATE_REPORT_2026-03-04_P0_P1.md) |\n| 2026-03-03 | 📋 开源发布检查清单完成 | [`docs\u002FOPEN_SOURCE_RELEASE_CHECKLIST.md`](.\u002Fdocs\u002FOPEN_SOURCE_RELEASE_CHECKLIST.md) |\n| 2026-03-01 | 🎉 **v2 重制发布** — 新增三语支持、资产管理系统、AI 生图装修、美术资产全面替换 | [`docs\u002FFEATURES_NEW_2026-03-01.md`](.\u002Fdocs\u002FFEATURES_NEW_2026-03-01.md) |\n\n---\n\n## 📁 项目结构\n\n```text\nStar-Office-UI\u002F\n├── backend\u002F            # Flask 后端\n│   ├── app.py\n│   ├── requirements.txt\n│   └── run.sh\n├── frontend\u002F           # 前端页面与资产\n│   ├── index.html\n│   ├── join.html\n│   ├── invite.html\n│   └── layout.js\n├── desktop-pet\u002F        # Electron 桌面宠物版（可选）\n├── docs\u002F               # 文档与截图\n│   └── screenshots\u002F\n├── office-agent-push.py  # 访客推送脚本\n├── set_state.py          # 状态切换脚本\n├── state.sample.json     # 状态文件模板\n├── join-keys.sample.json # Join Key 模板（启动时生成 join-keys.json）\n├── SKILL.md              # OpenClaw Skill\n└── LICENSE               # MIT 许可\n```\n\n---\n\n## ⭐ Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fimage?repos=ringhyacinth\u002FStar-Office-UI&type=date&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F?repos=ringhyacinth%2FStar-Office-UI&type=date&legend=top-left)\n","Star-Office-UI 是一个像素风格的 AI 办公室看板，将 AI 助手的工作状态实时可视化，帮助用户直观了解每个 Agent 的当前活动。该项目支持多 Agent 协作、中英日三语切换、AI 生成背景图等功能，并且可以与 OpenClaw 深度集成以获得最佳体验，同时也支持独立部署作为通用的状态看板使用。它特别适合那些希望提升远程办公或团队协作透明度的场景，无论是对于已经拥有 OpenClaw 或其他 AI Agent 的用户，还是仅需一个美观实用的状态展示工具的人士都非常适用。通过简单的手动或自动部署步骤，用户即可快速搭建起自己的“办公室”，享受其带来的便利与乐趣。",2,"2026-06-11 03:52:04","high_star"]