mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-05 12:00:59 +08:00
Commit Graph
Select branches
Hide Pull Requests
ai-grid
dev
feat/add-qwen-llm-integration
feat/nofxi
feature/strategy-market
fix/pr-template
main
moltbot-nofx
openclaw
palette-password-toggle-a11y-1470963664968926670
palette/login-a11y-improvement-15608608223637391775
release/merge-dev
release/stable
stable
#1
#100
#1000
#1002
#1002
#1007
#1008
#1009
#1012
#1013
#1014
#1019
#1021
#1022
#1023
#1026
#1027
#103
#1039
#1042
#1043
#1044
#1045
#1046
#1049
#105
#1057
#1059
#106
#1061
#1067
#107
#1075
#108
#1081
#1081
#1083
#1084
#1085
#1086
#1086
#1087
#109
#1090
#1091
#110
#1100
#1107
#1107
#1108
#1108
#1114
#1114
#1119
#112
#1124
#1124
#1128
#1129
#113
#1131
#1132
#1133
#1134
#1138
#114
#1140
#1146
#1149
#115
#1150
#116
#1162
#1166
#1169
#1172
#1173
#1174
#1177
#1178
#1179
#1186
#1186
#1187
#1187
#1192
#1193
#1198
#1200
#1201
#1202
#1206
#1212
#1212
#1219
#1224
#1225
#1229
#1234
#124
#1240
#1243
#1247
#1248
#1249
#125
#1250
#1255
#1255
#1258
#1261
#1261
#1265
#1275
#1276
#1277
#1277
#1279
#1280
#1281
#1285
#1287
#1289
#129
#1291
#1291
#1292
#1293
#1294
#1294
#1297
#1297
#1299
#13
#130
#130
#1300
#1302
#1303
#1304
#1307
#1310
#1312
#1313
#1315
#1315
#1317
#1317
#1318
#1318
#1319
#1319
#132
#1322
#1329
#1329
#133
#1331
#1332
#1338
#134
#1340
#1343
#1344
#1347
#1349
#1349
#135
#1350
#1350
#1352
#136
#1362
#1365
#1366
#1366
#1368
#1369
#1370
#1370
#1371
#1371
#1372
#1372
#1373
#1373
#1374
#1375
#138
#1382
#1384
#1384
#1387
#1388
#139
#1396
#1398
#1399
#140
#1400
#1401
#1401
#1402
#1403
#1404
#1404
#1406
#1407
#1408
#1409
#141
#1410
#1414
#1415
#1416
#1419
#1419
#142
#1420
#1420
#1421
#1421
#1422
#1422
#1423
#1424
#1425
#1426
#1427
#1428
#143
#1430
#1431
#1433
#1434
#1435
#1436
#1438
#1439
#1439
#1441
#1441
#1442
#1442
#1443
#1444
#1445
#1445
#1447
#1448
#1449
#145
#1450
#1451
#1452
#1453
#1454
#1455
#1456
#1459
#1460
#1460
#1461
#1462
#1463
#1465
#1466
#1467
#147
#1470
#1471
#1472
#1472
#1473
#1473
#1475
#1476
#1479
#148
#1480
#1481
#1482
#1483
#1483
#1484
#1485
#1486
#1487
#1488
#1489
#1489
#149
#1490
#1491
#1493
#1494
#1495
#1496
#1496
#1497
#1498
#150
#1502
#1502
#1503
#1505
#1505
#1506
#151
#1510
#1510
#1511
#1512
#1512
#1513
#1516
#1518
#152
#153
#156
#159
#16
#160
#161
#162
#163
#166
#167
#17
#170
#172
#176
#177
#178
#179
#18
#181
#182
#182
#183
#184
#185
#186
#187
#188
#189
#192
#193
#194
#195
#197
#199
#20
#201
#204
#205
#206
#207
#208
#209
#210
#211
#212
#213
#214
#215
#216
#217
#218
#219
#22
#220
#221
#225
#226
#228
#229
#230
#231
#232
#233
#235
#236
#237
#239
#24
#242
#243
#244
#246
#25
#250
#252
#255
#257
#258
#259
#261
#262
#263
#266
#267
#268
#270
#271
#272
#273
#275
#277
#28
#282
#284
#285
#287
#288
#288
#289
#291
#291
#292
#294
#297
#302
#307
#31
#310
#313
#315
#317
#318
#319
#321
#322
#323
#324
#325
#326
#327
#328
#329
#33
#330
#331
#333
#336
#337
#338
#339
#34
#344
#345
#346
#348
#349
#35
#351
#353
#354
#355
#356
#357
#358
#359
#360
#361
#362
#363
#363
#370
#372
#373
#379
#385
#386
#389
#39
#390
#392
#395
#399
#40
#400
#401
#404
#405
#407
#411
#413
#413
#414
#415
#416
#417
#419
#421
#424
#425
#428
#429
#432
#433
#434
#435
#436
#437
#438
#439
#44
#440
#441
#443
#444
#445
#446
#447
#448
#45
#452
#453
#454
#46
#462
#464
#466
#467
#468
#469
#471
#473
#476
#477
#478
#48
#480
#486
#489
#491
#493
#496
#497
#498
#5
#50
#500
#501
#504
#505
#508
#511
#515
#516
#518
#519
#52
#520
#521
#522
#523
#524
#525
#526
#528
#530
#531
#533
#535
#537
#54
#540
#541
#544
#545
#546
#548
#552
#554
#56
#561
#563
#564
#566
#568
#571
#572
#573
#575
#577
#578
#58
#585
#586
#587
#59
#594
#596
#599
#601
#602
#605
#606
#607
#62
#622
#627
#636
#638
#642
#646
#647
#648
#649
#65
#650
#651
#653
#655
#656
#657
#658
#660
#661
#662
#663
#666
#667
#668
#669
#67
#670
#671
#672
#672
#673
#674
#676
#677
#678
#679
#68
#680
#681
#682
#683
#684
#685
#686
#687
#693
#695
#697
#698
#699
#7
#7
#700
#703
#708
#709
#710
#712
#713
#715
#716
#717
#718
#719
#720
#721
#722
#723
#728
#730
#734
#735
#737
#739
#740
#743
#750
#751
#753
#756
#757
#76
#760
#761
#764
#768
#769
#77
#770
#771
#772
#773
#775
#779
#782
#784
#785
#796
#797
#798
#798
#800
#801
#801
#802
#803
#808
#810
#813
#815
#817
#819
#82
#823
#826
#829
#830
#831
#831
#833
#837
#839
#84
#841
#842
#842
#852
#854
#860
#872
#873
#875
#876
#876
#877
#878
#879
#88
#880
#881
#882
#883
#886
#889
#891
#895
#9
#90
#900
#901
#902
#905
#906
#907
#907
#908
#909
#91
#916
#916
#917
#918
#92
#921
#922
#923
#923
#924
#924
#931
#934
#935
#936
#937
#940
#940
#941
#942
#943
#944
#945
#946
#948
#949
#950
#951
#955
#956
#963
#964
#970
#971
#972
#974
#975
#978
#980
#980
#983
#985
#986
#988
#989
#990
#991
#993
#994
#995
#996
#996
#997
Select branches
Hide Pull Requests
ai-grid
dev
feat/add-qwen-llm-integration
feat/nofxi
feature/strategy-market
fix/pr-template
main
moltbot-nofx
openclaw
palette-password-toggle-a11y-1470963664968926670
palette/login-a11y-improvement-15608608223637391775
release/merge-dev
release/stable
stable
#1
#100
#1000
#1002
#1002
#1007
#1008
#1009
#1012
#1013
#1014
#1019
#1021
#1022
#1023
#1026
#1027
#103
#1039
#1042
#1043
#1044
#1045
#1046
#1049
#105
#1057
#1059
#106
#1061
#1067
#107
#1075
#108
#1081
#1081
#1083
#1084
#1085
#1086
#1086
#1087
#109
#1090
#1091
#110
#1100
#1107
#1107
#1108
#1108
#1114
#1114
#1119
#112
#1124
#1124
#1128
#1129
#113
#1131
#1132
#1133
#1134
#1138
#114
#1140
#1146
#1149
#115
#1150
#116
#1162
#1166
#1169
#1172
#1173
#1174
#1177
#1178
#1179
#1186
#1186
#1187
#1187
#1192
#1193
#1198
#1200
#1201
#1202
#1206
#1212
#1212
#1219
#1224
#1225
#1229
#1234
#124
#1240
#1243
#1247
#1248
#1249
#125
#1250
#1255
#1255
#1258
#1261
#1261
#1265
#1275
#1276
#1277
#1277
#1279
#1280
#1281
#1285
#1287
#1289
#129
#1291
#1291
#1292
#1293
#1294
#1294
#1297
#1297
#1299
#13
#130
#130
#1300
#1302
#1303
#1304
#1307
#1310
#1312
#1313
#1315
#1315
#1317
#1317
#1318
#1318
#1319
#1319
#132
#1322
#1329
#1329
#133
#1331
#1332
#1338
#134
#1340
#1343
#1344
#1347
#1349
#1349
#135
#1350
#1350
#1352
#136
#1362
#1365
#1366
#1366
#1368
#1369
#1370
#1370
#1371
#1371
#1372
#1372
#1373
#1373
#1374
#1375
#138
#1382
#1384
#1384
#1387
#1388
#139
#1396
#1398
#1399
#140
#1400
#1401
#1401
#1402
#1403
#1404
#1404
#1406
#1407
#1408
#1409
#141
#1410
#1414
#1415
#1416
#1419
#1419
#142
#1420
#1420
#1421
#1421
#1422
#1422
#1423
#1424
#1425
#1426
#1427
#1428
#143
#1430
#1431
#1433
#1434
#1435
#1436
#1438
#1439
#1439
#1441
#1441
#1442
#1442
#1443
#1444
#1445
#1445
#1447
#1448
#1449
#145
#1450
#1451
#1452
#1453
#1454
#1455
#1456
#1459
#1460
#1460
#1461
#1462
#1463
#1465
#1466
#1467
#147
#1470
#1471
#1472
#1472
#1473
#1473
#1475
#1476
#1479
#148
#1480
#1481
#1482
#1483
#1483
#1484
#1485
#1486
#1487
#1488
#1489
#1489
#149
#1490
#1491
#1493
#1494
#1495
#1496
#1496
#1497
#1498
#150
#1502
#1502
#1503
#1505
#1505
#1506
#151
#1510
#1510
#1511
#1512
#1512
#1513
#1516
#1518
#152
#153
#156
#159
#16
#160
#161
#162
#163
#166
#167
#17
#170
#172
#176
#177
#178
#179
#18
#181
#182
#182
#183
#184
#185
#186
#187
#188
#189
#192
#193
#194
#195
#197
#199
#20
#201
#204
#205
#206
#207
#208
#209
#210
#211
#212
#213
#214
#215
#216
#217
#218
#219
#22
#220
#221
#225
#226
#228
#229
#230
#231
#232
#233
#235
#236
#237
#239
#24
#242
#243
#244
#246
#25
#250
#252
#255
#257
#258
#259
#261
#262
#263
#266
#267
#268
#270
#271
#272
#273
#275
#277
#28
#282
#284
#285
#287
#288
#288
#289
#291
#291
#292
#294
#297
#302
#307
#31
#310
#313
#315
#317
#318
#319
#321
#322
#323
#324
#325
#326
#327
#328
#329
#33
#330
#331
#333
#336
#337
#338
#339
#34
#344
#345
#346
#348
#349
#35
#351
#353
#354
#355
#356
#357
#358
#359
#360
#361
#362
#363
#363
#370
#372
#373
#379
#385
#386
#389
#39
#390
#392
#395
#399
#40
#400
#401
#404
#405
#407
#411
#413
#413
#414
#415
#416
#417
#419
#421
#424
#425
#428
#429
#432
#433
#434
#435
#436
#437
#438
#439
#44
#440
#441
#443
#444
#445
#446
#447
#448
#45
#452
#453
#454
#46
#462
#464
#466
#467
#468
#469
#471
#473
#476
#477
#478
#48
#480
#486
#489
#491
#493
#496
#497
#498
#5
#50
#500
#501
#504
#505
#508
#511
#515
#516
#518
#519
#52
#520
#521
#522
#523
#524
#525
#526
#528
#530
#531
#533
#535
#537
#54
#540
#541
#544
#545
#546
#548
#552
#554
#56
#561
#563
#564
#566
#568
#571
#572
#573
#575
#577
#578
#58
#585
#586
#587
#59
#594
#596
#599
#601
#602
#605
#606
#607
#62
#622
#627
#636
#638
#642
#646
#647
#648
#649
#65
#650
#651
#653
#655
#656
#657
#658
#660
#661
#662
#663
#666
#667
#668
#669
#67
#670
#671
#672
#672
#673
#674
#676
#677
#678
#679
#68
#680
#681
#682
#683
#684
#685
#686
#687
#693
#695
#697
#698
#699
#7
#7
#700
#703
#708
#709
#710
#712
#713
#715
#716
#717
#718
#719
#720
#721
#722
#723
#728
#730
#734
#735
#737
#739
#740
#743
#750
#751
#753
#756
#757
#76
#760
#761
#764
#768
#769
#77
#770
#771
#772
#773
#775
#779
#782
#784
#785
#796
#797
#798
#798
#800
#801
#801
#802
#803
#808
#810
#813
#815
#817
#819
#82
#823
#826
#829
#830
#831
#831
#833
#837
#839
#84
#841
#842
#842
#852
#854
#860
#872
#873
#875
#876
#876
#877
#878
#879
#88
#880
#881
#882
#883
#886
#889
#891
#895
#9
#90
#900
#901
#902
#905
#906
#907
#907
#908
#909
#91
#916
#916
#917
#918
#92
#921
#922
#923
#923
#924
#924
#931
#934
#935
#936
#937
#940
#940
#941
#942
#943
#944
#945
#946
#948
#949
#950
#951
#955
#956
#963
#964
#970
#971
#972
#974
#975
#978
#980
#980
#983
#985
#986
#988
#989
#990
#991
#993
#994
#995
#996
#996
#997
-
e07dc1d2fa
Merge pull request #323 from zhouyongyou/fix/go-vet-warnings fix: resolve go vet warnings for non-constant format strings
Luna Martinez
2025-11-03 12:42:46 -05:00 -
6d1efcf54a
Fix TypeScript build error Removed unused 'Zap' import from App.tsx that was causing build failure. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-04 01:42:25 +08:00 -
18ca6fd213
Merge pull request #329 from zhouyongyou/chore/peer-dependency-markers chore(web): add peer dependency markers to package-lock.json
Luna Martinez
2025-11-03 12:39:24 -05:00 -
8e76be5a29
Resolve merge conflicts with dev branch Resolved conflicts in: - api/server.go: Preserved beta_mode config and user permission checks - manager/trader_manager.go: Kept optimized concurrent competition data with caching Maintained all performance optimizations while merging new features from dev. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-04 01:36:54 +08:00 -
5378e3469e
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev # Conflicts: # api/server.go
icy
2025-11-04 01:34:14 +08:00 -
c912efc882
Fix: Add proper top padding to prevent HeaderBar overlap on all main app pages Match main app layout with proven working /competition route layout: - Use px-6 py-6 pt-24 padding (same as /competition route) - Ensures HeaderBar doesn't overlap content on /traders and /dashboard pages - Provides consistent 6rem (96px) top clearance for fixed positioned HeaderBar - Removes responsive padding variants that differed from competition page This fixes header overlap issues across all main application routes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-04 01:29:39 +08:00 -
62ebd58a1f
style(backend): go fmt code
hzb1115
2025-11-03 17:22:11 +00:00 -
b0ad7e774e
Merge pull request #356 from xqliu/revert-pr-229-ut-infrastructure Revert PR #229: Remove UT infrastructure
Luna Martinez
2025-11-03 12:13:16 -05:00 -
5bc14b7006
Fix: Unify all pages to use HeaderBar component consistently Replace the inline header implementation in main app with HeaderBar component to match landing page: - Remove duplicate inline header code (168 lines) - Use HeaderBar component for all main app pages like landing page does - Ensure consistent header design across all routes (/competition, /traders, /dashboard) - Maintain proper onPageChange navigation handling - Keep all header functionality (user info, admin mode, language toggle, logout) This fixes the header inconsistency where different pages used different header implementations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-04 01:04:16 +08:00 -
2eb5801e3d
Revert "Merge pull request #229 from xqliu/test/add-ut-infrastructure" This reverts commit
683e77b92f, reversing changes made to791cecd2ff.
Liu Xiang Qian
2025-11-04 00:58:12 +08:00 -
d1a21b829d
Merge pull request #355 from Icyoung/beta Beta Competition kline count change to 5
Icyoung
2025-11-04 00:23:40 +08:00 -
06b7f8b9cb
Merge branch 'beta' of github.com:Icyoung/nofx into beta
icy
2025-11-04 00:18:34 +08:00 -
945625049b
Merge branch 'dev' into beta
icy
2025-11-04 00:17:50 +08:00 -
a5198b9a5b
Limit performance comparison chart to top 5 traders Frontend changes to ensure equity-history-batch API only requests data for top 5 performers: - Modify CompetitionPage to pass only top 5 traders to ComparisonChart component - Update API comments to reflect the change from top 10 to top 5 - Optimize chart performance by reducing data volume and API calls This ensures the performance comparison chart shows only the most relevant traders while improving load times. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-04 00:16:14 +08:00 -
b61fbe6ea3
fix: GetTraderConfig missing critical fields in SELECT/Scan **Problem**: - GetTraderConfig was missing 9 critical fields in SELECT statement - Missing corresponding Scan variables - Caused trader edit UI to show 0 for leverage and empty trading_symbols **Root Cause**: Database query only selected basic fields (id, name, balance, etc.) but missed leverage, trading_symbols, prompts, and all custom configs **Fix**: - Added missing fields to SELECT: * btc_eth_leverage, altcoin_leverage * trading_symbols * use_coin_pool, use_oi_top * custom_prompt, override_base_prompt * system_prompt_template * is_cross_margin * AI model custom_api_url, custom_model_name - Added corresponding Scan variables to match SELECT order **Impact**: ✅ Trader edit modal now displays correct leverage values ✅ Trading symbols list properly populated ✅ All custom configurations preserved and displayed ✅ API endpoint /traders/:id/config returns complete data **Testing**: - ✅ Go compilation successful - ✅ All fields aligned (31 SELECT = 31 Scan) - ✅ API layer verified (api/server.go:887-904) Reported by: 寒江孤影 Issue: Trader config edit modal showing 0 leverage and empty symbols Co-Authored-By: tinkle-community <tinklefund@gmail.com>
ZhouYongyou
2025-11-03 23:18:47 +08:00 -
69dc7ddac8
Merge pull request #353 from Icyoung/beta Beta Fix Competition、Rank api cache、Dev merge
Icyoung
2025-11-03 23:57:43 +08:00 -
d6998ac8fa
Merge branch 'dev' into beta
icy
2025-11-03 23:46:59 +08:00 -
3f35f6a870
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-03 23:46:54 +08:00 -
82fcb690fe
Optimize /api/competition endpoint performance with concurrent data fetching and caching ## Performance Improvements: - **Concurrent Processing**: Replace serial GetAccountInfo() calls with parallel goroutines - **Timeout Control**: Add 3-second timeout per trader to prevent blocking - **30-second Cache**: Implement competition data cache to reduce API calls - **Error Handling**: Graceful degradation when API calls fail or timeout ## API Changes: - Reduce top traders from 10 to 5 for better chart performance - Update /api/equity-history-batch to use top 5 traders by default - Add detailed logging for cache hits and performance monitoring ## Expected Performance Gains: - First request: ~85% faster (from 25s to 3s for 50 traders) - Cached requests: ~99.96% faster (from 25s to 10ms) - Better user experience with consistent response times 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 23:45:09 +08:00 -
430e23f7b5
Merge pull request #229 from xqliu/test/add-ut-infrastructure test: Add minimal UT infrastructure and fix Issue #227
SkywalkerJi
2025-11-04 00:28:34 +09:00 -
7e98b72f47
Merge pull request #349 from Icyoung/beta Beta Competition fix
Icyoung
2025-11-03 23:28:11 +08:00 -
31deb60e85
fix: Remove unused variables in AITradersPage.test.tsx to fix TypeScript compilation Fixed TypeScript compilation errors by removing unused imports and variables: - Removed unused 'screen' import from test-utils - Removed unused 'fetcher' parameter from SWR mock - Removed unused 'mockTrader' variable - Removed unused 'TraderInfo' type import All tests still pass (5/5) and frontend now compiles successfully.
Liu Xiang Qian
2025-11-03 23:20:55 +08:00 -
a3ecbdf950
Merge branch 'dev' into beta
icy
2025-11-03 23:19:52 +08:00 -
9da70069b0
Merge branch 'tinkle-nofx/dev' with conflict resolution - Resolve UI layout conflicts in App.tsx - Keep modern Binance-style header with authentication logic - Maintain responsive design and user interface improvements 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 23:19:25 +08:00 -
41b57ce834
Prevent my-traders API calls when user is not logged in - Add authentication checks to SWR calls in App.tsx and AITradersPage.tsx - Only call api.getTraders when user and token are available - Modify loadConfigs to skip authenticated API calls when not logged in - Load only public supported models/exchanges for unauthenticated users - Update useEffect dependencies to include user and token 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 23:14:10 +08:00 -
804bb4c302
Fix equity-history-batch API to support POST JSON requests - Change route from GET to POST for equity-history-batch endpoint - Update handleEquityHistoryBatch to parse JSON body from POST requests - Maintain backward compatibility with GET query parameters - Ensure public access without authentication as required 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 23:13:53 +08:00 -
20975c83ef
Merge pull request #345 from Icyoung/beta Beta Dev Merge、Competition fix api
Icyoung
2025-11-03 22:54:55 +08:00 -
e42031cb23
Add internationalization for AI scan interval configuration - Add aiScanInterval and scanIntervalRecommend translation keys to translations.ts - Update TraderConfigModal to use internationalized text instead of hardcoded Chinese - Support language switching for scan interval labels and recommendations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 22:40:50 +08:00 -
2d39ae1670
Merge pull request #336 from 0xEmberZz/fix-mobile-display-v2 UI : Fix mobile display
Icyoung
2025-11-03 22:40:17 +08:00 -
18562e2b1a
Merge dev branch with conflict resolution - Resolve TypeScript interface formatting conflict in CommunitySection.tsx - Include updates from dev branch 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 22:31:01 +08:00 -
75d8d995f7
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-03 22:29:01 +08:00 -
1d6adf9523
Merge pull request #338 from xqliu/feat/add-scan-interval-config-v2 feat: 添加 AI 扫描决策间隔配置支持
SkywalkerJi
2025-11-03 23:11:27 +09:00 -
69e5285a48
Merge pull request #337 from xqliu/fix/trader-edit-model-validation fix: 修复编辑 Trader 时 AI 模型验证失败的问题
SkywalkerJi
2025-11-03 23:11:08 +09:00 -
a8b3dc7a49
Optimize frontend to use batch API for equity history requests - Add batch API methods (getEquityHistoryBatch, getTopTraders, getPublicTraderConfig) to api.ts - Update ComparisonChart to use batch endpoint instead of individual calls - Reduce network requests from 10 to 1 for performance comparison page - Maintain backward compatibility with existing data structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 22:04:34 +08:00 -
8b81a68561
revert: 移除 SystemPromptTemplate 相关修改 将 SystemPromptTemplate 功能从扫描间隔 PR 中分离出来, 保持 PR 单一职责。 SystemPromptTemplate 功能将在单独的 PR 中处理。
Liu Xiang Qian
2025-11-03 22:02:25 +08:00 -
16bf34d56e
feat: 添加 AI 扫描决策间隔配置支持 ## 功能描述 在创建和编辑 Trader 时,支持配置 AI 扫描决策间隔(scan_interval_minutes),允许用户自定义 AI 决策的频率。 ## 修改内容 ### 后端修改 (api/server.go) 1. **CreateTraderRequest** 添加
ScanIntervalMinutes字段 2. **UpdateTraderRequest** 添加ScanIntervalMinutes字段和SystemPromptTemplate字段 3. **handleCreateTrader** 处理扫描间隔默认值(默认 3 分钟) 4. **handleUpdateTrader** 支持更新扫描间隔 5. **handleGetTraderConfig** 返回中添加scan_interval_minutes字段 ### 前端修改 #### web/src/types.ts -CreateTraderRequest添加scan_interval_minutes?可选字段 -TraderConfigData添加scan_interval_minutes必填字段 #### web/src/components/TraderConfigModal.tsx - 本地TraderConfigData接口添加scan_interval_minutes- 初始状态设置默认值为 3 分钟 - 添加 UI 输入框(范围 1-60 分钟) - Label 优化为 "AI 扫描决策间隔 (分钟)" #### web/src/components/AITradersPage.tsx -handleSaveEditTrader的更新请求中添加scan_interval_minutes#### web/src/components/landing/CommunitySection.tsx - 修复 TypeScript 编译错误:定义CardProps接口 - 修正TestimonialCard组件的 prop 名称(author → authorName) ## 功能特性 - ✅ 支持 1-60 分钟的自定义间隔 - ✅ 默认值为 3 分钟 - ✅ UI 提示建议范围:3-10 分钟 - ✅ 创建和编辑时均支持配置 - ✅ 后端验证和处理默认值 ## 测试步骤 1. 创建新 Trader,设置自定义扫描间隔(如 10 分钟) 2. 验证 Trader 创建成功 3. 编辑现有 Trader,修改扫描间隔 4. 验证修改保存成功 5. 确认 AI 决策按照新的间隔执行
Liu Xiang Qian
2025-11-03 21:55:26 +08:00 -
c5628293a3
fix: 修复编辑 Trader 时 AI 模型验证失败的问题 ## 问题描述 编辑 Trader 配置时,保存提示"AI模型配置不存在或未启用"错误。 ## 根本原因 - 数据库存储的模型 ID 是完整格式(如
admin_deepseek) - API 返回时将其转换为 provider 格式(deepseek) - 前端 enabledModels 列表中是完整 ID - 导致前端用deepseek查找admin_deepseek时失败 ## 修复方案 移除 handleGetTraderConfig 中的模型 ID 转换逻辑, 返回完整的模型 ID,保持与前端模型列表格式一致。 Fixes #335
Liu Xiang Qian
2025-11-03 21:52:44 +08:00 -
7049903025
feat(web): comprehensive mobile responsive optimization for AI Traders and Competition pages Optimized mobile display for AITradersPage: - Header: Reduced padding (px-3 on mobile), smaller icons and text - Action buttons: Smaller on mobile (px-3, text-xs) with horizontal scroll support - Configuration cards: Responsive padding (p-3 on mobile), smaller gaps - Model/Exchange items: Smaller icons (w-7 on mobile), truncate text overflow - Trader list: Stack vertically on mobile, smaller buttons with wrapping support - Empty states: Smaller icons and text on mobile Maintained all i18n translations and preserved Binance design style. Addresses #311 Co-Authored-By: tinkle-community <tinklefund@gmail.com>
Ember
2025-11-03 21:46:07 +08:00 -
bb7ecdd27b
fix: improve mobile responsive layout for header and comparison chart This is a partial fix for issue #311 mobile display problems. Changes in this commit: - Add responsive header layout with separate mobile/desktop views in App.tsx - Fix language selector visibility on mobile (no longer hidden by menu) - Add responsive breakpoints to ComparisonChart stats grid (2 cols on mobile, 4 on desktop) - Adjust padding and text sizes for mobile screens - Preserve all i18n (internationalization) functionality from upstream Note: Additional components (CompetitionPage, AITradersPage) will need similar mobile responsive improvements in follow-up commits. Related to #311 Co-Authored-By: tinkle-community <tinklefund@gmail.com>
Ember
2025-11-03 21:38:52 +08:00 -
097f1cd756
fix: Correct 4h kline data storage in WebSocket monitor Fixed critical bug where 4h kline data was incorrectly stored with 3m kline data, causing data mismatch. Changes: - Changed
m.klineDataMap4h.Store(s, klines)toklines4h- Updated log message to uselen(klines4h)instead oflen(klines)This bug would cause 4h kline queries to return 3m data, leading to incorrect technical indicator calculations. Fixes: #260 Related: #176
Liu Xiang Qian
2025-11-02 22:11:27 +08:00 -
92a442b8b5
Merge pull request #331 from Icyoung/beta Beta
Icyoung
2025-11-03 21:15:38 +08:00 -
dc619f9966
Merge branch 'dev' into beta
icy
2025-11-03 21:10:15 +08:00 -
b92bce9f12
Merge branches 'dev' and 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-03 21:10:09 +08:00 -
5fe671b254
chore(web): add peer dependency markers to package-lock.json npm v7+ automatically marks packages as peer dependencies when they are declared in peerDependencies of installed packages. This commit adds these markers to ensure consistent dependency resolution across all development environments and CI/CD pipelines. Affected packages (10): - @babel/core (dev peer) - @types/react (devOptional peer) - browserslist - jiti (dev peer) - postcss - react - react-dom - picomatch (2 instances, dev peer) - vite (dev peer) Benefits: - Prevents duplicate installations of peer dependencies - Ensures consistent package versions across the project - Improves npm install performance - Reduces package-lock.json conflicts
ZhouYongyou
2025-11-03 20:47:25 +08:00 -
249a00298c
Merge pull request #326 from NoFxAiOS/main
tinkle-community
2025-11-03 20:34:16 +08:00 -
936c2c35fd
Merge branch 'dev' into main
SkywalkerJi
2025-11-03 21:33:46 +09:00 -
835f60a553
Fix TypeScript error in CommunitySection component - Add missing CardProps interface definition - Update TestimonialCard component to use correct prop types - Fix authorName prop usage instead of author - Resolve build error: Cannot find name 'CardProps' 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 20:25:07 +08:00 -
5af5c0b517
Enhance leaderboard and security for trader management Features: - Limit leaderboard to top 50 traders sorted by PnL percentage - Add top 10 traders endpoint for performance comparison - Create batch equity history endpoint to optimize frontend performance - Add public trader config endpoint without sensitive data Security: - Add user ownership validation for start/stop trader operations - Prevent users from controlling other users' traders - Maintain consistent error messages for security Performance: - Reduce API calls from 10 to 1 for performance comparison page - Add data limits and error handling for batch operations - Sort traders by performance across all endpoints API Changes: - GET /api/traders - now returns top 50 sorted traders - GET /api/top-traders - new endpoint for top 10 traders - GET /api/equity-history-batch - batch endpoint for multiple trader histories - GET /api/traders/:id/public-config - public config without secrets - POST /api/traders/:id/start - now validates user ownership - POST /api/traders/:id/stop - now validates user ownership 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 20:14:39 +08:00 -
e6440d582f
fix: resolve go vet warnings for non-constant format strings Replace log.Printf with log.Print for static strings to resolve go vet warnings about non-constant format strings. This is a security best practice as using Printf with dynamic strings can lead to format string vulnerabilities. Fixed 6 instances in trader/auto_trader.go: - Line 260: Decision cycle separator (=) - Line 262: Decision cycle separator (=) - Line 349: System prompt separator (=) - Line 353: System prompt separator (=) - Line 357: CoT trace separator (-) - Line 361: CoT trace separator (-)
ZhouYongyou
2025-11-03 19:54:47 +08:00 -
2e6ad8e9bc
Merge pull request #321 from SkywalkerJi/main
tinkle-community
2025-11-03 19:53:00 +08:00 -
e88f842158
Upgrade this repository's open-source license to AGPL.
SkywalkerJi
2025-11-03 19:50:50 +08:00 -
1ec73db2f3
Fix go.sum after merge conflict resolution - Run go mod tidy to regenerate correct go.sum entries - Ensure all dependencies are properly resolved 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 19:34:28 +08:00 -
c33e8899e3
Resolve merge conflicts in go.sum - Keep newer version of go-sqlite3 (v1.14.32) - Complete merge from dev branch 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 19:33:50 +08:00 -
454fab934c
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-03 19:32:03 +08:00 -
7be72d8782
Move equity-history API to public routes for competition display - Move /api/equity-history from protected to public routes group - Remove token authentication requirement for equity history data - Update API documentation to reflect public access - Enable direct access to trader equity curves for competition comparison 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
icy
2025-11-03 19:29:09 +08:00 -
10dd7dd63d
Merge pull request #292 from hzb1115/dev aaafix(workflow): fix github workflow
Luna Martinez
2025-11-02 22:59:34 -05:00 -
5e3517d62e
fix comment
zbhan
2025-11-02 22:55:27 -05:00 -
9f311580e1
Fix validation logic
zbhan
2025-11-02 22:49:43 -05:00 -
3c7925dc46
Fix validation
zbhan
2025-11-02 22:24:31 -05:00 -
89ca3eedcc
Fix backend check
zbhan
2025-11-02 22:15:45 -05:00 -
c0a8375466
Fix validation error
zbhan
2025-11-02 22:11:24 -05:00 -
3f683200a6
fix(workflow): fix github workflow
zbhan
2025-11-02 21:49:59 -05:00 -
8a4524747f
Change permissions from read to write for contents
Luna Martinez
2025-11-02 21:15:31 -05:00 -
35316d61f7
Merge pull request #226 from xqliu/docs/enhance-bug-report-template docs: Enhance bug report template and add troubleshooting guide
Luna Martinez
2025-11-02 21:08:32 -05:00 -
ec2e294a2f
Merge pull request #285 from tangmengqiu/fix/ci-flow
tinkle-community
2025-11-03 10:03:56 +08:00 -
0168f766de
fix(ci): Add comprehensive permissions to pr-checks workflow Add workflow-level default permissions and explicit per-job permissions following the principle of least privilege: Workflow-level (default): - contents: read - Read repository contents - pull-requests: write - Manage PR labels and comments - issues: write - Manage issues (PRs are issues in GitHub API) Job-level overrides: - validate-pr: Inherits workflow defaults (needs issue/PR write access) - backend-tests: Downgrade to read-only (no write operations needed) - frontend-tests: Downgrade to read-only (no write operations needed) - auto-label: Add missing issues:write (labeler operates on PR issues) - security-check: Add security-events:write (upload SARIF results) - secrets-check: Downgrade to read-only (scanning only) - all-checks: Downgrade to read-only (status checking only) This fixes: 1. Potential 403 errors when auto-label tries to add labels to PR issues 2. Missing permission for uploading security scan results 3. Overly permissive access for read-only jobs Related: #282 Co-Authored-By: tinkle-community <tinklefund@gmail.com>
tangmengqiu
2025-11-02 18:17:41 -05:00 -
d216a97b40
Merge pull request #266 from 0xEmberZz/quote-tweet-link
tinkle-community
2025-11-03 07:01:41 +08:00 -
a1a0782d52
Merge pull request #268 from yutou123/dev
tinkle-community
2025-11-03 06:59:28 +08:00 -
6125e9856b
Merge pull request #282 from tangmengqiu/fix/dockerfile
tinkle-community
2025-11-03 06:50:30 +08:00 -
92539261d1
fix typo
tangmengqiu
2025-11-02 17:26:47 -05:00 -
806fad6136
fix(docker): Fix go-sqlite3 compilation on Alpine Linux Add CGO_CFLAGS="-D_LARGEFILE64_SOURCE" to resolve musl libc compatibility issues. This enables the Large File Support feature macros which map pread64/pwrite64/off64_t symbols (used by SQLite) to musl's native pread/pwrite/off_t implementations. This fix eliminates the "undeclared identifier" errors during CGO compilation without requiring additional sqlite-dev dependencies. Co-Authored-By: tinkle-community <tinklefund@gmail.com>
tangmengqiu
2025-11-02 17:15:01 -05:00 -
f5dc441c20
docs: Replace sensitive configuration examples with placeholders Update documentation to use placeholder values instead of real credentials in example configurations for enhanced security. Co-Authored-By: tinkle-community <tinklefund@gmail.com>
tinkle-community
2025-11-03 03:47:41 +08:00 -
ec5529c897
Merge pull request #275 from zhouyongyou/docs/adaptive-prompt-template docs(prompts): 更新 AI prompt 支持動態 TP/SL 功能 (Update AI prompt to support dynamic TP/SL features)
tinkle-community
2025-11-03 02:05:48 +08:00 -
6810ed3234
docs(prompts): Update AI prompt to support dynamic TP/SL features (v5.5.1) - Add 3 new action types: update_stop_loss, update_take_profit, partial_close - Introduce "Zero Principle" (疑惑优先) for risk control - Expand decision flow to 8 steps with critical safeguards: * Step 2: Consecutive loss pause (2x→45min, 3x→24h, 4x→72h) * Step 5: BTC status check (multi-timeframe MACD confirmation) * Step 6: Long/short confirmation checklist (≥5/8 indicators) * Step 7: Fake breakout detection (RSI multi-timeframe + candle patterns) * Step 8: Objective confidence scoring (base 60 + conditions) - Add signal priority ranking (trend resonance > volume > BTC > RSI...) - Add dynamic TP/SL strategies with examples - Increase confidence threshold: 0.6 → 0.85 for opening positions - Add cooldown rules and slippage buffer (0.05%) - Optimize prompt length: 4445 words → 1500 words (-66%) Key improvements in v5.5.1: ✅ BTC status check - Most critical protection for altcoin trading ✅ Long/short checklist - 5/8 indicators required, prevent false signals ✅ Objective confidence scoring - Base 60 + condition adjustments ✅ Fake breakout logic - RSI multi-timeframe + candle filters ✅ Consecutive loss pause - 2x/3x/4x trigger different cooldowns ✅ OI confirmation - >+5% for real breakout validation ✅ Signal priority ranking - Trend resonance > volume > BTC... ✅ Slippage handling - 0.05% buffer + profit check Design philosophy: Let AI autonomously judge trend vs chop, trust strong reasoning models. Co-Authored-By: tinkle-community <tinklefund@gmail.com>
ZhouYongyou
2025-11-03 01:21:38 +08:00 -
b2f0ef3300
文件命名空格问题
芋头
2025-11-03 00:16:28 +08:00 -
06f141ec08
Merge branch 'dev' into quote-tweet-link
Ember
2025-11-02 23:56:46 +08:00 -
cecaf6ae18
补充提示词
芋头
2025-11-02 23:56:32 +08:00 -
cf43651070
chore(landing): add lightweight AnimatedSection wrapper for main-based branch
Ember
2025-11-02 23:52:13 +08:00 -
2cee704220
chore(landing): add lightweight AnimatedSection wrapper for main-based branch
Ember
2025-11-02 23:49:23 +08:00 -
c6ccc2ae3f
feat(landing): integrate real community tweets in CommunitySection with author avatars and links
Ember
2025-11-02 22:55:05 +08:00 -
b32a7c3204
Merge pull request #262 from Icyoung/beta Beta Dev Merge Beta
Icyoung
2025-11-02 22:33:33 +08:00 -
1784b46bee
Merge branch 'NoFxAiOS:beta' into beta
Icyoung
2025-11-02 22:32:57 +08:00 -
76b04e9fa6
Fixed Kline4h
icy
2025-11-02 22:31:44 +08:00 -
e58fbfa10b
Merge branch 'dev' into beta # Conflicts: # config/database.go # main.go
icy
2025-11-02 22:11:07 +08:00 -
bf07df94b9
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-02 21:54:48 +08:00 -
2775e6fa25
Merge pull request #176 from yuanshi2016/dev Kline获取方式为Websocket缓存
Roninchen
2025-11-02 21:54:16 +08:00 -
c45e7ffad1
Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev
icy
2025-11-02 21:54:02 +08:00 -
287ccee1df
Merge pull request #257 from SkywalkerJi/dev Google Tag Manager
tinkle-community
2025-11-02 21:47:38 +08:00 -
3d6d1e4104
Google Tag Manager
SkywalkerJi
2025-11-02 21:44:53 +08:00 -
1abc3d41b4
Merge pull request #246 from xqliu/fix/model-config-validation-245
tinkle-community
2025-11-02 18:32:45 +08:00 -
a8d5171087
fix: Update model validation in handleSaveModelConfig to support both configured and supported models - Change validation to check allModels first, then supportedModels - This allows saving new model configurations without "model does not exist" error - Fixes issue where users couldn't save AI model config after selecting from dropdown Fixes #245 Co-Authored-By: tinkle-community <tinklefund@gmail.com>
Liu Xiang Qian
2025-11-02 18:08:25 +08:00 -
d8582475d3
修改Kline获取方式为Websocket缓存。
yuanshi2016
2025-11-02 17:59:19 +08:00 -
2020f80193
Merge pull request #242 from Icyoung/beta Fixed beta codes file mapping
tinkle-community
2025-11-02 17:22:58 +08:00 -
0a2476960e
Fixed beta codes file mapping
icy
2025-11-02 17:19:58 +08:00 -
cae63ea398
Merge pull request #235 from Icyoung/beta Beta Beta mode support、UI design optimize
tinkle-community
2025-11-02 15:32:31 +08:00 -
7302f96e8e
K线获取方式改为websocket组合流. 带重拨机制 流程为下: 1. 启动时使用所有交易员设置的币种(去重) 如果交易员未配置,则使用系统默认 2. 在决策获取K线时 如果没有缓存 则先实时获取后再添加订阅. ps: 适用于Api方式的币种列表
yuanshi2016
2025-11-02 14:03:13 +08:00 -
0347705df5
Merge branch 'tinkle-community:dev' into dev
原始
2025-11-02 14:02:11 +08:00 -
22cc35f1d8
update aster exchange guide
tinkle-community
2025-11-02 12:23:33 +08:00 -
4227081ca8
Merge branch 'tinkle-community:dev' into dev
原始
2025-11-02 12:19:40 +08:00 -
4a8d4d9284
update aster exchange guide
tinkle-community
2025-11-02 12:15:40 +08:00