千秋弈·群雄逐鹿:让 AI 各领一方诸侯,自己打一盘三国

如果三国的君主,都是 AI 🀄

小时候玩三国策略游戏,总会冒出一个念头:要是电脑真的会”思考”,这盘棋会下成什么样?

如今大模型已经能推理,我就把这个念头做成了游戏——千秋弈·群雄逐鹿。它是一个 AI 驱动的三国策略沙盒:魏、蜀、吴等多个势力各由独立的 AI 操盘,为争夺天下彼此攻伐。你可以把自己的势力也交给 AI 托管、纯粹旁观整场争霸,也可以亲自上阵逐鹿中原。

仓库地址:github.com/QinYe233/ThreeKingdom_AI

游戏地图界面

游戏特性

  • 🧠 AI 操盘的诸侯:每个势力由独立 AI 控制,带流式输出与深度推理——你能实时看到它”想”出这一步的完整过程;
  • 🎮 一键托管观战:配置好 AI 后一键委托,战局全程自动推进;
  • 📜 编年史系统:AI 自动生成叙事性战报,把整场战局的来龙去脉写成一段段”史书”;
  • ⚔️ 完整的策略指令:强攻、袭扰、招募、发展、调兵、迁都、征税等,运筹的维度相当齐全;
  • 🌫️ 战争迷雾:每个势力只能看到本方及相邻区域,情报差带来真实的博弈;
  • 🏔️ 特殊中立势力:山贼、南蛮、凉州等群体,攻占后有额外加成;
  • 💾 存档系统:支持手动 / 自动存档,最多 20 个槽位,返回主菜单时自动归档。

AI 势力决策与编年史

技术栈(给同行看的)🛠️

这个项目用了一套比较完整的现代组合,前端、后端到桌面打包都覆盖了:

  • 前端:React 19 + TypeScript + Vite 8 + Tailwind CSS 4 + Zustand(状态管理)+ GSAP(动画);
  • 后端:FastAPI + Python 3.11+ + Uvicorn;
  • 桌面端:Tauri 2(Rust),用 NSIS 生成 Windows 安装包;
  • 地图:Canvas 2D 绘制 + GeoJSON 地图数据;
  • 通信:REST API + SSE(服务器推送事件),AI 的流式输出就靠它逐字推送;
  • AI 接入:OpenAI、DeepSeek,以及任何 OpenAI 兼容接口。

这里解释一个选型:桌面端用 Tauri 而不是 Electron。原因是 Tauri 复用系统自带的 WebView,不像 Electron 那样每个应用都打包一整个 Chromium——因此安装包体积小得多、运行时内存占用也更低。对一个单机小游戏来说,这个取舍很划算。

怎么开始

提供了四种方式,从开箱即用到手动部署都有:

  1. Windows 桌面版(推荐):下载 .exe 安装包,装好即玩,无需配置任何环境;
  2. 开发模式:克隆仓库,运行 启动游戏.bat,脚本会自动检测 Python / Node.js 并拉起服务;
  3. 手动部署(Mac / Linux):分别安装 Python、Node 依赖,再启动后端与前端;
  4. Docker:一行 docker-compose up -d 完成部署。

关于你的 API key 🔒

填 key 最让人担心的,就是它会不会被上传。这里说明白:你的 API key 只保存在本地的 ai_config.json,不会被发送到除模型服务商以外的任何地方——所有调用都是从你自己的机器直接发出的。

写在最后

做这个游戏,我觉得最有意思的是看不同 AI 演绎出的”性格”:有的稳健种田,有的激进扩张,有的热衷合纵连横。同一个开局,每一局都会跑出不一样的剧本,而编年史里那些 AI 自己写下的战报,读起来还真有几分”演义”的味道。

项目仍在持续打磨,欢迎去仓库提想法、报 bug。天下大势,你来定 🌿