Reasonix · 第 8 章 三前端共用单 Controller 章节摘要:本章深潜 REASONIX.md 的核心架构约束——"One transport-agnostic control.Controller sits behind every frontend"。internal/control 实现了一个传输无关的 Controller,TUI(Charm bubbletea/lipgloss)、HTTP/SSE serve(internal/serve)、Wails 桌面(desktop/)三种前端共享同一个 Controller。行为加到 Controller 而非前端,三者自动继承——这避免了业务逻辑泄露到 UI 层。本章共 2 节,前置依赖为第 1-7 章。
章节摘要:本章深潜 REASONIX.md 的核心架构约束——"One transport-agnostic control.Controller sits behind every frontend"。internal/control 实现了一个传输无关的 Controller,TUI(Charm bubbletea/lipgloss)、HTTP/SSE serve(internal/serve)、Wails 桌面(desktop/)三种前端共享同一个 Controller。行为加到 Controller 而非前端,三者自动继承——这避免了业务逻辑泄露到 UI 层。本章共 2 节,前置依赖为第 1-7 章。
internal/control 36.8K行;Controller传输无关(不依赖任何具体前端);三前端共享(TUI/HTTP-SSE/Wails);REASONIX.md"Add behavior to the controller not a frontend so all three inherit it";为什么这样设计(避免业务逻辑泄露UI层/三前端行为一致/新前端零成本接入);Controller与agent/provider/tool的关系。
TUI(Charm bubbletea/lipgloss/bubbles终端UI/CLI主题效果 images/cli-theme-effect.svg);HTTP/SSE serve(internal/serve OpenAI兼容网关/images/paste-folding-effect.svg);Wails桌面(desktop/ Go后端+React19前端/images/desktop-v2-layout-preview.png);ACP Agent Client Protocol(internal/acp VS Code扩展集成 images/slash-command-views.svg);三前端对比。
前置:第1-7章。后续:第9章子代理编排(Controller也管多agent)。