一个基于C++的AI文本助手,支持历史会话管理和长久记忆功能。
- 🤖 智能对话: 基于大语言模型的自然语言交互
- 💾 历史会话: 支持多个独立对话,可随时切换
- 🧠 长久记忆: AI在每个对话中保持完整的上下文记忆
- 🗑️ 会话管理: 支持删除不需要的历史对话
- 🌐 Web界面: 现代化的响应式Web界面
- 📱 跨平台: 支持桌面和移动端访问
mkdir build && cd build
cmake ..
make# 启动完整服务(推荐)
./start.shai-test/
├── src/ # C++源代码
│ ├── core/ # 核心AI助手逻辑
│ ├── web/ # HTTP服务器
│ ├── database/ # 数据库管理
│ └── utils/ # 工具类
├── include/ # 头文件
├── web-nextchat/ # Web前端界面
├── config/ # 配置文件
├── build/ # 编译输出目录
└── tests/ # 测试代码
主要配置文件:config/default_config.json
{
"llm": {
"provider": "openai",
"api_endpoint": "https://www.dmxapi.cn/v1/chat/completions", //代理平台
"api_key": "", //创建的令牌key
"model_name": "o4-mini-2025-04-16"
},
"prompt": {
"system_prompt": "You are a helpful AI text assistant...",
"max_history_messages": 10
}
}POST /api/chat
Content-Type: application/json
{
"message": "用户消息",
"conversation_id": "可选的对话ID"
}GET /api/conversationsGET /api/conversations/messages?conversation_id=<ID>DELETE /api/conversations
Content-Type: application/json
{
"conversation_id": "要删除的对话ID"
}- C++17 或更高版本
- CMake 3.10+
- SQLite3
- libcurl
- nlohmann/json
- Python 3 (用于前端服务)
# Debug模式
cmake -DCMAKE_BUILD_TYPE=Debug ..
# Release模式
cmake -DCMAKE_BUILD_TYPE=Release ..- 在
src/目录下添加源文件 - 在
include/目录下添加头文件 - 更新
CMakeLists.txt - 编写相应的测试
Q: 编译失败
- 检查依赖是否安装完整
- 确认C++编译器版本
Q: 服务启动失败
- 检查端口是否被占用
- 确认配置文件格式正确
Q: 前端无法连接后端
- 确认后端服务正在运行
- 检查防火墙设置
Q: 删除对话失败
- 检查浏览器控制台错误
- 确认CORS设置正确
本项目采用MIT许可证。详见LICENSE文件。
欢迎提交Issue和Pull Request!
- Fork本项目
- 创建功能分支
- 提交更改
- 推送到分支
- 创建Pull Request