一套面向二次开发者、由源码证据驱动的 Munder Difflin 交互式架构课程。中文优先,用 6 个阶段、27 个连续课时从系统边界逐步深入到进程、协调、状态、系统边缘和二次开发实战,而不是只提供模块索引。
在线访问:https://xxiaoxiong.github.io/learn-munder-difflin/
分析基线:
chaitanyagiri/munder-difflin@956bfb4c,获取于 2026-08-30。所有源码链接固定到该 commit,不会随 upstreammain漂移。
Munder Difflin 不是模型推理 Runtime,也不在进程内实现 agent loop。它是一个 local-first 多 CLI Agent harness + orchestration layer + control plane + visualization shell:
- Claude Code、Codex 等外部 CLI 进程拥有模型连接、tool loop、provider session 与大部分上下文管理。
- Electron Main 拥有进程、PTY、文件系统、Git、SQLite、Hive 协议和外围网络服务的权限。
- Preload 通过
window.cth提供窄 IPC 能力面;sandboxed Renderer 不直接获得 Node 权限。 - Hive 用 registry、task ledger、agent directories、mailbox、hook、poll router 和安全控制器协调多个真实 CLI 进程。
- Office / Kanban / terminal UI 消费真实 PTY 与 hook 事件,是控制与可视化产品层,不是编排正确性的来源。
flowchart LR
Human["Human / Trigger"] --> UI["Renderer\nReact · Pixi · xterm"]
UI -->|"window.cth / IPC"| Main["Electron Main\nControl Plane"]
Main --> Hive["Hive\nTasks · Mailboxes · Hooks"]
Main --> PTY["node-pty\nProcess Lifecycle"]
Main --> Git["Git Worktrees\nWorkspace Isolation"]
PTY --> CLI["External CLI Agent\nClaude Code · Codex · …"]
CLI --> Provider["Model / Tool Provider"]
CLI --> Hive
- 产品定位与系统边界
- Electron Main / Preload / Renderer 权限分层
AddAgentModal → spawnAgentCore → HiveManager → PtyManager → external CLI启动链- Hive task、mailbox、router、hook、safe delivery、breaker 与 Closing Time
- node-pty 跨平台 command resolution、Windows shim、session identity 与进程树回收
- SQLite / config / roster / Hive files / runtime memory / CLI storage 五层状态权威
- Git worktree 隔离、dirty/ahead 保全与
ghadapter 边界 - Realtime voice、Slack/Webhook/tunnel、本地 OTLP、PostHog 和 updater
- 12 个源码域、8 条端到端调用链、6 阶段课程路线与企业平台复用判断
- 每课明确核心问题、前置课程、学习目标、阅读时长与完成标准。
- 复杂概念按“建立直觉 → 追踪机制 → 识别不变量 → 检查理解”逐层展开。
- 架构实验室可推演 Agent 创建、消息路由和状态权威,观察条件变化如何改变调用链。
- 48 个核心术语支持搜索和分层筛选,并链接回对应课程。
- 15 道情境自测提供即时解释、薄弱阶段诊断和定向复习入口。
- 学习进度保存在本地浏览器,可从首页继续下一课。
- 45 个新增课程源码锚点与原站证据均固定到同一 upstream commit。
要求 Node.js >=22.13.0。
npm install
npm run dev打开 http://localhost:3000。
验证命令:
npm run typecheck
npm run lint
npm test
npm run buildNext.js 16、React 19、TypeScript 与原生 CSS。站点没有运行时后端或数据库依赖,静态导出后由 GitHub Pages 发布。交互图使用语义化 HTML/CSS 实现;课程导航、实验室、术语库和自测均有移动端布局。
本项目用于源码学习,不是 Munder Difflin 官方文档。图标与视觉系统均为本项目原创实现,没有复制上游或参考项目素材。