-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRAG_Windows_Launcher.bat
More file actions
485 lines (429 loc) · 10.6 KB
/
Copy pathRAG_Windows_Launcher.bat
File metadata and controls
485 lines (429 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
@echo off
chcp 65001 >nul
title 增強版RAG系統 - Windows雙擊啟動器
color 0A
echo ========================================
echo 增強版RAG系統 - Windows版本
echo 雙擊啟動,一鍵分析
echo ========================================
echo.
:check_python
echo 🔍 檢查Python環境...
python --version >nul 2>&1
if errorlevel 1 (
echo ❌ 未找到Python
goto install_python
) else (
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set PYTHON_VERSION=%%i
echo ✅ Python版本: %PYTHON_VERSION%
rem 檢查Python版本
python -c "import sys; exit(0) if sys.version_info >= (3, 8) else exit(1)" >nul 2>&1
if errorlevel 1 (
echo ❌ Python版本過低 (需要>=3.8)
goto install_python
) else (
echo ✅ Python版本符合要求
goto main_menu
)
)
:install_python
echo.
echo 📥 Python安裝指引
echo =================
echo.
echo 增強版RAG系統需要Python 3.8或更高版本。
echo.
echo 請按照以下步驟安裝:
echo.
echo 1. 訪問Python官方網站:
echo https://www.python.org/downloads/
echo.
echo 2. 下載最新版本的Python安裝程序
echo.
echo 3. 安裝時務必勾選:
echo ✅ Add Python to PATH
echo ✅ Install launcher for all users (推薦)
echo.
echo 4. 安裝完成後,重新雙擊此文件啟動系統
echo.
echo 按任意鍵打開Python下載頁面...
pause >nul
start https://www.python.org/downloads/
exit /b 1
:main_menu
echo.
echo ========================================
echo 主菜單 - 請選擇功能
echo ========================================
echo.
echo [1] 🚀 增強版RAG分析 (完整流程)
echo [2] 📊 監測系統 (實時監測)
echo [3] 🔄 增量處理系統
echo [4] 🔍 基礎RAG分析
echo [5] ⚙️ 系統設置
echo [6] 📖 查看文檔
echo [7] 🧪 運行測試
echo [8] ❌ 退出系統
echo.
echo ========================================
set /p choice="請輸入選擇 (1-8): "
if "%choice%"=="1" goto enhanced_analysis
if "%choice%"=="2" goto monitoring_system
if "%choice%"=="3" goto incremental_processing
if "%choice%"=="4" goto basic_analysis
if "%choice%"=="5" goto system_settings
if "%choice%"=="6" goto view_docs
if "%choice%"=="7" goto run_tests
if "%choice%"=="8" goto exit_system
echo.
echo ❌ 無效選擇,請輸入1-8之間的數字
pause
goto main_menu
:enhanced_analysis
echo.
echo 🚀 增強版RAG分析
echo =================
echo.
echo 此功能將執行完整的RAG分析流程:
echo 1. 項目結構分析
echo 2. 代碼質量評估
echo 3. 智能學習優化
echo 4. 自動打包輸出
echo.
set /p project_path="請輸入要分析的項目路徑: "
if "%project_path%"=="" (
echo ❌ 未輸入項目路徑
pause
goto main_menu
)
echo.
echo 📊 開始分析項目: %project_path%
echo 請稍候,這可能需要幾分鐘時間...
echo.
python main_enhanced.py "%project_path%"
if errorlevel 1 (
echo ❌ 分析過程中出現錯誤
) else (
echo ✅ 分析完成!
echo 📄 結果已保存到桌面和output目錄
)
echo.
echo 按任意鍵返回主菜單...
pause >nul
goto main_menu
:monitoring_system
echo.
echo 📊 監測系統
echo ============
echo.
echo 此功能將啟動實時監測系統:
echo • 監測項目變化
echo • 自動觸發分析
echo • 提供實時建議
echo.
echo 按Ctrl+C停止監測
echo.
python run_monitoring_system.py
echo.
echo 監測已停止
pause
goto main_menu
:incremental_processing
echo.
echo 🔄 增量處理系統
echo ================
echo.
echo 此功能執行增量式項目處理:
echo • 智能緩存管理
echo • 高效資源利用
echo • 持續改進支持
echo.
set /p project_path="請輸入要處理的項目路徑: "
if "%project_path%"=="" (
echo ❌ 未輸入項目路徑
pause
goto main_menu
)
echo.
echo 🔄 開始增量處理: %project_path%
python run_with_incremental_processing.py "%project_path%"
echo.
pause
goto main_menu
:basic_analysis
echo.
echo 🔍 基礎RAG分析
echo ==============
echo.
echo 此功能執行快速項目評估:
echo • 代碼質量檢查
echo • 結構分析
echo • 基本建議生成
echo.
set /p project_path="請輸入要分析的項目路徑: "
if "%project_path%"=="" (
echo ❌ 未輸入項目路徑
pause
goto main_menu
)
echo.
echo 🔍 開始基礎分析: %project_path%
python main.py "%project_path%"
echo.
pause
goto main_menu
:system_settings
echo.
echo ⚙️ 系統設置
echo ===========
echo.
echo [1] 檢查系統狀態
echo [2] 更新依賴包
echo [3] 清理臨時文件
echo [4] 查看系統信息
echo [5] 返回主菜單
echo.
set /p setting_choice="請選擇設置選項: "
if "%setting_choice%"=="1" goto check_system
if "%setting_choice%"=="2" goto update_dependencies
if "%setting_choice%"=="3" goto cleanup_temp
if "%setting_choice%"=="4" goto system_info
if "%setting_choice%"=="5" goto main_menu
echo ❌ 無效選擇
pause
goto system_settings
:check_system
echo.
echo 🔍 檢查系統狀態...
python -c "
import sys
import os
from pathlib import Path
print('系統狀態檢查:')
print('=' * 40)
print(f'Python版本: {sys.version}')
print(f'系統平台: {sys.platform}')
print(f'當前目錄: {os.getcwd()}')
# 檢查必要文件
files = ['main_enhanced.py', 'main.py', 'requirements.txt']
for file in files:
if Path(file).exists():
print(f'✅ {file} - 存在')
else:
print(f'❌ {file} - 缺失')
# 檢查目錄
dirs = ['modules', 'config', 'output', 'logs']
for dir_name in dirs:
if Path(dir_name).exists():
print(f'✅ {dir_name}/ - 存在')
else:
print(f'❌ {dir_name}/ - 缺失')
print('=' * 40)
print('系統狀態: ✅ 正常')
"
pause
goto system_settings
:update_dependencies
echo.
echo 📦 更新依賴包...
if not exist requirements.txt (
echo ❌ 未找到requirements.txt文件
pause
goto system_settings
)
echo 正在更新Python依賴包...
pip install --upgrade -r requirements.txt
if errorlevel 1 (
echo ❌ 更新失敗
) else (
echo ✅ 更新完成
)
pause
goto system_settings
:cleanup_temp
echo.
echo 🗑️ 清理臨時文件...
if exist __pycache__ (
rmdir /s /q __pycache__
echo ✅ 清理Python緩存文件
)
if exist temp (
rmdir /s /q temp
mkdir temp
echo ✅ 清理臨時目錄
)
echo ✅ 清理完成
pause
goto system_settings
:system_info
echo.
echo ℹ️ 系統信息
echo ===========
python -c "
import sys
import platform
import os
from datetime import datetime
print('增強版RAG系統 - 系統信息')
print('=' * 50)
print(f'系統時間: {datetime.now().strftime("%Y-%m-%d %H:%M:%S")}')
print(f'Python版本: {sys.version}')
print(f'操作系統: {platform.system()} {platform.release()}')
print(f'系統架構: {platform.machine()}')
print(f'用戶名: {os.getenv("USERNAME", "未知")}')
print(f'當前目錄: {os.getcwd()}')
print('=' * 50)
# 文件統計
import glob
py_files = glob.glob('*.py')
bat_files = glob.glob('*.bat')
md_files = glob.glob('*.md')
print(f'Python文件: {len(py_files)} 個')
print(f'批處理文件: {len(bat_files)} 個')
print(f'文檔文件: {len(md_files)} 個')
print('=' * 50)
"
pause
goto system_settings
:view_docs
echo.
echo 📖 查看文檔
echo ===========
echo.
echo [1] 增強版系統文檔 (README_ENHANCED.md)
echo [2] 快速開始指南 (QUICK_START_GUIDE.md)
echo [3] Windows使用指南 (WINDOWS_APPLICATION_GUIDE.md)
echo [4] 返回主菜單
echo.
set /p doc_choice="請選擇文檔: "
if "%doc_choice%"=="1" (
if exist README_ENHANCED.md (
start README_ENHANCED.md
) else (
echo ❌ 未找到README_ENHANCED.md
pause
)
goto view_docs
)
if "%doc_choice%"=="2" (
if exist QUICK_START_GUIDE.md (
start QUICK_START_GUIDE.md
) else (
echo ❌ 未找到QUICK_START_GUIDE.md
pause
)
goto view_docs
)
if "%doc_choice%"=="3" (
if exist WINDOWS_APPLICATION_GUIDE.md (
start WINDOWS_APPLICATION_GUIDE.md
) else (
echo ❌ 未找到WINDOWS_APPLICATION_GUIDE.md
pause
)
goto view_docs
)
if "%doc_choice%"=="4" goto main_menu
echo ❌ 無效選擇
pause
goto view_docs
:run_tests
echo.
echo 🧪 運行測試
echo ===========
echo.
echo [1] 測試增強版系統
echo [2] 測試基礎功能
echo [3] 測試Windows兼容性
echo [4] 返回主菜單
echo.
set /p test_choice="請選擇測試: "
if "%test_choice%"=="1" goto test_enhanced
if "%test_choice%"=="2" goto test_basic
if "%test_choice%"=="3" goto test_windows
if "%test_choice%"=="4" goto main_menu
echo ❌ 無效選擇
pause
goto run_tests
:test_enhanced
echo.
echo 🧪 測試增強版系統...
if not exist test_project (
mkdir test_project
echo # 測試項目 > test_project\README.md
echo print("測試成功!") > test_project\test.py
echo ✅ 創建測試項目
)
echo 運行增強版系統測試...
python main_enhanced.py test_project
echo.
pause
goto run_tests
:test_basic
echo.
echo 🧪 測試基礎功能...
if not exist test_project (
mkdir test_project
echo # 測試項目 > test_project\README.md
echo print("測試成功!") > test_project\test.py
echo ✅ 創建測試項目
)
echo 運行基礎系統測試...
python main.py test_project
echo.
pause
goto run_tests
:test_windows
echo.
echo 🧪 測試Windows兼容性...
python -c "
import sys
import os
import platform
print('Windows兼容性測試')
print('=' * 40)
# 測試路徑處理
test_paths = [
'C:\\\\Users\\\\Test\\\\project',
'D:\\\\開發\\\\項目',
'E:\\\\中文路徑\\\\測試項目'
]
print('路徑處理測試:')
for path in test_paths:
try:
normalized = os.path.normpath(path)
print(f' ✅ {path} -> {normalized}')
except:
print(f' ❌ {path} -> 處理失敗')
# 測試文件操作
print('\\n文件操作測試:')
try:
with open('test_windows.txt', 'w', encoding='utf-8') as f:
f.write('Windows兼容性測試文件')
print(' ✅ 文件創建成功')
with open('test_windows.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(' ✅ 文件讀取成功')
os.remove('test_windows.txt')
print(' ✅ 文件刪除成功')
except Exception as e:
print(f' ❌ 文件操作失敗: {e}')
print('=' * 40)
print('Windows兼容性: ✅ 通過')
"
echo.
pause
goto run_tests
:exit_system
echo.
echo ========================================
echo 感謝使用增強版RAG系統!
echo ========================================
echo.
echo 📞 如有問題,請查看文檔或聯繫支持
echo 📁 分析結果保存在output目錄和桌面
echo 🚀 下次使用時直接雙擊此文件即可
echo.
echo ========================================
pause
exit /b 0