← 返回
未分类

智眼同业

【同业营销情报结构化标注 skill】从同业(公募基金 / 资管 / 银行理财)监控清单(公众号 / 视频号 / 微博 / 小红书 / 官网 / 财经媒体 RSS)抓取 → 按受控词表打标签(事件类型、情感、营销策略、关联产品、风险等级、紧急度)→ 生成带 chip 标签的群聊卡片 → 同步做批量汇报(机构活跃度、策略频次、合规关注、关键洞察)。**纯流式、不落盘**:一次扫描的数据只在内存里处理, 输出到群就结束, 不写任何文件。**纯命令触发、无定时任务**:用户在群里说"扫一下同业"、"更新同业动态"、"本周同业"等命令, agent 按 watchlist.json 拉取最新内容并处理。触发关键词:同业监控、监测竞品、扫一下同业、扫同业、更新同业动态、本周同业、今天同业、同业最近动态、对一下 watchlist、拉一下清单。不要用于:单条链接的临时打标、用户随手分享链接、外部系统推送、需要持久化/历史查询的场景(那些不是本 skill 的使用场景)。这是从"裸推链接"升级为"带标签卡片+即时汇报"的关键环节,不要跳过。
【同业营销情报结构化标注 skill】从同业(公募基金 / 资管 / 银行理财)监控清单(公众号 / 视频号 / 微博 / 小红书 / 官网 / 财经媒体 RSS)抓取 → 按受控词表打标签(事件类型、情感、营销策略、关联产品、风险等级、紧急度)→ 生成带 chip 标签的群聊卡片 → 同步做批量汇报(机构活跃度、策略频次、合规关注、关键洞察)。**纯流式、不落盘**:一次扫描的数据只在内存里处理, 输出到群就结束, 不写任何文件。**纯命令触发、无定时任务**:用户在群里说"扫一下同业"、"更新同业动态"、"本周同业"等命令, agent 按 watchlist.json 拉取最新内容并处理。触发关键词:同业监控、监测竞品、扫一下同业、扫同业、更新同业动态、本周同业、今天同业、同业最近动态、对一下 watchlist、拉一下清单。不要用于:单条链接的临时打标、用户随手分享链接、外部系统推送、需要持久化/历史查询的场景(那些不是本 skill 的使用场景)。这是从"裸推链接"升级为"带标签卡片+即时汇报"的关键环节,不要跳过。
S帕容欧威
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 90
下载
💾 0
安装
1
版本
#latest

概述

🎯 Marketing Intel Extractor

参考招商基金用 AI 对新媒体做"事件+情感+风险"标注的思路,把它从舆情风控迁移到同业营销监控全流程零持久化 —— 一次扫描的数据只在内存里处理, 卡片直接输出到群, 汇报在本次扫描的内存记录上聚合, 结束后不留任何痕迹。

✨ 新增功能(v2.0)

  • 📝 Prompt 模板 (references/prompt_template.md):完整的结构化标注模板,包含 17 个字段定义和示例
  • 🚀 快速启动脚本 (scripts/init.py):交互式生成 watchlist.json,新手友好
  • 🔍 健康检查 (--check):检查 RSS 源可用性,提前发现问题
  • 👁️ 本地预览 (--preview):终端预览抓取内容,无需推送
  • 📊 HTML 报告 (--report):生成美观的可视化报告
  • 🎨 Emoji 增强:所有输出都带丰富的 emoji 图标,更生动直观

✨ 新增功能(v2.1)

  • 🔄 智能增量更新 (--incremental):基于 envelope_hash 实现去重,仅返回新增内容
  • 💾 持久化缓存 (--cache):支持文件级缓存,跨会话保持增量状态
  • 🔍 关键词订阅过滤 (--subscriptions):支持按关键词、作者、事件类型、策略进行精准过滤
  • 📋 订阅配置文件 (assets/subscriptions.json):灵活配置多个订阅规则和全局过滤条件

🚀 快速开始

# 1️⃣ 安装依赖
pip install feedparser

# 2️⃣ 初始化配置(交互式)
python scripts/init.py

