XFE ED ToolBox
当前 0.4.31 将星图、当前星系和跑商接到同一自动驾驶流程:开始导航后可自动离站,再接续跃迁、超巡和停靠。当前星系采用全屏 3D 与悬浮侧栏,固定刷新朝向,使用游戏原版标记;筛选保留模型和轨道,多恒星轨道按真实共同质心完整显示。恒星增加原生星型配色、球面表面细节与日冕。详见 0.4.31 说明。
跑商主栏可选择常规贸易或 CG 供货。高级搜索条件均可留空;CG 模式按实际活动接收清单推荐,并结合货源库存、实际货舱、停机坪及完整循环时间比较预计净利润 / 小时。确认过的交易回执在恢复后继续使用,避免重复下单。
0.4.23 修复当前星系原生 3D 合成层为零尺寸的空白问题,并将跑商改为全范围候选、并行计算、真实进度、采购来源类型筛选和按船型核对停机坪;CG 交付候选使用紫色及文字标识。详见 0.4.23 说明。当前星系仍支持真实坐标与左侧目录双向选择,实时商品保留报价详情、来源和完整采集时间;两页依据 Imagegen 设计稿实现。重复诊断会合并,跑商实际运行期间可恢复确切的游戏暂停菜单,手动暂停或停止任务后撤销恢复权限。既有范围见 0.4.22 说明及当前星系与星系内驾驶。
跑商默认只设投资金额,自动读取当前飞船与货舱,按整条路线的预计净利润每小时比较多个方案,并显示风险、货物和已完成轮数。高级参数由右上角编辑按钮展开。底层支持通过项目引用随常规构建自动编译并嵌入。详见 跑商规划;导航历史验收见 导航验收。
SCO 采用原生产热来源和散热曲线预测,停用时立即移除后续 SCO 热输入,并在每个实际模拟步发热前检查 100% 上界。本轮 Type-9 两次实际加速累计 10.246 秒,原生热量峰值 96.095%,已验证预测停用、实际降温及冷却后再启,结束保留游戏运行。证据及适用范围见 SCO 热源模型。
行情默认仅缓存当前位置 500 ly 内的公共增量,跑商规划页可直接选择中心星系与半径,本机 Journal 行情始终保留;没有可靠定位时不接收全球行情。普通启动、写入和退出暂不执行整库校验、全文件 SHA 或整库备份。以前导入的全量库保留到用户在“设置 → 数据管理 → 行情缓存”主动清理;清理包括行情旧代际与备份,保留玩家日志、事件索引、设置和交易记录。
Elite Dangerous 的 WinUI 3 指挥官工具箱。当前版本提供实时数据、公共行情、游戏原生航路与自动导航、银河星图、材料仓库、工程声望与材料计算、飞船编辑和 EDSY 链接交换,以及进程重启和可选全局快捷键。日志读取与飞船编辑在游戏外运行;原生导航和自动执行需要在设置中安装可卸载的游戏插件,并通过实际接口、飞船、会话与货物准入检查。
运行
双击仓库根目录的 Start-Toolbox.cmd,优先启动 dist/XFEEDToolBox-0.4.31-win-x64/XFEEDToolBox.exe。星图与导航已合并;输入星系名称可自动补全,也可选中/双击星点聚焦,长按恒星待外圈填满后由游戏规划,确认成功后点击“开始自动导航”。航路由游戏计算,软件校验并读取。主页与飞船编辑背景采用本地真实船体的旋转科技线稿。发布包面向 Windows x64,包含 .NET 运行时与 Windows App SDK;源码构建需要 PowerShell 7、.NET 10 SDK、Windows SDK 和 Visual Studio 的 C++ x64 构建工具。--page Navigation --maximized 可直接打开最大化星图,--page Refit 打开飞船编辑。
pwsh -File scripts/Build.ps1
pwsh -File scripts/Test.ps1
pwsh -File scripts/Publish.ps1
仓库只提交源码和测试夹具。客户端通过 ProjectReference 引用 native/ManagedPlugin/Bundle,由项目依赖自动编译底层 C# NativeAOT 模块及 C++/汇编边界,生成匹配的 SHA-256 清单并嵌入 XFEEDToolBox.NativeSupport.dll。直接 dotnet build、dotnet publish 或 IDE 构建均走同一流程,不再从 PluginPackage 目录打包预制 DLL。运行时按内容哈希释放到本地缓存并校验;构建不会把插件安装进游戏。运行测试不需要启动游戏,实际游戏及公网集成测试默认跳过。
插件内部现已迁移到 native/ManagedPlugin 的 C# NativeAOT 项目,版本与游戏构建身份以 Platform.cs 及构建生成的清单为准。必要的 SEH、Windows x64 调用与 MinHook 机制保留为薄原生边界,游戏业务由 C# 实现;原 DLL 名称、导出和命名管道协议保留。可运行 pwsh -File scripts/Test-ManagedPlugin.ps1 复验真实 AOT 产物。迁移范围、证据与实机验收状态见 C# 插件迁移。
应用默认读取:
%USERPROFILE%\Saved Games\Frontier Developments\Elite Dangerous
自身设置、SQLite 缓存和导出报告保存在 %LOCALAPPDATA%\XFEstudio\XFEEDToolBox。可用 --data-dir <目录> 指定独立目录。用户界面统一使用真实接入数据;虚构数据仅供内部测试,没有演示开关或演示启动参数。
分页
- 星图与导航:原生星系名称补全、真实三维坐标、游戏完整银河密度图与天空立方体。近景按视野读取 Stellar Forge 星区,远景使用完整银河图;GPU 批量绘制恒星、无限网格和航路。虚线标识保守燃油预算之外的航段,◇标识可吸油的航路恒星。自动飞行包含目标锁定、避让/绕星、补给和热量预测;无需绕行或补给时在冷却期间立即转向,可在转向过程中充能,最终放行前完成对齐。普通空间可直接高能跃迁。真实验收与范围见
docs/NAVIGATION.md。 - 航行概览:指挥官、余额、货舱、位置和行情覆盖情况,当前飞船使用本机游戏中的真实三维船体并缓慢旋转。飞船状态提供飞行与温控、弹药、座舱与环境三个分页,可核对 HUD 热量、内部热比例、充能预测、速度、油门、采集效率和恒星碰撞半径等数据;弹药及完整度明确标注装配快照时间。一键直接结束游戏进程后重启;底层重进仍在验证,入口暂未启用。会话操作说明见
docs/SESSION-CONTROLS.md。 - 实时数据:商品买卖价、供需、站点、来源与原始采集时间;货舱、工程材料、储物柜和背包。
- 舰队与装配:船队、当前/历史 Loadout、模块槽位与状态、工程蓝图/等级/原始与改造参数、寄存模块及转运摘要。
- 材料仓库:独立分页,使用 WinUI SelectorBar 切换全部、原始 RAW、制造、数据,显示数量、稀有度与容量;支持搜索、显示零库存和条目增量更新。
- 飞船编辑:游戏式三栏布局,左栏分类,中栏用方形 GridView 展示当前槽位和已装模块,选中后显示棕黄色背景;槽位大小、游戏模块图标、改装等级和型号分别显示。右栏显示所选模块属性及工程目标;等级采用空心/填充六边形 RatingControl,当前完成度采用只读 ProgressRing,目标完成度使用 Slider。实验效果显示实际名称或“无实验效果”,明确的无效果目标在 EDSY 导出后也保持为空。支持 EDSY 装配长链接导入导出、复制和打开,已与官方编解码器独立交叉验证。背景随所选船型更新真实 3D 模型;材料从已有工程等级及进度继续计算,点击“添加至清单”后统一查看整船需求。详见 工作台。
- 模块改装:按模块类型与蓝图分类,选用新模块或已有模块进度;等级和完成度使用滑块,可点击+加入全局清单。另有工程师权限子页。规则与限制见
docs/ENGINEERING.md。 - 全局清单:右上角人物旁使用 EADF 图标,InfoBadge 显示数量,点击打开紧凑 Flyout;弹窗和详情页均可清空清单,同步清除材料需求、数量角标和持久保存内容。预览每行 46 逻辑像素,左侧名称与库存、右侧醒目缺口,点击详情才进入完整页面。按指挥官持久保存,多个模块共享工程师声望,统一核对一次库存,同时计算已知购买预算和 Cr 缺口。未报价的购买项单列。
- 个人主页:侧栏个人入口查看余额、已读取的 Arx、统计、军衔和本机日志记录的探索星系。标题栏头像打开个人 Flyout,可复制 CMDR 标识并进入个人主页;缺失的余额明确显示未读取。
- 简体中文汉化:独立管理本地汉化组件的校验、导入、安装与还原,兼容已有安装。见
docs/TRANSLATION.md。 - 跑商规划:默认投入全部可用资金,按当前空余货舱、估算满载跳距和整条路线耗时,计算多个方案并按净收益/小时排序;显示去返程货物、风险和执行轮数。手动站点与高级约束由编辑按钮展开。见 0.4.21 跑商说明。
- 执行控制:所选方案接入完整路线执行或符合条件的两站循环,收益只累计已确认成交与费用,恢复时核对交易回执及轮次;原生交易仍要求空货舱。保留模拟和玩家操作游戏的 Journal 领航;自动执行要求插件及真实接口就绪。见 跑商规划及限制。
- 读取验收:逐类列出读取状态、记录数、游戏写出时间、来源和缺失项;可导出当前只读报告。
- 设置:Journal 目录、EDDN、按星系补全 Spansh、JSON/GZ/抓包 ZIP 导入和本机环境信息;全局快捷键默认关闭。游戏插件是独立设置项,支持构建匹配、文件校验、安装、状态检查、停用与卸载。见
docs/GAME-PLUGIN.md。 - 运行日志:索引本机 Journal 的历史及实时游戏事件,支持分页、搜索和原始 JSON 详情;工具自身的接入、导入和执行记录独立显示。
打开工具后会自动读取本机日志,不需要手填飞船、分辨率或键位。日志检测周期为 750 ms;UI 由实际数据变动事件触发,200 ms 合并突发更新,没有定时全页刷新。列表保留实例与行对象,只发送变化属性的通知;价格、数量变化不会重建列表。商品默认保持行顺序,用户可选择按时间/价格/供需排序。进程检查不会自动更换已配置的 Journal 目录。
主页按 ImageGen 设计图实现,随可用宽度伸展。0.4.0 的布局检查覆盖普通窗口、2560、3840 宽度、实际最大化及还原,15 个页面共 75 次边界检查;结果及实际渲染截图见 artifacts/design-qa/,设计图和提示词在 design/。新增界面与清单说明见 docs/INTERFACE-0.4.md。
本地三维模型覆盖当前 49 种飞船,直接只读解析游戏资源,使用原生 Direct3D 11/WinUI SwapChainPanel 渲染,跟随当前 Windows 桌面合成节拍。模型功能无需安装游戏插件或汉化。细节、帧率实测与版本校验范围见 本地模型。
概览、星图与导航、实时商品、材料仓库、飞船编辑、简体中文汉化保留一级入口;其他页面归入“舰船与工程”“贸易与执行”“工具维护”,设置单列。主页、侧栏和标题栏共用个人资料。游戏名称使用内置词库显示中文与小字英文,不依赖游戏是否安装汉化;材料和商品名称保留原名。图标由项目自己的 SVG 生成多尺寸 ICO。
数据范围
“当前星系”读取游戏导航目录中的地点和距离,支持名称搜索、类型筛选与 3D 选择。0.4.22 修复界面误用未开放的原生超巡辅助及要求 SCO 就绪而禁用普通驾驶的问题;空间站/航母仍需完整目标身份、实时遥测和已连接的停靠能力。行星、恒星、地表据点等尚未验证安全抵达终点的类别可浏览和选择,但不开放自动前往。准确范围见当前星系与星系内驾驶。
本机数据使用游戏输出的 Journal、Market、Cargo、Status、ShipLocker 和 Backpack。船队来自 StoredShips 与曾产生的 Loadout;未读取过 Loadout 的远程飞船只显示清单,不能推断装配。配置变更而尚未收到新 Loadout 时明确标记。空快照与缺少快照分开表示。
EDDN 是玩家上传的增量流;Spansh 用于补全公共星系/站点/市场快照。它们不构成全银河所有站点的即时报价。市场文件通常在打开游戏市场界面时刷新,离港后仍可能保留上一站;工具保存原 MarketID 和时间。旧快照不能覆盖新快照。
随附商品目录仅包含从本机 Market.json 提取的公共商品 ID、符号和名称;没有玩家身份、库存或认证信息。抓包 ZIP 导入只读取已解码的完整市场列表,不把交易响应中的局部更新当成全量快照,也不重放请求或导入登录凭证。
余额以 LoadGame 校准,再应用支持的收支事件。遇到尚未完整建模的交易会标记不确定。材料消费支持收集、丢弃、合成、工程改造和交换;其他可能影响库存的事件会标记等待完整快照。报表的“已读取”表示存在有效记录,必须同时核对时间。
路线计算
限定范围的束搜索组合多个站点;每段使用受现金、货舱、供给和需求限制的整数混载求解,利润可滚入下一段,重复访问累计扣减已使用的供需。支持空载转场与回程,扣除设定的时间和跳跃费用。
搜索覆盖缓存区域内全部符合资料与时效要求的站点及航母,按所有可用货源起点并行计算;路线最多 8 段,束宽与装载分支定界仍有预算。达到预算会显示提示,不保证全银河全局最优。风险分数是基于可见站点元数据的启发式估计,不是被拦截概率。跳数和超巡时间是估算,星系连通性和燃料仍由游戏星图确认。日志 MaxJumpRange 不是满载跳距。大宗需求惩罚和其他玩家交易可能改变实际收益。
交互参考:Inara、Spansh、E:D Market Connector。本项目独立实现本机算法,不将这些站点的结果冒充本机计算。
反作弊核查与当前限制
参见 docs/ANTI-CHEAT-REVIEW.md。Frontier 的官方说明将客户端挂钩及产生游戏优势的自动脚本列入处理范围。现有汉化方式不能证明自动跑商无风险,本地静态检查也不能证明不存在自研或服务端检测。
可选插件使用独立 dinput8.dll 转发系统 DirectInput,并提供本机命名管道通信;不会替换汉化 dbghelp.dll 或改写游戏 EXE。基础清单保留 supportsNavigation=true、supportsTrade=false;自动贸易还需核对独立原生交易接口,supportsRelog 取决于实际菜单接口是否就绪。自动导航只适配已核对哈希的游戏构建。插件内部导航、输入、会话、商业和星图业务由 C# NativeAOT 实现,保留有期限的控制输入和跃迁联锁。2026-10-25 已按用户授权退出游戏更新自有插件,并通过原生菜单和新 Journal 记录确认进入 SOLO;SCO 的持续生效以连续 Active 与速度、原生停用回执等实测证据为准。历史实机记录及限制见 docs/NAVIGATION.md,迁移范围见 C# 插件迁移。发布包不携带 Bridge 注入脚本;Bridge/、research/ 和定位脚本保留为开发诊断材料。不同构建的偏移不可混用,没有实施反作弊绕过或隐藏。
被动抓包
scripts/Start-PassiveCapture.ps1 依赖已安装的 Npcap/dumpcap 和 PowerShell 7。只匹配指定 EXE 实例在采样时持有的本地 TCP/UDP 端口,不修改代理、路由、证书或游戏进程。每段最多 30 秒,默认总时长 30 分钟、总容量约 256 MiB(可能超出最后一段大小)。退出游戏、出现多实例歧义或到达限制后停止。加 -KeepWaitingForGame 可在游戏大退期间等待同一安装目录重新启动,期限和容量限制仍生效。
pwsh -File scripts/Start-PassiveCapture.ps1 -GameImage '<EliteDangerous64.exe 绝对路径>' -Dumpcap '<dumpcap.exe 绝对路径>' -OutputDirectory '<证据目录>'
pwsh -File scripts/Stop-PassiveCapture.ps1 -OutputDirectory '<同一证据目录>'
ownership.jsonl 保存每段进程、端口、BPF 和接口证据。端口过滤不能替代操作系统级进程隔离,也不能覆盖采样之后新建且未捕获的端口;不宣称完整覆盖。TLS 保持加密。仅有抓包文件或零数据帧不能证明读取到了商品/库存明文。
架构与验收
沿用本地 XFEExtension.NetCore.VSIX 的 XFEWinUIApplication 模板:AppShellPage + PageManager/INavigationViewService、ServiceManager、MVVM 源生成属性和命令、Profiles/CrossVersionProfiles。解决方案分为 WinUI 客户端、无 UI Core 和 XFE XUnit 控制台测试项目。
artifacts/tests 是算法与解析测试,artifacts/integration 是明确选择执行的实际日志/抓包/公网接入结果,artifacts/engineering-ui-smoke.json 是隐藏窗口分页加载与演示规划检查。数据读取验收记录见 docs/READ-ACCEPTANCE.md。原始证据、抓包、数据库和真实玩家报告均在 .gitignore 范围。