Token导航 LogoToken导航TokenDH.com
开发操作浏览器clawhub未标认证来源可访问clear审计通过

websocketwebsocket 开发

Agent Skill

websocket 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

44,688

周安装

1,901

GitHub Stars

2

下载量

15,656
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install websocket

简介

用于补充开发相关能力。websocket 属于开发类 Skill,可作为该场景下的辅助能力补充。

  • 适合让 Agent 承接开发相关任务。
  • 可结合来源仓库继续核验具体用法。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 安装前建议确认权限范围和维护状态。
  • 注意是否会触发联网或命令执行操作。

SKILL.md

name
WebSocket
description
Implement reliable WebSocket connections with proper reconnection, heartbeats, and scaling.
metadata
{"clawdbot":{"emoji":"🔌","os":["linux","darwin","win32"]}}

Reconnection (Always Forget)

  • Connections drop silently—TCP FIN may never arrive; don't assume onclose fires
  • Exponential backoff: 1s, 2s, 4s, 8s... cap at 30s—prevents thundering herd on server recovery
  • Add jitter: delay * (0.5 + Math.random())—prevents synchronized reconnection storms
  • Track reconnection state—queue messages during reconnect, replay after
  • Max retry limit then surface error to user—don't retry forever silently

Heartbeats (Critical)

  • Ping/pong frames at protocol level—browser doesn't expose; use application-level ping
  • Send ping every 30s, expect pong within 10s—no pong = connection dead, reconnect
  • Server should ping too—detects dead clients, cleans up resources
  • Idle timeout in proxies (60-120s typical)—heartbeat must be more frequent
  • Don't rely on TCP keepalive—too infrequent, not reliable through proxies

Connection State

  • readyState: 0=CONNECTING, 1=OPEN, 2=CLOSING, 3=CLOSED—check before sending
  • Buffer messages while CONNECTING—send after OPEN
  • bufferedAmount shows queued bytes—pause sending if backpressure building
  • Multiple tabs = multiple connections—coordinate via BroadcastChannel or SharedWorker

Authentication

  • Token in URL query: wss://host/ws?token=xxx—simple but logged in access logs
  • First message auth: connect, send token, wait for ack—cleaner but more round trips
  • Cookie auth: works if same origin—but no custom headers in WebSocket
  • Reauthenticate after reconnect—don't assume previous session valid

Scaling Challenges

  • WebSocket connections are stateful—can't round-robin between servers
  • Sticky sessions: route by client ID to same server—or use Redis pub/sub for broadcast
  • Each connection holds memory—thousands of connections = significant RAM
  • Graceful shutdown: send close frame, wait for clients to reconnect elsewhere

Nginx/Proxy Config

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
  • Without these headers, upgrade fails—connection closes immediately
  • proxy_read_timeout must exceed your ping interval—default 60s too short
  • Load balancer health checks: separate HTTP endpoint, not WebSocket

Close Codes

  • 1000: normal closure; 1001: going away (page close)
  • 1006: abnormal (no close frame received)—usually network issue
  • 1008: policy violation; 1011: server error
  • 4000-4999: application-defined—use for auth failure, rate limit, etc.
  • Always send close code and reason—helps debugging

Message Handling

  • Text frames for JSON; binary frames for blobs/protobuf—don't mix without framing
  • No guaranteed message boundaries in TCP—but WebSocket handles framing for you
  • Order preserved per connection—messages arrive in send order
  • Large messages may fragment—library handles reassembly; set max message size server-side

Security

  • Validate Origin header on handshake—prevent cross-site WebSocket hijacking
  • Same-origin policy doesn't apply—any page can connect to your WebSocket server
  • Rate limit per connection—one client can flood with messages
  • Validate every message—malicious clients can send anything after connecting

Common Mistakes

  • No heartbeat—connection appears alive but is dead; messages go nowhere
  • Reconnect without backoff—hammers server during outage, prolongs recovery
  • Storing state only in connection—lost on reconnect; persist critical state externally
  • Huge messages—blocks event loop; stream large data via chunking
  • Not handling bufferedAmount—memory grows unbounded if client slower than server

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

83.31%
按下载量换算13,043

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

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

来源信息

继续浏览同类 Skills