cnhkmcp 2.1.1__py3-none-any.whl → 2.1.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. {cnhkmcp-2.1.1.dist-info → cnhkmcp-2.1.3.dist-info}/METADATA +1 -1
  2. cnhkmcp-2.1.3.dist-info/RECORD +6 -0
  3. cnhkmcp-2.1.3.dist-info/top_level.txt +1 -0
  4. cnhkmcp/__init__.py +0 -125
  5. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/README.md +0 -38
  6. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/ace.log +0 -0
  7. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/config.json +0 -6
  8. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/ace_lib.py +0 -1510
  9. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/fetch_all_datasets.py +0 -157
  10. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/fetch_all_documentation.py +0 -132
  11. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/fetch_all_operators.py +0 -99
  12. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/get_knowledgeBase_tool/helpful_functions.py +0 -180
  13. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/icon.ico +0 -0
  14. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/icon.png +0 -0
  15. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/knowledge/test.txt +0 -1
  16. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/main.py +0 -576
  17. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/process_knowledge_base.py +0 -280
  18. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/rag_engine.py +0 -356
  19. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/requirements.txt +0 -7
  20. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/run.bat +0 -3
  21. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/_manifest.json +0 -326
  22. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/_meta.json +0 -1
  23. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/be5d957c-b724-46e3-91d1-999e9f5f7d28/index_metadata.pickle +0 -0
  24. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242/vector_db/chroma.sqlite3 +0 -0
  25. cnhkmcp/untracked/AI/321/206/320/261/320/234/321/211/320/255/320/262/321/206/320/237/320/242/321/204/342/225/227/342/225/242//321/211/320/266/320/246/321/206/320/274/320/261/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +0 -265
  26. cnhkmcp/untracked/APP/.gitignore +0 -32
  27. cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -112
  28. cnhkmcp/untracked/APP/README.md +0 -309
  29. cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -4985
  30. cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
  31. cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -1510
  32. cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -180
  33. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -2421
  34. cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/321/207/320/264/342/225/221/321/204/342/225/233/320/233.json +0 -654
  35. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -1034
  36. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -444
  37. cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_/321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/277/321/207/320/253/342/224/244/321/206/320/236/320/265/321/210/342/225/234/342/225/234/321/205/320/225/320/265Machine_lib.json +0 -22
  38. cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -60
  39. cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -3182
  40. cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -7
  41. cnhkmcp/untracked/APP/Tranformer/validator.py +0 -889
  42. cnhkmcp/untracked/APP/ace.log +0 -69
  43. cnhkmcp/untracked/APP/ace_lib.py +0 -1510
  44. cnhkmcp/untracked/APP/blueprints/__init__.py +0 -6
  45. cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -347
  46. cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -221
  47. cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -432
  48. cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -570
  49. cnhkmcp/untracked/APP/custom_templates/templates.json +0 -1257
  50. cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +0 -400
  51. cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +0 -1510
  52. cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +0 -252
  53. cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +0 -157
  54. cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +0 -99
  55. cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +0 -180
  56. cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +0 -11
  57. cnhkmcp/untracked/APP/helpful_functions.py +0 -180
  58. cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -1497
  59. cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -447
  60. cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -180
  61. cnhkmcp/untracked/APP/mirror_config.txt +0 -20
  62. cnhkmcp/untracked/APP/operaters.csv +0 -129
  63. cnhkmcp/untracked/APP/requirements.txt +0 -53
  64. cnhkmcp/untracked/APP/run_app.bat +0 -28
  65. cnhkmcp/untracked/APP/run_app.sh +0 -34
  66. cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -39
  67. cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -43
  68. cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -404
  69. cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -618
  70. cnhkmcp/untracked/APP/ssrn-3332513.pdf +6 -109201
  71. cnhkmcp/untracked/APP/static/brain.js +0 -589
  72. cnhkmcp/untracked/APP/static/decoder.js +0 -1540
  73. cnhkmcp/untracked/APP/static/feature_engineering.js +0 -1729
  74. cnhkmcp/untracked/APP/static/idea_house.js +0 -937
  75. cnhkmcp/untracked/APP/static/inspiration.js +0 -465
  76. cnhkmcp/untracked/APP/static/inspiration_house.js +0 -868
  77. cnhkmcp/untracked/APP/static/paper_analysis.js +0 -390
  78. cnhkmcp/untracked/APP/static/script.js +0 -3082
  79. cnhkmcp/untracked/APP/static/simulator.js +0 -597
  80. cnhkmcp/untracked/APP/static/styles.css +0 -3127
  81. cnhkmcp/untracked/APP/static/usage_widget.js +0 -508
  82. cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -511
  83. cnhkmcp/untracked/APP/templates/feature_engineering.html +0 -960
  84. cnhkmcp/untracked/APP/templates/idea_house.html +0 -564
  85. cnhkmcp/untracked/APP/templates/index.html +0 -932
  86. cnhkmcp/untracked/APP/templates/inspiration_house.html +0 -861
  87. cnhkmcp/untracked/APP/templates/paper_analysis.html +0 -91
  88. cnhkmcp/untracked/APP/templates/simulator.html +0 -343
  89. cnhkmcp/untracked/APP/templates/transformer_web.html +0 -580
  90. cnhkmcp/untracked/APP/usage.md +0 -351
  91. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/ace_lib.py +0 -1510
  92. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/brain_alpha_inspector.py +0 -712
  93. cnhkmcp/untracked/APP//321/207/342/225/235/320/250/321/205/320/230/320/226/321/204/342/225/225/320/220/321/211/320/221/320/243/321/206/320/261/320/265/helpful_functions.py +0 -180
  94. cnhkmcp/untracked/APP//321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/231/320/243/321/205/342/225/235/320/220/321/206/320/230/320/241.py +0 -2456
  95. cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -490
  96. cnhkmcp/untracked/arxiv_api.py +0 -229
  97. cnhkmcp/untracked/forum_functions.py +0 -998
  98. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/forum_functions.py +0 -407
  99. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/platform_functions.py +0 -2415
  100. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272/user_config.json +0 -31
  101. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272//321/210/320/276/320/271AI/321/210/320/277/342/225/227/321/210/342/224/220/320/251/321/204/342/225/225/320/272/321/206/320/246/320/227/321/206/320/261/320/263/321/206/320/255/320/265/321/205/320/275/320/266/321/204/342/225/235/320/252/321/204/342/225/225/320/233/321/210/342/225/234/342/225/234/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270.md +0 -101
  102. cnhkmcp/untracked/mcp/321/206/320/246/320/227/321/204/342/225/227/342/225/242/321/210/320/276/342/225/221/321/205/320/255/320/253/321/207/320/231/320/2302_/321/205/320/266/320/222/321/206/320/256/320/254/321/205/320/236/320/257/321/207/320/231/320/230/321/205/320/240/320/277/321/205/320/232/320/270/321/204/342/225/225/320/235/321/204/342/225/221/320/226/321/206/342/225/241/320/237/321/210/320/267/320/230/321/205/320/251/320/270/321/205/342/226/221/342/226/222/321/210/320/277/320/245/321/210/342/224/220/320/251/321/204/342/225/225/320/272//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +0 -190
  103. cnhkmcp/untracked/platform_functions.py +0 -2886
  104. cnhkmcp/untracked/sample_mcp_config.json +0 -11
  105. cnhkmcp/untracked/user_config.json +0 -31
  106. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/320/237/320/222/321/210/320/220/320/223/321/206/320/246/320/227/321/206/320/261/320/263_BRAIN_Alpha_Test_Requirements_and_Tips.md +0 -202
  107. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Alpha_explaination_workflow.md +0 -56
  108. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_6_Tips_Datafield_Exploration_Guide.md +0 -194
  109. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_BRAIN_Alpha_Improvement_Workflow.md +0 -101
  110. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_Dataset_Exploration_Expert_Manual.md +0 -436
  111. cnhkmcp/untracked//321/207/320/264/342/225/221/321/204/342/225/233/320/233/321/205/342/225/226/320/265/321/204/342/225/234/320/254/321/206/342/225/241/320/221_daily_report_workflow.md +0 -128
  112. cnhkmcp/untracked//321/211/320/225/320/235/321/207/342/225/234/320/276/321/205/320/231/320/235/321/210/342/224/220/320/240/321/210/320/261/320/234/321/206/320/230/320/241_/321/205/320/276/320/231/321/210/320/263/320/225/321/205/342/224/220/320/225/321/210/320/266/320/221/321/204/342/225/233/320/255/321/210/342/225/241/320/246/321/205/320/234/320/225.py +0 -190
  113. cnhkmcp-2.1.1.dist-info/RECORD +0 -115
  114. cnhkmcp-2.1.1.dist-info/top_level.txt +0 -1
  115. {cnhkmcp-2.1.1.dist-info → cnhkmcp-2.1.3.dist-info}/WHEEL +0 -0
  116. {cnhkmcp-2.1.1.dist-info → cnhkmcp-2.1.3.dist-info}/entry_points.txt +0 -0
  117. {cnhkmcp-2.1.1.dist-info → cnhkmcp-2.1.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,91 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Paper Keyword Analysis</title>
7
- <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
8
- </head>
9
- <body>
10
- <div class="container">
11
- <header>
12
- <h1>Paper Keyword Analysis</h1>
13
- <p class="subtitle">Extract and analyze keywords from research papers using Deepseek AI</p>
14
- <a href="/" class="btn btn-outline">← Back to Main</a>
15
- </header>
16
-
17
- <div class="paper-analysis-container">
18
- <!-- API Key Configuration -->
19
- <div class="api-key-section">
20
- <h2>Deepseek API Configuration</h2>
21
- <div class="form-group">
22
- <label for="apiKey">API Key:</label>
23
- <input type="password" id="apiKey" class="form-input" placeholder="Enter your Deepseek API key">
24
- <button id="saveApiKey" class="btn btn-secondary">Save API Key</button>
25
- </div>
26
- </div>
27
-
28
- <!-- File Upload Section -->
29
- <div class="upload-section">
30
- <h2>Upload Paper</h2>
31
- <div class="file-upload-container">
32
- <input type="file" id="paperFile" accept=".pdf,.txt,.doc,.docx,.rtf,.tex,.latex,.md,.markdown" class="file-input">
33
- <label for="paperFile" class="file-label">
34
- <span class="upload-icon">📄</span>
35
- <span class="upload-text">Choose a file or drag it here</span>
36
- <span class="file-types">Supports: PDF, TXT, DOC/DOCX, RTF, LaTeX, Markdown</span>
37
- </label>
38
- </div>
39
- <div id="fileInfo" class="file-info"></div>
40
- </div>
41
-
42
- <!-- Analysis Options -->
43
- <div class="analysis-options">
44
- <h2>Analysis Options</h2>
45
- <div class="options-grid">
46
- <label class="option-checkbox">
47
- <input type="checkbox" id="findRelatedWorks" checked>
48
- Extract Mathematical Formulas
49
- </label>
50
- <label class="option-checkbox">
51
- <input type="checkbox" id="extractKeywords">
52
- Extract Keywords
53
- </label>
54
- <label class="option-checkbox">
55
- <input type="checkbox" id="generateSummary">
56
- Generate Summary
57
- </label>
58
- </div>
59
- <button id="analyzePaper" class="btn btn-primary btn-large">Analyze Paper</button>
60
- </div>
61
-
62
- <!-- Results Section -->
63
- <div class="results-section" style="display: none;">
64
- <h2>Analysis Results</h2>
65
- <div class="results-tabs">
66
- <button class="tab-btn active" data-tab="keywords">Keywords</button>
67
- <button class="tab-btn" data-tab="summary">Summary</button>
68
- <button class="tab-btn" data-tab="related">Formulas</button>
69
- </div>
70
- <div class="tab-content">
71
- <div id="keywordsTab" class="tab-pane active">
72
- <div class="keywords-container"></div>
73
- </div>
74
- <div id="summaryTab" class="tab-pane">
75
- <div class="summary-container"></div>
76
- </div>
77
- <div id="relatedTab" class="tab-pane">
78
- <div class="related-works-container"></div>
79
- </div>
80
- </div>
81
- <div class="export-section">
82
- <button id="exportResults" class="btn btn-secondary">Export Results</button>
83
- </div>
84
- </div>
85
- </div>
86
- </div>
87
-
88
- <script src="{{ url_for('static', filename='paper_analysis.js') }}"></script>
89
- <script src="{{ url_for('static', filename='usage_widget.js') }}"></script>
90
- </body>
91
- </html>
@@ -1,343 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>BRAIN Alpha Simulator - User Interface</title>
7
- <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
8
- <style>
9
- .simulator-container {
10
- max-width: 1200px;
11
- margin: 0 auto;
12
- padding: 20px;
13
- }
14
-
15
- .simulator-grid {
16
- display: grid;
17
- grid-template-columns: 1fr 1fr;
18
- gap: 20px;
19
- margin-top: 20px;
20
- }
21
-
22
- .simulator-panel {
23
- background: #f8f9fa;
24
- border-radius: 8px;
25
- padding: 20px;
26
- border: 1px solid #dee2e6;
27
- }
28
-
29
- .form-group {
30
- margin-bottom: 15px;
31
- }
32
-
33
- .form-group label {
34
- display: block;
35
- margin-bottom: 5px;
36
- font-weight: 600;
37
- color: #495057;
38
- }
39
-
40
- .form-group input, .form-group textarea, .form-group select {
41
- width: 100%;
42
- padding: 8px 12px;
43
- border: 1px solid #ced4da;
44
- border-radius: 4px;
45
- font-size: 14px;
46
- }
47
-
48
- .form-group input[type="number"] {
49
- width: 120px;
50
- }
51
-
52
- .form-group input[type="file"] {
53
- padding: 4px;
54
- }
55
-
56
- .form-group textarea {
57
- height: 60px;
58
- resize: vertical;
59
- }
60
-
61
- .checkbox-group {
62
- display: flex;
63
- align-items: center;
64
- gap: 8px;
65
- }
66
-
67
- .checkbox-group input[type="checkbox"] {
68
- width: auto;
69
- }
70
-
71
- .log-viewer {
72
- background: #1e1e1e;
73
- color: #f8f8f2;
74
- padding: 15px;
75
- border-radius: 4px;
76
- font-family: 'Courier New', 'SimSun', 'Microsoft YaHei', monospace;
77
- font-size: 12px;
78
- height: 300px;
79
- overflow-y: auto;
80
- white-space: pre-wrap;
81
- margin-top: 10px;
82
- unicode-bidi: embed;
83
- word-break: break-all;
84
- }
85
-
86
- .status-indicator {
87
- padding: 8px 12px;
88
- border-radius: 4px;
89
- font-weight: 500;
90
- margin-bottom: 15px;
91
- }
92
-
93
- .status-idle {
94
- background: #e9ecef;
95
- color: #495057;
96
- }
97
-
98
- .status-running {
99
- background: #fff3cd;
100
- color: #856404;
101
- }
102
-
103
- .status-success {
104
- background: #d1edff;
105
- color: #0c5460;
106
- }
107
-
108
- .status-error {
109
- background: #f8d7da;
110
- color: #721c24;
111
- }
112
-
113
- .parameter-help {
114
- font-size: 12px;
115
- color: #6c757d;
116
- margin-top: 4px;
117
- }
118
-
119
- .action-buttons {
120
- display: flex;
121
- gap: 10px;
122
- margin-top: 20px;
123
- }
124
-
125
- .btn-run {
126
- background: #28a745;
127
- color: white;
128
- border: none;
129
- padding: 12px 24px;
130
- border-radius: 4px;
131
- font-size: 16px;
132
- font-weight: 500;
133
- cursor: pointer;
134
- }
135
-
136
- .btn-run:hover {
137
- background: #218838;
138
- }
139
-
140
- .btn-run:disabled {
141
- background: #6c757d;
142
- cursor: not-allowed;
143
- }
144
-
145
- .password-input {
146
- position: relative;
147
- }
148
-
149
- .password-toggle {
150
- position: absolute;
151
- right: 10px;
152
- top: 50%;
153
- transform: translateY(-50%);
154
- background: none;
155
- border: none;
156
- cursor: pointer;
157
- color: #6c757d;
158
- }
159
-
160
- .file-info {
161
- margin-top: 8px;
162
- padding: 8px;
163
- background: #e9ecef;
164
- border-radius: 4px;
165
- font-size: 12px;
166
- }
167
-
168
- .back-link {
169
- color: #007bff;
170
- text-decoration: none;
171
- margin-bottom: 20px;
172
- display: inline-block;
173
- }
174
-
175
- .back-link:hover {
176
- text-decoration: underline;
177
- }
178
-
179
- .warning-box {
180
- background: #fff3cd;
181
- border: 1px solid #ffeaa7;
182
- border-radius: 4px;
183
- padding: 12px;
184
- margin: 10px 0;
185
- color: #856404;
186
- }
187
-
188
- .info-box {
189
- background: #d1ecf1;
190
- border: 1px solid #bee5eb;
191
- border-radius: 4px;
192
- padding: 12px;
193
- margin: 10px 0;
194
- color: #0c5460;
195
- }
196
- </style>
197
- </head>
198
- <body>
199
- <div class="simulator-container">
200
- <a href="/" class="back-link">← Back to Main Page</a>
201
-
202
- <header>
203
- <h1>🚀 BRAIN Alpha Simulator</h1>
204
- <p class="subtitle">User-friendly interface for running alpha simulations</p>
205
-
206
- <div class="status-indicator" id="simulatorStatus">
207
- Ready to configure simulation parameters
208
- </div>
209
- </header>
210
-
211
- <div class="simulator-grid">
212
- <!-- Configuration Panel -->
213
- <div class="simulator-panel">
214
- <h3>📋 Simulation Configuration</h3>
215
-
216
- <form id="simulatorForm">
217
- <!-- JSON File Selection -->
218
- <div class="form-group">
219
- <label for="jsonFile">📁 Expressions JSON File</label>
220
- <input type="file" id="jsonFile" accept=".json" required>
221
- <div class="parameter-help">Select expressions_with_settings.json file</div>
222
- <div id="jsonFileInfo" class="file-info" style="display: none;"></div>
223
- </div>
224
-
225
- <!-- Authentication -->
226
- <div class="form-group">
227
- <label for="username">👤 BRAIN Username</label>
228
- <input type="text" id="username" required placeholder="your.email@domain.com">
229
- </div>
230
-
231
- <div class="form-group">
232
- <label for="password">🔒 BRAIN Password</label>
233
- <div class="password-input">
234
- <input type="password" id="password" required placeholder="Your password">
235
- <button type="button" class="password-toggle" onclick="togglePassword()">đŸ‘ī¸</button>
236
- </div>
237
- </div>
238
-
239
- <!-- Simulation Parameters -->
240
- <div class="form-group">
241
- <label for="startPosition">đŸŽ¯ Starting Position</label>
242
- <input type="number" id="startPosition" min="0" value="0" required>
243
- <div class="parameter-help">Start from expression N (0-based index)</div>
244
- </div>
245
-
246
- <div class="form-group">
247
- <label for="concurrentCount">⚡ Concurrent Simulations</label>
248
- <input type="number" id="concurrentCount" min="1" value="3" required>
249
- <div class="parameter-help">Number of parallel simulations</div>
250
- </div>
251
-
252
- <!-- Advanced Options -->
253
- <div class="form-group">
254
- <div class="checkbox-group">
255
- <input type="checkbox" id="randomShuffle">
256
- <label for="randomShuffle">🔀 Random Shuffle</label>
257
- </div>
258
- <div class="parameter-help">Randomly shuffle expressions order</div>
259
- </div>
260
-
261
- <div class="form-group">
262
- <div class="checkbox-group">
263
- <input type="checkbox" id="useMultiSim" onchange="toggleMultiSimOptions()">
264
- <label for="useMultiSim">đŸŽ›ī¸ Multi-Simulation Mode</label>
265
- </div>
266
- <div class="parameter-help">Combine multiple alphas in one simulation slot</div>
267
- </div>
268
-
269
- <div class="form-group" id="multiSimOptions" style="display: none;">
270
- <label for="alphaCountPerSlot">📊 Alphas per Slot</label>
271
- <input type="number" id="alphaCountPerSlot" min="2" max="10" value="3">
272
- <div class="parameter-help">Number of alphas per multi-simulation slot (2-10)</div>
273
- </div>
274
-
275
- <div class="warning-box" id="overwriteWarning" style="display: none;">
276
- âš ī¸ Warning: Original JSON file will be overwritten if starting position > 0 or random shuffle is enabled!
277
- </div>
278
- </form>
279
-
280
- <div class="action-buttons">
281
- <button class="btn-run" id="runSimulator" onclick="runSimulator()">
282
- 🚀 Start Simulation
283
- </button>
284
- <button class="btn btn-outline" onclick="testConnection()" id="testBtn">
285
- 🔗 Test Connection
286
- </button>
287
- <button class="btn btn-outline" onclick="stopSimulation()" id="stopBtn" style="display: none;">
288
- âšī¸ Stop
289
- </button>
290
- </div>
291
- </div>
292
-
293
- <!-- Log Viewer Panel -->
294
- <div class="simulator-panel">
295
- <h3>📊 Simulation Logs & Status</h3>
296
-
297
- <div class="info-box" id="currentLogFile">
298
- No log file selected. Latest log will be auto-monitored when simulation starts.
299
- </div>
300
-
301
- <div class="form-group">
302
- <label for="logSelector">📁 Select Log File</label>
303
- <select id="logSelector" onchange="loadSelectedLog()">
304
- <option value="">Select a log file...</option>
305
- </select>
306
- <button class="btn btn-small btn-outline" onclick="refreshLogFiles()">🔄 Refresh</button>
307
- </div>
308
-
309
- <div class="log-viewer" id="logViewer">
310
- Welcome to BRAIN Alpha Simulator!
311
-
312
- This interface will show:
313
- - Real-time simulation progress
314
- - Authentication status
315
- - Alpha generation results
316
- - Error messages and warnings
317
-
318
- Configure your parameters and click "Start Simulation" to begin.
319
- </div>
320
-
321
- <div id="simulationProgress" style="margin-top: 15px; display: none;">
322
- <div style="display: flex; justify-content: space-between; align-items: center;">
323
- <span>Progress:</span>
324
- <span id="progressText">0/0</span>
325
- </div>
326
- <div style="background: #e9ecef; height: 8px; border-radius: 4px; margin-top: 5px;">
327
- <div id="progressBar" style="background: #28a745; height: 100%; border-radius: 4px; width: 0%; transition: width 0.3s;"></div>
328
- </div>
329
- </div>
330
- </div>
331
- </div>
332
-
333
- <!-- Results Section -->
334
- <div class="simulator-panel" id="resultsPanel" style="margin-top: 20px; display: none;">
335
- <h3>✅ Simulation Request Sent Successfully</h3>
336
- <div id="simulationResults"></div>
337
- </div>
338
- </div>
339
-
340
- <script src="{{ url_for('static', filename='simulator.js') }}"></script>
341
- <script src="{{ url_for('static', filename='usage_widget.js') }}"></script>
342
- </body>
343
- </html>