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

跨生态插件桥接 Oliveryfaso/dsh-babel

DeepSeek Harness
Oliveryfaso20 天前有提交已提供中文文档扫描:含敏感能力

读取其他 AI 编码工具的配置,接入其 MCP 与命令

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Oliveryfaso/dsh-babel
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    lib/discover.mjs:21
    entries = readdirSync(root, { withFileTypes: true });
  • 读取本地文件
    lib/discover.mjs:61
    const d = JSON.parse(readFileSync(p, "utf8"));
  • 读取本地文件
    lib/discover.mjs:99
    entries = readdirSync(root, { withFileTypes: true });
  • 读取本地文件
    lib/discover.mjs:110
    try { files = readdirSync(p, { withFileTypes: true }); } catch { continue; }
  • 读取本地文件
    lib/normalize.mjs:165
    doc = JSON.parse(readFileSync(path, "utf8"));
  • 读取本地文件
    lib/commands.mjs:79
    const raw = readFileSync(file, "utf8");
  • 读取本地文件
    lib/commands.mjs:105
    const map = parseToml(readFileSync(file, "utf8"));
  • 读取本地文件
    lib/preflight.mjs:25
    return existsSync(cmd);
  • 执行外部命令固定命令
    lib/preflight.mjs:30
    const st = spawnSync("test", ["-x", p], { timeout: 2000 });
  • 读取本地文件
    lib/preflight.mjs:52
    if (spec.sockets.some((s) => existsSync(s))) return { running: true, detail: `${name} socket present` };
  • 执行外部命令来自配置/变量
    lib/preflight.mjs:54
    const r = spawnSync(spec.probe[0], spec.probe.slice(1), { timeout: 4000, encoding: "utf8" });
  • 执行外部命令固定命令
    lib/secrets.mjs:26
    const v = execFileSync("/usr/bin/security", ["find-internet-password", "-s", service, "-w"], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-mcp-client@deepseek-ai/schemastery@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

让 DeepSeek Harness 直接使用其他 AI 编码工具生态里的 MCP 服务器与插件——读已有配置而非要求作者重新移植,并明确报告哪些能跑、哪些缺密钥、哪些跑不了。

README

由 DeepSeek 最新模型翻译生成
dsh-babel 让 DSH 直接使用其他 AI 编码工具生态里的 MCP 服务器、插件与斜杠命令。 读它们已有的配置,而不是要求插件作者为 DSH 重新移植一遍。 dsh-babel 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。 它解决什么问题 插件作者要支持一个平台,就得为它单独写一份目录。一个典型的多平台插件会带六到八个这样的目录: .claude-plugin .codex-plugin .cursor .gemini-extension.json ... DSH 的那个格子通常是空的。dsh-babel 换个思路:作者不用动,DSH 这边读他们已有的 .mcp.json / commands/,把 N×M 的移植问题变成 N×1。 同时它做一件别家没做的事:装之前就告诉你哪个能跑、哪个缺密钥、哪个根本跑不起来——而不是装上去之后静默失败。 功能 - 发现:扫描 Claude Code 与 Codex 插件目录下的 .mcp.json,以及两种斜杠命令文件(.md / .toml);根目录可配置。 - 归一化:把多种 .mcp.json 方言(带 mcpServers 包装的 / 裸顶层的 / Codex 专有键的)降成一套中间表示。
展开完整文档(README 剩余 1 节)
dsh-babel

让 DSH 直接使用其他 AI 编码工具生态里的 MCP 服务器、插件与斜杠命令。

读它们已有的配置,而不是要求插件作者为 DSH 重新移植一遍。

dsh-babel 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。

它解决什么问题

插件作者要支持一个平台,就得为它单独写一份目录。一个典型的多平台插件会带六到八个这样的目录:

.claude-plugin .codex-plugin .cursor .gemini-extension.json ...

DSH 的那个格子通常是空的。dsh-babel 换个思路:作者不用动,DSH 这边读他们已有的 .mcp.json / commands/,把 N×M 的移植问题变成 N×1。

同时它做一件别家没做的事:装之前就告诉你哪个能跑、哪个缺密钥、哪个根本跑不起来——而不是装上去之后静默失败。

功能

- 发现:扫描 Claude Code 与 Codex 插件目录下的 .mcp.json,以及两种斜杠命令文件(.md / .toml);根目录可配置。
- 归一化:把多种 .mcp.json 方言(带 mcpServers 包装的 / 裸顶层的 / Codex 专有键的)降成一套中间表示。
- 预检:四类检查把"静默失败"变成"明确原因"——依赖命令是否在 PATH、守护进程是否在跑(如 Docker socket)、密钥是否可用、版本是否未固定。
- 兼容性报告:把每个服务器归入「可用 / 需密钥 / 不可用」,每条都附具体原因。
- 命令注册:把发现到的斜杠命令注册进 DSH,支持 {{args}} / $ARGUMENTS / $1 参数替换。
- MCP 注册:连上 stdio 或 streamable-http 服务器,用 DSH 自己的 createMcpToolDefinition 注册工具。
- 密钥解析:process.env 优先,其次 macOS 钥匙串的白名单(仅 GitHub token 家族)——绝不无差别翻钥匙串。
- 展示元数据:locale/ 文案与图标,配置项由 schemastery schema 声明,设置界面可渲染。

安装

从 GitHub plugin_manager install_bundle github:Oliveryfaso/dsh-babel 或本地目录 plugin_manager install_bundle /绝对/路径/dsh-babel

也可以在 DSH Desktop 里走 设置 → 插件 → 添加插件,填入仓库地址或本地路径。

安装后默认 dry-run:只在日志里打印兼容性报告,不注册任何东西。

配置

配置项由 schemastery schema 声明,因此会出现在 设置 → 插件 → dsh-babel 的配置界面里:

| 配置项 | 默认 | 说明 |
| roots | [] | 扫描根目录;字符串路径或 { source, path }。留空时使用默认的 Claude / Codex 插件目录 |
| dryRun | true | 只报告,不注册。要真正注册必须先设为 false |
| logReport | true | 把兼容性报告打印到日志 |
| registerCommands | false | 注册发现到的斜杠命令(需 dryRun: false) |
| registerMcp | false | 注册预检通过(severity: ok)的 MCP 服务器(需 dryRun: false) |

开启真注册:

config:
dryRun: false
registerCommands: true
registerMcp: true

兼容矩阵(诚实版)

| 外部形态 | 覆盖 | 说明 |
| MCP .mcp.json(stdio) | ✅ 高 | 免密钥、依赖命令存在的,基本可用 |
| MCP .mcp.json(http/sse) | ✅ 高 | 依赖 bearer token 的会标「需密钥」 |
| MCP(依赖宿主运行时变量) | ⚠️ 有损 | CODEX_ / CLAUDE_ 等对方宿主注入的变量,DSH 没有,标为不可用 |
| MCP(OAuth) | ❌ 无对应 | oauth_resource 等 DSH 无等价物,丢弃并告知 |
| 技能 skills//SKILL.md | ✅ 高 | 格式统一(由 skills-manager 等已有实现覆盖) |
| 斜杠命令 commands/ | ✅ 已实现 | 发现 + 归一化 + 报告 + 注册 |
| Hooks | ⚠️ 有损 | DSH 仅 7 个点、仅 command handler |
| 子代理 agents/* | ⚠️ 降级 | DSH 无注册接口,只能降级为技能 |
| 插件 UI / mods | ❌ 不支持 | 必须用 DSH client 插件重写,无法移植 |

报告长什么样

在一台装了 Claude Code 与 Codex 插件的机器上,首次加载会打印:

=== dsh-babel 兼容性报告 === 文件: 28 服务器: 28
方言: {"bare":14,"wrapped":14}
传输: {"stdio":17,"streamable-http":11}
结论: 可用 14 / 需密钥 5 / 不可用 9

✗ 不可用 (9):
laravel-boost [stdio] BLOCKED
- [command] command not on PATH: php
terraform [stdio] BLOCKED
- [daemon] docker installed but not running (no socket / probe failed)
- [secret] missing credential: TFE_TOKEN
codex_app [stdio] BLOCKED
- [env] depends on CODEX_MCP_NODE_PATH (other-harness runtime), not available in DSH

这就是这个插件的第二个价值:明确告诉你为什么跑不起来,而不是让用户以为「DSH 很烂」。

目录结构

index.js 插件入口(apply + schemastery Config,Cordis 宿主插件形式) cordis.patch.yml bundle patch(插入 dsh-babel 一行) locale/zh.json 卡片展示文案(标题 + 简介) locale/en.json same, in English icon.svg 插件图标 lib/normalize.mjs 内核:方言 → IR lib/discover.mjs 发现:遍历文件系统找声明 lib/preflight.mjs 预检:命令 / daemon / 密钥 / 版本 lib/secrets.mjs 密钥解析:env 为主 + 钥匙串白名单兜底 lib/commands.mjs 命令归一化:.md / .toml → 命令 IR lib/register.mjs 命令注册:ctx.commands.register + 参数替换 lib/register-mcp.mjs MCP 注册:连接 + createMcpToolDefinition + 工具注册 lib/report.mjs 报告:聚合 + 文本渲染 bin/dsh-babel.mjs CLI runner(本地测试用) test/ 单测 + 冒烟 docs/ 详细文档 CHANGELOG.md 版本变更记录

开发与测试

npm test # 全部单测(75 断言)
node test/mcp-smoke.mjs # MCP 注册冒烟(需本地 symlink 到 DSH 包 + 真实服务器)
node bin/dsh-babel.mjs # 直接跑一次报告

文档

- 功能详解
- 配置参考
- 兼容性说明
- 架构与中间表示
- 版本变更

许可证

MIT
预览分享卡片长什么样 ↓Oliveryfaso/dsh-babel
分享 · DeepSeek Harness Hub
Oliveryfaso/dsh-babel

读取其他 AI 编码工具的配置,接入其 MCP 与命令

这是你的仓库?认领条目

回到顶部