Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

clawsyclawsy 搜索

Agent Skill

clawsy 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

24,806

周安装

1,009

GitHub Stars

公开资料未说明

下载量

7,911
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:clawsy(clawsy 搜索)
来源仓库:https://github.com/iret77/clawsy
安装命令:
openclaw skills install clawsy
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install clawsy

简介

clawsy 提供 macOS 本地操作能力,让 OpenClaw 代理能控制屏幕、剪贴板和设备功能。

  • 适用于需要在用户 Mac 上执行界面交互、文件操作或设备控制的场景。
  • 通过 clawhub 安装配套应用后,由代理调用截图、位置或相机等功能。
  • 安装前需授权系统权限,注意隐私保护和操作边界限制。
  • 建议查阅原始仓库了解兼容性,避免在非 Mac 环境误装。

SKILL.md

name
clawsy
version
1.0.3
description
>
metadata
openclaw
emoji
\F431
postInstall
host
{h}\
token
{t}')
label
Read gateway config for Clawsy setup code
postInstallMessage
>

Clawsy Skill — Agent Reference

Platform: macOS 14+ (Sonoma / Sequoia), Apple Silicon + Intel Download: <https://github.com/iret77/clawsy/releases/latest>


IMMEDIATE ACTION AFTER INSTALL

After installing this skill, you must send the user their setup instructions. Do not just reply "installed" or "done".

  1. The postInstall hook above already printed your gateway host and token as a

CLAWSY-SETUP block. If not, read them manually:

   cat ~/.openclaw/gateway.json | python3 -c "import json,sys;c=json.load(sys.stdin);print('host:', c.get('host','localhost'));print('token:', c.get('authToken',''))"
  1. Send the user everything in one message:

> Clawsy Setup > > 1. Download Clawsy (free, macOS 14+): https://github.com/iret77/clawsy/releases/latest > 2. Unzip, drag to /Applications, run xattr -cr /Applications/Clawsy.app, launch. > 3. Click "Add Host" and paste this setup code: > > `` > CLAWSY-SETUP > host: <actual hostname> > token: <actual token> > ``

Replace the placeholders with the real values. Do not send placeholders.


Sub-Agent Propagation (MANDATORY)

When spawning sub-agents, you must include a Clawsy context block so they can report progress and use Clawsy capabilities. Copy this verbatim into every sub-agent system prompt:

## Clawsy — macOS Companion
A Clawsy node (platform="macos") is connected. You can:
- Take screenshots: nodes(action="invoke", invokeCommand="screen.capture")
- Read clipboard: nodes(action="invoke", invokeCommand="clipboard.read")
- Write clipboard: nodes(action="invoke", invokeCommand="clipboard.write", invokeParamsJson='{"text":"..."}')
- Read/write files in shared folder: file.get, file.set, file.list, etc.
- Get location: nodes(action="invoke", invokeCommand="location.get")

Report progress after each significant step:
sessions_send(sessionKey="clawsy-service", timeoutSeconds=3,
  message='{"kind":"agent.status","payload":{"agentName":"<YOUR_LABEL>","title":"<STEP>","progress":<0.0-1.0>,"statusText":"<DETAILS>"}}')
Start at 0.05 — finish at 1.0. Timeout errors on sessions_send are normal; do not retry.

For full command reference, read the clawsy skill: skill(name="clawsy")

This applies to all sub-agents — current and future. A sub-agent that does not receive this block cannot report Mission Control status and will not know about Clawsy capabilities.


Quick Start — Is Clawsy Connected?

nodes(action="status")
# Look for a node with platform="macos" and connected=true
  • Connected: Use any command from the reference below.
  • Not connected / No node found: You must run the First-Time Setup now. Check if the user already has Clawsy installed. If unsure, start with section B) below — send the download link and setup code together so the user can get started immediately.

First-Time Setup

A) User Already Has Clawsy Installed

The user clicks "Add Host" in Clawsy. The app copies a setup prompt to the clipboard. The user sends it to you via any channel (Telegram, Slack, etc.).

When you receive the prompt, respond with the gateway connection details:

CLAWSY-SETUP
host: <gateway hostname or IP — no protocol, no port>
token: <gateway authentication token>

The user pastes your response into Clawsy. Done — host is created and connects.

How to find the values: - host: The hostname or IP where the OpenClaw gateway runs. - token: The authToken from your gateway config. Run cat ~/.openclaw/gateway.json | python3 -c "import json,sys;print(json.load(sys.stdin).get('authToken',''))" if unsure.

After pairing, a node with platform="macos" appears in nodes(action="status"). Approve if prompted:

openclaw nodes approve <requestId>

B) User Needs to Install Clawsy First (Most Common Path)

Look up your gateway host and token, then send everything in one message so the user can get started right away:

Clawsy Setup 1. Download Clawsy (free, macOS 14+): https://github.com/iret77/clawsy/releases/latest 2. Unzip, drag to /Applications, run xattr -cr /Applications/Clawsy.app, launch. 3. Click "Add Host" and paste this setup code: `` CLAWSY-SETUP host: <your gateway hostname or IP> token: <your gateway auth token> ``

