本草纲目中药查询
概述
本技能基于本地条目库 references/herbs.md(源自李时珍《本草纲目》框架),按药名/别名检索中药条目,为用户展示药材图片、主治病症与功效简介。数据与展示逻辑分离:条目库只存数据,本文件只存流程,新增药材只需向条目库追加条目。
工作流程
第 1 步:提取查询药名
从用户消息中提取核心药名,去掉修饰词(如"查一下""的功效是什么""能治什么病"等),得到待查询的关键词。用户可能使用别名(如"杞子"→枸杞子、"双花"→金银花),直接把原词交给检索脚本即可,脚本会处理别名映射。
若一次查询包含多味药(如"人参和黄芪"),对每味药各执行一次检索与展示。
第 2 步:检索条目库
运行检索脚本(路径基于本技能目录):
python scripts/search_herb.py "人参"
行为说明:
- 命中 → 输出完整条目原文,按第 3 步展示。
- 未命中但给出候选 → 按第 4 步的"友好提示"回复,附候选药名询问用户。
- 未命中且无候选 → 同样按"友好提示"回复,可运行 python scripts/search_herb.py --list 列出全部已收录药材供用户选择。
- --suggest "词" 仅获取候选药名;--list 列出全部条目。
第 3 步:展示条目(含图片)
按以下固定模板组织回复:
## 🌿 人参(黄参、棒槌)

| 项目 | 内容 |
|------|------|
| 部类 | 本草纲目·草部·山草类 |
| 性味 | 甘、微苦,微温 |
| 归经 | 脾经、肺经、心经 |
**功效**:大补元气,复脉固脱,补脾益肺,生津养血,安神益智
**主治病症**:体虚欲脱、肢冷脉微,脾虚食少、肺虚喘咳,津伤口渴……(用顿号/逗号分组罗列,可对重点病症加一句白话解释)
**简介**:(条目"简介"内容)
**用法提示** / **禁忌**:(条目对应内容)
> 📌 温馨提示:以上内容源自《本草纲目》及传统中医药记载,仅供了解参考,不构成医疗建议。用药请咨询执业中医师。
图片来源(按优先级):
1. 使用 WebSearch 搜索条目"图片关键词"(如"人参 药材 根部"),优先选用权威来源(中国植物图像库 PPBC、维基百科、中国药科大学/药典相关网站)的真实药材照片,以 Markdown 图片形式插入。
2. 图片 URL 无法直接加载时,可改用文字详细描述药材外观(形状、颜色、断面特征),并在回复中说明。
3. 实在无法获取真实图片时,可用 ImageGen 生成插画,但必须明确标注"(AI 示意图,非实物照片)"。
第 4 步:无法识别药名时的友好提示
未命中时,回复必须友好且有帮助,模板:
抱歉,本草纲目条目库中暂时没有收录"XX"这味药材。🙂
您要找的是不是:当归、黄芪?(如有候选)
目前已收录的药材有:人参、黄芪、当归、甘草、枸杞子、金银花、菊花、川贝母、板蓝根、白术……
如果您想查询的药材不在列表中,也可以告诉我,我可以为您补充收录该药材的条目。
(候选列表和已收录列表以 --list 的实际输出为准,不要凭空编造。)
第 5 步:扩展新药材条目
用户要求收录新药材,或用户纠正了某条目内容时:
- 严格按
references/herbs.md文件头部注释中的条目模板撰写新条目(字段顺序、格式保持一致),所有数据必须有据可查(《本草纲目》原文要点 + 现行药典常识),不得编造主治功效。 - 用 Edit 工具将新条目追加到
references/herbs.md文件末尾(---分隔线之后)。 - 运行
python scripts/search_herb.py "新药名"验证可检索到,同时验证别名也能命中。 - 告知用户已收录完成,并展示新条目。
条目数据规范:
- 别名 用顿号分隔;图片关键词 用空格分隔,供图片搜索使用。
- 主治 保留传统表述(如"痄腮"),必要时在展示时补充白话解释(如"痄腮(流行性腮腺炎)")。
- 十八反、十九畏等配伍禁忌(如"不宜与藜芦同用")必须写入禁忌字段。
资源说明
references/herbs.md— 药材条目库(数据核心,预置 10 味药,可无限扩展)。scripts/search_herb.py— 检索脚本:药名/别名匹配、模糊候选、--list、--suggest。匹配优先级:药名精确 → 别名精确 → 名称包含 → 别名包含 → difflib 模糊建议。