Skip to content

Releases: j9kkk/NebulaShell

NebulaShell v0.5.8

Choose a tag to compare

@github-actions github-actions released this 14 Oct 02:39

AI 助手

  • 右侧栏纯净化:专职 AI 助手 + 会话管理抽屉:
    • 取消原「AI 助手 / 命令历史 / 常用命令」三页签,右侧栏不再叠两层头部;会话切换、新建、清空、会话抽屉合并为单层 36px 顶栏,与左侧标签栏像素级对齐,聊天区垂直可视高度增加约 40px
    • 新增会话管理抽屉(顶栏 📑 按钮,带存活会话数徽标):一键滑出全量会话列表,支持按标题/主机即时搜索、点击切换、✏ 重命名、🗑 删除(二次确认),后台「生成中…」与本会话「新回复」状态实时刷新
  • 修复管理弹窗打开时命令无法送入终端:
    • 终端写入在模态打开期间被拒(安全设计),而命令历史改弹窗后「点击行填入终端」、常用命令 ▶「在当前终端执行」都发生在弹窗内,等于自我封锁;现在两者先收起自身弹窗再投递
  • 修复 AI 抽屉按 Esc 不置 defaultPrevented:抽屉/右侧栏/文档层各自监听 Esc,抽屉消费后未标记,语义不完整

命令历史与常用命令

  • 从右侧栏迁移为独立居中管理弹窗:
    • 长命令、复杂参数不再受 320px 侧栏宽度挤压,弹窗可用宽度提升至约 680px,完整展示命令内容与主机来源
    • 命令历史:搜索过滤、点击行填入当前终端(不回车)、★ 收藏为常用命令;常用命令:▶ 执行、✏ 行内编辑、🗑 删除、过滤与添加
    • 两个弹窗互斥打开,且可在彼此打开时用快捷键/菜单互相切换
  • 入口与快捷键:命令历史进「编辑」菜单(⌘⇧H / Ctrl+Shift+H),常用命令进「会话」菜单(⌘⇧S / Ctrl+Shift+S),并注册为命令面板条目 session.history / tools.snippets;原 panel.history / panel.snippets 保留为兼容别名

界面细节

  • 修复会话抽屉计数徽标绝对定位偏移,撑出 26px 图标按钮边界(窄面板审计 T64e)
  • 命令历史 / 常用命令弹窗工具行的过滤框与清空图标按钮统一为 28px 等高

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.7

Choose a tag to compare

@github-actions github-actions released this 13 Oct 13:48

终端与标签栏

  • 修复标签拖拽时标题文字被选中:
    • macOS(WebKit)的文字选区在按下鼠标那一刻就开始,此前只在拖动 5px 后取消默认行为已经来不及,拖动过程中沿途标签的标题被一并刷成选区;拖动已激活标签时松手不切换焦点,选区一直残留
    • 现在按下标签卡片头与平铺工作区瓦片标题栏即取消默认动作,两者在样式中声明不可选中;实测拖拽全程无任何文字选区(含重复拖拽、途经其他标签关闭按钮等路径)
  • 修复非激活标签关闭按钮残留红色悬停样式:
    • 按住鼠标期间 WebKit 不为拖拽换位后的元素更新悬停态,标签重排后关闭按钮可能挂上永远清不掉的 :hover(红底红叉);拖拽进行中标签整体不再接收指针命中,悬停态由拖拽逻辑按坐标计算,不再残留
    • 兜底:松键后若页面未收到 mouseup(如原生文本拖放吞事件),下一次鼠标移动即结束拖拽,标签不会在无按键状态下跟随光标
  • 禁用主界面全选:
    • ⌘A(Windows/Linux 为 Ctrl+A)与编辑菜单「全选」不再把整个界面的文字和图标刷成选区;输入框内全选、终端全选(xterm 自绘选区)与文件分屏全选行为不变

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.6

Choose a tag to compare

@github-actions github-actions released this 13 Oct 10:22

