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

皮肤导入管理 Juryorca/dsh-custom-theme-import

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

导入并预览第三方皮肤包,一键切换使用

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

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

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

状态速览

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

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

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 108 处,展示前 42 条)
  • 读取本地文件
    lib/index.js:35
    const parsed = JSON.parse(readFileSync(LIBRARY_FILE, 'utf8'))
  • 写入本地文件
    lib/index.js:51
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:52
    writeFileSync(LIBRARY_FILE, JSON.stringify(library, null, 2) + '\n')
  • 删除本地文件递归
    lib/index.js:62
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:63
    mkdirSync(target, { recursive: true })
  • 读取本地文件
    lib/index.js:64
    const stat = statSync(src)
  • 删除本地文件递归
    lib/index.js:73
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:74
    mkdirSync(target, { recursive: true })
  • 删除本地文件递归
    lib/index.js:98
    rmSync(target, { recursive: true, force: true })
  • 执行外部命令固定命令
    lib/index.js:105
    const child = spawn('git', ['clone', '--depth', '1', trimmed, target], { stdio: ['ignore', 'ignore', 'pipe'] })
  • 读取本地文件
    lib/index.js:130
    const stat = statSync(target)
  • 读取本地文件
    lib/index.js:134
    if (existsSync(skinJson) && existsSync(bundle)) return true
  • 读取本地文件
    lib/index.js:138
    if (existsSync(pkgPath)) {
  • 读取本地文件
    lib/index.js:139
    const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'))
  • 删除本地文件递归
    lib/index.js:220
    rmSync(flatTarget, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:221
    mkdirSync(flatTarget, { recursive: true })
  • 删除本地文件递归
    lib/index.js:226
    rmSync(target, { recursive: true, force: true })
  • 删除本地文件递归
    lib/index.js:239
    rmSync(target, { recursive: true, force: true })
  • 读取本地文件
    build.mjs:13
    const clientSource = readFileSync(join(root, 'src', 'client.js'), 'utf8')
  • 读取本地文件
    build.mjs:26
    const indexSource = readFileSync(join(root, 'src', 'index.js'), 'utf8')
  • 读取本地文件
    build.mjs:30
    const current = readFileSync(path, 'utf8')
  • 写入本地文件
    build.mjs:43
    mkdirSync(join(root, 'lib'), { recursive: true })
  • 写入本地文件
    build.mjs:44
    writeFileSync(join(root, 'lib', 'client.js'), clientOutput)
  • 写入本地文件
    build.mjs:45
    writeFileSync(join(root, 'lib', 'index.js'), indexOutput)
  • 读取本地文件
    src/index.js:35
    const parsed = JSON.parse(readFileSync(LIBRARY_FILE, 'utf8'))
  • 写入本地文件
    src/index.js:51
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    src/index.js:52
    writeFileSync(LIBRARY_FILE, JSON.stringify(library, null, 2) + '\n')
  • 删除本地文件递归
    src/index.js:62
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    src/index.js:63
    mkdirSync(target, { recursive: true })
  • 读取本地文件
    src/index.js:64
    const stat = statSync(src)
  • 删除本地文件递归
    src/index.js:73
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    src/index.js:74
    mkdirSync(target, { recursive: true })
  • 删除本地文件递归
    src/index.js:98
    rmSync(target, { recursive: true, force: true })
  • 执行外部命令固定命令
    src/index.js:105
    const child = spawn('git', ['clone', '--depth', '1', trimmed, target], { stdio: ['ignore', 'ignore', 'pipe'] })
  • 读取本地文件
    src/index.js:130
    const stat = statSync(target)
  • 读取本地文件
    src/index.js:134
    if (existsSync(skinJson) && existsSync(bundle)) return true
  • 读取本地文件
    src/index.js:138
    if (existsSync(pkgPath)) {
  • 读取本地文件
    src/index.js:139
    const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'))
  • 删除本地文件递归
    src/index.js:220
    rmSync(flatTarget, { recursive: true, force: true })
  • 写入本地文件
    src/index.js:221
    mkdirSync(flatTarget, { recursive: true })
  • 删除本地文件递归
    src/index.js:226
    rmSync(target, { recursive: true, force: true })
  • 删除本地文件递归
    src/index.js:239
    rmSync(target, { recursive: true, force: true })
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 导入第三方皮肤包
  • 预览皮肤效果
  • 一键切换使用

README

由 DeepSeek 最新模型翻译生成
dsh-custom-theme-import 一个用于管理主流 DSH 皮肤包格式的插件。支持导入、预览、使用和管理皮肤,不替代 DSH 原生插件系统。 功能 - 从本地路径或 GitHub 导入主流 DSH 皮肤包格式。 - 也兼容没有 skin.json 的 DSH 主题插件(dsh.client.platform: "web" + lib/client.js)。 - 扫描 web profile 的 node_modules 中已安装皮肤。 - 预览、使用、刷新、管理皮肤。 - 皮肤自带 skin.json 预览图时显示缩略图。 - 宿主持久化,可选择保存托管副本。 - 界面语言自动跟随 DSH(中文 / English)。
展开完整文档(README 剩余 1 节)
dsh-custom-theme-import

一个用于管理主流 DSH 皮肤包格式的插件。支持导入、预览、使用和管理皮肤,不替代 DSH 原生插件系统。

功能

- 从本地路径或 GitHub 导入主流 DSH 皮肤包格式。
- 也兼容没有 skin.json 的 DSH 主题插件(dsh.client.platform: "web" + lib/client.js)。
- 扫描 web profile 的 node_modules 中已安装皮肤。
- 预览、使用、刷新、管理皮肤。
- 皮肤自带 skin.json 预览图时显示缩略图。
- 宿主持久化,可选择保存托管副本。
- 界面语言自动跟随 DSH(中文 / English)。

构建

node build.mjs
node build.mjs --check

安装

通过 GitHub 安装:

dsh plugin --profile web add -w github:Juryorca/dsh-custom-theme-import

通过本地目录安装:

dsh plugin --profile web add -w link:/本地路径/dsh-custom-theme-import

重启:

dsh --profile web

打开:

设置 → 我的主题

支持的皮肤格式

主流 DSH 皮肤包格式:

skin-package/
├── package.json
├── cordis.patch.yml
├── skin.json
├── lib/index.js
└── lib/client.js

要求:

- package.json 必须声明 dsh.bundle。
- 必须有 skin.json。
- lib/client.js 必须是导出 apply(ctx) 的 DSH ModuleLoader bundle。

集合仓库

GitHub 仓库或本地路径可以包含多个主流皮肤,以下常见布局会自动扫描:

repo-root/
├── themes/<skin-id>/...
├── skins/<skin-id>/...
└── packages/*/skins/<skin-id>/...

每个 <skin-id>/ 都是完整皮肤包(package.json、cordis.patch.yml、skin.json、lib/index.js、lib/client.js)。

存储

- 主题库文件:~/.dsh/dsh-custom-theme-import/library.json
- 本地路径导入默认引用原路径;也可以选择复制到: ~/.dsh/dsh-custom-theme-import/themes/<id>/
- GitHub/远程导入会克隆/下载到: ~/.dsh/dsh-custom-theme-import/themes/<id>/
预览分享卡片长什么样 ↓Juryorca/dsh-custom-theme-import
分享 · DeepSeek Harness Hub
Juryorca/dsh-custom-theme-import

导入并预览第三方皮肤包,一键切换使用

这是你的仓库?认领条目

回到顶部