抖音私信发送-x-2

内容来源:clawhub · 原始地址 · 查看安装指南

原始内容


name: douyin-send-message description: 在抖音网页版发送私信消息。当用户想发送抖音私信、提醒续火花、或者提到"抖音发消息"、"发抖音私信"、"douyin send message"时触发。支持独立使用或配合人物关系管理技能使用。

抖音私信发送

两种使用模式

模式一:独立使用(手动提供抖音昵称)

为用户直接提供抖音昵称时,直接使用:

  • "给 xxx 发消息" → xxx 作为搜索关键词
  • "给 用户A 发消息" → 直接搜索 "用户A"

模式二:配合人物关系管理使用

推荐流程:

  1. 先调用 person-relation-manager 查询真实抖音昵称
  2. 拿到昵称后再执行发送

自动流程:

用户:"给昵称B发抖音私信"
     ↓
我查询记忆(person-relation-manager):昵称B → 抖音昵称C
     ↓
调用本技能发送,关键词:抖音昵称C

注意: 如果 person-relation-manager 技能不存在,提示用户安装:

人物关系管理技能未安装,是否从 ClawHub 安装?请说 "是的" 安装,或直接告诉我对方的抖音昵称。

如用户同意安装,执行:

clawhub install person-relation-manager --workdir ~/.openclaw/workspace

参数

调用时传入两个参数:

  • 联系人:昵称、抖音显示名、或通过人物管理查询到的昵称
  • 消息内容:要发送的具体内容(字符串,支持 emoji)

执行步骤

Step 1: 搜索并进入用户主页

  1. 打开新标签页,导航到搜索页:
    browser(action="open", url="https://www.douyin.com/aisearch?from_nav=1&search_source=normal_search&query=<联系人>&type=user", label="douyin_dm")
    
  2. 等待页面加载:
    browser(action="act", kind="wait", timeMs=2000, targetId="<返回的targetId>")
    
  3. 截取快照,找到"用户" tab 并点击:
    browser(action="snapshot", targetId="<targetId>", refs="aria")
    // 找到 tab "用户" [ref=e??] 点击
    browser(action="act", kind="click", ref="<用户tab的ref>", targetId="<targetId>")
    
  4. 等待搜索结果加载,再次快照,找到目标用户的链接并点击进入主页

Step 2: 在主页点击"私信"按钮

进入用户主页后,快照找到"私信"按钮并点击:

browser(action="snapshot", targetId="<targetId>", refs="aria")
// 找到 button "私信" [ref=e??] 点击
browser(action="act", kind="click", ref="<私信按钮的ref>", targetId="<targetId>")

Step 3: 在聊天窗口输入并发送

私信窗口弹出后(URL 不变但 DOM 变化),直接用 JavaScript 输入:

browser(action="act", kind="evaluate", fn="() => { var msg = '<消息内容>'; var inputs = document.querySelectorAll('[contenteditable=\"true\"]'); for(var input of inputs) { var rect = input.getBoundingClientRect(); if(rect.width > 0 && rect.height > 0) { input.focus(); for(var i=0; i<msg.length; i++) { document.execCommand('insertText', false, msg[i]); } return 'OK'; } } return 'No input'; }", targetId="<targetId>")
browser(action="act", kind="press", key="Enter", targetId="<targetId>")

Step 4: 验证发送成功

browser(action="act", kind="evaluate", fn="() => { var msg = '<消息内容>'; return document.body.innerText.includes(msg) ? 'OK' : 'FAIL'; }", targetId="<targetId>")

Step 5: 关闭页面(释放资源)

browser(action="close", targetId="<targetId>")

关键 DOM(2026-06-26 实测)

  • 搜索用户:https://www.douyin.com/aisearch?query=<联系人>&type=user
  • 用户主页按钮:button "私信" [ref]
  • 聊天输入框:[contenteditable="true"](需要宽度>0、高度>0才可输入)
  • 必须用 document.execCommand('insertText') 逐字输入
  • Enter 发送:browser(action="press", key="Enter")

性能

  • 目标总耗时:5-10 秒

配合使用示例

推荐:先查人物关系,再发送

我收到:"给昵称B发抖音"
1. 调用 person-relation-manager 查找:昵称B → 抖音昵称C
   - 如果技能不存在,提示用户安装
2. 调用本技能,关键词:抖音昵称C

独立使用:直接发送

我收到:"给 抖音昵称C 发消息"
直接调用本技能,关键词:抖音昵称C

注意事项

  • 发送完毕后必须关闭页面browser(action="close"))释放资源
  • 私信列表内搜索适合已有聊天记录的好友;新好友建议从主页"私信"按钮进入
  • 建议先通过 person-relation-manager 获取准确的抖音昵称
  • 如果 person-relation-manager 不存在,引导用户从 ClawHub 安装
  • 每次发送使用独立的浏览器标签页,操作完成后立即关闭