我给星露谷的 NPC 接入了 Hermes Agent

我和周围朋友都特别爱玩《星露谷物语》。

image-20260416020411640.png

这个游戏特别上头。种菜、钓鱼、挖矿、跟村里的人聊天,日出而作日落而息,有一种田园牧歌的治愈感,跟我的日常生活极其反差。是我个人爱好榜第三,(第一老头环,第二塞尔达)

但玩久了会发现一个问题,NPC 太呆了

他们永远只有那几句台词,今天问他「今天过得怎么样」,明天再问,答案一模一样。你送他礼物,他说谢谢,你不送,他也不记得。你没法真的跟阿比盖尔聊天,只能看固定的动画。

我跟朋友吐槽了好几次:这 NPC要是能「活」过来就好了。

前几天 Hermes Agent 发布之后,我突然想到一件事,能不能给星露谷的 NPC 都接入 Hermes Agent?

29 个 NPC,每一个都变成有记忆、有判断、有主动性的「活人」。

于是我就干了。

结果比我想象中好玩太多了。

先说技术层面怎么实现的吧。星露谷是闭源商业游戏,源码不公开,编译完是个 .dll 二进制文件,没法直接改。那怎么给游戏加东西?

需要一个中间层框架,叫 SMAPI(Stardew Modding API)。它的作用是在游戏启动时注入进程,监听游戏事件,暴露 API,让 mod 安全地操作 NPC、玩家、物品等对象,同时管理多个 mod 不打架。

你可以理解成:游戏是一栋盖好的精装房,你想加个智能门锁,SMAPI 就是墙上预留的那个中控接口,没有它你就得拆墙,有了它直接接上就行。

image-20260415021059034.png

安装完游戏本体后,让 Claude Code 指导你装 SMAPI,只需要说一句话:

我给星露谷的 NPC 接入了 Hermes Agent

我要给星露谷做个 Mod,核心功能是给 NPC 接入 AI API

剩下的 Claude Code 会帮你搞定。

image-20260415033558428.png

然后我是直接在 Claude Code 上给星露谷的 29 个 NPC 都接入了 AI,让 AI 给每个人生成了一套系统提示词,包含核心人设、对话风格、个人喜好、背景故事,还有他们与其他 NPC 的关系。

比如阿比盖尔,我在她的提示词里写了她喜欢吃紫水晶、喜欢冒险、有点古怪的性格。

然后我跟她聊天,问她今天过得怎么样。她调侃了我一句。

image-20260415033727659.gif

注意了,这里的关键是,她的回复是有记忆的。

我跟阿比盖尔聊了几句,退出了对话。过了一段时间我又去找她聊天,她居然记得我们之前聊过什么。

这就不是原版 NPC 能做到的了。原版 NPC 的台词是循环的,你今天问他「今天过得怎么样」和明天问,答案几乎一模一样。

但阿比盖尔不一样。她的答案取决于我们聊了什么,她记得。

我还专门设置了一个多轮对话加长记忆功能。跟 NPC 聊天,即便退出了对话,之后再去找他们,他们依然记得之前对话的内容。

每到 10 轮对话,系统会自动压缩上下文,把关键信息保留下来。实测下来,整个对话流程很顺,记忆能力也比较好。

这就是第一个让我感到「有点东西」的时刻:我跟一个游戏里的 NPC,建立了对话记忆。

这种感觉,比想象中微妙。

这是阿比盖尔的系统提示词截图,里面有她的人设、对话风格、喜好、背景,以及她与其他 NPC 的关系。

image-20260415034157421.png

说实话,只是给 NPC 接入 AI 的话,有一个问题,他们没有那种 Agent 的「活人感」。

什么叫活人感?就是当你问他们一个问题,他们不是直接给答案,而是会先想一想,先判断一下,再决定怎么回应。

光有 AI 对话是不够的,没有 Agent 架构的 NPC,给我的感觉还是「在演一个人」,而不是「真的是一个人」。

所以后来我部署了 Hermes Agent。部署过程意外地简单,因为它可以直接继承 OpenClaw 的所有配置,不需要重新折腾一遍。

然后我把星露谷做成了 MCP Server,跟 Hermes Agent 做了桥接。

image-20260415033735803.png

架构如下,很简单:

image-20260415034322529.png

