← 返回 Skills 市场
matthewxmurphy

Mac Node Bridge

作者 Matthew Murphy · GitHub ↗ · v0.6.1 · MIT-0
cross-platform ⚠ suspicious
378
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install mac-node-bridge
功能描述
Bridge macOS-only tools into a Linux OpenClaw gateway via SSH wrappers and connected Mac nodes. Use when a Linux gateway needs to run imsg, remindctl, memo,...
使用说明 (SKILL.md)

Mac Node Bridge

Use this skill when your gateway runs on Linux but the real tool lives on a Mac node.

This skill does not patch bundled OpenClaw skills. It creates explicit SSH wrappers and verification steps so a Linux gateway can call macOS binaries on connected nodes in a way that is publishable, repeatable, and auditable.

Use This Skill For

  • imsg, remindctl, memo, things, peekaboo, or other macOS-only CLIs
  • Homebrew-installed business tools that only exist on a Mac node
  • Linux gateway + one or more Mac nodes where you want a stable remote execution path
  • ClawHub-ready skills that should target Macs cleanly instead of mutating bundled Linux assumptions

Do Not Use This Skill For

  • Linux-native CLIs that should simply be installed on the gateway
  • UI-only pairing problems
  • Cases where you do not have passwordless SSH from the gateway to the Mac node
  • Forcing bundled OpenClaw macOS skills to show green on Linux by patching core files

Requirements

  • Linux gateway can SSH to the target Mac node without a password
  • Remote binary exists on the Mac node and is executable
  • The Mac node already has any required macOS privacy permissions granted
  • You know which Mac should own the tool

Path Rules

Use dynamic paths by default.

  • Wrapper install dir defaults to OPENCLAW_BIN_DIR, then XDG_DATA_HOME/openclaw/bin, then HOME/.openclaw/bin
  • Preset installs resolve remote binaries dynamically with command -v, remote brew --prefix, and common Homebrew prefixes
  • Use --target-dir or --remote-bin only when you intentionally need to override the defaults

Trust Model

This skill assumes:

  • the Linux gateway is the orchestrator
  • each Mac node is a separately trusted execution surface
  • cross-host access must be narrow, explicit, and reversible

Plan around these rules:

  • use strong, scoped credentials and per-node trust, not one broad shared secret
  • require the Mac side to prove identity before the gateway accepts orchestration signals
  • give each wrapper only the minimum action it needs
  • log cross-host setup, verification, and deployment steps
  • fail soft when a Mac is unavailable; do not crash the whole system

Read references/security-model.md before publishing or extending this skill.

Workflow

1. Pick The Owning Mac

Default pattern:

  • M1: always-on services like imsg
  • MacBook Pro: heavier interactive or business tooling

If you are unsure, verify first:

scripts/verify-node-tool.sh --host [email protected] --tool imsg
scripts/verify-node-tool.sh --host [email protected] --tool remindctl

If the tool lives outside the normal shell path or Homebrew defaults, pass an explicit path:

scripts/verify-node-tool.sh --host [email protected] --bin /custom/path/remindctl

2. Install A Wrapper On The Gateway

For a known tool preset:

scripts/install-preset.sh \
  --tool imsg \
  --host [email protected]

Or install a generic wrapper:

scripts/install-wrapper.sh \
  --name remindctl-mbp \
  --host [email protected] \
  --remote-bin /opt/homebrew/bin/remindctl

Override the wrapper directory only when you need a non-default layout:

scripts/install-preset.sh \
  --tool memo \
  --host [email protected] \
  --target-dir "$HOME/.local/bin"

3. Verify The Wrapper

"${OPENCLAW_BIN_DIR:-${XDG_DATA_HOME:-$HOME/.openclaw}/openclaw/bin}"/imsg chats --limit 1
"${OPENCLAW_BIN_DIR:-${XDG_DATA_HOME:-$HOME/.openclaw}/openclaw/bin}"/remindctl-mbp lists

If the wrapper works but a bundled OpenClaw skill still shows gray, that is expected on a Linux gateway. Use the wrapper-backed workflow or publish a wrapper-aware skill instead of patching OpenClaw core.

4. Publish Wrapper-Aware Skills

When building a new ClawHub skill on top of this bridge:

  • call the wrapper through a configurable path contract, not a user-specific absolute home path
  • document which node owns the tool
  • keep secrets and tokens on the node or gateway config, not in the skill folder
  • treat the wrapper as the stable contract

Read references/publish-pattern.md before turning a one-off wrapper into a public skill.

Security Rules

  • Use a dedicated SSH key for gateway-to-node wrappers whenever possible
  • Use non-root accounts on the Mac nodes
  • Prefer one wrapper per tool per node instead of a single unrestricted shell bridge
  • Never store API tokens, app secrets, or OAuth cookies in the skill folder
  • Never patch bundled OpenClaw skill files just to make Linux appear to support macOS tools
  • Keep wrapper names explicit, for example imsg-m1 or remindctl-mbp, when multiple Macs may own similar tools
  • Log who installed or rotated a wrapper and when
  • Keep a rollback path: remove one wrapper, do not tear down the whole node
  • If a tool needs more than read or one explicit action, define that permission boundary in the published skill
  • If a wrapper depends on a Mac-only GUI permission, verify it explicitly and report a degraded-but-safe state instead of pretending success

Common Presets

Supported presets in scripts/install-preset.sh:

  • imsg
  • remindctl
  • memo
  • things
  • peekaboo
  • brew
  • gh

