1. 项目概述:当Claude遇上医疗咨询
最近在GitHub上发现一个很有意思的开源项目——开发者仅用Claude大模型配合本地存储,就搭建出了一个功能完整的医疗咨询系统。这个被戏称为"私人三甲医院"的项目,完全摒弃了传统数据库,所有数据通过本地文件存储,却实现了病历管理、症状分析、用药建议等核心功能。目前项目已经获得400+星标,在开发者社区引发热议。
作为一个长期关注AI落地的技术从业者,我第一时间clone了代码进行研究。这个项目的独特之处在于:它用最轻量的技术栈(纯前端+本地存储)结合Claude的医学知识,打造了一个隐私性极强的个人健康助手。特别适合那些既需要专业医疗建议,又对数据隐私敏感的用户群体。
2. 技术架构解析
2.1 零数据库设计
项目最颠覆性的设计就是完全不用数据库。开发者采用了浏览器原生的localStorage配合IndexedDB实现数据持久化:
// 病历存储示例 function saveMedicalRecord(record) { const records = JSON.parse(localStorage.getItem('medicalRecords')) || []; records.push(record); localStorage.setItem('medicalRecords', JSON.stringify(records)); }这种设计带来三个显著优势:
- 零服务器成本:所有数据存在用户本地
- 隐私绝对可控:医疗数据不出本地设备
- 部署极简:只需静态文件托管即可运行
2.2 Claude API的深度应用
项目通过Anthropic官方API接入Claude 3系列模型,特别优化了医疗场景的prompt工程:
MEDICAL_PROMPT_TEMPLATE = """ 你是一名拥有10年临床经验的全科医生。请根据以下患者信息: [症状]: {symptoms} [病史]: {history} [检查结果]: {examination} 给出: 1. 可能的诊断方向(按概率排序) 2. 建议的检查项目 3. 非处方药建议 4. 何时必须就医的警示信号 用中文回答,采用分级列表形式,避免绝对性结论。 """实测发现,Claude在常见病咨询上的表现确实接近初级医师水平,尤其擅长:
- 症状相关性分析
- 药物相互作用检查
- 就医紧迫性评估
3. 核心功能实现
3.1 智能分诊系统
项目实现了一个基于症状树的分诊逻辑:
graph TD A[主症状选择] --> B{是否急诊症状?} B -->|是| C[立即就医建议] B -->|否| D[二级症状追问] D --> E[生成鉴别诊断]虽然没使用专业医学术语库,但通过Claude的医学知识实现了:
- 症状关联度分析
- 危险信号识别
- 就医优先级建议
3.2 个人健康档案
本地存储的健康档案包含以下数据结构:
{ "profile": { "basicInfo": {}, "allergies": [], "chronicConditions": [] }, "records": [ { "date": "2023-11-20", "symptoms": ["头痛", "发热"], "advice": "建议服用布洛芬,若72小时未缓解需就医" } ] }所有数据加密后存储在IndexedDB中,支持:
- 时间轴视图浏览
- 症状趋势分析
- 用药记录追踪
4. 安全与合规考量
4.1 医疗建议的局限性
项目在显著位置添加了免责声明:
重要提示:本系统提供的建议不能替代专业医疗诊断,急重症患者请立即就医。AI建议仅供参考,用药前请咨询药师。
4.2 数据加密方案
虽然数据本地存储,项目仍实现了AES-256加密:
import CryptoJS from 'crypto-js'; const encryptData = (data, passphrase) => { return CryptoJS.AES.encrypt(JSON.stringify(data), passphrase).toString(); };用户首次使用时必须设置加密口令,否则无法保存任何医疗记录。
5. 部署与使用指南
5.1 本地运行方案
最简单的部署方式:
git clone https://github.com/xxx/medical-gpt.git cd medical-gpt npm install npm run dev需要准备:
- Anthropic API Key
- 现代浏览器(推荐Chrome/Firefox最新版)
5.2 移动端适配技巧
通过PWA技术实现移动端原生体验:
// manifest.json { "display": "standalone", "icons": [ { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" } ] }添加到主屏幕后,使用体验接近原生APP。
6. 实际使用体验
经过两周的实测,我发现几个值得注意的点:
问诊技巧:描述症状时要尽量具体,比如"右下腹持续隐痛3天"比"肚子疼"得到的建议更准确
用药建议:系统会主动询问过敏史,但对中成药的建议相对保守
紧急识别:当输入"胸痛+左臂麻木"等关键词时,会立即提示心梗可能并建议呼叫急救
隐私保护:所有问诊记录在本地加密存储,清除浏览器数据会永久丢失记录
7. 开发启示与改进方向
这个项目给我们展示了LLM在垂直领域的强大潜力。我认为值得关注的扩展方向包括:
- 多模态扩展:增加皮肤病变、舌苔等图片分析功能
- 设备对接:整合智能手表的实时健康数据
- 知识更新:定期抓取最新医学指南更新prompt
- 离线模式:通过量化技术部署本地小模型
不过需要特别注意:医疗AI的合规边界仍在探索中,个人开发者应避免涉及诊断结论和治疗方案建议。当前项目巧妙地通过"建议"而非"诊断"的表述方式规避了部分风险。