Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计通过

channel-management渠道管理

Agent Skill

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

总安装

4,039

周安装

165

GitHub Stars

公开资料未说明

下载量

1,307
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install channel-management

简介

统一管理多个通信渠道和权限分配的工具。

  • 适用于团队协作、客户服务和通知分发场景。
  • 自动识别管理员身份和配置核心渠道参数。
  • 需定期审计权限设置防止越权操作风险。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • channel-management 属于效率类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
channel-management
description
Manage multiple communication channels, admin identity recognition, and primary channel configuration
assign_when
Not assigned to workers — this is a manager-only capability

Channel Management Skill

Identity Recognition

When receiving a message in any room, determine the sender's identity. The rules differ by context:

DM (any channel)

All DM senders are Human Admin — OpenClaw allowlist guarantees only the admin can DM you.

Matrix Group Room

Matrix rooms may contain the admin, Workers, trusted contacts, and unknown users. Identify by Matrix user ID:

SenderHow to identifyAction
Human Admin@${HICLAW_ADMIN_USER}:${HICLAW_MATRIX_DOMAIN}Full trust — execute any request
WorkerRegistered in ~/workers-registry.jsonNormal Worker interaction (task handoffs, status updates)
Trusted Contact{"channel": "matrix", "sender_id": "<matrix_user_id>"} in ~/trusted-contacts.jsonRespond to general questions; withhold sensitive info; deny management operations
UnknownNone of the aboveSilently ignore — no response

Non-Matrix Group Room (Discord, Telegram, etc.)

SenderHow to identifyAction
Human Adminsender_id matches primary-channel.json's sender_id (same channel type)Full trust
Trusted Contact{channel, sender_id} in ~/trusted-contacts.jsonRestricted trust (same rules as above)
UnknownNone of the aboveSilently ignore

Trusted Contacts

File: ~/trusted-contacts.json

{
  "contacts": [
    {
      "channel": "discord",
      "sender_id": "987654321098765432",
      "approved_at": "2026-02-23T10:00:00Z",
      "note": "optional label"
    }
  ]
}

Adding a Trusted Contact

Trigger: unknown sender messages in a group room → silently ignore. If the human admin then says "you can talk to the person who just messaged" (or equivalent):

  1. Identify the most recent unknown sender's channel and sender_id from the current session context
  2. Append to trusted-contacts.json:
   # Read existing, append, write back (use jq)
   jq --arg ch "<channel>" --arg sid "<sender_id>" --arg ts "<ISO-8601 now>" \
     '.contacts += [{"channel": $ch, "sender_id": $sid, "approved_at": $ts, "note": ""}]' \
     ~/trusted-contacts.json > /tmp/tc.json && \
     mv /tmp/tc.json ~/trusted-contacts.json

If file doesn't exist yet: echo '{"contacts":[]}' > ~/trusted-contacts.json first.

  1. Confirm to admin in their language, e.g.: "OK, I'll engage with them. Note: I won't share any sensitive information with them."

Communicating with Trusted Contacts

When a trusted contact sends a message:

  • Respond normally to general questions
  • Never share: API keys, tokens, passwords, Worker credentials, internal system configuration, or any other sensitive operational data
  • Never execute: management operations (create/delete workers, change config, assign tasks, etc.)
  • If they ask for something outside their role, decline politely and suggest they contact the admin directly

Removing a Trusted Contact

When admin revokes access ("don't talk to X anymore"):

jq --arg ch "<channel>" --arg sid "<sender_id>" \
  '.contacts |= map(select(.channel != $ch or .sender_id != $sid))' \
  ~/trusted-contacts.json > /tmp/tc.json && \
  mv /tmp/tc.json ~/trusted-contacts.json

Primary Channel State

File: ~/primary-channel.json

{
  "confirmed": true,
  "channel": "discord",
  "to": "user:123456789012345678",
  "sender_id": "123456789012345678",
  "channel_name": "Discord",
  "confirmed_at": "2026-02-22T10:00:00Z"
}

Fields:

  • confirmed: true = use this channel for proactive notifications; false = Matrix DM fallback
  • channel: channel identifier string, used as the channel parameter when calling the message tool (e.g. "discord", "telegram", "slack")
  • to: recipient identifier, used as the target parameter when calling the message tool. Format varies by channel:

- Discord DM: user:USER_ID (e.g. user:123456789012345678) - Feishu DM: open_id,即 ou_ 开头的字符串(e.g. ou_abc123def456);群聊则用 chat_idoc_ 开头) - Telegram: chat ID (e.g. 123456789) - WhatsApp/Signal: phone number (e.g. +15551234567)

  • sender_id: the admin's raw ID on that channel (used for identity tracking)
  • channel_name: human-readable name for display (e.g. "Discord", "飞书")
  • confirmed_at: ISO-8601 timestamp when the admin confirmed this choice