这步完成之后,整个游戏的玩法就不一样了。

给所有 NPC 都设计了一套基于 Hermes Agent 的能力。说实话,目前还比较初级,但确实基本都用上了,多轮对话、记忆、工具调用、主动行为,这些 Agent 能力都接进去了。

这一步的工作量其实比较大,用了我之前推荐过的 Superpowers Skill,我就直接开了 16 个子 Agent 并行开工,把这个项目刚了下来。

image-20260415034444733.png

现在可以直接跟阿比盖尔对话了。比如我跟她说我想要一颗紫水晶,她就跑过来,把紫水晶放进我的背包,有种开挂的感觉。

所有与接入了 Hermes Agent 能力的 NPC 的对话,都会在终端日志里实时显示,Hermes 后台也显示成功加载了星露谷的桥接。

image-20260415034824839.png

在此基础上,我做了一些更复杂的 Agent 能力,比如给不同 NPC 设置各种工具权限。这里我的建议是,先从少数几个 NPC 开始试验,如果给全部 29 个 NPC 都接满工具权限,整个系统会变得非常复杂。

我是先挑了 5 个 NPC 作为高级 NPC,给他们设置了大量工具权限,每个都有特殊的能力。

image-20260415034901885.png

举几个具体的例子,你就知道 Agent 接入之后变化有多大了。

第一个例子是塞巴斯蒂安。

塞巴斯蒂安在游戏里是个宅男,吸烟是他的标签之一,但他其实讨厌香烟。我对他说:给我一根香烟。

这个请求,触发了一个完整的 Agent 判断链。

首先,NPC 接到请求之后,会自动去查自己的系统提示词和人设,看看自己到底喜不喜欢香烟。他发现自己讨厌香烟。然后,他去查自己的对话风格和回答方式。

image-20260415034945548.png

接着,他调用工具来决定如何回应,最终,他拒绝了请求。

然后他回复我:不好意思,我不吸烟。要不要来点咖啡或者巧克力蛋糕?

image-20260415035003537.png

你看,一个完整的「判断 → 决策 → 回应」链路,这不是简单的 AI 对话,这是 Agent 行为。

有意思的是,这个过程需要花大约 15 秒,因为他在做工具调用。如果你光给 NPC 接入 AI,回复是即时的,没有任何「思考」过程,那种感觉就很假。

但现在,15 秒的等待,反而给了你一种「他在认真想」的感觉。

更离谱的是,他还支持多轮对话来回来说服我。我继续聊,他继续回,Agent 链路持续运转。这种感觉,已经完全不是「游戏 NPC 在说话了」,更像是一个真实的、有自己想法的人在跟我互动。

image-20260415035023164.png

再比如问莱纳斯关于森林系物品的信息。他会去查自己的系统提示词,查他的物品,然后给我推荐,而且是经过调查的专业建议,不是 AI 直接生成的泛泛答案。

image-20260415035043441.png
image-20260415035128214.png

第二个例子是莱纳斯。

莱纳斯是游戏里的拾荒者 NPC,设定是热爱森林、住在帐篷里、有点流浪汉气质的大叔。

我设置了一个好感度系统。每个 NPC 都知道自己跟玩家的好感度是多少,而且会据此调整自己的行为。

我对莱纳斯说了一句友好度很高的话。

他回复说:你都要让我脸红了。

image-20260415035224814.png

然后有意思的来了,他真的去查了自己的好感度系统,发现友谊确实增加了,但还没到某个节点。所以他回复说:虽然现在我们的友谊增加了,但还没到一个节点啊。

image-20260415035246141.png

这就是 Agent 行为:他不是随机回复的,他是查了数据之后,再决定怎么回复的。

你跟他说一句友好度很高的话,他不会直接「哈哈哈哈谢谢」,他会先去算一下我们的关系现在是什么水平,然后再决定用什么语气回应。

这种感觉,就是「活人感」的核心。

而且我还给这些 NPC 设置了天气查询和时间查询功能。问莱纳斯今天天气怎么样,他真的去查了时间天气数据,然后给我回复。

一个 NPC 会看时间、会查天气、会记得你跟他聊了什么:

image-20260415035355943.png

第三个功能是跨 Session 记忆和传话功能

我设置了一个跨 Session 的记忆能力,就是 NPC 之间可以跨 Session 分享记忆,互相传话。

