agent-office
像素风虚拟办公室里的 AI 多智能体协作系统,支持自主招聘、任务分配和持久记忆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
像素风虚拟办公室里的 AI 多智能体协作系统,支持自主招聘、任务分配和持久记忆
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你打开浏览器,一个像素风格的虚拟办公室跃入眼帘——Alice 工程师正走向自己的工位,Bob 产品经理在白板前踱步思考,偶尔有新的实习生 agent 被团队雇佣进来。这是 AgentOffice 带来的独特体验:让你亲眼目睹 AI agent 之间如何分配任务、协作沟通、自主成长。
AgentOffice 诞生于 2026 年 2 月,由独立开发者 harishkotra 创建。项目的灵感来源于 pixel-agents 项目——一个用像素艺术呈现 AI agent 行为的实验性尝试。与前辈不同,AgentOffice 不满足于简单的走路动画,而是将多智能体协作系统的核心能力全部搬进了这个像素办公室。
在传统 AI Agent 开发中,开发者面临的最大痛点是无法直观理解 agent 在做什么、为什么做出某个决策。AgentOffice 用游戏引擎(Phaser.js)实时渲染每一个 agent 的状态变化:走路、思考、对话、雇佣新人——所有行为都以像素动画的形式实时呈现,等于给黑箱 AI 加了一个透明的玻璃窗。
项目采用 monorepo 架构,通过 npm workspaces 组织 5 个子包:
| 包 | 职责 |
|---|---|
| @agent-office/core | Agent 生命周期管理(感知→思考→行动),Office 网格地图,任务系统,基于重要性评分的记忆模块 |
| @agent-office/adapters | 推理适配器接口,包含 OllamaAdapter 和 OpenAICompatibleAdapter,支持任意 OpenAI 兼容 API |
| @agent-office/server | Colyseus 房间,游戏主循环,ToolExecutor(代码执行/网页搜索/笔记),SQLite + Ollama 向量嵌入的记忆存储 |
| @agent-office/ui | Phaser.js 游戏渲染层 + React 管理界面(聊天、任务面板、检查器、系统日志、布局编辑器) |
| @agent-office/cli | create-agent-office 脚手架工具 |
数据流清晰:Ollama(本地 LLM)→ OllamaAdapter → Agent.think() → Colyseus 状态同步 → Phaser + React UI,同时 MemoryStore(SQLite)和 ToolExecutor 与 agent 逻辑并行运作,形成完整的多智能体运行时。
AgentOffice 的记忆系统是其技术亮点之一。与普通 agent 的对话即遗忘不同,这里的每个 agent 都配备了基于 SQLite 的持久化记忆,并支持 Ollama 向量嵌入 + 余弦相似度语义检索。
具体来说,当 agent 需要回忆某件事时,系统会先用 Ollama 生成查询的向量表示,然后在 SQLite 存储的历史记忆中做语义相似度搜索,找到最相关的记忆片段。这意味着即使服务器重启,agent 依然能记得之前的对话内容和工作进展,而非每次重启都是从零开始。
记忆系统还引入了重要性评分机制——agent 会判断哪些信息值得长期保留,哪些可以快速遗忘,从而避免记忆膨胀导致的性能下降。这个设计思路借鉴了人类认知中的注意力过滤机制,非常实用。
AgentOffice 的 ToolExecutor 模块为 agent 提供了真实的工具调用能力:
沙箱 JavaScript 执行:agent 可以运行代码来验证想法或完成计算任务,执行环境隔离保证了宿主服务器的安全。
网页搜索:通过 Tavily API(或 DuckDuckGo 后备)让 agent 获取实时网络信息。这意味着 agent 不仅能做内部协作,还能主动搜索外部知识来解决问题。
任务管理与笔记:agent 可以创建、指派、完成任务,记录工作笔记,形成完整的协作工作流。
这些工具的组合使得 AgentOffice 不只是看 agent 走路的模拟器,而是一个真正能执行复杂任务的 multi-agent 系统。比如 agent 可以分配任务给另一个 agent,后者搜索资料、执行代码、汇报结果,形成闭环协作。
最令人惊叹的功能是动态招聘机制——agent 可以根据工作需要自主决定是否雇佣新的团队成员(实习生、工程师、设计师),新 agent 会自动加入协作网络,无需人工干预。
这不仅仅是创建新角色那么简单。新 agent 的行为模式、能力配置、甚至人格特质(五大人格维度的参数)都会影响其工作表现。整个系统呈现出一种涌现式协作:没有中央调度者,每个 agent 根据自己的 LLM 决策来决定行动,团队规模和构成随着任务需求动态演化。
对于 AI 研究者来说,这个特性让 AgentOffice 成为一个研究 multi-agent 涌现行为的绝佳实验平台——你可以观察不同性格配置的 agent 如何协作,遇到冲突时如何决策,团队规模如何影响任务效率。
AgentOffice 支持两种部署方式:
本地开发:需要 Node.js ≥18、npm ≥9 和 Ollama,通过 npm install 安装依赖,npm run build 编译,终端分别启动 server(端口 3000)和 UI(端口 5173)。Ollama 需要手动 ollama pull llama3.2 拉取模型。
Docker 一键部署:项目根目录提供 docker-compose.yml,一行 docker compose up --build 即可启动完整套件(server + UI + Redis + Ollama)。docker-compose 中内置了 NVIDIA GPU 支持配置,移除 deploy.resources 节即可切换为纯 CPU 模式,对没有 GPU 的用户也很友好。
Web UI 界面包含:聊天面板(agent 间对话历史)、任务面板(TaskBoard)、检查器(查看单个 agent 状态)、系统日志(实时事件流)、以及布局编辑器(拖拽调整办公室家具布局,保存到数据库)。
AgentOffice 目前仍处于快速发展阶段,有几个值得注意的局限:
对 Ollama 的强依赖:项目的核心推理能力完全依赖 Ollama 在本地的 LLM 运行。虽然支持 OpenAI Compatible API 作为替代,但本地运行的模型质量直接影响 agent 行为的上限。使用较小的开源模型(如 llama3.2)时,agent 的决策质量可能不如 GPT-4 等大模型。
缺乏生产级扩展性:当前架构使用 Colyseus 进行状态同步,docker-compose 中配置了 Redis 用于水平扩展支持,但文档中对大规模部署(大量 agent 同时在线)的性能和稳定性缺乏充分说明。对于想用于生产环境的团队,需要自行评估。
路线图未完成:语音模式(Voice Mode)、GitHub PR 集成、Slack/Discord 桥接等规划中的功能尚未实现,这些功能对构建真正的 AI 团队助手至关重要。
AgentOffice 的出现填补了一个有趣的空白:在此之前,大多数 AI Agent 框架(如 LangChain Agents、AutoGPT)都是纯文本交互,开发者只能通过日志推断 agent 的内部状态。AgentOffice 用像素艺术让 agent 的思考过程变得可见——你看到 agent 走向白板,知道它在想方案;看到两个 agent 靠近说话,知道他们在讨论;看到 emote 气泡弹出来,知道某件事触发了情绪反应。
这种可视化对于教学、演示、调试和 AI 行为研究都有独特价值。随着多智能体 AI 系统逐渐成为行业趋势,能够直观理解 agent 行为的工具会变得越来越重要。AgentOffice 的开源实现也为社区提供了一个可定制的基础平台——fork 一份,改改 agent 的人格参数,看看会发生什么。
README 中的截图展示了多张真实运行界面,读者可以通过 GitHub 仓库查看:

图1:像素办公室实时运行界面
项目采用 MIT 许可证,允许自由修改和商业使用。如果你对 AI Agent 协作机制感兴趣,或者想为自己的 agent 项目添加可视化层,AgentOffice 是一个值得深入研究的上佳起点。