DeepSeek Harness 插件

dsh-dshx

MCP client hub (stdio / Streamable HTTP / SSE) with skill, command, memory and prompt management for the DeepSeek Harness Web GUI(英文原文)

跳到安装方式

来源信息

GitHub 仓库
YZz-S/dsh-dshx
最近更新
2026年8月15日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/YZz-S/dsh-dshx
插件名:dsh-dshx
作者:YZz-S

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dshx

[English](#english) · [中文](#中文)

An extension suite for the DeepSeek Harness (DSH) Web GUI: an MCP client hub (stdio / Streamable HTTP / SSE) with a web management console, plus skill, slash command, project & global memory, and prompt management. Plain ESM JavaScript, no build step.

English

  • [中文](#中文) · [↑ Back to dshx](#dshx)

Modules

ModuleSubpathWhat it does
MCP hubdshx/mcpConnects MCP servers over stdio, Streamable HTTP and SSE. Per-server state machine (connecting / connected / reconnecting / error), live logs (ring buffer + $DSH_HOME/dshext/logs/mcp-<id>.log), discovered-tool list, automatic reconnect with exponential backoff. Discovered tools are bridged to the model as native tools named mcp__<server>__<tool>. Model tools: mcp_status, mcp_restart.
Memorydshx/memoryGlobal memory ($DSH_HOME/dshext/memory/*.md) and project memory (<workspace>/.dsh/memory/*.md), injected into the system prompt before every model step. Model tools: memory_list, memory_read, memory_write, memory_delete. Project-scope writes follow the session sandbox policy (approval + sandbox_permissions escalation, same as the built-in write tool).
Skillsdshx/skillsCreates / edits / deletes skill bundles in the roots the harness skill registry already discovers ($DSH_HOME/skills, <workspace>/.dsh/skills); changes appear in the session skill catalog immediately. Model tools: skill_create, skill_edit, skill_delete.
Commandsdshx/commandsUser-defined slash commands as YAML files ($DSH_HOME/dshext/commands/*.yaml, <workspace>/.dsh/commands/*.yaml). Named commands are registered eagerly; a universal /cmd <name> [args] dispatcher resolves the calling session's project dir, so project commands work in every workspace. {{args}} is replaced with the typed input. Model tool: command_define.
Promptsdshx/promptsPrompt library ($DSH_HOME/dshext/prompts/*.md) registered as ordered system-prompt sections (dshx:prompts/<name>, configurable order / enable), a supplementary persona ($DSH_HOME/dshext/persona.md), and an assembled system-prompt inspector (rendered with a live agent scope so variables like {{model}} resolve).
Managerdshx/managerServes the web management console at http://127.0.0.1:3080/dshext/ (five tabs: MCP / Skills / Commands / Memory / Prompts, plus a JSON API under /dshext/api/*) and injects a floating "⚙ 扩展管理" button into the Web GUI.

Installation

#### Method 1 — install as a dsh bundle (persistent)

dsh plugin --profile web add github:YZz-S/dshx

Restart dsh web. The dsh.bundle entry in package.json applies cordis.patch.yml, which mounts the six rows above.

> If you previously added the dshx rows manually to your profile's > cordis.patch.yml (the local ./packages/dshx/... variant), remove those > rows first — both share the row ids dshx-* and mounting them twice would > register the tools and routes twice.

#### Method 2 — manual local install (no npm / GitHub)

1. Copy lib/*.mjs to a directory inside your profile, e.g. $DSH_HOME/profiles/web/packages/dshx/lib/; 2. Add the rows from cordis.patch.yml to $DSH_HOME/profiles/web/cordis.patch.yml, replacing name: dshx/<module> with name: ./packages/dshx/lib/<file>.mjs; 3. Restart dsh web (or let the patch watcher hot-apply it).

Dependencies (@deepseek-ai/*, @modelcontextprotocol/sdk, chokidar, js-yaml) all ship with every dsh installation and resolve through the profile's node_modules — the plugin itself has no npm dependencies.

Quick start

1. Open the Web GUI and click the floating ⚙ 扩展管理 button (or visit http://127.0.0.1:3080/dshext/). 2. MCP tab → 添加 MCP 服务器 → pick a transport: - stdio: command npx, args -y @modelcontextprotocol/server-github (env GITHUB_TOKEN as JSON); - Streamable HTTP: URL http://localhost:3000/mcp + optional JSON headers; - SSE: URL http://localhost:3001/sse + optional JSON headers. 3. The card turns green (connected, N 个工具) and the model can call mcp__<id>__<tool> immediately. Logs and the tool list are on the card. 4. Use the other tabs to write memory / skills / commands / prompt sections, or just ask the model to do it (memory_write, skill_create, command_define, …).

MCP server configuration

Server configs live in $DSH_HOME/dshext/mcp.json (managed by the console or the model tools) — example:

{
  "servers": [
    { "id": "github", "name": "GitHub", "transport": "stdio",
      "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "…" } },
    { "id": "web", "name": "Web", "transport": "streamable-http",
      "url": "http://localhost:3000/mcp",
      "headers": { "Authorization": "Bearer …" } },
    { "id": "legacy", "name": "Legacy SSE", "transport": "sse",
      "url": "http://localhost:3001/sse" }
  ]
}

Custom slash commands

# $DSH_HOME/dshext/commands/review.yaml
name: review
description: Review the current changes
hint: '[path]'
prompt: |
  Review {{args}} and output an issue list ordered by severity.

User-level commands register as /review; project commands are callable via /cmd review (and /cmd alone lists everything).

Model-facing tools

mcp_status · mcp_restart · memory_list · memory_read · memory_write · memory_delete · skill_create · skill_edit · skill_delete · command_define — plus every discovered MCP tool as mcp__<server>__<tool>.

Data files

FeatureLocation
MCP server config$DSH_HOME/dshext/mcp.json
MCP logs$DSH_HOME/dshext/logs/mcp-<id>.log
Global memory$DSH_HOME/dshext/memory/*.md
Project memory<workspace>/.dsh/memory/*.md
User skills$DSH_HOME/skills/<name>/SKILL.md
Project skills<workspace>/.dsh/skills/<name>/SKILL.md
User commands$DSH_HOME/dshext/commands/<name>.yaml
Project commands<workspace>/.dsh/commands/<name>.yaml
Prompt sections$DSH_HOME/dshext/prompts/<name>.md
Supplementary persona$DSH_HOME/dshext/persona.md

Development & tests

# syntax check every module
node --check lib/*.mjs

# 18 smoke checks (mock cordis ctx; real file round-trips; needs the dsh
# dependency tree resolvable — run from an installed copy, or give this
# package a node_modules junction to $DSH_HOME/profiles/node_modules)
node test/selfcheck.mjs

# fixture stdio MCP server used to verify the hub end to end
node test/test-mcp-server.mjs   # then add it in the console:
#   transport stdio, command <path-to-node>, args <this file>

Security

See [SECURITY.md](SECURITY.md). Credentials are environment variables / config values only — nothing is hardcoded; the console binds to the same local-only DSH web server (127.0.0.1).

License

[MIT](LICENSE) © 2026 DeepSeekHarnessPlugins contributors

---

中文

[English](#english) · [↑ 返回 dshx](#dshx)

面向 DeepSeek Harness(DSH)Web GUI 的扩展套件: MCP 客户端集线器(stdio / Streamable HTTP / SSE 三种协议,含状态、日志、工具面板与 Web 管理台), 以及 技能斜杠命令项目/全局记忆提示词 四类管理能力。纯 ESM JavaScript,无需构建。

模块一览

模块子路径说明
MCP 集线器dshx/mcp连接 stdio / Streamable HTTP / SSE 三类 MCP 服务器;状态机(连接中/已连接/重连中/错误)、实时日志、工具列表、指数退避自动重连;发现到的工具以 mcp__<服务器>__<工具> 注册为模型原生工具。模型工具:mcp_statusmcp_restart
记忆dshx/memory全局记忆($DSH_HOME/dshext/memory/*.md)与项目记忆(<工作区>/.dsh/memory/*.md),每次模型请求前自动注入系统提示词。模型工具:memory_list/read/write/delete。项目范围写入遵循会话沙箱策略(支持审批与 sandbox_permissions 升级)。
技能dshx/skills在技能注册表原生发现的目录($DSH_HOME/skills、项目 .dsh/skills)中创建/编辑/删除技能,改动即时进入会话技能目录。模型工具:skill_create/skill_edit/skill_delete
命令dshx/commandsYAML 自定义斜杠命令(用户级 $DSH_HOME/dshext/commands/、项目级 .dsh/commands/);用户命令直接注册为 /名称/cmd <名称> [参数] 按调用会话所在项目解析,{{args}} 替换输入参数。模型工具:command_define
提示词dshx/prompts提示词片段库(注册为带顺序/开关的系统提示词 section)、人设补充(persona.md)、以及按活跃 Agent 作用域渲染的完整 System Prompt 组装查看。
管理台dshx/manager提供 http://127.0.0.1:3080/dshext/ 管理台(MCP / 技能 / 命令 / 记忆 / 提示词 五个标签页 + /dshext/api/* JSON API),并在 Web GUI 右下角注入「⚙ 扩展管理」悬浮按钮。

安装

方式一 · dsh bundle 安装(持久化,推荐)

dsh plugin --profile web add github:YZz-S/dshx

重启 dsh webpackage.jsondsh.bundle 会应用 cordis.patch.yml 挂载上面六行。

> 若你此前在 profile 的 cordis.patch.yml 里手动加过 dshx 行(./packages/dshx/... 本地变体),请先删除——两种方式共用 dshx-* 行 id,重复挂载会重复注册工具与路由。

方式二 · 本地手动安装

1. 把 lib/*.mjs 复制到 profile 内目录(如 $DSH_HOME/profiles/web/packages/dshx/lib/); 2. 把 cordis.patch.yml 中的行写进 $DSH_HOME/profiles/web/cordis.patch.yml,将 name: dshx/<模块> 换成 name: ./packages/dshx/lib/<文件>.mjs; 3. 重启 dsh web(补丁层支持热重载,通常无需重启)。

依赖(@deepseek-ai/*@modelcontextprotocol/sdkchokidarjs-yaml)随 dsh 自带,经 profile 的 node_modules 解析,插件本身零 npm 依赖。

快速开始

1. 打开 Web GUI,点击右下角「⚙ 扩展管理」(或访问 http://127.0.0.1:3080/dshext/); 2. MCP 标签 → 添加 MCP 服务器,三种协议任选: - stdio:命令 npx、参数 -y @modelcontextprotocol/server-github(env 填 JSON); - Streamable HTTP:URL + 可选 JSON 请求头; - SSE:URL + 可选 JSON 请求头; 3. 卡片变绿(connected,N 个工具),模型即可直接调用 mcp__<id>__<tool>; 4. 其余标签页管理记忆/技能/命令/提示词,也可以直接让模型调用 memory_writeskill_createcommand_define 等工具代办。

数据文件位置

功能位置
MCP 服务器配置$DSH_HOME/dshext/mcp.json
MCP 日志$DSH_HOME/dshext/logs/mcp-<id>.log
全局记忆$DSH_HOME/dshext/memory/*.md
项目记忆<工作区>/.dsh/memory/*.md
用户技能$DSH_HOME/skills/<名称>/SKILL.md
项目技能<工作区>/.dsh/skills/<名称>/SKILL.md
用户命令$DSH_HOME/dshext/commands/<名称>.yaml
项目命令<工作区>/.dsh/commands/<名称>.yaml
提示词片段$DSH_HOME/dshext/prompts/<名称>.md
人设补充$DSH_HOME/dshext/persona.md

测试

node --check lib/*.mjs     # 全部模块语法检查
node test/selfcheck.mjs    # 18 项冒烟自检(mock cordis 上下文 + 真实文件往返)
node test/test-mcp-server.mjs  # stdio MCP 测试服务器(在管理台添加后可验证全链路)

安全与许可

见 [SECURITY.md](SECURITY.md)。凭据只通过环境变量/配置传入,无任何硬编码;管理台绑定 dsh 本地 Web 服务(127.0.0.1)。[MIT](LICENSE) © 2026 DeepSeekHarnessPlugins contributors