问题域/PD-178

多 Git 平台适配

Multi-Git Platform Adapter

统一适配 GitHub/GitLab/Bitbucket 的仓库克隆和文件内容获取

子问题

1.多平台 clone URL 构造

2.各平台 API 文件获取

3.默认分支检测

4.GitHub Enterprise 支持

5.Token 特殊字符的 URL 编码安全处理

6.错误信息中的凭证泄露防护

7.前端自动检测 Git 平台类型

各项目的解法1 solutions

Signals

横向对比

维度DeepWiki
平台覆盖GitHub + GitLab + Bitbucket 三平台,含 GitHub Enterprise
路由机制repo_type 参数 + if/elif 策略分发,无抽象基类
认证方式urlparse+urlunparse 安全拼接,三种 token 嵌入格式
分支检测GitHub 隐式默认,GitLab/Bitbucket 显式 API 查询 + main 降级
Enterprise 支持GitHub Enterprise 通过 netloc 判断自动切换 /api/v3 端点
安全防护双重 Token 脱敏(raw + URL-encoded),日志不暴露 clone URL

最佳实践

1.repo_type 参数统一路由

2.urlparse 解析支持自定义域名

3.各平台 API 差异封装在独立函数中

4.clone 错误信息同时脱敏 raw token 和 URL-encoded token

5.前端通过 hostname 关键词自动推断平台类型,减少用户操作

6.GitLab 使用 PRIVATE-TOKEN header 而非 Bearer token 认证