You are viewing a potentially older version of this package. View all versions.
from_dsp_bwiki-IcarusII-1.1.247 icon

IcarusII

游戏内 AI 助手:按 R 打开终端,可问机制、产线、存档状态,并在你确认后执行游戏内操作。需自备 DeepSeek 或任意 OpenAI 兼容 API Key。

Date uploaded 2 weeks ago
Version 1.1.247
Download link from_dsp_bwiki-IcarusII-1.1.247.zip
Downloads 34
Dependency string from_dsp_bwiki-IcarusII-1.1.247

This mod requires the following mods to function

xiaoye97-BepInEx-5.4.17 icon
xiaoye97-BepInEx

BepInEx5.4.17 mod plugin framework, Mod框架

Preferred version: 5.4.17

README

伊卡洛斯·贰 / Icarus II

游戏内 AI 助手。按 R 打开终端,问机制、产线排布、存档状态; AI 能读取你当前的存档给建议,并在你确认之后执行游戏内操作。


你需要三样东西

项 说明
游戏 Dyson Sphere Program (0.10.30.3100)
框架 BepInEx 5.4.17+
API Key 任意 OpenAI 兼容端点(Ollama / LM Studio / vLLM…)

DeepSeek Key 在 https://platform.deepseek.com/ → 左侧 API Keys → 创建。 API 按量计费,和网页版聊天是两套计费;新账号如果没有赠送额度,需要先充值。


安装(推荐:r2modman)

  1. 安装 r2modman;
  2. 游戏列表里选 Dyson Sphere Program,进入 Online,搜索 IcarusII (作者 from_dsp_bwiki),安装;BepInEx 5.4.17 会自动作为依赖装好;
  3. 安装完点 Start modded 启动游戏——不要从 Steam 直接启动,否则配置档不会生效;
  4. 进游戏按 R。

r2modman 把 mod 和 BepInEx 放在自己的配置档目录,不会写进游戏根目录。 更新也在 r2modman 里完成;不要手动往配置档里覆盖 DLL。

手动安装(不推荐 / 备用)

只有不用 r2modman、或需要自己管理游戏目录时才走这条路。手动安装和 r2modman 配置档 是两套目录,不要混着装。

先安装 BepInEx 5.4.17+(或 5.4.23.5)到游戏根目录,和 DSPGAME.exe 同级;启动一次游戏 让 BepInEx/plugins/ 生成,再把压缩包里的 IcarusII 文件夹(Thunderstore 包路径是 plugins/IcarusII/,手动包是 IcarusII/BepInEx/plugins/IcarusII/)整个复制到 <游戏目录>/BepInEx/plugins/,最终结构应为:

BepInEx/plugins/IcarusII/
├── IcarusII.dll
├── sidecar/icarus-ii-sidecar.exe
└── ui/icarusii-ui

首次使用

  1. 从 r2modman 点 Start modded 进游戏,按 R;
  2. 第一次会提示尚未配置 AI。点聊天窗右上角的 ⚙ 齿轮——聊天窗会先收起, 设置窗口会直接停在 mod 新增的「模型」页;
  3. 在 API 密钥 里粘贴 DeepSeek Key,点「检测」,看到「Key 可用」再往下;
  4. 模型列表里点一个模型(萌新用 DeepSeek V4 Flash);用 DeepSeek 时 API 地址留空, 列表为空或没有可用模型时,点 获取可用模型 从账号实际可用的模型里添加;
  5. 点右下角 应用设置,关掉设置窗口,再按 R 打开聊天窗;
  6. 状态变成「就绪」后就能提问了。

保存后密钥框会清空,显示「已配置,留空不修改」,这是正常的,不是没保存。

Key 只保存在本机 sidecar 的数据目录里,不会回传到游戏界面,也不会写进聊天记录。


能做什么

  • 问游戏机制、配方、产线排布、卡关了该先修什么;
  • 让 AI 读取你当前存档的状态(背包、电力、物流、研究…)再给建议;
  • 在你确认之后执行游戏内操作(例如改配方、存储整理、投料、建立方位指示);
  • 生成 / 下载 / 复制蓝图后,对话末尾会出现蓝图卡片:显示产量、建筑数、占地与作者, 点「查看」打开蓝图浏览器,点「使用」直接进入粘贴预览;重进存档也会随历史回放;
  • 右上角 ⚙ → 模型 页签:改提供商 / 模型名 / API Key / API 地址 (把地址指向本地 Ollama 就能完全离线跑);
  • 输入框工具条:插入游戏图标、复选框、文字颜色——和游戏原生输入框同一套弹窗。

