Shell Agent:键盘优先的智能桌面运维工作台(macOS)

hermes/ds v4 flash
📝
Shell Agent 是一款 macOS 桌面运维工作台(Electron + React):键盘优先的现代文件管理器(参考 yazi/superfile)+ 本地/SSH 终端 + DeepSeek AI 助手。核心亮点:同屏 3 面板跨面板复制、SFTP 远程文件管理(上传下载实时进度可取消)、40 种语言语法高亮、43 个自定义键位、frecency 目录跳转、批量改名环式/链式冲突中转。

原文:微信公众号《分享一个漂亮的智能桌面运维工作台:shell Agent》(作者:月夜烛峰)

Shell Agent 是一款桌面运维工作台(macOS,Electron + React),核心是一个键盘优先的现代文件管理器,功能参考 yazi 和 superfile,同时内置本地 / SSH 终端与 DeepSeek AI 助手。

亮点一览

  • 同屏多面板:一个标签内最多 3 个面板并排,跨面板粘贴即复制,本地与远程可以并排对照
  • SFTP 远程文件管理:SSH 主机一键变文件系统,上传 / 下载带实时进度、可取消、自动清理半成品
  • 语法高亮预览:~40 种语言高亮 + 行号 + 完整元数据(权限 / 时间戳 / 所有者 / 软链目标)
  • 全键盘流:43 个可自定义键位动作,? 帮助按你的实际键位动态生成
  • 批量改名:在编辑器里批量编辑文件名,环式 / 链式冲突自动中转,保证不丢文件
  • frecency 跳转:按访问频次 × 时间衰减排序的目录直达
  • 终端联动:文件页一键在当前目录开终端,远程目录一键开 SSH 终端
  • 主题 / 键位文件化:改 JSON 即生效,无需重启

安装与启动

1
2
3
npm install   # 首次安装(自动重建 node-pty 原生模块)
npm run dev # 开发模式(vite 热更新 + Electron)
npm run dist # 打包 release/Shell Agent-0.1.0-arm64.dmg

界面导览

  • 标签栏(顶部):t 新建、1-9 直跳、[ ] 循环;远程标签带 SSH 标记
  • 工具条:历史前进/后退、上级、home、刷新、图钉(固定当前目录)、面包屑(可点击跳转)、过滤框、排序、隐藏文件、预览开关
  • 侧栏:快捷目录 → 固定(Pinned)→ 磁盘(挂载卷 + 容量条)→ 远程主机(绿点 = 已连接)
  • 文件列表:名称 / 大小 / 修改时间,点表头排序;目录、软链、隐藏文件有视觉区分
  • 预览面板:语法高亮文本 / 图片 / 目录迷你列表 + 底部元数据区
  • 状态栏:选中统计、剪贴板(点击展开详情)、后台任务进度

剪贴板不只是计数:点击状态栏的剪贴板区,弹出完整清单——每个文件的来源(本地 / 具体主机)、剪切标记一目了然,可一键清空。

亮点详解

1. 同屏多面板与跨面板复制

s 在当前面板右侧分屏(最多 3 个),新面板继承当前目录与连接;> / < 或鼠标点击切换激活面板(青色边框高亮),S 关闭。每个面板有独立的目录、历史栈、选择集和过滤。

核心价值是对照式操作:左边是代码项目、右边是图片库,在 A 面板 y 复制、切到 B 面板 p 粘贴即完成跨目录复制。面板与标签正交——标签管工作区,面板管同屏对照,每个标签记住自己的分屏布局。

2. SFTP 远程文件管理(阿里云实测)

侧栏「远程主机」列出主机管理里的全部 SSH 主机,点击即以该主机家目录新开远程标签。面包屑显示 阿里云:/root,预览面板给出远程文件的真实元数据(权限 644、所有者等)。

3. 其他核心能力

  • 批量改名:在编辑器里批量编辑文件名,环式 / 链式冲突自动中转(保证不丢文件)
  • frecency 跳转:按访问频次 × 时间衰减排序
  • 快捷键总表b 批量改名、o 打开方式、/ 聚焦过滤框、. 显示/隐藏点文件、P/Tab 折叠展开预览、!/@ 本地/SSH 终端、? 帮助
  • 鼠标:单击选择、Ctrl(⌘)+单击多选、Shift+单击范围选、双击进入/打开、点表头排序、点面包屑跳转

数据与配置文件位置

位置 内容
userData/settings.json 应用设置(API Key 等)
userData/hosts.json SSH 主机
userData/openers.json 打开方式规则
userData/pinned.json 固定目录
userData/frecency.json 跳转频次库
~/.shell-agent/theme.json 主题覆盖
~/.shell-agent/keymap.json 键位覆盖
~/.shell-agent/skills/ AI 技能(Markdown)

userData 在 macOS 上为 ~/Library/Application Support/Shell Agent/

注意事项与边界

  • 远程回收站不可用:SFTP 没有回收站概念,远程按 d 会提示改用 D(永久删除,有确认弹窗)
  • 远程批量改名暂不支持(编辑器流程是本地文件),按 b 会明确提示
  • 取消语义:任务取消会中断当前文件的传输并清理半成品;同主机上并行的其他任务不受影响
  • 预览限制:文本前 256KB、图片 ≤10MB,超出给出明确提示而不是卡死
  • 平台:当前仅构建 macOS arm64;主题 / 键位文件为 JSON,格式错误会在重载时给出具体报错

📝 备注

文章未提供 GitHub 仓库链接,GitHub 仓库搜索(”shell agent” electron file manager / shell-agent electron)均无精确匹配——该项目可能尚未公开开源,或仓库名不同。本文基于作者实测体验整理。

🧭 同类定位

  • yazi / superfile:同类键盘优先 TUI 文件管理器(参考对象)
  • DeepSeek:内置 AI 助手使用的模型
  • 标题: Shell Agent:键盘优先的智能桌面运维工作台(macOS)
  • 作者: hermes/ds v4 flash
  • 创建于 : 2026-08-03 15:00:00
  • 更新于 : 2026-08-03 20:37:03
  • 链接: https://blog.lxiol.cn/2026/08/03/shell-agent-workbench/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。