SUPER DOLPHINHARNESS DRIVER DOCS

HARNESS DRIVER ARCHITECTURE

Harness Driver 架构

理解桌面控制面、业务模块、持久化、Provider 与 MCP peers 如何在明确边界内协作。

设计目标

Super Dolphin 是面向 AI coding harness 的 Harness Driver:它位于人的方向、Harness 执行与仓库验收之间。项目采用明确的开发模型:AI 编写和重构原创产品代码、测试与项目自有文档,人类保留产品、安全、凭据和发布决策权,仓库拥有可执行的接受规则。为了让这种协作能够长期持续,Driver 必须同时提供:

  1. 可以驱动 Codex 并通过 Harness Orch 编排、观察子 Agent 工作的运行时。
  2. 可以按有界上下文理解的代码库。
  3. 能确定性证明变更遵守仓库契约的验收证据。

因此,系统优先采用窄端口、明确所有权、fail-fast 错误、生成式导航和可执行边界规则。

系统总览

frontend-app/             React / Vite desktop UI
        |
cmd/agent-terminal/       Wails host + typed RPC boundary
        |
internal/app/             composition + anti-corruption adapters
        |
internal/contract/        stable ports, events and DTOs
        |
internal/module/          thread / turn / memory / skill / workflow
   |             |
internal/store/   internal/provider/
SQLite + sqlc     Codex and provider runtimes

cmd/mcp-lsp/              seven-tool, workspace-scoped LSP service
cmd/mcp-orch/             Codex-integrated Harness Orch, DAG and task tools

桌面链路负责把用户操作送入类型化后端边界;MCP peers 则把代码理解与编排能力提供给可信工作区中的 Agent。两条入口最终都依赖相同的所有权、契约和失败语义。

组件职责

区域负责不应拥有
frontend-appReact/Vite 用户界面后端生命周期、数据库句柄、Provider 进程
cmd/agent-terminal桌面入口、Wails 主机、前端嵌入、RPC 边界业务模块应拥有的规则
internal/app依赖装配与防腐适配器新产品能力或持久化 schema
internal/contract稳定 port、事件与 DTO 契约对模块、Provider、Store、UI 或命令入口的反向依赖
internal/moduleThread、Turn、Cron、Memory、Skill、Prompt 等产品能力Store 实现或数据库所有权
internal/platformRPC、配置、事件、进程安全与可观测性产品模块或 Store 依赖
internal/providerCodex 与其他 Provider 的运行时和传输集成产品数据库所有权
internal/storeSQLite/sqlc 持久化适配器属于业务模块的策略
cmd/mcp-lsp七工具、工作区隔离的 LSP 服务;声明 27 个 primary language 路由入口把入口数量写成 27 种完整语言支持,或复用相邻 worktree 状态
cmd/mcp-orchCodex 集成的 Harness Orch、Agent 生命周期、Workflow、DAG 与调度工具把 Claude/Antigravity 或其他 Harness 写成已支持的完整 Orch

依赖方向

业务模块拥有自己需要的 port;Store、Provider 和运行时适配器从 internal/app 完成实现或桥接。产品行为因此不依赖某一种数据库、Provider 进程或 UI 主机。

entrypoints -> app composition -> contract-owned ports <- modules
                                      ^
                                      |
                         store / provider / platform adapters

这张图只是阅读模型。真正可执行的边界真源是 internal/archtest 使用的类型化后端边界注册表;生成的架构地图只是它的派生视图。若派生文件过期,检查应该失败,而不是允许手工修改生成结果。

关键运行流

桌面请求

  1. React UI 调用类型化后端 bridge。
  2. 桌面 RPC 层校验并转换请求。
  3. 业务模块或面向契约的应用适配器拥有本次操作。
  4. 持久化与 Provider 工作通过注入的 port 完成。
  5. 类型化事件和 RPC 响应更新 UI。

缺少能力、身份、所有权或配置时必须返回错误,不能通过旧路径或空默认值制造成功。

Agent 工具请求

  1. Provider session 请求一个允许的工具。
  2. Toolbridge 校验 session 与运行时所有权。
  3. MCP peers 在可信工作区内执行代码智能或编排操作。
  4. 结果返回时保留协议级错误。
  5. 本地运行时与 UI 可以保留相关 trace 和证据。

Worktree scope 是信任边界的一部分。来自相邻 checkout 的 LSP 结果,即使语法上看起来正确,也被视为不安全证据。

持久工作流

Workflow 与自动化状态保存在 SQLite。运行时使用明确的生命周期所有权、乐观并发、租约和恢复规则,而不是只依赖内存任务。只有持久身份与必要运行时状态都存在时,Agent 或 DAG 才能被描述为可恢复。

真源与失败语义

事实规范真源
后端依赖边界internal/archtest 类型化注册表
文件级导航仓库树与 project-map 配置
Go 能力清单源码符号与 capability-contract generator
运行时 port 与 DTOinternal/contract
持久化形态migrations、SQL 与生成的 sqlc 代码
公开源码边界release/open-source-policy.json

系统遵循 fail-fast 契约:无效配置阻止相关操作;缺少 Provider 或持久 Agent 身份时不回退到共享所有权;被吞掉的异步 UI 错误会被前端守卫拒绝;依赖和生命周期违规应在邻近变更面的测试中失败;任何绿色状态都必须说明对应命令和证据。

当前范围

  • 架构与治理规则是为本仓库定制的,当前没有发布通用守卫包。
  • Provider 行为依赖已安装且已认证的 Provider CLI。
  • Codex 是当前完整 Driver 的集成默认路径;Claude 仍在适配且子 Agent Orch 不支持;Google Antigravity 只有 LSP client 配置。
  • 27 个 primary language ID 是路由入口;多语言 LSP 深度取决于发行包、已安装 server、平台和上游 capability。
  • 已检入的公开源码策略与验证基础并不等于端到端源码导出、密封 receipt 或公共发布已经完成。
  • 通过守卫只证明已编码的不变量,不代表软件没有缺陷,也不能替代安全或发布评审。

下一步

继续阅读治理与证明,了解地图、契约、AST/SSA 守卫、测试和 Git 门禁如何把这套架构变成可执行的接受规则。