Skip to content

ReCue 使用指南

ReCue 的 DMG 附带 Alfred Workflow,App 内置 recuectl 命令行工具。两者都通过 ReCue 的本机接口执行搜索、切换和唤回,不会直接读取项目数据库。

Alfred Workflow

使用要求

  • 已安装 ReCue
  • Alfred 5
  • Alfred Powerpack

安装

  1. 打开 ReCue DMG,将 ReCue.app 拖入“应用程序”。
  2. 双击 DMG 中的 ReCue-Alfred-<版本>.alfredworkflow
  3. 在 Alfred 中确认导入。

搜索与操作

默认关键词是 w

输入作用
w显示当前项目、其中的窗口与 Tab,以及其他项目
w 关键词搜索项目、App、窗口、Tab 和备注
w /列出可执行命令
w /add-window将当前窗口保存到当前项目
w /add-tab将当前 Tab 保存到当前项目

在项目上按 Return 只会把它设为当前项目;在窗口或 Tab 上按 Return 会直接唤回该条目。执行保存命令后,结果会通过系统通知显示。

Workflow 设置

在 Alfred 的 Workflows 中选择 ReCue,可以修改:

  • Keyword:触发搜索的关键词,默认为 w
  • ReCue.app 路径:ReCue 不在 /Applications 时填写实际路径;留空时 Workflow 会尝试自动查找。

如果 Alfred 显示“ReCue not found”,请先确认 App 已安装,或在 Workflow 设置中指定正确路径。

recuectl CLI

运行 CLI

recuectl 位于 ReCue App 内:

bash
RECUECTL="/Applications/ReCue.app/Contents/MacOS/recuectl"
"$RECUECTL" ping --format text

成功时会输出:

text
pong

如果 ReCue 尚未运行,CLI 会尝试在后台启动它。App 安装在其他位置时,可以直接使用对应 App 内的 Contents/MacOS/recuectl,或通过 RECUE_APP_PATH 指定 App 路径。

命令

命令作用
ping检查 ReCue 本机接口是否可用
search [--] [查询]搜索项目、窗口、Tab、App 名称和备注;空查询返回面板的默认列表
select-project <uuid>将项目设为当前项目,不唤回窗口
restore-window <uuid>唤回一个窗口或 Tab 记录
restore-project <uuid>唤回项目中当前仍可用的窗口与 Tab
add-window将当前窗口保存到当前项目
add-tab将当前 Tab 保存到当前项目

项目和窗口 UUID 可以从 search 的 JSON 结果中读取:

bash
"$RECUECTL" search --format json -- "Chrome"
PROJECT_ID="..."
WINDOW_ID="..."
"$RECUECTL" select-project "$PROJECT_ID" --format text
"$RECUECTL" restore-window "$WINDOW_ID" --format text
"$RECUECTL" restore-project "$PROJECT_ID" --format text

保存当前窗口或 Tab:

bash
"$RECUECTL" add-window --format text
"$RECUECTL" add-tab --format text

输出格式

  • json:默认格式。输出带 versionrequestIDok 的版本化响应;搜索结果位于 items,操作结果位于 action,错误位于 error
  • text:适合 ping 和操作类命令,直接输出结果消息。
  • alfred:仅供 search 使用,输出 Alfred Script Filter JSON。

--format 可以放在命令参数之后。查询以连字符开头时,在查询前加 --,避免它被当作选项。

退出状态

状态码含义
0成功
2命令、参数或 UUID 无效
3无法启动 ReCue,或本机接口通信失败
4ReCue 收到请求,但操作失败

权限与本地通信

保存和唤回仍受 ReCue 的辅助功能及自动化权限约束。recuectl 通过仅限当前用户访问的 Unix Domain Socket 与 ReCue 通信,不会直接或并发打开 SwiftData 数据库。窗口和项目数据不会因为使用 CLI 而上传。