munder-difflin:基于多AI模型的本地多智能体协作平台项目

A local multi-agent harness that works with your existing Claude Code, Codex subscriptions, allows you to run an office of agents

分支70Tags39
文件最后提交记录最后更新时间
18 天前
1 天前
10 天前
10 天前
5 小时前
2 个月前
3 个月前
2 个月前
2 个月前
5 小时前
3 个月前
5 小时前
5 小时前
19 天前
4 天前
5 小时前
3 个月前
4 天前
5 小时前
1 个月前
3 个月前
4 天前
4 天前
3 个月前
1 天前
10 天前
10 天前
3 个月前
3 个月前
11 天前
11 天前
24 天前
5 小时前
3 天前
3 个月前
2 个月前
2 个月前
Munder Difflin — 运营一间由你的克隆体组成的办公室的智能体运行框架

Munder Difflin

运营一间由你的克隆体组成的办公室的智能体运行框架

GitHub Trending — 当日第一仓库 Munder Difflin — Product Hunt 当日第五名产品

Munder Difflin 的办公区:智能体在工位上并行工作,右侧是指挥中心与实时智能体终端

免费、开源且高效 — 一个多智能体运行框架,兼容你已付费的订阅,并遵循其小时级限额。它把你已经在使用的终端编码 CLI 变成你的克隆体,让它在你离开时继续工作,并在你自己的机器上协调一整间智能体办公室。

集成 Claude Code、Antigravity (Gemini)、OpenAI Codex、 xAI GrokKimi CodeGemini CLIQwenOpenCodeCrushpi.devGitHub Copilot CLICursor — 支持自带密钥和本地 LLM。 这些智能体能够通信、路由任务并拥有记忆,由你的克隆体(Michael)协调,并以共享办公区中正在工作的头像形式可视化呈现。

Electron · React · TypeScript · Pixi.js · xterm.js · node-pty

许可:MIT 版本:0.4.6 所有版本总下载量 状态:预发布 平台:macOS | Windows | Linux 欢迎提交 PR 博客 Discord


▶ 观看办公区 — Munder Difflin 正在运行一个 Claude Code 智能体集群



⬇ 下载 macOS、Windows 或 Linux 版本

macOS 构建版本已签名并完成公证,无需从源码构建即可使用。


Note

世界最好的智能体。世界最差的皮包公司。 Munder Difflin 接管你已经在使用的终端智能体 CLI — claudeagycodexgrokkimiqwenopencodecrushpicopilot — 并将它们变成一支自我协调的团队:每个智能体都会拥有长期记忆、一个邮箱,以及 2D 办公区里的一个工位 — 而你的克隆体(Michael)会在你观看时在他们之间分配任务。他是办公区的主管;你仍然是他的老板。

目录

支持的智能体

使用你已经付费的 CLI。 其中每一项都作为真实进程运行在各自的 终端中,使用你现有的订阅及其每小时限额。只要它能在终端中运行, 就能在这里运行。

Claude Code Codex · GPT Grok · xAI Kimi Code Gemini CLI Antigravity · Gemini Qwen OpenCode Crush · Charm Pi GitHub Copilot Cursor + 任意自定义命令

此外,支持自带密钥以及通过 Ollama、LM Studio 或 vLLM 接入本地模型

它是什么

Munder Difflin 是一款桌面应用,它将真实的终端智能体 CLI 封装为功能完整的智能体, 把它们接入一个蜂巢思维,并让你的分身负责统筹——Michael,就是你唯一 需要与之对话以完成任务的智能体。在底层,它运行着全球最快的记忆层, 让每个智能体都能记住所学并即时召回。

  • 每个终端都是一个智能体。 每个 claudeagycodexgrokkimiqwenopencodecrushpicopilot 或自定义会话,都会以真实 进程形式运行在伪终端(node-pty)中,逐字节真实还原,并通过 xterm.js 渲染。
  • 每个智能体都是一个化身。 会话会以角色的形式出现在 Pixi.js 办公室场景中——工作时,它们会 走向工位;互相发送消息时,信封会在办公桌之间飞来飞去。
  • 蜂巢负责协调它们。 智能体读取记忆并清空收件箱;路由器在不同 收件箱之间传递消息;GOD 智能体进行裁决、分派任务,并只在需要你时才升级上报。
  • 即时记忆。 以 Markdown 为主的记忆层配合语义召回索引,使智能体 能够跨会话记忆,并在毫秒级完成召回。

