问答

Qwen-Agent(通义千问)或 Kimi 怎么接入小红书、抖音数据?

简短回答

Qwen-Agent 可以把 https://api.okdata.online/mcp 当作 streamable-HTTP 类型的 MCP 服务挂上,key 放在固定的 Authorization 请求头里,千问就拿到了 find、describe、call 三个工具。Kimi、GLM 等兼容 OpenAI 接口的模型,用 function calling 调同样的接口。小红书搜索每次 $0.02,抖音搜索每次 $0.02,抖音达人资料每次 $0.002。

杭州一个团队用千问做调研助手,看中的是它读得懂中文网络用语,服务也离用户近。助手需要在对话中途查小红书笔记、看抖音达人。Qwen-Agent 能挂载远程 MCP 服务,它的 issue 里最近也有人确认:远程服务只支持静态请求头,不支持 OAuth。okdata 用的正好是固定的 Bearer key,所以配置就是一个字典。

Qwen-Agent:挂上 MCP 服务

import os
from qwen_agent.agents import Assistant

tools = [{
    "mcpServers": {
        "okdata": {
            "type": "streamable-http",
            "url": "https://api.okdata.online/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
        }
    }
}]
bot = Assistant(llm={"model": "qwen-max-latest", "model_server": "dashscope"}, function_list=tools)

messages = [{"role": "user", "content": "找几篇讲敏感肌防晒的小红书热门笔记,说出点赞最多的三位作者。"}]
for responses in bot.run(messages=messages):
    pass
print(responses[-1]["content"])

智能体会先调用免费的 find 和 describe,再用 call 去调小红书笔记搜索、抖音视频搜索或抖音账号信息。如果 Qwen-Agent 导入 streamable-HTTP 客户端时报错,升级一下:老版本和 MCP Python SDK 2.x 不兼容。

Kimi、GLM 等兼容 OpenAI 接口的模型

月之暗面的 Kimi API 地址是 https://api.moonshot.cn/v1,兼容 OpenAI 格式,国内大多数模型 API 也是。把每个接口描述成一个 function 工具,模型要用时你去发 HTTP 请求,完整循环见用 function calling 调社媒数据接口。接之前先测一下 key:

curl -s -G "https://api.okdata.online/v1/douyin/users/get" -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode "url=https://www.douyin.com/user/MS4wLjABAAAA..." -d fields=name,followers,posts,likes

一次对话花多少

任务 调用次数 费用
小红书搜索 2 页 2 $0.04
抖音搜索 2 页 2 $0.04
10 个抖音达人资料 10 $0.02
以上合计 14 {{cost:xiaohongshu.notes.search2+douyin.videos.search2+douyin.users.get*10}}

注意事项

  • key 放环境变量。Qwen-Agent 的配置经常写在 notebook 里,notebook 又经常被分享。
  • 用中文关键词搜,笔记和视频文案几乎都是中文。
  • 抖音达人用 sec_uid 标识,就是主页链接里那串很长的 MS4wLjABAAAA...,不是 App 里显示的抖音号。账号信息接口可以直接收主页链接。
  • 小红书不公开浏览量,浏览数始终为空。
  • 返回内容是平台用户写的。call 工具的说明里已经提醒模型只当数据看,你的系统提示词里最好也写一句。

其他选择

Kimi 自带联网搜索工具,查新闻很方便,但看不到抖音、小红书里面的内容。阿里云百炼也提供一些托管的 MCP 服务,可以看看它是否支持添加带请求头的自定义远程服务。各客户端需要的连接信息都在 MCP 页面。

更新于