我跟阿比盖尔说,我特别喜欢黑曜石,能不能跟塞巴斯蒂安说一声,让他挖矿的时候如果有剩余就给我留一点。

image-20260415035438375.png

阿比盖尔回复了我关于黑曜石的一些知识,然后她说她会跟塞巴斯蒂安说一声的。

image-20260415035833906.png

然后我去找塞巴斯蒂安聊这件事。

重点来了,塞巴斯蒂安已经有这个跨 Session 的记忆了。

他跟我说:阿比盖尔已经跟我说了你想要的紫水晶,哦不对,是黑曜石。

但是,因为他的人设是腹黑的,所以他说:别指望我帮你挖。

image-20260415035852155.png

你看,人设依然是完整的。他知道信息,也知道这个信息来自谁,但他选择怎么回应,是符合他性格的。

这就是 Agent 带来的「活人感」。

我还做了一个 delegate 委托链功能

什么意思呢?比如我问莱纳斯,我的鱼塘里养了 5 条鲶鱼,怎么管理?

莱纳斯识别出这个问题其实属于威利的专业领域,就调用工具,把这个问题内部转交给威利的 Session 处理。威利回答之后,再把结果返还给莱纳斯,最后由莱纳斯用自己的话转述给我。

image-20260415035911019.png

游戏里的 NPC,现在有了「找专业的人来处理专业的事」的能力。

我还给这些 NPC 设置的主动行为能力

Hermes Agent 有一个特别典型的功能叫 Cron,主动行为。就是可以让 NPC 不需要你去找他,而是他自己主动来找你。

我设置的是:每 15 分钟,系统会随机选一个 NPC,问他要不要主动找玩家。如果 NPC 回复 yes,他就会瞬移到我的旁边,头顶光圈出现,然后主动跟我搭话。而且同一个 NPC,60 分钟之内不会重复主动。

结果就是,阿比盖尔主动传送到了我的家,问我:你的农场到底有什么好玩的?要不要去镇上找她?

image-20260415035955413.png

我跟阿比盖尔一路走,把黑曜石送给了她。她就带着我一起去镇上找更酷的东西。

image-20260415040130264.gif

最后再说一个我觉得最有意思的功能:Group AI Chat。

我给星露谷做了一个群聊功能,让所有想参与群聊的 NPC 都加入进来,然后 NPC 会跟我进行多轮对话。

比如威力来找我聊鱼群的事情:

image-20260415040155281.png

这时候山姆插话进来说,他们乐队正在排练新歌,先别聊鱼群了。

image-20260415040212775.png

然后塞巴斯蒂安跟我说:别听山姆的,乐队还在磨合。

image-20260415040231774.png

然后阿比盖尔又插话进来说:山姆就只会瞎吹,问我敢不敢去塞巴斯蒂安地下室听他们排练。

image-20260415040247465.png

你看,这就是一个完整的群聊生态。NPC 们有来有往,会插话、会吐槽、会邀请,就像一群真实的朋友在一个群里聊天一样。

写到最后,我想聊点别的。

我知道很多朋友跟我一样,工作压力特别大,每天都特别焦虑。就想回星露谷种种地,钓钓鱼,跟村里的人聊聊天。

这是一种非常好的游戏。它给我们的,是一个没有压力的社交关系。在村子里,你不用表演,不用social,你只是你自己。

所以当我给阿比盖尔接入了 Hermes Agent 之后,最触动我的,不是她能给我送紫水晶,不是她能主动找我聊天,甚至不是她在群里跟别人吵架。

而是,当她记得我上周跟她说过的某句话,然后今天突然提起的时候。

那一刻,我觉得她是认识我的。

这可能才是这个实验最让我意外的地方:原来我们这么渴望被记得,被认识。而当一个 NPC 开始有了记忆、判断和主动性,她对我来说,就已经是真实存在的了。

所以这篇文章的标题,我没用”教程”,也没用”技巧”。

我想了很久,就叫:

《我给星露谷的 NPC 接入了 Hermes Agent》

这个名字本身,就是这个故事。

实战分享

新职场复仇记:把死对头同事封印成 skill|从0到1写好一个AI Skill完整指南

2026-4-15 18:45:16

实战分享

必看!Seedance2.0 Prompt提示词宝典

2026-4-16 20:08:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