Skip to content

Releases: ErisPulse/ErisPulse-App

ErisPulse-App v0.2.5

Choose a tag to compare

@github-actions github-actions released this 31 Aug 14:18

新增

  • 桌面无边框窗口(window_manager / tray_manager):全部页面共用同一
    自绘顶栏,空白区拖动窗口、双击最大化 / 还原、最小化 / 最大化 / 关闭按钮
    齐全;系统托盘左键恢复窗口、右键菜单退出;关闭走确认(询问 / 最小化到
    托盘 / 停止并退出,可记住选择)
  • 首页实例列表自适应布局:随窗口宽度在单列 / 两列 / 三列网格间切换
    (≥1150 三列 / ≥760 两列 / 否则单列),卡片撑满内容区
  • 退出时「正在停止实例」过渡页面:停止全部实例期间显示提示,防止用户
    误以为卡死而强行关闭

变更

  • 概览页重构为大屏运营 dashboard 风格:顶部状态横幅(名称 + 状态 / 健康
    徽章)、Hero 大数字 4 格(适配器 / 模块 / 在线机器人 / 事件总数,点击
    跳转对应视图)、系统资源大进度(CPU / 内存 + 运行时长 / PID / 线程 +
    框架版本)、机器人平台分布(按平台分组在线 / 总数)、消息统计、最近
    事件;宽屏左右两列(资源 flex 3 : 平台分布 flex 2),手机单列、大数字
    恒为 2×2(列数阈值与外层宽窄屏判断统一,避免窄屏溢出)
  • 移动端首页实例列表由 ListTile 改为圆角卡片,状态点 / 名称 / 状态文本 /
    端口标签分层排布,统一 M3 卡片风格
  • Android APK 改为纯 arm64-v8a 构建(179MB,原全平台胖包 196MB):runtime
    二进制本就只有 aarch64;纯 64 位设备(骁龙 8 Gen 3 / 天玑 9300 等)的
    ROM 会拒绝安装含 32 位库的 APK。经 abiFilters + disable-abi-filtering
    过滤所有来源(引擎 / 插件 AAR / jniLibs),CI 产物不再提供 universal 胖包
  • 桌面左侧导航与主区 IndexedStack 联动切换,移除主页内容区居中限宽

修复

  • 实例未启动时点击其它视图(监控 / 事件 / 日志等)报连接错误:改为统一
    「实例未启动」引导占位(可一键启动),启动完成后自动连接并切换真实
    视图,无需手动刷新
  • 「停止实例并退出」退出卡住:停止实例改为并行且逐层超时(子进程调用
    全部异步,不阻塞 UI),停止完成后直接终止进程(先隐藏窗口避免残留
    冻结帧),秒级确定退出;无本地运行实例时不弹过渡页直接快速退出
  • 启动期概率性「页面加载但无法点击 / 主题色回退默认紫色」:窗口初始化
    未等待完成即 runApp,且 setAsFrameless 与 setTitleBarStyle 混用导致
    窗口样式竞争(FlutterView 子窗口几何与客户区错位、取色通道未就绪)。
    改为完整等待窗口就绪后再启动 UI,并统一只用一种无边框机制

ErisPulse-App v0.2.3

Choose a tag to compare

@github-actions github-actions released this 14 Aug 22:28

新增

  • 设置页(Windows)新增「关闭窗口行为」:每次询问 / 最小化到托盘 /
    停止全部实例并退出(与关闭确认弹窗的"记住我的选择"联动)
  • Windows 窗口生命周期管理(原生 runner + erispulse/window 通道):
    • 系统托盘图标:左键点击恢复窗口,右键菜单(打开 / 退出)
    • 关闭窗口(X / Alt+F4)弹出确认:最小化到托盘(实例继续后台运行)
      或停止全部实例并退出,支持"记住我的选择"(设置持久化,不再询问)
    • 单实例限制:重复启动时恢复并激活已有窗口(包括托盘隐藏状态),
      不再开出第二个进程
  • 桌面实例进程收养(App 重启后恢复管理):
    • 实例 PID 持久化;启动时探测实例端口存活——仍运行则收养进运行时
      (优先持久化 PID,失效按 netstat/ss 反查真实 PID),UI 显示
      运行中、可正常停止,不再出现"显示已停止实际在跑、再启动变双实例"
    • 端口无响应则清除过期的持久化 PID

