$npx -y skills add agentscope-ai/QwenPaw --skill channel_message-zh当需要主动向用户、会话或频道单向发送消息时,使用本 skill。通常仅在用户明确要求向某个 channel / 会话发送消息,或需要主动通知时使用。先用 qwenpaw chats list 查询 session,再用 qwenpaw channels send 推送消息。
| 1 | # 频道消息推送 |
| 2 | |
| 3 | ## 什么时候用 |
| 4 | |
| 5 | 通常只有在**用户明确要求向某个 channel / 会话发送消息**,或你需要**主动推送通知**(如任务完成、提醒、告警)时,使用本 skill。 |
| 6 | 这是**单向发送**,**不会返回回复**。 |
| 7 | |
| 8 | ### 应该使用 |
| 9 | - 用户明确要求发往某个 channel / 会话 |
| 10 | - 任务完成后主动通知用户 |
| 11 | - 定时提醒、告警、状态更新 |
| 12 | - 将异步结果推送回某个已有会话 |
| 13 | - 用户明确要求"处理完后通知我" |
| 14 | |
| 15 | ### 不应使用 |
| 16 | - 如果只是当前会话中的正常回复,**不要使用 `qwenpaw channels send`** |
| 17 | - 需要和用户进行双向对话并立即等待回复 |
| 18 | - 还不知道目标 session 是哪个 |
| 19 | - 想当然猜测 `target-user` 或 `target-session` |
| 20 | |
| 21 | ## 决策规则 |
| 22 | |
| 23 | 1. **通常只有在用户明确要求发往某个 channel / 会话,或需要主动通知时才使用** |
| 24 | 2. **发送前必须先查 session** |
| 25 | 3. **不要猜 `target-user` 和 `target-session`** |
| 26 | 4. **如果查到多个 session,优先使用最近活跃的** |
| 27 | 5. **`channel send` 是单向推送,不会返回用户回复** |
| 28 | |
| 29 | --- |
| 30 | |
| 31 | ## 最常用命令 |
| 32 | |
| 33 | ### 1) 先查询可用 sessions |
| 34 | |
| 35 | ```bash |
| 36 | qwenpaw chats list --agent-id <your_agent> --channel <channel> |
| 37 | ``` |
| 38 | |
| 39 | 也可以按用户筛选: |
| 40 | |
| 41 | ```bash |
| 42 | qwenpaw chats list --agent-id <your_agent> --user-id <user_id> |
| 43 | ``` |
| 44 | |
| 45 | ### 2) 发送消息 |
| 46 | |
| 47 | ```bash |
| 48 | qwenpaw channels send \ |
| 49 | --agent-id <your_agent> \ |
| 50 | --channel <channel> \ |
| 51 | --target-user <user_id> \ |
| 52 | --target-session <session_id> \ |
| 53 | --text "..." |
| 54 | ``` |
| 55 | |
| 56 | --- |
| 57 | |
| 58 | ## 最小工作流 |
| 59 | |
| 60 | ``` |
| 61 | 1. 判断:是否为用户明确要求发送,或是否需要主动通知 |
| 62 | 2. qwenpaw chats list 查询目标 session |
| 63 | 3. 从结果中获取 user_id 和 session_id |
| 64 | 4. 若有多个 session,优先选最近活跃的 |
| 65 | 5. qwenpaw channels send 发送消息 |
| 66 | 6. 结束(无回复) |
| 67 | ``` |
| 68 | |
| 69 | --- |
| 70 | |
| 71 | ## 关键规则 |
| 72 | |
| 73 | ### 必填参数 |
| 74 | |
| 75 | `qwenpaw channels send` 必须同时提供: |
| 76 | - `--agent-id` |
| 77 | - `--channel` |
| 78 | - `--target-user` |
| 79 | - `--target-session` |
| 80 | - `--text` |
| 81 | |
| 82 | ### 必须先查询 |
| 83 | |
| 84 | 发送前先执行: |
| 85 | |
| 86 | ```bash |
| 87 | qwenpaw chats list --agent-id <your_agent> --channel <channel> |
| 88 | ``` |
| 89 | |
| 90 | 从结果中获取: |
| 91 | - `user_id` → `--target-user` |
| 92 | - `session_id` → `--target-session` |
| 93 | |
| 94 | 如果有多个候选 session,优先选择 `updated_at` 最近的会话。 |
| 95 | |
| 96 | ### 单向推送 |
| 97 | |
| 98 | `qwenpaw channels send` 只负责发送,不等待回复。 |
| 99 | |
| 100 | --- |
| 101 | |
| 102 | ## 简短示例 |
| 103 | |
| 104 | ### 用户明确要求发往某个 channel |
| 105 | |
| 106 | ```bash |
| 107 | qwenpaw chats list --agent-id notify_bot --channel feishu |
| 108 | |
| 109 | qwenpaw channels send \ |
| 110 | --agent-id notify_bot \ |
| 111 | --channel feishu \ |
| 112 | --target-user manager_id \ |
| 113 | --target-session manager_session \ |
| 114 | --text "周报已生成,请查收" |
| 115 | ``` |
| 116 | |
| 117 | ### 任务完成通知 |
| 118 | |
| 119 | ```bash |
| 120 | qwenpaw chats list --agent-id task_bot --channel console |
| 121 | |
| 122 | qwenpaw channels send \ |
| 123 | --agent-id task_bot \ |
| 124 | --channel console \ |
| 125 | --target-user alice \ |
| 126 | --target-session alice_console_001 \ |
| 127 | --text "✅ 任务已完成" |
| 128 | ``` |
| 129 | |
| 130 | ### 异步结果回推 |
| 131 | |
| 132 | ```bash |
| 133 | qwenpaw chats list --agent-id analyst_bot --user-id alice |
| 134 | |
| 135 | qwenpaw channels send \ |
| 136 | --agent-id analyst_bot \ |
| 137 | --channel console \ |
| 138 | --target-user alice \ |
| 139 | --target-session alice_console_001 \ |
| 140 | --text "数据分析已完成,结果已保存到 report.pdf" |
| 141 | ``` |
| 142 | |
| 143 | --- |
| 144 | |
| 145 | ## 常见错误 |
| 146 | |
| 147 | ### 错误 1:把正常回复当成 channel send |
| 148 | |
| 149 | 如果你正在当前会话里直接回复用户,不要使用 `qwenpaw channels send`。 |
| 150 | |
| 151 | ### 错误 2:没查 session 就直接发 |
| 152 | |
| 153 | 不要猜 `target-user` 或 `target-session`,先执行: |
| 154 | |
| 155 | ```bash |
| 156 | qwenpaw chats list --agent-id <your_agent> --channel <channel> |
| 157 | ``` |
| 158 | |
| 159 | ### 错误 3:缺少必填参数 |
| 160 | |
| 161 | `--agent-id`、`--channel`、`--target-user`、`--target-session`、`--text` 五个都必填。 |
| 162 | |
| 163 | ### 错误 4:以为 send 会拿到回复 |
| 164 | |
| 165 | 不会。它只是推送消息。 |
| 166 | |
| 167 | ### 错误 5:用户有多个 session 时随便选一个 |
| 168 | |
| 169 | 应优先选择最近活跃的 session。 |
| 170 | |
| 171 | --- |
| 172 | |
| 173 | ## 可选命令 |
| 174 | |
| 175 | ### 查看所有会话 |
| 176 | |
| 177 | ```bash |
| 178 | qwenpaw chats list --agent-id <your_agent> |
| 179 | ``` |
| 180 | |
| 181 | ### 查看某个用户的会话 |
| 182 | |
| 183 | ```bash |
| 184 | qwenpaw chats list --agent-id <your_agent> --user-id <user_id> |
| 185 | ``` |
| 186 | |
| 187 | ### 查看可用频道 |
| 188 | |
| 189 | ```bash |
| 190 | qwenpaw channels list --agent-id <your_agent> |
| 191 | ``` |
| 192 | |
| 193 | --- |
| 194 | |
| 195 | ## 与 Agent Chat 的区别 |
| 196 | |
| 197 | - **qwenpaw agents chat**:发给其他 agent,双向,有回复 |
| 198 | - **qwenpaw channels send**:发给用户/会话/频道,单向,无回复 |
| 199 | |
| 200 | **选择原则**: |
| 201 | - 要找其他 agent 协作 → `qwenpaw agents chat` |
| 202 | - 要主动给用户推送消息 → `qwenpaw channels send` |
| 203 | |
| 204 | --- |
| 205 | |
| 206 | ## 完整参数说明 |
| 207 | |
| 208 | ### qwenpaw chats list |
| 209 | |
| 210 | **必填参数**: |
| 211 | - `--agent-id`:Agent ID |
| 212 | |
| 213 | **可选参数**: |
| 214 | - `--channel`:按频道筛选 |
| 215 | - `--user-id`:按用户筛选 |
| 216 | - `--base-url`:覆盖API地址 |
| 217 | |
| 218 | ### qwenpaw channels send |
| 219 | |
| 220 | **必填参数**(5个): |
| 221 | - `--agent-id`:发送方agent ID |
| 222 | - `--channel`:目标频道(console/dingtalk/feishu/discord/imessage/qq/...) |
| 223 | - `--target-user`:目标用户ID(从 `qwenpaw chats list` 获取) |
| 224 | - `--target-session`:目标会话ID(从 `qwenpaw chats list` 获取) |
| 225 | - `--text`:消息内容 |
| 226 | |
| 227 | **可选参数**: |
| 228 | - `--base-url`:覆盖API地址 |
| 229 | |
| 230 | --- |
| 231 | |
| 232 | ## 帮助信息 |
| 233 | |
| 234 | 随时使用 `-h` 查看详细帮助: |
| 235 | |
| 236 | ```bash |
| 237 | qwenpaw channels -h |
| 238 | qwenpaw channels send -h |
| 239 | qwenpaw chats -h |
| 240 | qwenpaw chats list -h |
| 241 | ``` |