Skip to content

Releases: TATHPE/ARTEX-Endfield

ARTEX · 终末地主题版 v2.2.2(Windows x64)

Choose a tag to compare

@TATHPE TATHPE released this 17 Oct 11:57

ARTEX · 终末地主题版 v2.2.2(Windows x64)

本仓库是上游 ARTEX 的 fork:上游功能 / API / 数据库结构完全保留,额外实现终末地(Endfield)风格界面与 REA 逆向分析整合。

本次重点

1. 界面偏好终于能跨重启保持(修了三个叠加的 bug)

问题 根因 修复
暗色主题 / 主题预设 / 侧栏样式 重启后回默认 <head> 引导脚本被 Next 序列化进 RSC payload(self.__next_f.push),用 innerHTML 插入的 <script> 永不执行 偏好改为直接从 cookie 读(store 挂载时)
同上(第二层) 只有 theme_mode 有专门的 effect 应用,预设/字体/布局/侧栏从来没人在启动时应用 挂载时把 preset/font/contentLayout/navbarStyle/sidebarVariant/sidebarCollapsible 全部 apply 到 DOM
同上(第三层) Chromium 的 cookie 库是异步加载的,冷启动首帧 document.cookie 可能为空 主进程 loadURL 前预热 cookie 库 + 前端 400ms 后补读一次

验证方式:壳内新增 ARTEX_DEBUG_PREFS=1 诊断,把「渲染进程读到的 cookie」与「<html> 上的 data-*」一起写进 shell.log;修复后 domPreset 与 cookiePreset 首帧即一致。

