前言¶
在 DSH(DeepSeek Harness)里做 shader 相关协作,常见做法是手写 GLSL、在浏览器里单独开 Shadertoy,或让 agent 改文件后再手动编译预览。节点编辑器、实时画面、资源路径和导出格式往往分散在不同工具里,agent 也难以直接操作同一套项目数据。
下面介绍 Moolight 维护的工作流插件 dsh-shader-workbench:装在 DSH 侧栏里,提供节点搭 GLSL、Shadertoy 兼容预览、热重载和本地材质管理;面板与 agent 共用 11 个工具和同一份工作区。仓库采用 MIT 许可,当前 package.json 版本为 0.1.0,要求 DSH >=0.2.0-rc.2、Node >=22.19.0。
这是什么¶
DSH Shader 工作台是 DeepSeek Harness 插件,分类为工作流。定位是「工作台」而非独立渲染引擎:预览引擎为 WebGL2,其余能力围绕「连节点、看画面、管资源、导出多平台 shader」。
- 维护者:Moolight
- 社区目录:https://www.skillhub.cn/plugins/Moolight/dsh-shader-workbench
- 源码:https://github.com/Moolight/dsh-shader-workbench
插件自述为零第三方运行时依赖(dependencies 为空),手写 ESM JavaScript,安装后即一个目录;README 标注 169 个用例通过、内置 57 个通用节点、8 个自带示例。
核心功能¶
节点图与编译¶
节点图即程序逻辑:效果专用逻辑拆成图上可编辑的普通节点,不做黑盒。组的「重复次数」大于 1 时等价于循环,循环体只写一遍(文档举例:IFS 隧道 99 步、贝塞尔 24 段采样)。
同一份图可导出:
- GLSL
- HLSL
- MSL
- SPIR-V(
.spv二进制与人读.spvasm) - JSON bundle
跨平台转译与 SPIR-V 二进制由插件自实现,不依赖外部 shader 工具链。
Shadertoy 兼容预览与导入¶
支持 Shadertoy 风格的实时预览与热重载。可将含 mainImage() 的源码贴入,转为可复用用户节点;材质可打包为 ZIP 带走。
本地材质与资源¶
图片、音频、歌词统一进入材质清单(resources[],类型注册表可扩展)。歌词以 HTML 层叠在画面上,LRC 时间轴高亮,不占用 shader 通道。
编辑体验与扩展¶
- 快照式撤销重做(数量与字节双预算、同类操作合并)
- 画布框选分组与注释
- 用户节点:向
<工作区>/library/nodes/放入 JSON 即可扩展,免重启 - 节点分类与项目名支持多级路径
Agent 与面板一致¶
侧栏入口「Shader 工作台」打开面板;同时为 agent 暴露 11 个工具,用于建项目、搭节点图、编译、导出、打快照等。存储位置可在面板修改,面板与 agent 始终读写同一份数据。
安装与启用¶
安装步骤以仓库 README 为准(本地 file: 依赖,非 dsh plugin add 一类命令):
cd ~/.dsh/profiles/desktop
# package.json:dependencies 加 "dsh-shader-workbench": "file:<本仓库路径>"
# dsh.profile.bundles 加 "dsh-shader-workbench"
node <pnpm.cjs 路径> install
完成后重启 DSH,侧栏会出现「Shader 工作台」。存储位置、配置项与加载排查见仓库文档 安装与配置。
典型用法¶
载入自带示例¶
面板资源树中点击 载入示例。八个示例均不新增自定义节点类型,仅用现有组件搭建。README 表格中明确列出的四个包括:
| 示例 | 要点 |
|---|---|
| IFS 隧道(Phantom Star 移植) | 99 步累积为一个重复组 |
| DFT 本轮画心形 | 旋转向量分节点,BufferA 反馈 |
| 9 抽样高斯模糊 | 双 Pass,半径可调 |
| 三次贝塞尔 | 24 段采样为一个重复组,控制点可拖 |
另有傅里叶级数、谐波频谱、景深、FFT 音乐可视化,做法见 示例说明。
文档入口¶
| 文档 | 内容 |
|---|---|
| 使用手册 | 界面、快捷键、57 个节点、11 个工具、工作区结构 |
| 扩展指南 | 用户节点 / 组与重复组 / 内置节点 |
| 接口契约 | HTTP 动作、节点定义与代码生成(改代码前建议先读) |
| 架构说明 | 分层、数据流与设计取舍 |
适用场景与注意¶
适合谁
- 已在 DSH 中开发,需要节点化搭 GLSL、即时预览并偶尔导出 HLSL / MSL / SPIR-V 的开发者
- 希望 agent 与人在同一工作区里改 shader 项目、打快照的团队
- 从 Shadertoy 迁移片段、或需要图片 / 音频 / 歌词跟材质一起管理的场景
使用前请注意
- 插件随当前 DSH 进程权限运行;安装前请自行审阅源码与 MIT 许可证,确认存储路径与安全边界(见官方安装与配置文档)。
- SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与版本以 GitHub 与 package.json 为准(目录页星标为 0 时以仓库为准)。
- 详细配置项仅以仓库文档记载为准,本文不列举未在已公开 README 中展开的配置字段。
结尾¶
dsh-shader-workbench 把节点编辑、Shadertoy 式预览、多目标导出和资源清单收进 DSH 侧栏,并与 agent 工具对齐,减少「人改图、agent 改文件」两套流程的割裂。若要试用或贡献,可从社区目录页进入说明,或直接打开 GitHub 仓库按 README 安装。