78 lines
6.7 KiB
JSON
78 lines
6.7 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(grep:*)",
|
|
"Bash(uv run:*)",
|
|
"Bash(npm run build:*)",
|
|
"Bash(cp:*)",
|
|
"Bash(robocopy:*)",
|
|
"Bash(xcopy:*)",
|
|
"Bash(python:*)",
|
|
"Bash(mkdir:*)",
|
|
"Bash(servervenvScriptsactivate)",
|
|
"Bash(ls:*)",
|
|
"Bash(find:*)",
|
|
"Bash(Remove-Item \"saved_models\\*.pth\" -Force -ErrorAction SilentlyContinue)",
|
|
"Bash(Remove-Item \"saved_models\\*.pt\" -Force -ErrorAction SilentlyContinue)",
|
|
"Bash(Remove-Item \"saved_models\\mlstm\" -Recurse -Force -ErrorAction SilentlyContinue)",
|
|
"Bash(true)",
|
|
"Bash(rm:*)",
|
|
"Bash(timeout:*)",
|
|
"Bash(curl:*)",
|
|
"Bash(pkill:*)",
|
|
"Bash(taskkill:*)",
|
|
"Bash(pgrep:*)",
|
|
"Bash(rg:*)",
|
|
"Bash(Select-String -Path \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\" -Pattern \"@app\\.route.*model\" -AllMatches)",
|
|
"Bash(powershell:*)",
|
|
"Bash(uv add:*)",
|
|
"Bash(copy \"server\\models\\P001_mlstm_model.pt\" \"saved_models\"\")",
|
|
"Bash(copy:*)",
|
|
"Bash(Select-String -Path \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\" -Pattern \"/api/models\" -Context 5,20)",
|
|
"Bash(Select-String -Path \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\" -Pattern \"(training|POST.*training)\" -Context 2)",
|
|
"Bash(echo:*)",
|
|
"Bash(cmd:*)",
|
|
"Bash(set PYTHONIOENCODING=utf-8)",
|
|
"Bash(set PYTHONLEGACYWINDOWSSTDIO=0)",
|
|
"Bash(chcp:*)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run server/api.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run 测试训练日志.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run test_training_api.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run direct_console_test.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run test_thread_output.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run debug_training_logs.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run check_training_status.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run final_training_log_test.py)",
|
|
"Bash(uv pip install:*)",
|
|
"Bash(Test-Path \"I:\\_OneTree\\_Python\\_药店销售预测系统\\direct_training_test.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run python -c \"from server.utils.training_progress import progress_manager; print('导入成功')\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 rg -n \"app = Flask\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run test_training_log_fix.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run simple_training_log_test.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 python -c \"from utils.training_progress import TrainingProgressManager; print(''导入成功'')\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 python -c \"from utils.training_progress import TrainingProgressManager; print(''✅ 导入成功''); tm = TrainingProgressManager(); print(''✅ 创建实例成功'')\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run -c \"import sys; sys.path.insert(0, ''server''); from utils.training_progress import TrainingProgressManager; print(''✅ 导入成功'')\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 rg -A 5 -B 5 \"@app.route.*train\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 grep -n \"POST\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 grep -n \"status\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 grep -B 5 \"get_training_status\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 grep -B 10 \"get_training_status\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 grep -n \"test.*training\" \"I:\\_OneTree\\_Python\\_药店销售预测系统\\server\\api.py\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run direct_training_log_test.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run test_api_training_logs_fixed.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 timeout 120 uv run server/api.py)",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run python -c \"\nimport sys, os\nsys.path.insert(0, ''server'')\nfrom utils.training_process_manager import TrainingProcessManager\nimport time\n\nprint(''🧪 测试训练进程管理器日志输出'')\nprint(''='' * 50)\n\nmanager = TrainingProcessManager(max_workers=1)\nmanager.start()\nprint(''✅ 进程管理器已启动'')\n\ntime.sleep(2)\nprint(''📋 提交训练任务...'')\n\ntask_id = manager.submit_task(\n product_id=''P005'',\n model_type=''transformer'',\n training_mode=''product'',\n epochs=2\n)\n\nprint(f''✅ 任务ID: {task_id[:8]}'')\nprint(''👀 观察控制台输出...'')\n\n# 等待任务完成\nfor i in range(30):\n status = manager.get_task_status(task_id)\n if status and status.get(''status'') == ''completed'':\n print(f''✅ 任务完成! 耗时: {i+1}秒'')\n break\n time.sleep(1)\n\nmanager.stop()\nprint(''🎉 测试完成'')\n\")",
|
|
"Bash(PYTHONIOENCODING=utf-8 uv run python -c \"\nimport sys, os\nsys.path.insert(0, ''server'')\nfrom utils.training_process_manager import TrainingProcessManager\nimport time\n\nprint(''🧪 测试修复后的训练进程管理器'')\nprint(''='' * 50)\n\nmanager = TrainingProcessManager(max_workers=1)\nmanager.start()\nprint(''✅ 进程管理器已启动'')\n\ntime.sleep(2)\nprint(''📋 提交训练任务...'')\n\ntask_id = manager.submit_task(\n product_id=''P005'',\n model_type=''transformer'',\n training_mode=''product'',\n epochs=2\n)\n\nprint(f''✅ 任务ID: {task_id[:8]}'')\nprint(''👀 观察下面的控制台输出,应该看到训练日志...'')\nprint(''-'' * 50)\n\n# 等待任务完成\nfor i in range(60):\n status = manager.get_task_status(task_id)\n if status:\n current_status = status.get(''status'')\n if current_status == ''completed'':\n print(''-'' * 50)\n print(f''✅ 任务完成! 耗时: {i+1}秒'')\n metrics = status.get(''metrics'')\n if metrics:\n print(f''📊 指标: {metrics}'')\n break\n elif current_status == ''failed'':\n print(''-'' * 50)\n print(f''❌ 任务失败! 错误: {status.get(\"\"error\"\", \"\"未知\"\")}'')\n break\n time.sleep(1)\n\nmanager.stop()\nprint(''🎉 测试完成'')\n\")",
|
|
"Bash(Remove-Item -Recurse -Force node_modules -ErrorAction SilentlyContinue)",
|
|
"Bash(pnpm store prune:*)",
|
|
"Bash(pnpm install:*)",
|
|
"Bash(npm install)",
|
|
"Bash(pnpm:*)",
|
|
"Bash(npm run dev:*)",
|
|
"Bash(uv export:*)",
|
|
"Bash(uv sync:*)",
|
|
"Bash(mv:*)"
|
|
],
|
|
"deny": []
|
|
}
|
|
} |