dsh-blender-router:让 DSH 里的 AI 真正用上 Blender 插件的全部能力面

前言

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.json
  • blender_coverage 日志位置:<workDir>/trajectory/*.jsonl
  • workDir 取自 ~/.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 仓库。

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

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

小夜