# 3️⃣ 健康检查
python scripts/fetch.py --watchlist assets/watchlist.json --check

# 4️⃣ 运行扫描
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1

# 5️⃣ 本地预览效果
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1 --preview

# 6️⃣ 生成 HTML 报告
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 7 --report

# 7️⃣ 🔄 增量扫描(仅返回新增内容)
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1 --incremental

# 8️⃣ 🔄 增量扫描(带持久化缓存)
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1 --incremental --cache .cache/hashes.json

# 9️⃣ 🔍 应用订阅过滤处理
python scripts/process.py --input record.json --channel markdown --subscriptions assets/subscriptions.json

# 🔟 🔍 指定特定订阅规则
python scripts/process.py --input record.json --channel markdown --subscriptions assets/subscriptions.json --subscription-id equity_focus

🎤 触发方式

本 skill 只接受一种触发方式:用户在群里说出命令,agent 按 watchlist.json 批量扫同业。没有定时任务、没有单 URL 手抓、没有外部 webhook 推送。

触发词 → --since-days 参数映射:

触发词(任一匹配即可)默认 --since-days
------
"扫一下同业"、"扫同业"、"更新同业动态"、"对一下 watchlist"、"拉一下清单"1
"本周同业"、"这周同业发了什么"、"看看这周同业"7
"今天同业"、"今天同业有啥"1
只说"同业监控"、"监测竞品" 没有时间跨度1(兜底)

不在触发范围的请求(agent 应拒绝或说明):

  • "看看这条 https://..."(单链接打标不走本 skill)
  • 用户粘贴一段文本让打标(本 skill 只处理从 watchlist 抓来的内容)
  • 任何需要定时运行的需求(本 skill 不支持定时)

🔧 核心流程(用户每次说触发词走一遍)

用户说 "扫一下同业"
    ↓
scripts/fetch.py --watchlist ... --since-days 1  →  envelope JSONL 流 (每行一条, 仅 stdout)
    ↓  LLM 对每条 envelope 按 references/reference.md §1-§2 做结构化抽取 (内存里)
17 字段 JSON 记录 (内存里)
    ↓  scripts/process.py (纯 pass-through, 不写文件)
validate → render card → stdout 给群
    ↓  所有 card 产出后, agent 在内存里对本批 record 做聚合
本次扫描汇报 (机构活跃度、策略频次、合规关注、关键洞察) → 输出到群

只有 2 个脚本, 都不写任何文件

# Step 1: 抓取 (产出 envelope JSONL 到 stdout, 无文件写入)
python3 scripts/fetch.py --watchlist <path> --since-days 1

# Step 2: 对每行 envelope, LLM 结构化抽取后调 scripts/process.py
#   agent 的伪代码 loop:
#   records = []
#   for envelope in fetch_output:
#       record = llm_extract(envelope)         # 在内存
#       card = scripts/process.py(record, --channel lark)  # stdout 拿到, 推到群
#       records.append(record)                 # 留在内存做汇报
#
#   summary = aggregate(records)               # 机构/策略/风险 聚合
#   push_to_group(summary)
echo '<record-json>' | python3 scripts/process.py --channel lark

