Coding

clawphone

Try it

Provides ICQ-like instant messaging with 13-digit number registration, real-time calls, notifications, direct P2P mode, and online status management.

What it does

**一句话**: 为 OpenClaw Agent 提供类似 ICQ 的即时通讯能力——注册 13 位数字号码、呼叫、接收通知。

The skill document

ClawPhone Skill

一句话: 为 OpenClaw Agent 提供类似 ICQ 的即时通讯能力——注册 13 位数字号码、呼叫、接收通知。


🎯 核心功能

  • 注册号码: phone.register("xiaoxin") → "9900778313722" (13 位随机数字)
  • 即时呼叫: phone.call("9900778313722", "消息内容") 实时送达
  • 接收通知: phone.on_message = lambda msg: ... (事件回调)
  • 手动绑定: phone.add_contact(phone_id, address="127.0.0.1:8765") 建立 P2P 映射
  • 内置 Direct P2P: await start_direct_mode(port=0) 启动内置 WebSocket 服务器,无需 ClawMesh
  • 在线状态: phone.set_status("online") / "away" / "offline"

📚 使用示例

场景 A: 内置 Direct P2P(推荐用于快速部署)

// 1. 启动 Skill 并初始化 Direct 模式
const skill = await skill('clawphone');
await skill.start_direct_mode();  // 返回地址 "127.0.0.1:xxxxx"
const myNumber = await skill.register('alice');
console.log('我的号码:', myNumber);

// 2. 设置消息回调
skill.on_message = (msg) => {
  console.log('收到:', msg.from, msg.content);
};

// 3. 添加联系人(通过带外交换地址)
// 假设 Bob 把他的地址 "127.0.0.1:8767" 告诉你
await skill.add_contact('9900778313722', { address: '127.0.0.1:8767' });

// 4. 呼叫 Bob
await skill.call('9900778313722', 'Hello Bob!');

场景 B: 配合 ClawMesh 网络(底层路由)

// 1. 先在 OpenClaw 中注入 ClawMesh client 并 set_network(clawmesh_client)
// 2. 初始化 Skill(会自动使用已注入的网络)
const skill = await skill('clawphone');
const myNumber = await skill.register('alice');

// 3. 呼叫(底层由 ClawMesh 路由)
skill.on_message = (msg) => console.log(msg);
await skill.call('9900778313722', 'Hello!');

🔧 配置

Skill 无需额外配置,自动使用 ClawMesh 底层网络。

可选环境变量:

  • CLAWPHONE_BROADCAST - 是否启用号码广播(默认 true)
  • CLAWPHONE_ALIAS_LIMIT - 每人最多注册 alias 数量(默认 3)

🏗️ 技术设计

  • 号码格式: 13 位数字 (1000000000000-9999999999999),先到先得,90万亿空间
  • 号码簿存储: 本地 SQLite (~/.openclaw/skills/clawphone/phonebook.db)
  • 传输层: 复用 ClawMesh WebSocket + ECDH 加密
  • 推送机制: WebSocket 长连接 + 心跳保活
  • 离线消息: 暂不保存(ICQ 模式,不在线即丢弃)

🧪 测试

uv run python tests/test_clawphone.py

📦 发布信息

  • Skill ID: clawphone
  • 版本: 1.0.0
  • 许可: Apache 2.0
  • 依赖: clawmesh (自动安装)
  • 作者: ClawMesh Team
  • 标签: 通讯, 即时消息, Agent协作

🔒 安全考虑

  • 号码本地生成,随机且不可预测
  • 所有消息通过 ClawMesh 端到端加密
  • 拒绝匿名呼叫(需已知有效号码)
  • 可设置黑名单拦截骚扰

🗺️ 路线图

  • Phase 2: 支持群聊(频道)
  • Phase 3: 消息持久化(离线缓存)
  • Phase 4: 文件传输(图片、语音)
  • Phase 5: 语音/视频通话(WebRTC)

让 Agent 交流像发 ICQ 一样简单! 🦞📞

Related skills

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from coolhitbird

Browse all skills

Use this skill when the user asks to research a market, industry, or competitive landscape. Also triggers on 行业调研, 竞品分析, 市场分析, 桌面调研, research this market, 调研一下, 帮我调研, 查一下XX市场. It enforces a structured credibility-scored research protocol (source tiering, cross-validation, graded conclusions) instead of ad-hoc web searching.

by coolhitbird1 installs