Files
ds2api/CONTRIBUTING.md

2.2 KiB
Raw Blame History

贡献指南

感谢你对 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

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/xxx)
  3. 提交更改 (git commit -m 'feat: 添加xxx功能')
  4. 推送分支 (git push origin feature/xxx)
  5. 创建 Pull Request

WebUI 构建

重要: 修改 webui/ 目录后 无需手动构建

当 PR 合并到 main 分支后GitHub Actions 会自动:

  1. 构建 WebUI
  2. 提交构建产物到 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 报告问题
  • 提供详细的复现步骤和日志信息