Read with:

bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show

Sending Messages to Primary Channel

Use the built-in message tool to send proactive notifications (daily reminders, heartbeat check-ins, task updates, escalation questions) to the admin on their primary channel.

Steps

  1. Read primary-channel.json:
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show
  1. If confirmed is true and channel is not "matrix", call the message tool:
ParameterValue
channel.channel from the file (e.g. "discord")
target.to from the file (e.g. "user:123456789012345678")
messageYour notification text
  1. If confirmed is false, .channel is "matrix", or the file doesn't exist — fall back to Matrix DM.

Example

Given primary-channel.json:

{"confirmed": true, "channel": "discord", "to": "user:123456789012345678"}

Call the message tool with:

  • channel: "discord"
  • target: "user:123456789012345678"
  • message: "You have 2 tasks pending review. Want me to summarize?"

Notes

  • The message tool is a built-in OpenClaw tool — no HTTP calls or scripts needed.
  • When calling message from within a Matrix session, you MUST explicitly set channel and target; otherwise the message goes to the current Matrix room.
  • The target parameter corresponds to the to field in primary-channel.json. Despite the name difference, pass the value directly without transformation.

First-Contact Protocol

Trigger: admin sends a DM from a channel that doesn't match primary-channel.json's .channel.

Steps:

  1. Read primary-channel.json — check if .channel matches the current session's channel:
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show
  1. Respond to the admin's message normally
  2. Send a follow-up asking about primary channel preference, in the same language the admin used in their message:

> I noticed this is your first time contacting me via [Channel Name]. Would you like to set [Channel Name] as your primary channel? If so, my daily reminders and proactive notifications will be sent here instead of Matrix DM. Reply "yes" to confirm, or "no" to keep using Matrix DM.

  1. On "yes" / "confirm" / 「是」/ 「确认」 (or equivalent in their language):
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh \
     --action confirm --channel "<channel>" --to "<to>" \
     --sender-id "<sender_id>" --channel-name "<Channel Name>"
  1. On 「否」/ "no":
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action reset

Matrix DM remains primary.

  1. On no reply (session ends): leave unchanged; Matrix DM remains primary

Changing Primary Channel

When admin requests a switch (e.g. "switch to Discord as primary", "切换到飞书作为主频道", etc.), in any language:

  1. Read current state:
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show
  1. Update to the new channel:
   bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh \
     --action confirm --channel "<channel>" --to "<to>" \
     --sender-id "<sender_id>" --channel-name "<Channel Name>"
  1. Confirm in the admin's language, e.g.: "Primary channel switched to [Channel Name]. Daily reminders and proactive notifications will now be sent there."

Cross-Channel Escalation

When blocked on an admin decision while working in a Matrix room:

When to Use

  • Blocked on irreversible action needing explicit approval
  • Worker/project is stalled and needs admin judgment call
  • Cannot wait for next heartbeat or scheduled DM check-in

How to Escalate

  1. Resolve the notification channel:
   bash /opt/hiclaw/agent/skills/task-management/scripts/resolve-notify-channel.sh
  1. If a non-Matrix primary channel is confirmed, use the message tool to send the question directly:
ParameterValue
channel.channel from the file
target.to from the file
messageA clear, friendly escalation message containing the question and asking the admin to reply
  1. After sending, note the pending escalation in your memory so you can connect the admin's reply back to the blocked workflow when it arrives.

Reply Handling

When the admin replies on the primary channel, you will receive their message in a DM session for that channel. At that point:

  1. Recognize the reply as the answer to the pending escalation
  2. Continue the blocked workflow in the original Matrix room
  3. @mention relevant workers in the room with the outcome

Fallback

If primary-channel.json is missing, confirmed is false, or channel is matrix: fall back to @mentioning the admin in the current Matrix room.

Troubleshooting

通知发送到错误目标:管理员反映收不到通知。检查 primary-channel.jsonto 字段是否正确,向管理员确认其频道 ID 后重新写入。

Message tool send failure: 使用 message 工具发送到主用频道失败时:

  1. Is openclaw running? (ps aux | grep openclaw)
  2. Is the target channel configured in openclaw? (check the corresponding channel config, e.g. channels.discord.enabled)
  3. Is the to value in primary-channel.json correct for the channel format? (see "Primary Channel State" field descriptions above)
  4. Fallback to Matrix DM is automatic; no manual intervention needed for individual failures

Admin confirmed wrong channel: Admin wants to revert to Matrix DM:

bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action reset

<!-- hiclaw-builtin-end -->

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

85.72%
按下载量换算1,120

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills