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

引擎切换器 Yuki-takuya-kun/dsh-engine-switch

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

按预设为会话切换驱动引擎,无需重启

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yuki-takuya-kun/dsh-engine-switch
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · model
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/28) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-engine-switch(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 16:44:41

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

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

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 读取本地文件
    lib/router.mjs:71
    const raw = await readFile(preset.path, "utf8");
  • 写入本地文件
    lib/preset.mjs:16
    await mkdir(dest, { recursive: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 按预设切换驱动引擎
  • 会话路由到循环引擎
  • 无需重启

按智能体预设把 DeepSeek Harness 顶层会话路由到可插拔循环引擎,Claude Code 作为内置引擎开箱即用。

README

由 DeepSeek 最新模型翻译生成
dsh-engine-switch 给 DSH 会话换「引擎」——按预设决定由谁来驱动 DSH 默认只用 DeepSeek。装上本插件 + 一个引擎插件,就能在同一个客户端里按预设切换驱动(DeepSeek ↔ Claude Code ↔ 自定义),不用全局替换、不用改 DSH。 🌏 中文 · English ✨ 能干什么 - 🔀 按预设选引擎:每个会话用哪个引擎,由它当前的预设决定。优先级从高到低:预设自己声明 → 配置里点名 → 预设名等于引擎名 → 默认 DeepSeek。 - 🔁 发消息前可切换:在会话里发第一条消息之前切换预设,会当场换成对应的引擎(两个方向都行),不用重开会话、不用重启。 - 📦 预设自动装好:引擎装好后,它自带的预设会被自动复制进 DSH 的预设目录,立刻出现在预设列表里。 - 🤝 引擎和会话互不打扰:引擎不知道「预设」这回事,会话也不知道「被换过引擎」——两边各自干自己的事。 - 🌐 子代理始终用 DeepSeek:不管顶层会话选了谁,子代理都照旧走 DeepSeek。 - ⏯️ 续聊自动还原:接着上次的会话聊,会按日志里记下的预设自动找回对应的引擎。 🔌 一句话:本插件本身不带任何引擎、也不带任何预设。它只规定「引擎怎么接入」,然后负责三件事——按预设选引擎、发消息前切换、把预设装好。
展开完整文档(README 剩余 1 节)
dsh-engine-switch

给 DSH 会话换「引擎」——按预设决定由谁来驱动

DSH 默认只用 DeepSeek。装上本插件 + 一个引擎插件,就能在同一个客户端里按预设切换驱动(DeepSeek ↔ Claude Code ↔ 自定义),不用全局替换、不用改 DSH。

🌏 中文 · English

✨ 能干什么

- 🔀 按预设选引擎:每个会话用哪个引擎,由它当前的预设决定。优先级从高到低:预设自己声明 → 配置里点名 → 预设名等于引擎名 → 默认 DeepSeek。
- 🔁 发消息前可切换:在会话里发第一条消息之前切换预设,会当场换成对应的引擎(两个方向都行),不用重开会话、不用重启。
- 📦 预设自动装好:引擎装好后,它自带的预设会被自动复制进 DSH 的预设目录,立刻出现在预设列表里。
- 🤝 引擎和会话互不打扰:引擎不知道「预设」这回事,会话也不知道「被换过引擎」——两边各自干自己的事。
- 🌐 子代理始终用 DeepSeek:不管顶层会话选了谁,子代理都照旧走 DeepSeek。
- ⏯️ 续聊自动还原:接着上次的会话聊,会按日志里记下的预设自动找回对应的引擎。

🔌 一句话:本插件本身不带任何引擎、也不带任何预设。它只规定「引擎怎么接入」,然后负责三件事——按预设选引擎、发消息前切换、把预设装好。真正的引擎由别的插件通过 ctx.engineSwitch.register(engine) 注册进来。deepseek 是个特殊名字,意思是「退回 DeepSeek 原来的循环」。

🚀 安装

dsh plugin --profile web add github:Yuki-takuya-kun/dsh-engine-switch
再装至少一个引擎插件,例如:
dsh plugin --profile web add github:Yuki-takuya-kun/dsh-claude-code

⚙️ 启用

编辑 ~/.dsh/profiles/web/cordis.patch.yml:

- id: dsh-engine-switch
config:
enabled: true

重启 web 应用。引擎插件带来的预设会出现在预设列表里;选中它 → 用该引擎,选其它 → 用 DeepSeek。

🎯 预设怎么指定引擎

大多数时候什么都不用做:引擎自带的预设,它的目录名就是引擎名,会自动对上(比如 dsh-claude-code 的预设目录叫 claude-code,引擎也叫 claude-code)。

想手动指定,有两种方式(优先级从高到低):

1. 在预设里写:编辑该预设的 agent.cordis.yml,加一条 dsh-engine-switch 并写 engine:

~/.dsh/.agent-presets//agent.cordis.yml
- name: dsh-engine-switch
config:
engine: claude-code # 这个预设用 claude-code 引擎

2. 在配置里点名:在 engineByPreset 里写「预设名 → 引擎名」,不用改预设文件:

config:
engineByPreset:
research: claude-code

都没写时,退回 defaultEngine(默认 deepseek,即 DeepSeek)。

🔌 引擎怎么注册

写一个插件,inject: ["engineSwitch"],然后在 apply 里调用 ctx.engineSwitch.register(...) 注册一个引擎:

export const inject = ["engineSwitch"];
export function apply(ctx) {
ctx.engineSwitch.register({
id: "claude-code", // 引擎名 = 它自带预设的目录名 name: "Claude Code", description: "…", presetDir: fileURLToPath(new URL("./presets/claude-code/", import.meta.url)),
makeAgent(loopCtx, id, options, session, engineConfig) {
return new ClaudeCodeAgent(loopCtx, id, options, session, engineConfig);
},
});
}

presetDir 里放 agent.cordis.yml + preset.yml,框架会自动把它装到 ~/.dsh/.agent-presets//。引擎要实现的完整接口见 引擎 API。
参考引擎:dsh-claude-code —— 一个真实注册了 claude-code 引擎的插件,用本机 Claude Code CLI 驱动会话。

⚙️ 配置

| 键 | 默认 | 含义 |
| enabled | false | 总开关:false = 插件不生效,所有会话照旧走 DeepSeek |
| defaultEngine | "deepseek" | 没指定引擎的预设(以及没有预设的会话)用谁;deepseek = 退回 DeepSeek |
| engineByPreset | {} | 「预设名 → 引擎名」的点名表 |
| engines | {} | 「引擎名 → 引擎自己的配置」(原样转给引擎,插件不解析) |

🔍 原理(可选阅读)

- 启动时,插件换掉 DSH 原来的「会话驱动工厂」,改成按预设决定引擎的路由器。
- 创建会话、续聊、切换预设时,都会按上面的优先级算出该用哪个引擎,再造出对应的驱动。
- deepseek 不是真引擎,而是「退回 DSH 原来的 DeepSeek 循环」。

📄 许可证

MIT。见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓Yuki-takuya-kun/dsh-engine-switch
分享 · DeepSeek Harness Hub
Yuki-takuya-kun/dsh-engine-switch

按预设为会话切换驱动引擎,无需重启

这是你的仓库?认领条目

回到顶部