AvatarChat是一个基于数字分身的社交平台,用户可以通过上传外观图片、声音采样、性格思维来定制一个属于自己的化身;也可以探索其他人的化身,先与化身聊天,再和真人交友,在无社交焦虑的情况下寻找志同道合的朋友。
详细的API接口文档请参考 API参考文档
pip install -r requirements.txt- 修改
app/main.py中的allow_origins设置,确保包含您的前端域名 - 修改
frontend/config.js中的apiUrl指向您的后端服务地址 - 修改
app/config.py中的BASE_URL配置
在 Windows 上运行 services.msc 启动 MySQL 服务,使用 avatarchat20250414.sql 文件创建数据库和表。
# 开发模式(支持热重载)
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000# 或使用项目提供的脚本
python run.pycd frontend
http-server -p 5500 --no-cachecd frontend
npm install
npm run dev# 方法一
python app/test/run_tests.py
# 方法二(带覆盖率报告)
python -m pytest app/test/ -v --cov=app --cov-report=term如果音频或视频合成功能出现问题,请检查以下几点:
- 阿里云账户余额是否充足
- OSS空间是否需要清理(注意不要删除数据库中路径对应的文件,尤其是视频合成每次都会上传新文件)
- 是否允许到
https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com的跨域访问 - 音频是否清晰,图片是否能正确检测到人脸
- 登录阿里云OSS控制台
- 选择相应的Bucket
- 点击"数据安全" > "跨域设置"
- 添加规则:
- 来源:添加
http://127.0.0.1:5500和您的生产域名 - 允许Methods:至少包括GET、HEAD
- 允许Headers:*
- 暴露Headers:根据需要设置
- 缓存时间:根据需要设置(例如86400秒)
- 来源:添加
- 后端文档页面:浏览器要关闭"禁用缓存"选项,第一次进入可能需要使用代理
- 旧分支
master已弃用,请使用最新分支
Copyright (c) 2025
本项目采用 CC BY-NC-SA 4.0 国际许可协议进行许可。
有关完整的协议文本,请参阅项目根目录下的 LICENSE 文件。
简而言之,您可以自由地:
- 共享 — 在任何媒介或格式下复制并重新分发本材料。
- 演绎 — 修改、转换或基于本材料进行创作。
只要您遵守以下条款:
- 署名 (Attribution) — 您必须给出适当的署名,提供指向本许可的链接,并指出是否对内容进行了更改。
- 非商业性使用 (NonCommercial) — 您不得将本材料用于商业目的。
- 相同方式共享 (ShareAlike) — 如果您修改、转换或基于本材料进行创作,您必须以与原先许可协议相同的许可协议分发您的贡献。
这是对 完整协议文本 的一个简单概述。请务必阅读完整的法律文本以了解所有条款。