一个 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 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
baitouwuya/dsh-mcp-server
一个 DeepSeek HarnessDSH插件:从正在运行的 Harness 宿主发布一个 Model…
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目