Skip to content

Repository files navigation

AvatarChat

AvatarChat是一个基于数字分身的社交平台,用户可以通过上传外观图片、声音采样、性格思维来定制一个属于自己的化身;也可以探索其他人的化身,先与化身聊天,再和真人交友,在无社交焦虑的情况下寻找志同道合的朋友。

API文档

详细的API接口文档请参考 API参考文档

环境准备

安装依赖

pip install -r requirements.txt

配置修改

  1. 修改 app/main.py 中的 allow_origins 设置,确保包含您的前端域名
  2. 修改 frontend/config.js 中的 apiUrl 指向您的后端服务地址
  3. 修改 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.py

启动前端

方法一:使用 http-server(调试模式)

cd frontend
http-server -p 5500 --no-cache

方法二:使用 npm(开发模式)

cd frontend
npm install
npm run dev

测试

运行后端测试

# 方法一
python app/test/run_tests.py

# 方法二(带覆盖率报告)
python -m pytest app/test/ -v --cov=app --cov-report=term

故障排除

音频、视频合成功能问题

如果音频或视频合成功能出现问题,请检查以下几点:

  1. 阿里云账户余额是否充足
  2. OSS空间是否需要清理(注意不要删除数据库中路径对应的文件,尤其是视频合成每次都会上传新文件)
  3. 是否允许到 https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com 的跨域访问
  4. 音频是否清晰,图片是否能正确检测到人脸

配置阿里云OSS跨域访问

  1. 登录阿里云OSS控制台
  2. 选择相应的Bucket
  3. 点击"数据安全" > "跨域设置"
  4. 添加规则:
    • 来源:添加 http://127.0.0.1:5500 和您的生产域名
    • 允许Methods:至少包括GET、HEAD
    • 允许Headers:*
    • 暴露Headers:根据需要设置
    • 缓存时间:根据需要设置(例如86400秒)

注意事项

  • 后端文档页面:浏览器要关闭"禁用缓存"选项,第一次进入可能需要使用代理
  • 旧分支 master 已弃用,请使用最新分支

授权协议 (License)

License: CC BY-NC-SA 4.0

Copyright (c) 2025

本项目采用 CC BY-NC-SA 4.0 国际许可协议进行许可。

有关完整的协议文本,请参阅项目根目录下的 LICENSE 文件。

简而言之,您可以自由地:

  • 共享 — 在任何媒介或格式下复制并重新分发本材料。
  • 演绎 — 修改、转换或基于本材料进行创作。

只要您遵守以下条款:

  • 署名 (Attribution) — 您必须给出适当的署名,提供指向本许可的链接,并指出是否对内容进行了更改。
  • 非商业性使用 (NonCommercial) — 您不得将本材料用于商业目的。
  • 相同方式共享 (ShareAlike) — 如果您修改、转换或基于本材料进行创作,您必须以与原先许可协议相同的许可协议分发您的贡献。

这是对 完整协议文本 的一个简单概述。请务必阅读完整的法律文本以了解所有条款。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages