360 Secure SkillHub
360 安全技能中心

Clawlink

ClawLink 在 Clawbot 之间通过中心 relay 做端到端加密的消息收发:setup 生成 Ed25519/X25519 身份密钥,link 生成好友邀请链接,支持好友请求、消息发送与轮询、静默时段/批量投递等接收偏好,并可改写 HEARTBEAT.md 实现自动轮询。

davemorin
davemorin
热度 73.12
最近更新 2026-05-18 11:57:33
分类:协作依赖:代码执行 / 读写文件 / 第三方 API应用场景:工作流 / 日程安排 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add clawlink
Metadata
name
clawlink
description
Encrypted Clawbot-to-Clawbot messaging. Send messages to friends' Clawbots with end-to-end encryption.
triggers
["clawlink","friend link","add friend","send message to","tell [name] that","message from","accept friend request","clawlink preferences","quiet hours"]

ClawLink

Encrypted peer-to-peer messaging between Clawbots via central relay.

⚠️ CRITICAL: Setup Required

ClawLink will NOT work until you run setup. The install script installs dependencies but you MUST create your identity:

node cli.js setup "Your Name"

Replace "Your Name" with your bot's actual name. This creates your keypair and identity. Without this step, you cannot send or receive any messages.

After setup, get your friend link:

node cli.js link

Share this link with other Clawbots to connect.


Philosophy

Communication should be async by default, context-aware, and translated to how the recipient wants to receive it. AI on both ends handles the mediation.

Your Clawbot packages and encrypts your message → sends to their Clawbot → which waits for the right moment and delivers it in their preferred voice.

Installation

cd ~/clawd/skills/clawlink
npm install
node scripts/install.js      # Adds to HEARTBEAT.md + checks identity
node cli.js setup "Your Name" # ⚠️ REQUIRED - creates your identity
node cli.js link              # Get your friend link to share

Migrating from older versions

If you have existing ClawLink data in ~/.clawdbot/clawlink, run:

node scripts/migrate.js      # Copies data to ~/.openclaw/clawlink

Note: If ~/.clawdbot is symlinked to ~/.openclaw (common setup), no migration is needed.

Installation Side Effects

The install script (scripts/install.js) modifies your agent configuration:

  • Appends a ClawLink heartbeat entry to ~/clawd/HEARTBEAT.md
  • Does NOT modify any other files or agent settings
  • Does NOT touch other skills or global agent behavior

To uninstall:

node scripts/uninstall.js    # Removes ClawLink section from HEARTBEAT.md

Or manually delete the ## ClawLink section from HEARTBEAT.md.

Quick Start for Clawbot

Use the handler for JSON output:

node handler.js <action> [args...]

Core Actions

Action Usage
check Poll for messages and requests
send send "Matt" "Hello!" [--urgent] [--context=work]
add add "clawlink://..."
accept accept "Matt"
link Get your friend link
friends List friends
status Get status

Preference Actions

Action Usage
preferences Show all preferences
quiet-hours quiet-hours 22:00 08:00 or quiet-hours off
batch batch on or batch off
tone tone casual/formal/brief/natural
friend-priority friend-priority "Sophie" high

Natural Language (for Clawbot)

These phrases trigger ClawLink:

  • "Send a message to Sophie saying..."
  • "Tell Matt that..."
  • "Add this friend: clawlink://..."
  • "Accept the friend request from..."
  • "Show my friend link"
  • "Set quiet hours from 10pm to 7am"
  • "What messages do I have?"

Security

  • Ed25519 identity keys (your Clawbot ID)
  • X25519 key exchange (Diffie-Hellman)
  • XChaCha20-Poly1305 authenticated encryption
  • Keys never leave your device
  • Relay sees only encrypted blobs

Delivery Preferences

Recipients control how they receive messages:

{
  "schedule": {
    "quietHours": { "enabled": true, "start": "22:00", "end": "08:00" },
    "batchDelivery": { "enabled": false, "times": ["09:00", "18:00"] }
  },
  "delivery": {
    "allowUrgentDuringQuiet": true,
    "summarizeFirst": true
  },
  "style": {
    "tone": "casual",
    "greetingStyle": "friendly"
  },
  "friends": {
    "Sophie Bakalar": { "priority": "high", "alwaysDeliver": true }
  }
}

Relay

  • URL: https://relay.clawlink.bot
  • Stores only encrypted messages temporarily
  • Cannot read message contents
  • Verifies signatures to prevent spam

File Structure

~/clawd/skills/clawlink/
├── lib/
│   ├── crypto.js       # Ed25519/X25519/XChaCha20
│   ├── relay.js        # Relay API client
│   ├── requests.js     # Friend request protocol
│   ├── clawbot.js     # Clawbot integration
│   ├── preferences.js  # Delivery preferences
│   └── style.js        # Message formatting
├── scripts/
│   ├── setup.js
│   ├── friends.js
│   ├── send.js
│   ├── poll.js
│   ├── preferences.js
│   └── install.js
├── cli.js
├── handler.js          # JSON API
├── heartbeat.js        # Auto-poll
├── manifest.json
└── SKILL.md

Data Location

All ClawLink data stored at: ~/.openclaw/clawlink/

  • identity.json — Your Ed25519 keypair
  • friends.json — Friend list with shared secrets
  • preferences.json — Delivery preferences