dsh-UEAssetsOperator:給 DeepSeek Harness 加上 .uasset 檢查與藍圖節點編輯工具

前言

在 DeepSeek Harness(DSH)裏處理 Unreal Engine 項目時,一個常見的困境是:模型面對 .uasset 這類二進制資產,只能退而求其次——用 strings 抽字符串、開十六進制猜結構,或者現場寫解析腳本。.uasset 依賴 .uexp.ubulk 等 sidecar 文件,這些做法既慢也不可靠。

dsh-UEAssetsOperator 針對的就是這個問題。下面介紹這個插件如何讓 DSH 直接檢查 Unreal 資產、通過 Unreal Python 編輯藍圖節點,而不是讓模型自己啃二進制。

這是什麼

dsh-UEAssetsOperator 是面向 DeepSeek Harness(DSH)的 Unreal Engine .uasset 檢查與藍圖節點編輯插件,維護者是 QSWWLTN,代碼託管在 GitHub。package.json 顯示當前版本爲 1.3.0,type: module,入口爲 lib/index.js

DSH 的理念是「一切皆插件」,插件通過 Cordis 機制註冊工具與技能。這個插件的核心動作有三步:

1、通過 ctx.tools.register() 註冊原生工具 ue_uasset_inspectue_blueprint_python_edit
2、檢測到 UE 資產相關的用戶意圖時,主動注入工具 schema 和配套操作說明;
3、宿主提供 skills 服務時,通過 ctx.skills.register() 註冊 DSH 內置操作說明。

lib/index.js 導出 nameinjectapply 三個成員,不需要額外 npm 運行時依賴。

核心功能

意圖檢測與工具注入

當用戶消息出現 .uasset / .uproject / /Game/...、Blueprint / DataTable(含「藍圖」「數據表」)等明確意圖,或會話涉及 UE 項目目錄中的 BP_* 等資產名時,插件會主動注入兩個工具 schema 和完整的 ue-uasset-operator 操作說明,引導模型直接調用原生工具。

三種檢查模式

ue_uasset_inspect 支持三種模式,按需選擇開銷:

模式 行爲
resolve 只解析 .uproject、UE 版本和虛擬包路徑,不啓動 UE
registry 通過 Asset Registry 讀取類型、標籤、依賴和引用,默認模式
load 加載 UObject,額外讀取選定屬性和元數據

有界路徑解析

資產路徑解析始終從會話工作目錄或最近的 .uproject 根開始做有界搜索,禁止 find /、盤符根或整個引擎目錄的全盤掃描。工作區未命中時,工具會報告缺失路徑,而不是自行擴大掃描範圍。

skills 與極簡宿主的兼容

skills/ue-uasset-operator 目錄保存 PowerShell 啓動器、Unreal Python 檢查器、受限藍圖編輯腳本及參考文檔。提供 skills 服務的宿主會隨插件註冊這些說明;僅提供 tools 的極簡宿主仍然可以使用兩個原生工具。

安裝與啓用

插件包含 cordis.patch.yml bundle,支持 bundle 安裝與 EAC 手工 insert 兩種方式。兩種方式不要同時使用,否則 DSH 會因重複 loader id 拒絕啓動。

bundle 安裝(推薦)

環境已安裝 dsh CLI 與 pnpm 時,先把倉庫克隆到固定目錄,再安裝到目標 profile:

git clone https://github.com/QSWWLTN/dsh-UEAssetsOperator.git X:\Tools\dsh-UEAssetsOperator
dsh plugin --profile my-profile add X:\Tools\dsh-UEAssetsOperator

該命令會把插件寫入 profile 的依賴,並自動寫入 dsh.profile.bundles

README 提到,發佈到 npm 後也可以按包名安裝:

dsh plugin --profile my-profile add @deepseek-dsh-desktop/dsh-ue-uasset-operator

EAC 手工 insert

