Skip to content

抖音 ​

抖音网页版私信(浏览器自动化驱动,参考 Douyin-mcp)。cookie 登录、有头模式更稳;只支持文本收发,需要本机有 Edge 或 Chrome 浏览器环境。

适配器类型:"douyin" 源码:src/adapter/douyin/ 协议:基于抖音网页版私信(/messages)的浏览器自动化。

抖音 web 接口普遍需要 a_bogus 签名(逆向 webmssdk.js),纯 HTTP 方案不稳定且易失效,故本适配器采用系统浏览器(Edge 或 Chrome)驱动网页版私信页实现 cookie 登录与私信收发。网页版自动化属于非官方方式,有账号风控风险,请自行评估使用。

说明 ​

特点 ​

  • 浏览器自动化驱动网页版私信,无需逆向签名
  • cookie 登录,持久化浏览器指纹降低验证码触发率
  • 支持文本私信收发
  • 内置反检测脚本 + 持久化浏览器指纹

原理 ​

  • 接收:打开网页版消息面板,轮询会话列表,检测"最后消息预览 + 时间"指纹变化即派发事件
  • 发送:点击会话 → 注入 contenteditable 输入框 → 点发送按钮(兜底回车)
  • 登录:将 config.cookie 写入浏览器上下文,检测 sessionid 确认登录态

前提 ​

  • 本机有 Edge 或 Chrome 浏览器(无需下载浏览器,playwright-core 驱动系统浏览器)
  • 抖音网页版登录 cookie(须含 sessionid)
  • 抖音对 headless 指纹有验证码风控,建议有头模式过验证一次后持久化指纹

安装 ​

适配器安装 ​

bash
van adapter install douyin

依赖库 ​

bash
npm install playwright-core

配置 ​

jsonc
{
  "botId": "抖音",
  "type": "douyin",
  "cookie": "sessionid=xxx; sid_guard=yyy; ...",
  "executablePath": "",
  "headless": true,
  "profileDir": "",
  "sessionDir": "",
  "pollInterval": 2500
}
配置项必填说明
cookie✅抖音网页版登录 cookie(须含 sessionid)
executablePath可选浏览器绝对路径(默认自动探测系统 Edge 或 Chrome)
headless可选无头模式,默认 true;被验证码拦截时设 false 用真实窗口过验证一次
profileDir可选浏览器指纹持久化目录,默认 ./data/douyin_profile/<botId>/(不要删)
sessionDir可选登录态保存目录,默认 ./data/douyin_session
pollInterval可选接收轮询间隔毫秒,默认 2500

登录方式 ​

从已登录抖音的浏览器按 F12 打开开发者工具,切换到 Console 控制台,输入 document.cookie 回车,复制输出的整段字符串填入配置的 cookie 字段即可。适配器会检测 sessionid 确认登录态。

cookie 有效期不固定,一般数天到数周。过期后日志会提示登录态无效,重新复制一份填入即可。

接收事件 ​

场景框架事件标识
好友私信private_messageuserId = 对方昵称

收到的是会话列表的最后一条消息预览(文本),统一转为 text 段;若预览是表情/图片占位,文本可能为空或呈现为占位,此时转 [未知消息]。

网页版消息能力已被抖音弱化,富媒体内容(图片/视频)读不到,只能拿到文本预览。

API 调用 ​

action说明
send_private_msguser_id = 对方昵称,发送私聊
send_group_msggroup_id = 群名(当前网页版面板仅私聊会话,群聊暂不可用)
send_msg有 group_id 走群聊,否则走私聊
get_contacts返回消息面板会话列表(昵称、最后消息预览、时间、是否群聊)
ts
await bot.callApi("send_private_msg", { user_id: "Van.", message: "你好" })
await bot.callApi("send_msg", { user_id: "Van.", message: "在吗" })
const contacts = await bot.callApi("get_contacts")

抖音没有数字 ID,user_id 这里填会话昵称,必须与消息面板里显示的一致。

能力集:text: true,其余均为 false。富媒体段会被内核降级逻辑自动丢弃或转文本。

常见问题 ​

  • 登录态无效:cookie 里没有 sessionid / 过期。从已登录抖音的浏览器复制 document.cookie 填入。
  • 验证码风控:headless 模式可能触发滑块验证码。把 headless 改为 false 用真实窗口过验证一次,之后 profileDir 持久化指纹免验证。
  • 收不到消息:确认日志出现"登录成功";适配器轮询消息面板会话列表,只有会话有新消息才派发事件。
  • 发消息失败:昵称必须与消息面板里完全一致。
  • 浏览器找不到:自动探测 Edge 或 Chrome 失败时,在 executablePath 填浏览器绝对路径。
  • 风控:高频轮询/发送可能触发抖音风控,建议 pollInterval 不要低于 1500ms。

相关项目 ​

Just run の Bot · 一套插件,全平台机器人