工作原理

            you ── talk to ──►  ┌─────────────┐
                                │  GOD agent  │  orchestrator / supervisor
                                │ (Michael's  │  roster · routing · adjudication
                                │   office)   │  blackboard · task ledger
                                └──────┬──────┘
                                       │ assigns · routes · escalates
              ┌────────────────────────┼────────────────────────┐
              ▼                         ▼                         ▼
        ┌───────────┐            ┌───────────┐            ┌───────────┐
        │  agent A  │  message   │  agent B  │  message   │  agent C  │
        │ provider  │ ─────────► │ provider  │ ─────────► │ provider  │
        │  + memory │            │  + memory │            │  + memory │
        └───────────┘            └───────────┘            └───────────┘
              └──────── shared hive: memory · mailbox · blackboard · log ───────┘
  1. 你启动智能体 — 每个智能体都是一个普通终端进程(claudeagycodex 或自定义),拥有自己的工作目录、身份,以及提供商专属的生命周期。
  2. 智能体通过 hive 协作 — hive 是一个由普通文件组成的本地 git 仓库。它们写入自己的 outbox/;harness 的路由器负责投递到接收方的 inbox/。没有任何智能体直接操作 git(单提交者设计可避免 index.lock 损坏)。
  3. GOD 智能体掌控现场 — 它读取每一个请求,自行处理常规事项(让系统保持完全自主),只把关键事项(消费、破坏性操作、范围变更)升级到需要你处理的审批队列。
  4. 一切清晰可见 — 你可以看到头像移动、信封穿梭以及实时终端流;你可以向任意会话输入,浏览其文件,并阅读其 git 历史。

参见 HIVE.md 了解完整多智能体设计,SPEC.md 了解终端/事件平面,DESIGN.md 了解视觉系统。

功能

只需与一个智能体沟通,而非十二个

Michael 是你的克隆体,也是你唯一需要下达简报的智能体。他负责分配工作、调度事项,并只把少数真正需要你处理的事情升级。

在指挥中心向编排智能体 Michael 下达简报

几次点击即可雇佣一个智能体

选择 CLI、模型和自主程度,给它一个工位,它便开始工作。如果你不想从零开始,可以从 Agent Gallery 导入现成角色。

添加智能体对话框:选择提供商、模型和角色

可跨会话存活的记忆

每个 Agent 都会保存 Markdown 记忆,并将其提炼到一个共享、可搜索的记忆宫殿中。关闭应用, 明天再来,它们仍然记得自己学到的内容。

跨所有 Agent 搜索共享记忆宫殿

受控的自主

设定每个 Agent 可以自主推进的边界。支出、范围变更与破坏性操作都会交回给你,熔断器会先引导、再约束,最后停止任何循环或失控的行为。

开始使用

下载应用

大多数人需要这个版本。 经过签名和公证的 macOS 安装包,以及 Windows 和 Linux 版本,可在 最新版本 获取。安装并打开后,向导会带你走完剩余流程。你无需 Node、工具链或本仓库。

不过,你的机器上仍需至少一个智能体 CLI,应用可在 设置 → 前置条件 中为你安装缺失的 CLI。

从源代码构建

以下所有内容均面向贡献者,以及希望运行未发布构建版本的用户。

前置条件

  • macOS、Windows 或 Linux
  • Node.js 18+ 和 npm。
  • 用于 node-pty 原生插件的 C/C++ 工具链 —— 在 macOS 上,请安装 Xcode Command Line Tools:
    xcode-select --install
    
  • 你的 PATH 中至少包含一个受支持的智能体 CLI —— Claude Codeclaude,默认)、Antigravityagy)、OpenAI Codexcodex)、xAI Grokgrok)、 Kimi Codekimi)、Gemini CLIgemini)、Qwenqwen)、OpenCodeopencode)、 Crushcrush)、pi.devpi)、GitHub Copilotcopilot)或 Cursorcursor-agent)。 大多数缺失的 CLI 可自动修复:该框架会在终端中执行安装程序,并在安装完成后继续调用新的二进制文件。
  • 可选:设置 → AI 引擎 中配置 你自己的 API 密钥和本地 LLM(Ollama / LM Studio / vLLM)。
  • 可选: 用于跨会话即时召回的语义记忆索引 —— 即使没有它,Markdown 记忆也能正常工作。

安装与运行

git clone https://github.com/chaitanyagiri/munder-difflin.git
cd munder-difflin
npm install        # postinstall rebuilds node-pty against Electron's ABI
npm run dev        # launches the Electron app with hot reload

首次启动时,您将进入引导向导,然后到达主界面。使用 Add agent 创建您的第一个会话——GOD agent 会自动进入迈克尔的办公室。

其他脚本

npm run build      # production build via electron-vite
npm run preview    # preview the production build
npm run typecheck  # type-check the node (main/preload) and web (renderer) projects

