前言¶
做 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