使用说明
👑🦞 贝壳大师
通过OpenClaw Skill(MVP)为Rimworld提供AI驱动的游戏大师→ MCP(生产)
标语: 你的殖民地,爪下
讲故事者角色: 平塞勋爵
让你的AI助手成为一个淘气的(或乐于助人的)游戏大师,触发事件,观察你的殖民地,并为你的Rimworld体验增添叙事色彩。
🎯 视觉
想象一下,当你的AI助手在一旁观看时,你在玩Rimworld:
关键字 : “你的殖民地看起来很舒服。也许吧 也 舒适。.."
一群追捕松鼠出现在地平线上
你: “云!”
关键字 : “考虑一下……性格发展。🦞"
🏗️ 建筑
┌─────────────┐ HTTP ┌─────────────┐ Skill/MCP ┌─────────────┐
│ Rimworld │◄────────────►│ Local API │◄──────────────►│ OpenClaw │
│ Mod │ localhost │ Bridge │ │ Agent │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
Game Events Contract + Safety "Trigger a raid!"
Colony State Error Handling "How's the colony?"
In-Game Messages Tests "Send encouragement"
📦 组件
/mod --Rimworld Mod(C#)
游戏侧组件:
- 运行本地HTTP服务器(端口18800)
- 通过以下方式暴露殖民地状态
/state - 通过接受事件命令
/event - 通过以下方式在游戏中显示AI消息
/message
/mcp-server --MCP桥(Python)
这座桥:
- 连接到Rimworld mod的HTTP API
- 为AI代理公开MCP工具
- 优雅地处理错误(游戏离线等)
/docs --文件
docs/RESEARCH.md--可行性+风险docs/API.md--端点合约+状态/错误映射docs/BLUEPRINT.md--第一阶段实施架构
/scripts --测试工具
scripts/test-api.py--合同检查(模拟+真实服务器)
🚀 交付策略
- 通过OpenClaw技能获得MVP (快速迭代,证明循环)
- 通过MCP服务器进行生产 (便携+经得起未来考验)
📋 状态
当前阶段: ✅ 第二阶段完成——MVP直播(蒸汽甲板测试)
- [x] 可行性研究(
docs/RESEARCH.md) - [x] 建筑设计
- [x] API规范草案(
docs/API.md) - [x] Mod实现(HTTP服务器+队列+处理程序)
- [x] OpenClaw技能MVP集成(
skills/rimworld-gm,重新命名为shellmaster计划) - [x] 真实游戏验证(VM→ SSH隧道→ 蒸汽甲板)
- []MCP生产集成
⚡ 快速入门(蒸汽甲板+VM)
注意:SSH隧道现在是可选的。对于LAN模式,直接连接到
http://<deck-ip>:18800使用令牌身份验证。
1) 在VM上构建mod
cd ~/repos/rimworld-gm
./scripts/build.sh
所需的本地参考文献 lib/:
Assembly-CSharp.dllUnityEngine.dllUnityEngine.CoreModule.dll
2) 在甲板上安装模组
将mod文件夹复制到Deck上的Rimworld mods路径:
~/.local/share/Steam/steamapps/common/RimWorld/Mods/RimworldGM/
(Workshop/public branding name: **Shellmaster**; folder rename can happen in a later release.)
3) 连接模式
选项A(传统):SSH隧道
ssh -N -L 18800:localhost:18800 deck@<deck-ip>
选项B(阶段3a):直接局域网+令牌
# in mod Settings.xml:
# bindAddress=0.0.0.0, allowLan=true, authToken=<token>
4) 测试端点(安全路径)
curl http://localhost:18800/health
curl http://localhost:18800/state
curl -X POST http://localhost:18800/message \
-H "Content-Type: application/json" \
-d '{"text":"Test Message","type":"info"}'
🌐 局域网模式(第3a阶段)
默认情况下,mod绑定到localhost(127.0.0.1)为了安全。
要启用LAN访问,请编辑 mod/Config/Settings.xml:
- 集
<bindAddress>0.0.0.0</bindAddress> - 集
<allowLan>true</allowLan> - 设置一个强大
<authToken>...</authToken>
在LAN模式下使用标头身份验证:
curl http://<deck-ip>:18800/health \
-H "Authorization: Bearer <token>"
⚠️ 安全:LAN模式打开控制API访问您的网络。仅在受信任的网络上使用,并对您的令牌保密。
🧰 切换:故障排除+快速操作
故障排除
MOD_NOT_READY- Rimworld已暂停/加载或还没有活动地图。
- 恢复游戏并等待几秒钟,然后重试
/health或/state.
- 隧道问题(VM无法到达Deck)
- 重新打开VM上的隧道:
ssh -N -L 18800:localhost:18800 deck@<deck-ip> - 验证Deck SSH是否正常工作:
ssh deck@<deck-ip> - 在VM上本地检查终结点:
curl http://localhost:18800/health
- 重新打开VM上的隧道:
- 构建失败(
Missing dependency)- 确保这些文件存在于
lib/:Assembly-CSharp.dllUnityEngine.dllUnityEngine.CoreModule.dll
- 重新运行:
./scripts/build.sh
- 确保这些文件存在于
常用命令
# Build mod
./scripts/build.sh
# Open tunnel
ssh -N -L 18800:localhost:18800 deck@<deck-ip>
# Safe checks
curl http://localhost:18800/health
curl http://localhost:18800/state
# Send test message
curl -X POST http://localhost:18800/message \
-H "Content-Type: application/json" \
-d '{"text":"RimworldGM test","type":"info"}'
“一切顺利吗?”快速检查
- []甲板上启用了RimworldGM模块
- []VM上的SSH隧道已打开
- [ ]
curl /health回报status: ok - [ ]
curl /state返回菌落有效载荷 - [ ]
/message出现在游戏中
🦞 Lord Pincer Flavor(第四阶段目标)
计划叙述者风格的信息行:
- “平塞勋爵认为你的殖民地……足够了。”
- “高贵的爪子给了你一份礼物,农民们。”
- “平塞勋爵越来越无聊了。你们准备好了。”
- “在甲壳动物王座前鞠躬!”
🛠️ 技术栈
| 组件 | 技术 |
|---|---|
| Rimworld Mod | C#/。NET 3.5/和谐 |
| 技能/MCP桥 | Python |
| 协议 | 本地HTTP(MVP)、MCP(生产) |
🙏 致谢
- Twitch工具包 --启示与借鉴实施
- Rimworld改装维基 --文件
- 模型上下文协议 --集成标准
📄 许可证
MIT许可证——见 许可证
内置于🦞 作者:Clawd&DrSm
