← 返回 Skills 市场
blackbeans

与你聊聊(Beta)

作者 blackbeans · GitHub ↗ · v0.8.0 · MIT-0
cross-platform ✓ 安全检测通过
45
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install yunitalk-beta
功能描述
该技能用于 OpenClaw 接入与你聊聊,实现聊聊与 OpenClaw 的对话
使用说明 (SKILL.md)

OpenClaw 会话技能

你现在拥有在 Talk Robots 会话中识别当前用户身份,并通过 Robot 消息接口把文本或文件事件投递给指定聊聊机器人的能力。当用户要求“记住我是谁”、“给我发个消息”、“通知我”、“给我发送文件”,或者你在后台完成了一项长耗时任务需要回推结果时,请使用此技能。

OpenClaw 会自动管理会话身份标识,但发送 Robot 消息时仍必须使用当前会话的 cvs_id

⚠️ 重要: 发送消息时必须使用用户上下文中明确指出的 cvs_id(严格区分大小写),不要从 session key 中提取(session key 会被小写化,导致投递失败)。

推荐发送方式:shell/robot_send.sh

本技能目录提供了辅助脚本 shell/robot_send.sh。当运行环境允许执行 shell 时,优先使用该脚本发送与你聊聊文本消息或文件消息,不要手写签名或手动拼接 /robot/send 请求。

该脚本会自动完成:

  • 生成 msg_idnoncestrtimestamp
  • 按 Talk Robots /robot/send 规则生成 HMAC-SHA256 sign
  • 文本消息使用完整 imx.Msg JSON 结构
  • 文件消息使用 multipart/form-data
  • 支持 --refer-msg-id--at--mentioned--dry-run

发送前必须确认以下值均有效:

  • robot_endpoint / TALK_ROBOT_ENDPOINT
  • robot_id / TALK_ROBOT_ID
  • robot_key / TALK_ROBOT_KEY
  • 当前会话 cvs_id

使用脚本发送文本消息

./shell/robot_send.sh text \
  --base-url "{{robot_endpoint}}" \
  --robot-id "{{robot_id}}" \
  --robot-key "{{robot_key}}" \
  --cvs-id "{{cvs_id}}" \
  --content "你好,你交代的任务已经处理完成。"

使用脚本发送文件消息

./shell/robot_send.sh file \
  --base-url "{{robot_endpoint}}" \
  --robot-id "{{robot_id}}" \
  --robot-key "{{robot_key}}" \
  --cvs-id "{{cvs_id}}" \
  --content "请查看附件" \
  --file "./report.pdf"

发送前预检

不确定参数或签名是否正确时,先使用 --dry-run 查看请求内容,不要实际发送:

./shell/robot_send.sh text \
  --base-url "{{robot_endpoint}}" \
  --robot-id "{{robot_id}}" \
  --robot-key "{{robot_key}}" \
  --cvs-id "{{cvs_id}}" \
  --content "测试消息" \
  --dry-run

Robot 消息接口说明

如果不能使用 shell/robot_send.sh,再按下面的协议直接调用 Robot 消息接口。

配置项

  • robot_endpoint - Talk Robots 服务端点地址(在 OpenClaw 技能配置中设置)
  • robot_id - 机器人 ID(在 OpenClaw 技能配置中设置)
  • robot_key - 机器人密钥(在 OpenClaw 技能配置中设置)

发送消息时,系统需要生成 msg_idnoncestrtimestamp,并将 msg_idnoncestrrobot_idtimestamp 按 key 字典序排序、value URL encode 后拼接成签名原文,再使用 robot_key 做 HMAC-SHA256 生成 sign。最终 URL 形如:{{robot_endpoint}}?robot_id=...&noncestr=...&timestamp=...&msg_id=...&sign=...

发送文本事件

  • Endpoint: {{robot_endpoint}}
  • Method: POST
  • Content-Type: application/json
  • Payload (JSON):
    • cmd: 固定为 msg
    • head.msg_id: 消息 ID,需与 URL 中 msg_id 一致
    • head.cvs_id: 目标会话 ID,必填
    • head.refer_msg_id: 可选,引用消息 ID
    • body.content: 要投递的文本内容

请求体示例:

{
  "cmd": "msg",
  "head": {
    "msg_id": "msg-001",
    "cvs_id": "cvs-123",
    "refer_msg_id": "refer-msg-id"
  },
  "body": {
    "content": "你好,你交代的任务已经处理完成。"
  }
}

发送文件事件

  • Endpoint: {{robot_endpoint}}
  • Method: POST
  • Content-Type: multipart/form-data
  • Form Fields:
    • msg_id: 消息 ID,需与 URL 中 msg_id 一致
    • cvs_id: 目标会话 ID,必填
    • file: 文件二进制内容
    • content: 可选,文件说明文本
    • refer_msg_id: 可选,引用消息 ID

注意:文件上传必须使用 multipart/form-data,不能使用 JSON 直接嵌入文件内容。

