player123 发表于 2026-5-26 00:07:08

[0.98a][早期测试]SectorComms-AI桥接与游戏内对话

本帖最后由 player123 于 2026-6-8 04:34 编辑

安全声明:
[*]本mod仍然处于极早期开发环节,可能包含极多bug/潜在的屎山崩塌风险,导致运行不稳定/炸档坏档/性能下降等情况,建议酌情添加;
[*]api key目前明码存于本地,如果你的电脑本地库存被人恶意访问,api key有泄露风险(不过据我查阅隔壁rimtalk的key似乎也是明码存于本地);
[*]本mod需要互联网访问才能正常运行,且只会和你的api后端进行通信,本人不会收集任何信息;
[*]mod大量使用了alex在0.98刚刚更新的java17逻辑,所以无任何向下兼容可能。
[*]本mod包含ai生成内容与ai代码,霸主与卢德教徒慎入。
进入正题我一直觉得远行星号的rpg内容很吸引人,但作为多周目玩家总觉得游戏的文本量难以支持玩家的叙事需求。结合隔壁rimtalk的受欢迎程度,于是俺寻思能不能把llm内容引入远神,看能碰撞出什么样的火花。Mod目前分为三个部分发布:
[*]LLM Core处理游戏和api沟通的纯粹上下行路由,支持openai格式工具调用
[*]LLM Comms提供了一些我对llm接入的简单探索:NPC对话,舰队通讯和战斗骚话。
[*]Simplemissionlib与ai通讯大体无关,目前是我对原版酒吧任务闭环的抽象,用于LLM Comms中npc任务发布的工具,后续的npc可用的更多任务/行为框架会放在这里。
同时附上LLM Core的通信api和给自定义npc接入ai对话的接口,方便mod作者给自己的npc接入ai。下面是一些内容演示(友情出演:deepseekv4-flash老师):
NPC对话(相比于之前的预告修改了UI)可以和npc对话,并且支持一些工具调用:这目前写了几个ai会主动调用的原生工具:
————工具示例分割线————
任务管理:依赖simplemissionlib,负责发布与修改任务,可以讨价还价,目前只支持原版酒吧任务(别想着忽悠ai给你奖励调到100w,我加了保险,但如果你真的想写小作文越狱那就给你了)


历史查询:如果npc不知道你说的英仙座历史,可能会从一个知识库里面找一些知识,但知识库目前比较简陋,而且ai调用比较随机(比如下图ai在查奶龙是什么)


切断通信:npc被惹恼或者和你告别的时候会主动关闭通信
还有一些隐藏层用的工具,不过玩家对话时用不到

新版本内容:玩家现在可以和宇宙中的舰队交互,新增行为如转账,结束敌对行为和交火

示例一:玩家打劫商队不成急眼干架


示例二:给巡逻队小礼物巡逻队主动离开

————对话工具示例毕————

ai在回答你的问题的时候还会一并生成旮旯给木选项,毕竟玩家有时候懒得敲字

背景无线电:一个增加世界沉浸感的小功能:现在会随机请求生成一些殖民地和附近舰队的无线电,舰队的行为和与玩家的互动可能会对内容产生影响。


舰队无线电:同上的界面也会显示你的舰队的内部通信,包含军官和无军官船只,舰船会说闲话,或者开启话题聊天,作为舰长你也可以通过能力槽添加的按钮加入。生成的时候会参考一些真实信息



长期记忆:npc会根据与玩家的互动记录长期记忆,并且形成对玩家的印象,但暂时没有游戏整体性影响。我曾经在测试中把一个npc骂到自闭,后面这个npc每次都会秒关通信。同样的,你的军官和舰船也会根据目前有限的活动形成记忆,会对战斗骚话内容产生影响


战斗骚话:LLM现在会接管战斗骚话系统,并动态维护一套战斗骚话供舰船使用,联动详细战斗报告,会提供更多信息维护舰船记忆,间接影响骚话生成。这部分代码参考了传奇作者Histidine的combat chatter的代码(MIT开源),代码引用告知了作者。



补充:演示图均为多mod测试环境下正常游玩截取,涉及别的mod的舰船资源/美术资源如侵权我会删除

——内容演示毕——
为了保证测试版内容没有潜在大面积污染核心星域的风险,目前新增了星系:Elysian Remnants与星系内的两个市场。你可以在这两个市场里找到挂载了角色卡的示例npc。除此之外,战斗骚话生成与无线电内容在所有地区正常生效。
兼容性目前没有严谨测试,但我在自用的50mod合集上测试目前没有遇到问题。
就目前的内容而言,本mod还远远没有达到我给游戏加入叙事驱动的目标,而且细看mod的话会发现模组较为欠打磨。目前功能于我看仅仅是给游戏接入了对话逻辑,更像一个技术演示,但如果能稍稍增加玩家的沉浸感,或许就达到当下的小目标了。这个mod还有很长的开发路要走。
短期上我在尽可能让当前的ai更加content-aware,能够对的世界里的动态事件有一个更好的感知能力,目前注入舰队频道的信息较为有限。并且与势力争霸的动态星区政治的联动也在积极策划中。而对于长期目标我则是希望能够做一个类似骑砍效应mod的叙事+任务引擎。
现在把mod放出来也是想起到一个抛砖引玉的效果,希望能广泛接受大家的建议和bug反馈,我也会在代码更加完善的时候开源mod。mod作者也可以基于这个框架把自己制作的npc接入ai,甚至可以基于当前的LLM框架发挥更好的创意。我还创建了一个mod测试群,有意愿的坛友可以进群来提建议/找bug/瞎聊。群号:1087756608
非常重要:使用说明]mod目前有两个难以解决的问题:首先是api与key输入,由于lunalib提供的settings有字符上限,我在LLM_Bridge_Core的mod文件夹里存了一个llm_api_key_manual.txt,尽量在这个文件里面填写api和key,这里面的内容加载优先级高于lunasettings里面的字符,或者你可以把你的key拆成三份,我在lunasettings里面放了三个输入框,游戏可以自动拼接。但无论是lunalib还是本地txt,key都是明码存储在本地。如果你认为你的本地文件有泄露风险,我建议你使用不那么重要的key。经过我调研有大量使用者的rimtalk也是明码存储,所以我觉得问题不大。然后是中文输入,游戏内不支持中文输入法,但可以复制黏贴中文内容,我会计划做一个集成工具,目前推荐使用论坛大佬开发的基于AHK(Auto Hot Key)的游戏内中文输入工具 可以大大简化流程
感谢histidine和detailed XR两位大佬的开源代码提供的参考和接口支持,感谢SillyTavern团队对角色构建,尤其是角色卡提供的参考,感谢大佬人质救星Fuze开发的中文输入工具拯救了这个mod,感谢deepseek和gpt的代码帮助,感谢坛友萌之前的鼓励
1. LLM Bridge Core 扩展实现对于想要在自有 Mod 中深度调用 AI 逻辑的开发者,底层提供了一套异步通信与回调闭环。以下是一个最小扩展实例:第一步:注册回调响应(接收模型结果)在你的 ModPlugin 启动阶段,注册一个全局处理器来接管指定上下文的 JSON 响应。Java