修复

  • Windows 安装版(setup.exe)打开 Dashboard 永久转圈:WebView2 默认把
    user data folder 放在 exe 同目录,安装到 Program Files(只读)后环境
    创建失败。现显式指定到应用数据目录(%APPDATA%<app>\WebView2),
    环境进程级共享复用
  • Dashboard 自动登录失效(Windows 表现明显):token 注入从
    "加载完成后 evaluateJavascript 写 localStorage 再 reload"改为
    **UserScript(AT_DOCUMENT_START)**预注入——页面 JS 执行前写入
    localStorage.__ep_tk__(带 origin 校验),dash.js 启动即读到并登录,
    消除对 evaluateJavascript 时序的依赖;模块视窗 go() 跳转不再被注入
    状态门槛拦截,DOM 就绪重试延长到 15 秒
  • Dashboard 加载 8 秒超时后不再白屏/永久转圈:显式报错并支持整体重建
    WebView 重试(不再仅 reload)
  • 首次进入 Dashboard 等待 WebView2 环境就绪期间显示加载态,环境创建
    失败自动回退默认路径

优化

  • PC 概览页:大数字统计格改为横向布局(主题色图标气泡 + 大数字 +
    标签),去除竖分隔线;宽屏两列顺序调整为左(概览 / 消息统计)+
    右(事件 / 连接信息),高度更均衡

ErisPulse-App v0.2.2

Choose a tag to compare

@github-actions github-actions released this 14 Aug 20:30

新增

  • 模块动态视窗入口(对齐 Dashboard /api/views):
    • 详情页轮询同步模块注册的视窗,按分组自动插入导航(内置组复用同名
      分组,system / tools / 自定义分组追加末尾),装卸模块后入口实时增减
    • 视窗内容不在 App 内渲染:点击入口直接跳转 Dashboard 对应页面
      (WebView 登录后以 go() 定位,模块页面异步渲染自动重试)
    • 视窗图标(icon_svg)以 flutter_svg 原样渲染;标题 / 分组标题按
      App 语言解析 titles / group_titles 五语言字典
  • 概览页对齐 Dashboard 仪表盘:
    • 大数字统计 4 格(适配器 / 模块 / 在线机器人 / 事件总数),点击
      跳转对应视图
    • CPU / 内存告警变色(>60% 橙 / >85% 红)
    • 版本行(ErisPulse vX · Python Y,来自 /api/status)
  • 商店标签筛选折叠:默认折叠为一行(已选标签以可删除 chips 展示 +
    一键清除),点击展开完整多选列表

修复

  • 桌面端左侧导航出现两个"概览"分组标题(固定概览项与机器人视图
    同组但重复渲染标题)

变更

  • 创建实例页 PC 布局重构:宽屏两栏铺满(左:引导 / 类型 / 名称;
    右:端口或远程地址 / 环境来源 + 创建),移动端保持单列
  • 创建实例副标题按平台区分文案(桌面=本机运行,手机=手机内独立运行)
  • SDK 版本下拉限制菜单高度(360),不再占满全屏

ErisPulse-App v0.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Aug 19:22

