在 DSH 智能体开发或社区舆情研究中,获取公开评论数据是常见需求。手动浏览或编写通用爬虫效率较低。dsh-community-listening 是一个标准 DSH bundle,它将平台适配、内容发现、语料管理、情感分析及主题聚类整合为一个服务。

所有者:tyx6661234。类别:联网工具。许可:MIT。

核心能力

插件覆盖 8 个主流平台的评论采集,并提供内容发现、语料管理与初步分析能力。

  1. 评论采集:支持知乎、B 站、小红书、微博、抖音、快手、牛客、百度贴吧。
  2. 内容发现:支持 B 站、小红书、微博、抖音、快手的内容搜索,其中抖音支持读取用户近期作品。
  3. 语料管理:将结果按主题保存为 JSONL 格式,支持按 URL 与内容去重。
  4. 分析与导出:提供语料统计、词典/LLM 情感分析、SimHash 近似去重、Embedding 或关键词主题聚类,以及 Markdown 报告导出。
  5. 状态监控:维护独立的节流、冷却和通道健康状态,支持主通道降级。

安装与前置条件

安装前需确认环境满足以下条件:
* Node.js >= 20。
* 可用的 DSH 或 DSH Desktop 环境。
* 已安装并可从 PATH 调用的 BrowserSkill CLI(bsk)。

安装命令如下:

dsh plugin --profile <name> add dsh-community-listening

将 <name> 替换为目标 profile 名称。安装后重启该 profile 即可加载。

典型用法

下面介绍从发现到导出的标准流程。

1. 检查平台状态

在采集前,先查看各通道的健康状态与冷却情况。

crawler_status()

2. 采集与发现

传入 topic 参数,插件会自动将发现结果写入该主题的语料目录。

B 站搜索示例:

collect_bilibili_search({
  keyword: "机械键盘",
  topic: "mechanical-keyboards"
})

抖音用户作品示例:

collect_douyin_user(userUrl, topic, limit)

采集搜索结果中的具体评论:

collect_comments({
  url: "<video-or-post-url>",
  topic: "mechanical-keyboards"
})

3. 分析与导出

采集完成后,可对语料进行统计、情感分析、去重和聚类。

corpus_stats({ topic: "mechanical-keyboards" })
mine_sentiment({ topic: "mechanical-keyboards" })
dedupe_similar({ topic: "mechanical-keyboards" })
cluster_topics({ topic: "mechanical-keyboards" })

最后导出 Markdown 报告:

export_report({ topic: "mechanical-keyboards", report: "# Research report\n..." })

配置说明

在目标 profile 的插件配置中添加 config 字段。以下是关键配置项:

- id: dsh-community-listening
  name: dsh-community-listening
  config:
    bskPath: bsk
    bskTimeoutMs: 120000
    maxCollectConcurrency: 3
    autoLaunchChrome: true
    chromePath: ""
    chromeProfileDir: ""
    corpusDir: ""
    bilibiliCookie: ""
    siliconflowKey: ""
    siliconflowBaseUrl: ""
    embeddingModel: ""
  • bskPath:BrowserSkill CLI 路径。
  • bskTimeoutMs:单次命令超时时间(毫秒)。
  • maxCollectConcurrency:浏览器型采集的全局并发上限。
  • bilibiliCookie:可选 B 站 Cookie,用于改善 API 可用性。
  • siliconflowKey:可选 embedding 模型配置。
  • corpusDir:语料根目录,也可通过环境变量 DSH_INSIGHT_CORPUS_DIR 设置。

行为与限制

  • 权限与合规:仅处理公开可读内容,复用用户自有浏览器登录态。不破解验证码、不绕过登录墙、不伪造设备身份。
  • 小红书特殊要求:小红书需登录态和 xsec_token。若搜索结果中无有效 token,评论采集可能为空。
  • 平台变动:平台策略变化可能导致采集失败。遇到冷却或降级时,请通过 crawler_status 查看状态,避免无效重试。
  • 本地运行:插件以当前 DSH 进程权限运行,请勿提交 Cookie、API Key 或浏览器 Profile 到代码仓库。

数据存储

默认语料目录为当前 DSH 会话工作目录,结构如下:

<corpus-root>/insight-workspace/<topic>/
  corpus.jsonl     # 搜索结果、页面与评论语料
  analysis.json    # 分析快照
  report.md        # 导出的报告

生态与贡献

本插件属于 DSH 生态中的联网工具。目标平台内容及其使用仍受各平台规则与适用法律约束。

更多细节可参考 GitHub 仓库。