难的是协调不可靠边界
外部 CLI 的 hook 能力、prompt 形态、resume 参数、权限与 Windows shim 各不相同;进程退出、重启、睡眠和 renderer reload 也会产生竞争。代码的大量复杂度用于守住这些边界。
- 01核心:spawnAgentCore、PtyManager、HiveManager、HookServer、useHive、roster/store。
- 02产品 UI:OfficeFloor、sprites、panels、theme;它很有价值,但不决定编排正确性。
- 03外围:Realtime、Slack/Webhook/tunnel、PostHog、updater,可独立裁剪。
值得复用:控制面原语;需要重做:治理与权威数据层
PTY lifecycle、provider preset/bridge、IPC 边界、worktree fail-safe、mailbox/task protocol、breaker 与 graceful shutdown 都有复用价值。企业化时必须补充中心策略、审计、RBAC、远程 worker、持久队列、事务性状态和可观测 SLO。
不应直接复用:localStorage 作为 roster/queue 主体、best-effort worktree 降级、单机文件轮询路由、带大量 LIVE-UNVERIFIED 的 provider bridge。
LangGraph/DeepAgents 定义 agent loop;Munder Difflin 管理现成 agent loop
自建 Runtime 通常拥有模型调用、tool registry、memory/context、planner/graph 与 retry semantics。Munder Difflin 把这些留给 Claude Code、Codex 等 CLI,自己拥有进程、窗口、工作区、消息路由、可视化与运维控制。
- 01与 Claude Code/Codex CLI 的边界:它们是被管理的 runtime,不是 SDK 依赖。
- 02与 LLM Provider 的边界:大多数推理连接由 CLI 建立;Munder 仅在 Realtime voice/BYOK proxy 等外围路径直接处理 provider credential/traffic。
- 03多 Agent 的价值来自多个真实进程与协调协议,而非一个进程内模拟多个角色。
系统边界:管理 Agent,而非实现 Agent
把结论写成决策记录,而不是优缺点清单
每个判断要包含场景、目标、选择、收益、代价、失败边界、替代方案与复审触发器。这样结论才能迁移到你的项目。
‘文件协议简单’不是结论;‘在 local-first、外部 CLI 无 SDK 的前提下,文件协议用并发复杂度换来可检查与零集成成本’才是。