新增

  • 详情页导航对齐 Dashboard 侧边栏颗粒度:
    • 视图按 5 个分组组织(概览 / 事件 / 扩展 / 管理 / 运维),桌面端左侧
      导航显示分组标题,移动端 TabBar 保持同一顺序平铺
    • 顺序:概览(机器人)→ 事件(事件流、命令)→ 扩展(模块、商店)→
      管理(适配器、配置)→ 运维(监控、文件)
  • 新增「监控」视图:日志 / 生命周期 / 审计三合一子 tab(对齐 Dashboard
    monitor 页结构,替代原先 3 个独立视图)
  • 新增「商店」视图(对齐 Dashboard store 页):
    • 商店浏览:搜索(防抖)/ 类型过滤(模块 / 适配器)/ 标签多选筛选 /
      强制刷新;卡片含类型徽章、官方标识、安装状态(未安装 / 有更新 /
      已安装带版本),一键安装或升级
    • 包详情对话框:描述 / 作者 / 许可证 / 主页 / 依赖 / 历史版本列表,
      点击任意版本安装指定版本
    • 包管理:已安装(升级 / 卸载 + 框架更新卡)、可更新(单包 / 全部
      升级)、安装新包(pkg==1.0git+ URL)、Git 包列表与升级
    • 安装 / 升级为后台 pip 任务:确认框可选 pip 镜像源与强制重装,
      进度对话框轮询 task 实时状态与输出(running / success / error)
  • DashboardApi 新增商店端点:getStoreRemote / storeInstall /
    getInstallStatus / getPackageDetail / getPackageUpdates /
    upgradePackages / getGitPackages / upgradeGitPackage
    installPackages 改为返回 task_id 支持进度跟踪

变更

  • 「包」视图(PackagesTab)并入商店「包管理」tab,框架更新 / SDK 重启
    随之迁移;详情页视图 11 → 10(概览 + 9 个注册视图)

ErisPulse-App v0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 16:32