The preset installer resolves the remote binary dynamically. If resolution fails, pass --remote-bin explicitly.

Examples

Wire iMessage Through M1

scripts/install-preset.sh \
  --tool imsg \
  --host [email protected]

Wire Reminders Through MacBook Pro

scripts/install-preset.sh \
  --tool remindctl \
  --host [email protected] \
  --name remindctl-mbp

Use A Custom Binary

scripts/install-wrapper.sh \
  --name my-mac-tool \
  --host [email protected] \
  --remote-bin /custom/tools/my-mac-tool

Files

  • scripts/install-wrapper.sh: create one secure SSH wrapper for a remote binary
  • scripts/install-preset.sh: install wrappers for common macOS tools with dynamic remote resolution
  • scripts/verify-node-tool.sh: verify SSH and remote binary availability by path or tool name
  • references/publish-pattern.md: how to build a publishable wrapper-aware skill on top
  • references/security-model.md: trust boundaries, least privilege, audit trail, and rollback expectations
安全使用建议
This skill appears to do exactly what it says: create SSH wrappers that execute a single remote macOS binary. Before installing: (1) ensure you control and trust the target Mac(s); (2) use a dedicated SSH key and a non-root account on the Mac; (3) prefer passing --ssh-key and --known-hosts so the wrapper is constrained to a key and known-hosts file; (4) inspect the generated wrapper file to confirm it calls only the intended absolute binary (remote-bin must be an absolute path); (5) run scripts/verify-node-tool.sh first to confirm the remote binary exists; and (6) avoid pointing wrappers at shells or generic remote shells (that would let the wrapper run arbitrary commands). The main remaining risk is operational: these wrappers execute commands on remote hosts you designate—if the remote host or SSH key is compromised, the bridge grants remote execution, so follow the least-privilege and auditing guidance in references/security-model.md.
功能分析
Type: OpenClaw Skill Name: mac-node-bridge Version: 0.6.1 The skill bundle facilitates remote command execution (RCE) by generating SSH wrapper scripts on a Linux gateway to execute binaries on remote macOS nodes. Key scripts like scripts/install-wrapper.sh and scripts/install-preset.sh establish persistent remote execution paths and run dynamic bash payloads on remote hosts for path resolution. Although the implementation follows some security best practices (e.g., argument escaping and non-root recommendations in references/security-model.md), the provision of broad, cross-host shell access is an inherently high-risk capability that warrants a suspicious classification.
能力评估
Purpose & Capability
Name/description, SKILL.md, and included scripts all implement the same feature: create small SSH-based wrapper scripts to run a specific macOS binary on a remote Mac. There are no unrelated environment variables, host endpoints, or unnecessary dependencies requested.
Instruction Scope
SKILL.md and scripts only direct the agent/user to verify remote binaries via SSH, create per-tool wrappers, and test them. The instructions explicitly require passwordless SSH and limit scope to single binaries; they do not attempt to read or exfiltrate unrelated files or secrets. The workflow is narrow and documented.
Install Mechanism
This is instruction-only with local shell scripts that write wrapper files into user-controlled directories. There are no downloads from remote URLs or package manager installs; nothing arbitrary is fetched or executed from third-party servers during install.
Credentials
The skill does not require secrets or env vars beyond conventional path variables (OPENCLAW_BIN_DIR, XDG_DATA_HOME, HOME) and optional SSH key/known_hosts arguments passed at install time. Requested data is proportional to the bridge purpose.
Persistence & Privilege
The skill does not request always:true or other elevated platform privileges. It installs per-user wrapper scripts and does not modify other skills or global agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mac-node-bridge
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mac-node-bridge 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.6.1
Version 0.6.1 - Added dynamic path resolution for wrapper installs, using `OPENCLAW_BIN_DIR`, `XDG_DATA_HOME`, or `$HOME`. - Preset installer now auto-detects remote binary paths using `command -v`, `brew --prefix`, and common Homebrew locations. - Wrapper scripts (`install-preset.sh`, `install-wrapper.sh`, `verify-node-tool.sh`) updated for greater flexibility; explicit paths can override defaults as needed. - Updated docs to clarify dynamic install locations, remote binary resolution, and recommended usage patterns. - Added `_meta.json` for improved metadata handling.
v0.6.0
# mac-node-bridge 0.6.0 - Added ClawHub card emoji metadata. - No behavior change; this is a presentation and registry metadata update.
v0.5.0
# mac-node-bridge 0.5.0 - First public release. - Adds a generic Linux-to-macOS node bridge pattern for SSH-backed wrapper execution. - Covers macOS-only CLIs and Homebrew-backed tools without patching OpenClaw core.
元数据
Slug mac-node-bridge
版本 0.6.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

Mac Node Bridge 是什么?

Bridge macOS-only tools into a Linux OpenClaw gateway via SSH wrappers and connected Mac nodes. Use when a Linux gateway needs to run imsg, remindctl, memo,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 378 次。

如何安装 Mac Node Bridge?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install mac-node-bridge」即可一键安装,无需额外配置。

Mac Node Bridge 是免费的吗?

是的,Mac Node Bridge 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Mac Node Bridge 支持哪些平台?

Mac Node Bridge 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Mac Node Bridge?

由 Matthew Murphy(@matthewxmurphy)开发并维护,当前版本 v0.6.1。

💬 留言讨论