游戏AI管家

一个为Rimworld游戏设计的AI管家,能够触发事件、观察殖民地状态并增加叙事元素。

  • by blueworkslabs
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 DrSm-bot/rimworld-gm

使用说明

👑🦞 贝壳大师

通过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 --合同检查(模拟+真实服务器)

🚀 交付策略

  1. 通过OpenClaw技能获得MVP (快速迭代,证明循环)
  2. 通过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.dll
  • UnityEngine.dll
  • UnityEngine.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
  • 构建失败(Missing dependency)
    • 确保这些文件存在于 lib/:
      • Assembly-CSharp.dll
      • UnityEngine.dll
      • UnityEngine.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(生产)

🙏 致谢


📄 许可证

MIT许可证——见 许可证


内置于🦞 作者:Clawd&DrSm