SUPER DOLPHINHARNESS DRIVER DOCS

CONFIGURATION REFERENCE

配置与环境变量

集中核对运行模式、资源根、数据位置、控制面与 workspace roots。

先说结论

这里只列用户和集成者需要直接设置的运行时字段。测试变量、更新事务和发行辅助配置属于内部流程,不要复制进普通开发环境。

怎么理解

桌面与控制面

字段默认/示例作用
SUPER_DOLPHIN_HOME用户数据根个人 Skills、Provider 与应用数据的根位置
SUPER_DOLPHIN_SQLITE_PATH<SUPER_DOLPHIN_HOME>/super-dolphin.db显式指定产品 SQLite 文件
GO_AGENT_CTL_RPC_ADDR127.0.0.1:8090控制面 RPC 地址
LOG_LEVELinfo日志级别
PROJECT_ROOT当前工作目录平台默认项目根;具体请求仍应传可信 CWD

RPC_ADDR 只是 GO_AGENT_CTL_RPC_ADDR 的兼容旧名,会产生弃用提示。数据库只使用 SQLite 配置;DATABASE_URLPOSTGRES_CONNECTION_STRING 不是产品数据库入口。

Sidecar 启动

字段dev 值packaged 值
SUPER_DOLPHIN_RUNTIME_MODEdevpackaged
SUPER_DOLPHIN_RUNTIME_RESOURCES_DIR源码 checkout 绝对路径分发资源根绝对路径
SUPER_DOLPHIN_DEPENDENCY_PROFILE独立 sidecar 用 production;桌面 owner 启动器用 desktop_hostproduction
GO_AGENT_LSP_ROOT目标项目绝对路径同左
GO_AGENT_LSP_ROOTSJSON 绝对路径数组同左

Windows 原生 Go LSP 还要求两个发行包身份字段:

字段适用范围作用
SUPER_DOLPHIN_LSP_BUNDLE_DIRWindows 原生 Go LSP受信 LSP bundle 的绝对目录
SUPER_DOLPHIN_LSP_MANIFESTWindows 原生 Go LSPbundle 中 lsp-manifest.json 的绝对路径

它们验证受信 gopls.exe 的来源和摘要;workspace 的允许范围仍只由 GO_AGENT_LSP_ROOTGO_AGENT_LSP_ROOTS 决定。WSL 原生或 Windows Host → WSL2 桥接不使用这两个 Windows bundle 字段。

GO_AGENT_PEER_MODE=1 启用 peer HTTP/bootstrap 行为;只有同时设置控制面地址才会注册。是否使用远程 launcher 仅取决于控制面地址,不能用 peer mode 推断。

怎么使用

  1. 优先使用仓库启动脚本或 Make target,让 owner 进程设置 profile、资源根和 peer 路径。
  2. 独立客户端把所有 sidecar 字段放在该 MCP server 自己的 env 内。
  3. 路径全部使用绝对路径;原生直连保持 command、cwd、resources 和 roots 的路径语义一致。Windows Host → WSL2 必须通过 wsl.exe 显式桥接,并让 Windows cwd 与 Linux resources/roots 映射到同一目录。
  4. 修改后重启 owner/客户端,通过实际工具调用验证,而不是只检查环境变量存在。

常见问题

  • Sidecar 报缺少 runtime 字段:补齐 mode 和 resources,不添加默认值绕过错误。
  • 报 dependency profile 缺失:独立 sidecar 设置 production;不要误用 desktop_host
  • Windows 原生 Go LSP 报 bundle、manifest、digest 或 gopls.exe 错误:修复受信发行布局和两个绝对路径,不能删除校验或回退 PATH。
  • WSL 桥接找不到语言服务器:显式给非登录 WSL 进程传入由 command -v 核对过的 Linux PATH。
  • 数据库出现在意外位置:检查 SUPER_DOLPHIN_HOMESUPER_DOLPHIN_SQLITE_PATH,不要把本地 DB 路径传给普通 Provider/tool 环境。
  • 控制面连接错误:先确认 canonical GO_AGENT_CTL_RPC_ADDR,再检查旧 RPC_ADDR 是否造成歧义。

适用范围

  • 配置行为以启动脚本和源码 parser 为准;测试专用变量不构成兼容承诺。
  • Session token、更新事务 token 和内部 SQLite 路径属于 owner 进程边界,不应写入公开配置示例。
  • 更改配置不保证已存在 Thread 立即采用;Provider 和 Thread snapshot 有自己的生命周期。

延伸阅读

桌面可见设置及其生效时机见设置与运行时能力;具体命令见命令参考,外部 LSP 客户端配置见 Harness/LSP 兼容配置