wangkangyjy 6dcaa93b03 init 4 mēneši atpakaļ
..
server 6dcaa93b03 init 4 mēneši atpakaļ
README.md 6dcaa93b03 init 4 mēneši atpakaļ
content.js 6dcaa93b03 init 4 mēneši atpakaļ
icon.svg 6dcaa93b03 init 4 mēneši atpakaļ
icon128.png 6dcaa93b03 init 4 mēneši atpakaļ
icon16.png 6dcaa93b03 init 4 mēneši atpakaļ
icon48.png 6dcaa93b03 init 4 mēneši atpakaļ
manifest.json 6dcaa93b03 init 4 mēneši atpakaļ
popup.html 6dcaa93b03 init 4 mēneši atpakaļ
popup.js 6dcaa93b03 init 4 mēneši atpakaļ
styles.css 6dcaa93b03 init 4 mēneši atpakaļ

README.md

医疗语音助手 - 安装部署指南

🚀 快速开始

环境要求

  • Python 3.8+
  • Chrome/Edge浏览器
  • 4GB+ 内存

第一步: 安装后端服务

# 进入服务目录
cd medical-voice-extension/server

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

requirements.txt:

flask==2.3.0
flask-cors==4.0.0
torch==2.0.1
transformers==4.30.0
faster-whisper==0.9.0

第二步: 启动服务

# 启动ASR服务(终端1)
python asr_server.py

# 启动NLP服务(终端2)
python nlp_server.py

第三步: 安装浏览器扩展

Chrome/Edge:

  1. 打开 chrome://extensions/edge://extensions/
  2. 开启"开发者模式"
  3. 点击"加载已解压的扩展程序"
  4. 选择 medical-voice-extension 文件夹
  5. 完成!

Firefox:

  1. 打开 about:debugging
  2. 点击"此Firefox"
  3. 点击"临时载入附加组件"
  4. 选择 manifest.json
  5. 完成!

第四步: 测试

  1. 打开任意网页(或HIS系统)
  2. 点击右下角的"🎤 语音输入"按钮
  3. 说话: "患者主诉头痛三天,诊断为偏头痛"
  4. 等待自动填表

📁 文件说明

medical-voice-extension/
├── manifest.json         # 扩展配置文件
├── content.js            # 核心逻辑(注入HIS页面)
├── background.js         # 后台脚本(可选)
├── styles.css            # 按钮样式
├── popup.html            # 扩展弹窗(可选)
├── server/
│   ├── asr_server.py     # 语音识别服务
│   ├── nlp_server.py     # 医疗NLP服务
│   └── requirements.txt  # Python依赖
└── README.md             # 本文件

⚙️ 配置

修改服务地址

编辑 content.js:

const CONFIG = {
  ASR_URL: 'http://localhost:5000/transcribe',  // ASR服务地址
  NLP_URL: 'http://localhost:5001/extract',     // NLP服务地址
};

适配HIS系统

编辑 content.js 中的 findInput 函数:

const idMap = {
  '主诉': ['chief_complaint', 'custom_cc_field'],  // 添加你的字段ID
  '诊断': ['diagnosis', 'custom_diag_field'],
  // ...
};

🔍 调试

查看日志

浏览器:

  1. 在HIS页面按F12打开开发者工具
  2. 查看Console标签,所有日志以[医疗语音助手]开头

服务端:

# 查看ASR服务日志
# 直接在终端查看输出

# 查看NLP服务日志
# 直接在终端查看输出

常见问题

1. 点击按钮没反应

  • 检查是否授予权限: Chrome设置 > 隐私和安全 > 网站设置 > 麦克风

2. 识别失败

  • 检查服务是否启动: curl http://localhost:5000/health
  • 检查浏览器控制台错误信息

3. 无法填写表单

  • 按F12查看HIS系统的字段ID
  • 修改findInput函数添加字段映射

4. Firefox不支持语音识别

  • 自动降级到本地ASR服务
  • 确保asr_server.py已启动

🛡️ 安全说明

  • ✅ 所有数据在内网流转,不经过外网
  • ✅ 语音数据本地处理,不上传云端
  • ⚠️ 生产环境建议添加身份认证

添加身份认证

# nlp_server.py
@app.before_request
def auth():
    token = request.headers.get('X-Auth-Token')
    if token != 'your-secret-token':
        return jsonify({'error': 'Unauthorized'}), 401
// content.js
fetch(CONFIG.NLP_URL, {
  headers: {
    'X-Auth-Token': 'your-secret-token'
  }
});

📞 技术支持

  • 文档: ../医生端语音填表技术方案.md
  • Issues: (项目地址)
  • 邮箱: (你的邮箱)