update license
一个基于 Next.js 的智能聊天机器人演示项目,展示了现代 DevOps 开发流程的最佳实践。项目集成了多个 AI 服务商,支持自动化测试、持续集成,是学习和实践 DevOps 工作流的示例。
devops-chatbot/ ├── components/ # React 组件 │ ├── Chat/ # 聊天相关组件 │ └── Layout/ # 布局组件 ├── pages/ # Next.js 页面 │ ├── api/ # API 路由 │ └── index.tsx # 首页 ├── types/ # TypeScript 类型定义 ├── utils/ # 工具函数 ├── __tests__/ # 测试文件 ├── __mocks__/ # 测试模拟文件 ├── styles/ # 样式文件 ├── public/ # 静态资源 ├── providers.json # AI 服务商配置 ├── jest.config.js # Jest 配置 ├── tailwind.config.js # Tailwind 配置 └── tsconfig.json # TypeScript 配置
git clone https://www.gitlink.org.cn/Azyka/devops-chatbot.git cd devops-chatbot
npm install
项目已在 providers.json 中预配置了以下服务商:
providers.json
[ { "id": "siliconflow", "name": "SiliconFlow", "baseUrl": "https://api.siliconflow.cn/v1/chat/completions", "apiKeyEnv": "SILICONFLOW_API_KEY", "models": [ "deepseek-ai/DeepSeek-V3", "Qwen/Qwen3-8B" ] }, { "id": "deepseek", "name": "DeepSeek", "baseUrl": "https://api.deepseek.com/v1/chat/completions", "apiKeyEnv": "DEEPSEEK_API_KEY", "models": [ "deepseek-chat", "deepseek-reasoner" ] }, { "id": "doubao", "name": "DouBao", "baseUrl": "https://ark.cn-beijing.volces.com/api/v3/chat/completions", "apiKeyEnv": "DOUBAO_API_KEY", "models": [ "doubao-seed-1.6-250615" ] } ]
如需添加新的服务商,请:
pages/api/chat.ts
apiKeys
在项目根目录创建 .env.local 文件:
.env.local
# SiliconFlow API Key SILICONFLOW_API_KEY=your_siliconflow_api_key # DeepSeek API Key DEEPSEEK_API_KEY=your_deepseek_api_key # DouBao API Key DOUBAO_API_KEY=your_doubao_api_key
npm run dev
访问 http://localhost:3000 查看应用。
# 运行所有测试 npm test # 监视模式运行测试 npm run test:watch # 生成测试覆盖率报告 npm run test:coverage
__tests__/
components/Chat/__tests__/
__mocks__/
jest.config.js
jest.setup.js
npm run build
npm start
npm run lint
git checkout -b <YOUR BRANCH NAME>
git add . git commit -m "feat: 添加新功能描述"
git push origin <YOUR BRANCH NAME>
在 GitLink 上创建 Merge Request:
团队成员审查代码后,合并到主分支。
# 删除本地分支 git branch -d <YOUR BRANCH NAME> # 删除远程分支 git push origin --delete <YOUR BRANCH NAME>
git checkout <YOUR BRANCH NAME> git fetch origin git rebase origin/main # 如果有冲突,解决后继续 git rebase --continue
编辑 utils/index.ts 文件中的系统提示词。
utils/index.ts
编辑 pages/index.tsx 文件中的助手提示词。
pages/index.tsx
修改 components/Chat/ 目录下的组件文件。
components/Chat/
依赖安装失败
rm -rf node_modules package-lock.json npm install
测试失败
npm run test:coverage
API 密钥错误
构建失败
npm run lint npm run build
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
分布式计算环境25春组10,开发运维一体化技术演示,基于一个简单的开源chatbot项目实现,正在持续开发中
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
devops-chatbot
一个基于 Next.js 的智能聊天机器人演示项目,展示了现代 DevOps 开发流程的最佳实践。项目集成了多个 AI 服务商,支持自动化测试、持续集成,是学习和实践 DevOps 工作流的示例。
小组成员
特性
技术栈
项目结构
快速开始
1. 克隆仓库
2. 安装依赖
3. 配置 AI 服务商
3.1 配置服务商信息
项目已在
providers.json
中预配置了以下服务商:3.2 添加新的服务商
如需添加新的服务商,请:
providers.json
中添加配置pages/api/chat.ts
中的apiKeys
对象中添加对应的环境变量映射3.3 设置环境变量
在项目根目录创建
.env.local
文件:4. 启动开发服务器
访问 http://localhost:3000 查看应用。
测试
运行测试
测试结构
__tests__/
- 主要测试文件components/Chat/__tests__/
- 聊天组件测试__mocks__/
- 测试模拟文件jest.config.js
- Jest 配置jest.setup.js
- 测试环境配置构建和部署
构建生产版本
启动生产服务器
代码检查
开发工作流
使用 Git 分支开发
在 GitLink 上创建 Merge Request:
团队成员审查代码后,合并到主分支。
继续在现有分支上开发
自定义配置
修改系统提示词
编辑
utils/index.ts
文件中的系统提示词。修改助手提示词
编辑
pages/index.tsx
文件中的助手提示词。更新对话界面
修改
components/Chat/
目录下的组件文件。故障排除
常见问题
依赖安装失败
测试失败
API 密钥错误
.env.local
文件是否正确配置构建失败
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。