闲社服务运行正常AI智能体自动化平台
c

渠道管理

技能标识:channel-management

Manage multiple communication channels, admin identity recognition, and primary channel configuration

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

渠道管理

频道管理技能

身份识别

在任何房间收到消息时,确定发送者的身份。规则因上下文而异:

私聊(任何频道)

所有私聊发送者均为人类管理员——OpenClaw 允许列表保证只有管理员可以向您发送私聊。

Matrix 群组房间

Matrix 房间可能包含管理员、工作节点、受信任联系人和未知用户。通过 Matrix 用户 ID 进行识别:

发送者识别方式操作
人类管理员@${HICLAWADMINUSER}:${HICLAWMATRIXDOMAIN}完全信任——执行任何请求
工作节点
已在 ~/workers-registry.json 中注册 | 正常工作节点交互(任务交接、状态更新) |
| 受信任联系人 | 在 ~/trusted-contacts.json 中记录为 {channel: matrix, senderid: user_id>} | 回答一般性问题;不透露敏感信息;拒绝管理操作 |
| 未知用户 | 以上均不符合 | 静默忽略——不回复 |

非 Matrix 群组房间(Discord、Telegram 等)

发送者识别方式操作
人类管理员senderid 与 primary-channel.json 中的 senderid 匹配(同一频道类型)完全信任
受信任联系人
在 ~/trusted-contacts.json 中记录为 {channel, sender_id} | 受限信任(规则同上) | | 未知用户 | 以上均不符合 | 静默忽略 |

受信任联系人

文件:~/trusted-contacts.json

json
{
contacts: [
{
channel: discord,
sender_id: 987654321098765432,
approved_at: 2026-02-23T10:00:00Z,
note: 可选标签
}
]
}

添加受信任联系人

触发条件:群组房间中未知发送者发来消息 → 静默忽略。如果人类管理员随后说你可以和刚才发消息的人交谈(或类似表述):

  1. 1. 从当前会话上下文中识别最近未知发送者的 channel 和 sender_id
  2. 追加到 trusted-contacts.json:
bash # 读取现有内容,追加,写回(使用 jq) jq --arg ch <频道> --arg sid <发送者ID> --arg ts \ .contacts += [{channel: $ch, senderid: $sid, approvedat: $ts, note: }] \ ~/trusted-contacts.json > /tmp/tc.json && \ mv /tmp/tc.json ~/trusted-contacts.json

如果文件尚不存在:先执行 echo {contacts:[]} > ~/trusted-contacts.json

  1. 3. 用管理员的语言确认,例如:好的,我会与他们互动。注意:我不会与他们分享任何敏感信息。

与受信任联系人沟通

当受信任联系人发送消息时:

  • - 正常回答一般性问题
  • 绝不分享:API 密钥、令牌、密码、工作节点凭证、内部系统配置或任何其他敏感操作数据
  • 绝不执行:管理操作(创建/删除工作节点、更改配置、分配任务等)
  • 如果他们提出超出其角色范围的要求,礼貌拒绝并建议他们直接联系管理员

移除受信任联系人

当管理员撤销访问权限时(不要再和 X 交谈):
bash
jq --arg ch <频道> --arg sid <发送者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.json

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

字段说明:

  • - confirmed:true = 使用此频道发送主动通知;false = 回退到 Matrix 私聊
  • channel:频道标识字符串,调用 message 工具时用作 channel 参数(例如 discord、telegram、slack)
  • to:接收者标识,调用 message 工具时用作 target 参数。格式因频道而异:

- Discord 私聊:user:用户ID(例如 user:123456789012345678)
- 飞书私聊:openid,即 ou 开头的字符串(例如 ouabc123def456);群聊则用 chatid(oc_ 开头)
- Telegram:聊天 ID(例如 123456789)
- WhatsApp/Signal:电话号码(例如 +15551234567)
  • - senderid:管理员在该频道上的原始 ID(用于身份追踪)
  • channelname:人类可读的频道名称(例如 Discord、飞书)
  • confirmed_at:管理员确认此选择的 ISO-8601 时间戳

读取方式:
bash
bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show

向主用频道发送消息

使用内置的 message 工具向管理员的主用频道发送主动通知(每日提醒、心跳签到、任务更新、升级问题等)。

步骤

  1. 1. 读取 primary-channel.json:
bash bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh --action show
  1. 2. 如果 confirmed 为 true 且 channel 不是 matrix,调用 message 工具:

| 参数 | 值 |
|------|-----|
| channel | 文件中的 .channel(例如 discord) |
| target | 文件中的 .to(例如 user:123456789012345678) |
| message | 您的通知文本 |

  1. 3. 如果 confirmed 为 false、.channel 为 matrix 或文件不存在——回退到 Matrix 私聊。

示例

给定 primary-channel.json:
json
{confirmed: true, channel: discord, to: user:123456789012345678}

调用 message 工具时使用:

  • - channel:discord
  • target:user:123456789012345678
  • message:您有 2 个待审核的任务。需要我总结一下吗?

注意事项

  • - message 工具是 OpenClaw 的内置工具——无需 HTTP 调用或脚本。
  • 在 Matrix 会话中调用 message 时,必须显式设置 channel 和 target;否则消息会发送到当前 Matrix 房间。
  • target 参数对应 primary-channel.json 中的 to 字段。尽管名称不同,直接传递该值即可,无需转换。

首次联系协议

触发条件:管理员从与 primary-channel.json 中 .channel 不匹配的频道发送私聊。

步骤:

  1. 1. 读取 primary-channel.json——检查 .channel 是否与当前会话的频道匹配:

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

  1. 2. 正常回复管理员的消息
  2. 发送后续消息询问主用频道偏好,使用管理员消息中使用的相同语言:
> 我注意到这是您第一次通过 [频道名称] 联系我。您是否希望将 [频道名称] 设置为主用频道?如果是,我的每日提醒和主动通知将发送到这里,而不是 Matrix 私聊。回复是确认,或否继续使用 Matrix 私聊。
  1. 4. 收到 是 / 确认 / yes / confirm(或管理员语言中的等效词):
bash bash /opt/hiclaw/agent/skills/channel-management/scripts/manage-primary-channel.sh \ --action confirm --channel <频道> --to <接收者> \ --sender-id <发送者ID> --channel-name <频道名称>
  1. 5. 收到

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 channel-management-1776123971 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 channel-management-1776123971 技能

通过命令行安装

skillhub install channel-management-1776123971

下载

⬇ 下载 channel-management v1.0.0(免费)

文件大小: 6.04 KB | 发布时间: 2026-4-14 11:00

v1.0.0 最新 2026-4-14 11:00
Channel management skill initial release:

- Admin identity recognition by channel and sender.
- Trusted contacts system for limited interactions; includes add/remove workflows and JSON file storage.
- Support for managing and confirming a primary communication channel with file-based state.
- Proactive notifications sent via the admin’s chosen channel, with fallback to Matrix DM.
- Administrative commands to update or reset the primary channel.
- Clear separation of permissions for humans, trusted contacts, and unknown senders.
返回顶部