mewamew/my_ai_town · 上手攻略

  • 仓库:mewamew/my_ai_town
  • 链接:https://github.com/mewamew/my_ai_town
  • 分类:AI Simulation / Game / LLM Application
  • 作者:Tom
  • 更新:2026-08-12

是什么

AI Town(我的 AI 小镇)是一款用 Godot 4.7 开发的单机像素风生活模拟游戏,核心创新在于:小镇居民由 LLM 驱动,居民有独立人格、职业、记忆、关系网络和当前处境,会自主决定去哪里、做什么、和谁交谈。玩家可以从俯瞰视角观察整个小镇,也可以「附身」进任意居民与他们对话、发布公告或改变天气——玩家的每次介入都会成为居民真实经历的一部分,并持续影响后续行为。

不同于传统 NPC 对话树,居民的对话内容完全由 LLM 实时生成,承接人物性格、记忆库和当前场景事实。


解决什么问题

  • 想跑一个「多个 AI Agent 在共享世界中自主交互」演示,但没有现成框架
  • 需要一个可以本地运行、不依赖云服务的 LLM 应用示例
  • 想观察/干预 AI 社交网络的涌现行为
  • 对 AI Town / AI Genie 类项目感兴趣,想了解实现原理

快速安装

环境要求

  • Godot 4.7 稳定版(官网下载
  • 一个兼容 OpenAI API 的 LLM Provider 及 API Key(如 OpenAI / DeepSeek / Ollama / LM Studio 等,详见仓库模型接入页)
  • 支持 Godot 4.7 的桌面系统(Windows / macOS / Linux)

安装步骤

# 1. 克隆仓库
git clone https://github.com/mewamew/my_ai_town.git
cd my_ai_town

# 2. 用 Godot 打开工程
#    启动 Godot 4.7 → 点击 "Import" → 选择 game/project.godot → 点击 "Import & Edit"

# 3. 在游戏内配置 LLM Provider
#    运行项目后,进入 "模型设置" 页面,填入你的 API Key 和模型地址

# ⚠️ 注意:API Key 只通过游戏内设置保存,不要写入仓库

远程模型服务(8 月 12 日新增)

最新版本支持连接局域网/远程 HTTP 服务:

保存非本机 HTTP 地址时,系统会先提示「未加密传输风险」,确认后才保存。

Windows 版本默认使用兼容渲染(D3D11 / ANGLE),macOS 为默认渲染,无需特殊配置。


核心用法

键盘操作

按键 功能
WASD / 方向键 移动玩家化身
E 与附近目标互动(居民、物品等)

居民 Agent 架构(game/agent/)

game/
  agent/
    decision/       # 居民决策逻辑
    prompt/         # 提示词模板
    memory/         # 记忆存储(经历、关系、承诺)
    model/          # 模型接入层
  • 决策系统:居民每帧根据自身状态(位置、职业、关系、记忆)决定下一步行动,不沿固定日程表
  • 记忆系统:每次重要经历会持久化,遇到相关人物/地点时重新影响决策
  • 世界日志:记录小镇确认发生的所有事件、活动和对话,玩家可按居民/类型/日期检索

模型接入(支持列表,截至 2026-08-11)

服务商 支持情况 备注
OpenAI 官方 标准 API
DeepSeek 火山引擎入口
火山方舟 自动读取可用模型
Ollama(本地/云端) 新增 Ollama Cloud 直连
LM Studio 直接显示可编辑地址
MiniMax 独立入口,M2.7/M2.5/M2 系列
302.AI 自动过滤适合对话的模型
其他 OpenAI 兼容接口 自定义 Base URL + Key

本地模型(Ollama / LM Studio)限制同时后台请求数,避免小显存被占满。


典型适用场景

  1. LLM Multi-Agent 演示:在一个共享世界空间中观察多个 AI 角色自主交互,适合向非技术受众展示 Agent 能力
  2. 本地 AI 游戏开发参考:Godot + LLM 的工程结合,可作为同类项目的架构参考
  3. AI 社会行为研究:居民有性格、记忆、关系网络,适合观察/实验 AI 生成的社会涌现行为
  4. AI Education:配合交互式教程,让学生理解 LLM 如何驱动自主决策

坑与注意

⚠️ API Key 安全

模型密钥只通过游戏内设置保存,不要手动写入仓库文件。

⚠️ 未加密远程连接(8 月 12 日新增)

使用 HTTP(非 HTTPS)远程地址时,系统会明确提示数据(API Key、提示词、记忆)可能以明文传输,确认后才生效。换地址后需重新确认。

⚠️ 许可证状态

项目代码与自有素材的统一许可证仍在整理中,根目录尚未发布正式许可证文件。第三方资源(字体、音效)沿用各自目录记录的许可证。使用前请确认你的场景是否符合各部分许可证要求。

⚠️ 本地模型性能

Ollama / LM Studio 等本地模型响应较慢时,系统已优化(延长等待时间、关闭额外思考输出),但多居民同时对话仍可能造成卡顿,建议根据硬件配置限制同时对话人数。

⚠️ 存档兼容性

不同版本间存档结构有迁移规则,大版本更新后建议重新开档(项目在持续开发中)。


与同类对比

项目 引擎 多 Agent 本地运行 交互方式 许可证
AI Town(我的 AI 小镇) Godot 4.7 ✅ 自主社交网络 ✅ 完全本地 俯视 + 化身 整理中
AI Town(a16z) Next.js + Convex ❌ 需云端 仅俯视 Apache 2.0
AI Sim Life HTML5 仅俯视 闭源
Rec Room AI 自研引擎 3D VR 闭源

本项目的核心优势是完全本地运行 + 化身交互 + 记忆系统,缺点是许可证尚未确定(相比 a16z 原版 Apache 2.0 的确定性)。


一句话推荐结论

如果你想在本地跑一个「多个 AI 角色在共享世界中自主生活」的演示,my_ai_town 是目前上手最简单、实现最完整的开源方案——只需 Godot 4.7 + 任意 OpenAI 兼容 API key,克隆即跑。


写作指引来源

  • 仓库 README(GitHub,2026-08-12 读取)
  • 更新日志(2026-08-10 / 08-11 / 08-12,GitHub raw)
  • W32 Lessons:机制+工程双轨、数字可溯源、⚠️诚实标注