← 返回 Skills 市场
116
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install safari-control
功能描述
Use Safari directly on macOS when work must happen in the user's real Safari session instead of a separate automation browser. Best for reading the current t...
安全使用建议
This skill legitimately needs macOS Accessibility and 'Allow JavaScript from Apple Events' to control Safari — those permissions let the script run AppleScript/JS inside your real browser and can read page content, cookies visible in-page, and interact with native UI. Only enable those permissions if you trust the skill and its source. Before using: (1) review the included scripts/safari_control.swift yourself (it runs osascript and may write files to disk), (2) prefer read-only commands (doctor, list-tabs, snapshot) and avoid running arbitrary run-js commands unless you understand what the JS does, (3) avoid granting permissions globally if you can test in a separate Safari profile, and (4) do not use this skill for sensitive accounts unless you trust its provenance. If you are unsure about the source, treat this as high-risk and do not enable the macOS permissions.
功能分析
Type: OpenClaw Skill
Name: safari-control
Version: 1.0.1
The safari-control skill provides an AI agent with extensive control over a user's live Safari session on macOS, including arbitrary JavaScript execution (run-js, eval-js), native UI automation, and session data extraction (save-session, save-page-bundle). The SKILL.md instructions explicitly guide the agent to ask the user to lower Safari's security settings, such as 'Allow JavaScript from Apple Events' and 'Allow Automation.' While these capabilities are plausibly required for the stated purpose of browser automation, they represent a high-risk attack surface that could be used to interact with sensitive logged-in sessions or exfiltrate page content. The inclusion of self-packaging and release commands (build, release) in the scripts/safari_control.swift tool is also unusual for a standard skill bundle.
能力评估
Purpose & Capability
Name and description (control Safari, read tabs, run page JS, use native UI) align with the included Swift helper and the described CLI commands. The script uses osascript/Apple Events and accessibility APIs, which are the expected mechanisms for interacting with Safari and macOS UI.
Instruction Scope
SKILL.md explicitly instructs the agent to run the bundled Swift script and to prefer read-only inspection before mutation. It documents checking permissions, listing windows/tabs, snapshotting, and running JS inside pages. These instructions stay within the scope of manipulating and inspecting Safari; they do, however, instruct enabling 'Allow JavaScript from Apple Events' and running arbitrary JS, which is powerful and must be consciously granted by the user.
Install Mechanism
No install spec; script is included in the skill bundle and runs from source using the system Swift runtime and osascript. No external downloads or archive extraction are performed by the skill.
Credentials
The skill requests no environment variables or external credentials. It does call standard local binaries (osascript, shasum, git) which are consistent with its features (AppleScript execution, checksums, optional git metadata). It does require macOS permissions (Accessibility and 'Allow JavaScript from Apple Events'), which are necessary for the claimed functionality but grant broad access to the Safari session.
Persistence & Privilege
always:false and user-invocable:true. The skill does not request permanent platform-level inclusion. It does not modify other skills' configs. Note: once macOS Accessibility and Apple Events permissions are granted to the helper process, it gains strong capabilities to read and script the user's Safari session until those permissions are revoked.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install safari-control - 安装完成后,直接呼叫该 Skill 的名称或使用
/safari-control触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
## Changelog / 更新日志
### Initial release / 首次发布
`safari-control` is now available on Clawhub.
`safari-control` 现已发布到 Clawhub。
This first release brings full real-session Safari automation to macOS, built for workflows where the user's actual Safari state matters: logged-in sessions, cookies, open tabs, native Safari chrome, and live page content inside the real browser.
这是首个版本,提供面向 macOS 的真实 Safari 会话自动化能力,适用于用户真实 Safari 状态很重要的场景,例如登录态、Cookie、已打开标签页、Safari 原生界面元素,以及浏览器中的实时页面内容。
### What’s included / 包含功能
- Real Safari session control
真实 Safari 会话控制
- Read the current tab, inspect windows and tabs, switch tabs, duplicate tabs, open new tabs or windows, close tabs or windows, and save or restore Safari session layouts
读取当前标签页、查看窗口和标签页、切换标签页、复制标签页、新建标签页或窗口、关闭标签页或窗口,以及保存和恢复 Safari 会话布局
- Native Safari UI automation
Safari 原生界面自动化
- List Safari menu bar items and nested menu items
列出 Safari 菜单栏项目及其嵌套菜单项
- Click Safari menu commands
点击 Safari 菜单命令
- Inspect native Safari controls such as the smart search field, toolbar buttons, tab controls, and popup controls
检查 Safari 原生控件,例如智能搜索栏、工具栏按钮、标签页控件和弹出式控件
- Focus controls, press them, set values, open native menus, and invoke specific AX actions such as `AXConfirm`
聚焦控件、点击控件、设置值、打开原生菜单,并调用特定的辅助功能动作,例如 `AXConfirm`
- Live page inspection and DOM automation
实时页面检查与 DOM 自动化
- Run JavaScript in Safari tabs
在 Safari 标签页中运行 JavaScript
- Evaluate expressions as JSON-friendly output
将表达式求值为适合 JSON 的输出
- Read page text, HTML, links, tables, interactive elements, and form state
读取页面文本、HTML、链接、表格、可交互元素以及表单状态
- Query selectors, inspect elements, find visible text, and check element existence or counts
查询选择器、检查元素、查找可见文本,并检查元素是否存在及其数量
- Perform DOM actions including click, fill, focus, hover, scroll, drag, select, check, uncheck, upload, submit, keypress, shortcut dispatch, and custom event dispatch
执行 DOM 操作,包括点击、填写、聚焦、悬停、滚动、拖拽、选择、勾选、取消勾选、上传、提交、按键、快捷键派发以及自定义事件派发
- Real Safari wait and export workflows
真实 Safari 等待与导出工作流
- Wait for selectors, text, titles, URLs, JavaScript conditions, DOM mutations, element counts, and downloads
等待选择器、文本、标题、URL、JavaScript 条件、DOM 变化、元素数量以及下载完成
- Save HTML, extracted text, links, tables, snapshots, screenshots, and complete page bundles with manifests
保存 HTML、提取文本、链接、表格、快照、截图,以及带 manifest 的完整页面打包结果
- Packaging and release support
打包与发布支持
- Build standalone binaries
构建独立二进制
- Create release folders and zip archives
创建发布目录和 zip 压缩包
- Generate build and release manifests with checksums, git metadata, and environment metadata
生成带校验和、git 元数据和环境元数据的构建与发布 manifest
### v1 improvements included in this release / 本次 v1 发布包含的改进
- Structured JSON-based Safari session inspection for current tab, windows, and tabs
基于结构化 JSON 的 Safari 会话检查,覆盖当前标签页、窗口和标签页列表
- Rich native control metadata including `pressable`, `focusable`, `settable`, and `menuable`
更丰富的原生控件元数据,包括 `pressable`、`focusable`、`settable` 和 `menuable`
- Configurable smart search confirmation modes with `ax`, `enter`, and `both`
可配置的智能搜索栏确认模式,支持 `ax`、`enter` 和 `both`
- Post-action tab-state waiting for native URL open and native search flows
在原生打开 URL 和原生搜索流程中,支持动作完成后的标签页状态等待
- Agent-friendly workflow documentation organized by session, DOM, native UI, and export layers
面向 Agent 的工作流文档,按会话、DOM、原生 UI 和导出层进行组织
- Public-facing docs updated to use relative paths and English UI examples
对外文档已更新为相对路径,并使用英文界面示例
### Important note about Safari settings / 关于 Safari 设置的重要说明
To unlock more advanced functionality, users may need to enable Safari capabilities such as:
要启用更高级的功能,用户可能需要在 Safari 中开启以下能力:
- Allow Automation
允许自动化
- Allow JavaScript in the Smart Search field
允许在智能搜索栏中使用 JavaScript
- Allow JavaScript from Apple Events
允许 Apple 事件中的 JavaScript
These settings make more of `safari-control` available, especially for native Safari automation and script-driven workflows. They also increase risk, because automation and scripting gain more power over the user’s real Safari session. Users should enable them intentionally and only when they understand that tradeoff.
这些设置会让 `safari-control` 的更多功能可用,尤其是 Safari 原生自动化和脚本驱动工作流;但与此同时也会带来更高风险,因为自动化和脚本会获得对用户真实 Safari 会话更强的控制能力。用户应在理解这一权衡的前提下,主动决定是否开启。
v1.0.0
## Changelog / 更新日志
### Initial release / 首次发布
`safari-control` is now available on Clawhub.
`safari-control` 现已发布到 Clawhub。
This first release brings full real-session Safari automation to macOS, built for workflows where the user's actual Safari state matters: logged-in sessions, cookies, open tabs, native Safari chrome, and live page content inside the real browser.
这是首个版本,提供面向 macOS 的真实 Safari 会话自动化能力,适用于用户真实 Safari 状态很重要的场景,例如登录态、Cookie、已打开标签页、Safari 原生界面元素,以及浏览器中的实时页面内容。
### What’s included / 包含功能
- Real Safari session control
真实 Safari 会话控制
- Read the current tab, inspect windows and tabs, switch tabs, duplicate tabs, open new tabs or windows, close tabs or windows, and save or restore Safari session layouts
读取当前标签页、查看窗口和标签页、切换标签页、复制标签页、新建标签页或窗口、关闭标签页或窗口,以及保存和恢复 Safari 会话布局
- Native Safari UI automation
Safari 原生界面自动化
- List Safari menu bar items and nested menu items
列出 Safari 菜单栏项目及其嵌套菜单项
- Click Safari menu commands
点击 Safari 菜单命令
- Inspect native Safari controls such as the smart search field, toolbar buttons, tab controls, and popup controls
检查 Safari 原生控件,例如智能搜索栏、工具栏按钮、标签页控件和弹出式控件
- Focus controls, press them, set values, open native menus, and invoke specific AX actions such as `AXConfirm`
聚焦控件、点击控件、设置值、打开原生菜单,并调用特定的辅助功能动作,例如 `AXConfirm`
- Live page inspection and DOM automation
实时页面检查与 DOM 自动化
- Run JavaScript in Safari tabs
在 Safari 标签页中运行 JavaScript
- Evaluate expressions as JSON-friendly output
将表达式求值为适合 JSON 的输出
- Read page text, HTML, links, tables, interactive elements, and form state
读取页面文本、HTML、链接、表格、可交互元素以及表单状态
- Query selectors, inspect elements, find visible text, and check element existence or counts
查询选择器、检查元素、查找可见文本,并检查元素是否存在及其数量
- Perform DOM actions including click, fill, focus, hover, scroll, drag, select, check, uncheck, upload, submit, keypress, shortcut dispatch, and custom event dispatch
执行 DOM 操作,包括点击、填写、聚焦、悬停、滚动、拖拽、选择、勾选、取消勾选、上传、提交、按键、快捷键派发以及自定义事件派发
- Real Safari wait and export workflows
真实 Safari 等待与导出工作流
- Wait for selectors, text, titles, URLs, JavaScript conditions, DOM mutations, element counts, and downloads
等待选择器、文本、标题、URL、JavaScript 条件、DOM 变化、元素数量以及下载完成
- Save HTML, extracted text, links, tables, snapshots, screenshots, and complete page bundles with manifests
保存 HTML、提取文本、链接、表格、快照、截图,以及带 manifest 的完整页面打包结果
- Packaging and release support
打包与发布支持
- Build standalone binaries
构建独立二进制
- Create release folders and zip archives
创建发布目录和 zip 压缩包
- Generate build and release manifests with checksums, git metadata, and environment metadata
生成带校验和、git 元数据和环境元数据的构建与发布 manifest
### v1 improvements included in this release / 本次 v1 发布包含的改进
- Structured JSON-based Safari session inspection for current tab, windows, and tabs
基于结构化 JSON 的 Safari 会话检查,覆盖当前标签页、窗口和标签页列表
- Rich native control metadata including `pressable`, `focusable`, `settable`, and `menuable`
更丰富的原生控件元数据,包括 `pressable`、`focusable`、`settable` 和 `menuable`
- Configurable smart search confirmation modes with `ax`, `enter`, and `both`
可配置的智能搜索栏确认模式,支持 `ax`、`enter` 和 `both`
- Post-action tab-state waiting for native URL open and native search flows
在原生打开 URL 和原生搜索流程中,支持动作完成后的标签页状态等待
- Agent-friendly workflow documentation organized by session, DOM, native UI, and export layers
面向 Agent 的工作流文档,按会话、DOM、原生 UI 和导出层进行组织
- Public-facing docs updated to use relative paths and English UI examples
对外文档已更新为相对路径,并使用英文界面示例
### Important note about Safari settings / 关于 Safari 设置的重要说明
To unlock more advanced functionality, users may need to enable Safari capabilities such as:
要启用更高级的功能,用户可能需要在 Safari 中开启以下能力:
- Allow Automation
允许自动化
- Allow JavaScript in the Smart Search field
允许在智能搜索栏中使用 JavaScript
- Allow JavaScript from Apple Events
允许 Apple 事件中的 JavaScript
These settings make more of `safari-control` available, especially for native Safari automation and script-driven workflows. They also increase risk, because automation and scripting gain more power over the user’s real Safari session. Users should enable them intentionally and only when they understand that tradeoff.
这些设置会让 `safari-control` 的更多功能可用,尤其是 Safari 原生自动化和脚本驱动工作流;但与此同时也会带来更高风险,因为自动化和脚本会获得对用户真实 Safari 会话更强的控制能力。用户应在理解这一权衡的前提下,主动决定是否开启。
元数据
常见问题
Safari Control 是什么?
Use Safari directly on macOS when work must happen in the user's real Safari session instead of a separate automation browser. Best for reading the current t... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 116 次。
如何安装 Safari Control?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install safari-control」即可一键安装,无需额外配置。
Safari Control 是免费的吗?
是的,Safari Control 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Safari Control 支持哪些平台?
Safari Control 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Safari Control?
由 Gordonynh(@gordonynh)开发并维护,当前版本 v1.0.1。
推荐 Skills