Initial commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
@tool
|
||||
extends McpClient
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
id = "deepseek_harness"
|
||||
display_name = "DeepSeek Harness"
|
||||
## DeepSeek Harness (dsh) has no `mcp` CLI verb — MCP servers register as
|
||||
## `@deepseek-ai/dsh-mcp-client` plugin entries in the HOME patch layer
|
||||
## `$DSH_HOME/cordis.patch.yml`, which dsh applies over every profile's
|
||||
## own patch layer (the web GUI included). config_type "dsh" routes to
|
||||
## `McpDshStrategy`. Verified live against dsh 0.1.0-rc.6: new entries
|
||||
## must be `insert` rows; plain rows only override existing bundle ids.
|
||||
config_type = "dsh"
|
||||
## Home patch layer, not a per-profile file: one entry covers the web
|
||||
## GUI, headless, tui, and any custom profile.
|
||||
path_template = {
|
||||
"unix": "~/.dsh/cordis.patch.yml",
|
||||
"windows": "~/.dsh/cordis.patch.yml",
|
||||
}
|
||||
## Documented: `$DSH_HOME` relocates the whole harness home, and the
|
||||
## loader reads `$DSH_HOME/cordis.patch.yml` (homePatchPath) — same
|
||||
## false-success-write class as CODEX_HOME (#617), so the override must
|
||||
## be declared.
|
||||
config_home_env = "DSH_HOME"
|
||||
config_home_env_subpath = "cordis.patch.yml"
|
||||
## Installed detection: the harness home directory itself (dsh GUI and
|
||||
## CLI both live there), or the config file once one exists.
|
||||
detect_paths = PackedStringArray(["~/.dsh"])
|
||||
## Attach migration (#838). The loader entry nests the launch under
|
||||
## `config`; the mcp-client plugin requires `transport` next to
|
||||
## command/args, and a `url` must never coexist with command fields.
|
||||
command_shape = McpClient.CommandShape.FLAT
|
||||
command_transport_key = "transport"
|
||||
command_transport_value = "stdio"
|
||||
command_legacy_keys = PackedStringArray(["url"])
|
||||
## Fields the mcp-client plugin documents as user-owned; preserved on
|
||||
## reconfigure and never drift-checked.
|
||||
command_user_fields = PackedStringArray([
|
||||
"env", "cwd", "toolCallTimeoutMs", "failOnStartupError", "reconnect",
|
||||
])
|
||||
command_timeout_fields = PackedStringArray(["toolCallTimeoutMs"])
|
||||
## The bridge accepts `transport: streamable-http` with a `url`, so the
|
||||
## manual instructions may offer the HTTP alternative.
|
||||
command_supports_url_fallback = true
|
||||
Reference in New Issue
Block a user