部署说明

这页只写当前仓库真实可用的启动方式。

环境要求

  • Python 3.11+

  • Node.js 18+

  • 一个可用的 OpenAI 兼容 LLM 接口

  • 一个可用的 Embedding 接口,或者本地 Embedding 模型

录音上传转写不是必需功能;如果你要用它,再额外配置语音相关环境变量。

1. 复制环境变量

cp .env.example .env

2. 最小可运行配置

如果你想先把项目跑起来,推荐先用 API Embedding 模式。如果你使用远程 Embedding API,最小可运行配置如下:

API_BASE=https://your-llm-api-base/v1
API_KEY=sk-your-api-key
MODEL=your-model-name
EMBEDDING_BACKEND=api
EMBEDDING_API_BASE=https://your-embedding-api-base/v1
EMBEDDING_API_KEY=sk-your-embedding-key
EMBEDDING_API_MODEL=your-embedding-model

这些变量分别是:

  • API_BASE:主 LLM 的 OpenAI 兼容接口地址。面试、复盘、JD 分析都会走它。

  • API_KEY:上面这个 LLM 接口的密钥。

  • MODEL:主 LLM 模型名。

  • EMBEDDING_BACKEND:Embedding 走哪条路,只能是 apilocal

  • EMBEDDING_API_BASE:Embedding 接口地址。如果你用官方 OpenAI Embedding,这个值可以留空。

  • EMBEDDING_API_KEY:Embedding 接口密钥。

  • EMBEDDING_API_MODEL:Embedding 模型名。这里不要照抄示例,应该改成你的服务实际支持的模型。

默认认证配置如下;如果不改,启动后可以直接登录:

3. 如果你想用本地 Embedding

如果你不想走远程 Embedding API,可以改成:

说明:

  • LOCAL_EMBEDDING_MODEL:本地 Embedding 模型名。

  • LOCAL_EMBEDDING_PATH:如果你已经把模型下载到本地,可以直接写本地路径。

  • LOCAL_EMBEDDING_MODELLOCAL_EMBEDDING_PATH 二选一即可。

  • 本地模式需要额外安装依赖:pip install -r requirements.local-embedding.txt

4. 本地手动启动

后端:

前端:

启动后访问:

5. Docker 启动

启动后访问:

6. 面试 Copilot 的额外配置

如果你要启用 Copilot 的独立模型、实时语音识别或联网公司搜索,还需要补齐这些可选项:

这些变量的作用分别是:

  • COPILOT_API_BASE / COPILOT_API_KEY / COPILOT_MODEL:给 Copilot 单独指定一套 OpenAI 兼容模型配置。不填时会回退到主 LLM。

  • NLS_APPKEY / NLS_ACCESS_KEY_ID / NLS_ACCESS_KEY_SECRET:给 Copilot 的实时语音识别使用。不配时,Copilot 仍可用,但只能手动输入 HR 的问题。

  • TAVILY_API_KEY:给 Copilot Prep 阶段的公司联网搜索使用。不配时不会整段报废,但公司情报会退化成“跳过联网搜索”。

额外注意:

  • 启用 NLS_* 不只要填环境变量,还要额外安装阿里云 NLS Python SDK。

  • 如果你只是想先用 Copilot,看 JD 分析、匹配分析和策略树,NLS_*TAVILY_API_KEY 都不是强制项。

  • 这些值怎么申请、控制台里去哪里找,统一看 外部服务配置

7. 录音转写的额外配置

如果你要使用“上传录音 -> 自动转写”这条链路,还需要补齐:

这些变量不是可有可无的一半配置,而是同一条链路里的两段能力:

  • DASHSCOPE_API_KEY:阿里云 DashScope 的语音转写能力。

  • QINIU_ACCESS_KEY / QINIU_SECRET_KEY:上传到七牛所需的访问凭证。

  • QINIU_BUCKET:目标存储空间。

  • QINIU_DOMAIN:七牛对外访问域名。这里应该填完整域名前缀,例如 https://cdn.example.com

当前代码的转写流程是:先把音频传到七牛拿公网 URL,再把 URL 交给 DashScope 转写。所以如果你要走“上传录音并自动转写”,DASHSCOPE_API_KEY 和整组 QINIU_* 都要配置。

如果这些没配,也不影响主要训练流程;录音复盘可以直接粘贴逐字稿文本。

这些值怎么申请、控制台里去哪里找,统一看 外部服务配置

8. 线上部署注意事项

  • 手动开发模式下,前端默认是 5173,后端是 8000

  • Docker 模式下,前端默认对外暴露 80 端口。

  • 如果你在线上要使用麦克风或录音相关能力,建议启用 HTTPS;浏览器对非 localhost 的音频权限更严格。

  • 线上环境不要保留默认的 JWT_SECRETDEFAULT_PASSWORD

最后更新于

这有帮助吗?