半夜发烧才发现药过期,我做了这个开源工具: OpenMedKit - V2EX
爱意满满的作品展示区。
Yancc

半夜发烧才发现药过期,我做了这个开源工具: OpenMedKit

  •  
  •   Yancc Mar 29 1972 views
    This topic created in 46 days ago, the information mentioned may be changed or developed.

    家里药箱,是不是永远一团乱?

    感冒了翻半天找不到退烧药,半夜发烧才发现布洛芬已经过期。

    我也是被这些弄的越来越烦了,做了这个开源工具OpenMedKit 。一个专为个人设计的可自部署药箱管理工具,目标是:让药箱从此透明、可控、再也不会生病的时候发现药已经过期。

    到底能解决什么问题?

    • 再也不用“用到一半才发现过期”
    • 再也不用“翻遍抽屉也找不到某种药”
    • 再也不用手动记保质期、记数量、记位置

    最核心的三大功能

    1. 傻瓜式录入:自然语言 + 拍药盒都能行

    不需要填一大堆表单。

    直接打字:

    我有 2025 年 6 月过期的阿莫西林 10 盒

    或者直接拍一张药盒照片,AI 自动识别药品名称、规格、数量、有效期,全部帮你填好。

    几秒钟搞定一次录入。


    2. 像聊天一样查询

    不需要记住任何编号或分类。

    直接问:

    • 家里还有退烧药吗?
    • 布洛芬还有几盒?最晚哪天过期?
    • 儿童感冒药库存怎么样?

    OpenMedKit 会清晰列出所有匹配的药品、剩余数量和过期预警。


    3 智能过期提醒,主动推送到 Telegram

    不用每天打开 App 检查。

    系统会自动扫描所有药品,在即将过期前分别给你发 Telegram 消息。

    真正做到“药还没过期,人已经知道”。


    项目地址

    Supplement 1    Mar 29
    更新:OpenMedKit 现在支持 MCP 了。
    你可以通过 Claude Code 或 OpenClaw 等直接调用它,更加方便。

    感谢 @JerryYuan 的建议
    18 replies    2026-03-30 18:22:40 +08:00
    euph
        1
    euph  
       Mar 29 via Android   1
    这种项目最大的问题就是要随时更新信息,不然信息就会过期。
    Yancc
        2
    Yancc  
    OP
       Mar 29
    @euph 确实,我也考虑过。我更倾向把它当成一个“弱维护系统”,不追求绝对精确,不需要实时维护每一盒药的精确数量,只需要在快过期的时候能给提示,同时可以查到这一盒药放在哪里了(药箱、床头柜、背包之类的)
    wangwaner
        3
    wangwaner  
       Mar 29 via iPhone
    实际上药丸、胶囊之类的非液态药剂,过期了也问题不大(指密封良好、铝箔未失效)美国军方做了个实验就是二战时候剩的药过了几十年药物药效衰减也没多大。药物厂商给这个有效期更像是:最佳药效赏味期。
    wangwaner
        4
    wangwaner  
       Mar 29 via iPhone
    @wangwaner 记错了,没二战那么夸张,最长纪录是 40 年…
    aero99
        5
    aero99  
       Mar 29
    有一段时间我用 Apple 健康的药品记录功能,的确比较麻烦,lz 可以尝试接入苹果健康吗
    287854442
        6
    287854442  
       Mar 29
    相对药过期,家里的 食品,调味料,大概有个几十种 过期是真的烦,而且也经常过期,可以稍微扩展一下,直接支持这些
    ShawnShi
        7
    ShawnShi  
    PRO
       Mar 29
    本来以为没什么用,直到今天发现自家的酱油过期一个月了
    zeusho871
        8
    zeusho871  
       Mar 29
    我也想到一个类似的系统,不过为了学知识想整成硬件的 结合室内视觉定位和物品收纳啥的,能看到人的位置,手机或者设备拿出来就能弹出这里收纳了哪些东西 哪些东西到期,加上冰箱这里快过期的食材,根据下厨房生成菜谱啥的自动算卡路里,菜谱里不够的菜自动让 ai 控制手机操作外卖软件下单。就是工程量太大了 加上有拖延症,就写了一部分。
    wbolor
        9
    wbolor  
       Mar 29
    之前做过一个小程序,是通过扫描物品二维码来获取物品信息的,也荒废了。。。
    Yancc
        10
    Yancc  
    OP
       Mar 29
    @wangwaner #3 君子不立危墙之下,能不吃过期的还是尽量不吃过期的。
    Yancc
        11
    Yancc  
    OP
       Mar 29
    @aero99 考虑过,不过 Apple 健康只能通过 iOS App 接入,没法直接从 web 读数据,有点麻烦。
    Yancc
        12
    Yancc  
    OP
       Mar 29
    @287854442 理论上模型是通用的,你只要不介意把它们当成药品,同样可以添加到 OpenMedKit 中。
    Yancc
        13
    Yancc  
    OP
       Mar 29
    @zeusho871 我也考虑过,最开始用 Notion 来记录冰箱里的东西是否快过期,但是冰箱里的东西更新太快了,没有那么大的经历去维护,久而久之也荒废了。
    JerryYuan
        14
    JerryYuan  
       Mar 29 via Android
    支持一下 mcp 或者提供 API 给 openclaw 的 skill 调用,数据维护起来应该可以更无痛一些。
    Yancc
        15
    Yancc  
    OP
       Mar 29
    @JerryYuan 已经加上了,很好的建议!
    kakuxwn
        16
    kakuxwn  
       Mar 30
    第一我不会随时更新信息,因为我很少生病。
    第二即使我更新了信息,药品过期了我也不会主动去补,需要的时候才会去买。
    第三半夜发烧很紧急的话,我会去医院,不紧急就网上买药。

    综合来看,需求不是很刚!产品被我需要的可能性不大~
    不过经常用药的,或者怕死的需要随时备药,倒是有这个可能。
    yulgang
        17
    yulgang  
       Mar 30
    没有事儿,我阳了的时候买不到退烧药,吃了过期 1 年多的布洛芬也一样好使。 前提是密封良好,外观形状没有明显变化。。有购药条件时尽量不吃过期药品。
    luozic
        18
    luozic  
       Mar 30
    这种嵌入到笔记+家庭地图 或者日历里面 是不是更容易为人使用
    About     Help     Advertise     Blog     API     FAQ     Solana     998 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54ms UTC 22:22 PVG 06:22 LAX 15:22 JFK 18:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86