Electron 桌面应用
CLI-JAW 提供基于 Electron 构建的原生 macOS 桌面应用程序。它封装了完整的仪表盘体验,并额外提供终端、差异查看器、浏览器面板和文件夹面板。
安装
从发布页面下载 DMG 文件,将 CLI-JAW 拖入"应用程序"文件夹即可。该应用内置了仪表盘,并会连接到本地的 CLI-JAW 实例。
# Build from source:
npm run electron:dist:mac
面板布局
Electron 应用提供多面板工作区:
| 面板 | 位置 | 说明 |
|---|---|---|
| 仪表盘 | 中央 | 完整的管理仪表盘,包含实例、笔记、看板 |
| 终端 | 底部 | 内嵌终端,用于执行 CLI 命令 |
| 浏览器 | 右侧 | 基于 Webview 的标签页浏览器(仅桌面端) |
| 差异查看器 | 右侧 | 基于服务器 API 的 Git 差异面板(仅桌面端) |
| 文件夹面板 | 左侧/右侧 | 文件树导航 |
浏览器面板
桌面端浏览器面板使用 webview 标签实现完整的浏览功能。特性包括:
- 标签页管理(Cmd+T 新建标签页、Cmd+W 关闭标签页、Cmd+1-4 切换标签页)
- 智能地址栏——输入 URL 直接导航,输入搜索词则跳转至 Google
- 新标签页默认打开 Google
- 允许访问本地/私有主机(仅桌面端——Web UI 中不可用)
差异查看器
差异面板显示项目的 Git 变更:
- 仓库根目录候选项来自
projectDirs、workingDir、固定根目录、主目录回退 - 可配置的差异设置:根目录策略、差异模式、基准引用、未跟踪文件
- 基于服务器端 API,避免在 Electron 主进程中执行 git 操作
diff-service.ts中包含路径遍历和引用验证防护
键盘快捷键
完整列表请参阅键盘快捷键参考文档。主要的桌面端快捷键:
| 快捷键 | 操作 |
|---|---|
Cmd+T | 新建浏览器标签页 |
Cmd+W | 关闭当前标签页 |
Cmd+1-4 | 切换到第 1-4 个标签页 |
Cmd+R | 刷新主窗口 |
Cmd+Shift+R | 强制刷新 |
macOS 权限
Electron 应用可能会提示需要 macOS 自动化访问权限。请在"系统偏好设置">"隐私与安全性">"自动化"中授予权限。应用的退出流程可见且能妥善处理清理工作。
开发
# Run Electron in dev mode (concurrent with jaw server):
npm run electron:dev
# Build the Electron app:
npm run electron:build
# Create macOS DMG:
npm run electron:dist:mac