SUPER DOLPHINHARNESS DRIVER DOCS

HARNESS / LSP COMPATIBILITY

Harness/LSP 兼容配置

区分完整 Driver、LSP client 与 Harness Orch,并启动 workspace-scoped mcp-lsp。

先说结论

完整 Harness Driver、LSP client 和 Harness Orch 是三个不同的兼容层。Codex 是当前集成且默认的完整 Driver 路径;Claude Driver 仍在适配、不是默认路径,且不支持子 Agent Orch;Google Antigravity 只记录了本地 LSP client 接入。其他 Harness 属于计划方向,尚未验证。

兼容矩阵

Harness完整 DriverLSP clientHarness Orch当前口径
OpenAI Codex已集成,默认已配置/验证入口已集成当前主路径
Claude Code适配中,非默认可配置子 Agent Orch 不支持不应描述为与 Codex 等价
Google Antigravity不支持/未验证可配置不支持/未验证LSP-only
其他 Harness计划中,未验证计划中,未验证计划中,未验证不构成支持承诺

LSP 服务提供什么

cmd/mcp-lsp 构建产物作为本地 stdio MCP server,公开七个工具:

工具主要能力
file读取、打开文件与 diagnostics
inspecthover、definition、implementation、type definition、signature help
xrefreferences、call hierarchy 与 type hierarchy
grep文本或 AST 搜索
structuredocument/workspace symbols、folding range、semantic tokens
patch_editpatch、rename、code action 与 format
completion光标位置补全

运行时声明 27 个 primary language ID:Go、JavaScript、Python、CSS、HTML、JSON、YAML、Markdown、Vue、Svelte、C、Swift、C#、PHP、Ruby、Kotlin、Dart、Lua、Dockerfile、Terraform、GraphQL、Prisma、Rust、Java、Shell、Proto 和 SQL。

这里的“27”是 primary 路由/注册入口,不是“27 种语言全部完整支持”的承诺。别名和文件扩展可能共享一个语言服务器;包内实际启用集合可能被发行 bundle 筛选;definition、diagnostics、semantic tokens、format 等能力取决于已安装/打包的 server、平台与上游能力。grep.text_search 等本地动作也不依赖语言服务器。

启动模式

三种模式使用同一 fail-fast 启动契约,但路径体系必须与承载 sidecar 的进程一致。

模式command / sidecarcwdresources 与 rootsWindows gopls bundle
Windows 原生直连Windows .exeWindows drive/UNC 路径Windows drive/UNC 路径必需
WSL 原生直连Linux 二进制Linux /mnt/... 路径Linux /mnt/... 路径不使用
Windows Host → WSL2C:/Windows/System32/wsl.exe 桥接 Linux 二进制Windows 路径传入 WSL 进程的 /mnt/... 路径不使用
客户端项目级 LSP 配置验证入口
Codex.codex/config.toml[mcp_servers.lsp]/mcpcodex mcp list
Claude Code.mcp.jsonmcpServers.lsp/mcpclaude mcp list/get
Google Antigravity.agents/mcp_config.jsonMCP Servers Refresh 或 /mcp

Codex 示例骨架:

[mcp_servers.lsp]
enabled = true
required = true
command = "/absolute/path/to/mcp-lsp"
args = []
cwd = "/absolute/path/to/project"
startup_timeout_sec = 30

[mcp_servers.lsp.env]
SUPER_DOLPHIN_RUNTIME_MODE = "dev"
SUPER_DOLPHIN_RUNTIME_RESOURCES_DIR = "/absolute/path/to/source-checkout"
SUPER_DOLPHIN_DEPENDENCY_PROFILE = "production"
GO_AGENT_LSP_ROOT = "/absolute/path/to/project"
GO_AGENT_LSP_ROOTS = '["/absolute/path/to/project"]'

Claude 与 Antigravity 使用等价 JSON 字段仅表示 LSP sidecar 配置可以表达;不等于它们获得完整 Driver 或 Orch。GO_AGENT_LSP_ROOTS 的值仍是一个 JSON 字符串。

Windows 原生直连还必须在 MCP server 的 env 中绑定发行包内受信的 Go LSP:

SUPER_DOLPHIN_LSP_BUNDLE_DIR = "G:/project/bin/LSP/lsp"
SUPER_DOLPHIN_LSP_MANIFEST = "G:/project/bin/LSP/lsp/lsp-manifest.json"

Windows 客户端需要运行 WSL2 sidecar 时必须显式桥接:command 使用 C:/Windows/System32/wsl.exe,host cwd 使用 Windows 路径,而传给 WSL 的 resources、roots、PATH 与 sidecar 命令全部使用对应 Linux 路径。两边必须映射到同一个目录。

怎么验证

  1. 选择原生直连或 Windows Host → WSL2 显式桥接,并配套设置 command、cwd、resources 和 roots。
  2. 完成 workspace trust/MCP approval 后重启或刷新客户端。
  3. 先检查 tools/list 正好包含七个工具,再实际调用 filestructureinspectxreffile(action=diagnostics)
  4. 对目标语言记录可用 server、平台、版本和具体 action 的结果;不要用 primary ID 的存在替代行为验证。
  5. 在包含中文、空格或字面 % 的路径重复 diagnostics。

常见问题

  • 客户端显示 enabled 但工具失败:enabled 不是 PASS,读取 sidecar 的 fail-fast 错误并实际调用 diagnostics。
  • Windows 原生 bundle 失败:缺少 bundle、manifest、摘要或原生 gopls.exe 时修复发行包与两个字段;不得回退到 PATH 中的任意 gopls。
  • WSL 只出现 file/grep:语义语言服务器尚未就绪,不是完整 LSP;检查非登录桥接进程的 Linux PATH。
  • 某个 primary language ID 存在但 action 失败:核对 server/bundle 和上游 capability;这不与“27 个入口”矛盾。
  • JSON/TOML 解析失败:用解析器验证配置,并确认没有覆盖已有 MCP server。

适用范围

  • 示例路径必须替换为本机绝对路径;发行包中的 bin/LSP 只是布局示例。
  • Codex stdio 配置不需要额外的 type = "stdio"
  • Antigravity 的 serverUrl 仅用于远程 server,本地 sidecar 使用 command
  • 兼容矩阵固定到产品 commit 8ed277ce674195cd29b97231c31f9690f3f2407b;项目尚无经过验证的公开版本,计划项不承诺日期或支持。

延伸阅读

理解各工具的语义边界请读代码理解与多语言 LSP;如仍无法启动,按故障排查收集最小、脱敏的复现证据。