Preface¶
When creating product visualizations, portfolio stills, or short loops, the bottleneck is rarely “whether you can model”, but rather the half-baked brief: only a single reference note, a portfolio copy, or an unrefined shot concept. Opening Blender, Three.js, Houdini, or Cinema 4D directly will easily lead to muddled focal lengths, subject proportions, main light directions, and material layers. While agents can write lengthy prompts, they rarely deliver a usable shot list to start working from.
The design principle of DeepSeek Harness (dsh) is “everything is a plugin”: models, tools, skills, sessions, sandboxes, and UI can all be replaced at the configuration layer without modifying the framework source code. The official repository is at deepseek-ai/deepseek-harness, and it is currently in developer preview. The community directory deepseek-harness-plugin.com is an independent aggregation site, not officially affiliated with DeepSeek / Fang Fang, and should not be treated as an official app store.
dsh-director-toolkit turns this into a DSH tool: it breaks down a rough idea into shooting, lighting, material, software-specific rendering suggestions, and a five-step production workflow starting from a low-poly graybox. This article is collated after cross-checking with the directory detail page, GitHub README, package.json, src/index.js, src/engine.js, and the official Harness repository.
What is this¶
dsh-director-toolkit is a development and runtime plugin for DeepSeek Harness, maintained by lhmd, with the npm package name @lhmd/dsh-director-toolkit. The current repository version is 0.1.0 under the MIT license. During verification, both the directory page and GitHub repository showed 7 stars, with JavaScript as the primary language.
It solves a specific problem: it provides 3D artists, technical artists, and creative programmers with a verifiable direction pack instead of directly generating meshes or finished clips. The one-sentence description on the directory page is “Paste a half-baked idea and turn it into real assets”; the repository README puts it more accurately: input a rough brief, reference notes, or portfolio copy, and output production directions applicable to Blender, Three.js, Houdini, or C4D. The short clips and storyboards on the showcase page are examples built in Blender following this direction pack, and the plugin itself does not output .blend or render files.
The repository follows the DSH Profile Bundle structure: cordis.patch.yml mounts the package, src/index.js exports apply(ctx) and registers tools, and src/skill.js registers runtime Skills via ctx.skills.register(...). The repository declares that there is no .codex-plugin directory or file-based Skill folder.
Core Features¶
The plugin is divided into three layers, summarized on the showcase page as “one focused tool, one optional creative polish, and a set of production-ready runtime skills”.
-
scene_directoris a local, deterministic basic tool. ThegeneratedBytag in the source code is marked asdsh-director-toolkit/local-heuristics: it extracts the main sentence and keywords from the brief, then fills them into a structured shot list. It does not call any models and does not require an API key. The tool parameters have hardcoded ranges insrc/index.js:brief: Required, 3D idea or reference description, default maximum 12000 characters;language:auto/zh/en/bilingual, default bilingual;software:blender/threejs/houdini/c4d, default Blender.
A single call will return shots and composition, lighting, materials, geometry, animation, software-specific rendering settings, a 5-step production workflow starting from a graybox, negative prompts, titles, bilingual display copy, tags, and risk warnings. The
schemaVersionis0.1. -
scene_director_v4is an optional server-side adapter. It first runs the local planning, then submits the brief and local results to the model for creative director polishing. The default model isdeepseek-v4-pro, and requests are sent tohttps://api.deepseek.com/chat/completions. The API key is only read from the server-side environment variableDEEPSEEK_API_KEY; the repository’sSECURITY.mdexplicitly requires never putting the key in web pages, READMEs, screenshots, chats, or logs. TheenableModeloption incordis.patch.ymlcan control whether this tool is registered, and it is enabled by default in the source code. -
The runtime Skill is named
director-toolkit. It tells the Agent: when the user is working on 3D scenes, rendering, animation research, product visualization, Blender / Three.js / Houdini / C4D concepts or portfolio posts,scene_directorshould be used first to generate a deterministic first draft;scene_director_v4should only be used when the user explicitly requests model polishing. The Skill also provides software-specific focus points: Blender focuses on shootable scene plans, Three.js emphasizes browser-friendly geometry and material costs, Houdini emphasizes procedural control and caching, and C4D emphasizes art direction and rendering handoff. When the brief is vague, it only makes the most defensible assumptions and includes them in the results instead of hiding them.
Software-specific rendering suggestions also have branches in the local engine. Blender defaults to using Eevee first to lock in composition, then uses Cycles to refine reflections and contact shadows; Three.js recommends ACES tone mapping and uses 1024px square images to verify composition first; Houdini first creates low-resolution volume and procedural detail previews, then outputs 2048px square images and caches steps; C4D first locks the camera and lighting, then increases sampling.
The repository also includes a verifiable set of examples instead of just screenshots. The GitHub Pages showcase is at lhmd.github.io/dsh-director-toolkit:
- Blender short film Cyclopean porcelain, 720×720, ~6 seconds, with three beats: cyan outline appears, cyclops eye turns to the camera, relic rises from the base. The source scene is in examples/cyclopean-porcelain.blend, and the set-up script is in scripts/blender-script-demo.py.
- Four-chapter storyboards: Chrome Track, Memory Garden, Rough Archives, Cloth Robot. The direction data is in docs/examples/scene-suite.json, rendered by scripts/render-case-videos.py.
Installation and Activation¶
The installation command given on the directory detail page is as follows, as per the original page text:
dsh plugin add github:lhmd/dsh-director-toolkit
The dsh CLI will parse the plugin from GitHub and install it to the current configuration. For reproducible installations, the directory page recommends pinning the commit hash:
dsh plugin add github:lhmd/dsh-director-toolkit#commit
Replace #commit with the actual commit hash from the repository. The directory page also states that the plugin runs with the permissions of the current dsh process, and may execute code during installation; you should inspect the source code repository and license before installing.
The repository README additionally provides a method for local checkout and installation into the Web profile, suitable for cloning first and verifying the source code:
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add /absolute/path/to/dsh-director-toolkit
dsh web
cordis.patch.yml mounts the plugin after dsh-base, with the id director-toolkit. The default configuration is maxInputChars: 12000, defaultLanguage: bilingual, defaultSoftware: blender. The peer dependencies declare @deepseek-ai/dsh-skill, @deepseek-ai/dsh-tools, and cordis.
To enable the optional V4 polishing, only set the API key in the Harness / server environment, never put it in the browser page:
export DEEPSEEK_API_KEY="replace-with-a-rotated-key"
The basic local demo does not require an API key. The development commands provided by the repository include npm test, npm run check:release, npm run check:package, and npm run demo.
Typical Usage¶
The official demo brief is in examples/demo-input.md, roughly: a translucent ceramic creature with one oversized eye, floating above a black base, quiet, premium, slightly uncanny, using only one cyan light to outline the shape, targeting Blender square hero shots and short loops.
You can run the local director directly in the repository root directory:
npm run demo
This is equivalent to calling the CLI script scripts/director-toolkit.mjs. The usage given in the help information is:
dsh-director-toolkit --brief "translucent ceramic creature, one oversized eye, floating above a black base" --language en --software blender
Read from a file and output JSON:
cat examples/demo-input.md | dsh-director-toolkit --stdin --software blender --json
The --json flag will print the full structured result; without this flag, the terminal will output creative direction, shots, composition, lighting, materials, geometry, animation, rendering settings, negative prompts, display copy, image prompts, tags, and the numbered 5-step production checklist in sections. If riskFlags is non-empty, a “Pre-release Check” section will also be added, for example, if numbers/pricing, absolute statements appear in the brief, or if specific material, color, or shape clues are missing.
After integrating into Harness, the corresponding tool names for the Agent are scene_director / scene_director_v4. The local tool will first write an unambiguous main description, then use basic primitives to create a graybox, lock in a ~50mm lens, main light direction, and subject proportion, add only one memorable detail, and finally output square images and a 6-second loop. These steps come from the engine template, designed to turn an “idea” into an executable workflow instead of replacing your modeling work in the DCC.
The repository also includes a modifiable local workspace in the playground/ directory:
python3 -m http.server 4175 --directory playground
Open this directory in a browser to compare against the showcase page structure. To view pre-rendered references, directly open the GitHub Pages showcase.
Applicable Scenarios and Notes¶
The cases where this plugin is suitable to be added to your profile roughly include:
- Your portfolio or product visualization only has one caption, and you need to lock in shots, lighting, and materials before opening the DCC;
- A technical artist needs to distribute the same brief across Blender stills, Three.js web research, and Houdini procedural workflows;
- You need bilingual display copy, tags, and negative prompts for portfolio posts, but do not want the model to fabricate product parameters out of thin air.
There are several boundaries to note when using it.
First, it delivers a shot list, not asset files. Graybox modeling, material editing, and rendering still need to be completed in Blender, Three.js, Houdini, or C4D. The showcase short films are examples built by the author following the direction pack, and should not be interpreted as “running the plugin will spit out the same finished clips”.
Second, scene_director uses local heuristic rules, and similar briefs will fall into similar templates such as a 45° hero angle, soft main light, square image output, etc. Its value lies in stable structure, verifiability, and no network dependency; if the brief itself is sparse, the output will also be template-heavy. For wording that better matches the brief, use scene_director_v4, and still base it on the local plan as grounding.
Third, the Skill requires that the direction must align with the user’s brief, and do not fabricate product claims, brand facts, copyrighted characters, dimensions, or rendering results. If numbers or absolute statements are already included in the brief, the local engine will add a risk flag, which requires manual review before release.
Fourth, the plugin runs with the permissions of the current dsh process, and may execute code during installation. Before installing, you should read the GitHub repository source code and the MIT license; the API key should only be stored in server-side environment variables, and rotated if leaked. DeepSeek Harness is still in rapid iteration, with potential breaking changes, so refer to the current dsh documentation before integration.
Summary¶
dsh-director-toolkit turns “half-baked 3D ideas” into a actionable direction pack: the local scene_director provides a reproducible shot list, the optional scene_director_v4 uses DeepSeek V4 Pro for polishing, and the director-toolkit Skill is responsible for judging when to direct a Blender, Three.js, Houdini, or C4D brief during Agent conversations.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-director-toolkit/
GitHub: https://github.com/lhmd/dsh-director-toolkit
Showcase page: https://lhmd.github.io/dsh-director-toolkit/