cnhkmcp 1.8.10__py3-none-any.whl → 2.0__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/untracked/APP/MODULAR_STRUCTURE.md +38 -49
- cnhkmcp/untracked/APP/Tranformer/Transformer.py +131 -1
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +951 -2055
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +261 -1
- cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +168 -1362
- cnhkmcp/untracked/APP/Tranformer/template_summary.txt +57 -1
- cnhkmcp/untracked/APP/ace.log +26 -0
- cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md +400 -0
- cnhkmcp/untracked/APP/give_me_idea/ace_lib.py +1489 -0
- cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py +247 -0
- cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py +180 -0
- cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md +11 -0
- cnhkmcp/untracked/APP/static/brain.js +13 -3
- cnhkmcp/untracked/APP/static/inspiration.js +434 -0
- cnhkmcp/untracked/APP/templates/index.html +126 -0
- cnhkmcp/untracked/APP/usage.md +29 -3
- 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 +233 -1
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/METADATA +1 -1
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/RECORD +23 -17
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/WHEEL +0 -0
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/entry_points.txt +0 -0
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/licenses/LICENSE +0 -0
- {cnhkmcp-1.8.10.dist-info → cnhkmcp-2.0.dist-info}/top_level.txt +0 -0
|
@@ -2146,6 +2146,238 @@ def get_valid_simulation_options(session):
|
|
|
2146
2146
|
print(f"Error fetching options: {e}")
|
|
2147
2147
|
return {}
|
|
2148
2148
|
|
|
2149
|
+
# --- Inspiration Master Routes ---
|
|
2150
|
+
|
|
2151
|
+
def get_active_session():
|
|
2152
|
+
"""Helper to get active session from header or SingleSession"""
|
|
2153
|
+
# Check header first
|
|
2154
|
+
session_id = request.headers.get('Session-ID')
|
|
2155
|
+
if session_id and session_id in brain_sessions:
|
|
2156
|
+
return brain_sessions[session_id]['session']
|
|
2157
|
+
|
|
2158
|
+
# Fallback to SingleSession
|
|
2159
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
2160
|
+
transformer_dir = os.path.join(script_dir, 'Tranformer')
|
|
2161
|
+
if transformer_dir not in sys.path:
|
|
2162
|
+
sys.path.append(transformer_dir)
|
|
2163
|
+
from ace_lib import SingleSession
|
|
2164
|
+
s = SingleSession()
|
|
2165
|
+
if hasattr(s, 'auth') and s.auth:
|
|
2166
|
+
return s
|
|
2167
|
+
return None
|
|
2168
|
+
|
|
2169
|
+
@app.route('/api/check_login', methods=['GET'])
|
|
2170
|
+
def check_login():
|
|
2171
|
+
try:
|
|
2172
|
+
s = get_active_session()
|
|
2173
|
+
if s:
|
|
2174
|
+
return jsonify({'logged_in': True})
|
|
2175
|
+
else:
|
|
2176
|
+
return jsonify({'logged_in': False})
|
|
2177
|
+
except Exception as e:
|
|
2178
|
+
print(f"Check login error: {e}")
|
|
2179
|
+
return jsonify({'logged_in': False})
|
|
2180
|
+
|
|
2181
|
+
@app.route('/api/inspiration/options', methods=['GET'])
|
|
2182
|
+
def inspiration_options():
|
|
2183
|
+
try:
|
|
2184
|
+
# Use the same path logic as the main login
|
|
2185
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
2186
|
+
transformer_dir = os.path.join(script_dir, 'Tranformer')
|
|
2187
|
+
if transformer_dir not in sys.path:
|
|
2188
|
+
sys.path.append(transformer_dir)
|
|
2189
|
+
|
|
2190
|
+
from ace_lib import get_instrument_type_region_delay
|
|
2191
|
+
|
|
2192
|
+
s = get_active_session()
|
|
2193
|
+
if not s:
|
|
2194
|
+
return jsonify({'error': 'Not logged in'}), 401
|
|
2195
|
+
|
|
2196
|
+
df = get_instrument_type_region_delay(s)
|
|
2197
|
+
|
|
2198
|
+
result = {}
|
|
2199
|
+
for _, row in df.iterrows():
|
|
2200
|
+
inst = row['InstrumentType']
|
|
2201
|
+
region = row['Region']
|
|
2202
|
+
delay = row['Delay']
|
|
2203
|
+
univs = row['Universe']
|
|
2204
|
+
|
|
2205
|
+
if inst not in result: result[inst] = {}
|
|
2206
|
+
if region not in result[inst]:
|
|
2207
|
+
result[inst][region] = {"delays": [], "universes": []}
|
|
2208
|
+
|
|
2209
|
+
if delay not in result[inst][region]['delays']:
|
|
2210
|
+
result[inst][region]['delays'].append(delay)
|
|
2211
|
+
|
|
2212
|
+
if isinstance(univs, list):
|
|
2213
|
+
for u in univs:
|
|
2214
|
+
if u not in result[inst][region]['universes']:
|
|
2215
|
+
result[inst][region]['universes'].append(u)
|
|
2216
|
+
else:
|
|
2217
|
+
if univs not in result[inst][region]['universes']:
|
|
2218
|
+
result[inst][region]['universes'].append(univs)
|
|
2219
|
+
|
|
2220
|
+
return jsonify(result)
|
|
2221
|
+
except Exception as e:
|
|
2222
|
+
return jsonify({'error': str(e)}), 500
|
|
2223
|
+
|
|
2224
|
+
@app.route('/api/inspiration/datasets', methods=['POST'])
|
|
2225
|
+
def inspiration_datasets():
|
|
2226
|
+
data = request.json
|
|
2227
|
+
region = data.get('region')
|
|
2228
|
+
delay = data.get('delay')
|
|
2229
|
+
universe = data.get('universe')
|
|
2230
|
+
search = data.get('search', '')
|
|
2231
|
+
|
|
2232
|
+
try:
|
|
2233
|
+
# Use the same path logic as the main login
|
|
2234
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
2235
|
+
transformer_dir = os.path.join(script_dir, 'Tranformer')
|
|
2236
|
+
if transformer_dir not in sys.path:
|
|
2237
|
+
sys.path.append(transformer_dir)
|
|
2238
|
+
|
|
2239
|
+
from ace_lib import get_datasets
|
|
2240
|
+
|
|
2241
|
+
s = get_active_session()
|
|
2242
|
+
if not s:
|
|
2243
|
+
return jsonify({'error': 'Not logged in'}), 401
|
|
2244
|
+
|
|
2245
|
+
df = get_datasets(s, region=region, delay=int(delay), universe=universe)
|
|
2246
|
+
|
|
2247
|
+
if search:
|
|
2248
|
+
search = search.lower()
|
|
2249
|
+
mask = (
|
|
2250
|
+
df['id'].str.lower().str.contains(search, na=False) |
|
|
2251
|
+
df['name'].str.lower().str.contains(search, na=False) |
|
|
2252
|
+
df['description'].str.lower().str.contains(search, na=False)
|
|
2253
|
+
)
|
|
2254
|
+
df = df[mask]
|
|
2255
|
+
|
|
2256
|
+
results = df.head(50).to_dict(orient='records')
|
|
2257
|
+
return jsonify(results)
|
|
2258
|
+
except Exception as e:
|
|
2259
|
+
return jsonify({'error': str(e)}), 500
|
|
2260
|
+
|
|
2261
|
+
@app.route('/api/inspiration/test_llm', methods=['POST'])
|
|
2262
|
+
def inspiration_test_llm():
|
|
2263
|
+
data = request.json
|
|
2264
|
+
api_key = data.get('apiKey')
|
|
2265
|
+
base_url = data.get('baseUrl')
|
|
2266
|
+
model = data.get('model')
|
|
2267
|
+
|
|
2268
|
+
try:
|
|
2269
|
+
import openai
|
|
2270
|
+
client = openai.OpenAI(api_key=api_key, base_url=base_url)
|
|
2271
|
+
# Simple call to list models or chat completion
|
|
2272
|
+
# Using a very cheap/fast call if possible, or just listing models
|
|
2273
|
+
try:
|
|
2274
|
+
client.models.list()
|
|
2275
|
+
return jsonify({'success': True})
|
|
2276
|
+
except Exception as e:
|
|
2277
|
+
# Fallback to a simple completion if models.list is restricted
|
|
2278
|
+
try:
|
|
2279
|
+
client.chat.completions.create(
|
|
2280
|
+
model=model,
|
|
2281
|
+
messages=[{"role": "user", "content": "hi"}],
|
|
2282
|
+
max_tokens=1
|
|
2283
|
+
)
|
|
2284
|
+
return jsonify({'success': True})
|
|
2285
|
+
except Exception as e2:
|
|
2286
|
+
return jsonify({'success': False, 'error': str(e2)})
|
|
2287
|
+
|
|
2288
|
+
except Exception as e:
|
|
2289
|
+
return jsonify({'success': False, 'error': str(e)})
|
|
2290
|
+
|
|
2291
|
+
@app.route('/api/inspiration/generate', methods=['POST'])
|
|
2292
|
+
def inspiration_generate():
|
|
2293
|
+
data = request.json
|
|
2294
|
+
api_key = data.get('apiKey')
|
|
2295
|
+
base_url = data.get('baseUrl')
|
|
2296
|
+
model = data.get('model')
|
|
2297
|
+
region = data.get('region')
|
|
2298
|
+
delay = data.get('delay')
|
|
2299
|
+
universe = data.get('universe')
|
|
2300
|
+
dataset_id = data.get('datasetId')
|
|
2301
|
+
|
|
2302
|
+
try:
|
|
2303
|
+
import openai
|
|
2304
|
+
# Use the same path logic as the main login
|
|
2305
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
2306
|
+
transformer_dir = os.path.join(script_dir, 'Tranformer')
|
|
2307
|
+
if transformer_dir not in sys.path:
|
|
2308
|
+
sys.path.append(transformer_dir)
|
|
2309
|
+
|
|
2310
|
+
from ace_lib import get_operators, get_datafields
|
|
2311
|
+
|
|
2312
|
+
s = get_active_session()
|
|
2313
|
+
if not s:
|
|
2314
|
+
return jsonify({'error': 'Not logged in'}), 401
|
|
2315
|
+
|
|
2316
|
+
operators_df = get_operators(s)
|
|
2317
|
+
operators_df = operators_df[operators_df['scope'] == 'REGULAR']
|
|
2318
|
+
|
|
2319
|
+
datafields_df = get_datafields(s, region=region, delay=int(delay), universe=universe, dataset_id=dataset_id)
|
|
2320
|
+
|
|
2321
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
2322
|
+
prompt_path = os.path.join(script_dir, "give_me_idea", "what_is_Alpha_template.md")
|
|
2323
|
+
try:
|
|
2324
|
+
with open(prompt_path, "r", encoding="utf-8") as f:
|
|
2325
|
+
system_prompt = f.read()
|
|
2326
|
+
except:
|
|
2327
|
+
system_prompt = "You are a helpful assistant for generating Alpha templates."
|
|
2328
|
+
|
|
2329
|
+
client = openai.OpenAI(api_key=api_key, base_url=base_url)
|
|
2330
|
+
|
|
2331
|
+
max_retries = 5
|
|
2332
|
+
n_ops = len(operators_df)
|
|
2333
|
+
n_fields = len(datafields_df)
|
|
2334
|
+
|
|
2335
|
+
last_error = None
|
|
2336
|
+
|
|
2337
|
+
for attempt in range(max_retries + 1):
|
|
2338
|
+
ops_subset = operators_df.head(n_ops)
|
|
2339
|
+
fields_subset = datafields_df.head(n_fields)
|
|
2340
|
+
|
|
2341
|
+
operators_info = ops_subset[['name', 'category', 'description']].to_string()
|
|
2342
|
+
datafields_info = fields_subset[['id', 'description', 'subcategory']].to_string()
|
|
2343
|
+
|
|
2344
|
+
user_prompt = f"""
|
|
2345
|
+
Here is the information about available operators (first {n_ops} rows):
|
|
2346
|
+
{operators_info}
|
|
2347
|
+
|
|
2348
|
+
Here is the information about the dataset '{dataset_id}' (first {n_fields} rows):
|
|
2349
|
+
{datafields_info}
|
|
2350
|
+
|
|
2351
|
+
Please come up with several Alpha templates based on this information.
|
|
2352
|
+
Specify the AI answer in Chinese.
|
|
2353
|
+
"""
|
|
2354
|
+
try:
|
|
2355
|
+
completion = client.chat.completions.create(
|
|
2356
|
+
model=model,
|
|
2357
|
+
messages=[
|
|
2358
|
+
{"role": "system", "content": system_prompt},
|
|
2359
|
+
{"role": "user", "content": user_prompt}
|
|
2360
|
+
],
|
|
2361
|
+
temperature=0.3,
|
|
2362
|
+
)
|
|
2363
|
+
return jsonify({'result': completion.choices[0].message.content})
|
|
2364
|
+
|
|
2365
|
+
except Exception as e:
|
|
2366
|
+
error_msg = str(e)
|
|
2367
|
+
last_error = error_msg
|
|
2368
|
+
if "token limit" in error_msg or "context_length_exceeded" in error_msg or "400" in error_msg:
|
|
2369
|
+
n_ops = max(1, n_ops // 2)
|
|
2370
|
+
n_fields = max(1, n_fields // 2)
|
|
2371
|
+
if n_ops == 1 and n_fields == 1:
|
|
2372
|
+
break
|
|
2373
|
+
else:
|
|
2374
|
+
break
|
|
2375
|
+
|
|
2376
|
+
return jsonify({'error': f"Failed after retries. Last error: {last_error}"})
|
|
2377
|
+
|
|
2378
|
+
except Exception as e:
|
|
2379
|
+
return jsonify({'error': str(e)}), 500
|
|
2380
|
+
|
|
2149
2381
|
if __name__ == '__main__':
|
|
2150
2382
|
print("Starting BRAIN Expression Template Decoder Web Application...")
|
|
2151
2383
|
print("Starting in safe mode: binding only to localhost (127.0.0.1)")
|
|
@@ -2158,4 +2390,4 @@ if __name__ == '__main__':
|
|
|
2158
2390
|
|
|
2159
2391
|
print(f"Application will run on http://{bind_host}:5000")
|
|
2160
2392
|
print("BRAIN API integration included - no separate proxy needed!")
|
|
2161
|
-
app.run(debug=
|
|
2393
|
+
app.run(debug=True, host=bind_host, port=5000)
|
|
@@ -13,9 +13,9 @@ cnhkmcp/untracked/示例工作流_Dataset_Exploration_Expert_Manual.md,sha256=-C
|
|
|
13
13
|
cnhkmcp/untracked/示例工作流_daily_report_workflow.md,sha256=6aNmPqWRn09XdQMRxoVTka9IYVOUv5LcWparHu16EfQ,9460
|
|
14
14
|
cnhkmcp/untracked/配置前运行我_安装必要依赖包.py,sha256=BnUyL5g6PaC62yEuS-8vcDSJ0oKu3k6jqQxi2jginuQ,6612
|
|
15
15
|
cnhkmcp/untracked/APP/.gitignore,sha256=oPCoVTNo82bhkN0c671LdjCpOTVpVhZI5NR75ztcg48,317
|
|
16
|
-
cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md,sha256=
|
|
16
|
+
cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md,sha256=b5xV74-_RtXq2K1EsYDwMukO6lxjJ4-lnOAEnTHpFS0,4706
|
|
17
17
|
cnhkmcp/untracked/APP/README.md,sha256=vb7hmQX0sH5aFNBmDCN5szMSDHm1_h2VKY4UKCt0aMk,11676
|
|
18
|
-
cnhkmcp/untracked/APP/ace.log,sha256=
|
|
18
|
+
cnhkmcp/untracked/APP/ace.log,sha256=A2YNM5-LlQeROSkKFV7Xv20K2mfrn6CzwLNKyBGsvSY,10753
|
|
19
19
|
cnhkmcp/untracked/APP/ace_lib.py,sha256=2YbAhDldT5Jwdva-9LK-rqHVYQxtOLKLN0Z4jsfoazA,52937
|
|
20
20
|
cnhkmcp/untracked/APP/helpful_functions.py,sha256=VS-rh4T2CMWLFK4clI7-DYsnqwO5dx5L-rgL8U8BmT8,6622
|
|
21
21
|
cnhkmcp/untracked/APP/mirror_config.txt,sha256=RL1jFYwcvDPkLd6tc_lqVcwjTLORWt5Qu0Ym_BTPaao,504
|
|
@@ -26,20 +26,20 @@ cnhkmcp/untracked/APP/run_app.sh,sha256=6uM4Yky-gE6rP-zJgLR36jpI03NFBqNAa-Vgg5cb
|
|
|
26
26
|
cnhkmcp/untracked/APP/setup_tsinghua.bat,sha256=9dLWCaQTULf3d2LqiAlvQrA4wuM1dysGh-vIDMfpgvE,1050
|
|
27
27
|
cnhkmcp/untracked/APP/setup_tsinghua.sh,sha256=mMDXTqCRIXtSHa_1pU0jCnNF-xajqfZDlUA72XpcAOk,1195
|
|
28
28
|
cnhkmcp/untracked/APP/ssrn-3332513.pdf,sha256=GEwf1Srtk-fTvF03dhTEjXJstHBARIUg31k7s5kxS98,2082078
|
|
29
|
-
cnhkmcp/untracked/APP/usage.md,sha256=
|
|
30
|
-
cnhkmcp/untracked/APP/运行打开我.py,sha256=
|
|
31
|
-
cnhkmcp/untracked/APP/Tranformer/Transformer.py,sha256=
|
|
29
|
+
cnhkmcp/untracked/APP/usage.md,sha256=lPpA6qqAMvVsm41ikbRR1ZWFcuPSgqhMXOUig52eZCI,16164
|
|
30
|
+
cnhkmcp/untracked/APP/运行打开我.py,sha256=BOLKROMUJQPtvbS8kbfEdeLEIG7VX8JEV8WNqS20zL0,97151
|
|
31
|
+
cnhkmcp/untracked/APP/Tranformer/Transformer.py,sha256=nvkDLv_untR-M_lAsvhpyvoyrkb8732JblB8MGeGjIA,111571
|
|
32
32
|
cnhkmcp/untracked/APP/Tranformer/ace.log,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
33
|
cnhkmcp/untracked/APP/Tranformer/ace_lib.py,sha256=2YbAhDldT5Jwdva-9LK-rqHVYQxtOLKLN0Z4jsfoazA,52937
|
|
34
34
|
cnhkmcp/untracked/APP/Tranformer/helpful_functions.py,sha256=VS-rh4T2CMWLFK4clI7-DYsnqwO5dx5L-rgL8U8BmT8,6622
|
|
35
35
|
cnhkmcp/untracked/APP/Tranformer/parsetab.py,sha256=29clH5xFEmKpqzRvrLN89QE8JFJNYFhH-gEFR4y7448,7650
|
|
36
|
-
cnhkmcp/untracked/APP/Tranformer/template_summary.txt,sha256=
|
|
36
|
+
cnhkmcp/untracked/APP/Tranformer/template_summary.txt,sha256=vNuvOWGxLu_JCsR_MkasOQaxuamuOenRKKiiYcfS50s,32616
|
|
37
37
|
cnhkmcp/untracked/APP/Tranformer/transformer_config.json,sha256=q3Io_1o_BAt-2GNAUKgCs_YR3exkiGFnUqykiPUC1jw,191
|
|
38
38
|
cnhkmcp/untracked/APP/Tranformer/validator.py,sha256=bvQt55-n2FHkeBA6Ui7tc0oLk_cnriDxt5z-IgaeKZA,50789
|
|
39
|
-
cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json,sha256=
|
|
39
|
+
cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json,sha256=Xu1FHoLAAPVipNwBhCrEYIteLhV8woe9JBWCG9lENCc,83118
|
|
40
40
|
cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_示例.json,sha256=K40tcWPiUKaPnrtMdfsN2BOBG5IzqSz04XT6gRz7FVE,23139
|
|
41
|
-
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json,sha256=
|
|
42
|
-
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json,sha256=
|
|
41
|
+
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json,sha256=toxymnqyP-Viy9Kg05hNOW5LXqTPhcWNuWbQs3zQp5c,10324
|
|
42
|
+
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json,sha256=LnNJp3qM3WTCEJo4KKkCyk6VcdPgwcq7qVwimcu0lLs,17892
|
|
43
43
|
cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_示例可直接载入Machine_lib.json,sha256=RToEIw0zov6csDwW6MfEJyxJEhaw9LvuRD9bz9QDCFY,3200
|
|
44
44
|
cnhkmcp/untracked/APP/blueprints/__init__.py,sha256=akR6SdIFo637C4Ii7c2-c7asVesJQT_sJ5ICMSRBeOU,216
|
|
45
45
|
cnhkmcp/untracked/APP/blueprints/feature_engineering.py,sha256=TyLaePibNUJtwEOTun8gVrB6j5QhXbwxwEixBhv15kk,13103
|
|
@@ -47,6 +47,11 @@ cnhkmcp/untracked/APP/blueprints/idea_house.py,sha256=P_Pq_kmw2N3YluBOH9e0SwsCsw
|
|
|
47
47
|
cnhkmcp/untracked/APP/blueprints/inspiration_house.py,sha256=JsSoKyCfvxh8n0wpRqWxzajc83SwNQ_aVcoBauu9QfM,19002
|
|
48
48
|
cnhkmcp/untracked/APP/blueprints/paper_analysis.py,sha256=YVtQ22uiY8ZO-B2x4ckoyZ4olDtcxqsJrV0gPDX56A8,22247
|
|
49
49
|
cnhkmcp/untracked/APP/custom_templates/templates.json,sha256=ARrpRsxGcUpC2iepS6j6A_0tdu_xUJTIyvLDb8uzL_E,48776
|
|
50
|
+
cnhkmcp/untracked/APP/give_me_idea/BRAIN_Alpha_Template_Expert_SystemPrompt.md,sha256=y95Lr8AZ-CQ-axJBDJHixsqR2Ig6nWJhHItKJJU1ZCA,16376
|
|
51
|
+
cnhkmcp/untracked/APP/give_me_idea/ace_lib.py,sha256=2YbAhDldT5Jwdva-9LK-rqHVYQxtOLKLN0Z4jsfoazA,52937
|
|
52
|
+
cnhkmcp/untracked/APP/give_me_idea/alpha_data_specific_template_master.py,sha256=uqG2nK5x8BGvZWdK2S0zSym-3mevWYobcN4_k8xZzDA,8795
|
|
53
|
+
cnhkmcp/untracked/APP/give_me_idea/helpful_functions.py,sha256=VS-rh4T2CMWLFK4clI7-DYsnqwO5dx5L-rgL8U8BmT8,6622
|
|
54
|
+
cnhkmcp/untracked/APP/give_me_idea/what_is_Alpha_template.md,sha256=QjwX0_b0DhhiNlo3ZwkIfXXSsJnk_FyjkZftyVwnCZ8,2317
|
|
50
55
|
cnhkmcp/untracked/APP/hkSimulator/ace.log,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
56
|
cnhkmcp/untracked/APP/hkSimulator/ace_lib.py,sha256=v5i16oVc7o2ndacm7GPnq_RBc4D1NHgc8fQA2F_Y1oA,52669
|
|
52
57
|
cnhkmcp/untracked/APP/hkSimulator/autosim_20251205_145240.log,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -55,10 +60,11 @@ cnhkmcp/untracked/APP/hkSimulator/autosimulator.py,sha256=JmhmboakiDDQetWmn8t0-k
|
|
|
55
60
|
cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py,sha256=VS-rh4T2CMWLFK4clI7-DYsnqwO5dx5L-rgL8U8BmT8,6622
|
|
56
61
|
cnhkmcp/untracked/APP/simulator/alpha_submitter.py,sha256=Wxx7DyFr0VwH709JhxXPj1Jiz8dShaVaYar3HTVMgv4,15652
|
|
57
62
|
cnhkmcp/untracked/APP/simulator/simulator_wqb.py,sha256=dh3FGBUKZWxTpyJAline1Kh_UJp5we__qcBc8di8ilk,23724
|
|
58
|
-
cnhkmcp/untracked/APP/static/brain.js,sha256=
|
|
63
|
+
cnhkmcp/untracked/APP/static/brain.js,sha256=WSRMZvj1aQUwiI6yG6gfv7xa2SnIRCF0sHEPhwpzews,18819
|
|
59
64
|
cnhkmcp/untracked/APP/static/decoder.js,sha256=sKyfgsleHvokCMw6Zp-XfcjixkT8cyMvw6ASDhN6b9I,61987
|
|
60
65
|
cnhkmcp/untracked/APP/static/feature_engineering.js,sha256=X6nis3FmytrNAE8mM-U6-VqmqZMAQ2X59Iy9RmOF5_8,73895
|
|
61
66
|
cnhkmcp/untracked/APP/static/idea_house.js,sha256=dg6zt1mFr99gONdIDqNN_P3ChPEMzCmnWTF0OW09x9w,34225
|
|
67
|
+
cnhkmcp/untracked/APP/static/inspiration.js,sha256=otAs0-2cJoJqNeql5QtjnbDeDtLOQHRgMwAfVTnZxKs,15969
|
|
62
68
|
cnhkmcp/untracked/APP/static/inspiration_house.js,sha256=U3L5vyguy10z7Ww-EFz59OlZUDw3KtIK_JyQzXYtdZ4,31795
|
|
63
69
|
cnhkmcp/untracked/APP/static/paper_analysis.js,sha256=EWD6fTfC6hMLL6IeqDmstP9w6Cezq5607ucUpEpuHkg,16939
|
|
64
70
|
cnhkmcp/untracked/APP/static/script.js,sha256=uyh3XHlRMC-VUe7mhWMvBlejGd-f_gMgH1kola7PlH8,108925
|
|
@@ -68,7 +74,7 @@ cnhkmcp/untracked/APP/static/usage_widget.js,sha256=nbjNFiLSaX2SllDaLrXb6OlqZ2DC
|
|
|
68
74
|
cnhkmcp/untracked/APP/templates/alpha_inspector.html,sha256=EY919KDTPw46FBQwQaxwfpx9_CYUet7fkpD03LBGlF8,22226
|
|
69
75
|
cnhkmcp/untracked/APP/templates/feature_engineering.html,sha256=SA_N46-Q_Oo68clS0-QFvbNW5v40uZPQ8Cmmc44RCP8,38443
|
|
70
76
|
cnhkmcp/untracked/APP/templates/idea_house.html,sha256=oQV-vdpAi-HPof1nUClYsJALrF0JX5jhgfM3LOecBdM,20553
|
|
71
|
-
cnhkmcp/untracked/APP/templates/index.html,sha256=
|
|
77
|
+
cnhkmcp/untracked/APP/templates/index.html,sha256=jNYOUci-IKWA9MyHXou-iUO3N0Sk9H86w7zFeYwqTjQ,57679
|
|
72
78
|
cnhkmcp/untracked/APP/templates/inspiration_house.html,sha256=oWTEjmR0FEniFvr5NaM7_AThkRNmurKGvoTyINIVDl0,26469
|
|
73
79
|
cnhkmcp/untracked/APP/templates/paper_analysis.html,sha256=vbDw4MAfmpFoXbef4roX6NKdto_a58RMIRi7Amr2P4M,4220
|
|
74
80
|
cnhkmcp/untracked/APP/templates/simulator.html,sha256=dPAY-fT7oEDCW945ZLLPSUPoawF-TACnVKiqrGiaWkI,12589
|
|
@@ -81,9 +87,9 @@ cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这
|
|
|
81
87
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/user_config.json,sha256=_INn1X1qIsITrmEno-BRlQOAGm9wnNCw-6B333DEvnk,695
|
|
82
88
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/让AI读这个文档来学会下载浏览器.md,sha256=v5QPSMjRDh52ZjgC4h8QjImnaqlVRLjTHGxmGjTo36g,3396
|
|
83
89
|
cnhkmcp/untracked/mcp文件论坛版2_如果原版启动不了浏览器就试这个/配置前运行我_安装必要依赖包.py,sha256=BnUyL5g6PaC62yEuS-8vcDSJ0oKu3k6jqQxi2jginuQ,6612
|
|
84
|
-
cnhkmcp-
|
|
85
|
-
cnhkmcp-
|
|
86
|
-
cnhkmcp-
|
|
87
|
-
cnhkmcp-
|
|
88
|
-
cnhkmcp-
|
|
89
|
-
cnhkmcp-
|
|
90
|
+
cnhkmcp-2.0.dist-info/licenses/LICENSE,sha256=QLxO2eNMnJQEdI_R1UV2AOD-IvuA8zVrkHWA4D9gtoc,1081
|
|
91
|
+
cnhkmcp-2.0.dist-info/METADATA,sha256=mg9Af9WjI65q81I6NdUzUcbLdO8kqWodlAQm51HCQkQ,5169
|
|
92
|
+
cnhkmcp-2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
93
|
+
cnhkmcp-2.0.dist-info/entry_points.txt,sha256=lTQieVyIvjhSMK4fT-XwnccY-JBC1H4vVQ3V9dDM-Pc,70
|
|
94
|
+
cnhkmcp-2.0.dist-info/top_level.txt,sha256=x--ibUcSgOS9Z_RWK2Qc-vfs7DaXQN-WMaaxEETJ1Bw,8
|
|
95
|
+
cnhkmcp-2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|