jiucai-capture
SKILL.md
A股主题跟踪(韭菜公社数据源)
从韭菜公社(jiuyangongshe.com)实时抓取 A 股市场数据,通过 Gemini AI 结构化提取股票、主题、投资逻辑,帮助用户快速掌握市场动态。
首次安装
cd {skillDir} && uv sync && uv run playwright install chromium
环境要求
API Key 存储在 {skillDir}/.env。所有抓取命令统一使用以下前缀:
cd {skillDir} && source .env && export GEMINI_API_KEY
数据获取策略(先查库,再抓取)
核心原则:不要每次都去网站抓取。优先查数据库。
- 默认行为 — 先查数据库(
data/themes.db),直接使用scripts/query_*.py查询 - 触发抓取的条件(满足任一即可):
- 用户明确说"最新"、"帮我抓"、"更新一下"、"去网站看看"
- 数据库中没有当天的数据(查询结果为空)
- 判断数据库是否有当天数据:
cd {skillDir} && uv run python -c " import sqlite3; conn = sqlite3.connect('data/themes.db') cur = conn.cursor() cur.execute(\"SELECT COUNT(*), GROUP_CONCAT(DISTINCT source) FROM articles WHERE publish_date = date('now', 'localtime')\") count, sources = cur.fetchone() print(f'今日数据: {count} 条, 来源: {sources or \"无\"}') " - 如果需要抓取,再执行对应场景的 fetch 命令
意图识别与任务路由
根据用户的自然语言提问,判断属于以下哪种场景,然后执行对应的操作流程。 注意:每个场景的"抓取"步骤仅在需要时执行(见上方数据获取策略)。
场景 1:市场热点 / 产业链关注度
触发词:市场热点、热门板块、产业链、关注度最高、当前什么主题火
操作流程:
- 抓取最新产业链数据:
cd {skillDir} && source .env && export GEMINI_API_KEY && uv run python -m a_stock_watcher.cli fetch --source industry_chain - 查询产业链排名 + 关联股票:
cd {skillDir} && uv run python scripts/query_industry_chain.py - 汇报格式:按排名列出产业链名称、热度标记、核心逻辑、关联股票
场景 2:异动板块
触发词:有什么异动、异动板块、涨停分析、今天异动、板块异动
操作流程:
- 抓取最新异动数据:
cd {skillDir} && source .env && export GEMINI_API_KEY && uv run python -m a_stock_watcher.cli fetch --source action - 查询异动板块(按日期分组):
cd {skillDir} && uv run python scripts/query_action.py - 汇报格式:按日期分组,列出每天的异动板块标题、涉及个股、解析文字
场景 3:最新段子 / 市场资讯
触发词:最新段子、最新市场、有什么新的、看看韭菜公社、市场怎么样、最近有什么
操作流程:
- 拉取 5 页最新内容:
cd {skillDir} && source .env && export GEMINI_API_KEY && uv run python -m a_stock_watcher.cli fetch --source study_hot注意:此命令需启动 Playwright 浏览器逐篇渲染,耗时约 5-15 分钟。请提前告知用户需要等待。
- 查询近2天段子 + 主题热度统计:
cd {skillDir} && uv run python scripts/query_latest.py - 汇报格式:
- 先列出近2天的文章标题、投资逻辑、关联股票
- 最后附上 Top 10 主题热度统计
- 用自然语言总结市场情绪和热点方向
场景 4:查询特定股票 / 主题
触发词:XX 股票怎么样、关于 XX 的文章、XX 主题有哪些股票
操作流程(无需抓取,直接查数据库):
cd {skillDir} && uv run python scripts/query_stock.py <股票名称或代码>
示例:
uv run python scripts/query_stock.py 贵州茅台
uv run python scripts/query_stock.py 600519
场景 5:查看数据库统计
触发词:数据库状态、有多少数据、统计信息
cd {skillDir} && source .env && export GEMINI_API_KEY && uv run python -m a_stock_watcher.cli stats
脚本清单
| 脚本 | 用途 | 需要抓取? |
|---|---|---|
scripts/query_industry_chain.py |
产业链排名 + 关联股票 | 先 fetch industry_chain |
scripts/query_action.py |
异动板块(按日期分组) | 先 fetch action |
scripts/query_latest.py |
近2天段子 + 主题热度 | 先 fetch study_hot |
scripts/query_stock.py <关键词> |
按股票名/代码查文章 | 否(直接查库) |
数据库结构
位置:{skillDir}/data/themes.db(SQLite)
| 表名 | 关键字段 | 用途 |
|---|---|---|
articles |
id, source, title, content, publish_date, logic_summary, relevance | 文章主表 |
stocks |
id, code, name | 股票实体(去重) |
themes |
id, name, category | 主题实体(去重) |
article_stocks |
article_id, stock_id, context, logic | 文章↔股票关联 |
article_themes |
article_id, theme_id | 文章↔主题关联 |
source字段值:study_hot/industry_chain/actionrelevance字段:0-10,AI 评估的 A 股相关性(<5 已被过滤不入库)
汇报原则
- 先数据后观点:先呈现客观数据(标题、股票、逻辑),再给出总结
- 按热度排序:优先展示出现频率高的主题和股票
- 时间敏感:段子和异动强调时效性,产业链关注长期趋势
- 中文汇报:所有输出使用中文
- 精简有力:避免大段引用原文,提炼核心信息
注意事项
- 每次抓取 study_hot 约需 5~15 分钟(Playwright 浏览器渲染 + AI 解析),请提前告知用户等待
- 如果登录态过期(抓取失败),运行:
cd {skillDir} && uv run python -m a_stock_watcher.auth - 数据库查询脚本是即时的,不需要 GEMINI_API_KEY
- 抓取命令必须 source .env 加载环境变量
Weekly Installs
8
Repository
kirkluokun/awes…awskillsGitHub Stars
13
First Seen
6 days ago
Security Audits
Installed on
gemini-cli8
github-copilot8
codex8
kimi-cli8
cursor8
amp8