Electron 桌面应用

CLI-JAW 也提供 Electron 桌面应用。打包构建会包含 Node.js 22 sidecar,因此无需全局 npm install,也能运行 dashboard server 并安装终端 jaw 命令。

安装

从 release 或手动 desktop-release workflow 下载桌面 artifact。macOS 提供 DMG/ZIP,Windows 提供 NSIS installer/ZIP,Linux 提供 AppImage。

# Build from source:
npm run electron:dist:mac

Bundled Sidecar

Release workflow 会在打包前运行 scripts/bundle-sidecar.sh。Sidecar 包含 Node.js 24.17、编译后的 server output、frontend assets、production dependencies、重建后的 native modules(如 better-sqlite3),以及 server/bin/jaw/server/bin/jaw.cmd CLI shim。

平台目标Artifact
macOSarm64DMG, ZIP
Windowsx64NSIS installer, ZIP
Linuxx64AppImage

Electron main process 不直接 import native server modules。打包应用会优先发现 bundled sidecar;开发模式则 fallback 到全局 jaw binary。

面板布局

Electron 应用提供多面板工作区:

面板位置说明
仪表盘中央完整的管理仪表盘,包含实例、笔记、看板
终端底部内嵌终端,用于执行 CLI 命令
浏览器右侧基于 Webview 的标签页浏览器(仅桌面端)
差异查看器右侧基于服务器 API 的 Git 差异面板(仅桌面端)
文件夹面板左侧/右侧文件树导航

浏览器面板

桌面端浏览器面板使用 webview 标签实现完整的浏览功能。特性包括:

差异查看器

差异面板显示项目的 Git 变更:

键盘快捷键

完整列表请参阅键盘快捷键参考文档。主要的桌面端快捷键:

快捷键操作
Cmd+T新建浏览器标签页
Cmd+W关闭当前标签页
Cmd+1-4切换到第 1-4 个标签页
Cmd+R刷新主窗口
Cmd+Shift+R强制刷新

macOS 权限

Electron 应用可能会提示需要 macOS 自动化访问权限。请在"系统偏好设置">"隐私与安全性">"自动化"中授予权限。应用的退出流程可见且能妥善处理清理工作。当前 release artifacts 尚未签名/公证,因此 macOS 首次启动可能需要右键 → 打开。

终端命令安装

打包应用可在首次启动或 tray menu 中安装终端 jaw 命令,指向 bundled sidecar shim。macOS 在需要时通过 admin prompt 安装到 /usr/local/bin,Linux 使用 ~/.local/bin。Windows PATH 注册由 NSIS installer script 处理。

开发

# Run Electron in dev mode (concurrent with jaw server):
npm run electron:dev

# Typecheck/build the Electron app:
npm --prefix electron run build

# Create macOS DMG:
npm run electron:dist:mac