# Drug Lookup

> Use when 查药名/副作用/禁忌/药物相互作用.

- Skill: `lumin278/drug-lookup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lumin278/drug-lookup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lumin278/drug-lookup/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: Lumin278 (https://skillmd.com/u/lumin278)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/lumin278/drug-lookup

---


# 药品查询（本地药品说明书库）

用户问「XX 是什么药 / 有什么副作用 / 有什么禁忌 / 和我吃的药冲不冲」时用本技能。

## 数据位置

- 库：`〈药品库目录〉/drugs.sqlite`（**数据需自备，本仓库不附带任何药品数据** —— 原因见仓库根 README「关于药品数据」一节）
- 脚本：`〈药品库目录〉/q.py`；重跑建库：`python3 〈药品库目录〉/build.py`
- 原始 JSON（建库输入）：`〈药品原始数据目录〉/`
- ⚠️ **许可**：公开可得的整理集多有版权问题（例如从药典类网站爬取的整理）→ **仅本机个人参考，不得再分发**；授权来源（RxNorm / RxNav、openFDA）见仓库 `vault-template/8-知识库/用药指南/索引.md`

## 查询命令

```bash
python3 〈药品库目录〉/q.py 布洛芬                # 命中概况：剂型清单 + 成分/适应症/禁忌/不良反应/相互作用摘要
python3 〈药品库目录〉/q.py --full 布洛芬          # 不截断（只在需要原文时用）
python3 〈药品库目录〉/q.py --field 禁忌 布洛芬     # 只看一个字段：适应症|禁忌|不良反应|相互作用|成分|用法
python3 〈药品库目录〉/q.py -n 左甲状腺素           # 只要规范名 + 成分 + 剂型清单
python3 〈药品库目录〉/q.py -i 阿司匹林 华法林       # 两药相互作用
python3 〈药品库目录〉/q.py -s 头痛 --limit 5       # 全文搜索（名称/成分/适应症/不良反应）
```

## 输出纪律（重要，省 token）

- 默认输出已截断（每条字段 ~420 字）；**不要把库文件读进上下文**，永远走查询脚本
- 只把用户问的那几条报给用户；需要原文时再加 `--full` 或 `--field`
- 库里名字是**剂型级**（`布洛芬缓释胶囊`）→ 回答时**归一到通用名**（`布洛芬`）
- 相互作用查不到两药直配时，脚本会自动分别列出两药的相关提示 —— 要说明“这不是两药直配记录”

## 药名归一（与 health-vault 一致）

- 档案里写 `通用名（剂型）`，如 `布洛芬（缓释胶囊）`；剂量用户补充才记，不猜
- 用户报**商品名**（优甲乐 / 芬必得 / 络活喜）：先查库 → 找到对应通用名 → **回问用户确认** → 再落库；查不到就问“药盒上写的名称是什么”
- 新药/库中没有的药：告知“库里没有”，请用户拍药盒或读药名，不要编

## 硬边界

- ❌ 不答“我该不该吃 / 要不要停 / 换什么药 / 这个症状是不是这药引起的” → 让用户问医生或药师
- ❌ 不对相互作用做临床判断，只照录说明书原文 + 风险等级 + 来源
- ✅ 每次输出末尾提醒：“以上为说明书原文摘录，用药请遵医嘱/咨询药师”。

