开源的智能呼叫系统
开源的智能呼叫系统

开源的智能呼叫系统

AI VoIP

  • 一个基于 FastAPI + PostgreSQL + Vue3 的智能外呼平台示例工程,覆盖 SIP 线路管理、话术编排、名单导入、任务外呼、录音管理、转写结果查看和基础质检能力。
  • 这个基础的版本将话术编排好后,拿到SIP账号后就可以做群拨了,由于实在是精力有限,其他的功能自己完善吧。
  • 同时本人也开发了一套在freeswitch中的推流模块,可以实现PCM注入,文件转写,也支持打断,支持高并发。详细的看这里FreeSwitch推流模块
  • 目前这一套中小型企业自用是完全足够了,录音也落盘了,同时支持minio存储,自己配置就行了。
  • 项目开源地址智能呼叫系统

待完善的功能

  • 目前线路只有SIP,暂时还没做对接线路,也没有做ESL。
  • 质检的功能各家情况不一样,这里只做了一个基础的版本,可以根据自己的需求进行扩展。

功能概览

  • SIP 线路管理:支持 sip_accountgateway
  • 话术画布:节点编排、分支配置、版本发布
  • 名单与批次:联系人导入、批次归档
  • 任务运行:任务调度、执行批次、会话列表
  • 线路池并发:一个任务可绑定多条 SIP 线路,运行时按线路可用并发自动分配
  • 录音管理:按通话展示录音文件,支持试听和下载
  • 转写结果:按通话展示客服 / 客户对话时间线
  • 质检与运行态:基础质检、日志排查、接口联调

页面预览

首页

  • index

话术编排

  • script

项目结构

.
├── README.md
├── SECURITY.md
├── ai_voip_backend
│   ├── README.md
│   ├── .env.example
│   ├── docs/API.md
│   ├── pyproject.toml
│   ├── sql/pgsql
│   └── src/ai_voip_backend
├── web-admin-vue3
    ├── .env.example
    ├── package.json
    └── src

环境要求

  • Linux
  • uv
  • Python 3.10
  • PostgreSQL 14+
  • Node.js 20+
  • npm 10+
  • ffmpeg 6.x,如果需要处理录音或音频转码,建议提前安装

快速开始

1. 初始化后端

cd ai_voip_backend
cp .env.example .env
uv sync
uv run ai-voip-backend apply-sql
uv run ai-voip-backend bootstrap-admin --username admin --password '
<YOUR_ADMIN_PASSWORD>' --display-name '系统管理员'

2. 启动后端

cd ai_voip_backend
uv run ai-voip-api

默认地址:

  • API:http://127.0.0.1:3900
  • Swagger:http://127.0.0.1:3900/docs
  • OpenAPI:http://127.0.0.1:3900/openapi.json

3. 初始化前端

cd web-admin-vue3
cp .env.example .env
npm install
npm run dev

默认前端地址:

  • Web Admin:http://127.0.0.1:5173

配置说明

后端环境变量

请参考 ai_voip_backend/.env.example

  • AIVOIP_PG_HOST:PostgreSQL 地址
  • AIVOIP_PG_PORT:PostgreSQL 端口
  • AIVOIP_PG_USER:数据库用户
  • AIVOIP_PG_PASSWORD:数据库密码
  • AIVOIP_PG_DATABASE:数据库名
  • AIVOIP_JWT_SECRET:JWT 签名密钥
  • AIVOIP_TOKEN_ENCRYPTION_KEY:访问令牌加密密钥

开发命令

后端

cd ai_voip_backend
uv sync
uv run ai-voip-backend list-sql
uv run ai-voip-backend apply-sql
uv run python -m compileall src

前端

cd web-admin-vue3
npm install
npm run dev
npm run build

数据与存储

  • 数据库统一使用 PostgreSQL
  • 录音、TTS 产物、导出文件默认走本地目录
  • 也支持 MinIO / S3 Compatible,但开源仓库不包含任何真实桶配置或访问密钥

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

3 + 1 =