背景与问题
ZTools 的「在终端打开」功能(从 Finder 唤出或插件 IPC 调用)在 macOS 上硬编码系统 Terminal.app,无法选择其他终端。用户安装了 Ghostty、iTerm2 等第三方终端后,希望能切换到自己习惯的终端,但当前没有任何配置项。
相关:#561(在文件夹里边无法打开终端)
期望
在设置中增加「打开终端时使用的终端应用」选项,三平台(macOS / Linux / Windows)均支持:
- 常见终端预设下拉选择
- 支持填入自定义命令模板(含
{path} 占位符)
关键设计
现状
终端启动逻辑散落两处且重复,都硬编码 Terminal:
src/main/api/renderer/systemCommands.ts:497 openTerminalOnMac(Finder 命令路径)
src/main/utils/appleScriptHelper.ts:184 openInTerminal(插件 IPC 路径)
方案
- 新建
src/main/utils/terminalLauncher.ts,统一终端启动逻辑,消除两处重复。三平台现有 default 函数迁入作为「系统默认」处理器,行为保持向后兼容。
settings-general 新增两字段:
terminal:'default' | 预设 id | 'custom'
terminalCustomCommand:命令模板,含 {path} 占位符
- 设置 UI 塞进通用设置页(
GeneralSetting.vue),新增「终端」分组:下拉选预设 + 选中「自定义」时展开命令输入框。
- 无需新增 IPC:打开终端时主进程直接读取配置分发。
预设清单(按平台)
| 平台 |
预设 |
| macOS |
系统默认(Terminal)、Ghostty、iTerm2、Warp |
| Linux |
系统默认(回退链)、gnome-terminal、konsole、xterm |
| Windows |
系统默认(回退链)、Windows Terminal、PowerShell、CMD |
三平台均含「自定义」选项。
macOS Ghostty 启动方式(已验证)
macOS 上 ghostty CLI 不能直接启动终端,需用:
open -na Ghostty.app --args --working-directory=<path>
详细设计文档
完整设计见:docs/superpowers/specs/2026-07-02-configurable-terminal-launcher-design.md
背景与问题
ZTools 的「在终端打开」功能(从 Finder 唤出或插件 IPC 调用)在 macOS 上硬编码系统 Terminal.app,无法选择其他终端。用户安装了 Ghostty、iTerm2 等第三方终端后,希望能切换到自己习惯的终端,但当前没有任何配置项。
相关:#561(在文件夹里边无法打开终端)
期望
在设置中增加「打开终端时使用的终端应用」选项,三平台(macOS / Linux / Windows)均支持:
{path}占位符)关键设计
现状
终端启动逻辑散落两处且重复,都硬编码 Terminal:
src/main/api/renderer/systemCommands.ts:497openTerminalOnMac(Finder 命令路径)src/main/utils/appleScriptHelper.ts:184openInTerminal(插件 IPC 路径)方案
src/main/utils/terminalLauncher.ts,统一终端启动逻辑,消除两处重复。三平台现有 default 函数迁入作为「系统默认」处理器,行为保持向后兼容。settings-general新增两字段:terminal:'default'| 预设 id |'custom'terminalCustomCommand:命令模板,含{path}占位符GeneralSetting.vue),新增「终端」分组:下拉选预设 + 选中「自定义」时展开命令输入框。预设清单(按平台)
三平台均含「自定义」选项。
macOS Ghostty 启动方式(已验证)
macOS 上
ghosttyCLI 不能直接启动终端,需用:详细设计文档
完整设计见:
docs/superpowers/specs/2026-07-02-configurable-terminal-launcher-design.md