dsh-shader-workbench:DSH 里的节点式 GLSL 工作台

前言

在 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」。

插件自述为零第三方运行时依赖(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 安装。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