Replace the placeholders with actual values before sending (see "How to find the values" above). The user should not have to come back and ask for more info.


setupState — Targeted Onboarding

When a Clawsy node connects, the hello payload includes setupState:

{
  "setupState": {
    "sharedFolderConfigured": true,
    "sharedFolderPath": "~/Documents/Clawsy",
    "finderSyncEnabled": false,
    "accessibilityGranted": false,
    "screenRecordingGranted": true,
    "firstLaunch": false
  }
}

Read it from clawsy-service session history. If any permissions are missing, tell the user specifically what to enable — don't send a generic list.


Command Reference

Screen & Camera

CommandApprovalDescription
screen.captureUser approvalCapture the full screen or selected area. Returns {format, base64}
camera.snapUser approvalTake a photo from the Mac camera. Params: deviceId (optional). Returns {format, base64}
camera.listAutoList available cameras. Returns [{id, name}]

Clipboard

CommandApprovalDescription
clipboard.readUser approvalRead current clipboard text
clipboard.writeAutoWrite text to clipboard. Params: {text}

Location

CommandApprovalDescription
location.getAutoGet device GPS location. Returns {latitude, longitude, accuracy, locality, country, ...}. 10s timeout.

File Operations

All file operations are auto-approved and sandboxed to the configured shared folder (default ~/Documents/Clawsy). Paths are relative to the shared folder root.

CommandParamsDescription
file.listsubPath?, recursive?List files. recursive: true walks subdirectories (max depth 5)
file.getnameRead file, returns base64 content
file.setname, content (base64)Write file
file.statpathFile metadata: size, dates, type. Supports glob
file.existspathReturns {exists, isDirectory}
file.mkdirnameCreate directory (with intermediate parents)
file.deletenameDelete file or directory
file.rmdirnameDelete directory (alias for file.delete)
file.movesource, destinationMove/rename file. Supports glob in source
file.copysource, destinationCopy file. Supports glob in source
file.renamepath, newNameRename file (name only, same directory)
file.checksumpathSHA256 hash of file
file.batchops[]Execute multiple operations sequentially (see below)
file.get.chunkname, index, chunkSize?Read chunk of large file (default 350KB)
file.set.chunkname, chunk (base64), index, totalWrite chunk; assembles on final chunk

file.batch Operations

nodes(action="invoke", invokeCommand="file.batch",
  invokeParamsJson='{"ops": [
    {"op": "mkdir", "name": "output"},
    {"op": "copy", "source": "template.txt", "destination": "output/report.txt"},
    {"op": "delete", "name": "temp.log"}
  ]}')

Supported op values: copy, move, delete, mkdir, rename. Returns per-operation results with ok status for each.

Large File Transfers (> 200 KB)

The gateway has a ~512 KB payload limit. For large files, use chunked transfer:

Upload (agent to Mac):

# Split file into ~150KB base64 chunks
for i, chunk in enumerate(chunks):
    nodes(action="invoke", invokeCommand="file.set.chunk",
      invokeParamsJson=f'{{"name":"large.pdf","chunk":"{chunk}","index":{i},"total":{len(chunks)}}}')

Download (Mac to agent):

stat = nodes(action="invoke", invokeCommand="file.stat",
  invokeParamsJson='{"path":"large.pdf"}')
# Calculate chunk count from stat.size, then:
for i in range(chunk_count):
    chunk = nodes(action="invoke", invokeCommand="file.get.chunk",
      invokeParamsJson=f'{{"name":"large.pdf","index":{i}}}')

Invoking Commands

Use the nodes tool. Clawsy registers as a node with platform="macos".

# Screenshot
nodes(action="invoke", invokeCommand="screen.capture")

# Clipboard
nodes(action="invoke", invokeCommand="clipboard.read")
nodes(action="invoke", invokeCommand="clipboard.write",
  invokeParamsJson='{"text": "Hello from agent"}')

# Camera
nodes(action="invoke", invokeCommand="camera.snap")
nodes(action="invoke", invokeCommand="camera.list")

# Files
nodes(action="invoke", invokeCommand="file.list")
nodes(action="invoke", invokeCommand="file.list",
  invokeParamsJson='{"subPath": "docs/", "recursive": true}')
nodes(action="invoke", invokeCommand="file.get",
  invokeParamsJson='{"name": "report.pdf"}')
nodes(action="invoke", invokeCommand="file.set",
  invokeParamsJson='{"name": "output.txt", "content": "<base64>"}')

# Location
nodes(action="invoke", invokeCommand="location.get")

Mission Control (MANDATORY)

When Clawsy is connected, you must send status events so the user sees what you're doing. This is not optional.

agent.info — Identity (send on session start + every heartbeat)