隐私与安全

  • API Key 只存在本机,聊天内容发送到你自己配置的那个端点;
  • 调用 Wiki / 蓝图搜索时会访问对应网站,但不会把整个存档打包上传;
  • sidecar 是本地子进程,只监听 127.0.0.1;
  • AI 执行任何游戏操作前都会先征求你的确认;
  • 卸载:在 r2modman 里卸载 IcarusII;手动安装则删除 BepInEx/plugins/IcarusII/ (数据目录 %APPDATA%/icarus-ii 可另行删除)。

常见问题

装了没效果 / 游戏里没有 mod 确认你是从 r2modman 的 Start modded 启动,而不是从 Steam 直接点开始。 r2modman 的配置档不会注入 Steam 直接启动。

按 R 没反应 在 r2modman 里打开 Settings → Locations → Browse profile folder, 看 BepInEx/LogOutput.log 里有没有 Icarus II 1.1.247 已加载。 没有 → BepInEx 没生效(依赖没装好 / 启动方式不对);有 → 建造模式下 R 会主动让位给游戏 (旋转建筑),退出建造模式再按。星图、戴森球编辑器等全屏界面也不响应。

窗口显示「未连接」 检查 r2modman 配置档里的 BepInEx/plugins/IcarusII/sidecar/icarus-ii-sidecar.exe 在不在;多半是被杀软隔离了,把整个 IcarusII 文件夹加进白名单。

杀毒软件报毒 / 提示"未知发布者" sidecar 是用 Node.js 打包的自包含 exe,且会拉起本地进程,容易被启发式引擎误报。 可用下面的 SHA256 校验文件,或把样本提交给微软误报申诉。介意的话可以先只装 .dll, 不复制 sidecar/(此时聊天不可用,但界面能看)。

Linux / Steam Deck / Proton 用 r2modman 的 Linux 版 / flatpak,点 Start modded 即可,Proton 环境它会自己处理, 不需要手动加 winhttp。

只有手动安装(不用 r2modman)时才需要二选一:

# Steam 启动选项
WINEDLLOVERRIDES="winhttp=n,b" %command%

或向前缀注册表写入(与安装脚本做的事相同):

[Software\\Wine\\AppDefaults\\DSPGAME.exe\\DllOverrides]
"winhttp"="native,builtin"

设置窗口里没有「模型」页 说明 mod 没加载成功(页签是运行期注入的),先按上面的方法查日志。