2. 安全加固(自测 + 修复 + 回归归零)

  • SSRF 收口:POST /api/llm/test、POST /api/llm/models 会按调用方给的 base_url 发外连;现在只允许 http/https、禁 userinfo、拒绝链路本地/未指定/组播与云元数据主机名(169.254.0.0/16、fe80::/10、0.0.0.0、metadata.google.internal…),本机与内网模型服务仍然放行。
  • 安全响应头:全站 CSP + X-Content-Type-Options + X-Frame-Options: DENY + Referrer-Policy: no-referrer;CSP 含 object-src 'none'、frame-src 'none'、worker-src。
  • CORS:去掉无条件 Access-Control-Allow-Origin: *,只在请求带 loopback Origin 时回显。
  • 登录节流:同 IP 连续 5 次失败锁 60s,每再 5 次翻倍(上限 15min),成功即清零,返回 Retry-After。
  • 全局限流:/api/* 600 次/分钟/客户端,响应带 X-RateLimit-Limit / X-RateLimit-Remaining,超限 429。

3. 安装 / 卸载

  • 安装包不再携带运行期密钥:之前的打包源混进了测试期的 config.json 与 jwt.key(会让所有安装共用同一个 JWT 签名密钥),本次已清理,首次启动自行生成。
  • 卸载器现在真的会删文件:原先 Uninstall ARTEX.exe 0.9 秒退出、一个文件不删(模板从注册表取不到 $INSTDIR 后又被重置)。现在卸载流程会:停 PostgreSQL → 备份 pgdata 与 artex-data 到 %LOCALAPPDATA%\ARTEX\uninstall-backup → 交给独立脚本在卸载器退出后删除安装目录。
  • 卸载项写入注册表,控制面板「应用和功能」可见。

4. 界面

  • 侧边栏 ⚙ 弹层全中文(主题预设 / 字体 / 外观模式 / 页面布局 / 导航栏行为 / 侧栏样式 / 侧栏收起方式 / 恢复默认)。
  • 预设名汉化:默认(内置外观)/ 终末地 / 粗野主义 / 柔彩 / 橘子,并注明"默认"就是终末地皮肤。
  • 企鹅水印开关在 ⚙ 弹层(Hide Watermark),写入后端设置,跨重启保持。

5. 稳定性

  • LLM 审批重试:4xx/鉴权类错误不再重试,指数退避 + 抖动。
  • 请求限速增加抖动与并发闸。
  • 卡片高度溢出修复。
  • 关窗时可靠停掉 PostgreSQL(避免下次启动端口漂移导致偏好丢失)。

上游同步(与 ARTEX main 的功能整合)

本版把上游 RuoJi6/ARTEX 的 main 上与本 fork 相关的 3 个提交整合进来(cherry-pick,零冲突),并在同一次推送里让 main 和 endfield-theme 都指向同一提交:

上游提交 内容 本版效果
dc8e25e LLM 请求严格限流 按每个模型配置的配额排队,不再瞬间打满供应商
d64bea4 模型审批可配置重试 审批调用失败按配置重试;4xx / 鉴权类错误直接放弃
c4f2a5b 审批提示卡片高度 长脚本不再把卡片撑破,超出部分滚动

文档也同步到 2.2.2:README.md 补了维护修复一节与 ui.hide_penguin 配置说明,CHANGELOG.md 的 [2.2.2] 列出逐条变更,ENDFIELD-THEME.md 补了企鹅开关与 shell/ 源码位置。

合规前提(REA 逆向分析)

REA 仅用于自有软件、自有资产或获得明确授权的目标。逆向分析页预填了「只读、单文件、不执行、不联网、不利用」的任务模板——可修改、可一键重置(页面上的「重置目标模板」按钮);修改模板即视为自行承担相应责任。

资产

文件 用途
ARTEX-Endfield-Setup-2.2.2.exe 完整安装包(内置 PostgreSQL / Node / REA 运行时)
artex-2.2.2-windows-amd64.zip 页面一键更新用的发布包(含 start.bat 守护脚本与 skills/)
SHA256SUMS 上述两个文件的校验和

安装包未做代码签名,首次运行 Windows SmartScreen 会提示"更多信息 → 仍要运行"。

ARTEX · 终末地主题版 v2.2.1(Windows x64)

Choose a tag to compare

@TATHPE TATHPE released this 15 Oct 13:01

ARTEX · 终末地主题版 v2.2.1(Windows x64 安装包)

⚠️ 本次为 v2.2.1 修复版重发(版本号不变,安装包与 SHA256SUMS 已替换):如果你之前下载过本页的安装包,请重新下载,并以本页附带的 SHA256SUMS 为准。修复内容见下面的「本次修复」。

本仓库是上游 ARTEX 的 fork:上游功能 / API / 数据库结构完全保留,额外实现终末地(Endfield)风格界面与REA 逆向分析整合。

本次修复(2026-10-15 重发)

问题 修复
装完一直黑窗口(用户反馈) 启动器不再「静默失败」:前置检查 / PostgreSQL / 后端任一环节失败时,改为显示中文诊断页 —— 失败环节、本机检查(安装路径是否含非 ASCII、目录是否可写、运行库、端口占用)、日志尾部、「按顺序试这几步」,以及重试 / 打开安装目录 / 打开后端日志按钮
干净系统上便携 PostgreSQL 起不来 安装包内置 MSVC 运行库(vcruntime140.dll、vcruntime140_1.dll、msvcp140.dll → resources\pgsql\bin),不再依赖系统预装 VC++ Redistributable
端口被占导致启动失败 启动时自动挑空闲端口:HTTP 8787 / 录制代理 8788 被占则顺延;数据库 5433 若被非本程序占用则改用空闲端口,并同步 postgresql.conf 与 config.json(改动前自动备份 .bak)
前置条件不明确 启动前检查:安装路径含非 ASCII / 目录不可写 / 缺运行库 / 缺关键程序 / 端口被占 —— 任一项不满足就直接给出可读原因,不再等 2 分钟再黑屏
安装包内文档过期 包内 README.md、REA-INTEGRATION.md、ENDFIELD-THEME.md 已同步为仓库当前版本
高分屏上窗口过大 窗口尺寸按工作区自适应(不再固定 1500×940)

本版新增:REA 逆向分析整合

项 说明
侧栏新页「逆向分析」 位置:功能 → 逆向分析(/function/reverse)。四块内容:① REA 服务状态卡(启用状态 / 工具数 / 启动命令 + 刷新 + 207 个工具的可搜索抽屉)② 发起分析(样本上传到工作空间 uploads/,或直接填本机绝对路径;预置只读、单文件、不执行、不联网、不利用的目标模板)③ 分析任务表 ④ 结果三 Tab:结论(fact/intent/goal,Markdown 渲染)、证据文件(tasks/<id>/ 目录浏览,.md 直接渲染)、REA 工具调用(从 ExecuteExtraTool 入参还原真实工具名并统计成败)
分析引擎状态卡 从 REA 失败详情的 details.rejections[] 解析逐引擎诊断,显示 Ghidra / IDA / Hopper 的状态与原文原因,并给出启用步骤;检测到 非 ASCII 的 Java 路径会额外告警
REA MCP 服务器 系统 → MCP 多一行 rea(stdio,207 个工具);未加载技能时调用会被门控拦下并提示加载哪个技能
技能门控 新增 skills/reverse-engineer-anything(mcps: rea),默认绑定给 worker:Agent 需先加载技能才解锁 REA 工具
全离线运行时 安装包内置 node.exe(89 MB)+ rea-agents 及其全部依赖(105 MB);首次运行无需联网。后端启动时会自愈纠正 MCP 行的启动器路径(修掉打包机上的 C:\Program Files\nodejs 之类残留)
不内置 Ghidra / IDA 深度反编译需要用户按需安装(Ghidra 约 1 GB,另需 JDK);未安装时字符串/反编译类工具会返回 provider_unavailable,页面上会明确标注「缺外部引擎,非整合故障」,Agent 会自动降级为纯静态解析
文档 仓库根 REA-INTEGRATION.md:开箱行为、使用流程、已知限制与对策、MIT 署名

合规前提:REA 仅用于自有软件 / 自有资产 / 获得明确授权的目标。逆向分析页预填了「只读、单文件、不执行、不联网、不利用」的任务模板——可修改、可一键重置(页面上的「重置目标模板」按钮);修改模板即视为自行承担相应责任。

沿用 v2.2.0

界面皮肤(墨底侧栏 + 纸底内容区、切角面板、黄黑危险条纹、四角定位标)、窗口内开屏动画、登录后加载页、应用图标、右下角企鹅水印;已移除皮肤自带的全屏扫描线与颗粒质感两层叠层。

安装

  1. 下载本 Release 的 ARTEX-Endfield-Setup-2.2.1.exe(约 427 MB,内置便携 PostgreSQL 与 REA 运行时,无需另装数据库或 Node)
  2. 双击安装(按用户安装,可自选目录;请装到纯 ASCII 路径,例如 D:\ARTEX)
  3. 首次启动会自动初始化本地数据库并引导你设置管理员口令(分发包内不含任何密钥或口令)
  4. 浏览器打开 http://127.0.0.1:8787,或直接用桌面快捷方式启动的窗口
  5. 如果启动失败:本版会显示诊断页并把失败原因与日志写在页面上;也可以直接看 <安装目录>\resources\artex\shell.log 与 <安装目录>\resources\pglog\*.log

校验

  • SHA256SUMS 内含上述所有附件的 SHA256(本次重发后已更新,请以它为准)
  • 本安装包未做代码签名,Windows SmartScreen 会提示「未知发布者」;介意的话可先核对哈希

已知限制

  • REA 的深度反编译依赖外部 Ghidra/IDA(未内置);仅静态/provider-free 路径开箱可用
  • 首次分析任务会消耗你自己配置的 LLM 额度
  • 卸载会连同 $INSTDIR 下的本地数据库一起删除(deleteAppDataOnUninstall=false 只保留 %APPDATA%)

许可

  • 本项目(终末地主题版 fork):AGPL-3.0(随上游)
  • 集成并分发 REA(morluto/rea,MIT)与 Node.js(MIT);相应 LICENSE / NOTICE 随包保留
  • 安装包内附带 Microsoft Visual C++ 运行库文件(vcruntime140.dll 等,属微软允许随应用再分发的运行库组件),用于便携 PostgreSQL

遇到问题?请到 Issues 反馈(填上 ARTEX 版本、Windows 版本与复现步骤会快很多)。