2.8 KiB
2.8 KiB
技术选型
本项目技术选型说明,包含与框架规范的覆盖声明
一、遵循框架规范
| 层级 | 技术 | 说明 |
|---|---|---|
| 前端框架 | Vue 3 + TypeScript | 符合框架规范 |
| 构建工具 | Vite | 符合框架规范 |
| UI 组件库 | Element Plus | 符合框架规范 |
| CSS 方案 | Tailwind CSS | 符合框架规范 |
| HTTP 客户端 | Axios | 符合框架规范 |
| 状态管理 | Pinia | 按需使用 |
| 后端框架 | Python + FastAPI | 符合框架规范 |
| 容器化 | Docker + Docker Compose | 符合框架规范 |
二、技术选型覆盖
以下选项与框架默认规范不同,需特别说明
| 项目 | 框架默认 | 本项目选择 | 覆盖原因 |
|---|---|---|---|
| AI 网关 | OpenRouter.ai | Coze API | 复用已有 Coze 工作流,包含完整面试逻辑 |
| 数据存储 | MySQL | Coze 数据库 | 复用现有数据结构,减少开发工作量 |
| 实时音视频 | - | 火山引擎 RTC | 与 Coze 同属火山引擎生态,官方支持对接 |
三、第三方服务依赖
3.1 Coze 平台
| 资源 | ID | 用途 |
|---|---|---|
| Bot(工作流) | 7595113005181386792 | AI 面试官对话逻辑 |
| 数据库 | 7595077053909712922 | 候选人数据存储 |
API 端点:
- 基础 URL:
https://api.coze.cn - 文件上传:
POST /v1/files/upload - 语音房间:
POST /v1/audio/rooms - 数据库查询:
POST /v1/database/query
3.2 火山引擎 RTC
| 配置项 | 说明 |
|---|---|
| SDK | @volcengine/rtc |
| 音频格式 | PCM 16000Hz |
| 用途 | 前端与 Coze Bot 实时语音通话 |
四、环境变量
# Coze 配置
COZE_API_BASE=https://api.coze.cn
COZE_PAT_TOKEN=pat_xxx # 从 Coze 平台获取
COZE_BOT_ID=7595077233002840079
COZE_DATABASE_ID=7595077053909712922
# 火山引擎 RTC 配置
VOLCENGINE_APP_ID=xxx # 从火山引擎控制台获取
VOLCENGINE_APP_KEY=xxx
# 服务配置
API_PORT=8000
FRONTEND_URL=http://localhost:5173
五、前端依赖清单
{
"dependencies": {
"vue": "^3.4.0",
"vue-router": "^4.2.0",
"pinia": "^2.1.0",
"axios": "^1.6.0",
"element-plus": "^2.5.0",
"@element-plus/icons-vue": "^2.3.0",
"@volcengine/rtc": "^4.x"
},
"devDependencies": {
"typescript": "^5.3.0",
"vite": "^5.0.0",
"tailwindcss": "^3.4.0",
"@vitejs/plugin-vue": "^5.0.0"
}
}
六、后端依赖清单
# requirements.txt
fastapi>=0.109.0
uvicorn>=0.27.0
httpx>=0.26.0
python-multipart>=0.0.6
pydantic>=2.5.0
python-dotenv>=1.0.0
变更日志
| 日期 | 变更内容 | 操作人 |
|---|---|---|
| 2026-01-20 | 初始化技术选型 | AI |