dsh-default-model-lock

DSH PLUGIN开发与运行时

仓库 hZsFN/dsh-default-model-lock

开发与运行时 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

dsh-default-model-lock 是 hZsFN 维护的 开发与运行时 类 DSH 可安装插件, 仓库为 hZsFN/dsh-default-model-lock,许可证 NOASSERTION。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-default-model-lock 是开发与运行时类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 1 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-29 创建于 未标注
README 5.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:hZsFN/dsh-default-model-lock
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-default-model-lock当前 L4 · 沙盒安装通过 低风险 1 未标注 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方hZsFN仓库 dsh-default-model-lock · 默认分支 未标注
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-29最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

5.0 KB
作者原文,中文版优先;只做安全转义,不改内容

默认模型锁定

为 DeepSeek Harness 提供一把共享默认模型的锁:在设置页选好 provider、model 和推理档位,启用保存后,共享默认值被钉死。

起因:在 UI 里切一次模型,会把 cordis.yml 里的默认模型一起改掉(还会丢掉 reasoningEffort 行),于是心跳、看板定时任务、新会话全都跟着换模型。本插件把这件事变成显式开关。

安装

已发布到 npm:dsh-model-lock(当前 0.1.1)。
在 DSH 的插件页面按包名安装即可;也可以从源码装进指定 profile:

# 先看会做什么(不写任何文件)
pwsh -File scripts/install-profile.ps1 -DryRun

# 装进目标 profile(自动备份 package.json 与 cordis.patch.yml)
pwsh -File scripts/install-profile.ps1 -Profile "$env:USERPROFILE\.dsh\profiles\desktop"

重载插件后,设置页出现「默认模型锁定」一节;改源码后必须重载/重启 DSH 才生效(刷新页面不够)。
卸载与还原步骤见 docs/INSTALL.md。

行为

  • 聊天里仍可自由切换模型:session.selectModel() 只影响当前会话。
  • 但切不动共享默认值:saveSelection() 在进入原服务保存队列之前就被拦下,写入直接 fulfilled。
  • currentSelection() 返回配置里的精确选择;新会话、headless、心跳、定时任务读到的是锁定值。
  • 关闭锁定即恢复官方行为,并把 provider/model 从配置里 unset,官方默认值重新生效(插件从不改写官方默认模型配置)。
  • 推理档位留空 = 交给模型适配器的默认档;填了就按填的。
  • 无效 provider/model fail closed:不猜、不 fallback、不写任何东西。
  • 只在加载了本插件的 profile 里生效。

拦截点

包装 @deepseek-ai/dsh-agent-default-model 服务实例上的 currentSelection() 与 saveSelection():

  • 用 Cordis 的 symbols.original 取回原始服务对象,在实例上包装 own methods —— 覆盖普通 ctx 属性、ctx.get()、root、headless 的同形读取,以及已缓存的服务对象。
  • 不改 prototype、不改磁盘、不调模型接口。
  • 卸载时恢复原 descriptor;服务重建时自动重新安装。

设置页

settings.section 槽位注册(经 ctx.slots.inject),页面读真实目录:ctx.remote.session.modelCatalog() → Typert { ok, value } → { groups[{ id, name, models[{ id, name, reasoning: { efforts[{ id, name }], defaultEffort } }] }] }。

  • provider → model → effort 三级联动,只显示目录里真实存在的东西。
  • 保存走一次原子 mutate(ops, revision),SettingsPathOpView 操作,带 revision fence。
  • 目录加载失败 → 显示错误、不给选项,此时只能关闭锁定。
  • 已保存的模型若已不可用 → 标「不可用」,不自动替换。
  • 关闭锁定时允许 provider/model 为空。

设置服务存在时,插件会调 settings.configure({ auto: false }) 隐藏官方自动生成的通用表单,保证设置页只有这一个入口;设置服务本身按可选注入处理(缺席时不报错,锁定照常工作)。

已在独立 DSH_HOME + 端口 3199 的真实 Electron carrier 上跑通完整链路(真实 Loader 加载、Config 投影、settings/update 落盘、currentSelection() 拦截生效、官方配置零写入、解锁复原),结果见 docs/INSTALL.md 第 6 节。

目录

index.js               插件入口 + Config schema(volatile 字段)
core.mjs               锁的实现(服务实例方法包装)
lib/client.js          客户端产物:手写 __ModuleLoader__ 模块(无构建步骤)
client/types.ts        真实 DSH 契约类型(参考,不参与安装)
client/index.tsx       初稿的迁移记录(已废弃)
test/core.test.mjs     后端 6 项:真 Cordis + 真 AgentDefaultModel
test/client.test.mjs   前端 9 项:直接加载 lib/client.js
scripts/install-profile.ps1    装进 profile(默认 dry-run,自动备份)
scripts/restore-backup.ps1     按备份回滚(只删 junction,不删源码)
scripts/isolation-probe.mjs    隔离验证探针(独立 DSH_HOME + 3199)
docs/INSTALL.md        安装、边界与隔离验证结果

自检

npm run check   # node --check:骨架与产物语法
npm test        # 15 项全绿

兼容性与边界

目标 DSH 0.2.1-rc.2 / Cordis 4.0.5;升级 DSH 后需重新验证包装契约。已经提交进原保存队列的写入无法撤销 —— 锁定生效前那一刻排队的那次保存仍会落盘;此外,别的插件若在包装前缓存了方法引用,也可能绕开包装。插件不改核心源码,也不采用「监听配置变化再写回」的方案。

安装与实机验证见 docs/INSTALL.md。

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-default-model-lock 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:hZsFN/dsh-default-model-lock` 即可。

dsh-default-model-lock 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-default-model-lock 安全吗?

低风险。

dsh-default-model-lock 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-default-model-lock 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

hZsFN 的其它插件

3 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。