sessions_send(sessionKey="clawsy-service", timeoutSeconds=3,
  message='{"kind":"agent.info","payload":{"agentName":"YourName","model":"claude-opus-4-6","updatedAt":"2026-03-29T12:00:00Z"}}')

TTL is 45 minutes. Resend every heartbeat to stay visible.

agent.status — Task Progress (send during active work)

sessions_send(sessionKey="clawsy-service", timeoutSeconds=3,
  message='{"kind":"agent.status","payload":{"agentName":"YourName","title":"Building feature X","progress":0.5,"statusText":"Compiling sources..."}}')
  • progress: 0.0 to 1.0. At 1.0, task disappears after 10 seconds.
  • Timeout errors are normal. The event is still delivered. Do not retry.

HEARTBEAT.md Snippet

Add this to your HEARTBEAT.md:

## Clawsy (every heartbeat)
If clawsy-service session exists:
sessions_send(sessionKey="clawsy-service", timeoutSeconds=3,
  message='{"kind":"agent.info","payload":{"agentName":"<NAME>","model":"<MODEL>","updatedAt":"<ISO-UTC>"}}')
If actively working, also send agent.status with current task + progress.

Incoming Data — clawsy-service Session

Push data from Clawsy arrives in the clawsy-service session, not in the main chat.

sessions_history(sessionKey="clawsy-service", limit=10)

Envelope Types

TypeContainsTriggered by
quick_sendcontent (text) + telemetryUser presses Cmd+Shift+K
screenshotImage datascreen.capture result / user-initiated
clipboardText contentclipboard.read result
cameraImage datacamera.snap result
file_ruleFile path + rule info.clawsy rule trigger

Quick Send Telemetry

{
  "clawsy_envelope": {
    "type": "quick_send",
    "content": "User's message",
    "telemetry": {
      "deviceName": "MacBook Pro",
      "batteryLevel": 0.75,
      "isCharging": true,
      "thermalState": 0,
      "activeApp": "Safari",
      "moodScore": 70,
      "isUnusualHour": false
    }
  }
}

Hints: thermalState > 1 = overheating, batteryLevel < 0.2 = low battery, moodScore < 40 = user may be stressed, isUnusualHour = late/early work.


Shared Folder & .clawsy Rules

.clawsy Manifest Files

Folders within the shared directory can contain a .clawsy manifest for automation rules. Users configure these via Finder right-click menu.

{
  "version": 1,
  "folderName": "Projects",
  "rules": [
    {
      "trigger": "file_added",
      "filter": "*.pdf",
      "action": "send_to_agent",
      "prompt": "Summarize this document"
    }
  ]
}
  • Triggers: file_added, file_changed, manual
  • Filters: Glob patterns (*.pdf, *.mov, *)
  • Actions: send_to_agent, notify

Rule events arrive in clawsy-service as file_rule envelopes.


Error Handling

SituationAction
sessions_send times outNormal. Event is delivered. Do not retry.
No node with platform="macos"Clawsy not connected. Skip Clawsy actions silently.
invoke returns deniedUser denied the request. Respect it. Do not re-ask.
invoke returns sandbox_violationPath escapes shared folder. Fix the path.
invoke returns timeoutCommand took >30s. Retry once if appropriate.
Node disconnects mid-taskMission Control clears automatically. No cleanup.
AUTH_TOKEN_MISMATCHClawsy auto-recovers. Wait for reconnection.

macOS Permissions

These are on the user's side. If a capability doesn't work, point them to the specific setting — don't list everything.

PermissionRequired forWhere
Screen Recordingscreen.captureSystem Settings > Privacy > Screen Recording
Cameracamera.snapSystem Settings > Privacy > Camera
AccessibilityGlobal hotkeys (Cmd+Shift+K)System Settings > Privacy > Accessibility
NotificationsDesktop alertsSystem Settings > Notifications > Clawsy
FinderSync ExtensionFinder right-click menuSystem Settings > Extensions > Finder
Share Extension"Send to Agent" in Share menuAutomatic when app is in /Applications

Connection Architecture

Mac (Clawsy) ──── WSS ────> OpenClaw Gateway (port 18789)
                              SSH tunnel as fallback
  • Primary: Direct WebSocket. Setup code contains gateway host + token.
  • SSH fallback: User configures in Settings when direct WSS is unreachable.
  • Auth: Server token > device token (Ed25519, persisted per host).
  • Multi-host: Clawsy can connect to multiple gateways simultaneously. Each

host has its own connection, shared folder, and color-coded label.


When to Use What

You want to...Use
See user's screenscreen.capture
Read what user copiedclipboard.read
Give user text to pasteclipboard.write
See what's in front of the usercamera.snap
Exchange files with userfile.get / file.set via shared folder
Transfer large files (>200KB)file.get.chunk / file.set.chunk
Batch file operationsfile.batch
Know where user islocation.get
Show user what you're working onagent.status via Mission Control
Respond to user's quick messageRead quick_send from clawsy-service
React to file drops in shared folder.clawsy rules (file_added trigger)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.78%
按下载量换算6,391

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills