URDOC 是一个基于大语言模型的虚拟医学病例研究平台,集成病例生成、故事编写、问题设计、问诊模拟和能力评估功能。平台采用 CSTAR 方法论,为医学教育和临床实践提供高效、灵活且创新的学习环境。
- 🏥 病例生成 (Case) - AI 驱动的医学病例创建,提供真实临床场景
- 📝 编写故事 (Story) - 交互式医学叙事发展,丰富病例背景
- ❓ 考核理论 (Test) - 智能医学问题生成与理论考核
- 💬 互动实践 (Act) - 真实的医患问诊互动模拟
- 📊 评估能力 (Rate) - 全面的学习效果评估和反馈系统
- 🎯 CSTAR 集成 - 五阶段医学能力培训闭环(Case-Story-Test-Act-Rate)
- 🖼️ 多模态支持 - 集成图像、音频等多媒体元素增强病例真实性
- 📁 项目管理 - 病例研究项目的创建、组织和协作功能
- ⚙️ 个性化设置 - 用户偏好、工作流程和系统配置选项
- Nuxt.js 4.x - 全栈 Vue.js 框架
- Vue.js 3.x - 渐进式 JavaScript 框架
- Nuxt UI v4.x - 基于 Tailwind CSS 的 UI 组件库
- Tailwind CSS v4.x - 原子化 CSS 框架
- TypeScript - 类型安全开发
- pnpm - 高效包管理器
- Tencent Cloud EdgeOne - Serverless 边缘计算部署
- AI SDK - 大语言模型集成(OpenAI 兼容)
- Pinia - 状态管理
- ESLint + Prettier - 代码质量和格式化
urdoc/
├── app/ # 应用源代码(Nuxt 4 约定)
│ ├── app.vue # 根组件
│ ├── app.config.ts # 应用配置(主题、颜色等)
│ ├── assets/
│ │ └── css/main.css # 全局样式
│ ├── components/
│ │ ├── App/ # 应用级组件
│ │ │ ├── Navbar.vue # 顶部导航栏
│ │ │ └── Sidebar.vue # 侧边栏导航
│ │ ├── Button/ # 按钮组件
│ │ ├── Case/ # 病例相关组件
│ │ └── Story/ # 故事相关组件
│ ├── layouts/
│ │ ├── default.vue # 仪表盘布局(侧边栏 + 内容区)
│ │ └── landing.vue # 落地页布局
│ ├── pages/
│ │ ├── index.vue # 首页(落地页)
│ │ ├── dashboard/ # 仪表盘
│ │ │ └── index.vue # 仪表盘概览
│ │ ├── multimodal/ # 多模态功能
│ │ ├── project/ # 项目管理
│ │ ├── settings/ # 系统设置
│ │ └── cstar/ # CSTAR 五阶段流程
│ │ ├── case.vue # 病例生成
│ │ ├── story.vue # 故事编写
│ │ ├── test.vue # 考核理论
│ │ ├── act.vue # 互动实践
│ │ └── rate.vue # 评估能力
│ ├── stores/ # Pinia 状态管理
│ ├── types/ # TypeScript 类型定义
│ └── utils/ # 工具函数
├── public/ # 静态资源
├── nuxt.config.ts # Nuxt 配置
├── eslint.config.mjs # ESLint 配置
├── .prettierrc.json # Prettier 配置
## 🚀 快速开始
### 前置要求
- Node.js 18.x 或更高版本
- pnpm
### 安装
```bash
git clone https://github.com/dearfad/urdoc.git
cd urdoc
pnpm install
# 启动开发服务器(支持局域网访问)
pnpm dev
# 生产构建
pnpm build
# 预览生产构建
pnpm preview
# 静态站点生成
pnpm generate- 无分号、单引号、120 字符行宽
- ESLint + Prettier 集成(保存时自动格式化)
项目部署在 腾讯云 EdgeOne 平台,使用 Serverless 函数提供后端 API 服务。
# 构建并部署
pnpm build部署配置详见 edgeone.json。
完整项目文档:https://docs.urdoc.dearfad.com
欢迎贡献代码、报告问题或提出建议!
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
MIT License - Copyright 2025-2026 dearfad
- Nuxt.js - 直观的 Vue 全栈框架
- Nuxt UI - 现代化的 UI 组件库
- Tailwind CSS - 实用的原子化 CSS 框架
- Tencent Cloud EdgeOne - 边缘计算平台
为医学教育和临床实践 ❤️ 制作