EAC 安裝包未附帶 pnpm,應使用 profile patch 方式。先克隆倉庫到固定目錄:

git clone https://github.com/QSWWLTN/dsh-UEAssetsOperator.git X:\Tools\dsh-UEAssetsOperator

再在 C:\Users\<用戶名>\.dsh\profiles\web\cordis.patch.yml 中加入 insert 塊:

- insert:
    - id: ue-uasset-operator
      name: 'file:///X:/Tools/dsh-UEAssetsOperator/lib/index.js'

重啓 EAC 後生效。這個入口沒有額外 npm 運行時依賴,Cordis、工具和技能註冊表由 EAC 宿主提供。

兩個細節需要注意:

1、如果 patch 文件中已存在 id: ue-uasset-operator,只替換該行的 name,不要再添加第二個 insert 塊;
2、路徑中的空格必須按 URL 規則編碼(例如 Deepseek%20Harness%20EAC),Windows 盤符路徑使用三個斜槓的 file:///X:/... 形式。

外部 patch 啓動獨立 DSH

開發時可以把同樣的 insert 塊保存爲 ue-assets.patch.yml,再啓動獨立 DSH:

dsh web --patch X:\Tools\ue-assets.patch.yml --host 127.0.0.1 --port 0

啓動後在插件清單中確認 ue-uasset-operator 已加載,隨後模型即可調用兩個 UE 工具。

典型用法

不同宿主模式下的工具可見性

1、官方極簡模式和 極簡模式_win 繼承全局註冊的兩個 UE 工具,可以直接調用;
2、Anchored Standard 在檢測到 .uasset 意圖時,會把 ue_uasset_inspectue_blueprint_python_edit 主動加回當前工具 schema,命中的那一輪即可直接調用,不必等待解鎖;
3、若兩個工具因宿主策略仍未出現,進入提升階段後先通過 skill_search / skill_load 加載 ue-uasset-operator,再調用 dev_tool_search 解鎖。

dev_tool_search 的精確解鎖參數如下:

{"toolNames":["ue_uasset_inspect","ue_blueprint_python_edit"]}

工具會從下一輪開始出現。注意不要把兩個工具名拼成一個自由文本 query——該模式的搜索要求所有關鍵詞同時命中同一個工具,拼接會導致搜不到。

前置條件

使用前確認以下三點:

1、目標 .uasset 通常應位於項目或插件的 Content 目錄中,並保留同名 .uexp.ubulk.uptnl sidecar;
2、項目已安裝匹配的 Unreal Editor,且 PythonScriptPlugin 已啓用;
3、插件不會自動修改 .uproject

適用場景與注意事項

這個插件適合在 DSH 工作流中頻繁查看 UE 資產結構、做藍圖節點編輯的開發者,尤其是已經在用 EAC 或 dsh CLI 管理 profile 的用戶。

安裝和使用前請注意:

1、插件以當前 dsh 進程權限運行,安裝前應檢查源碼。截至本文編寫,倉庫資料未明確標註許可證類型,package.jsonfiles 中列出了 LICENSE 文件,請自行查看其內容確認授權範圍;
2、不要同時使用 bundle 安裝和手工 insert 塊,否則 DSH 會因重複 loader id 拒絕啓動;
3、路徑含空格時按 URL 規則編碼。

開發驗證

修改插件代碼後,在插件目錄運行測試:

npm test

測試腳本爲 node --test

小結

dsh-UEAssetsOperator 把 .uasset 檢查和藍圖節點編輯封裝成 DSH 原生工具,配合意圖注入和有界路徑解析,省去了模型手工解析二進制資產的彎路。如果你在做 UE 項目相關的智能體工作流,值得一試。

  • 社區插件目錄:https://www.skillhub.cn/plugins/QSWWLTN/dsh-UEAssetsOperator
  • GitHub 倉庫:https://github.com/QSWWLTN/dsh-UEAssetsOperator
羽毛球分组比赛记分
小程序二维码

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

小夜