🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

MCP 服务发布 baitouwuya/dsh-mcp-server

MCPv1.0.2
baitouwuya7 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

一个 DeepSeek HarnessDSH插件:从正在运行的 Harness 宿主发布一个 Model…

38.2/100
综合分
2
GitHub 星标
652
npm 周下载
—/5
用户评分

数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/baitouwuya/dsh-mcp-server.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-mcp-btwy @ 1.0.2
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 09:43:28

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
  • 读取本地文件
    index.js:38
    return JSON.parse(readFileSync(join(import.meta.dirname, 'package.json'), 'utf8')).name
  • 写入本地文件
    index.js:795
    await mkdir(dirname(endpointFile), { recursive: true, mode: 0o700 })
  • 写入本地文件
    index.js:796
    await writeFile(endpointFile, JSON.stringify(payload, null, 2) + '\n', { mode: 0o600 })
  • 写入本地文件
    index.js:798
    await chmod(endpointFile, 0o600).catch(() => {})
  • 读取本地文件
    index.js:891
    owner = JSON.parse(readFileSync(endpointFile, 'utf8'))
  • 删除本地文件
    index.js:897
    rmSync(endpointFile, { force: true })
  • 发起网络请求
    lib/client.js:235
    const response = await fetch(base + ROUTE, { headers: { accept: 'application/json' } })
  • 发起网络请求
    lib/client.js:243
    const response = await fetch(base + ROUTE, {
  • 读取密钥环境变量
    bin/dsh-mcp-stdio.mjs:63
    const envToken = process.env.DSH_MCP_TOKEN
  • 读取本地文件
    bin/dsh-mcp-stdio.mjs:67
    file = JSON.parse(readFileSync(endpointFile, 'utf8'))
  • 执行外部命令固定命令
    bin/dsh-mcp-stdio.mjs:90
    const out = execFileSync('ps', ['-o', 'comm=', '-p', String(process.ppid)], { encoding: 'utf8', timeout: 2000 })
  • 发起网络请求
    bin/dsh-mcp-stdio.mjs:201
    const response = await fetch(endpoint.url, {
  • 读取本地文件
    lib/dsh-capabilities.js:117
    stats = statSync(absolute)
  • 读取本地文件
    lib/clients.js:178
    parsed = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    lib/clients.js:217
    mkdirSync(dirname(file), { recursive: true, mode: 0o700 })
  • 写入本地文件
    lib/clients.js:219
    writeFileSync(temporary, JSON.stringify(snapshot(), null, 2) + '\n', { mode: 0o600 })
  • 写入本地文件
    lib/clients.js:220
    renameSync(temporary, file)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

把运行中的 Harness 发布成 MCP 服务器,供其他智能体框架调用的 DeepSeek Harness(DSH)插件。

README

由 DeepSeek 最新模型翻译生成
DSH MCP Server(dsh-mcp-btwy) 简体中文 · English 一个 DeepSeek Harness(DSH)插件:从正在运行的 Harness 宿主发布一个 Model Context Protocol(MCP) 服务,让别的 agent harness——Claude Code、Cursor、Codex、另一个 DSH、任何 MCP 客户端——可以直接调用 DSH:创建会话、推进回合、等待结果、读取对话记录、取消工作。 插件是仅宿主侧的 bundle,零依赖。每个请求都归因到发起调用的 agent,每个会话都记录在它的创建者名下,所以多个 harness 可以共用一个端点,仍然能问「哪些会话是我的?」。同一套工具也会注册进本机 Harness,在那里按调用会话自身的权限收紧。 其他 harness ──MCP(Streamable HTTP 或 stdio)──> DSH MCP Server ──> DSH 服务 sessionController / sessionQuery / tools 它能做什么 - 用任意 MCP 客户端驱动 DSH。
展开完整文档(README 剩余 1 节)
DSH MCP Server(dsh-mcp-btwy)

简体中文 · English

一个 DeepSeek Harness(DSH)插件:从正在运行的 Harness 宿主发布一个 Model Context Protocol(MCP) 服务,让别的 agent harness——Claude Code、Cursor、Codex、另一个 DSH、任何 MCP 客户端——可以直接调用 DSH:创建会话、推进回合、等待结果、读取对话记录、取消工作。

插件是仅宿主侧的 bundle,零依赖。每个请求都归因到发起调用的 agent,每个会话都记录在它的创建者名下,所以多个 harness 可以共用一个端点,仍然能问「哪些会话是我的?」。同一套工具也会注册进本机 Harness,在那里按调用会话自身的权限收紧。

其他 harness ──MCP(Streamable HTTP 或 stdio)──> DSH MCP Server ──> DSH 服务 sessionController / sessionQuery / tools

它能做什么

- 用任意 MCP 客户端驱动 DSH。 dsh_run_prompt 创建会话并返回 sessionId; dsh_continue_session 延续它的上下文与工作区;dsh_wait_session 只等待、不取消; dsh_cancel_session 停止回合但保留收件箱。Streamable HTTP 与 stdio 桥都可用。
- 读得准,而不是整份倒出来。 dsh_list_sessions 分页列出会话索引,dsh_search_sessions 只返回有限的片段,dsh_read_session 以 tail/head/outline 窗口读取,带游标、单条上限和整包预算;每个结果都会说明它没有返回什么。
- 多个 harness 共用一个端点。 调用方身份按请求头、clientInfo 或 User-Agent 解析;会话记录在所有者名下;restrictToOwner 把每个调用方限制在它自己创建的会话里。
- 看见模型看不见的决策。 dsh_list_requests 报告审批请求和未回答的用户提问(含工具、原因、 call id);开启 answerApprovals / answerQuestions(旧的 answerUserRequests 仍作总开关)后, dsh_answer_request 可以和 GUI 竞速地给出决定。
- 问一个目标必须回答的问题。 dsh_ask_session 让提问回合一直阻塞到被问会话回答;问题带编号,提醒只搭在目标自己的调用上(绝不唤醒会话),人为停止会直接结案且不打扰任何人。
- 避免同工作区的 agent 撞车。 任务开始时进度同步会询问同一工作区里的其他顶层 agent 正在做什么、在改哪些文件;它作为独立的 dsh-work-sync 行挂载。
- 在 DSH 内部调用同一套工具。 默认的 lazy 工具面是一个三工具前门(dsh_mcp_tools、 dsh_mcp_open、dsh_mcp_call),常驻约 770 token 而不是 4.8k;full 则注册全部 21 个。
内部调用始终被限制在调用者自己的沙箱与工作区内。
- 把人带到现场。 端点创建的会话会归入其目录已有的侧边栏项目;dsh_open_session 让打开的 Web GUI 直接选中某个会话。
- 在插件页配置,或用预设一次设好。 开关、lazy/full 工具面、侧边栏分组、忙碌时投递方式、进度同步,都是插件包自己页面上的控件,经配置文件编辑器保存;部署级还可以在行里写 preset: delegate | strict | observer,只填充没显式设置过的字段。

快速开始

1. 安装到 DSH 配置档(npm 包 dsh-mcp-btwy,零依赖):

在 Plugins 页面点 Add plugin,把包名粘进输入框: dsh-mcp-btwy 或者命令行(profile 名以你的安装为准,桌面版是 desktop):
dsh plugin --profile desktop add dsh-mcp-btwy

从源码安装(开发或离线)同样可行:git clone 后在 Add plugin 里粘仓库路径,或 plugin_manager install_bundle --target /path/to/dsh-mcp-server。

2. 读取插件发布的连接信息(文件权限 0600):

$DSH_HOME/mcp/dsh-mcp-endpoint.json # { url, token, stdioBridge, tools }

3. 让客户端连上端点(下图为 Streamable HTTP;stdio、其他客户端见快速开始文档):

{
"mcpServers": {
"dsh": {
"type": "http",
"url": "http://127.0.0.1:19387/mcp",
"headers": { "Authorization": "Bearer <dsh-mcp-endpoint.json 里的 token>" }
}
}
}

4. 调用它。 先创建会话,再继续:

dsh_run_prompt({ "prompt": "summarize README.md", "cwd": "/path/to/repo" })
// → { "sessionId": "session-…", "text": "…" }

dsh_continue_session({ "sessionId": "session-…", "prompt": "now list the TODOs" })

安全边界

这个插件让另一个 harness 操作本机这台 DSH,所以边界是设计的一部分,不是可选项:

- 端点默认只绑回环地址(127.0.0.1);要对外暴露得显式改 host,而这通常不该做。
- 每个请求都要 Bearer token;token 写在 $DSH_HOME/mcp/dsh-mcp-endpoint.json(权限 0600),不接受 URL 查询串(那会进代理日志)。
- restrictToOwner 把每个调用方限制在它自己创建的会话里;跨会话的来宾调用会被拒绝。
- 代答审批(answerApprovals)等于把沙箱提权的同意权交出去;不确定时保持关闭。

安装前请确认你信任会调用这个端点的 harness——它在你的用户权限下运行。

文档

| 文档 | 内容 |
| 快速开始 | 安装、端点文件与令牌、HTTP/stdio/DSH 作为客户端的配置、自检 bundle。 |
| 工具与资源 | 全部 21 个工具、3 个资源、渐进式读取、待决的用户决策。 |
| 协议支持 | 支持的 MCP 版本、方法、能力声明、通知、错误码、鉴权、会话头,以及明确不支持的项。 |
| 会话与投递 | 调用方身份与归属、等待、侧边栏分组、排队/插话、在 GUI 中打开会话。 |
| DSH 本地工具 | Harness 内部工具面、lazy 前门、权限上限。 |
| 必须回复的问题 | dsh_ask_session / dsh_answer_question / dsh_get_question、提醒、人为停止、死锁。 |
| 进度同步 | 任务开始时的同伴同步、独立 bundle 行及其参数。 |
| 配置 | 插件页上的每个开关和 cordis.patch.yml 的每个字段。 |
| 内部实现 | 模块图、DSH 兼容性、模型体验、验证方式、已知限制。 |

两种语言的完整索引见 文档目录。

状态

版本 1.0.0,已针对 DSH 0.2.1-rc.3(Cordis 4.0.5)验证:21 个 MCP 工具、2 个资源、 1 个资源模板、249 项离线检查,外加在线 HTTP 与 stdio 套件。仅宿主侧、零依赖、MIT。
从 1.0.0 起,工具名、资源 URI、配置字段与 MCP 协议面按语义化版本对待:破坏其中任何一项都需要大版本。
插件不 import 任何 DSH 包,所以兼容性取决于服务契约而不是版本锁定——见内部实现。逐版本变更见 CHANGELOG.md。

许可证

MIT
预览分享卡片长什么样 ↓baitouwuya/dsh-mcp-server
分享 · DeepSeek Harness Hub
baitouwuya/dsh-mcp-server

一个 DeepSeek HarnessDSH插件:从正在运行的 Harness 宿主发布一个 Model…

这是你的仓库?认领条目

回到顶部