# Smart Meeting Platform **Repository Path**: newpc/smart-meeting-platform ## Basic Information - **Project Name**: Smart Meeting Platform - **Description**: 基于 FastAPI、Vue 3 和 Jitsi 的单机智能会议平台。当前定位为融合通讯会议平台,包含集群对讲、音频指挥、视频会商、历史记录、项目与组织、融合接入、AI 模板、接入应用和接口运行审计。设备视频由视频会商页面直接接入,视频中心负责设备运维。用户、角色、菜单、系统配置、数据字典、附件、系统监控和操作审计继续保留,Python 环境仅作为隐藏运维入口。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-31 - **Last Updated**: 2026-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Smart Meeting Platform 基于 FastAPI、Vue 3 和 Jitsi 的单机智能会议平台。开发和测试可使用 SQLite,9363 生产已切换到 MySQL 兼容数据库和可配置连接池。 ## Structure - `server`: FastAPI backend with authentication, users, roles, menus, configs, and audit logs. - `web`: Vue 3 + Vite frontend for the admin console. 当前定位为融合通讯会议平台,包含集群对讲、音频指挥、视频会商、历史记录、项目与组织、融合接入、AI 模板、接入应用和接口运行审计。设备视频由视频会商页面直接接入,视频中心负责设备运维。用户、角色、菜单、系统配置、数据字典、附件、系统监控和操作审计继续保留,Python 环境仅作为隐藏运维入口。 视频设备默认由 `egova-video-go` 提供目录、状态、云台、预置位、巡航、截图、录像、GB28181 与按需转码能力,由 ZLMediaKit 提供 WHEP;每个参会浏览器直拉全部已打开设备流,并把每路设备注册为 Jitsi shared-video 假参与者,统一进入参会者、缩略图、固定和宫格布局。平台不再依赖 `media-gateway`,H.265 等不兼容流由视频中台按需转成 H.264 后交给 ZLMediaKit。 支持的视频中台 GB28181 对讲设备可按半双工 PTT 拉入会议:所有参会端通过 WHEP 收听,主持端按住讲话时复用当前 Jitsi 麦克风,通过 WHIP 与视频中台广播下发设备。第三方网页、大屏和移动 WebView 使用项目级 OpenAPI 与一次性入会票据接入,示例和安全边界见 `examples/third_party_meeting/README.md`。 第三方系统通过项目级接入应用调用 `/openapi/v1/*`,服务端创建/控制会议并向网页、大屏或移动 WebView 签发一次性入会票据。可运行示例见 `examples/third_party_meeting/README.md`。 更多维护信息见 `doc/MODULE_INDEX.md`、`doc/ARCHITECTURE.md`、`USAGE.md`、`server/app/meeting/MODULE.md` 和 `deploy/platform/MODULE.md`。 当前生产交接状态和后续事项见 `docs/HANDOFF.md`。 新 Codex 对话继续开发前,请先阅读 `docs/CODEX_HANDOFF.md`。 产品阶段进展、性能指标、能力成熟度和后续路线见 `docs/PRODUCT_PROGRESS_REPORT.md`。 数据库迁移、回滚和并发验收见 `docs/MYSQL_MIGRATION.md`。 生产部署入口为 `deploy-9363.ps1`。脚本只把 Git 已跟踪的 `server/**/*.py`、`server/requirements.txt` 和新构建的 `server/dist` 覆盖到固定 `current/server` 路径,不轮换或备份服务版本代码;`runtime/platform.env`、可选 `server/config.toml` 和运行数据均保留。平台使用 Conda + `systemd` 运行,Uvicorn 在 `https://<公网IP>:20103` 直接提供 API、WebSocket 和前端文件;Jitsi 使用 `20100/tcp` 与 `20102/udp`,语音代理和模型服务只绑定服务器回环地址 `20104-20105`。部署细节见 `docs/DEPLOYMENT.md`。 ## Run Backend: ```bash cd server python -m venv venv venv\Scripts\activate pip install -r requirements.txt copy config.example.toml config.toml python main.py ``` Frontend: ```bash cd web npm install npm run dev ``` 初始管理员用户名为 `admin`,密码由部署环境的 `DEFAULT_ADMIN_PASSWORD` 注入,不在仓库中保存。