AI Agent、架构决策记录与工程上下文治理:团队如何把隐性约束留在仓库里
2026/7/30 10:31:38
xcchat 是一个基于 Django 和 Django Channels 构建的轻量级在线客服系统。它支持实时聊天、人工/机器人客服切换、访客信息追踪和多站点接入。
xcchat 采用现代化的分层架构设计:
项目目前采用单一数据库设计:
知识库相关的数据结构和存储方案将在后续版本中重新设计,以适配新的简洁知识库功能。
git clone <repository_url> cd xcchat//创建虚拟环境 python -m venv venv //切换到虚拟环境 venv\Scripts\activate //更新pip python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple //安装requirements python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple//创建虚拟环境 python -m venv venv //切换到虚拟环境 source venv/bin/activate //更新pip python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple //安装requirements python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple项目使用 MySQL 作为主数据库,向量数据也存储在同一数据库中(使用二进制字段存储向量,不再依赖 pgvector 扩展)。
在framework/settings.py中配置数据库连接:
ENGINE:django.db.backends.mysqlHOST: 数据库主机PORT: 端口(默认 3306)NAME: 数据库名USER: 用户名PASSWORD: 密码python manage.py migrate项目已内置默认管理员账号:
adminadmin888开发环境下可以使用 Django 自带的runserver(支持 ASGI):
python manage.py runserver 0.0.0.0:8063或者使用daphne启动:
daphne -b 0.0.0.0 -p 8063 framework.asgi:application访问http://localhost:8063/login/使用默认管理员账号登录:
adminadmin888首次登录后建议立即修改密码以保障系统安全。
在站点列表页面查看站点的 API Key。 将以下代码添加到你网站 HTML 的<body>标签结束前:
<script src="http://你的域名:端口/static/widget/js/xcchat.js" data-api-key="你的API_KEY"> </script>知识库相关功能正在重构中,当前版本暂未提供知识库管理与对话能力。
xcchat/ ├── chat/ # 核心聊天业务 (Models, Consumers) ├── core/ # 核心用户模型和日志 ├── sysadmin/ # 系统管理员后台视图 ├── website/ # 官网/着陆页 ├── widget/ # 前端组件 (JS Widget) ├── framework/ # 项目配置 (Settings, ASGI/WSGI) ├── static/ # 静态文件 ├── templates/ # 全局模板 ├── manage.py # Django 管理脚本 └── requirements.txt # 项目依赖注:该系统采用B2C架构,为企业提供客户服务支持,而非多租户SaaS平台。
PyMySQL作为 MySQL 驱动,确保按requirements.txt安装即可。Pillow(已在requirements.txt列出),并重新运行迁移。daphne或uvicorn部署 ASGI 服务,前置反向代理(如 Nginx)。MIT License