Code Pluginsource linked

@durenzidu/openclaw-channel-powpowv1.0.2

PowPow map channel plugin for OpenClaw - Real-time bidirectional communication

@durenzidu/openclaw-channel-powpow·runtime powpow-channel·by @durenzidu
Community code plugin. Review compatibility and verification before install.
openclaw plugins install clawhub:@durenzidu/openclaw-channel-powpow
Latest release: v1.0.2Download zip

Capabilities

configSchema
Yes
Executes code
Yes
HTTP routes
0
Runtime ID
powpow-channel

Compatibility

Built With Open Claw Version
2026.3.24
Plugin Api Range
1.0.0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (PowPow realtime channel) align with the included code: WebSocket connection manager, inbound/outbound messaging, config schema, and send-service. Declared dependencies (ws, zod) are appropriate for a WebSocket channel plugin. No unrelated credentials, binaries, or platform access are requested.
Instruction Scope
SKILL.md instructions are narrowly scoped to installing the plugin, adding channel configuration (~/.openclaw/openclaw.json), and restarting the gateway. Runtime instructions do not ask the agent to read unrelated files or exfiltrate data. They clearly direct network traffic to the PowPow WebSocket endpoint (default wss://global.powpow.online:8080), which is consistent with the stated purpose.
Install Mechanism
Registry metadata says 'no install spec / instruction-only', but the package includes compiled code (dist/) and an openclaw.plugin.json — this is a packaged plugin rather than purely instruction text. The README/SKILL.md and package point to GitHub repositories; dependencies are standard npm packages. No high-risk remote downloads are used. Note: SKILL.md's install examples reference '@soimy/openclaw-channel-powpow' and 'github.com/soimy/...' while package metadata and registry slug use 'durenzidu' — a documentation/packaging mismatch worth verifying.
Credentials
The plugin requests no environment variables or external credentials. Code uses configuration supplied via OpenClaw config (accounts with digitalHumanId, wsUrl, policies). No secret or broad credential access is requested or hardcoded.
Persistence & Privilege
The plugin does not request always:true and does not modify other skills' configuration. It will create persistent WebSocket connections to the configured PowPow endpoint when enabled (expected for a channel plugin). Autonomous invocation is allowed by default (platform normal), but that is appropriate for a channel plugin.
Assessment
This plugin's code matches its description: it opens WebSocket connections to a PowPow endpoint and routes messages into OpenClaw. Before installing, verify the repository and maintainer (SKILL.md references '@soimy' while package/registry use 'durenzidu') to ensure you fetched the intended publisher. Understand that enabling the channel will allow your OpenClaw instance to exchange messages with the remote PowPow service (wss://global.powpow.online:8080 by default) — only enable accounts you control and consider using allowlist/blocklist policies to limit incoming users. Because the plugin opens network connections, confirm the PowPow service is trusted for any sensitive data you may route through it. If you need more assurance, inspect the packaged dist/ files in the repository or run the plugin in an isolated environment first.

Verification

Tier
source linked
Scope
artifact only
Summary
Validated package structure and linked the release to source metadata.
Commit
875662852438
Tag
875662852438bde2719ba7230f7e43438cad93e1
Provenance
No
Scan status
clean

Tags

latest
1.0.2

OpenClaw PowPow Channel Plugin

PowPow 地图实时通信渠道插件,用于 OpenClaw 与 PowPow 数字人的双向实时消息传递。

功能特性

  • 实时通信 - 基于 WebSocket 的双向实时消息传输
  • 流式输出 - 支持 AI 流式回复,实时传递
  • 多媒体支持 - 文本、图片、语音、视频消息
  • 自动重连 - 连接断开后自动重连(指数退避)
  • 消息队列 - 离线时消息自动排队
  • 多实例支持 - 支持多个数字人同时在线
  • 访问控制 - 支持白名单/黑名单策略
  • Markdown 支持 - 支持 Markdown 格式回复

安装

openclaw plugins install @soimy/openclaw-channel-powpow

或者从源码安装:

git clone https://github.com/soimy/openclaw-channel-powpow.git
cd openclaw-channel-powpow
npm install
npm run build
openclaw plugins install -l .

快速开始

1. 使用 CLI 配置

openclaw configure --section channels

2. 手动配置

~/.openclaw/openclaw.json 中添加配置:

{
  "channels": {
    "powpow": {
      "enabled": true,
      "accounts": [
        {
          "id": "account_001",
          "digitalHumanId": "your-digital-human-id",
          "name": "OpenClaw 助手",
          "wsUrl": "wss://global.powpow.online:8080",
          "dmPolicy": "open",
          "messageType": "markdown"
        }
      ],
      "advanced": {
        "autoReconnect": true,
        "reconnectInterval": 3000,
        "maxMessageLength": 2000,
        "enableStreaming": true,
        "debug": false
      }
    }
  }
}

3. 重启 OpenClaw

openclaw gateway restart

配置说明

账号配置 (accounts)

字段类型必填说明
idstring账号唯一标识
digitalHumanIdstringPowPow 数字人 ID
namestring账号名称
wsUrlstringWebSocket 地址,默认 wss://global.powpow.online:8080
dmPolicystring私聊策略:open/allowlist/blocklist,默认 open
allowFromstring[]白名单/黑名单用户 ID 列表
messageTypestring消息类型:text/markdown,默认 markdown

高级配置 (advanced)

字段类型默认值说明
autoReconnectbooleantrue自动重连
reconnectIntervalnumber3000重连间隔(毫秒)
maxReconnectAttemptsnumber10最大重连次数
maxMessageLengthnumber2000最大消息长度
enableStreamingbooleantrue启用流式输出
enableCardsbooleanfalse启用 AI 卡片(实验性)
debugbooleanfalse调试模式(详细日志)

使用示例

单账号配置

{
  "channels": {
    "powpow": {
      "enabled": true,
      "accounts": [
        {
          "id": "dh_main",
          "digitalHumanId": "your-digital-human-id",
          "name": "主数字人",
          "dmPolicy": "open"
        }
      ]
    }
  }
}

多账号配置

{
  "channels": {
    "powpow": {
      "enabled": true,
      "accounts": [
        {
          "id": "dh_001",
          "digitalHumanId": "dh_id_001",
          "name": "客服助手",
          "dmPolicy": "open"
        },
        {
          "id": "dh_002",
          "digitalHumanId": "dh_id_002",
          "name": "导游助手",
          "dmPolicy": "allowlist",
          "allowFrom": ["user_vip_001", "user_vip_002"]
        }
      ]
    }
  }
}

白名单配置

{
  "channels": {
    "powpow": {
      "enabled": true,
      "accounts": [
        {
          "id": "dh_vip",
          "digitalHumanId": "your-digital-human-id",
          "name": "VIP 专属助手",
          "dmPolicy": "allowlist",
          "allowFrom": ["user_001", "user_002", "user_003"]
        }
      ]
    }
  }
}

消息类型支持

类型支持说明
文本支持 Markdown 格式
图片JPEG, PNG, GIF
语音MP3 格式
视频MP4 格式
AI 卡片🚧实验性支持

访问策略

open(开放)

允许所有用户发送消息

allowlist(白名单)

只允许指定用户发送消息

blocklist(黑名单)

拒绝指定用户发送消息

故障排查

连接失败

问题: 无法连接到 WebSocket

解决方案:

  1. 检查 wsUrl 配置是否正确
  2. 确认网络连接正常
  3. 检查防火墙设置
  4. 查看日志:openclaw logs | grep powpow

消息发送失败

问题: 消息发送失败

解决方案:

  1. 确认连接状态:openclaw status
  2. 检查数字人 ID 是否正确
  3. 查看错误日志

收不到消息

问题: 用户发送消息但没有响应

解决方案:

  1. 确认 Channel 已启用
  2. 检查访问策略配置
  3. 查看 OpenClaw AI 是否正常工作
  4. 检查 WebSocket 连接状态

开发

本地开发

# 克隆仓库
git clone https://github.com/soimy/openclaw-channel-powpow.git
cd openclaw-channel-powpow

# 安装依赖
npm install

# 构建
npm run build

# 类型检查
npm run type-check

# 监听模式
npm run dev

测试

# 运行测试
npm test

架构说明

┌─────────────────────────────────────────┐
│          OpenClaw Gateway               │
│    (会话管理、AI 路由、消息调度)          │
└──────────────┬──────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────┐
│         PowPow Channel Plugin           │
├─────────────────────────────────────────┤
│  ┌─────────────────────────────────┐    │
│  │  Gateway (WebSocket 连接管理)    │    │
│  │  - 连接建立/断开                 │    │
│  │  - 自动重连                      │    │
│  │  - 心跳机制                      │    │
│  └─────────────────────────────────┘    │
│  ┌─────────────────────────────────┐    │
│  │  Messaging (消息处理)           │    │
│  │  - 入站消息标准化                │    │
│  │  - 出站消息发送                  │    │
│  │  - 访问控制                      │    │
│  └─────────────────────────────────┘    │
│  ┌─────────────────────────────────┐    │
│  │  Config (配置管理)              │    │
│  │  - 配置加载/验证                 │    │
│  │  - 账号管理                      │    │
│  └─────────────────────────────────┘    │
└──────────────┬──────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────┐
│         PowPow 地图平台                  │
│    (WebSocket + REST API)               │
└─────────────────────────────────────────┘

与 Skill 的区别

功能Channel 插件Skill
实时通信✅ 负责❌ 不负责
消息路由✅ 负责❌ 不负责
AI 回复✅ 负责❌ 不负责
数字人创建❌ 不负责✅ 负责
位置控制❌ 不负责✅ 负责
地图交互❌ 不负责✅ 负责

简单说

  • Channel = 通信员(负责传话)
  • Skill = 管理员(负责管理数字人)

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

联系方式