public class MyModPlugin extends BaseModPlugin {    public static final String MOD_ID = "my_llm_mod";    @Override    public void onApplicationLoad() {      // 注册回调处理器,精准捕获模型返回的动作(action)与文本(text)      LLMBridgeModPlugin.registerResponseHandler(MOD_ID, new ResponseHandler() {            @Override            public void handle(JSONObject response) {                String action = response.optString("action", "");                String text = response.optString("text", "");                // 在此解析并执行游戏内逻辑,例如:发放物品、生成舰队、触发UI等            }      });    }}


第二步:发起异步请求(向模型发送数据)在需要的时机,组装数据并发送。Java

// 构建包含游戏内当前状态的 JSON 负载JSONObject payload = new JSONObject();payload.put("player_message", "有什么工作可以给我吗?");payload.put("npc_name", "Marcus");payload.put("location", "Magec 空间站");// 发送请求:参数依次为你的 Mod ID、提示词模板名、JSON数据包、上下文标签LLMBridgeAPI.requestLLM("my_llm_mod", "npc_dialogue", payload.toString(), "npc_dialogue");


请求提交后全异步在后台线程池执行,不卡顿游戏主线程。结果通过上文注册的 ResponseHandler 无缝接管,形成标准闭环。让你的 AI NPC 实装到游戏中对于想要自己创建ai对话角色的作者,或者给已有人物第一步:编写角色卡 (Character Card)新建 你的mod/data/config/llm_contact/characters/cards/my_cards.json,在其中定义 AI 的核心设定:JSON

{"id": "my_mod:story_boss_card","target_type": "npc","enabled": true,"identity": {    "display_name": "阿尔法 (Alpha)",    "description": "隐藏在辛达强权背后的神秘军火商"},"persona": {    "summary": "冷酷、精于算计的商人,视人命为筹码",    "traits": ["极度理性", "利益至上", "说话喜欢用比喻"],    "values": ["财富即权力", "混乱是最好的阶梯"]},"voice": {    "summary": "优雅但带着隐隐的威胁感",    "patterns": ["喜欢把星区局势比作棋盘", "用低沉的语调嘲讽玩家"],    "avoid": ["使用粗俗的脏话", "情绪失控"]}}


第二步:编写挂载规则 (Mount Rule)新建 你的mod/data/config/llm_contact/characters/mounts/挂载规则名.json。通过 match 字段,你可以决定这张卡挂载给谁:方法 A:精准绑定(通过 person_id)这是最高优先级的匹配方式。如果你有一个拥有固定人物 ID (person_id) 的NPC,只需直接填入该 ID。系统会将其与目标进行唯一绑定:JSON

{"id": "my_mod:story_boss_mount","card_id": "my_mod:story_boss_card","target_type": "npc","enabled": true,"priority": 100,"match": {    "person_id": "my_story_boss_npc_id"   }}


场景 B:范围匹配(通过势力 faction_id 与职位 post_id)如果你想让这张卡应用于所有符合条件的 NPC(例如替换掉所有霸主势力的港口管理员),只需组合匹配条件:JSON

{"id": "my_mod:hegemony_portmaster_mount","card_id": "my_mod:hegemony_portmaster_card","target_type": "npc","enabled": true,"priority": 50,"match": {    "faction_id": "hegemony",    "post_id": "portmaster"}}


注:系统会自动处理冲突。如果一个 NPC 同时满足场景 A 和场景 B,person_id 匹配权重大于势力/职位组合,系统会优先加载专属卡。第三步:注册清单 (Manifest)最后,新建 你的mod/data/config/llm_contact/characters/manifest.json,将上述配置文件注册到数据库中:JSON

{"schema_version": 1,"cards": [    "cards/角色卡名称.json"],"mounts": [    "mounts/my_mounts.json"]}


完成!启动游戏后,mod会自动将角色卡挂载上对应的npc,并同步挂载ai对话逻辑


目前仍然处于极早期开发阶段,为了避免频繁更改代码带来的技术债,暂时作闭源处理。等到版本稳定后我会转为开源。就目前而言,你可以:
- 开发并发布依赖本贴 Mod 的拓展。
- 调用本贴所有 Mod 的公开 API 接口。
- 沿用或解析本贴所有 Mod 的所有 JSON 数据格式(包括通讯协议,人物卡等,其中卡片格式灵感再次致谢 SillyTavern)。会做一个更详细的技术文档,不过现阶段有疑惑/需求的话欢迎加群讨论


更新06/08/2026
新增宇宙内对话,玩家可以和对方舰队的指挥官开启通信
新增各大市场内npc联络人,酒馆没有心仪的任务可以去看看
酒馆系统框架

合并势力争霸集成,关闭了月度总结和年度总结(派系多了卡游戏还耗token)

诸多性能问题修复,感谢群友反映的性能问题

更新 05/28/2026:
增加了势力争霸联动:本星系事件现在会注入prompt。Ai会根据势力争霸的大世界写月度总结。势力争霸部分拆分成了mod:nex strategic watcher
背景消息支持短对话
Simplemissionlib封装了更多原版api闭环,为后续的任务框架做准备
修复了若干潜在性能问题
UI生活质量优化


player123 发表于 2026-5-26 00:10:02

我去,图都被吞了{:tieba_34:}

八云梦 发表于 2026-5-26 00:54:05

好活
顺便再踩一脚Alex那个沟槽的rules

player123 发表于 2026-5-26 01:07:49

本帖最后由 player123 于 2026-5-26 01:09 编辑

八云梦 发表于 2026-5-26 00:54
好活
顺便再踩一脚Alex那个沟槽的rules
不能不品

无可分解 发表于 2026-5-26 03:29:58

太强了

rua! 发表于 2026-5-26 08:22:27

使用这个mod霸主会经常上门查ai吗

飞将奉先 发表于 2026-5-26 09:28:28

强强强强!

SentryIronGD 发表于 2026-5-26 09:58:48

{:tieba_03:}强强强!!!

阿库喵 发表于 2026-5-26 10:26:37

那么强!

我和你拼了 发表于 2026-5-26 11:42:14

本帖最后由 我和你拼了 于 2026-5-26 11:50 编辑

{:tieba_15:}{:tieba_15:}

寒流 发表于 2026-5-26 12:23:06

好东西啊{:tieba_22:}

约翰济慈 发表于 2026-5-26 12:37:41

我擦论坛最近总能长出力作{:5_134:}

议长不死于锉刀 发表于 2026-5-26 13:42:00

增加rpg体验这一块,好活

还有rules这种明显给策划/美术/mod新手用的脚本语言除了多语言会麻烦到底有啥好喷的……

念远 发表于 2026-5-26 13:51:41

NB{:tieba_43:}{:tieba_29:}

八云梦 发表于 2026-5-26 14:32:01

议长不死于锉刀 发表于 2026-5-26 13:42
增加rpg体验这一块,好活

还有rules这种明显给策划/美术/mod新手用的脚本语言除了多语言会麻烦到底有啥好 ...

也不是喷,就是这么长时间了Alex也没考虑过更进一步的MODDING向扩展就很……要不是我知道他的古董级别的IDE环境不然少说得问问他是怎么受得了这玩意儿的{:5_132:}

player123 发表于 2026-5-26 14:44:10

rua! 发表于 2026-5-26 08:22
使用这个mod霸主会经常上门查ai吗

霸主也成ai了{:tieba_12:}

player123 发表于 2026-5-26 14:50:44

八云梦 发表于 2026-5-26 14:32
也不是喷,就是这么长时间了Alex也没考虑过更进一步的MODDING向扩展就很……要不是我知道他的古董级别的I ...

有一说一如果alex0.98没更新到java17这个mod的网络通信部分可能会复杂很多

议长不死于锉刀 发表于 2026-5-26 14:58:49

八云梦 发表于 2026-5-26 14:32
也不是喷,就是这么长时间了Alex也没考虑过更进一步的MODDING向扩展就很……要不是我知道他的古董级别的I ...

呃,可是现在这情况已经是完全可拓展的啊,只是modder不会写的问题吧……无论是直接代码驱动还是代码rules混合驱动都是没问题的啊

player123 发表于 2026-5-26 16:39:50

准备策划一下势力争霸的联动,目前我只想到两个主要方面:
一个是事件监听和注入,一个是世界观和历史维护。
如果各位有想法的话欢迎讨论哇

極光 发表于 2026-5-26 17:17:24

!?强强!!?

技术力太强了!!!{:tieba_36:}

支持一切诋毁alex的行动!!!

yutu- 发表于 2026-5-26 17:49:05

不错哎

摸鱼壬青央 发表于 2026-5-27 06:17:52

我草

Lexington 发表于 2026-5-27 10:51:56

好mod

冷鸢 发表于 2026-5-27 12:35:42

非常不错

尘墨执念 发表于 2026-5-27 13:25:53

咕,我要和尖牙氏族谈恋爱啊口牙

blackbaron 发表于 2026-5-27 15:27:28

?!强强!?

ZX.Devil 发表于 2026-5-27 17:18:57

大佬太强了,这下远神也要成galgame了{:tieba_43:}{:tieba_43{:tieba_16:}{:tieba_16:}{:tieba_16:}

不取了 发表于 2026-5-27 19:38:20

{:tieba_09:}如果把mod列表里面的这个名字作为更加通俗易懂的中文内容就更好了,毕竟,我需要在一些带有英文的乱七八糟的mod里面挑出我想要加装的某些特定内容是一件相当麻烦的事情{:tieba_30:}

不取了 发表于 2026-5-27 20:43:19

兄弟兄弟,你这,语言输出模式改了中文几个字后没有出现可以保存项,就算是换了某个选择再切回去又变成默认英语格式输出了{:tieba_09:},即便点了某个 小选项改了中文输出格式后再切回去它的保存依旧没有生效,但是只有提示词生效了{:tieba_23:}

player123 发表于 2026-5-27 20:47:03

本帖最后由 player123 于 2026-5-27 20:50 编辑

不取了 发表于 2026-5-27 20:43
兄弟兄弟,你这,语言输出模式改了中文几个字后没有出现可以保存项,就算是换了某个选择再切回去又变成默认 ...
我这边luna设置界面的保存应该在UI左上角,中文列表名下个版本会一起改

player123 发表于 2026-5-28 15:28:19

更新了势力争霸联动与若干QoL改动,势力争霸联动单独打包,可能不支持旧存档

不取了 发表于 2026-5-28 19:59:04

player123 发表于 2026-5-27 20:47
我这边luna设置界面的保存应该在UI左上角,中文列表名下个版本会一起改

...

点过的,之后依旧回弹设置{:tieba_09:},不然我也不会把发在你贴评论区下边了

光圈辞职员工 发表于 2026-5-28 20:40:16

lz的mod_info貌似编码错了,下载包里的编码是utf8 with bom,应该是utf8,我研究了半个小时才找到为啥不在mod列表里出现{:5_128:}

player123 发表于 2026-5-28 20:46:35

光圈辞职员工 发表于 2026-5-28 20:40
lz的mod_info貌似编码错了,下载包里的编码是utf8 with bom,应该是utf8,我研究了半个小时才找到为啥不在m ...

我的我的,codex用powershell读mod info会自己改成utf 8 with bom,已经重新打包

player123 发表于 2026-5-28 21:09:54

不取了 发表于 2026-5-28 19:59
点过的,之后依旧回弹设置,不然我也不会把发在你贴评论区下边了

我这边没有复现出来欸,难道是lunalib版本问题?你要不暂时先去saves\common\LunaSettings\llm_bridge_core.json.data里面改一下,等我这两天抽出身来仔细研究一下问题

光圈辞职员工 发表于 2026-5-28 21:15:15

刚才启动又在报错,去研究了一下发现是core和Comms的LunaSettings.csv编码也错了,后来又一直说core里面的LunaSettingsDefault.default有错但我找不到在哪,去其他mod目录翻了翻发现没有这个默认值,于是我直接删了,成功启动了

player123 发表于 2026-5-28 21:18:24

光圈辞职员工 发表于 2026-5-28 21:15
刚才启动又在报错,去研究了一下发现是core和Comms的LunaSettings.csv编码也错了,后来又一直说core里面的L ...

是.....一揽子文件编码都有问题,你下载我新打包的吧

Shirakaba 发表于 2026-5-30 01:09:20

为何下不了了兄弟?😂

player123 发表于 2026-5-30 01:11:36

Shirakaba 发表于 2026-5-30 01:09
为何下不了了兄弟?😂

现在应该好了

Shirakaba 发表于 2026-5-30 08:17:26

player123 发表于 2026-5-30 01:11
现在应该好了

{:tieba_15:}牛的一!

不取了 发表于 2026-5-31 08:25:03

{:tieba_09:}作者差不都算是相当勤劳了,连着两天凌晨后睡觉)因为偶一下载下去就触发到了一串bug和堆栅溢出的bug

x希安喵x 发表于 2026-6-1 14:23:22

游戏启动报错了喵,把这几个mod下了就正常了喵,怎么会这样喵,需要提供log和mod列表吗喵?

player123 发表于 2026-6-1 14:26:09

x希安喵x 发表于 2026-6-1 14:23
游戏启动报错了喵,把这几个mod下了就正常了喵,怎么会这样喵,需要提供log和mod列表吗喵? ...

这个bug好像群里有人报告过,我热修了一版但还没传上论坛。我重新上传了一版,你试试这个新的可不可以

x希安喵x 发表于 2026-6-2 13:13:22

player123 发表于 2026-6-1 14:26
这个bug好像群里有人报告过,我热修了一版但还没传上论坛。我重新上传了一版,你试试这个新的可不可以 ...

现在能进去了,但是llmcom设置点被动无线电会闪退,顺便问一下支持player2ai吗?

player123 发表于 2026-6-2 13:14:37

x希安喵x 发表于 2026-6-2 13:13
现在能进去了,但是llmcom设置点被动无线电会闪退,顺便问一下支持player2ai吗? ...

如果是openai兼容的url和key,应该可以。 闪退问题下个版本一起修

星光与风之夜 发表于 2026-6-5 18:24:18

好东西

player123 发表于 2026-6-8 04:37:47

新版本,诸多性能修复,现已加入在太空中跟别的舰队指挥官扯皮,玩家可以和npc互相转账。npc也可能根据扯皮结果改变舰队行为(比如立即敌对或者结束敌对)。还有一个初步的酒馆框架。

amcx 发表于 2026-6-10 22:44:44

本帖最后由 amcx 于 2026-6-10 22:51 编辑

请问这种情况是怎么回事,api位置填错了?还是哪里需要额外设置?

llf 发表于 2026-6-10 23:26:44

可以中途加入吗 可以设置大提示词框架那种吗{:5_124:}

player123 发表于 2026-6-12 22:57:03

amcx 发表于 2026-6-10 22:44
请问这种情况是怎么回事,api位置填错了?还是哪里需要额外设置?

应该是api填写失效了,LLM_core文件夹里面有个manual.txt,里面有api填写入口
页: [1] 2
查看完整版本: [0.98a][早期测试]SectorComms-AI桥接与游戏内对话