前言¶
DeepSeek Harness(DSH)的理念是「一切皆插件」。在 AI 编程场景里,如何让模型不只是调用几个基础算子,而是真正用上 Blender 的完整能力面,是一个可落地的问题。dsh-blender-router 插件提供了一套意图路由、环境发现与使用覆盖统计的组合方案,把「能用」变成「被找到」。
它是什么¶
dsh-blender-router 是一个 DSH 工作流插件,维护者为 zhupipi07。它解决的核心问题是:装了配套的 dsh-blender-plugin 后,AI 仍然倾向于只调用最基础的 primitive_cube_add,而不是从 186 个能力族、2660+ 个 bpy.ops 中选择合适的工具。根本原因不是权限不足,而是「可发现性」。
核心能力¶
1. 意图路由:blender_route(intent)¶
把中文意图翻译成英文算子词,并在本机真实环境中匹配返回可执行的 bpy.ops.xxx() 行。它替代了每次读 11 KB 的目录文件,同时列出你本机真实存在的算子。
2. 环境发现:blender_env(refresh?)¶
扫描本机 Blender 环境:版本、已启用 addon(含第三方)、2660+ 个 bpy.ops 算子与参数名。结果缓存到 ~/.dsh/dsh-blender-router/env.json,过期时间 12 小时。首次扫描需要 10–60 秒(addon 多时更长)。
3. 使用覆盖统计:blender_coverage(days)¶
读取插件自己的 trajectory 日志,统计能力面的真实使用情况:使用了几个 family、最常用 op、哪些没用过、plan 占比等。
4. 随包技能:blender-toolrouter¶
提供一套开工协议:三步法、工具层选择、禁手写清单、交付三道门。
5. 常驻路由表:AGENTS.md(可选)¶
一份约 900 tokens 的路由表,合并到全局 ~/.dsh/AGENTS.md 或项目根目录下的 AGENTS.md 中,标记为 <!-- dsh-blender-router:begin --> 与 <!-- dsh-blender-router:end -->。新开会话时加载,保证模型在每轮请求里都能看到。
6. CLI:blender-router¶
零依赖的 Node.js CLI,提供 route、env、coverage、run 等命令,用于 Codex / Claude Code / Cursor 等没有 DSH 插件系统的宿主环境。
安装与启用¶
1) 安装插件¶
# 从 GitHub
dsh plugin --profile web add github:<you>/dsh-blender-router
# 或 Release 里下载的 tarball
dsh plugin --profile web add ./dsh-blender-router-1.1.0.tgz
# 或本地目录(开发)
dsh plugin --profile web add .
装完重启 DSH。新会话中应出现三个工具:blender_route、blender_env、blender_coverage,以及技能目录中的 blender-toolrouter。
2) 安装常驻路由表¶
把仓库中的 AGENTS.md 合并进:
- 全局:
~/.dsh/AGENTS.md(所有会话生效) - 项目级:
<项目根>/AGENTS.md(只在该项目生效)
使用标记 <!-- dsh-blender-router:begin --> 与 <!-- dsh-blender-router:end --> 包裹内容,已有 AGENTS.md 时只替换标记之间的部分。
3) 验证¶
blender_env # 首次:扫本机 Blender(版本 / addon / 算子数)
blender_route(intent="*") # 应该列出 28 个 family
blender_route(intent="倒个角") # 应该给出 modifier_add(type="BEVEL") 等真实算子
blender_coverage(days=7) # 应该报出「能力面覆盖 N/28 family」
配置与路径¶
blender_env缓存位置:~/.dsh/dsh-blender-router/env.jsonblender_coverage日志位置:<workDir>/trajectory/*.jsonlworkDir取自~/.dsh/dsh-blender.config.json,也可用环境变量DSH_BLENDER_WORKDIR或入参dir指定- Blender 可执行文件按以下顺序探测:
DSH_BLENDER_EXE→~/.dsh/dsh-blender.config.json的blenderExe→ 安装目录 → PATH
设计取舍¶
- 不做硬拦截,不设置「不跑 audit 就不许导出」这类门。经验表明,硬门只能保证「跑过」,保证不了「跑好」。
- 不代理
dsh-blender-plugin的任何调用,只做索引、发现与统计,两个插件升级互不阻塞。 - 唯一会起进程的是环境扫描:用
blender -b启动独立进程读用户 prefs,写入缓存。失败时降级到静态族索引。 - 全部降级安全:缺少依赖或服务时只告警,不会中断宿主。
- 统计只读插件自己的 trajectory 日志,不 hook 宿主,不增加运行时开销。
适用场景与注意¶
适合需要在 DSH 中让 AI 调用 Blender 丰富能力面的开发者,特别是使用第三方 addon、多版本 Blender、或需要统计工具使用覆盖的场景。
使用前请检查源码与许可证。插件以当前 DSH 进程权限运行,需要 DSH 环境与配套的 dsh-blender-plugin 支持。
结尾¶
dsh-blender-router 通过意图路由、环境发现与使用覆盖统计,把「能调用」的 Blender 能力面变成「被找到」的工具,减少 AI 从基础算子退化的倾向。更多细节见插件目录页与 GitHub 仓库。