新增

  • 详情页视图 8 → 11:新增「生命周期」「命令」「机器人」三个原生视图
  • 新增「生命周期」原生视图(/api/lifecycle,事件时间轴列表:类型过滤 +
    清空 + 刷新,时间 / 类型 / 来源 / 摘要),替代 Dashboard 前端 lifecycle 页
  • 新增「命令」原生视图(/api/commands):
    • 全局设置卡:指令前缀 + 前缀区分大小写 / 允许空格前缀 / 必须 @机器人 开关,
      一键保存(PUT /commands/settings
    • 命令列表:每个命令的启用开关即时保存(PUT /commands/{name})+ 编辑对话框
      (别名 / 允许平台 / 禁止平台 / 转发为,逗号分隔)
  • 新增「机器人」原生视图(/api/bots):机器人卡片列表,在线状态指示点 +
    能力 chips + 最后活跃相对时间(从未活跃 / 刚刚 / 分钟 / 小时 / 天前)
  • 概览页新增「消息统计」卡片(/api/message-stats):总事件数 + 按类型 /
    按平台分布 + 近 24 小时趋势柱状图(与概览数据同轮询周期刷新)
  • 事件流页新增「构建器」模式(SegmentedButton 查看 / 构建器切换):
    • 事件类型(message / notice / request / meta)+ 子类型下拉 + 平台
      (内置列表或自定义)+ 机器人选择 + 会话类型 / ID
    • 消息分段编辑器(多段,字段名自动缓存)、可选字段 key/value 注入、
      JSON 实时预览(可复制)、提交校验(/api/builder/segments +
      /api/builder/submit),提交后自动回切查看模式并刷新
  • 全局设置页新增「生命周期清理」相关键(/api/lifecycle/clear

修复

[0.1.2] - 2026/08/14

[0.2.0] - 2026/08/12

新增

  • 多实例管理:一个 App 创建、运行、管理多个 ErisPulse 实例(独立端口 / 工作目录 / token)
  • 原生 UI(不依赖 WebView),基于 Dashboard REST/WebSocket API:
    • 实例列表与详情页
    • 系统监控(CPU / 内存实时图表)
    • 流式日志(级别过滤 / 暂停 / 复制)
    • 适配器与模块管理
    • 配置 TOML 视图
  • Android 嵌入运行时:proot + Ubuntu rootfs + Python + ErisPulse 全部内置,离线可用
  • 后台保活:Foreground Service 常驻 + 崩溃自动重启
  • 首启向导:运行时解压进度与日志视图

说明

ErisPulse-App v0.1.2

Choose a tag to compare

@github-actions github-actions released this 14 Aug 14:03

新增

  • 详情页视图注册机制(DetailViewRegistry + InstanceView):内置视图统一由
    注册表驱动,PC 宽屏改为左侧竖向导航 + 内容区(IndexedStack 保留各视图状态),
    移动端保持顶部 TabBar(视图自带 keep-alive);未来 SDK 动态注册视图经
    register() 加入后自动出现在导航,无需改动详情页布局
  • 新增「事件流」原生视图(轮询 /api/events,类型过滤 + 自动刷新 + 清空),
    替代 Dashboard 前端 event-stream 页
  • 新增「审计」原生视图(/api/audit,时间 / action / 详情 / IP + 清空),
    替代 Dashboard 前端 audit-log 页
  • 日志 Tab 完整版:
    • 软日志 / 进程日志双数据源切换(SegmentedButton)
    • 软日志工具栏对齐 Dashboard 前端日志页:模块过滤、等级过滤、搜索(防抖)、
      最新在底/顶排序、暂停滚动、自动滚动、行数计数、复制 / 导出 / 清空
    • 进程日志为实例实时 stdout/stderr(DebugLogBuffer 按实例缓冲,实时非持久化)
  • Dashboard 内嵌页改为 App 侧 reload 完成 token 注入,避免前端
    location.reload() 的 onLoadStop 事件链不一致

修复

  • PC 详情页滚轮不再切到相邻 Tab:桌面端走左侧导航(TabBarView 仅移动端)
  • Dashboard 在 App 内一直转圈:token 注入后的刷新不置 loading 态 + 8s 加载超时兜底
  • 首页长按 / 右键菜单停止 / 重启后主动探活回写,列表状态不再滞后
  • 桌面停止实例改进程树终止(Windows taskkill /F /T、POSIX SIGTERM→SIGKILL),
    避免子进程残留导致端口仍健康、"停止无效"
  • 全屏日志页等级过滤"无效果":level_num 兜底解析缺失的 level 字段 +
    工具栏显示当前过滤级别 chip + 过滤空态提示
  • 日志等级体系完整:SDK 自定义级别 TRACE=5 / EVENT=21 正确解析并显示
    (原先被误解析为 INFO,导致日志页"只有 INFO");等级过滤改勾选
    (FilterChip 精确级别集合,含 TRACE/DEBUG/INFO/EVENT/WARNING/ERROR/CRITICAL),
    默认仅显示 INFO 及以上
  • 概览页移除「查看日志」按钮(日志已是原生 Tab,与 Dashboard 入口保留)
  • PC 概览页启停 / 软重启 / 硬重启按钮直接可见(移动端仍走右上角菜单)
  • 概览卡片宽屏两列布局(资源+连接 / 事件),不再单列长条
  • 调试页不再显示 Android 设备行:按平台取设备信息(Android 走 device_info,
    桌面显示操作系统版本)
  • 基于已有实例创建时不再"卡死":venv 复制改异步 IO(原同步递归复制会冻结
    UI),进度对话框显示确定性进度条 + 已复制文件数 + "请勿关闭窗口"提示

内部

  • DashboardApi 新增 getAuditLog / clearAuditLoggetEvents 支持
    limit / type 服务端过滤参数
  • i18n:新增事件流 / 审计 / 日志完整版相关键,同步 zh-CN / zh-TW / en / ja / ru

ErisPulse-App v0.1.1

Choose a tag to compare

@github-actions github-actions released this 14 Aug 06:50

新增

  • 桌面运行时重构:完全移除 pybuild 便携运行时下载,改为构建时内置
    python-build-standalone(Python 3.15,即 uv managed Python 来源)到
    assets/python/python-{platform}-{arch}.tar.gz,首次使用释放到
    ~/.erispulse/python/ 并引导 pip
  • 实例环境分离(PC + 移动端统一):每个本地实例使用独立虚拟环境
    (PC ~/.erispulse/instances/{id}/.venv;移动端 rootfs 内
    {workingDir}/.venv),启动用 venv python 并注入 VIRTUAL_ENV
    后端包管理命中实例环境,不再回落系统 Python;旧实例无 venv 自动回退
  • 创建实例可选环境来源:
    • 全新环境:选 ErisPulse SDK 版本(PyPI,可选随装 ErisPulse-Dashboard),
      python -m venv + pip install 准备;移动端 venv 带
      --system-site-packages(离线继承 rootfs 预烘焙版本)
    • 基于已有实例:复制某个已有实例的 venv(继承其 SDK 版本与已装包),
      即"在谁的 venv 基础上建立新实例"
  • 实例不绑定 SDK 版本:首次安装版本记入实例记录,之后可随时通过
    Dashboard 包管理更新框架版本(更新后同步记录)
  • 移动端:FGS 新增 prepareInstance 通道(fresh / clone 环境准备 +
    instanceEnv 完成回执),创建页两端均提供环境来源选择
  • 下载源拆分:GitHub 镜像(移动端 rootfs 下载)+ 新增 PyPI 镜像源
    (官方 / 清华 / 阿里,桌面端 pip 安装使用)
  • 创建实例页桌面版:SDK 版本选择(PyPI 列表,含预发布标注)+
    安装 Dashboard 开关 + 环境准备进度日志弹窗
  • 运行时管理页改为 PC 环境概览:内置 Python 状态 / 各实例 venv /
    PyPI 镜像源
  • 适配器多 bot(账户)配置:配置页分「全局设置」与「Bot 账户」两区,
    支持账户列表、启用开关、新建 / 编辑 / 删除账户(schema 驱动表单,
    保存后端校验并热重载)
  • Dashboard 访问密钥自动注入:打开内嵌 Dashboard 时自动把实例 token
    写入前端 localStorage(__ep_tk__)实现免手动登录;AppBar 复制按钮
    改为可见的「访问密钥」文字按钮(带钥匙图标),用户不再找不到密钥

修复

  • 框架更新信息不显示:后端 /framework/versionslatest 字段,
    改为使用 can_update + versions 首个,无更新时禁用按钮并显示"已是最新"
  • 日志改走 Dashboard WebSocket 日志流(log_entry + data 解包 +
    module 字段),桌面 / 移动端统一(历史用 /api/logs 填充 + WS 实时)
  • 配置页删除源码模式,只保留渲染(JSON 树 + 单键编辑)
  • 修复实例安装包被装到系统环境的问题(见上"每实例独立 venv")
  • 适配器 Tab 过滤混排的模块条目(只保留 type=adapter
  • 配置 Tab 删除顶部"渲染 / 复制"栏,只保留配置树
  • 日志页新增等级过滤与导出下载(系统下载 / 文档目录)
  • PyPI 版本排序修正:正式版排在预发布之前(2.7.1 > 2.7.1.dev4 > … > 2.7.1.dev0),
    预发布按后缀数字排序(PEP 440 语义)
  • 桌面 App 关闭时终止全部实例进程(AppLifecycleListener.onExitRequested),
    不再残留 python 进程
  • 创建实例页 PC 布局优化:表单限宽居中(560px),环境来源分组加标题,宽屏不再全宽拉伸
  • 关于 / 首启 / 清空日志文案去掉 proot / Ubuntu 等实现细节,统一通用(实现细节见架构文档)
  • 详情页操作按钮移入右上角菜单(停止 / 软重启 / 重启进程),概览页更简洁
  • 开源地址与 rootfs 下载镜像更新为 ErisPulse/ErisPulse-App
  • CI:修复 Windows 打包步骤 PowerShell 语法、macOS ditto 产物路径(erispulse_app.app
  • 修复桌面端"内置 Python 释放失败":内置 Python 资产命名不一致(CI 打
    python-windows-x64.tar.gz,App 按 python-windows-amd64 加载),
    统一为 x64,Windows / Linux 首次启动可正常释放 Python
  • 桌面端产物:Windows / Linux 为 x64,macOS 为 arm64
    (Windows on ARM 用户可直接用 windows-x64 产物,x64 模拟层可运行)
  • Windows 新增 Inno Setup 安装器(x64,产 *-setup.exe),与 zip 一起发布

变更

  • Dashboard 随 SDK 一起安装(移除"安装 Dashboard 模块"开关,恒装 ErisPulse-Dashboard

ErisPulse-App v0.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:12
init