法规追踪 Skill(法规追踪 RegTracker)
简介 / Overview
中文:法规追踪(RegTracker)是面向医药行业质量合规人员的法规监控助手。它自动从 FDA、EMA、NMPA·CDE、CFDI、PDA、WHO·ICH 及行业公众号全域检索细胞治疗、基因治疗、生物制剂、药品与生物医学新技术领域的最新法规——涵盖新发布、修订、替代与废止,智能归入 5 大主类,并以颜色高亮(🟡新增 / 🟠修订 / 🔴废止)写入你的「法规学习资料」Excel;同时补充权威信息源,无法归类的自动兜底至「其他法规」表。支持手动触发与每周定时运行,全程不覆盖原始文件、自动输出带日期的更新副本,是 GMP/QA、药品注册与医学事务人员高效维护法规库的利器。
English: RegTracker is a regulatory-monitoring assistant for quality and compliance professionals in pharma and biotech. It automatically scans FDA, EMA, NMPA·CDE, CFDI, PDA, WHO·ICH, and industry WeChat channels for the latest regulations across cell therapy, gene therapy, biologics, drugs, and novel biomedical technologies—covering new issuances, revisions, replacements, and repeals. RegTracker classifies updates into 5 main categories and writes them into your "Regulatory Reference" Excel with color highlights (🟡New / 🟠Revised / 🔴Repealed), appends authoritative sources, and routes unclassified items to an "Other Regulations" sheet. It supports manual and weekly scheduled runs, never overwrites the original file, and outputs a dated copy—an effortless way for GMP/QA, regulatory affairs, and medical teams to keep their regulatory library current.
⚠️ 使用前必读(重要限制)
> 这几条直接影响检索完整度,务必先看,避免误以为"漏抓"。
- 网络访问:国内来源(NMPA·CDE、CFDI、国务院、卫健委等)可直接检索,无障碍;但 FDA / EMA / WHO·ICH 等境外官网可能需要海外网络,若当前环境无法访问境外站点,境外法规会检索不全。
- 应对:优先用国内来源交叉验证;境外法规可借国内医药媒体/学会的转载与解读补全;必要时在能访问境外网络的环境再跑一次。 - 公众号无法直接抓取:微信公众号文章不能被 WebSearch 直接爬取。本技能靠"全网检索自然覆盖其被转载/聚合的内容"来间接触达,可能有遗漏。重要公众号法规建议人工补充确认。
- 目标文件路径免手改:不必再手动改脚本里的路径。脚本会自动定位「法规学习资料及网站.xlsx」(见下方「自动定位文件」),把文件放在用户主目录/桌面/文档/下载任一处即可;也可运行时直接写完整路径。
- 不覆盖原文件:每次只输出带日期的副本
_updated_YYYYMMDD.xlsx,原文件永远不动,可放心运行。
定位
参考 cell-therapy-tracker 的设计,但把追踪对象从「细胞治疗产品上市」扩展为全域法规变更追踪:
- 检索源:FDA / EMA / NMPA·CDE / CFDI / PDA / WHO·ICH / 公众号全网
- 法规类型:药品、生物制剂、细胞治疗产品、基因治疗、生物医学新技术
- 输出:在 法规学习资料及网站.xlsx 中
- 「法律法规汇总」表插入「主类」列并回填、追加新/修订法规(颜色标记)
- 「网站」表追加新发现的权威信息源
- 无法归入 5 类的法规写入新建的「其他法规」表
触发方式
手动(最简单)
直接对助手说下面任一句即可:
> 「追踪法规更新」/「更新法规表」/「检查法规有没有新出的」
定时自动运行(傻瓜式 3 步)
想每周自动帮你查,不用记着手动跑——只需对助手说一句话,它会帮你建好定时任务:
- 开启:对助手说
> 「帮我设置每周日晚上 8 点自动追踪法规更新」
(时间/频率可自定义,如"每周一早上9点""每天""每月1号"。) - 确认:助手会创建一个定时任务并回你一个任务名/ID,看到即成功。
- 管理:想改时间/暂停/删除,直接说
> 「把法规追踪的定时改成每周五下午5点」/「暂停法规追踪定时」/「删除法规追踪定时任务」
> 说明:定时任务按"自然语言指令"触发本技能,不依赖脚本目录名;到点后会自动检索→写入带日期的新副本→给你变更清单。若某次因网络问题没查到境外法规,会在结果里注明,不会报错中断。
文件定位
- 目标 xlsx:
法规学习资料及网站.xlsx(默认在用户主目录,如C:\Users\法规学习资料及网站.xlsx) - 脚本目录:
~/.workbuddy/skills/reg-tracker/scripts/ update_excel.py—— 健壮写入引擎(直接操作 xlsx 底层 XML,仅用标准库)gen_search_queries.py—— 生成三梯队检索清单- 参考:
~/.workbuddy/skills/reg-tracker/references/classification.md - 资源:封面图
cover.png为二进制图片,SkillHub 代码包不支持打包上传,请在平台「封面图」字段单独上传(本地备份:RegTracker_cover.png)。
自动定位文件(无需手改路径)
脚本会自动在这些位置搜索「法规学习资料及网站.xlsx」:用户主目录、C:\Users、桌面、文档、下载、当前目录。
python update_excel.py --find # 只定位,打印找到的路径与下一步命令
python update_excel.py auto --info # 自动定位并读取文件信息
python update_excel.py auto --regs-json regs.json # 自动定位并写入
- 找不到时会给出明确提示:把文件放到上述任一目录,或运行时写完整路径。
- 若想指定其他位置:把
auto换成完整路径即可,如python update_excel.py "D:\我的法规\法规学习资料及网站.xlsx" --info。
> ⚠️ 该 xlsx 是 openpyxl 无法直接打开的特殊类型(styles.xml 含空 <fill/>)。本技能用 XML 直写绕过,并顺手修复该空标签,使文件之后也能被普通工具打开。
前置依赖
- Python 3(用托管解释器
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe)。 - 无需安装任何包(全部用标准库
zipfile/xml.etree)。 - 校验可用 openpyxl(可选,仅用于自检,装在
binaries/python/envs/default或临时 venv)。
运行流程(每轮追踪)
- 定位文件:
python update_excel.py --find自动定位(或确认目标 xlsx 路径)。 - 查看现状:
python update_excel.py auto --info
(auto= 自动定位;也可换成完整路径)记录最新颁布日期、各表行数、是否已有「主类」列。 - 生成检索清单(可选但推荐):
python gen_search_queries.py "C:\Users\法规学习资料及网站.xlsx" --out queries.json
得到三梯队查询词(第1梯队新发布 / 第2梯队修订监测 / 第3梯队广度)。 - 执行检索:用
WebSearch/WebFetch按清单检索。第1梯队按机构分源查;第2梯队对重点文件查「修订/替代/废止」;第3梯队按主题查。
- ≥2 个独立来源交叉验证,确认法规真实存在、版本、发布日期、原文链接。 - 分类判定:按
references/classification.md判定每条的主类(5 类之一,或「未分类」→进其他法规)。 - 构造
regs.json:把本次确认的新增/修订/废止/新源写入(格式见下)。 - 写入 xlsx:
python update_excel.py "C:\Users\法规学习资料及网站.xlsx" --regs-json regs.json
脚本输出法规学习资料及网站_updated_YYYYMMDD.xlsx,不覆盖原文件。 - 校验 & 交付:用 openpyxl 打开输出文件确认可解析、列/颜色正确;向用户汇报变更清单。
regs.json 格式
{
"appends": [
{
"sheet": "法律法规汇总", // 或 "其他法规"
"color": "yellow", // yellow=新增 / orange=修订新版 / red=废止旧版
"类型": "细胞治疗类",
"颁布日期": "2026-05-12",
"名称": "《……》",
"原文": "https://……",
"颁布机构": "CDE",
"引用要点": "……"
}
],
"revoke": [
{ "name": "《旧版法规名称》", "note": "已被2026年版替代(见橙标行)" }
],
"new_sources": [
{ "网站名称": "……", "链接": "https://……", "方向": "……" }
]
}
appends:每条一个新行。sheet缺省=法律法规汇总;color缺省=yellow。revoke:按「名称」精确匹配存量行,整行标红,并在其「引用要点」追加note。new_sources:追加到「网站」表(黄色),「序号」自动递增。
健壮性说明
- 直接读写底层 XML,绕开 openpyxl 对该文件的限制。
- 自动修复原文件导致 openpyxl 报错的空
<fill/>标签。 - 插入「主类」列后,自动平移合并单元格 / 超链接的列引用(避免错位)。
- 永不覆盖原文件,始终输出
_updated_YYYYMMDD.xlsx。 - 小白友好的报错:文件找不到/被占用/损坏、JSON 格式错、找不到目标表等常见问题,都会给出"人话"提示 + 具体解决建议(不再抛原始 traceback)。
- 网络异常不中断:某来源访问不了时会跳过并注明,不会整轮崩溃。
与 cell-therapy-tracker 的差异
| 维度 | cell-therapy-tracker | 法规追踪 RegTracker |
|---|---|---|
| 追踪对象 | 细胞治疗产品上市 | 全域法规变更(5 大类) |
| 检索源 | 上市数据库 | FDA/EMA/NMPA/CFDI/PDA/WHO/ICH/公众号 |
| 更新判定 | 新发布 | 新发布 + 修订/替代/废止(新旧都标) |
| 输出表 | 单一汇总 | 法律法规汇总 + 网站 + 其他法规(兜底) |
| 分类 | 产品类型 | 主类(5类) + 保留原「类型」子类 |
注意事项
- 「主类」列仅在首次运行时插入一次;后续运行自动跳过(用
--backfill仅补空白主类)。 - 公众号无法被 WebSearch 直接抓取,靠全网检索自然覆盖其转载/聚合文章。
- 修订/替代采用「新旧都标」:橙=新版、红=旧版+引用要点注明替代关系。
常见问题 FAQ
Q1:运行提示"找不到目标 Excel"怎么办?
把「法规学习资料及网站.xlsx」放到用户主目录/桌面/文档/下载任一处,或运行时写完整路径。也可先跑 python update_excel.py --find 让脚本告诉你它找到了哪个文件。
Q2:为什么有些境外法规(FDA/EMA)没查到?
多半是当前网络访问不了境外官网。国内来源不受影响。可在能访问境外网络的环境重跑,或用国内医药媒体的转载/解读补全。这不是文件出错。
Q3:公众号里的法规怎么没抓到?
公众号文章无法被检索工具直接爬取,只能靠被其他网站转载时间接命中,可能遗漏。重要公众号内容请人工补充。
Q4:会不会把我原来的 Excel 弄坏/覆盖?
不会。每次只生成带日期的新副本 _updated_YYYYMMDD.xlsx,原文件始终不动。
Q5:提示"权限不足/没法写入"?
通常是文件正被 Excel/WPS 打开。先关闭该文件再重新运行;并确认文件不是"只读"属性。
Q6:提示"regs.json 不是合法 JSON"?
检查逗号/引号/括号是否配对,且必须用英文半角标点(, : " {} []),不能用中文标点。
Q7:"其他法规"表是干什么的?
无法归入 5 大主类的法规会自动兜底写到这里,避免遗漏,方便你人工再判断。
Q8:怎么设置/取消每周自动追踪?
对助手说「帮我设置每周日 20:00 自动追踪法规更新」即可创建;说「暂停/删除法规追踪定时任务」即可管理。详见上文「定时自动运行」。
Q9:颜色代表什么?
🟡黄=新增法规,🟠橙=修订/新版,🔴红=废止/被替代(旧版会保留并在引用要点注明替代关系)。
Q10:多久跑一次比较合适?
法规更新不频繁,建议每周一次(默认周日晚);重大政策窗口期可手动加跑。