DalamudMCP
DalamudMCP 从Dalamud插件向本地CLI和MCP客户端公开实时FFXIV状态。
当前的代码库是围绕以下内容构建的:
- 每个工具一个手写操作文件
- 相同的操作定义驱动CLI和MCP
- 该插件拥有实时游戏执行
- CLI和MCP层通过本地命名管道与插件通信
所得
- 直接CLI命令,如
player context和inventory summary - MCP结束
stdio和serve mcp - MCP通过本地HTTP
serve http - 插件自动发现,因此正常的CLI使用不需要手动管道名称
- 一个插件设置窗口,显示运行时健康状况,并可以启动捆绑的HTTP服务器
安全默认值
DalamudMCP 首先是观察。
- 默认情况下,观察工具处于启用状态
- 默认情况下,操作工具处于关闭状态,直到您在插件UI中启用它们
- 不安全的集成工具默认处于关闭状态,并隐藏在单独的开发人员开关后面
这是故意的。除非你明确地扩大它,否则公共表面应该保持保守。
当前刀具表面
观察工具:
session.statusplayer.contextduty.contextinventory.summaryaddon.listaddon.treeaddon.stringsfate.contextnearby.interactablesquest.statusquest.availablequest.current-objectivegame.screenshot
行动工具:
target.objectinteract.with.targetmove.to.entitymove.to.nearby.interactableteleport.to.aetheryteduty.actionaddon.inputaddon.eventaddon.callback.valuesaddon.select.menu-item
仅供开发人员使用的不安全工具:
unsafe.invoke.plugin-ipc
这些行动的手写真相来源就在 src/DalamudMCP.Plugin/Operations.
安装并运行
1.建造
.\build\restore.ps1
.\build\build.ps1 -NoRestore如果默认开发人员路径中未安装Dalamud,请设置 DALAMUD_HOME 或通过 -DalamudHome 到构建脚本。
$env:DALAMUD_HOME = 'C:\path\to\Hooks\dev'
.\build\build.ps1 -NoRestore -DalamudHome $env:DALAMUD_HOME2.安装插件
活动插件是:
构建输出:
src/DalamudMCP.Plugin/bin/Debug/net10.0/DalamudMCP.dllsrc/DalamudMCP.Plugin/bin/Debug/net10.0/DalamudMCP.json
在Dalamud中加载该插件,然后打开其配置窗口。
3.尝试CLI
dotnet run --project .\src\DalamudMCP.Cli\DalamudMCP.Cli.csproj -- player context
dotnet run --project .\src\DalamudMCP.Cli\DalamudMCP.Cli.csproj -- session status --json
dotnet run --project .\src\DalamudMCP.Cli\DalamudMCP.Cli.csproj -- inventory summary正常的CLI使用会自动从以下位置发现活动插件实例 active-instance.json.
--pipe 仍然支持作为调试或多实例场景的高级覆盖。
4.运行MCP
stdio MCP:
dotnet run --project .\src\DalamudMCP.Cli\DalamudMCP.Cli.csproj -- serve mcp本地HTTP MCP:
dotnet run --project .\src\DalamudMCP.Cli\DalamudMCP.Cli.csproj -- serve http --port 38473默认端点:
http://127.0.0.1:38473/mcp
插件UI还可以为您启动和停止捆绑的HTTP MCP服务器。
5.构建发布包
在中构建插件 Release 并手动打包插件输出目录。
.\.dotnet\dotnet.exe build .\src\DalamudMCP.Plugin\DalamudMCP.Plugin.csproj -c Release如果你需要一个自定义Dalamud路径:
$env:DALAMUD_HOME = 'C:\path\to\Hooks\dev'
.\.dotnet\dotnet.exe build .\src\DalamudMCP.Plugin\DalamudMCP.Plugin.csproj -c Release打包输出写在 src/DalamudMCP.Plugin/bin/Release/DalamudMCP/.上传生成的 latest.zip 在切割脱模剂时手动操作。
可选集成
当安装了兼容的插件时, DalamudMCP 可以在现有的高级工具后面使用它们。
teleport.to.aetheryte可以回退到Lifestream用于本地以太网旅行- 移动操作可以使用
vnavmesh可用时
默认情况下,这些集成落后于正常的高级工具。原始集成逃生舱仍然仅供开发人员使用。
构建和测试
GitHub Actions CI验证可移植层和存储库卫生。 插件构建仍然是本地或自托管的Windows步骤,因为 Dalamud.NET.Sdk 仍然需要解决 DALAMUD_HOME /挂钩开发目录。
构建:
.\build\build.ps1 -NoRestore全面试运行:
.\build\test.ps1 -NoBuild主动解决方案是 DalamudMCP.slnx.
仓库的规划
正在进行的项目:
