工作中,你一定遇到过这样的场景:你正在认真写代码,线上突然出现报警。看到报警信息之后,你不得不打开浏览器,点开收藏夹,打开监控页面、告警页面、trace 页面、日志搜索平台……有时,还需要打开特定的文件或者软件,比如你记在本地的一些常用的命令文件、iterm2 等等。

这些网页、文件、软件,很可能每次遇到 报警时都要打开。这种重复的工作有没有可能一键自动完成呢?

可以。借助 Raycast 可以非常方便地做到(本文介绍的方法在 mac 系统下生效)。

Raycast是一个强大的工具,能够提高用户使用电脑的效率。它为用户提供了一种快速和简单的方式来控制他们的设备和各种应用,不论是发邮件,查看日历,还是管理任务。通过设置快捷键,用户可以无缝地在不同应用之间切换,大大提高工作效率。

需要说明的是,一键打开预设工作环境的实现方法可能有很多。本文采用的方法,是在 chatGPT 的帮助下“独立”完成的。如有雷同,纯属巧合。

总共分三步:指定命令的目录;创建 AppleScript 脚本;更改 AppleScript 脚本。

第一步,指定命令的目录。打开 raycast 设置页面,选择 Scripts tab,点击 “+” 号。

第二步,创建 AppleScript 脚本。

这里的 title 就是之后唤起脚本的命令。

顺便介绍一下 AppleScript:

AppleScript 是一种基于 Apple 事件的自动化技术,允许用户编写脚本来控制 Mac 操作系统中的各种应用程序。这意味着用户可以通过 AppleScript 自动执行繁琐的任务,比如批量修改文件,整理电子邮件,甚至创建复杂的文档。它支持过程和事件驱动编程,具有语法简洁、易于阅读和学习的特点,使得非程序员也能编写出有效的脚本。总的来说,AppleScript 是一个强大且用户友好的工具,用于增强 Mac 用户的生产力和工作效率。

完成之后,在第一步设置的路径下,就会出现一个 daily.applescript 文件。

第三步,就是修改 AppleScript 脚本,让它来完成打开指定网页、启动指定软件的功能。

虽然 AppleScript 写起来很直观,但是对没写过的人来说,还是有一定的学习成本。所以将编写脚本的工作交给 chatGPT 最为合适,因为打开指定网页和启动指定软件是最基础的功能,利用 chatGPT 可以更加高效。

果不其然,chatGPT 很快就抛出来了代码,没有修改就能工作了,让人直呼内行,效率简直翻 10 倍。

当然,基于此,我还有一些额外的要求。我希望它能新建一个浏览器窗口,打开这些网址,并将浏览器放在屏幕的左半部分。然后,我希望它能打开 Roam Research,并将其放置在屏幕的右半部分,因为我需要记笔记。

下面,我将直接展示最后的 AppleScript 代码,其实它并不复杂:

 1#!/usr/bin/osascript
 2
 3# Required parameters:
 4# @raycast.schemaVersion 1
 5# @raycast.title daily
 6# @raycast.mode compact
 7
 8# Optional parameters:
 9# @raycast.icon 🤖
10
11# Documentation:
12# @raycast.author qcrao
13# @raycast.authorURL https://raycast.com/qcrao
14
15log "Hello World! daily"
16
17-- 列出想要打开的网址
18set urls to {"https://www.wanqu.co/","https://www.reddit.com/r/ChatGPT/","https://www.reddit.com/r/golang/","https://news.ycombinator.com/","https://www.producthunt.com/","https://github.com/trending"}
19
20tell application "Google Chrome"
21	activate
22	make new window
23end tell
24
25do shell script "open -g 'raycast://extensions/raycast/window-management/left-half'"
26
27repeat with i from 1 to count urls
28	if item i of urls starts with "http" then
29		tell application "Google Chrome"
30			tell window 1
31				make new tab with properties {URL:item i of urls}
32			end tell
33		end tell
34	else
35		do shell script "open " & quoted form of (item i of urls)
36	end if
37end repeat
38
39-- 打开 "Roam Research" 应用
40tell application "Roam Research"
41	activate
42end tell
43
44do shell script "open -g 'raycast://extensions/raycast/window-management/right-half'"

值得一提的是,Raycast 的窗口管理功能也很强大。你可以通过自然语言将软件安排到指定的位置。比如,我想把当前激活的软件放到屏幕左 3/4,我只需要先用 cmd+space 唤起 Raycast,然后搜索:first,就能出现:

然后,点击回车,完事。相当优雅与高效。

AppleScript 很强大,很多例行的事情都可以借助它来进行自动化,提升效率。尤其有了 chatGPT 后,不会写的代码,直接请教 chatGPT 就行了,非常流畅。

最后,展示一下效果,我在 Raycast 里敲完“daily”后,直接回车,下面就是最终的效果:

要打开的网页、软件,都放在了正确的位置,优雅。

本文就写到这里,希望能提升一点你的工作效率,或者带来一些启发。