EricSun0218/OpenGameAgent
一个开源C#工具包,让游戏NPC能像自主智能体一样行动,而不只是聊天机器人
OpenGameAgent是一个轻量、可自由改造的C#运行时,让游戏角色能够观察游戏状态、做出判断、调用开发者定义的工具,并持续朝目标推进,而不是只回一句台词。它可以运行在Godot、Unity或.NET服务器中,但游戏代码始终掌握每个动作是否真正执行的决定权。项目当前版本为0.3.0-alpha.2,公开接口在正式1.0版本前仍可能变动。
它做什么
- 要解决的问题:目前多数AI驱动的NPC只是接收一个提示词然后返回一句回复,无法观察结果、调用工具,或跨多个步骤持续推进任务。
- 工作方式:一个小型'agent kernel(智能体内核)'负责流式输出模型内容、执行经过校验的开发者自定义工具(移动、交易、建造等),并把结果反馈给模型,循环直到任务完成;可选的'游戏运行时'层再叠加时间线、时钟、会话、记忆等游戏专属概念。
- 核心边界:AI模型不能直接修改游戏状态,只能请求执行某个动作,由游戏代码负责校验并执行每一次状态变更,再返回权威结果。
- 已实现功能:流式工具调用、结合向量与关键词检索的持久记忆、任务计划管理、多NPC并发控制、图像输入支持、插件系统(Agent Plugins),以及对Anthropic、OpenAI、Gemini、Bedrock、Mistral等多家模型提供商的接入。
- 运行位置:可作为库嵌入Godot 4.7或Unity 6项目,也可运行在游戏自己的服务器中,或作为独立的智能体服务通过HTTP/SSE被引擎调用。
为什么重要
对想要打造能规划、用工具、有记忆的NPC(而不只是聊天)的游戏开发者来说,这提供了一套可复用、不绑定特定引擎的基础组件,免去自己搭建整套智能体循环的工作。由于框架始终让游戏代码对每次状态变更拥有最终决定权,这也是一种更安全地为游戏引入大模型驱动行为的方式,避免模型直接篡改游戏逻辑。
本仓库术语
- agent kernel(智能体内核) · 负责流式输出模型内容、调用工具并循环推进直至任务完成的核心逻辑
- tool calling(工具调用) · 让AI模型只能请求执行'移动''交易'等开发者预先定义好的动作,而不能随意修改游戏状态
- 游戏运行时(game runtime) · 在内核之上添加游戏时钟、会话、按角色并发控制等游戏专属能力的可选层
- MCP · Model Context Protocol,一种让外部工具服务器可被智能体发现和调用的标准协议
- 向量索引(vector index) · 存储文本嵌入向量以便按语义而非关键词检索相关记忆的数据库
仓库简介(英文)
a compact, hackable C# runtime for AI-native games, autonomous NPCs, tool calling, memory, workflows, Godot, and Unity.
在 GitHub 打开热门仓库
- vorssaint/vorssaint-utils一个免费菜单栏应用,顶替十几款付费Mac工具
- Alishahryar1/free-claude-code一个本地代理,把编程AI助手接到49家免费或低价模型服务商,不再只能用一家付费服务
- freestylefly/awesome-gpt-image-2把532个GPT-Image2案例拆解成可复用模板的提示词工程库
- block/buzz一个让人类和AI智能体在同一空间里聊天、写代码、做审查的开源协作平台
- NousResearch/hermes-agentNous Research推出的Hermes是一款越用越聪明的AI智能体
- virgiliojr94/book-to-skill把技术类书籍PDF变成AI编程助手随时可查阅的技能包
- VoltAgent/awesome-agent-skills把上千份让AI编程助手秒变专家的操作手册集中放在一个地方
- anthropics/claude-plugins-community一个把大家做的Claude插件集中起来供安装的仓库