如果 Electron 升级后 node-pty 加载失败,请重新运行 npm installpostinstall 钩子 会针对当前 Electron ABI 运行 electron-rebuild)。

架构

两个数据平面共同服务一个渲染进程:一个终端平面负责 PTY、文件系统和 git, 另一个事件平面负责运行 hive、hook server 和 router。渲染进程仅通过类型化桥接与两者通信。

完整的架构图、逐模块的项目结构以及设计系统位于 docs/ARCHITECTURE.md 将它们移出本文件,是为了让这里聚焦产品本身,而不是代码库。另请参阅 HIVE.md 了解多智能体设计、 SPEC.md 了解终端平面与事件平面,以及 DESIGN.md 了解 视觉系统。

路线图

截至 v0.4.6 已交付:简体中文与阿拉伯语界面,支持从右到左排版与自托管字体;十二个智能体引擎,支持 BYOK 密钥与本地 LLM;语音编排;hive(记忆 · 邮箱 · 黑板 · 事件日志);支持看板与按星期排期的指挥中心;内置带 git rails 的 Monaco IDE;集成注册表 + 密钥代理;由 Slack 派生的 workers;可分享的 hires 与智能体画廊;可观测性与断路器;可靠持久化;会话恢复;多窗口楼层;一键更新;Skills 浏览器;实时前置条件检查;由账本汇总的成本报告;适用于 Apple Silicon 的语义记忆;以及一个会直接安装构建版本的更新器,而不是仅指向它。完整历史见 CHANGELOG.md

后续计划:

贡献

欢迎贡献——这是一个预发布项目,功能面很广。请先从 CONTRIBUTING.md 开始。简要版本:fork 仓库,运行 npm install && npm run dev,保持 npm run typecheck 通过,并且所有新 UI 都必须基于 DESIGN.md 中的 tokens 派生。适合 先上手的方向:接入真实的 hook 事件、添加 agent 的流程、配置抽屉,以及跨平台适配。

Important

每个 pull request 都必须展示“改前”和“改后”——可以用截图,或者当界面有动效时,用录屏——并放在 PR 模板的 ### Before### After 标题下。系统会自动检查,缺少内容的 PR 不会合并。“我的改动没有 UI”不属于豁免;它只是改变证据的形式。详见 证据是必需的

有问题、发现 bug,或者想展示你的 agent 办公室?加入 Discord:https://discord.gg/SEDzP5ZPk5。在 PR 中留下你的 Discord 用户名,PR 合并后你会获得 employee of the month 角色。

不知道从哪里开始? good first issue 列表会持续维护,里面都是规模较小、独立完整且有明确完成标准的问题。

凡是有代码进入 Munder Difflin 的人,都会列在 CONTRIBUTORS.md 中。 如果你就是其中之一,那份名单就是你可以自豪指向的成就。列表由 pull request 本身生成,并会自动更新,所以你无需申请就会出现在名单中。它还会列出那些已经进入 main、但 GitHub 显示为 closed 而非 merged 的贡献,因为那是我们该记录的失误,而不是他们该解释的事。

Munder Difflin 贡献者

遥测

官方构建会发送少量匿名使用事件(打开应用、启动 agent、使用功能)——绝不会包含提示词、代码、文件路径或 agent 输出。完整的事件列表、匿名保障,以及三种选择退出的方式(设置开关、DO_NOT_TRACK,或从源码构建——fork 后的构建不带 key,也不会发送任何内容)都记录在 TELEMETRY.md 中。

许可证

Important

素材授权。 随附的像素艺术(tileset 和地图)为 LimeZuModern Interiors - RPG Tileset [16X16],基于 Complete Version licence 使用,该许可允许在商业和非商业项目中进行编辑和使用。该许可证要求对 LimeZu 进行署名,且必须保留在原处。办公室角色并非 LimeZu 的作品,它们 是在 portraitArt.ts 中通过程序化方式绘制的。参见 src/renderer/src/assets/ATTRIBUTION.md

源代码采用 MIT License — 参见 LICENSE。MIT 授权 仅覆盖代码;随附的像素艺术由 LimeZu 单独授权,并在 LICENSE-ASSETS 中单独排除。Munder Difflin 是一部善意戏仿,与 NBC 的 The Office 或 Dunder Mifflin 无任何关联。

致谢

  • LimeZu 提供的 Modern Interiors 像素艺术 tileset(Complete Version licence)。
  • shahar061/the-office 提供的办公室 tileset/地图资源引入。
  • Pixi.js · xterm.js · node-pty · electron-vite · CodeMirror 为本项目所依赖的库。
  • Remotion 用于落地页的动态“如何运作”片段(landing-remotion/)。
  • The Office(美版)为 Munder Difflin, Inc. 提供了灵感。