把 AI Agent 画进像素办公室:一个 DSH 插件的诞生
一个跑在浏览器里的像素风办公室:AI 小人从电梯走出来,走到自己的工位,坐下敲键盘,屏幕上亮起正在执行的命令。它不是游戏,而是 AI Agent 运行状态的可视化面板。

一、它是什么
像素办公室(Pixel Agents for DSH) 是 DeepSeek Harness(DSH)的一个插件。它把你正在运行的 AI 会话变成像素小人:
- 每个 Agent 是一个小人,有名字、工位、状态
- 工作时坐在椅子上敲键盘,桌面显示器亮起
- 空闲时保持坐姿,不再满屋子乱走
- 支持多楼层、电梯、监控大屏、机房、超市等主题场景
它由三部分组成:
| 部分 | 职责 |
|---|---|
pixel-agents-src |
引擎 + Webview UI(React/Vite),负责渲染、家具编辑器、角色动画 |
pixel-agents-server |
Fastify 服务:WebSocket、布局持久化、Hooks 入口、静态资源 |
dsh-pixel-agents |
DSH 插件:读取 DSH 会话状态,把事件转发给办公室服务 |
插件通过 HTTP Hooks + WebSocket 与办公室服务通信,浏览器只是观众端,刷新页面不会丢数据(布局和 Agent 座位都保存在服务端/本地文件)。
二、站在谁的肩膀上
1. 上游项目:Pixel Agents
- 作者:Pablo De Lucca
- 许可证:MIT
- 本项目是其 1.6 分支的深度改造版,保留了原有架构(引擎、布局编辑器、家具系统),在此基础上扩展了多楼层与状态可视化。
2. 视觉参考:pixtuoid
办公室北墙的落地窗、城市天际线、太阳/月亮轨迹、时钟、云朵、夜景光溢出等视觉,参考并移植自 pixtuoid 的风格。这部分属于视觉借鉴,二次分发前需要确认其许可证。
三、我们新增了什么
1. 多楼层与电梯
- 6 层楼:B2 / B1 / L1 / L2 / L3 / L4,每层 36×23
- 顶层是玻璃幕墙,地下室是混凝土墙
- 默认在 L2,右上角电梯面板可切换楼层
- 楼层下拉框锁定在电梯按钮下方,带悬停延时
- 新 Agent 从电梯口出现,播放电梯门开合动画,再走到自己的工位
2. 工作状态可视化
- 桌面显示器与电脑在有人工作时自动亮屏
- 空闲时保持黑屏,坐下即亮,离开即灭
- 反向坐的工位也支持:电脑与椅子叠放、椅子在桌子另一侧都能正确配对
3. 大屏系统
- 监控大屏(6×4 / 9×5 可配置尺寸),支持拖放与旋转
- 屏幕 URL:点击屏幕可配置链接与标签,支持「一直显示 / 悬停显示」,配置后点击直接打开链接
- 标签配置按「类型@位置」兜底保存,布局重建不丢失
- 运算动画:所有楼层的大屏都播放「滚动终端 + 进度条」动画,每块屏随机 2~10 秒更新一次,速度各自独立
4. IDC 机房(B2)
- 机柜标签与 6 色状态灯(正常/告警/故障/离线/同步中/维护中)
- 鼠标悬停显示提示,点击机柜打开 U 位面板
- 面板内可在线编辑机柜标签、状态,以及每个 U 位的名称与状态
5. 楼层主题
| 楼层 | 主题 |
|---|---|
| B2 | IDC 机房(服务器、网络、监控墙) |
| L1 | 超市(货架、收银台、看板) |
| L2 | 综合办公区(工位、会议室、休息区) |
| L3 | IT 研发中心(IT 素材:办公桌、会议桌、白板、世界地图、监控大屏) |
| L4 | 像素之家,给像素小人家的感觉 |
6. 素材系统
支持外部素材目录,按
manifest.json动态加载支持旋转组(3-way-mirror:front/back/side + 镜像)
支持状态组(on/off)与动画组(多帧循环)
占位(footprint)与显示尺寸解耦:可以做到「图大、占位小」
内置切片流程:去背景、去水印、裁剪、缩放、锐化

7. Agent 管理
白名单:只显示指定的 session / bot
按楼层分配:同一个 Agent 可出现在多个楼层,管理页勾选楼层
刷新推送:白名单变化或小人消失时,一键重新推送(插件会重发会话事件)
配套管理页(8090):勾选显示、自定义名字、楼层多选、重新推送
8. 其他细节
- 时钟与昼夜统一按 Asia/Shanghai 计算,支持
clockOffset校准 - 本地音乐库(
~/.pixel-agents/music)+ 外链 URL,支持单曲 / 循环 / 列表 - 布局自动保存与多楼层守护(防止客户端把 6 层覆盖成 1 层)
- 服务端健康检查、静态资源不缓存 HTML(避免更新后仍是旧版本)

四、技术栈
- 前端:React + Vite + Canvas 2D(像素级绘制、sprite cache)
- 后端:Fastify + WebSocket + JSON 文件持久化
- 集成:DSH 插件 API、HTTP Hooks(SessionStart / PreToolUse / PostToolUse / Stop / SessionEnd)
- 数据:
~/.pixel-agents/layout.json(布局)、standalone-state.json(Agent 状态)、dsh-allow.json(白名单)
五、它解决什么问题
AI Agent 干活时,界面通常只有一行行日志。像素办公室提供了另一种观察方式:
- 一眼看到谁在忙、谁在等、谁空闲
- 把抽象会话变成可感知的空间(楼层、工位、机房)
- 给团队一个共享的大屏:放在会议室或显示器上,进度一目了然
它不是替代日志,而是把「Agent 运行状态」变成可以围观的东西。
六、后续计划
- 独立部署形态(不依赖 DSH 的桌面版 / 自托管版)
- 对外接入文档与示例(HTTP Hooks + REST 配置)
- 更多可售主题与原创素材
- 屏幕内容与真实监控数据打通
最后编辑:月影鹏鹏 更新时间:2026-11-13 21:17
