跳到主要内容
知仓学习社ZHICANG

pharma-daily-report

>

读凭据执行命令联网写文件严重 0 · 高危 2daymade/claude-code-skills

它会碰到什么

扫了多少5 个文本文件,15 KB
它会碰到什么读凭据执行命令联网写文件
命中总数9 处
命中统计严重 0 · 高 2 · 中 5 · 低 2
逐条看命中(2 条严重或高危)
  • scripts/daily_pipeline.py:220cred-envread
    env["LARK_CLI_NO_PROXY"] = "1"
  • scripts/daily_pipeline.py:222exec-spawn
    result = subprocess.run(

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

医药行业日报

从新浪财经免费公开接口抓取 A 股医药板块实时行情,分析后通过飞书发送日报。

这个 skill 做什么

  1. 抓取 20 只核心医药股实时数据(新浪 hq.sinajs.cn,GBK 编码,免费无需认证)
  2. 计算赛道排名、涨跌榜 TOP 3、资金流向估算
  3. 生成飞书富文本日报(含涨跌颜色、赛道奖牌)
  4. 通过 lark-cli 发送到指定飞书对话
  5. 在原始数据目录保存当日快照 JSON

能力边界

能做的:

  • A 股医药行业 20 只核心标的的实时快照
  • 7 大细分赛道对比(创新药 / CXO / 医疗器械 / 中药 / 综合医药 / 医疗服务 / 生物制品)
  • 飞书 markdown 美化的日报输出

不能做的:

  • 不提供投资建议(日报自带免责声明)
  • 不抓取付费/Paywall 内容(只用新浪免费接口)
  • 不保证数据无误(来源标注为新浪,交易决策请多方交叉验证)

前置条件

  • Python 3.8+(只用 stdlib 的 urllib,无需 pip 装任何包)
  • lark-cli 已安装且已登录飞书账号
  • 能访问 hq.sinajs.cn

如果用户没装 lark-cli:

npm install -g @larksuite/cli
lark-cli auth login --recommend

注意:飞书是国内服务,lark-cli 命令行前必须加 LARK_CLI_NO_PROXY=1

使用流程

Step 1:确认参数

问用户确认:

  • 飞书 profile:用哪个飞书账号发?如果不清楚自己有哪些 profile,运行 lark-cli profile list 查看(详见 references/feishu_profiles.md
  • 飞书对话:发到哪个群/人?用户如果不清楚自己的 chat_id,帮他查:
  LARK_CLI_NO_PROXY=1 lark-cli im +chat-search --query " " --page-size 20

发给自己就用 Feishu Assistant 对话。发给群就搜群名。

  • 股票池:默认用 20 只医药核心标的(见 references/stock_pool.md)。用户可以说"只看创新药"或"加上某某股票"来定制。

Step 2:运行数据管线

直接执行 scripts/daily_pipeline.py

python3 scripts/daily_pipeline.py \
  --feishu-profile <你的飞书profile名> \
  --feishu-chat-id <你的飞书chat_id>

脚本一气呵成:抓数据 → 分析 → 生成日报 → 发飞书 → 存快照。

Step 3:向用户汇报结果

告诉用户关键数据:

  • 几只上涨 / 几只下跌 / 平均涨跌幅
  • 最强赛道和最弱赛道
  • 领涨和领跌 TOP 3
  • 飞书是否发送成功

数据管线详解

新浪财经实时行情接口

http://hq.sinajs.cn/list=sh600276,sz300122,...

返回 GBK 编码文本,每行格式:

var hq_str_sh600276="股票名称,今开,昨收,现价,最高,最低,...,成交金额,...,日期,时间"

32 个逗号分隔字段。关键字段(从 0 开始数):

| 位置 | 含义 | 示例 |

|------|------|------|

| 0 | 股票名称 | 恒瑞医药 |

| 2 | 昨收 | 45.60 |

| 3 | 现价 | 46.10 |

| 4 | 今日最高 | 46.50 |

| 5 | 今日最低 | 45.30 |

| 9 | 成交金额(元) | 850000000 |

代码前缀规则:6 开头 = sh,其他 = sz

完整字段速查见 references/sina_api.md

赛道分类

20 只股票分为 7 个赛道(见 references/stock_pool.md),分析时按赛道聚合涨跌幅和成交额。

资金流向估算

新浪免费接口不提供买卖方向数据。脚本用"涨的股票的成交额 - 跌的股票的成交额"粗略估算净流向,报告中标注为"估算"。

常见问题

股票名称出现空格

新浪返回的个别名称带空格(如"新 和 成"),脚本内置归一化。

飞书消息太长

飞书 markdown 消息有约 4096 字节限制。超长自动截断并标注。

非交易时段

交易时间 9:30-15:00 外,新浪返回上一个收盘价,涨跌幅接近 0。报告仍会显示,但数据时间可以判断是否实时。

网络问题

新浪不可达时脚本报错退出,不使用缓存(金融数据宁可没有也不能是旧的)。

Next Step: 定时发送

日报做好后,用户可能想每天自动发送。建议:

> 日报测试发送成功!要不要设置每天早上 9:03 自动发到飞书?

>

> A) 设工作日 9:03 — 每个交易日开盘前收到(推荐)

> B) 设每天 9:03 — 周末也发(数据不动但能看到)

> C) 暂时不设,手动跑就行

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。