前言¶
做产品可视化、作品集静帧或短循环时,卡住的往往不是「会不会建模」,而是 brief 还半成形:只有一句参考备注、一段作品集文案,或者一个还没想清楚的镜头。直接打开 Blender、Three.js、Houdini 或 Cinema 4D,镜头焦距、主体占比、主灯方向和材质层次很容易一起糊掉。智能体倒是能写一段很长的提示词,但很少交得出一份能对着开工的镜头单。
DeepSeek Harness(dsh)的设计原则是「一切皆插件」:模型、工具、技能、会话、沙箱和 UI 都可以在配置层替换,不必改框架源码。官方仓库在 deepseek-ai/deepseek-harness,目前仍是 developer preview。社区目录 deepseek-harness-plugin.com 是独立收录站,和 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。
dsh-director-toolkit 就把这件事做成 DSH 工具:把一句粗糙想法拆成镜头、灯光、材质、软件相关的渲染建议,以及从灰模开始的五步制作顺序。本文按目录详情页、GitHub README / package.json / src/index.js / src/engine.js,以及官方 Harness 仓库交叉核对后整理。
这是什么¶
dsh-director-toolkit 是面向 DeepSeek Harness 的开发与运行时插件,由 lhmd 维护,npm 包名为 @lhmd/dsh-director-toolkit,当前仓库版本为 0.1.0,许可证 MIT。目录页与 GitHub 仓库在核实时均显示 7 星,主要语言为 JavaScript。
它解决的问题很具体:给 3D 艺术家、技术美术和创意编程一个可检查的方向包(direction pack),而不是直接生成网格或成片。目录页的一句话是「粘贴一个半成形的想法,让它变成真实资产」;仓库 README 写得更准确——输入粗糙 brief、参考备注或作品集文案,输出适用于 Blender、Three.js、Houdini 或 C4D 的制作方向。展示页上的短片和分镜,是按这份方向在 Blender 里搭出来的示例,插件本身不输出 .blend 或渲染文件。
仓库遵循 DSH Profile Bundle 结构:cordis.patch.yml 挂载包,src/index.js 导出 apply(ctx) 并注册工具,src/skill.js 通过 ctx.skills.register(...) 注册运行时 Skill。仓库声明没有 .codex-plugin 目录,也没有文件型 Skill 文件夹。
核心功能¶
插件分三层,展示页概括为「一个聚焦工具、一次可选的创意润色、一套给生产用的运行时技能」。
1、scene_director 是本地、确定性的基础工具。源码里 generatedBy 标记为 dsh-director-toolkit/local-heuristics:从 brief 抽出主体句和关键词,再填入结构化镜头单。不调用模型,也不需要 API key。工具参数在 src/index.js 里写死了范围:
brief:必填,3D 想法或参考描述,默认上限 12000 字符;language:auto/zh/en/bilingual,默认双语;software:blender/threejs/houdini/c4d,默认 Blender。
一次调用会返回镜头与构图、灯光、材质、几何、动效、针对软件的渲染设置、从灰模开始的 5 步制作顺序、negative prompt、标题、双语展示文案、标签和风险提示。schemaVersion 为 0.1。
2、scene_director_v4 是可选的服务端适配器。它先跑一遍本地计划,再把 brief 和本地结果交给模型做创意导演润色,默认模型为 deepseek-v4-pro,请求发往 https://api.deepseek.com/chat/completions。密钥只从服务端环境变量 DEEPSEEK_API_KEY 读取;仓库 SECURITY.md 明确要求不要把密钥写进网页、README、截图、聊天或日志。cordis.patch.yml 里可用 enableModel 控制是否注册这个工具,源码默认开启。
3、运行时 Skill 名称是 director-toolkit。它告诉 Agent:用户在做 3D 场景、渲染、动效研究、产品可视化、Blender / Three.js / Houdini / C4D 概念或作品集帖时,应先用 scene_director 做确定性初稿;用户明确要求模型润色时再用 scene_director_v4。Skill 还按软件给出侧重点:Blender 交可拍摄的场景计划,Three.js 强调浏览器可承受的几何与材质成本,Houdini 强调程序化控制和缓存,C4D 强调美术指导和渲染交接。brief 含糊时,只做最小可辩护的假设,并写进结果,而不是藏起来。
软件相关的渲染建议在本地引擎里也有分支。Blender 默认先用 Eevee 锁定构图,再用 Cycles 补反射和接触阴影;Three.js 建议 ACES 色调映射,先用 1024px 方图验证构图;Houdini 先做低分辨率体积与程序细节预览,再输出 2048px 方图并缓存步骤;C4D 则先锁定相机与灯光,再提高采样。
仓库还带一套可核对的示例,而不是只给截图。GitHub Pages 展示页在 lhmd.github.io/dsh-director-toolkit:
- Blender 短片「独眼玄瓷」(Cyclopean porcelain),720×720、约 6 秒,三拍分别是青色轮廓出现、独眼转向镜头、圣物从底座升起。源场景在
examples/cyclopean-porcelain.blend,搭景脚本在scripts/blender-script-demo.py。 - 四章分镜:铬色轨道、记忆花园、粗粝档案馆、布料机器人,方向数据在
docs/examples/scene-suite.json,由scripts/render-case-videos.py渲染。
安装与启用¶
目录详情页给出的安装命令如下,以页面原文为准:
dsh plugin add github:lhmd/dsh-director-toolkit
dsh CLI 会从 GitHub 解析插件并安装到当前配置。如需可复现安装,目录页建议固定 commit 哈希:
dsh plugin add github:lhmd/dsh-director-toolkit#commit
把 #commit 换成仓库里实际的提交哈希。目录页同时写明:插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前应检查源代码仓库和许可证。
仓库 README 另外给出了本地检出后写入 Web profile 的写法,适合先 clone 再核对源码:
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add /absolute/path/to/dsh-director-toolkit
dsh web
cordis.patch.yml 把插件挂在 dsh-base 之后,id 为 director-toolkit,默认配置是 maxInputChars: 12000、defaultLanguage: bilingual、defaultSoftware: blender。peer 依赖声明了 @deepseek-ai/dsh-skill、@deepseek-ai/dsh-tools 和 cordis。
如果要启用可选的 V4 润色,只在 Harness / 服务端环境设置密钥,不要放进浏览器页面:
export DEEPSEEK_API_KEY="replace-with-a-rotated-key"
基础本地 demo 不需要 API key。仓库提供的开发命令包括 npm test、npm run check:release、npm run check:package 和 npm run demo。
典型用法¶
官方 demo brief 在 examples/demo-input.md,大意是:半透明陶瓷生物、一只过大的眼睛、浮在黑色底座上方,安静、偏贵、略怪,只用一盏青色灯勾轮廓,目标是 Blender 方图英雄镜头加短循环。
在仓库根目录可以直接跑本地导演:
npm run demo
等价于调用 CLI 脚本 scripts/director-toolkit.mjs。帮助信息给出的用法是:
dsh-director-toolkit --brief "半透明陶瓷生物,一只过大的眼睛,浮在黑色底座上方" --language zh --software blender
从文件读入、并输出 JSON:
cat examples/demo-input.md | dsh-director-toolkit --stdin --software blender --json
--json 会打印完整结构化结果;不加该参数时,终端按区块输出创意方向、镜头、构图、灯光、材质、几何、动效、渲染设置、negative prompt、展示文案、image prompt、标签,以及编号后的 5 步制作清单。若 riskFlags 非空,还会多出「发布前检查」一节,例如 brief 里出现数字/价格、绝对化表述,或缺少具体材质、颜色、形状线索。
装进 Harness 之后,Agent 侧对应的是工具名 scene_director / scene_director_v4。本地工具会先写一句不可误解的主体描述,再用基础体块做灰模,锁定约 50mm 镜头、主灯方向和主体占比,只加一个记忆点细节,最后输出方图和 6 秒循环。这些步骤来自引擎模板,用来把「想法」收成可执行顺序,而不是代替你在 DCC 里建模。
仓库还有一个可改的本地工作台,目录是 playground/:
python3 -m http.server 4175 --directory playground
浏览器打开该目录即可对照展示页结构。要看已经渲好的参考,直接打开 GitHub Pages 展示页即可。
适用场景与注意事项¶
适合把这个插件加进 profile 的情况大致有这些:
- 作品集或产品可视化只有一句 caption,需要先定镜头、灯光和材质,再打开 DCC;
- 技术美术要把同一套 brief 分给 Blender 静帧、Three.js 网页研究和 Houdini 程序化流程;
- 需要中英双语展示文案、标签和 negative prompt,方便发作品集,但不想让模型凭空编产品参数。
使用时有几条边界需要看清楚。
第一,它交的是镜头单,不是资产文件。灰模、材质、渲染仍要在 Blender、Three.js、Houdini 或 C4D 里完成。展示页短片是作者按方向包搭出来的示例,不能理解成「运行插件就会吐出同样的成片」。
第二,scene_director 是本地启发式规则,同一类 brief 会落到相近的 45° 英雄视角、柔光主灯、方图输出等模板上。它的价值是结构稳定、可检查、不依赖网络;若 brief 本身很空,输出也会偏模板。需要更贴 brief 的措辞时,再用 scene_director_v4,并且仍然以本地计划为 grounding。
第三,Skill 要求方向必须落在用户 brief 上,不要编造产品宣称、品牌事实、受版权保护的角色、尺寸或渲染结果。brief 里如果已经写了数字或绝对化措辞,本地引擎会打风险标记,发布前需要人工核对。
第四,插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前应阅读 GitHub 仓库 源码和 MIT 许可证;密钥只放服务端环境变量,泄露后应轮换。DeepSeek Harness 仍在快速迭代,存在兼容性破坏变更,接入前以当前 dsh 文档为准。
小结¶
dsh-director-toolkit 把「半成形的 3D 想法」收成一份能对着开工的方向包:本地 scene_director 给出可复现的镜头单,可选的 scene_director_v4 用 DeepSeek V4 Pro 做润色,director-toolkit Skill 负责在 Agent 对话里判断何时该导演一场 Blender、Three.js、Houdini 或 C4D 的 brief。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-director-toolkit/
GitHub:https://github.com/lhmd/dsh-director-toolkit
展示页:https://lhmd.github.io/dsh-director-toolkit/