接口报错 / 401 / 404 进 ⚙ → 模型,确认 provider、模型名、API 地址是否与你的 Key 匹配; 用本地模型时地址要带 /v1(例如 http://127.0.0.1:11434/v1)。

游戏更新后不能用了 DSP 每次大版本更新都可能改动内部类型。看日志里的报错,或等本 mod 适配新版本。


遇到问题?加群讨论

QQ 群 1091497260(伊卡洛斯二号研发中心)。

提问时带上现象描述和 BepInEx/LogOutput.log 里对应的报错,能更快定位。


文件校验(1.1.247)

icarus-ii-sidecar.exe   SHA256 ea173e28274c6227ccf9f5aa069ab2b3d0df706d06d1bd55c8bcfbbed31f3368
IcarusII.dll            SHA256 c547dfefda180a373629465e93eb64ba0a1e08dc552b76cc6d773b9a97a77540

English (short)

In-game AI assistant for Dyson Sphere Program. Press R, ask about mechanics, factory layouts or your save; the AI can read your save and, only after your confirmation, perform in-game actions.

Requires BepInEx 5.4.17+ (5.4.23.5 also tested) and your own DeepSeek (or any OpenAI-compatible) API key. The key is stored locally only; all traffic goes to the endpoint you configure.

Questions? Join the QQ group 1091497260.


MIT licensed. Bundles Node.js (MIT) and pi (MIT). BepInEx is not redistributed — r2modman installs it as a dependency, or install it manually.

CHANGELOG

更新日志

1.2.342

多会话与聊天窗体验更新。

新功能

  • 多会话并行:多个会话可以同时回答,切换会话不会中断后台任务;需要确认或作答时会在左栏提示。
  • 左栏会话标题显示最后回复时间,并支持置顶;点击标题可展开或收起记录。
  • 回复区支持重新生成和撤回最后一轮。
  • 作答面板支持返回、多题单选连续作答,以及选项说明。
  • 写操作确认页显示 AI 请求的详情。

改进

  • 后台会话出错时保留提示,切回后能看到原因。
  • 脚本写操作、切换存档和确认操作的稳定性提升。
  • 聊天窗与设置页的显示问题已修正。

1.1.298

会话列表状态图标。

新功能

  • 左侧会话标题前的状态图标:正在回答时显示旋转的 loading,等待玩家确认或作答时显示 warning, 后台会话完成时显示 new;普通状态仍然显示原来的展开/收起箭头。
  • 状态图标只负责展开/收起会话记录;切换会话仍然点标题。
  • 后台会话需要确认或作答时,不再强制切到那个会话;你可以继续看当前会话,切过去后再处理。

修复

  • 后台会话完成后再切回去,历史回答的脚注保留完成时间,不再显示 --:--。

1.1.295

多会话并行、蓝图 DSL 与工厂布局出图。

新功能

  • 多会话并行:多个会话可以同时回答;切到别的会话不会中断后台任务,切回后会接上已生成的正文。 建造/存储/研究等写操作按建筑、星球分层加锁,避免两个会话同时改同一目标;后台会话需要玩家确认或提问时会等你切过去。
  • 蓝图 DSL:可以用简短的 bp.js 描述产线并编译成游戏蓝图,blueprint_compile 负责校验与生成; 不再只能手写完整蓝图数据。
  • 工厂布局出图:按总线/模块生成工厂布局,支持多配方、量子化工厂、化工厂、位面熔炉、研究所和物流站供料; 出图前做碰撞、分拣器、断带、越界硬校验,并按容量拆张、给出蓝图统计。
  • 物流站:新增端口格表与站单体校验,供料支持 supply=station。
  • 轮内待办:AI 可以在当前回合维护目标清单,回合结束自动清空。
  • 顾问字幕:聊天窗关闭时,后台完成/提问等事件用游戏顾问字幕提示。

修复

  • 已完成或跳过的游戏目标在重开后不再重新注入。
  • 目的地指引右键逐个删除、清空全部定位时按游戏原生行为处理;地图标记使用当前行星的定位标记。
  • 自由探索和沙盒存档里也能正常显示 AI 目标。
  • 思考块流式输出时高度只增不减,不再抖动。
  • 左栏会话记录改为最新一轮在前;工具页分类标签恢复分组筛选。
  • 顾问提示恢复三段式,修掉双层引号、表格残留和首行缩进。
  • 星球链接聚焦补上分步日志与半径防护。
  • 兼容 0.10.35 蓝图的 content 字段,并校准校验器。

变更

  • 升级 pi SDK 到 1.5.0,依赖升级到 Node 26 / TypeScript 7 / typebox 1.4 线。
  • 蓝图出图器取代旧的线性链/单段布局;大产线拆张有 8 秒预算和 512 张上限。

1.1.247

第三方 mod 桥重做、回答可中断,以及作答面板与聊天窗的一批修复。

新功能

  • 其他 mod 控制:设置 → 工具 → mod 页签可逐插件开启或关闭;关闭后该插件对 AI 完全不可见。 每个插件可以单独设权限档位(只读 / 受限 / 接管,默认受限),列表会标注适配器来源与工具数量。
  • AI 生成适配器:AI 可以按插件的公开方法生成适配器,玩家确认后写入并立即生效; 生成的能力每次调用都会请求确认,插件更新后版本不匹配的适配器会自动禁用。
  • 中断与插话:回答过程中可以中断当前回合,或在输入框有内容时插话;被打断的回复会保留并标注「已停止」。

修复

  • 作答面板:选项 hover 高亮残留、题目序号不随题目变化、自定义答案输入框无法使用输入法。
  • 聊天窗:中断后按钮不回切「发送」、长文本不撑开输入区、用户气泡的时间与复制按钮消失。
  • 会话:切走空会话后仍留在索引里;左栏记录按标签真实字号截断,不再溢出。
  • 其他 mod:适配器参数类型写法不规范会导致整轮请求失败;插件启动较晚才注册的配置项不会生成配置工具; 设置页不刷新适配器状态。

1.1.227

设置页重制、第三方 mod 桥,以及聊天窗的过程正文与输入体验修复。

新功能

  • 设置页重制:改为左侧六分区导航(通用 / 模型 / 会话 / 工具 / 按键 / 关于), 关于页二维码放大居中。
  • 快捷键:打开、发送、换行三组按键可自由绑定,带字符拦截与输入法组字保护。
  • 会话管理:会话页支持跨存档索引、搜索、重命名、删除与导出。
  • 工具开关:可逐项关闭工具;被关掉的工具不会下发给模型,run_script 白名单同步收紧。
  • 第三方 mod 桥:可以读取和修改其他 BepInEx 插件的配置; 只注册插件自己声明的工具,并可按插件启用/禁用; 另提供 manifest 草稿工具,以及 uGUI 控件树快照与合成点击。
  • 过程正文:模型在两次思考/工具调用之间说的话,会按发生时刻排在块序列里, 不再和最终回答拼成一段;历史回放也按同样顺序重建。
  • 输入草稿:关闭聊天窗不再丢失未发送的内容,重新打开会恢复; ESC 只让位/关窗,不再被当成“取消编辑”。

修复

  • 长思考块:增量改为逐帧渲染,流式只画最新一段;单块上限 12000 字符, 超出部分给省略提示,避免长思考卡顿或后半段不显示。
  • 恢复草稿后点击输入框,文字因颜色表被清空而不可见。
  • 工具列表展示工具描述;修正工具行开关被纵向拉伸的问题。
  • 会话列表隐藏 0 条记录的新会话。

1.0.0

首个正式版:多会话、目标注入、权限与思考档位,以及一轮界面重做。

新功能

  • 多会话:一个存档可以保存多个对话;左栏新增会话列表,可新建、切换、删除, 切换会话不再覆盖旧记录。
  • 会话标题:AI 会为会话自动生成标题,也可以直接重命名;标题随会话保存,切回不会丢。
  • 会话索引:标题可以展开/收起(三角旋转动画);当前会话蓝色高亮; 删除按钮只在鼠标停留在标题上时出现,平时与标题同色、悬停变红; 顶部“新会话”改为气泡加号图标按钮(白色默认、悬停变蓝)。
  • 标题图标:标题栏新增图标按钮,可把游戏图标插入会话标题。
  • 权限与思考:思考四档(关闭/低/高/最高)、权限三档(只读/受限/接管), 默认“受限”;只读模式下不显示蓝图写工具。
  • 供应商:设置页的供应商列表从 pi 内置目录自动加载,预设第一项为“自定义…”, 可以直接填中转地址。
  • 游戏目标:AI 可以在玩家确认后注入游戏原生目标,在目标面板里显示并追踪。
  • 入口与引导:首次使用会引导到右上角设置页;Game Menu 截图键旁新增聊天入口; 输入工具条的图标/复选框/颜色按光标位置插入。
  • 反馈渠道:README 增加 QQ 群(1091497260)。

变更

  • 运行期配置迁入 sidecar 的 config.json,聊天窗文案走游戏本地化。
  • 未配置 API Key 时不再预置模型:模型列表保持为空,配好 key 后再拉取或手动添加。
  • 日志瘦身:去掉每秒一次的诊断输出和 DebugLogGate 开关, sidecar 的 info 日志不再刷进主日志。

修复

  • 标题框与输入框互相抢焦点;聊天输入框多余的“输入”悬停提示。
  • 重命名会话标题后切换会话会回退。
  • 标题图标按钮点选后不回填。
  • 切换底部面板后高度不重算、打开窗口不贴底。
  • 确认页的拒绝按钮与布局、目标注入后不显示。
  • 标题栏保持在对话区上方。

0.4.0

读侧优化、受控写工具、实体链接卡片与方位指示。

新功能

  • 丢弃/配方/存储/投料:game_drop_item、game_set_recipe、game_set_assembler_batch、 game_take_output、game_feed_input,以及存储过滤器/容量/移库/存入/取出。 写操作仍需玩家确认;存储/投料可撤销,取成品不可撤销。
  • 受控写脚本:run_script 默认只读;脚本含字面量写工具时先弹一次脚本级确认, 租约绑定脚本哈希与写工具名,结束立即释放;动态拼写写工具名会被拒绝。
  • 实体链接:回答里的 dsp://entity/planet|building|vein/... 可点击聚焦; 建筑/星球/矿脉链接卡片随回答显示,支持历史回放、定位/已定位。
  • 方位指示:game_tether_add/list/clear,本星球多目标自绘线,跨行星用原生导航。
  • 读侧优化:game_get_entity 支持 fields/entityIds;game_get_planet 支持矿脉群与逐矿脉分页。

修复

  • 恢复 game_place_marker,保持 game.write.v1 工具集合兼容;标记可撤销。
  • 按 design §9.1 移除不可撤销的 game_dismantle,避免无自动存档兜底时的破坏性操作。
  • 撤销栈:不可撤销操作会占用栈顶并明确报错,不再误撤销更早的无关操作; game_undo_last_write 现在也走确认。
  • 存储写入按真实容量(bans + 过滤)预检,修复背包/存储满时可能丢物品的窗口。
  • 矿脉链接卡片不再在历史回放/删除回合时丢失。
  • 重复提问的链接卡片按回答原文消歧,避免卡片串到别的回合。
  • 行星视图聚焦与研究目标切换:写工具在行星视图/研究目标下不再失败或切错。

0.3.2

问答界面、受控写操作与经纬度坐标;上下文压缩可见、可撤销;sidecar 升级到 pi 1.4。

新功能

  • 问答界面:AI 需要玩家选择或补充信息时,聊天窗会弹出原生问答面板 (选项 + 自定义答案),玩家回答后继续。
  • 受控写操作:game_focus_camera、game_place_marker、game_open_panel、 game_set_research、game_undo_last_write;执行前弹确认,关窗、Esc、 60 秒不回答都按拒绝处理;写操作带一次性令牌,重放或改参数会被拒绝。
  • 经纬度坐标:读侧工具返回建筑/目标的经纬度,便于描述位置。
  • 压缩记录:模型自动整理上下文时,聊天窗会出现一条 “[时间] 自动压缩上下文”记录,下面是压缩摘要;之前的对话在索引里变灰, 鼠标移上去不再显示删除按钮。
  • 撤销压缩:删除这条压缩记录会真正撤销压缩,展开旧对话并恢复删除按钮。 只允许撤销最近一次;如果上下文仍然超限,下一次提问可能再次压缩。
  • 上下文压缩完成后,状态栏会显示“整理上下文中…”,不再像卡死。

修复

  • 压缩后重进存档,聊天记录不再凭空消失(改为回放完整会话分支)。
  • sidecar 升级到 pi 1.4.0:改进会话恢复、工具调用、压缩摘要与错误重试; 运行 sidecar 的 Node 门槛提高到 22.19。

0.3.1

思考/工具过程收进一个可折叠的「终端」分组,并补上玩家消息脚注与重新推理。

新功能

  • loading 分组头:思考/调用工具时显示「终端运行中…」+ 游戏自带加载图(旋转); 这一轮结束后变成「已完成」并收起整组,点标题行随时展开/收起(运行中也可以点)
  • 每段思考独立成块,按「思考 → 工具 → 再思考」的顺序排列;正文开始时这一轮所有 思考块/工具块自动收起,只留摘要
  • 思考与工具记录随会话保存:重进存档按原顺序还原(收起态),能展开看当时的推理原文、 工具参数与结果,不再只剩正文
  • 玩家消息也有脚注:游戏时间 + 复制
  • 回答脚注新增刷新:对最后一轮重新推理(先删掉旧回合再重新提问,旧回答不会留在上下文里)
  • 窗口标题使用 prefab 的「工业机甲终端」样式(字体、颜色、字号、材质完全按设计稿)

修复

  • 模型思考时,推理内容不再全部挤进第一个思考块
  • 蓝图卡片渲染的瞬间,滚动条会及时贴到底部

0.3.0

从「能查、能看」到「能出蓝图」,并修好第三方供应商的接入。

新功能

  • 蓝图生成:blueprint_generate 用知识库里的真实配方 + dsp-calc 布局,直接生成完整产线蓝图 (多阶段、多行、超高产量自动拆多张、按当前已解锁档位默认、蓝图尺寸校验)
  • 蓝图卡片:生成 / 下载 / 复制后在聊天窗显示卡片,点卡片可直接粘贴预览;重进存档可回放
  • 截图:默认给可见建筑编号框 + 图例,view=topdown 可临时切俯视机位
  • 助手回复显示游戏内时间,点击可复制

修复

  • 多供应商接入:模型目录与 Key 检测现在共用同一套地址清洗与鉴权 (Anthropic x-api-key、Gemini x-goog-api-key、Azure api-key), 支持 .../v1/chat/completions 这类完整端点、缺 /v1 自动补全、超时回退, 不再出现「检测通过但取不到模型」
  • 模型页:错误提示可换行;检测成功后自动补全聊天实际可用的 API 地址
  • 模型页:移除容易误删其它供应商的「恢复本页设置」按钮
  • 蓝图:首尾误连、坐标轴与元数据、尺寸超限、档位默认值等一批修复
  • 重进存档回放历史时,蓝图卡片不再打断回放

0.2.0

从「能聊」到「能查、能看、能算、能规划」。

新工具

  • 视觉:game_capture_view 截图进模型上下文,聊天窗显示缩略图
  • 建筑:game_get_entity / game_get_entities(配方、输入输出槽、供电、物流塔槽位、 传送带线路与货物、分拣器手上物品;其余建筑走通用组件快照)
  • 进度:game_get_progress
  • 量化:kb_plan 按目标产量算机器数 / 电力 / 传送带
  • 产线:game_analyze_area(装机产能、耗电、物流设施、电网)、game_render_layout 字符布局图
  • 跨行星:game_get_planets(按宇宙探索等级披露矿脉)、game_get_logistics(全银河物流塔供需)
  • 蓝图:blueprint_search / blueprint_info / blueprint_save(在线检索、格式体检、直接存到游戏蓝图目录)、 game_copy_blueprint(把现有建筑存成蓝图)
  • 知识:kb_search / kb_get / kb_recipe_tree、中英 wiki_search / wiki_page
  • 脚本:run_script(QuickJS-WASM 只读沙箱,dsp.call 复用同一工具注册表)

界面

  • 工具卡支持图片缩略图;kb_* / run_script 也会显示工具卡(tool_activity)
  • 左栏提问索引:按存档列出历史提问,点击切换、删除; 删除会同步改写会话文件,重进存档不再出现

修复

  • 产线统计为空时回退装机产能,不再误报“没有产线”
  • run_script 中 dsp.call 被 try/catch 吞掉时明确报错,而不是返回假数据
  • 主菜单/演示场景不再弹出聊天窗
  • 重进存档会回放历史对话

0.1.0

首个公开版本。

功能

  • 游戏内聊天终端:R 开关,流式回复,可回车发送 / Ctrl+Enter 换行
  • 读取当前存档状态作为上下文,按存档绑定对话历史
  • 在玩家确认之后执行游戏内操作
  • 设置窗口注入「模型」页签:提供商 / 模型 / API Key / API 地址
  • 输入工具条:游戏图标、复选框、文字颜色(复用游戏原生弹窗)
  • 界面走游戏原生 prefab(AssetBundle),可回退到代码构建

构建

  • 编译目标锁定 BepInEx 5.4.17(Thunderstore 社区包同款),避免 5.4.17 环境下 BepInEx 打印 "plugin targets a wrong version";5.4.23.5 运行时同样验证通过

修复

  • 右上角 ⚙ 按钮点击无效:它其实是原生窗口的「功能菜单」按钮, 真正收点击的是子节点 menubtn 的 UIButton。改为接到该 UIButton 上, 并摘掉遗留的 UIGenericMenuButton(它会把空菜单当成设置、并每帧覆盖提示文案)
  • 按钮悬停提示被聊天窗遮挡、只显示半截:把游戏原生提示层(按钮/物品/弹出菜单) 抬到聊天窗画布之上
  • 「模型」页签关闭再打开后标题被本地化改回模板页(克隆体上的 Localizer 所致)
  • 设置窗口销毁时 revertButtons 可能越界(缺模板时也补齐数组长度)