下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/szgran--medication-update-skill.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @szgran/medication-update-skill。- 歌蓝健康用药记录命令行工具,只负责修改和删除。以下情况应使用此技能:1. 修改药品信息,如药品名称、剂量、单位、用法、给药途径、备注等
- 2. 修改药物服用记录,如服用时间、每次用量、观察记录等
- 3. 修改用药记录的使用人姓名或药名
- 4. 删除药品用药记录
- 5. 用户主动提供药品及其用法用量,并要求调整对应的用药记录。本技能不负责新增药品档案和新增服药记录。
阅读全文 (展开查看完整说明)
概述
用药记录 CLI(修改 / 删除)
触发场景
- 用户要求修改药品信息或用法用量,例如「这个药改成一次吃2粒」「规格记错了」。
- 用户要求修改实际服药记录,例如「我今天早上没有吃3粒,只吃了1粒」「昨天那次忘记吃了,删掉」。
- 用户要求删除某个药品的用药记录。
- 用户主动说出某种药品及用法用量,例如「某某药,我每天吃一粒」。此时先用
check-medication-records按药名查询该药品是否已有记录,再根据实际情况使用update-drug-info或update-medication-intake-records调整剂量、用法或服药时间轴。
注意:本 CLI 只能修改或删除已有记录,不支持新增药品档案。
基本用法
node scripts/index.js medication <subcommand> [options]查看帮助:
node scripts/index.js medication --help
node scripts/index.js medication <subcommand> --help登录
执行任何 medication 子命令前必须先登录。如果不确定登录状态,先检查:
node scripts/index.js auth check-login登录有两种方式,按用户操作系统选择:
- Windows / macOS:扫码登录。运行以下命令会自动打开浏览器,引导用户扫码完成登录:
node scripts/index.js auth login- Linux:设置登录凭证。Linux 环境无法扫码,改用
set-unionid设置凭证完成登录。用户需要先到歌蓝健康微信小程序,在设置页面绑定扣子获取 unionid,然后执行:
node scripts/index.js auth set-unionid --unionid "oGY7V5xxxxxxxxxxxxxxxxxxxxxx"--unionid 为 28 位、以 oGY7V5 开头的微信 unionid。也可以用 --token <token> 设置 API Token。
如需登出:
node scripts/index.js auth logout子命令
如何选择修改命令
修改前先判断用户要改的是「药品信息」还是「实际服药情况」,两者用不同命令,不要混用:
- 修改药品信息(药品本身的属性与用法用量说明,如规格、用法、剂量说明、注意事项):用
update-drug-info。例如用户说「这个药改成一次吃2粒」「规格记错了」。 - 修改实际服药记录(某次实际有没有吃、吃了多少、什么时候吃的):用
update-medication-intake-records。例如用户说「我今天早上没有吃3粒,只吃了1粒」「昨天那次忘记吃了,删掉」。 - 修改使用人姓名或药名:用
update-medication-record-user-and-drug。
判断不清时,先把用户的原话对照上面的例子确认属于哪一类,再选择命令。
通用规则(必须遵守):执行任何修改(update-*)或删除(delete-*)命令之前,必须先运行一次 check-medication-records 查询目标记录的当前数据,核对无误后再执行修改或删除。即使用户已经提供了记录 ID,也不能跳过查询直接修改或删除。
| 子命令 | 说明 |
|---|---|
check-medication-records | 查询用药记录;仅作为修改/删除前的核对步骤使用,不传筛选条件时查询全部记录 |
update-medication-record-user-and-drug | 按 ID 修改用药记录的使用人姓名或药名 |
update-drug-info | 按 ID 修改药品信息 |
update-medication-intake-records | 按 ID 修改药物服用记录 |
delete-medication-record | 按 ID 删除用药记录 |
check-medication-records · 查询用药记录(修改/删除前置步骤)
check-medication-records 不是本技能的独立功能,只在执行修改或删除前用于查询目标记录、核对当前数据。
# 查询全部用药记录
node scripts/index.js medication check-medication-records
# 按记录 ID 查询
node scripts/index.js medication check-medication-records --id 1
# 按用户姓名查询
node scripts/index.js medication check-medication-records --name "张三"
# 按药名查询
node scripts/index.js medication check-medication-records --drug-name "布洛芬缓释胶囊"筛选条件:
--id <id>:用药记录 ID--name <name>:用户姓名。--drug-name <drugName>:药名。
筛选条件可以组合使用。
update-medication-record-user-and-drug · 修改使用人姓名或药名
node scripts/index.js medication update-medication-record-user-and-drug
--id 1
--name "张三"
--drug-name "布洛芬缓释胶囊"必填参数:
--id <id>:用药记录 ID,必须是正整数。
可选字段:
--name <name>--drug-name <drugName>
除 --id 外,至少提供一个需要修改的字段。修改 drug_info 或 medication_intake_records 请使用对应的专项命令。
update-medication-record-user-and-drug 使用流程
- 查询目标记录
无论用户是否提供了记录 ID,都先使用 check-medication-records 查询当前数据:
node scripts/index.js medication check-medication-records --name "张三" --drug-name "布洛芬缓释胶囊"从查询结果中确认要修改的记录 id。如果查询到多条记录,需要先让用户确认具体修改哪一条。
- 确定需要修改的字段
只把用户明确要求修改的字段传递给 update-medication-record-user-and-drug。不要自动补充或覆盖用户没有要求修改的字段。
- 执行更新
node scripts/index.js medication update-medication-record-user-and-drug --id 1 --drug-name "布洛芬缓释胶囊"- 验证更新结果
更新完成后,按记录 ID 再查询一次:
node scripts/index.js medication check-medication-records --id 1检查返回结果中的字段是否与本次修改一致,然后只向用户汇报修改成功的字段;不要展示原始 JSON,除非用户要求。
update-drug-info · 修改药品信息
node scripts/index.js medication update-drug-info
--id 1
--drug-info '{"notes":"0.3g","route":"口服"}'必填参数:
--id <id>:用药记录 ID,必须是正整数。--drug-info <json>:新的药品相关信息,必须是 JSON 对象。
update-drug-info 使用流程
- 查询目标记录
无论用户是否提供了记录 ID,都先使用 check-medication-records 查询当前数据,并让用户确认目标记录:
node scripts/index.js medication check-medication-records --name "张三" --drug-name "布洛芬缓释胶囊"- 获取现有药品信息
从查询结果读取当前的 drug_info 完整内容。该命令会用传入的 JSON 对象整体替换 drug_info,而不是合并,所以不能只传要修改的那个字段。
- 在完整对象上修改目标字段
以现有 drug_info 为底,只把用户要求修改的字段改成新值,其余字段原样保留,然后提交完整对象。不要编造规格、用法、禁忌等药品信息。
例如现有 drug_info 为:
{"notes": "含片", "route": "口服", "dosage": "一次3粒", "status": "active"}用户要求把剂量改为「一次2粒」,则提交:
{"notes": "含片", "route": "口服", "dosage": "一次2粒", "status": "active"}错误做法:只传 {"dosage": "一次2粒"}。这会整体替换 drug_info,导致 notes、route、status 等其他字段全部丢失。
- 执行修改
node scripts/index.js medication update-drug-info
--id 1
--drug-info '{"规格":"0.3g","用法":"口服","注意事项":"遵医嘱"}'- 验证结果
node scripts/index.js medication check-medication-records --id 1确认返回的 drug_info 与用户提供的新信息一致。
update-medication-intake-records · 修改药物服用记录
node scripts/index.js medication update-medication-intake-records
--id 1
--medication-intake-records '[{"taken_at":"2026-08-18 08:30:00","dosage":"1粒","observation":"饭后服用"}]'必填参数:
--id <id>:用药记录 ID,必须是正整数。--medication-intake-records <json>:新的完整用药时间轴,必须是用药记录数组。
update-medication-intake-records 使用流程
- 查询目标记录
无论用户是否提供了记录 ID,都先使用 check-medication-records 查询当前数据,并让用户确认目标记录。
- 获取现有用药时间轴
使用 check-medication-records --id <id> 读取当前的 medication_intake_records 完整数组。该命令会用传入的数组整体替换现有时间轴,而不是追加或合并,所以不能只传要修改的那一条记录。
- 确认整体替换
该命令会整体替换用药时间轴。执行前必须让用户确认新的完整数组。
- 在完整数组上修改目标记录
以现有 medication_intake_records 为底,保留其他未修改的记录原样不动,只替换目标记录,然后提交完整数组。每条记录必须包含:
taken_at:包含日期和具体时刻的服药时间dosage:服药剂量observation:服药观察记录,可选
例如现有时间轴为:
[{"taken_at": "2026-08-18 08:30:00", "dosage": "1粒", "observation": "饭后服用"},
{"taken_at": "2026-08-18 20:30:00", "dosage": "1粒", "observation": ""}]用户要求把早上那条的剂量改为「2粒」,则提交:
[{"taken_at": "2026-08-18 08:30:00", "dosage": "2粒", "observation": "饭后服用"},
{"taken_at": "2026-08-18 20:30:00", "dosage": "1粒", "observation": ""}]错误做法:只传 [{"taken_at": "2026-08-18 08:30:00", "dosage": "2粒"}]。这会整体替换时间轴,导致晚上的那条记录被删除。
- 执行修改
node scripts/index.js medication update-medication-intake-records
--id 1
--medication-intake-records '[{"taken_at":"2026-08-18 08:30:00","dosage":"1粒","observation":"饭后服用"}]'- 验证结果
使用 check-medication-records --id <id> 查询,确认记录数量、服药时间、剂量和观察记录均与确认后的完整数组一致。
delete-medication-record · 删除用药记录
node scripts/index.js medication delete-medication-record --id 1必填参数:
--id <id>:用药记录 ID,必须是正整数。
delete-medication-record 使用流程
- 查询目标记录
无论用户是否提供了记录 ID,都先使用 check-medication-records 查询当前数据,并让用户确认要删除的记录:
node scripts/index.js medication check-medication-records --name "张三" --drug-name "布洛芬缓释胶囊"- 执行删除前再次确认
删除不可恢复,执行 delete-medication-record 前必须向用户说明将删除的记录内容(姓名、药名),并获得用户明确同意。
- 执行删除
node scripts/index.js medication delete-medication-record --id 1- 验证结果
使用 check-medication-records --id 1 查询,确认该记录已不存在。