Skip to content
Back to skills

Databrain Opinion Summary

ASecurity

通过 Databrain 生成指定游戏、时段的舆情 AI 总结报告,快速掌握玩家讨论的核心观点与口碑趋势。在用户需要「舆情总结」「口碑摘要」「玩家讨论总结」「AI 解读评论」「一段时间内的舆情报告」时使用;需先解析游戏名得到 game_id 与平台类型。

  • 279 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
developmentpythonbashgitapi

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add infometa/workbuddyskills --skill databrain-opinion-summary --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Databrain Opinion Summary?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Databrain Opinion Summary
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-databrain-opinion-summary/badge)](https://www.skillsdirectory.com/skills/infometa-databrain-opinion-summary)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: databrain-opinion-summary
version: 1.4.0
description: 通过 Databrain 生成指定游戏、时段的舆情 AI 总结报告,快速掌握玩家讨论的核心观点与口碑趋势。在用户需要「舆情总结」「口碑摘要」「玩家讨论总结」「AI 解读评论」「一段时间内的舆情报告」时使用;需先解析游戏名得到 game_id 与平台类型。
author: databrain-team
metadata: {"openclaw": {"requires": {"env": ["DATABRAIN_TOKEN"]}}}
---

# databrain-opinion-summary

## 快速开始

1. **解析意图** → 确认游戏名称、时间范围、报告语言(中/英)、可选渠道/语种过滤、摘要类型(默认 `basic`,约 1–5 分钟;用户明确要量化数据时用 `advanced`,可能长达 30 分钟,**启动前须向用户说明**)
2. **确认 game_id 与平台** → 若未知,在本 skill 下执行 [scripts/game_search.py](scripts/game_search.py) 查询 `game_id`(即 `unified_edition_id`)
   - `game_id` 以 **`u` 开头** → `--entity_type mobile`
   - **`e` 开头** → 一般为 `--entity_type pc`;若为主机版且与 PC 版区分配置,再选 `console`
3. **创建并拉取报告** → 执行 `scripts/get_opinion_summary.py`(`POST .../create_summary` → 轮询 `.../get_summary` 至 `task_status == success`);**建议传入 `--message` 用户原问题** 以便 operationLog 打点。`create_summary` **必须**带 `date_type`(脚本默认 `day`,适用于「单日 / 昨日」);跨多天时按需改用 `--date_type week|month|custom`
4. **呈现结果** → **将脚本 stdout 原文直接输出给用户,不要二次总结或改写**;报告正文由后端 AI 生成,已含话题分类、评论量、互动量及跳转链接,改写会丢失关键数据;需要结构化字段时加 `--json`

---

## 环境变量

| 变量名 | 必填 | 说明 |
|--------|------|--------|
| `DATABRAIN_TOKEN` | 是 | 认证 token;脚本中自动加 `Bearer `,不要带前缀写在命令行 |
| `DATABRAIN_HOST` | 否 | 显式 API 根 URL;不设则按 `databrain.intlgame.com` → `databrain.woa.com` → `databrain-global.intlgame.com` 尝试,与 `databrain-opinion-metrics` 一致 |
| `DATABRAIN_DISPLAY_HOST` | 视平台而定 | 若需拼系统链接,由平台注入 |

Token 获取可参考舆情指标 skill:内网 `https://databrain.woa.com/v2/user-center/personal-tokens-center`,外网 `https://databrain-global.intlgame.com/v2/user-center/personal-tokens-center`。

---

## Step 1:游戏 ID(本 skill 内 `game_search`)

在本 skill 根目录:

```bash
cd skills/databrain-opinion-summary

python scripts/game_search.py "游戏中文或英文名"
```

从 stdout 的 JSON 中取命中的 `game_id` 与 `entity_name` / `game_name`;**默认每个关键词只返回 Top1**,存在歧义时向用户确认。若存在 `error` 字段或 `game_id` 为 `null`,勿传入摘要脚本。

输出示例:

```json
{
  "games": [
    {
      "keyword": "某游戏",
      "game_id": "e76337e746e1f95fdbf7e23c26010e448",
      "entity_name": "Example Game"
    }
  ]
}
```

(实现与 `databrain-opinion-metrics/scripts/game_search.py` 一致,便于本 skill 自包含。)

---

## 摘要模式选择

> **选择原则**:默认走 `basic`,用户明确要求量化数据时才走 `advanced`,并提前告知等待时间。

| 模式 | 何时使用 | 内容 | 预计等待 |
|------|---------|------|---------|
| `basic`(**默认**) | 用户未特别说明时 | 正面 / 负面 / 中性话题摘要 + 可执行建议 | **约 1–5 分钟** |
| `advanced` | 用户**明确要求量化分析**时 | 在 basic 基础上,每条话题额外附带**评论量、互动量、点赞数**(如 `(357 Comments) [Engagement: 22714]`) | **可能长达 30 分钟**,视数据量而定 |

启动 `advanced` 前,**务必向用户说明可能需要较长时间等待**,避免误解任务卡住。

---

## Step 2:生成舆情摘要报告

```bash
cd skills/databrain-opinion-summary

python scripts/get_opinion_summary.py \
  --game_id e76337e746e1f95fdbf7e23c26010e448 \
  --entity_type pc \
  --start_date 2026-04-08 \
  --end_date 2026-04-08 \
  --date_type day \
  --message "用户原始问题" \
  --output_lang zh
```

常用可选参数:

| 参数 | 说明 |
|------|------|
| `--message` | 用户原始问题,用于 `operationLog` 埋点(**建议总是传入**) |
| `--date_type` | `create_summary` 必填粒度,默认 `day`(昨日/单日);多日范围可试 `week` / `month` / `custom` |
| `--language zh en` | 只分析指定语种评论 |
| `--channel twitter reddit steam` | 只分析指定社媒渠道 |
| `--top_n 10` | 各维度 Top N,默认 10 |
| `--output_lang en` | 报告输出语言;默认 `zh`,**欧美/全球游戏建议传 `en`** |
| `--task_type advanced` | 高级量化总结(含评论量、互动量等量化数据);用户明确要求时传入;可配合 `--prompt` 自定义 |
| `--json` | stdout 输出完整 `get_summary` 的 `data` JSON,便于解析 |

`id_type`(`unified_id` / `edition_id` / `unified_edition_id`)由脚本根据 `entity_type` 与 `game_id` 长度自动选择。

---

## 安全说明

`get_opinion_summary.py` 在执行摘要请求前校验:

1. `--game_id` 格式:`^[ue][0-9a-f]+$`
2. `--start_date` / `--end_date`:`YYYY-MM-DD`,且 `end_date >= start_date`
3. `DATABRAIN_HOST` 仅允许受信任域名(与 metrics / game_search 一致)
4. Token 仅通过环境变量注入,不接受命令行传入

---

## API 说明(脚本已实现)

| 步骤 | 方法 | 路径 |
|------|------|------|
| 创建任务 | POST | `/api/v1/opinion_pc/summary/advanced/create_summary` |
| 查询结果 | POST | `/api/v1/opinion_pc/summary/advanced/get_summary` |

请求体须包含 **`date_type`**(蛇形命名,如 `day`),**不要**使用 `DateType` 等错误字段名;缺省会导致 **HTTP 400**(校验提示 EditionUnifiedId / DateType 等,实为 JSON 字段未按约定绑定)。

创建成功返回 `task_id`;轮询直至 `task_status` 为 `success`,响应中含 `report_zh` / `report_en`。

---

## 依赖与本地开发

```bash
pip install -r requirements.txt
```

可在本 skill 根目录放置 `.env` 供本地调试(与 metrics skill 相同约定;服务端仍以环境变量为准)。

---

## 常见问题

| 现象 | 处理 |
|------|------|
| `DATABRAIN_TOKEN not set` | 注入 token |
| `Invalid game_id` | 使用 `game_search.py` 重新查询,确保为 `u`/`e` 开头的 hex |
| `Invalid --start_date` / `--end_date` | 使用 `YYYY-MM-DD` |
| `game_search` 返回 `game_id: null` | 换关键词或确认游戏是否收录 |
| `create_summary` 全域名 **HTTP 400**、提示 DateType / edition 相关 | 确认 payload 含 **`date_type`**(默认脚本已传);字段名须为 snake_case,勿用驼峰 `DateType` |
| 多域名均 create 失败(非 400) | 检查网络、token 权限、游戏是否在舆情侧可查 |
| 长时间 `task_status` 非 success | `basic` 正常 1–5 分钟,`advanced` 可达 30 分钟;脚本最长等待约 7200s;属正常现象,请等待 |
| `task_status` 为 `failed` / `error` | 队列或生成失败;可稍后重试(advanced 失败可降级为默认 basic 重试) |
| 正文为空 | 尝试 `--json` 查看原始字段;或切换 `--output_lang` |

---

## 打包与分发(清单)

独立分发本 skill 时建议包含:

- `SKILL.md`、`requirements.txt`、`.gitignore`(可选)
- `scripts/get_opinion_summary.py`、`scripts/game_search.py`、`scripts/report_log.py`

运行要求:**Python 3.9+**(脚本使用内置类型注解语法)。安装依赖:`pip install -r requirements.txt`。**勿**将含 `DATABRAIN_TOKEN` 的 `.env` 打入制品。

工作目录:必须在 skill 根目录执行 `python scripts/...`,以便 `get_opinion_summary` 与同目录下的 `report_log` 可互相 import。

「相关资源」中指向仓库内其他 skill 的链接在**仅拷贝本目录**时可能失效,属可选参考,不影响本包内脚本运行。

---

## 相关资源

- 摘要脚本 → [scripts/get_opinion_summary.py](scripts/get_opinion_summary.py)
- 游戏 ID 查询 → [scripts/game_search.py](scripts/game_search.py)
- 打点(内嵌,Agent 无感知) → [scripts/report_log.py](scripts/report_log.py)
- 同类设计参考 → [../databrain-opinion-metrics/SKILL.md](../databrain-opinion-metrics/SKILL.md)
- 原始实现参考(同 API)→ [../opinion-query-slow/scripts/get_opinion_report.py](../opinion-query-slow/scripts/get_opinion_report.py)

Files in this skill

  • .gitignore30 B
  • SKILL.md8.4 KB
  • requirements.txt14 B
  • scripts/game_search.py5.9 KB
  • scripts/get_opinion_summary.py13.5 KB
  • scripts/report_log.py8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…