中文语义级舆情哨兵(yuqing-sentinel v1.0.2)
> 你输入任意要监控的内容,点一下,出一份每条都带情感判定依据、可溯源复核的舆情报告。
> 核心差异化:LLM 直接判情感 + 置信度 + 支撑句——能抓反讽/隐晦/语境负面,这是词典法(SnowNLP)做不到的。
🎯 适用对象:中小商家舆论监测
本 skill 专为没有预算采购专业舆情服务的中小商家设计——门店、本地品牌、个体户、初创公司、本地项目(楼盘/餐厅/民宿/教培机构等)都可以用它自己监控自家口碑与负面:
- 监控自家:输自家门店/品牌/产品名 → 看有没有差评、投诉、负面爆料在公网或社交平台扩散(近 30 天窗口)。
- 监控竞品 / 行业:输竞品名或行业词 → 看对手动态、行业风向。
- 替代专业舆情:专业舆情服务通常按年收费(数千至数万);本 skill 装完即用,且每条判定都附可溯源复核的支撑句,比词典法更透明。
- 典型用法:本地商家搜自家店名/项目名 → 出报告看近 30 天口碑 → 命中 §4 异常预警(负面聚集/突发负面)就及时处理。
0. 铁律(先看,别犯)
- 判据 = 摘要原文措辞,不是猜测、不是印象、不是先入为主。
- 禁编造支撑句——引不出原文那句话,就降置信度,不硬凑。
- 每条必须输出完整六元组:标题 / 来源 / URL / 时间 / 摘要原文 / 情感标签+置信度+支撑句(+事件要点)。
- 置信度低 → 标「需人工复核」,不硬判、不假装确定。
- 情感只三分类(正面/中性/负面),不发明第四类、不用"偏正面/偏负面"这种模糊词。
- 报告顶部必须标注数据来源与判定方法(数据=平台公网搜索;情感=LLM 语义理解),让买家知道结论怎么来的。
- 抖音/快手/小红书必须登录才能抓(实测:WebSearch 索引不覆盖这三家,只能走已登录浏览器)。用户要在这些平台已登录,且浏览器装了 WorkBuddy 扩展、由 Agent 驱动抓取;未登录或抓不到 → 如实标「该平台无信号(未登录/受限)」,不得编造。
1. 输入(买家对话式,缺省用默认值)
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
| 监测词 | ✅(可多个,逗号分隔) | — | 要监控的品牌/公司/产品/政策/事件/人物/行业词 |
| 时间窗 | 否 | 近 30 天 + 截止到目前 | 如"近3天/近7天/近30天";默认含截止到当下(不设过去截止日) |
| 信息源 | 否 | 通用公网搜索 | 通用公网搜索(新闻/网页/百科,无需登录)+ 抖音 / 快手 / 小红书(需先登录,见 §2.1)。可指定,如"只看抖音+小红书" |
| 只看负面 | 否 | 否 | 只输出负面条目(用于负面监控) |
| 报告深度 | 否 | 摘要版 | 摘要版=汇总+Top 负面条目;详细版=全部条目展开 |
> 买家说"我要监控 XX 和 YY,只看负面,近 3 天,含抖音小红书" → 监测词=[XX,YY],只看负面=是,时间窗=近3天,信息源=通用+抖音+小红书。
2. 流程(纯 Prompt 编排,无脚本)
买家输入监测词
→ 逐词抓取,按信息源分两条通道(见 §2.1):
A) 通用公网搜索:WebSearch,freshness 按时间窗
B) 抖音/快手/小红书:已登录浏览器 + Agent 驱动,抓搜索结果
→ LLM 结构化每条:标题/来源/URL/时间/摘要原文
→ LLM 判情感(规则见 §3) + 提取事件要点
→ 汇总:情感分布(正面/中性/负面计数+占比) + 异常预警(规则见 §4)
→ 输出固定报告(模板见 references/示例报告.md)
注意:搜索是逐个词做,不要合并多个监测词成一个 query——合并会稀释每个词的信号、且无法区分是哪条属于哪个词。
2.1 信息源双通道(实测验证,重要)
| 通道 | 覆盖 | 抓取机制 | 登录要求 |
|---|---|---|---|
| A 通用公网搜索 | 新闻 / 网页 / 百科 / 论坛等 | WebSearch(平台内置服务端搜索索引) | 无需登录 |
| B 社交短视频平台 | 抖音 / 快手 / 小红书 | 已登录浏览器(QQ/Edge/Chrome + WorkBuddy 扩展),Agent 用浏览器 MCP 工具打开平台搜索页读结果 | 必须先登录 |
为什么分通道(实测结论,非猜测):
- WebSearch 索引不覆盖抖音/快手/小红书——实测域名限定 douyin.com/kuaishou.com/xiaohongshu.com 搜索「林州国宾府」返回 0 条;而这三家各自的站内搜索(已登录浏览器)都能抓到真实结果。所以这三家必须走浏览器通道,不能靠 WebSearch。
- 浏览器通道具体操作(Agent 执行):browsers_list 找已登录的浏览器 → 认领目标标签页 → 导航/搜索到平台站内搜索页(抖音用搜索框输入+回车走客户端路由,小红书用 search_result?keyword=,快手用 search/video?searchKey=)→ 读结果 DOM/截图。这些是 MCP 工具交互,不是脚本——符合"零脚本"承诺。
- 快手时间获取(实测发现):快手搜索结果卡片不带发布时间,只有作者+点赞;要拿时间必须点进视频详情页读相对时间(如「7个月前」)。近 30 天过滤时,快手条目需逐条点详情页确认时间;没点到的条目标「时间未标注(卡片无日期,需点详情页读取)」,不假装有时间。
- 登录态提醒(写入报告,用户须知):用户先在 QQ/Edge/Chrome 里登录抖音/快手/小红书,浏览器装好 WorkBuddy 扩展;未登录则抓不到。若某平台未登录/抓取受限 → 该平台标 「平台无信号(未登录/受限)」,如实记录,不编造、不假装有数据。
- 平台无信号 = 有效结果:某平台确实搜不到该词 → 记「该平台近期无公开提及」,不报错。
区分新闻 vs 非新闻数据页(重要,实测踩过):平台公网搜索返回的不只是新闻报道,还可能是工商档案 / 行情报价 / 财报数据 / 百科词条等数据页。识别方法:看是否构成"针对主体的事件/议题/舆情"(新闻类=媒体报道主体相关事件)还是"静态档案/数据"(工商信息、行情、财务指标、百科)。数据页判中性 + 标注"非新闻数据",不当作舆情事件误判、不过度判正面/负面(数据页里出现的"营收增长"属财务事实披露,非媒体利好事件)。
区分目标主体 vs 疑似非目标(同名/周边误匹配,重要,实测踩过):任意词通用会踩"同名/周边关联"的坑——搜索返回的结果,其内容主体未必是被监测词本身。例:搜"林州国宾府"返回"建业百城天地",只因它周边有"国宾府"公交站;楼盘/公交站/地名/公司简称同名率高。识别方法:看结果的内容主体是否真的指向被监测词(标题+摘要的核心对象 = 被监测词)。主体不是被监测词的 → 标 ⚠️ 疑似非目标(周边关联/同名),不当作该主体的舆情,情感仍可判但事件要点必须注明"疑似非目标"。
无舆情 = 有效结果(不是报错):小众词可能完全无新闻舆情(只有档案/数据页/周边关联)。此时输出 "近期无公开舆情事件"(并注明"仅检索到档案/数据页,无媒体报道事件"),不硬凑、不报错——"无舆情"本身是有效的监测结论。
3. 情感判定规则(核心 · 详细见 references/情感判定规则.md)
每条结果必须输出:
标题 / 来源 / URL / 时间 / 摘要原文
情感标签:正面✅ | 中性🟡 | 负面⚠️
置信度:高 | 中 | 低
支撑句:从摘要原文逐字引用的一句话(判定依据,禁编造)
事件要点:(可选) 一句话概括事件性质
判定原则(摘要):
- 判据 = 摘要原文的措辞,逐字读,不凭标题猜、不凭公司名印象判。
- 反讽/隐晦/语境负面:显式要求识别"看似中性、实为负面"的措辞(例:"带轮子的间谍""引发争议""被质疑"),这是词典法抓不到的核心能力。
- 置信度判定:能直接从原文措辞确定 → 高;措辞偏中性但语境偏负/正 → 中;原文被截断/措辞含糊 → 低(标"需人工复核")。
- 支撑句必须从摘要原文逐字引用,禁止改写、禁止概括、禁止凭记忆补。
4. 异常预警规则
- 负面聚集:负面占比 ≥ 30% 或 负面 ≥ 3 条 → ⚠️ 高亮"负面聚集,建议关注"。
- 重点事件:同一事件被 ≥ 2 个独立来源报道 → 标"重点事件"(多源印证)。
- 突发负面:单条负面且置信度=高 → 标"⚠️ 突发负面,建议立即关注"。
5. 输出(格式基准见 references/示例报告.md)
报告结构(固定,买家能读懂):
📡 舆情监测报告:<监测词>
数据来源:通用公网搜索(WebSearch) + <抖音/快手/小红书(已登录浏览器)> | 情感判定:LLM 语义理解 | 时间窗:近X天+截止到目前
信息来源明细:<列出实际抓到的来源,未登录/受限平台标"平台无信号">
─────────────────────
📊 汇总:总N条 · 正面X · 中性Y · 负面Z (负面占比P%)
🚨 异常预警:<负面聚集/重点事件/突发负面 或无>
─────────────────────
<每条,按负面优先排序>
⚠️ [标题] (来源 · 时间)
摘要:<原文摘要>
情感:负面 | 置信度:高 | 支撑句:"<原文逐字引用>" | 事件要点:<...>
6. 定时 / 后台运行(用户自配,skill 不内置)
- 本 skill 零脚本、点一下跑一次,不内置定时、不常驻、不开端口。
- 如需定时或后台:用 WorkBuddy 的自动化(automation)功能或系统定时器,到点触发本 skill 跑一次即可。例:配一个每天 09:00 的自动化,prompt 写"跑 yuqing-sentinel 监测 <你的词>"。
- skill 包里不含任何定时/常驻/网络轮询代码——这是它过审零风险的原因,也是买家使用时要自己配定时的代价(SKILL.md 已明确标注)。
7. 安装(一次,2 分钟)
把整个 yuqing-sentinel 文件夹原样拷到下面目录,不要只拷 SKILL.md:
| 系统 | 放这里 |
|---|---|
| Windows | C:\Users\<你的用户名>\.workbuddy\skills\yuqing-sentinel\ |
| macOS / Linux | ~/.workbuddy/skills/yuqing-sentinel/ |
或按 SkillHub 安装文档执行:skillhub install yuqing-sentinel --dir <skills 目录>。