@@ -84,17 +84,25 @@ github repo: https://github.com/PancrePal-xiaoyibao/kb_upload_genie.git
8484- ** 版权合规检查** : 确保上传内容符合版权法规要求
8585- ** 版权信息记录** : 完整记录版权相关信息和变更历史
8686
87+ 管理员登录进去没有操作界面,界面内容:1. 上传记录表格式,其中失败的,可以人工审核,配批准按钮,人工审批通过后续保存上传到git 2.保留标准用户上传模块,让管理员可以上传文件 3.系统配置模块:包括:agent的提示词,模型选择(glm4.5系列),以及模型apikey输入模块,git参数配置模块,保存按钮。上面的UI交互你来设计。
88+
8789## 3. 系统架构
8890
8991### 3.1 整体架构
9092```
9193前端 (React/Vue) ↔ 后端API (Python/FastAPI) ↔ 数据库 (PostgreSQL)
9294自定义 ↓
93- GitHub API + AI服务集群
95+ GitHub API + GitCode API + AI服务集群
9496 ↓
9597 OpenAI兼容接口 + GLM4.5系列 + Gemini 2.5系列 + Moonshot Kimi系列 + StepFun Step系列 + 本地模型
9698```
9799
100+ ### 3.1.1 多平台代码托管集成
101+ - ** GitHub** : 主要代码托管平台,面向国际用户
102+ - ** GitCode** : 国内代码托管平台,提供更快的访问速度
103+ - ** 一键同步** : 支持GitHub与GitCode之间的双向同步
104+ - ** 智能路由** : 根据用户地理位置自动选择最优平台
105+
98106### 3.2 技术栈选择
99107
100108#### 3.2.1 前端技术栈
@@ -155,10 +163,20 @@ z- **AI服务**:
155163- 分类管理
156164- 智能分类推荐
157165
158- #### 3.3.5 GitHub集成模块 (GitHub Integration)
159- - GitHub API集成
160- - 文件上传和管理
161- - 目录结构同步
166+ #### 3.3.5 代码托管集成模块 (Git Platform Integration)
167+ - ** GitHub集成**
168+ - GitHub API集成
169+ - 文件上传和管理
170+ - 目录结构同步
171+ - ** GitCode集成**
172+ - GitCode API集成
173+ - 国内高速访问优化
174+ - 与GitHub的双向同步
175+ - ** 多平台管理**
176+ - 统一的Git操作接口
177+ - 智能平台选择
178+ - 同步状态监控
179+ - 冲突解决机制
162180
163181#### 3.3.6 版权管理模块 (Copyright Module)
164182- 版权状态管理
@@ -201,6 +219,9 @@ CREATE TABLE articles (
201219 copyright_notice TEXT , -- 自动生成的版权声明
202220 original_source VARCHAR (500 ), -- 原始来源
203221 github_path VARCHAR (500 ),
222+ gitcode_path VARCHAR (500 ), -- GitCode路径
223+ sync_status VARCHAR (20 ) DEFAULT ' none' , -- none, github_only, gitcode_only, synced, conflict
224+ last_sync_time TIMESTAMP , -- 最后同步时间
204225 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
205226 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
206227);
@@ -214,6 +235,7 @@ CREATE TABLE categories (
214235 path VARCHAR (500 ) NOT NULL ,
215236 parent_id INTEGER REFERENCES categories(id),
216237 github_path VARCHAR (500 ),
238+ gitcode_path VARCHAR (500 ), -- GitCode路径
217239 is_active BOOLEAN DEFAULT true,
218240 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
219241);
@@ -233,11 +255,30 @@ CREATE TABLE reviews (
233255);
234256```
235257
258+ #### 4.1.5 同步记录表 (sync_records)
259+ ``` sql
260+ CREATE TABLE sync_records (
261+ id SERIAL PRIMARY KEY ,
262+ article_id INTEGER REFERENCES articles(id),
263+ source_platform VARCHAR (20 ), -- github, gitcode
264+ target_platform VARCHAR (20 ), -- github, gitcode
265+ sync_type VARCHAR (20 ), -- upload, update, delete
266+ status VARCHAR (20 ), -- pending, success, failed, conflict
267+ error_message TEXT ,
268+ source_commit_hash VARCHAR (40 ),
269+ target_commit_hash VARCHAR (40 ),
270+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
271+ completed_at TIMESTAMP
272+ );
273+ ```
274+
236275### 4.2 数据关系
237276- 用户 1: N 文章
238277- 分类 1: N 文章
239278- 文章 1: N 审核记录
279+ - 文章 1: N 同步记录
240280- 分类支持树形结构(parent_id自引用)
281+ - 同步记录追踪GitHub与GitCode之间的双向同步状态
241282
242283## 5. API设计
243284
@@ -284,11 +325,34 @@ POST /api/copyright/generate-notice # 生成版权声明
284325PUT /api/copyright/update/{article_id} # 更新版权信息
285326```
286327
287- ### 5.2 GitHub集成API
328+ ### 5.2 多平台Git集成API
329+
330+ #### 5.2.1 GitHub集成API
288331```
289- GET /api/github/repos # 获取仓库信息
290- GET /api/github/tree # 获取目录结构
332+ GET /api/github/repos # 获取GitHub仓库信息
333+ GET /api/github/tree # 获取GitHub目录结构
291334POST /api/github/upload # 上传文件到GitHub
335+ GET /api/github/status # 获取GitHub连接状态
336+ ```
337+
338+ #### 5.2.2 GitCode集成API
339+ ```
340+ GET /api/gitcode/repos # 获取GitCode仓库信息
341+ GET /api/gitcode/tree # 获取GitCode目录结构
342+ POST /api/gitcode/upload # 上传文件到GitCode
343+ GET /api/gitcode/status # 获取GitCode连接状态
344+ ```
345+
346+ #### 5.2.3 同步管理API
347+ ```
348+ POST /api/sync/github-to-gitcode/{article_id} # GitHub同步到GitCode
349+ POST /api/sync/gitcode-to-github/{article_id} # GitCode同步到GitHub
350+ POST /api/sync/bidirectional/{article_id} # 双向同步
351+ GET /api/sync/status/{article_id} # 获取同步状态
352+ GET /api/sync/conflicts # 获取同步冲突列表
353+ POST /api/sync/resolve-conflict/{sync_id} # 解决同步冲突
354+ GET /api/sync/history/{article_id} # 获取同步历史
355+ POST /api/sync/batch # 批量同步
292356```
293357
294358### 5.3 AI服务API
@@ -501,7 +565,12 @@ AI_CONFIG = {
5015652 . ** 第二阶段(3周)** : 核心功能开发
5025663 . ** 第三阶段(2周)** : AI审核集成
5035674 . ** 第四阶段(2周)** : GitHub集成
504- 5 . ** 第五阶段(1周)** : 测试和优化
568+ 5 . ** 第五阶段(2周)** : GitCode集成和多平台同步
569+ - GitCode API集成
570+ - 双向同步机制实现
571+ - 冲突检测和解决
572+ - 智能平台选择
573+ 6 . ** 第六阶段(1周)** : 测试和优化
505574
506575### 10.2 里程碑
507576- MVP版本发布
@@ -512,8 +581,11 @@ AI_CONFIG = {
512581
513582### 11.1 技术风险
514583- GitHub API限制
584+ - GitCode API限制和稳定性
515585- AI服务稳定性
586+ - 多平台同步冲突
516587- 性能瓶颈
588+ - 网络连接稳定性(国内外访问差异)
517589
518590### 11.2 业务风险
519591- 用户接受度
@@ -532,6 +604,10 @@ AI_CONFIG = {
532604- 移动端应用
533605- 协作编辑功能
534606- 评论和讨论系统
607+ - 更多代码托管平台集成(Gitee、Coding、GitLab等)
608+ - 多平台统计和分析面板
609+ - 自动化同步策略配置
610+ - 跨平台协作工作流
535611
536612### 12.2 技术扩展
537613- 微服务架构
@@ -551,6 +627,9 @@ AI_CONFIG = {
551627- ** 自动分类识别** : 系统自动识别文章分类,用户无需手动选择
552628- ** 配置记忆** : 系统记住用户的上传配置,下次上传时自动应用
553629- ** 智能建议** : 基于历史数据提供个性化建议
630+ - ** 智能平台选择** : 根据用户地理位置和网络状况自动选择最优平台
631+ - ** 一键同步** : 支持GitHub与GitCode之间的一键双向同步
632+ - ** 同步状态监控** : 实时显示多平台同步状态和进度
554633
555634### 13.3 用户友好设计
556635- ** 拖拽上传** : 支持文件拖拽上传
@@ -578,9 +657,77 @@ AI_CONFIG = {
578657- ** 安全扫描** : 定期进行安全漏洞扫描
579658- ** 用户反馈** : 建立用户反馈收集机制
580659
660+ ## 15. GitCode集成详细说明
661+
662+ ### 15.1 GitCode平台优势
663+ - ** 国内高速访问** : 为国内用户提供更快的访问速度
664+ - ** 本土化服务** : 更好的中文支持和本土化功能
665+ - ** 合规性** : 符合国内数据安全和隐私保护要求
666+ - ** 生态兼容** : 与国内开发者生态系统更好集成
667+
668+ ### 15.2 同步策略
669+ #### 15.2.1 智能同步
670+ - ** 地理位置检测** : 自动检测用户地理位置,优先选择最优平台
671+ - ** 网络质量评估** : 实时评估到各平台的网络质量
672+ - ** 负载均衡** : 根据平台负载情况智能分配
673+
674+ #### 15.2.2 同步模式
675+ - ** 实时同步** : 文件上传后立即同步到另一平台
676+ - ** 定时同步** : 按设定时间间隔批量同步
677+ - ** 手动同步** : 用户手动触发同步操作
678+ - ** 选择性同步** : 用户可选择特定文件或目录进行同步
679+
680+ ### 15.3 冲突处理机制
681+ #### 15.3.1 冲突检测
682+ - ** 内容比较** : 基于文件内容哈希值检测冲突
683+ - ** 时间戳比较** : 比较最后修改时间
684+ - ** 版本追踪** : 追踪文件版本变更历史
685+
686+ #### 15.3.2 冲突解决
687+ - ** 自动合并** : 对于非冲突性修改自动合并
688+ - ** 用户选择** : 冲突时提供选项让用户决定
689+ - ** 版本保留** : 保留冲突版本供后续处理
690+ - ** 回滚机制** : 支持同步操作回滚
691+
692+ ### 15.4 用户界面设计
693+ #### 15.4.1 平台选择界面
694+ - ** 平台状态显示** : 实时显示各平台连接状态
695+ - ** 速度测试** : 提供网络速度测试功能
696+ - ** 推荐平台** : 基于用户位置和网络状况推荐最优平台
697+
698+ #### 15.4.2 同步管理界面
699+ - ** 同步状态面板** : 显示所有文件的同步状态
700+ - ** 同步历史** : 查看详细的同步操作历史
701+ - ** 冲突管理** : 专门的冲突处理界面
702+ - ** 批量操作** : 支持批量同步和管理操作
703+
704+ ### 15.5 技术实现要点
705+ #### 15.5.1 API适配
706+ - ** 统一接口** : 为GitHub和GitCode提供统一的操作接口
707+ - ** 差异处理** : 处理两个平台API的差异
708+ - ** 错误处理** : 统一的错误处理和重试机制
709+
710+ #### 15.5.2 数据一致性
711+ - ** 事务处理** : 确保跨平台操作的原子性
712+ - ** 数据校验** : 同步前后的数据完整性校验
713+ - ** 状态同步** : 保持本地数据库与远程平台状态一致
714+
715+ ### 15.6 性能优化
716+ - ** 并行同步** : 支持多文件并行同步
717+ - ** 增量同步** : 只同步变更的部分
718+ - ** 压缩传输** : 对大文件进行压缩传输
719+ - ** 缓存机制** : 缓存常用数据减少API调用
720+
721+ ### 15.7 安全考虑
722+ - ** 访问令牌管理** : 安全存储和管理各平台的访问令牌
723+ - ** 传输加密** : 确保数据传输过程的安全性
724+ - ** 权限控制** : 细粒度的权限控制机制
725+ - ** 审计日志** : 完整的操作审计日志
726+
581727---
582728
583- ** 文档版本** : v1.0
729+ ** 文档版本** : v1.1
584730** 创建日期** : 2024年
585731** 最后更新** : 2024年
586- ** 维护人员** : 开发团队
732+ ** 维护人员** : 开发团队
733+ ** 更新内容** : 添加GitCode集成和多平台同步功能
0 commit comments