dshx
The missing companion CLI for DeepSeek Harness (dsh): manage MCP servers with one command — add/list/remove/test with dry-run connection checks, plus one-shot import from Claude Code / Codex. Also mounts as a dsh plugin so the agent can manage MCP itself.
安装
dsh plugin --profile web add github:why913/dshx
需要可复现安装时,可在仓库后追加 #commit 固定提交。
The missing companion CLI for DeepSeek Harness (dsh): manage MCP servers with one command — add/list/remove/test with dry-run connection checks, plus one-shot import from Claude Code / Codex. Also mounts as a dsh plugin so the agent can manage MCP itself.
该插件未提供要点说明,请参考仓库 README。
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/why913/dshx |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 2 |
| GitHub 星标 | 1 |
| 最近推送 | 2026-08-14 |
| 收录日期 | 2026-09-19 |
| 分类 | 模型与提供方 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# dshx
English | [中文](README.zh.md)
**The missing companion CLI for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`).**
Manage MCP servers, skills, and agent memory with one command — dry-run connection checks before anything is written, secret-safe config output, and one-shot migration of your existing Claude Code / Codex setup (MCP servers, skills, and global memory). Ships with a `SKILL.md` so the dsh agent itself knows how to use it.
```sh
npm install -g @why913/dshx
dshx mcp add everything -- npx -y @modelcontextprotocol/server-everything
# 连接测试 everything … 通过(2133ms,发现 13 个工具: echo, get-env, …)
# 已写入 ~/.dsh/profiles/web/cordis.patch.yml(id: mcp-everything)
dshx mcp import --yes
# discovers every MCP server in ~/.claude.json, ./.mcp.json and
# ~/.codex/config.toml, connection-tests each one, writes the ones that work
```
## Why
dsh's MCP client is solid (stdio + streamable-http, auto-reconnect, hot reload) — but the only way to configure it is hand-editing `cordis.patch.yml`. In our timed test, an experienced agent needed **6 min 24 s** to add one server by hand (finding the file, learning the patch-layer semantics, dodging the `[]`-placeholder YAML trap). Claude Code does the same job in one command. dshx closes that gap:
| | hand-editing | dshx |
|---|---|---|
| Add one server | ~6 min, YAML traps | one command |
| Broken server | discovered at boot, silently mounts zero tools | **refused before writing** (dry-run handshake + `tools/list`) |
| Secrets | pasted into YAML | `$VAR` → `!!js process.env.VAR` references |
| Migrating from Claude Code / Codex | re-type everything | `dshx mcp import --yes` |
Real-world import run on a machine with 12 servers across Claude Code and Codex configs: **10 migrated, 2 correctly rejected** (one endpoint returning 403, one server crashing on startup) — before either could pollute the config.
## Install
```sh
npm install -g @why913/dshx # CLI
```
Optional — mount it as a dsh plugin too, so the agent gets `mcp_add` / `mcp_list` / `mcp_remove` / `mcp_test` / `mcp_import` as native tools:
```sh
dsh plugin --profile web add @why913/dshx
```
Recommended — install the skill so the agent reaches for dshx on its own:
```sh
# copy skills/dshx/ from this repo into your skills directory
cp -r skills/dshx ~/.dsh/skills/dshx
```
dsh hot-watches the skills directory; no restart needed. In our test, the agent picked the skill up live, ran `dshx mcp list` and `dshx mcp test zotero` itself, and finished the whole task in 16 seconds.
## Commands
```text
dshx mcp add -- [args...] add a local stdio server
dshx mcp add --transport http add a remote streamable-http server
dshx mcp list list managed servers
dshx mcp rm remove a server
dshx mcp test dry-run handshake + tool listing
dshx mcp import [--yes] migrate servers from Claude Code / Codex
dshx skill list list skills with validity checks
dshx skill add install a SKILL.md package (source + commit recorded)
dshx skill rm remove a dshx-installed skill
dshx skill update re-fetch from the recorded source
dshx skill import [--yes] migrate skills from ~/.claude/skills
dshx memory import [--yes] migrate ~/.claude/CLAUDE.md + ~/.codex/AGENTS.md
into $DSH_HOME/AGENTS.md (idempotent marker blocks)
```
Notes: the skills directory is hot-watched by dsh, so `skill add`/`import` take effect immediately. Project-level CLAUDE.md needs no migration — dsh reads it natively.
Shared flags:
| Flag | Meaning |
|---|---|
| `--profile ` | target profile (default `web`) |
| `--global` | write to `$DSH_HOME/cordis.patch.yml` (all profiles) |
| `--env KEY=$VAR` | env var for stdio servers; `$VAR` form is stored as a `!!js process.env.VAR` reference — no secret lands in the file |
| `--header 'K: V'` | header for http servers (values support `$VAR` too) |
| `--timeout ` | connection-test timeout (default 30000) |
| `--no-test` | skip the dry-run connection test |
| `--force` | overwrite an existing server of the same name |
## Design guarantees
- **Dry-run before write.** `add` and `import` perform a real MCP handshake plus `tools/list`; an unreachable server is refused, not written.
- **Idempotent.** Re-adding an existing `serverName` fails loudly (`--force` to replace). `rm` only ever touches rows dshx manages.
- **Comment-preserving YAML edits.** Your `cordis.patch.yml` comments survive every edit; removing the last server restores the pristine `[]` placeholder.
- **No secrets in files.** `$VAR`-form env/header values are written as `!!js process.env.VAR` references, dsh's own idiom.
- **Never restarts anything.** Changes apply on the next dsh reload; dshx tells you instead of killing your sessions.
## As a dsh plugin
Mounted via `dsh plugin --profile web add @why913/dshx`, the agent gets five native tools (`mcp_list`, `mcp_add`, `mcp_remove`, `mcp_test`, `mcp_import`) with the same guarantees — so "connect me to the GitHub MCP server" is something the agent can just do, test included. Configure the target profile on the plugin row:
```yaml
- id: dshx
name: '@why913/dshx'
config:
profile: web
```
## Roadmap
- Skill/memory management as model-facing plugin tools (`skill_add`, `memory_import`, …)
- OAuth-authenticated MCP servers (see [dsh-mcp-manager](https://github.com/hyqhyq3/dsh-mcp-manager) for a Web-UI approach)
## Compatibility
DeepSeek Harness is in developer preview and its internals change fast. dshx only touches documented surfaces (patch files and the `@deepseek-ai/dsh-mcp-client` config schema) and is tested against `@deepseek-ai/dsh` 0.1.0-rc.6. Node ≥ 22.19.
## License
[MIT](LICENSE)
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。