Skip to content

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。