Files
ChouJuGEO/docs/DIRECTORY_STRUCTURE_OPTIMIZATION.md
T
刘国栋 8f7f082c3d feat: 重构项目结构并添加平台同步基础架构
- 重构项目目录结构,将功能模块移至 modules/ 目录
- 创建平台同步基础架构,包括发布器基类和 GitHub 发布器
- 新增 UI 状态管理模块 (modules/ui/state.py) 统一管理会话状态
- 更新依赖配置,添加平台同步所需依赖 (httpx, pyperclip)
- 整理文档结构,将所有文档分类移至 docs/ 目录
- 添加 .cursorrules 文件定义项目开发规范
- 清理根目录重复文件,保持项目结构整洁
2026-01-30 10:21:29 +08:00

306 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目目录结构优化方案
## 📋 当前问题分析
### 当前目录结构问题
1. **根目录文件过多**50+ 个文件混在一起
- 15个功能模块(.py文件)
- 15个功能文档(*_FEATURE.md
- 7个分析报告(*_ANALYSIS.md, *_REPORT.md
- 5个指南文档(*_GUIDE.md
- 7个实现文档
- 主程序(geo_tool.py
- 配置文件
2. **文件引用关系**
- `modules/geo_tool.py` 从根目录导入所有模块
- 文档之间相互引用,路径混乱
- 没有清晰的模块化结构
## 🎯 优化目标
1. **清晰的目录结构**:按功能分类组织文件
2. **易于维护**:相关文件集中管理
3. **便于扩展**:新功能易于添加
4. **保持兼容**:更新所有引用路径
## 📁 优化后的目录结构
```
geo_tool/
├── README.md # 项目主文档(保留在根目录)
├── requirements.txt # 依赖文件(保留在根目录)
├── .gitignore # Git配置(保留在根目录)
├── .streamlit/ # Streamlit配置(保留)
│ └── config.toml
├── geo_tool.py # 主程序(保留在根目录)
├── modules/ # 功能模块目录
│ ├── __init__.py # 包初始化文件
│ ├── modules/data_storage.py
│ ├── modules/keyword_tool.py
│ ├── modules/content_scorer.py
│ ├── modules/eeat_enhancer.py
│ ├── modules/semantic_expander.py
│ ├── modules/fact_density_enhancer.py
│ ├── modules/schema_generator.py
│ ├── modules/topic_cluster.py
│ ├── modules/multimodal_prompt.py
│ ├── modules/roi_analyzer.py
│ ├── modules/workflow_automation.py
│ ├── modules/keyword_mining.py
│ ├── modules/optimization_techniques.py
│ ├── modules/content_metrics.py
│ ├── modules/technical_config_generator.py
│ ├── modules/negative_monitor.py
│ ├── modules/resource_recommender.py
│ ├── modules/config_optimizer.py
│ └── storage_example.py
├── platform_sync/ # 平台同步模块(已存在)
│ ├── __init__.py
│ ├── base_publisher.py
│ ├── github_publisher.py
│ └── copy_manager.py
└── docs/ # 文档目录
├── features/ # 功能文档
│ ├── docs/features/CONFIG_OPTIMIZER_FEATURE.md
│ ├── docs/features/CONTENT_METRICS_FEATURE.md
│ ├── docs/features/CONTENT_SCORER_FEATURE.md
│ ├── docs/features/EEAT_FEATURE.md
│ ├── docs/features/FACT_DENSITY_FEATURE.md
│ ├── docs/features/JSON_LD_SCHEMA_FEATURE.md
│ ├── docs/features/KEYWORD_MINING_FEATURE.md
│ ├── docs/features/MULTIMODAL_FEATURE.md
│ ├── docs/features/NEGATIVE_MONITOR_FEATURE.md
│ ├── docs/features/OPTIMIZATION_TECHNIQUES_FEATURE.md
│ ├── docs/features/RESOURCE_RECOMMENDER_FEATURE.md
│ ├── docs/features/ROI_ANALYSIS_FEATURE.md
│ ├── docs/features/SEMANTIC_EXPANSION_FEATURE.md
│ ├── docs/features/TECHNICAL_CONFIG_FEATURE.md
│ ├── docs/features/TOPIC_CLUSTER_FEATURE.md
│ └── docs/features/WORKFLOW_AUTOMATION_FEATURE.md
├── analysis/ # 分析报告
│ ├── ANALYSIS_ACCURACY_REPORT.md
│ ├── CODE_DOCUMENTATION_ANALYSIS.md
│ ├── DOCUMENTATION_REVERSE_VERIFICATION.md
│ ├── FEATURE_ANALYSIS.md
│ ├── FEATURE_PRIORITY_ANALYSIS.md
│ ├── FUNCTION_VERIFICATION_REPORT.md
│ └── GEO_COMPLIANCE_ANALYSIS.md
├── guides/ # 指南文档
│ ├── QUICK_START_GUIDE.md
│ ├── STORAGE_GUIDE.md
│ ├── PLATFORM_SETUP.md
│ ├── LAYOUT_UPGRADE_GUIDE.md
│ └── DECISION_GUIDE.md
└── implementation/ # 实现文档
├── IMPLEMENTATION_SUMMARY.md
├── PLATFORM_SYNC_ANALYSIS.md
├── PLATFORM_SYNC_IMPLEMENTATION.md
├── PLATFORM_SYNC_TEST.md
├── INTEGRATION_NOTES.md
├── FEATURES_COMPLETE_LIST.md
└── ADVANCED_FEATURES.md
```
## 🔧 实施步骤
### 步骤1:创建目录结构
```powershell
# 创建目录
New-Item -ItemType Directory -Force -Path modules
New-Item -ItemType Directory -Force -Path docs\features
New-Item -ItemType Directory -Force -Path docs\analysis
New-Item -ItemType Directory -Force -Path docs\guides
New-Item -ItemType Directory -Force -Path docs\implementation
```
### 步骤2:移动文件
**注意**:如果文件被IDE或其他程序占用,需要先关闭这些程序。
#### 2.1 移动功能模块到 modules/
```powershell
# 需要移动的文件列表
$modules = @(
"modules/data_storage.py",
"modules/keyword_tool.py",
"modules/content_scorer.py",
"modules/eeat_enhancer.py",
"modules/semantic_expander.py",
"modules/fact_density_enhancer.py",
"modules/schema_generator.py",
"modules/topic_cluster.py",
"modules/multimodal_prompt.py",
"modules/roi_analyzer.py",
"modules/workflow_automation.py",
"modules/keyword_mining.py",
"modules/optimization_techniques.py",
"modules/content_metrics.py",
"modules/technical_config_generator.py",
"modules/negative_monitor.py",
"modules/resource_recommender.py",
"modules/config_optimizer.py",
"storage_example.py"
)
foreach ($file in $modules) {
if (Test-Path $file) {
Move-Item $file -Destination "modules\" -Force
Write-Host "Moved: $file"
}
}
```
#### 2.2 移动功能文档到 docs/features/
```powershell
Get-ChildItem -Filter "*_FEATURE.md" | ForEach-Object {
Move-Item $_.FullName -Destination "docs\features\" -Force
Write-Host "Moved: $($_.Name)"
}
```
#### 2.3 移动分析报告到 docs/analysis/
```powershell
$analysis = @(
"ANALYSIS_ACCURACY_REPORT.md",
"CODE_DOCUMENTATION_ANALYSIS.md",
"DOCUMENTATION_REVERSE_VERIFICATION.md",
"FEATURE_ANALYSIS.md",
"FEATURE_PRIORITY_ANALYSIS.md",
"FUNCTION_VERIFICATION_REPORT.md",
"GEO_COMPLIANCE_ANALYSIS.md"
)
foreach ($file in $analysis) {
if (Test-Path $file) {
Move-Item $file -Destination "docs\analysis\" -Force
Write-Host "Moved: $file"
}
}
```
#### 2.4 移动指南文档到 docs/guides/
```powershell
$guides = @(
"QUICK_START_GUIDE.md",
"STORAGE_GUIDE.md",
"PLATFORM_SETUP.md",
"LAYOUT_UPGRADE_GUIDE.md",
"DECISION_GUIDE.md"
)
foreach ($file in $guides) {
if (Test-Path $file) {
Move-Item $file -Destination "docs\guides\" -Force
Write-Host "Moved: $file"
}
}
```
#### 2.5 移动实现文档到 docs/implementation/
```powershell
$implementation = @(
"IMPLEMENTATION_SUMMARY.md",
"PLATFORM_SYNC_ANALYSIS.md",
"PLATFORM_SYNC_IMPLEMENTATION.md",
"PLATFORM_SYNC_TEST.md",
"INTEGRATION_NOTES.md",
"FEATURES_COMPLETE_LIST.md",
"ADVANCED_FEATURES.md"
)
foreach ($file in $implementation) {
if (Test-Path $file) {
Move-Item $file -Destination "docs\implementation\" -Force
Write-Host "Moved: $file"
}
}
```
### 步骤3:创建 modules/__init__.py
创建 `modules/__init__.py` 文件,方便导入:
```python
"""
GEO Tool 功能模块包
"""
```
### 步骤4:更新导入路径
运行 `modules/update_imports.py` 脚本自动更新所有文件中的导入路径。
### 步骤5:更新文档引用
运行 `modules/update_doc_references.py` 脚本自动更新所有文档中的路径引用。
## 📝 需要更新的文件
### Python 文件导入更新
**geo_tool.py** 中的导入需要从:
```python
from data_storage import DataStorage
from keyword_tool import KeywordTool
# ...
```
更新为:
```python
from modules.data_storage import DataStorage
from modules.keyword_tool import KeywordTool
# ...
```
**storage_example.py** 中的导入需要从:
```python
from data_storage import DataStorage
```
更新为:
```python
from modules.data_storage import DataStorage
```
### 文档路径引用更新
所有 `.md` 文件中的路径引用需要更新:
- `xxx_FEATURE.md``docs/features/xxx_FEATURE.md`
- `xxx_ANALYSIS.md``docs/analysis/xxx_ANALYSIS.md`
- `xxx_GUIDE.md``docs/guides/xxx_GUIDE.md`
- `xxx.md` (implementation) → `docs/implementation/xxx.md`
## ✅ 验证清单
- [ ] 所有模块文件已移动到 `modules/`
- [ ] 所有文档文件已分类移动到 `docs/` 子目录
- [ ] `modules/__init__.py` 已创建
- [ ] `modules/geo_tool.py` 中的导入路径已更新
- [ ] 所有文档中的路径引用已更新
- [ ] 运行 `python geo_tool.py` 测试导入是否正常
- [ ] 检查所有文档链接是否正常
## 🚀 优化后的优势
1. **清晰的目录结构**:文件按功能分类,易于查找
2. **模块化组织**:功能模块集中管理
3. **文档分类清晰**:功能文档、分析报告、指南文档分开管理
4. **便于维护**:新功能添加时,只需在对应目录添加文件
5. **专业规范**:符合Python项目最佳实践
## 📌 注意事项
1. **文件占用**:移动文件前,确保文件未被IDE或其他程序打开
2. **路径更新**:移动文件后,必须更新所有引用路径
3. **测试验证**:完成移动后,务必测试程序是否正常运行
4. **Git提交**:建议分步骤提交,便于回滚