原理是在 .zshrc 里 编写脚本检测当前的终端类型。 如果不是 ghostty 的话,直接呼起ghostty。 脚本如下(建议贴在最顶端) # Redirect Finder-opened Apple Terminal sessions into Ghostty. if [[ -o interactive && "${TERM_PROGRAM:-}" == "Apple_Terminal" && -z "${GHOSTTY_TERMINAL_TAKEOVER_DONE:-}" ]]; then export GHOSTTY_TERMINAL_TAKEOVER_DONE=1 __ghostty_app="/Applications/Ghostty.app" __ghostty_lock_file="${TMPDIR:-/tmp}/ghostty-terminal-takeover-${UID}.lock" : >> "$__ghostty_lock_file" 2>/dev/null if ! zmodload zsh/system 2>/dev/null || ! zsystem flock -t 0 -f __ghostty_lock_fd "$__ghostty_lock_file" 2>/dev/null; then exit 0 fi if [[ -d "$__ghostty_app" ]]; then if /usr/bin/osascript - "$PWD" <<'APPLESCRIPT' on run argv set targetDir to item 1 of argv tell application "/Applications/Ghostty.app" set cfg to new surface configuration set initial working directory of cfg to targetDir if (count of windows) is 0 then set win to new window with configuration cfg set targetTab to selected tab of win else set win to front window set targetTab to new tab in win with configuration cfg select tab targetTab end if activate window win focus (focused terminal of targetTab) end tell end run APPLESCRIPT then { sleep 1.2 /usr/bin/defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false >/dev/null 2>&1 /usr/bin/defaults write com.apple.Terminal ApplePersistenceIgnoreState -bool true >/dev/null 2>&1 /usr/bin/osascript >/dev/null 2>&1 <<'APPLESCRIPT' tell application "Terminal" close every window saving no end tell APPLESCRIPT sleep 0.2 /usr/bin/pkill -x Terminal >/dev/null 2>&1 } &! exit 0 fi fi unset GHOSTTY_TERMINAL_TAKEOVER_DONE unset __ghostty_app unset __ghostty_lock_file unset __ghostty_lock_fd fi 注意 Apple Terminal会在被kill后重新启动时恢复session,如果出现了使用此指令打开了多个 ghostly 窗口的问题,可以使用如下命令行修复: defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false defaults write com.apple.Terminal ApplePersistenceIgnoreState -bool true 3 个帖子 - 3 位参与者 阅读完整话题
痛点 作为一个代码小白 + 重度懒癌患者,每次要切换中转 API 都让我崩溃: 打开终端 → 找教程 → vim ~/.zshrc → 翻半天找到那两行 → 小心翼翼改 URL 和 Key → 保存 → source ~/.zshrc → 祈祷没改错…… 就这么个 1 分钟的事,我每次都要花 5 分钟。 更要命的是——我不会只买一家中转。有的中转厂确实不太行,挂了、慢了、额度用完了,就得换另一家。手头常备 3~5 个不同平台的 API ,来回切换简直折磨。 所以,我 Vibe Coding 了一个切换工具 与其每次受罪,不如一劳永逸。 一句话介绍: 图形界面管理多个中转配置,鼠标点一下就写入 ~/.zshrc ,终端自动生效。 它能干什么 🔀 双平台 :同时管理 Claude Code 和 OpenAI Codex CLI 的中转配置,颜色区分一目了然(靛蓝 = Claude ,翠绿 = Codex ) ⚡ 一键切换 :预存 N 个中转节点,选中 → 点「同步」→ 自动写入 ~/.zshrc ,两个平台的环境变量互不干扰 🔄 终端热更新 :点「立即生效」,自动帮你在打开的终端里跑 source ~/.zshrc ,都不用自己敲 💾 备份迁移 :JSON 一键导入导出,换电脑无缝迁移;每次切换前自动保存快照,手残也不怕 适合谁用 🙋 和我一样懒、不想碰配置文件的人 🙋 手头有多个中转 API 需要频繁切换的人 🙋 中转平台主,可以分发给你的用户,降低配置门槛 怎么用 要求:装了 Node.js git clone https://github.com/zxs-ai/C-code-switch.git cd C-code-switch 然后双击目录里的 启动.command 就行了。浏览器自动打开,添加你的中转配置,选中,点同步,搞定。 也支持 Electron 打包成独立 App: npm install && npm start 项目地址 GitHub: https://github.com/zxs-ai/C-code-switch MIT 开源,随便用。有问题欢迎提 Issue 。
痛点 作为一个代码小白 + 重度懒癌患者,每次要切换中转 API 都让我崩溃: 打开终端 → 找教程 → vim ~/.zshrc → 翻半天找到那两行 → 小心翼翼改 URL 和 Key → 保存 → source ~/.zshrc → 祈祷没改错…… 就这么个 1 分钟的事,我每次都要花 5 分钟。 更要命的是——我不会只买一家中转。有的中转厂确实不太行,挂了、慢了、额度用完了,就得换另一家。手头常备 3~5 个不同平台的 API ,来回切换简直折磨。 所以,我 Vibe Coding 了一个切换工具 与其每次受罪,不如一劳永逸。 一句话介绍: 图形界面管理多个中转配置,鼠标点一下就写入 ~/.zshrc ,终端自动生效。 它能干什么 🔀 双平台 :同时管理 Claude Code 和 OpenAI Codex CLI 的中转配置,颜色区分一目了然(靛蓝 = Claude ,翠绿 = Codex ) ⚡ 一键切换 :预存 N 个中转节点,选中 → 点「同步」→ 自动写入 ~/.zshrc ,两个平台的环境变量互不干扰 🔄 终端热更新 :点「立即生效」,自动帮你在打开的终端里跑 source ~/.zshrc ,都不用自己敲 💾 备份迁移 :JSON 一键导入导出,换电脑无缝迁移;每次切换前自动保存快照,手残也不怕 适合谁用 🙋 和我一样懒、不想碰配置文件的人 🙋 手头有多个中转 API 需要频繁切换的人 🙋 中转平台主,可以分发给你的用户,降低配置门槛 怎么用 要求:装了 Node.js git clone https://github.com/zxs-ai/C-code-switch.git cd C-code-switch 然后双击目录里的 启动.command 就行了。浏览器自动打开,添加你的中转配置,选中,点同步,搞定。 也支持 Electron 打包成独立 App: npm install && npm start 项目地址 GitHub: https://github.com/zxs-ai/C-code-switch MIT 开源,随便用。有问题欢迎提 Issue 。
痛点 作为一个代码小白 + 重度懒癌患者,每次要切换中转 API 都让我崩溃: 打开终端 → 找教程 → vim ~/.zshrc → 翻半天找到那两行 → 小心翼翼改 URL 和 Key → 保存 → source ~/.zshrc → 祈祷没改错…… 就这么个 1 分钟的事,我每次都要花 5 分钟。 更要命的是——我不会只买一家中转。有的中转厂确实不太行,挂了、慢了、额度用完了,就得换另一家。手头常备 3~5 个不同平台的 API ,来回切换简直折磨。 所以,我 Vibe Coding 了一个切换工具 与其每次受罪,不如一劳永逸。 一句话介绍: 图形界面管理多个中转配置,鼠标点一下就写入 ~/.zshrc ,终端自动生效。 它能干什么 🔀 双平台 :同时管理 Claude Code 和 OpenAI Codex CLI 的中转配置,颜色区分一目了然(靛蓝 = Claude ,翠绿 = Codex ) ⚡ 一键切换 :预存 N 个中转节点,选中 → 点「同步」→ 自动写入 ~/.zshrc ,两个平台的环境变量互不干扰 🔄 终端热更新 :点「立即生效」,自动帮你在打开的终端里跑 source ~/.zshrc ,都不用自己敲 💾 备份迁移 :JSON 一键导入导出,换电脑无缝迁移;每次切换前自动保存快照,手残也不怕 适合谁用 🙋 和我一样懒、不想碰配置文件的人 🙋 手头有多个中转 API 需要频繁切换的人 🙋 中转平台主,可以分发给你的用户,降低配置门槛 怎么用 要求:装了 Node.js git clone https://github.com/zxs-ai/C-code-switch.git cd C-code-switch 然后双击目录里的 启动.command 就行了。浏览器自动打开,添加你的中转配置,选中,点同步,搞定。 也支持 Electron 打包成独立 App: npm install && npm start 项目地址 GitHub: https://github.com/zxs-ai/C-code-switch MIT 开源,随便用。有问题欢迎提 Issue 。