MUNDERDIFFLIN / LEARN
CHAPTER 03
01 · SYSTEM CONTEXT9 分钟阅读入门

先把产品边界画对,再谈实现细节

Munder Difflin 是本地优先的多 CLI Agent harness:Electron 主进程掌握权限、进程、文件与调度,外部 CLI Agent 掌握模型推理与工具循环。

本课核心问题Munder Difflin 到底拥有什么、不拥有什么?
学完你能
  • 区分 harness、orchestration、control plane 与 visualization。
  • 画出 Electron 与外部 CLI 的责任边界。
01
准确定位

它是 harness + orchestration + control plane + visualization

它不实现通用 LLM 推理,也不替代 Claude Code、Codex 或 Gemini CLI 的 agent loop。它把这些已有 CLI 变成可创建、可隔离、可观察、可通信、可回收的本地 worker。

  • 01Harness:拼装命令、环境变量、模型/权限/恢复参数并托管终端。
  • 02Orchestration:Hive registry、任务、邮箱路由、God/worker 分工、调度与 Closing Time。
  • 03Control plane:Electron Main 内执行进程、文件、Git、数据库、网络与安全决策。
  • 04Visualization:React + Zustand + Pixi + xterm 把真实运行状态映射为 office world。
交互图解

系统边界:管理 Agent,而非实现 Agent

人类 / Trigger输入目标、确认、干预
Munder DifflinHarness · Orchestration · Control plane · Visualization
外部 CLI RuntimeClaude Code · Codex · Gemini · …
模型 / Tool 服务推理、tool loop、provider session
虚线外是 Munder Difflin 不拥有的推理运行时与模型服务。
02
多 Agent 在哪里

多 Agent 发生在“多个独立 CLI 进程 + 一个本地协调层”

每个活跃 Agent 对应一个 PtyManager session 和一个 node-pty 子进程。它们共享 Hive 协议与任务账本,但拥有独立 CLI 会话、上下文窗口、终端、可选 worktree 和 provider 配置。

ARCHITECTURE NOTE

关键边界:Munder Difflin 管理 CLI 进程;CLI 再连接各自的 LLM Provider。模型推理不在 Electron 主进程中。

03
系统模块

核心链与外围能力必须分开读

核心链是 Renderer → Preload → Main → Hive/PTY → 外部 CLI。Realtime voice、Slack/Webhook、tunnel、PostHog 和 updater 都挂在控制面外缘,不应被误认成 Agent 编排本体。

交互图解

模块依赖地图

RendererApp · Office · terminal · store
Preloadwindow.cth capability surface
↕ IPC
Main / Bootstrap生命周期 + manager 组装
PTY进程
Hive协调
Git隔离
Perimetervoice · trigger · OTel
↓ child process / filesystem / HTTP
CLI runtimesHive filesGit worktreesProvider services
Main 是能力核心,Renderer 是可视化控制台,外部 CLI 是 Agent runtime。
04
迁移能力

遇到新需求,用所有权测试把它放回正确层

不要凭目录命名决定位置。问它需要什么权限、谁负责失败与清理、事实由谁裁决,再决定落在 Renderer、Main、外部 CLI 还是协议文件。

一个‘自动整理代码’按钮横跨四层:按钮在体验层,授权和编排在控制层,CLI 在执行层,任务与结果在事实层。

LESSON CHECKPOINT

能用自己的话回答核心问题了吗?

外部 CLI 拥有推理循环;Munder 拥有进程与协作生命周期。