前言¶
做 EU4 Mod 時,常見痛點是:腳本 effect、trigger 容易混用作用域;事件 ID 寫成裸數字會導致遊戲閃退;本地化鍵、BOM、namespace 等細節一旦漏掉,遊戲裏只會靜默失敗。單靠模型記憶猜語法,很難與遊戲文件和索引對齊。
EU4 Mod Workbench 是 DeepSeek Harness(DSH)上的客戶端插件,配套可選 Agent 預設,把文檔查證、腳本校驗、地圖與事件/任務視圖、以及面向 AI 的編輯指令生成收進側欄工作臺。它不替你在後臺啓動外部程序,也不直接覆蓋 Mod 文件;導出與寫入路徑顯式且拒絕 .. 逃逸。下文介紹其定位、能力、安裝與典型用法。
這是什麼¶
插件倉庫:shihuadexiaoyugan/eu4-mod-workbench,維護者 shihuadexiaoyugan,分類爲 DSH 客戶端插件。package.json 中版本爲 0.3.0,許可證 MIT,要求 Node >= 20。
一句話定位:基於 DSH 的 EU4 Mod 可視化開發工作臺——Host 工具 + 僅迴環 HTTP API + 瀏覽器 React 側欄;內置約 1901 條腳本文檔與 28 個作用域索引(lib/docs-data.json),並聲明不憑記憶生成 EU4 語法,query_script_doc 只返回隨包索引或遊戲文件中的真實條目。
配套的 Agent 預設目錄 eu4-mod-preset/ 爲獨立 bundle(cordis.patch.yml 爲現代安裝入口,prompt.md 爲 Persona 與紀律),可與插件分裝。
它不做什麼(邊界)¶
安裝前應理解 README 中的明確邊界:
- 不畫像素地圖;地圖爲簡化省份網格,點擊返回真實省份 ID。
- 不在後臺啓動外部程序;Clausewitz MCP、Eu4-Mod-Editing-Tool 等橋接需用戶點擊探測/啓動。
- UI 不再直接寫任何
.txt;原/api/file/save、/api/missions/save返回 410。編輯流程改爲生成 AI 指令,由 Agent 的編輯工具真正落盤,且 Prompt 要求寫入前後各跑validate_script。
核心功能¶
Host 工具(Agent 可調用)¶
README 列出的主要工具包括:
| 工具 | 用途 |
|---|---|
query_script_doc |
trigger/effect/scope/modifier 簽名與作用域 |
find_definition |
定義位置與引用位置 |
search_script_docs |
模糊檢索候選名稱 |
validate_script |
作用域、trigger/effect 混用、localisation |
check_loc_keys |
提取並檢查 localisation 鍵 |
eu4_map_query |
省份/核心省份查詢(ownerTag、coresOnly) |
eu4_batch_history |
生成 history 片段與省份 ID 列表 |
eu4_mission_export |
任務節點圖 → missions 腳本(寫入前校驗) |
eu4_event_graph |
事件因果圖,缺失引用標 missing: true |
query_events_by_category |
按 all \| regular \| special 查詢;activeTagOnly 用面板當前 Tag |
eu4_probe_tools |
外部工具狀態 |
eu4_workspace_status |
工作區與索引狀態(含 activeTag) |
另有 eu4_pending_edit(clear=true 讀取並清除待辦編輯),與面板「保存爲待辦」聯動。
側欄面板與 Tag 全局聯動¶
頂部「國家 Tag」維護全局 activeTag,地圖、事件樹、任務樹聯動過濾(按 1444 開局省份歸屬等規則);activeTag 持久化到工作區 JSON(POST /api/tag),隻影響渲染,不改遊戲/Mod 文件。
事件/任務編輯:表單填完後點「生成 AI 指令」→ POST /api/ai/build 拼出帶【文件路徑】【目標定位】【修改內容】【校驗要求】的 Prompt;可複製到對話或寫入 workspace.json 的 pendingEdit。
其他 UI 能力(均以 README 爲準):可搜索事件下拉(禁止裸數字事件 ID)、自定義詞典補詞、國家修正 add_country_modifier 的年天換算與現場建修正、事件本地化契約(zz_eu4_workbench_l_simp_chinese.yml、BOM、namespace 校驗)、條件構建器裏 owns/controls 與 ProvincePicker 等。
安裝與啓用¶
從 GitHub 安裝插件 bundle¶
在 DSH 的 plugin_manager 中選擇 install_bundle,target 填(把 <用戶名> 換成倉庫所屬賬號):
github:<用戶名>/eu4-mod-workbench
本倉庫已提交 index.js、client.js、lib/*.js,安裝時不需要構建。倉庫說明中也提到可將 clone 後的目錄絕對路徑作爲 target;若你使用本地路徑安裝,請自行承擔源碼審閱責任。
插件 bundle 的 patch 只插入一個 Host 行 eu4-mod-workbench。不要重複掛載 workbench,否則會產生重複工具與路由;index.ts 內用全局活動標記防重。
預設與其它 bundle¶
- 預設 bundle 插入
preset-eu4-mod,勿與 workbench 重複掛載。 - MCP 適配器
@auggieteo/dsh-mcp-adapter爲 Host 級,安裝一次即可,不應被預設再次掛載。
配置項¶
插件 Config 支持(摘自 README):
| 鍵 | 說明 |
|---|---|
eu4Root |
EU4 遊戲根目錄;留空自動探測 Steam/環境變量 |
modDir |
用戶 Mod 目錄 |
statePath |
工作區 JSON;默認 DSH_HOME/eu4-mod-workbench/workspace.json |
clausewitzMcpUrl |
clausewitz-mcp Streamable HTTP 端點 |
clausewitzMcpCommand |
可執行名或路徑(默認 clausewitz-mcp) |
eu4ModEditingToolPath |
Eu4-Mod-Editing-Tool 路徑 |
emtPath |
EMT 路徑 |
paradoxCodePath |
ParadoxCode 路徑 |
maxIndexFiles |
索引上限,默認 30000 |
本地開發修改 TypeScript 後,用 node scripts/build.mjs 重新生成運行文件;部分測試腳本需要本機安裝 EU4(默認 Steam 路徑,可用環境變量 EU4_ROOT 覆蓋)。
典型用法¶
1. 裝插件並指向 Mod 工作區¶
完成 install_bundle 後,在插件配置中設置 modDir(及必要時 eu4Root)。用 eu4_workspace_status 或側欄查看索引與 activeTag 是否正常。
2. 寫腳本前先查證、寫完再校驗¶
在對話中讓 Agent 調用:
search_script_docs/query_script_doc查 trigger、effect 名稱與作用域;validate_script檢查作用域混用與本地化引用;check_loc_keys對照 yml 鍵是否齊全。
這與插件「不憑記憶生成語法」的設計一致。
3. 在面板改事件/任務,把指令交給 Agent 落盤¶
- 在側欄選全局 Tag,按需在地圖/事件/任務視圖過濾。
- 用表單編輯事件或任務,使用事件選擇器綁定帶點的事件 ID(如
flavor_boh.1),避免裸數字。 - 點「生成 AI 指令」或「保存爲待辦」,再讓 Agent 執行
eu4_pending_edit或按 Prompt 要求read→ 寫入 → 再次validate_script,並補齊localisation。
4. 地圖與 history 片段¶
需要省份 ID 或批量 history 時,可用 eu4_map_query、eu4_batch_history;面板省份選擇器支持中文名、英文名與 ID 檢索。
適用場景與注意¶
適合誰:在本機用 DSH 做 EU4 Mod、希望腳本校驗與文檔索引跟遊戲/Mod 文件對齊,並願意通過 Agent 工具鏈完成最終寫文件的 Mod 作者。
權限與安全:插件以當前 DSH 進程權限運行,可讀寫你配置的 modDir、statePath 及探測到的 EU4 目錄。安裝前請閱讀倉庫源碼與 MIT 許可證,確認路徑與外部工具調用符合你的環境策略。
生態說明:DSH 奉行「一切皆插件」;社區目錄站點與 DeepSeek / 幻方無官方從屬關係,本文介紹的是社區維護的客戶端插件,非官方應用商店條目。
結尾¶
EU4 Mod Workbench 把查證、校驗、可視化瀏覽和結構化 AI 編輯指令收到 DSH 側欄與 Host 工具裏,並劃清「面板不直接寫 txt、Agent 負責落盤與再校驗」的邊界。需要目錄信息與源碼時,可訪問插件目錄頁與 GitHub 倉庫:
- 目錄頁:https://www.skillhub.cn/plugins/shihuadexiaoyugan/eu4-mod-workbench
- GitHub:https://github.com/shihuadexiaoyugan/eu4-mod-workbench