Shell Agent:键盘优先的智能桌面运维工作台(macOS)
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 | npm install # 首次安装(自动重建 node-pty 原生模块) |
界面导览
- 标签栏(顶部):
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 进行许可。