mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-04 08:25:26 +08:00
2.2 KiB
2.2 KiB
贡献指南
感谢你对 DS2API 的贡献!
开发环境设置
后端
# 1. 克隆仓库
git clone https://github.com/CJackHwang/ds2api.git
cd ds2api
# 2. 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. 安装依赖
pip install -r requirements.txt
# 4. 配置
cp config.example.json config.json
# 编辑 config.json
# 5. 启动
python dev.py
前端 (WebUI)
cd webui
npm install
npm run dev
代码规范
- Python: 遵循 PEP 8,使用 4 空格缩进
- JavaScript/React: 使用 4 空格缩进,使用函数组件
- 提交信息: 使用语义化提交格式(如
feat:,fix:,docs:)
提交 PR
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/xxx) - 提交更改 (
git commit -m 'feat: 添加xxx功能') - 推送分支 (
git push origin feature/xxx) - 创建 Pull Request
WebUI 构建
重要: 修改
webui/目录后 无需手动构建!
当 PR 合并到 main 分支后,GitHub Actions 会自动:
- 构建 WebUI
- 提交构建产物到
static/admin/
如果需要本地构建(测试用):
./scripts/build-webui.sh
项目结构
ds2api/
├── app.py # FastAPI 应用入口
├── dev.py # 开发服务器
├── core/ # 核心模块
│ ├── auth.py # 账号认证与轮询
│ ├── config.py # 配置管理
│ ├── deepseek.py # DeepSeek API 调用
│ ├── models.py # 模型定义
│ ├── pow.py # PoW 计算
│ └── sse_parser.py # SSE 解析
├── routes/ # API 路由
│ ├── openai.py # OpenAI 兼容接口
│ ├── claude.py # Claude 兼容接口
│ ├── home.py # 首页路由
│ └── admin/ # 管理接口
├── webui/ # React WebUI 源码
├── static/admin/ # WebUI 构建产物(自动生成)
└── scripts/ # 辅助脚本
问题反馈
- 使用 GitHub Issues 报告问题
- 提供详细的复现步骤和日志信息