DeepSeek Harness 插件

dsh-workshop-zlyraz

轻量插件开关:DeepSeek Harness 插件管理面板——官方/第三方身份判定、patch 层发声式开关、风险标签(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Zlyraz/dsh-workshop
最近更新
2026年8月17日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Zlyraz/dsh-workshop
插件名:dsh-workshop-zlyraz
作者:Zlyraz

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-workshop(轻量插件开关)

DeepSeek Harness 的插件管理面板:给每个已装载的插件条目贴身份标签(官方内置 / 第三方 npm / 第三方 GitHub / 本地开发),提供"发声式"开关(写用户 patch 层,不卸载),并显示手工维护的风险标签。

功能(V1)

  • 身份判定ctx.loader.entries() 枚举条目 → pnpm-lock.yaml 查来源。lockfile 里查不到 = 官方内置(随 dsh 发行);npm 语义版本 = npm;codeload.github.com = GitHub tarball(锁定 commit);file: = 本地目录。GitHub 来源但冒用 @deepseek-ai/ scope 的(如 dsh-plugin-hub)会打上"冒用官方scope"警告标。
  • 开关:POST /api/workshop/v1/toggle → 往 $DSH_HOME/profiles/<profile>/cordis.patch.yml 追加/移除 - id: X / disabled: true 块。HMR 约 1-3 秒自动重组,无需重启。基础设施行(loader/webserver/ui/storage 等 44 个模式)与开关自身锁定不可关。
  • 风险标签:手工清单 risk-list.json(改了即时生效,无需重启);未收录的第三方显示"未评级",官方内置显示"官方维护"。
  • 安全:路由仅限环回 + same-origin + Origin 校验;写入经串行队列 + 临时文件原子替换。

安装

dsh plugin --profile web add github:Zlyraz/dsh-workshop

重启 dsh web → 设置 → 插件 → "轻量插件开关" tab。

结构

package.json        # dsh.bundle + dsh.client 双清单
cordis.patch.yml    # 把自己 insert 进 profile
risk-list.json      # 手工风险清单
lib/index.js        # host:/api/workshop 路由
lib/client.js       # client:settings.plugins.tab 插槽面板

设计取舍(相对 dsh-plugin-hub / dsh-builtin-toggles)

  • 注册 API 与两者一致(官方 settings.plugins.tab 插槽 + window.__ModuleLoader__ bundle 契约)。
  • YAML 写入取 hub 的简单追加/正则移除(V1 够用)+ 临时文件原子替换;未采用 builtin-toggles 的 570 行保守写器(V2 再议)。
  • 身份判定是其独有能力:不轻信 scope 前缀,以 lockfile 来源为准。

二次开发必读

本插件的完整踩坑记录(含一次三层叠加的渲染崩溃排查)在 [../插件开发踩坑手册.md](../插件开发踩坑手册.md)。要点:client bundle 的模块 id 必须等于包名;组件渲染抛错会被插槽错误边界「退位」摘除——面板安静消失时去浏览器 console 找 slot entry crashed;IDENTITY_LABEL/RISK_LABEL 用属性访问 (L) => L.key,别写成函数调用。