mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-09-05 17:03:49 +08:00
feat(skills): add 6 due-diligence data-source skills (#111)
## Summary
Adds six enterprise due-diligence data-source skills as local built-in
skills (SKILL.md + SKILL.zh-CN.md + catalog-metadata sidecar), per
ADR-038.
| Skill | Category | Risk | Source |
|---|---|---|---|
| baidu-poi-search | data | low | Baidu Map Place API (REST) |
| tianyancha-risk | business | low | Tianyancha risk API (REST) |
| ccgp-gov-procurement | business | medium | ccgp.gov.cn (WebBridge) |
| cnipa-patent-search | business | medium | CNIPA pss-system (WebBridge)
|
| creditchina-query | business | high | creditchina.gov.cn (WebBridge +
ddddocr) |
| multi-source-sentiment | research | medium | Douyin Index/Featured +
WebSearch |
## Changes
- 6 x skills/<id>/{SKILL.md, SKILL.zh-CN.md, catalog-metadata.v1.json}
- builtin-skills.json: 34 -> 40
- manifest.json: totalSkills 63 -> 69
- README.md counts + list
## Security
- Credentials replaced with env-var placeholders (BAIDU_MAP_AK,
TIANYANCHA_TOKEN); verified no secrets in diff
## Validation
- validate-i18n.py: 0 errors (remaining warnings pre-existing repo-wide)
- zh/en heading parity verified; source_hash computed per repo algorithm
Co-authored-by: yi-ge <yi-ge@desirecore.net>
This commit is contained in:
193
skills/multi-source-sentiment/SKILL.zh-CN.md
Normal file
193
skills/multi-source-sentiment/SKILL.zh-CN.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# 企业尽调舆情采集
|
||||
|
||||
## L0
|
||||
|
||||
输入企业名称,通过抖音指数(热度趋势)+ 抖音精选(负面素材)+ WebSearch(全网新闻)三渠道采集舆情,输出尽调舆情报告(负面风险清单/正面亮点/情感概览/综合判断)。
|
||||
|
||||
## L1 概述
|
||||
|
||||
- **目的**:回答尽调核心问题——有没有负面舆情?有没有诉讼/处罚报道?产品质量有没有问题?高管有没有负面?舆论形象如何?
|
||||
- **三渠道分工**:
|
||||
|
||||
| 渠道 | 尽调用途 | 采集方式 |
|
||||
|---|---|---|
|
||||
| **抖音指数** | 舆论热度量化(时间序列,看是否近期发酵) | Kimi WebBridge 访问巨量算数 |
|
||||
| **抖音精选** | 具体负面内容素材(投诉视频/维权曝光/质量吐槽) | Kimi WebBridge 搜索抖音 |
|
||||
| **WebSearch** | 全网负面新闻/法院公告/监管处罚/消费者投诉 | DesireCore 内置 WebSearch |
|
||||
|
||||
- **前置依赖**:Kimi WebBridge daemon 运行中(`127.0.0.1:10086`)+ 浏览器扩展已连接
|
||||
|
||||
## L2 详细操作
|
||||
|
||||
### 数据源一:抖音指数(企业名热度趋势)
|
||||
|
||||
#### 访问方式
|
||||
|
||||
```
|
||||
URL: https://trendinsight.oceanengine.com/arithmetic-index/analysis/keyword?keyword={企业简称}&appName=aweme
|
||||
方法: Kimi WebBridge 浏览器自动访问页面并提取内容
|
||||
注意: URL 参数化访问,不触发验证码。不要尝试在搜索框输入文字。
|
||||
```
|
||||
|
||||
#### 尽调关键词策略
|
||||
|
||||
| 尽调维度 | 搜索关键词 |
|
||||
|---|---|
|
||||
| 舆论整体热度 | `{企业简称}` |
|
||||
| 负面热度 | `{企业简称} 负面` |
|
||||
| 投诉热度 | `{企业简称} 投诉` |
|
||||
|
||||
#### 尽调判断要点
|
||||
|
||||
- **热度骤升**:近期热度陡增(环比 >200%)→ 可能存在负面事件发酵,需重点排查
|
||||
- **热度平稳**:无异常波动 → 舆论风险较低
|
||||
- **长期高热**:知名企业的常态,需结合内容素材判断正负
|
||||
|
||||
### 数据源二:抖音精选(负面内容素材)
|
||||
|
||||
#### 访问方式
|
||||
|
||||
```
|
||||
URL: https://www.douyin.com/search/{企业简称}?type=video
|
||||
方法: Kimi WebBridge 搜索抖音,提取视频标题/作者/点赞数/评论数
|
||||
注意: 用企业简称搜索(全名命中率低);优先看点赞/评论高的视频(传播广=影响大)。
|
||||
```
|
||||
|
||||
#### 尽调采集字段
|
||||
|
||||
- 视频标题(判断是否负面:投诉/维权/曝光/质量/欺骗/跑路)
|
||||
- 点赞数 / 评论数(传播广度 = 负面影响程度)
|
||||
- 作者昵称(个人吐槽 vs 媒体报道 vs 竞品抹黑)
|
||||
- 发布时间(近期 vs 历史)
|
||||
|
||||
#### 负面视频筛选标准
|
||||
|
||||
| 信号词 | 风险等级 |
|
||||
|---|---|
|
||||
| 投诉 / 维权 / 欺骗 / 诈骗 / 跑路 | 🔴 高 |
|
||||
| 质量 / 召回 / 不合格 / 假货 | 🔴 高 |
|
||||
| 欠薪 / 辞退 / 仲裁 | 🟡 中 |
|
||||
| 吐槽 / 差评 / 不满 | 🟡 中 |
|
||||
| 正面宣传 / 获奖 / 创新 | 🟢 正面 |
|
||||
|
||||
### 数据源三:WebSearch(全网尽调舆情)
|
||||
|
||||
#### 搜索关键词组合(按尽调维度)
|
||||
|
||||
```python
|
||||
# 高优先级(必查)
|
||||
search_queries_high = [
|
||||
"{企业名} 负面 OR 投诉 OR 维权 OR 欺骗 OR 跑路",
|
||||
"{企业名} 起诉 OR 法院 OR 被告 OR 被执行 OR 失信",
|
||||
"{企业名} 处罚 OR 违规 OR 罚款 OR 整改 OR 通报批评",
|
||||
]
|
||||
|
||||
# 中优先级(建议查)
|
||||
search_queries_mid = [
|
||||
"{企业名} 质量 OR 召回 OR 不合格 OR 安全事故",
|
||||
"{企业名} 老板 OR 法人 OR 总经理 丑闻 OR 被查 OR 被抓",
|
||||
"{企业名} 欠薪 OR 辞退 OR 劳动仲裁 OR 工伤",
|
||||
]
|
||||
|
||||
# 低优先级(正面对照)
|
||||
search_queries_low = [
|
||||
"{企业名} 获奖 OR 创新 OR 认定 OR 排名",
|
||||
]
|
||||
```
|
||||
|
||||
#### 采集字段
|
||||
|
||||
- 新闻标题 / 来源网站 / 发布时间 / 摘要 / 原文链接
|
||||
- **注意**:区分企业作为**原告**(维权,非负面信号)vs **被告**(被诉,负面信号)
|
||||
|
||||
### Step 1:三渠道采集执行
|
||||
|
||||
1. **WebSearch 尽调搜索**(先执行,信息量最大):按高/中/低优先级逐组搜索,收集新闻标题+来源+日期+摘要
|
||||
2. **抖音指数热度**:访问巨量算数查企业简称热度趋势,判断是否近期发酵
|
||||
3. **抖音精选内容**:搜索抖音视频,按负面信号词筛选高互动视频
|
||||
|
||||
### Step 2:LLM 后处理(情感分析 + 风险分级)
|
||||
|
||||
对采集到的原始内容执行:
|
||||
|
||||
| 分析步骤 | 说明 |
|
||||
|---|---|
|
||||
| **情感分类** | 每条标注:正面 / 中性 / 负面 |
|
||||
| **风险分级** | 负面内容分:高(诉讼被告/处罚/跑路/安全事故)/ 中(投诉/质量吐槽/劳资)/ 低(一般差评) |
|
||||
| **事件归并** | 同一事件的多条报道归并为一条(以最早报道为准) |
|
||||
| **原被告区分** | 企业作为原告的维权诉讼**不是**负面风险信号 |
|
||||
| **时效判断** | 近 3 个月的负面标记"近期",更早的标记"历史" |
|
||||
|
||||
### Step 3:输出尽调舆情报告
|
||||
|
||||
```json
|
||||
{
|
||||
"query_status": "success",
|
||||
"source": "multi-source-sentiment",
|
||||
"company_name": "{企业名}",
|
||||
"sentiment_overview": {
|
||||
"overall_assessment": "正面 | 中性偏正 | 中性 | 中性偏负 | 负面 | 高风险",
|
||||
"negative_ratio": "15%",
|
||||
"neutral_ratio": "60%",
|
||||
"positive_ratio": "25%",
|
||||
"trend": "稳定 | 近期发酵 | 持续负面"
|
||||
},
|
||||
"negative_risks": [
|
||||
{
|
||||
"risk_type": "诉讼报道(被告) | 行政处罚 | 产品质量 | 高管负面 | 劳资纠纷 | 消费者投诉 | 经营异常",
|
||||
"event_title": "……",
|
||||
"event_date": "YYYY-MM-DD",
|
||||
"recency": "近期 | 历史",
|
||||
"source_url": "https://……",
|
||||
"severity": "高 | 中 | 低",
|
||||
"summary": "1-2 句事件摘要"
|
||||
}
|
||||
],
|
||||
"controversies": [
|
||||
{
|
||||
"event_title": "……",
|
||||
"description": "争议双方与焦点",
|
||||
"status": "发酵中 | 已平息 | 官方已回应"
|
||||
}
|
||||
],
|
||||
"positive_highlights": [
|
||||
"获奖/创新/贡献等正面事件(一句话)"
|
||||
],
|
||||
"sentiment_summary": "3-5 句舆情综合判断:整体舆论形象、主要负面及严重程度、是否近期发酵、尽调建议",
|
||||
"data_sources_used": ["websearch", "douyin-index", "douyin-featured"],
|
||||
"collection_time": "ISO8601"
|
||||
}
|
||||
```
|
||||
|
||||
## 质量标准
|
||||
|
||||
- **数据真实性**:所有舆情内容必须来自实际采集(WebSearch 结果 / 抖音页面),绝不编造
|
||||
- **来源可溯**:每条负面风险必须附 source_url
|
||||
- **原被告区分**:企业作为原告的诉讼报道不列入负面风险(单独归类为"涉诉动态")
|
||||
- **时效标注**:每条负面标注"近期"(3 个月内)或"历史"
|
||||
- **不做绝对结论**:舆情是辅助信号,报告末尾注明"舆情仅为尽调参考维度之一,需结合工商/司法/财务数据综合判断"
|
||||
|
||||
## 错误处理
|
||||
|
||||
| 场景 | 处理方式 |
|
||||
|---|---|
|
||||
| 抖音指数页面无法访问 | 跳过该源,用 WebSearch + 抖音精选补充,报告中注明"热度数据缺失" |
|
||||
| 抖音搜索需登录 | 跳过该源,WebSearch 补充搜索 `{企业名} 抖音 负面` |
|
||||
| WebSearch 无结果 | 该维度标注"未检索到相关负面",属正面信号 |
|
||||
| 负面信息量极大 | 只取前 10 条高严重度条目,其余归入计数 |
|
||||
|
||||
## 已知限制
|
||||
|
||||
- **非实时**:依赖搜索引擎收录与抖音页面展示,存在小时级~天级延迟(非 7×24 实时监测——持续监测需商业舆情 API)
|
||||
- **情感分析靠 LLM**:无专用情感模型,由 LLM 后处理推断(准确率约 85-90%,边界案例可能误判)
|
||||
- **抖音覆盖**:微信公众号/微博/小红书等平台内容仅能通过 WebSearch 间接覆盖(非全平台直达)
|
||||
- **企业全名 vs 简称**:WebSearch 用全名(精确),抖音用简称(命中率);两者结果可能有差异
|
||||
|
||||
## 故障排查
|
||||
|
||||
| 问题 | 原因 | 处理 |
|
||||
|---|---|---|
|
||||
| WebBridge daemon 不可达 | daemon 未运行 | `~/.kimi-webbridge/bin/kimi-webbridge.exe start` |
|
||||
| 巨量算数页面空白 | JS 渲染未完成 | 等 5 秒后 evaluate 读 innerText |
|
||||
| 抖音搜索页无结果 | 需登录 / 简称不匹配 | 跳过,WebSearch 补充 |
|
||||
| WebSearch 结果全是正面 | 负面词组合不当 | 换用具体负面词(如"被处罚"而非"处罚") |
|
||||
Reference in New Issue
Block a user