扫描结束后 agent 要做的最后一步:对刚才 records[] 做内存聚合,产出一份"本次扫描汇报"推到群里:

  • 🏢 机构活跃度(source.author 的 Counter)
  • 🏷️ 策略标签频次(marketing_strategy 各 value 的 Counter)
  • ⚠️ 合规关注清单(risk_level != "low" 的记录)
  • 💡 关键洞察汇总(各记录的 competitive_insight
  • ➤ 建议行动项(各记录的 action_suggestion

不要持久化这些 records。扫描结束即丢弃。 下次用户再说"扫一下同业" 时, 一切从零开始。

📝 抽取要点(详见 references/reference.md §2)

  • 打标前必读 references/reference.md 的 §1 标签词表和 §2 字段定义
  • event_type 单选,回答"内容是什么";marketing_strategy 多选,标"打法特征"
  • related_products:只抽明确提到的产品,没提就留空数组
  • sentiment:发布方的基调,不是你的主观评价
  • risk_level:保守估计,大部分营销稿是 low;只在有明确合规瑕疵 / 业绩排名敏感表述 / 舆情爆发时才 medium/high
  • published_at 缺失:用 crawled_at 顶替并在 notes 标注

🎨 输出卡片在群里长什么样(增强版)

────────────────────────────────────────────────────────────────────────────

### 🎤 【经理观点】**招商基金**

📅 **发布时间**: 2026-05-13

> 招商基金王某某在招行App直播路演二季度策略, 3.2万人在线, 导流企微社群

🏷️ **标签**:
`🎤 经理观点` `🎓 专家型` `🌐 渠道渗透` `👥 私域社群`

┌─────────────────────────────────────────────────────┐
│ 📍 **来源**: 💬 招商基金 · 微信公众号
│ 😊 **情感**: 😊 正面(0.70)
│ 🚨 **紧急度**: 🟡 关注
│ ⚠️ **风险等级**: 🟢 低
└─────────────────────────────────────────────────────┘

📦 **关联产品**: 招商核心竞争力混合A、招商成长精选混合

👥 **涉及主体**:
   👤 人物: 王某某
   🏢 机构: 招商基金、招商银行

💡 **竞争洞察**:
   延续'经理IP+银行渠道+私域导流'三段式, 路演转社群是高价值钩子

➤ **建议动作**:
   市场部评估是否复制'招行App直播→企微社群'的承接链路

🔗 [查看原文 →]

────────────────────────────────────────────────────────────────────────────

📊 本次扫描汇报(增强版)

卡片全部产出后, agent 把本批 records 在内存里做聚合, 再推一条汇总消息到群。示例:

======================================================================

📊 【同业营销情报扫描汇报】
⏰ 报告时间: 2026-05-13 10:30

┌─────────────────────────────────────────────────────────┐
│ 📄 扫描内容: 5 条              🏢 涉及机构: 5 家
│ 📦 关联产品: 8 只            📡 渠道类型: 3 种
│ ⚠️ 风险预警: 0 条         🔍 有效洞察: 5 条
└─────────────────────────────────────────────────────────┘

🏆 **机构活跃度排行**
─────────────────────────────────────────────────────────
  🥇 华夏基金: ████████████████████ 3 条
  🥈 招商基金: ██████████████      2 条
  🎯 易方达基金: █████████        2 条

📈 **事件类型分布**
─────────────────────────────────────────────────────────
  📈 业绩宣传: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 3
  🤝 渠道合作: ▓▓▓▓▓▓▓▓▓▓        2
  ✨ 品牌活动: ▓▓▓▓▓▓▓▓▓▓        2

🔥 **营销策略热度**
─────────────────────────────────────────────────────────
  🌐 渠道渗透: ●●●●●●●●●●●●●●● 5
  📊 业绩驱动: ●●●●●●●●●●●●      4
  💡 投教价值观: ●●●●●●●●●●●●    4

😊 **情感分布**
─────────────────────────────────────────────────────────
  😊 正面: ▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮ 3 (60%)
  😐 中性: ▮▮▮▮▮▮▮▮          2 (40%)

💡 **关键洞察汇总**
─────────────────────────────────────────────────────────
  1. 华夏密集发布ETF流动性服务商公告, 配合新ETF上市做流动性铺垫
  2. 上证4200点反弹带动权益基金业绩回升, 同业或将借势加大营销
  3. 招商以'养老有招'品牌绑定养老赛道, APP+养老矩阵长期布局

🎯 **建议行动项**
─────────────────────────────────────────────────────────
  1. 关注华夏粮食ETF上市后的规模和流动性表现
  2. 市场部评估是否借反弹窗口加大权益产品推广
  3. 品牌部评估我方养老品牌差异化定位

======================================================================

💬 如需查看详细内容,请说「扫一下同业」获取完整卡片
🎯 如需生成 HTML 报告,请使用 --report 参数

这份汇报也只在当前消息里输出, 不写文件。如果用户过一会儿问"上次扫描的结果?", 让他重新触发一次即可。这是设计约定 —— skill 本身不负责历史追溯。

🔍 常见陷阱

  • ⚠️ event_type 单选不多选,选最主要那个
  • ⚠️ 机构名(招商基金/易方达)写 entities.institutions,不要写 related_products.name
  • ⚠️ sentiment 是营销方基调,不是市场反应
  • ⚠️ risk_level 保守估计,营销监控目的是发现异常不是制造噪音
  • ⚠️ 输出是一个 JSON 对象,不是数组、不是带 Markdown 围栏的文本;多条分别处理

📁 文件结构

marketing-intel-extractor/
├── SKILL.md                         # 📘 本文件
├── assets/
│   └── watchlist.json               # 📋 监控清单示例 (6 家公募 + 3 家媒体)
├── references/
│   ├── reference.md                 # 📚 taxonomy / schema / 10 组示例 / watchlist 格式说明
│   └── prompt_template.md           # 📝 LLM 结构化抽取 Prompt 模板(17 字段完整定义)
└── scripts/
    ├── init.py                      # 🚀 快速启动脚本(交互式生成配置)
    ├── fetch.py                     # 🔍 抓取 (支持 --check / --preview / --report)
    └── process.py                   # 🎨 validate + render (带 emoji 增强)

遵循 AgentSkills 标准目录约定 (SKILL.md + assets/ + references/ + scripts/)。

🛠️ 命令行工具详解

🚀 init.py - 快速启动

python scripts/init.py

交互式引导生成 watchlist.json

  • 🏦 选择要监控的同业机构(10 家预设)
  • 📰 选择要监控的财经媒体(5 家预设)
  • 💾 自动配置 RSSHub 地址
  • ✅ 验证生成的配置

🔍 fetch.py - 抓取工具

# 🎯 标准抓取
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1

# 🔍 健康检查(检查 RSS 源可用性)
python scripts/fetch.py --watchlist assets/watchlist.json --check

# 👁️ 本地预览(终端显示效果)
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 1 --preview

# 📊 生成 HTML 报告
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 7 --report
python scripts/fetch.py --watchlist assets/watchlist.json --since-days 7 --report --output my_report.html

🎨 process.py - 处理渲染

# 🔄 从 stdin 读取并渲染
python scripts/process.py --channel markdown

# 📄 从文件读取
python scripts/process.py --input record.json --channel lark

# 👁️ 渲染示例(测试用)
python scripts/process.py --demo --channel markdown

# 📊 渲染汇总报告
python scripts/process.py --summary --input records.jsonl --channel markdown

🎨 Emoji 图例

类别Emoji含义
-------------------
事件类型🆕新基金发行
👔经理变更
🎤经理观点
🎉营销活动
💰产品优惠
📈业绩宣传
🏆荣誉获得
🤝渠道合作
📚投教内容
品牌活动
📢渠道推广
⚠️舆情事件
⚖️监管合规
营销策略🎓专家型
📊业绩驱动
🌐渠道渗透
💡投教价值观
🎨品牌叙事
🎁活动促销
👥私域社群
🎭跨界联名
情感😊正面
😐中性
😟负面
风险等级🟢
🟡
🔴
紧急度归档(1)
🟢日常(2)
🔵关注(3)
🟡重点(4)
🔴紧急(5)
🚨告警(6)
渠道💬微信公众号
📹视频号
🎵抖音
📕小红书
📱微博
📰财经媒体
🌐官网
🔴直播

🚀 开始你的同业监控之旅吧!

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-18 18:03 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

business-ops

Trello

steipete
使用 Trello REST API 管理看板、列表和卡片
★ 162 📥 41,316
business-ops

Discord

steipete
当需要通过discord工具控制Discord时使用:发送消息、添加反应、发布或上传表情包、上传表情、创建投票、管理帖子/置顶/搜索、获取权限或成员/角色/频道信息,或在Discord私信或频道中处理管理操作。
★ 79 📥 38,077
business-ops

Stripe

byungkyu
Stripe API 集成,支持托管 OAuth,实现对客户、订阅、发票、产品、价格和支付的可写金融集成。
★ 27 📥 26,058