操作规范 (Rules)

  1. 身份约束:OpenClaw 会自动管理当前用户的身份标识;引用历史上下文时,只能基于当前会话,不能混用其他会话记忆。
  2. 前置检查:在投递消息前,务必先确认技能配置中已提供有效的 robot_endpointrobot_idrobot_key 和当前会话 cvs_id。如果没有,请直接告知调用方当前缺少配置。
  3. 优先脚本:当 shell 可用时,优先使用 shell/robot_send.sh 发送文本或文件;只有脚本不可用时才手动构造 /robot/send 请求。
  4. 文本发送:发送纯文本时,请严格使用完整 imx.Msg JSON 结构:cmd=msghead.msg_idhead.cvs_idbody.content
  5. 文件发送:发送文件时,请严格使用 multipart/form-data,并通过 file 字段上传文件,不要用 JSON 嵌入文件内容。
  6. 会话 ID:无论用脚本还是手动请求,都必须显式传入当前会话 cvs_id,且大小写必须保持原样。
  7. 投递语义/robot/send 是把事件投递给目标 robot,不是直接绕过机器人给聊聊会话发消息;最终是否回发由机器人脚本逻辑决定。
  8. 内容风格:默认使用自然、简洁的中文与用户沟通,除非用户明确要求其他语言。
  9. 错误处理:如果缺少必要上下文、robot 消息配置无效,或调用协议不明确,请明确指出缺失项,不要自行猜测。
  10. 禁止事项:不要虚构用户资料、历史记忆、robot 消息参数或接口协议。

示例 (Example)

当你需要在任务完成后通知当前用户时,推荐直接调用辅助脚本。

文本消息示例

./shell/robot_send.sh text \
  --base-url "{{config.robot_endpoint}}" \
  --robot-id "{{config.robot_id}}" \
  --robot-key "{{config.robot_key}}" \
  --cvs-id "{{cvs_id}}" \
  --content "你好,你交代的任务已经处理完成,我现在把结果同步给你。"

文件消息示例

./shell/robot_send.sh file \
  --base-url "{{config.robot_endpoint}}" \
  --robot-id "{{config.robot_id}}" \
  --robot-key "{{config.robot_key}}" \
  --cvs-id "{{cvs_id}}" \
  --content "请查看附件" \
  --file "./report.pdf"

手动文本请求示例(脚本不可用时)

{
  "cmd": "msg",
  "head": {
    "msg_id": "msg-001",
    "cvs_id": "cvs-123"
  },
  "body": {
    "content": "你好,你交代的任务已经处理完成,我现在把结果同步给你。"
  }
}

手动文件请求示例(脚本不可用时)

curl -X POST "{{config.robot_endpoint}}?robot_id={{config.robot_id}}&noncestr={{nonce}}&timestamp={{timestamp}}&msg_id={{msg_id}}&sign={{sign}}" \
  -F "msg_id={{msg_id}}" \
  -F "cvs_id={{cvs_id}}" \
  -F "content=请查看附件" \
  -F "file=@./report.pdf"
安全使用建议
Before installing, confirm that TALK_ROBOT_ID, TALK_ROBOT_KEY, and TALK_ROBOT_ENDPOINT are correct, keep the robot key private, and make sure the agent only sends messages or files to the current intended cvs_id. If you use the referenced Talk Robots-side script, review it separately because it is not included in these artifacts.
功能分析
Type: OpenClaw Skill Name: yunitalk-beta Version: 0.8.0 The skill bundle provides a legitimate integration between OpenClaw and the 'Talk Robots' (YuniTalk) messaging platform. It includes a utility script (shell/robot_send.sh) that uses standard tools like curl, openssl, and python3 to sign and deliver messages or files to a configured endpoint (yunitalk-im-dev.yuni.vip). The instructions in SKILL.md and README.md are focused on correct usage and security best practices, such as using environment variables for sensitive keys, and no evidence of malicious intent, data exfiltration, or unauthorized execution was found.
能力评估
Purpose & Capability
The declared purpose matches the artifacts: the skill sends text or selected files to Talk Robots via a robot API. This is expected for the integration, but it means chat content and uploaded files leave OpenClaw for the configured robot service.
Instruction Scope
SKILL.md repeatedly says to use the current session cvs_id and not guess missing values. The helper script itself still allows cvs_id to be omitted, so users should ensure the agent always passes the intended current conversation ID.
Install Mechanism
There is no install spec or package install. The README documents manual copying/chmod and runtime dependencies on curl, openssl, and python3. It also references a docs/openclaw-robot.js deployment script that is not present in the provided manifest, so that separate robot script should be reviewed if used.
Credentials
The skill requires robot credentials and a service endpoint, which are proportionate to sending robot messages. The registry metadata did not declare required env vars, but config.yaml and README disclose TALK_ROBOT_ID, TALK_ROBOT_KEY, and the default endpoint.
Persistence & Privilege
The provided files do not create a background service, persistence mechanism, self-propagation, or hidden privilege escalation. Message sending occurs through the documented helper/API when invoked.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install yunitalk-beta
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /yunitalk-beta 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.8.0
与你聊聊龙虾技能首发
元数据
Slug yunitalk-beta
版本 0.8.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

与你聊聊(Beta) 是什么?

该技能用于 OpenClaw 接入与你聊聊,实现聊聊与 OpenClaw 的对话. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 45 次。

如何安装 与你聊聊(Beta)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install yunitalk-beta」即可一键安装,无需额外配置。

与你聊聊(Beta) 是免费的吗?

是的,与你聊聊(Beta) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

与你聊聊(Beta) 支持哪些平台?

与你聊聊(Beta) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 与你聊聊(Beta)?

由 blackbeans(@blackbeans)开发并维护,当前版本 v0.8.0。

💬 留言讨论