cnhkmcp 2.1.2__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.
- {cnhkmcp-2.1.2.dist-info â cnhkmcp-2.1.3.dist-info}/METADATA +1 -1
- cnhkmcp-2.1.3.dist-info/RECORD +6 -0
- cnhkmcp-2.1.3.dist-info/top_level.txt +1 -0
- cnhkmcp/__init__.py +0 -125
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 -281
- 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 -408
- 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
- 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
- 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
- cnhkmcp/untracked/APP/.gitignore +0 -32
- cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -112
- cnhkmcp/untracked/APP/README.md +0 -309
- cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -4985
- cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
- cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -1510
- cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -180
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -2421
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/321/207/320/264/342/225/221/321/204/342/225/233/320/233.json +0 -654
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -1034
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -444
- 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
- cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -60
- cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -3182
- cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -7
- cnhkmcp/untracked/APP/Tranformer/validator.py +0 -889
- cnhkmcp/untracked/APP/ace.log +0 -69
- cnhkmcp/untracked/APP/ace_lib.py +0 -1510
- cnhkmcp/untracked/APP/blueprints/__init__.py +0 -6
- cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -347
- cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -221
- cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -432
- cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -570
- cnhkmcp/untracked/APP/custom_templates/templates.json +0 -1257
- cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +0 -400
- cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +0 -1510
- cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +0 -252
- cnhkmcp/untracked/APP/give_me_idea/fetch_all_datasets.py +0 -157
- cnhkmcp/untracked/APP/give_me_idea/fetch_all_operators.py +0 -99
- cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +0 -180
- cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +0 -11
- cnhkmcp/untracked/APP/helpful_functions.py +0 -180
- cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -1497
- cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -447
- cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -180
- cnhkmcp/untracked/APP/mirror_config.txt +0 -20
- cnhkmcp/untracked/APP/operaters.csv +0 -129
- cnhkmcp/untracked/APP/requirements.txt +0 -53
- cnhkmcp/untracked/APP/run_app.bat +0 -28
- cnhkmcp/untracked/APP/run_app.sh +0 -34
- cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -39
- cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -43
- cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -404
- cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -618
- cnhkmcp/untracked/APP/ssrn-3332513.pdf +6 -109201
- cnhkmcp/untracked/APP/static/brain.js +0 -589
- cnhkmcp/untracked/APP/static/decoder.js +0 -1540
- cnhkmcp/untracked/APP/static/feature_engineering.js +0 -1729
- cnhkmcp/untracked/APP/static/idea_house.js +0 -937
- cnhkmcp/untracked/APP/static/inspiration.js +0 -465
- cnhkmcp/untracked/APP/static/inspiration_house.js +0 -868
- cnhkmcp/untracked/APP/static/paper_analysis.js +0 -390
- cnhkmcp/untracked/APP/static/script.js +0 -3082
- cnhkmcp/untracked/APP/static/simulator.js +0 -597
- cnhkmcp/untracked/APP/static/styles.css +0 -3127
- cnhkmcp/untracked/APP/static/usage_widget.js +0 -508
- cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -511
- cnhkmcp/untracked/APP/templates/feature_engineering.html +0 -960
- cnhkmcp/untracked/APP/templates/idea_house.html +0 -564
- cnhkmcp/untracked/APP/templates/index.html +0 -932
- cnhkmcp/untracked/APP/templates/inspiration_house.html +0 -861
- cnhkmcp/untracked/APP/templates/paper_analysis.html +0 -91
- cnhkmcp/untracked/APP/templates/simulator.html +0 -343
- cnhkmcp/untracked/APP/templates/transformer_web.html +0 -580
- cnhkmcp/untracked/APP/usage.md +0 -351
- 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
- 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
- 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
- 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
- cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -490
- cnhkmcp/untracked/arxiv_api.py +0 -229
- cnhkmcp/untracked/forum_functions.py +0 -998
- 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
- 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
- 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
- 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
- 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
- cnhkmcp/untracked/platform_functions.py +0 -2886
- cnhkmcp/untracked/sample_mcp_config.json +0 -11
- cnhkmcp/untracked/user_config.json +0 -31
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- cnhkmcp-2.1.2.dist-info/RECORD +0 -111
- cnhkmcp-2.1.2.dist-info/top_level.txt +0 -1
- {cnhkmcp-2.1.2.dist-info â cnhkmcp-2.1.3.dist-info}/WHEEL +0 -0
- {cnhkmcp-2.1.2.dist-info â cnhkmcp-2.1.3.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-2.1.2.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>
|