终端与标签栏

  • 修复拖拽排序后切换标签需点击两次的问题:
    • 移除拖拽松开(onUp)时向 window 挂载的一次性捕获阶段 click 拦截监听器,消除因为在拖拽排序后未产生多余点击事件而导致后续正常标签切换点击被吞掉的缺陷,拖拽重排后点击任意标签即刻流畅切换
  • 稳定主机标签默认名称,取消动态编号漂移:
    • 移除此前在 syncTabChrome() 中根据标签实时展示顺序动态追加 #2、#3 序号的逻辑,主机标签默认名称在拖拽重排、平铺切换与增删过程中保持绝对稳定,不再随着展示顺序变动而实时改变
  • 活动标签视觉优化:
    • 移除活动标签卡片顶部粗线高亮指示条(.tab.active::before)及顶部彩色投影,改用平滑的背景海拔高亮、适度柔和微阴影(0 2px 8px)与字重突出,使活动标签视觉更自然纯粹,平铺工作区活动瓦片外框同步优化

状态栏与资源监控

  • 多维指标历史趋势悬停卡片(CPU / 内存 / 网络吞吐):
    • 内存使用趋势卡片:悬停状态栏内存指标(#mon-mem-trigger)时向上弹出翡翠绿平滑贝塞尔曲线卡片,展示最近 ~48 秒内存占用走势及当前占用、区间峰值与可用内存预估(GB / MB 量纲自动对齐)
    • 网络吞吐趋势卡片:悬停状态栏网络指标(#mon-net-trigger)时向上弹出双向网络流量卡片,天蓝色实线面积图呈现下行吞吐(↓),浅紫色虚线呈现上行吞吐(↑);内置自适应标尺天花板算法(calcNetCeiling)匹配不同网络带宽量级,直观呈现峰值下载、峰值上传与当前实时速率
  • 日蚀亮(light)主题全栈适配:
    • 为状态栏监控底板(.mon-deck)、连接延迟胶囊、上下行方向箭头符以及 CPU、内存、网络走势悬停卡片提供专属浅色卡片化微阴影与高对比度边框,网格线与曲线底板全面融入浅色界面

AI 助手

  • 多会话并发流式与状态解耦:
    • 抽离独立会话状态层(src/shared/ai-thread-state.js),将 aiHistory 与 aiReq 收敛为只读代理视图,防止多会话并发流式过程中切流误伤后台流式请求
    • 后台会话流式生成时,顶部触发按钮呈现呼吸微动画(pulse);生成完成且未激活时标有未读高亮提示,切回时自动清除
  • 会话管理菜单体验与无障碍完善:
    • 会话下拉菜单支持完整 ARIA 属性(aria-haspopup="menu"、aria-expanded、role="menuitemcheckbox"),增加选中对勾(✓)与关联主机徽标;删除非空会话弹出二次确认对话框防误触,支持键盘导航与悬停显隐删除按钮
  • 快捷键支持:
    • 新增 ⌘N / Ctrl+Shift+N 全局快捷键(ai.newThread),在 AI 助手面板打开时一键新建对话

主题系统与配置

  • 精简主题系统为星云暗与日蚀亮双主力主题:
    • 彻底移除 forest(森林绿)实验性主题残留,全局主题规范收敛为 星云暗(nebula) 与 日蚀亮(light) 双主力主题;同步精简 Rust 端配置白名单校验(config.rs)与全量单元测试

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.5

Choose a tag to compare

@github-actions github-actions released this 13 Oct 07:11

AI 助手

  • 轻量级多会话管理:
    • 在 AI 面板顶部新增会话控制栏(.ai-thread-bar),支持下拉菜单切换会话、一键新建对话(+ 按钮或面板内按 ⌘N / Ctrl+N)、一键清空当前对话及删除指定历史会话;首条提问自动提取为会话标题
    • 每个会话拥有独立的 DOM 视图容器(.ai-thread-view)与流式请求槽位,切换会话零闪烁且保留各自滚动位置;会话在后台流式生成时切走不会中断,ai:thinking / ai:delta / ai:done 按请求 ID 精准归入所属会话
  • 主机上下文智能分流与跨主机执行守卫:
    • 从终端触发「🔍 解释选中内容」或右键「AI 诊断报错」时自动按主机路由会话:当前为空白通用会话时就地绑定主机,存在同主机空闲会话时自动切换复用,否则自动新建带主机标识的专属会话,避免多台主机排障上下文混杂
    • AI 助手回复气泡自动记录生成时的来源主机快照;当点击代码块「执行」或「插入」而当前焦点终端已切至另一台主机时,自动弹出跨主机安全确认提醒,防止误操作

终端与标签栏

  • 同主机多标签直连与序号区分:点击主机列表默认直接在新标签连接(若当前位于空白单窗格标签则就地复用),同一主机打开多个标签时自动追加 #2、#3 序号区分;主机右键菜单与命令面板支持切换到已有标签
  • 标签卡片与平铺瓦片拖拽排序:支持左键按住顶部标签水平拖拽重排顺序(溢出时贴边自动滚屏),以及在标签平铺视图下拖拽瓦片标题栏调整位置,标签条顺序与平铺网格实时同步
  • 活动标签视觉强化:三套主题(星云暗 / 日蚀亮 / 森林绿)补充 --tab-active-* 语义 Token,增强活动标签与活动平铺瓦片的顶部高亮指示条、背景对比与阴影层次

状态栏与资源监控

  • 微型环状仪表与三舱布局:状态栏监控区重构为三舱布局,CPU、内存、磁盘占用升级为 18×18 SVG 动态圆环仪表(70% 预警、85% 告警变色),连接延迟独立胶囊展示,网络上下行速率方向符分色显示
  • CPU 历史趋势悬停卡片:悬停状态栏 CPU 指标时弹出 SVG 折线面积图浮层,直观展示最近 ~48 秒负载走势及当前负载、区间峰值与区间均值

图标与构建资源

  • 优化 Windows / Linux 满绘版图标与安装器图标立体层次及暗色背景辨识度

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.4

Choose a tag to compare

@github-actions github-actions released this 13 Oct 05:22

界面与主题系统

  • 全局配色主题与一键切换:
    • 修复设置中切换配色主题仅改变终端画布背景、其余界面区域仍停留在暗色 #0d1117 导致视觉割裂的问题
    • 抽离独立主题引擎模块(src/modules/theme.js),通过 applyTheme 同时驱动顶层 html[data-theme] 属性与所有打开的 @xterm/xterm 终端实例 16 色调色板,实现 HTML 壳层与终端画布同步切换
    • 重构 src/style.css 为三层语义化 Design Token 体系,完整适配 星云暗(nebula)、日蚀亮(light)、森林绿(forest) 三套主题,覆盖顶层标题栏、主机侧栏、标签条、分屏与空窗格、SFTP 文件面板与任务中心、底部状态栏与监控条、右侧工具栏与 AI 对话气泡、弹窗遮罩与阴影、原生表单控件(color-scheme 与下拉箭头)、滚动条及右键菜单
    • 启动时在 boot() 读取配置后立即应用主题,消除首帧闪烁;设置弹窗切换「配色主题」下拉框时支持实时预览,点击「取消」、按 Esc 或点击遮罩关闭弹窗自动回滚至已保存的主题,点击「保存」持久化生效

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.3

Choose a tag to compare

@github-actions github-actions released this 13 Oct 02:58

系统与跨平台

  • 消除 Windows 下部分操作时控制台窗口闪现:
    • 读取主机名(hostname)派生机器密钥时,Windows 分支为子进程增加 CREATE_NO_WINDOW 标志,以无窗口模式静默执行,解决首次使用密码连接主机或读写凭据时命令行黑框一闪而过的问题
    • 派生的凭据密钥在内存中通过 OnceLock 缓存,整个进程生命周期内仅派生一次,避免后续每次加解密凭据时重复拉起子进程
    • 打开外部链接(app:openExternal)的 Windows 分支同步补充 CREATE_NO_WINDOW 标志,点击链接时不再弹出黑框

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.2

Choose a tag to compare

@github-actions github-actions released this 13 Oct 01:58

文件管理(SFTP)

  • 可删除非空目录:右键目录「删除目录」不再要求目录为空,确认后连同其全部内容一起删除。确认文案同步改为「将连同其全部内容删除」(此前提示「目录必须为空才能删除」)
  • 递归删除按栈式遍历,逐项 lstat 分型:符号链接一律按文件删除、绝不跟随,避免误删链接指向的目标;单项失败不中断整体删除,跳过该项继续删兄弟项,最后统一报出首个错误(失败目录留下残壳,不静默吞掉)

常用命令 / 命令历史

  • 常用命令页签新增过滤框:按名称或命令内容模糊匹配(不区分大小写),无匹配时给出空态提示;行尾 ✕ 一键清空过滤词并把焦点还给输入框
  • 常用命令每行的 ▶ 执行 / ✏ 编辑 / 🗑 删除改为常显(此前 ✏/🗑 悬停才出现,入口过于隐蔽)
  • 常用命令行内编辑改为单行原地替换:名称、命令文本就地变成输入框,行高不变(此前展开成两行表单,整行被撑高)
  • 命令历史一键收藏 ★ 改为先弹名称输入框:预填命令前 16 字符并全选,直接输入即覆盖,Enter 保存、Esc/取消不保存;已收藏的命令只提示、不再弹框

AI 助手

  • 未配置模型时的首次使用引导:对话页模型触发钮不再禁用,文案变为「未启用模型,点击配置」(accent 色高亮),点击直达 AI 设置分区;发送消息前若仍无模型,先提示「请先配置 AI 模型」并打开设置,不再发出注定失败的请求

终端

  • 修复选区整体滚出视口后首行残留不透明色带盖住文字:xterm 5.5 的 DOM 渲染器缺陷(上游 6.0 已修),选区与视口无交集时补一道守卫清空选区浮层
  • 修复 🔍 选区悬浮按钮在滚动后落后一格、选区已滚出视口仍停在原位置压住文字:用户滚动(滚轮/拖滚动条)不触发 term.onScroll,改为推到下一帧再重算按钮位置
  • 清屏(底栏按钮 / ⌘K / 命令面板 / 右键菜单)后把焦点还给刚清屏的终端,无需再点一下才能敲命令;后台标签页与模态打开时不抢焦点

界面结构

  • 移除右侧工具栏页签行右侧的 ✕ 收起按钮:收起只保留标题栏的右侧工具栏开关一个入口,避免同义入口重复

构建与工具链

  • Windows 安装包(NSIS)新增安装器图标与头图/侧边图;Windows/Linux 应用图标改为满绘版(去掉 macOS 的 80% 内缩层,任务栏观感与微信/钉钉一致),macOS 仍用内缩版
  • 新增 npm run bump(scripts/bump-version.mjs):一条命令同步 package.json / tauri.conf.json / Cargo.toml 三处版本号并校验 CHANGELOG 段落,支持 --check 只校验;新增 npm run test:rust:all(cargo test --all-targets),补齐 --lib 不编译 tests/ 目录的盲区(0.5.0 集成测试编译失败即因此漏网)
  • e2e 补齐几何断言注入片段 GEOM_SNIPPET(消除多处手写漂移),新增选区滚出视口(T9z3/T9z4)、非空目录递归删除(T54e)、常用命令过滤(T43f)、历史收藏弹框(T43d)、0 模型引导(T9e0)等用例

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 00:22

会话日志

  • 修复设置「会话日志」分区布局:日志目录的输入框与「选择…」「打开」按钮合并为一行(输入框可收缩、按钮定宽,沿用主机编辑框密钥行的控件行规范);此前误用纵向容器,输入框脱离标签独行、按钮被拉伸成整行宽,空输入框也看不出用途——现在输入框带「留空 = 默认目录」占位提示

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 18:24

会话日志

  • 默认格式改为纯文本:颜色、窗口标题等控制序列不再原样落盘;退格改错、方向键调历史、\r 进度条还原成屏幕上最终显示的那一行(中日韩文字按显示宽度处理);vim/top 等全屏程序折叠为「进入全屏程序 / 全屏程序已退出」两行标记,界面内容不记录;文件带文件头(主机、开始时间、格式说明)与结束行(原因 + 已记录大小),跨天自动插入日期行。需要原样回放的可在设置里选「原始终端流」(用 cat / less -R 查看)
  • 时间戳改为按行:每个非空行行首一个 [hh:mm:ss],取该行结束的时刻(命令行显示的是按回车的时间);空行不加时间戳;可在设置里关闭。此前按网络数据块打戳,大段输出几十行共用一个、手敲命令逐字切碎
  • 设置新增「会话日志」分区:自动记录开关、日志目录(留空 = ~/NebulaShell-logs,可选/一键打开)、内容格式(纯文本 / 原始终端流)、时间戳开关、开始记录时先写入屏幕上已有的内容;修改对之后开始的日志生效
  • 自动记录:连接主机时自动开始(默认关),登录欢迎信息也能录到;单台主机可在「编辑主机」里覆盖为总是/从不;连接失败或取消时自动删除空文件
  • 手动开始时先写入屏幕上已有的内容(默认开,全屏程序里开始则跳过),已回滚的输出不再缺席
  • 磁盘写入跟不上时丢弃新数据并在日志里标注丢失量、提示一次,不再永久停止录制;「记录键盘输入」彻底移除(原始按键含密码,永不落盘;命令经回显进入日志)
  • 标签标题显示录制红点(已暂停不闪)、窗格工具条新增日志按钮(录制中/已暂停常显)、终端右键菜单新增「记录会话日志」;悬停状态栏按钮可刷新已记录大小;自动记录失败在连接结果里提示

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。

NebulaShell v0.4.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 17:22

会话日志

  • 录制跟着会话走,不再随连接状态静默改变:断开(手动断开 / 网络中断 / 远端退出)时日志保持打开并写一行标记,状态栏按钮显示红色"已暂停"(不呼吸),重连(自动重连、重连按钮、在窗格里按回车)后继续写同一个文件;此前手动断开后后端仍在记录、界面却显示不可用,网络断开则静默停止且重连后不续录
  • 保存提示带文件名、大小和「在文件夹中显示」按钮;关闭含多个录制中会话的标签时合并为一条「已保存 N 份会话日志」;「会话」菜单与命令面板新增「打开日志文件夹」
  • 文件名改为 {主机名}_{日期_时间}.log(不再拼接 36 位 UUID),同名自动顺延 _2、_3,绝不覆盖;权限仍为 0600
  • 开始 / 停止在途时按钮与命令禁用,快速连点只开一份日志
  • 出错信息带上下文(哪个目录 / 文件、权限不足 / 磁盘空间不足等);写失败(磁盘满、文件被删等)弹提示并提供「打开日志文件夹」
  • 文案统一为「会话日志」;不再宣称"不记录输入"——日志记录屏幕上显示的内容,包括输入后回显的命令,密码等不回显的输入不落盘
  • 测试模式(NEBULA_TEST=1)下日志目录隔离到用户数据目录的 session-logs/,e2e 不再往真实主目录写文件
  • 内部:log:error 事件被 log:state 取代(后端为录制状态的唯一事实源);移除"记录键盘输入"的后端通道(原始按键含密码,永不落盘;命令仍经服务器回显进入日志)

下载对应平台的安装包:

平台 文件
macOS (Apple Silicon) *_aarch64.dmg
macOS (Intel) *_x64.dmg
Windows (64 位) *_x64-setup.exe
Linux (64 位) *_amd64.AppImage / *.deb

完整变更历史见 CHANGELOG.md。

首次运行提示:应用未做代码签名与公证,系统可能拦截 ——
macOS 提示"已损坏,无法打开"时,把 .app 拖进「应用程序」后执行
sudo xattr -rd com.apple.quarantine /Applications/NebulaShell.app 再打开;
Windows 在 SmartScreen 提示中选「仍要运行」;Linux AppImage 需先 chmod +x。