锁定可用版本并在每次启动校验回滚,保住华为云渠道
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/basaltfold/dsh-ofm-codearts-pin.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 45 处,展示前 17 条)
- 读取本地文件lib/pinner.js:90
return createHash('sha256').update(readFileSync(path)).digest('hex') - 读取本地文件lib/pinner.js:145
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) - 读取本地文件lib/pinner.js:160
if (!existsSync(path)) { - 读取本地文件lib/pinner.js:166
bytes = readFileSync(path) - 读取本地文件lib/pinner.js:202
if (!existsSync(archivePath)) { - 读取本地文件lib/pinner.js:205
const archive = readFileSync(archivePath) - 删除本地文件递归lib/pinner.js:224
rmSync(staging, { recursive: true, force: true }) - 写入本地文件lib/pinner.js:228
mkdirSync(dirname(dest), { recursive: true }) - 写入本地文件lib/pinner.js:229
writeFileSync(dest, entry.data) - 删除本地文件递归lib/pinner.js:240
rmSync(cacheDir, { recursive: true, force: true }) - 写入本地文件lib/pinner.js:241
mkdirSync(dirname(cacheDir), { recursive: true }) - 写入本地文件lib/pinner.js:242
renameSync(staging, cacheDir) - 写入本地文件lib/pinner.js:243
writeFileSync( - 删除本地文件递归lib/pinner.js:248
rmSync(staging, { recursive: true, force: true }) - 写入本地文件lib/pinner.js:344
renameSync(from, to) - 执行外部命令来自配置/变量lib/pinner.js:359
const result = spawnSync(process.execPath, ['--check', file], { - 删除本地文件lib/pinner.js:661
rmSync(full, { force: true })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
展开完整介绍(131 字)↓
把 dsh-our-free-model 钉在 2.5.8(最后一个带可用华为云 CodeArts 渠道的版本)并在每次启动自愈回滚:逐文件 SHA-256 校验、payload 验签失败即弃用、失败整体还原、升级后自动重打,同时关掉会把华为云删掉的自动更新检查
README
由 DeepSeek 最新模型翻译生成dsh-ofm-codearts-pin
把 dsh-our-free-model(OFM)钉在 2.5.8 —— 最后一个还带华为云 CodeArts 渠道、并且已经修好该渠道的版本 —— 然后在每次启动时自愈回滚。
English: README.md
为什么需要它
OFM 2.5.9 把华为云渠道整个删了:渠道包里不再注册 ["CODEARTS", "codearts"],设置页也没有卡片,而你的账号 codearts-…(在 ~/.dsh/channel-pack/state.json 里)和凭据都还在,白白闲置。2.5.9 里没有任何配置能把这条渠道变回来。
版本之间差别很关键:
| 版本 | 华为云渠道 | 能用吗 |
| 2.5.6 | 在 | 不能 —— 请求签名会被任何改写全局 fetch 的插件(billion-context、cost-meter)破坏,上游直接拒 |
| 2.5.7 | 在 | 能 —— PR #481 把 CodeArts 改成独立签名传输,并加了 4004 重试 |
| 2.5.8 | 在 | 能,而且是最后一个还带这条渠道的版本 |
| 2.5.9 | 已删 | — |
所以 2.5.8 才是正确落点:最新,且可用。
展开完整文档(README 剩余 1 节)
dsh-ofm-codearts-pin 把 dsh-our-free-model(OFM)钉在 2.5.8 —— 最后一个还带华为云 CodeArts 渠道、并且已经修好该渠道的版本 —— 然后在每次启动时自愈回滚。 English: README.md 为什么需要它 OFM 2.5.9 把华为云渠道整个删了:渠道包里不再注册 ["CODEARTS", "codearts"],设置页也没有卡片,而你的账号 codearts-…(在 ~/.dsh/channel-pack/state.json 里)和凭据都还在,白白闲置。2.5.9 里没有任何配置能把这条渠道变回来。 版本之间差别很关键: | 版本 | 华为云渠道 | 能用吗 | | 2.5.6 | 在 | 不能 —— 请求签名会被任何改写全局 fetch 的插件(billion-context、cost-meter)破坏,上游直接拒 | | 2.5.7 | 在 | 能 —— PR #481 把 CodeArts 改成独立签名传输,并加了 4004 重试 | | 2.5.8 | 在 | 能,而且是最后一个还带这条渠道的版本 | | 2.5.9 | 已删 | — | 所以 2.5.8 才是正确落点:最新,且可用。 它做什么 | 动作 | 说明 | | 逐文件校验 | 每启动一次,把安装目录 80 个文件和 payload 的 SHA-256 逐个比对 | | 精确回滚 | 只重写确实不一致的文件;每个文件先备份、再原子替换、再读回校验哈希 | | 语法门禁 | 写完后对 .js 跑 node --check,语法不过立刻从备份还原 | | 失败回滚 | 一次执行里如果中途失败,已经写过的文件全部还原,绝不留下半套 | | payload 校验 | 解包后先逐文件验 hash,验不过就整轮放弃、一个字节都不写 | | 关掉自动更新 | 把 ~/.dsh/our-free-model/settings.json 的 updateCheckHours 设为 0(OFM 的官方关闭方式,只动这一个键) | | 报告口径诚实 | index.js / client.js / package.json 在插件运行前就已经被读过,所以这几项必须再重启一次才生效;报告里直接写 restart required | payload 不是"重新打包",而是该版本自己的 Ed25519 签名 manifest 所钉住的那套字节。 它以 vendor/payload/2.5.8.tar.gz 形式随仓库分发(和上游发 release 的形态一致),首次使用时解包到 ~/.dsh/ofm-codearts-pin/payload-2.5.8/,并逐文件核对 SHA-256 之后才拿来用。 为什么是压缩包:上游 pack.js 里嵌着 Google OAuth 的 client secret,明文散装会让仓库无法推送(GitHub push protection 会拦);而这个字节又不能改,改了就和新版 hash 对不上、钉版失效。压缩包是唯一同时满足"原样"和"能推送"的形态。 安装 dsh plugin --profile desktop install <这个目录> 或者从 tarball / git 安装(package.json 的 dsh.install 三段都填好了)。 ⚠️ 顺序很重要:dsh.profile.bundles 里本插件必须排在 dsh-our-free-model 前面。这样启动时 OFM 还没 import vendor/channel-pack/pack.js,钉子落地后加载的就是恢复好的那一份,本次启动华为云就回来了。cordis.patch.yml 里的插入行是 id 寻址的,只加自己,不会挪动 OFM。 命令 /ofm-pin # 状态:装在哪个目录、几个文件对上、华为云两半在不在、profile 指向哪个 tarball /ofm-pin apply # 立刻按 payload 回滚 /ofm-pin restore # 撤销:把备份放回去(等于解除钉子) /ofm-pin quiet # 只关自动更新检查 /ofm-pin why # 为什么钉在 2.5.8 只读状态也走 HTTP:GET http://127.0.0.1:<port>/dsh-ofm-codearts-pin(仅回环)。 配置 config: autoPin: true # false = 只报告漂移,绝不写盘 target: '' # 显式指定 dsh-our-free-model 目录 quietUpdates: true # 关掉自动更新检查 verbose: false # 每个步骤都写日志(包括无需变更的启动) archivePath: '' # 覆盖内置 payload 压缩包(默认用包内 vendor/payload/2.5.8.tar.gz) manifestPath: '' # 覆盖 manifest cacheDir: '' # 覆盖解包缓存目录 还剩一件它管不了的事 profile 里的 tarball specifier。如果 package.json 的 dependencies["dsh-our-free-model"] 还指着旧包,下次 pnpm install 会在钉子下面 重新装回那个构建。本插件会在状态里显示当前 specifier 并提示,但不会替你改 profile 依赖(那属于包管理器领地)。把它指向 2.5.8 的 tarball 即可。 测试 两个套件,都在临时目录里的假安装上跑,不联网、不碰真实安装: npm test # 11 个用例 npm run test:boot # 1 个模拟:真实 apply() 走一遍假 cordis 上下文 覆盖:压缩包解出的 80 个文件逐个对上 manifest、坏包拒用、干净安装不动、 2.5.9 形状能被还原(渠道两半都回来)、单文件漂移只写那一个、坏 payload 拒写、中途失败整体回滚、备份与撤销、残留临时文件清理、quietUpdates 只动一个键、外来 .bak 不被误认;test:boot 另外证明 apply() 不抛错、命令与只读路由各注册一次、重复 apply 幂等。 许可 MIT。vendor/payload/2.5.8.tar.gz 是 dsh-our-free-model 2.5.8 的原样副本,按该项目 MIT 许可再分发(见 LICENSE 末节)。本插件不改上游行为、品牌或端点。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
basaltfold/dsh-ofm-codearts-pin
锁定可用版本并在每次启动校验回滚,保住华为云渠道
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1