Commit Graph

  • d1d9810075 竞赛fix、交易员新增参数 icy 2025-11-01 02:17:11 +08:00
  • e5208522f2 UI feat: replace Lucide icons with logo images in multiple components Ember 2025-10-31 23:54:10 +08:00
  • 899add597a feat: enhance UI with Lucide icons across various components - add logo - Replaced emoji placeholders with Lucide icons in AITradersPage, CompetitionPage, EquityChart, Header, LoginPage, and RegisterPage for improved visual consistency. - Updated button styles to include icons for actions like adding models and exchanges. - Enhanced error and empty state displays with relevant icons to provide better user feedback. Ember 2025-10-31 23:26:37 +08:00
  • 1ccd135139 Merge pull request #132 from SkywalkerJi/dev Fix custom leverage and currency settings tinkle-community 2025-10-31 22:59:47 +08:00
  • 98126a75ac Merge pull request #133 from zhoujunhehe/dev Fix: Add proper validation for Aster DEX exchange in trader creation tinkle-community 2025-10-31 22:27:36 +08:00
  • 89609612eb optimize(mcp/client): correct receiver name tpkeeper 2025-10-31 22:24:10 +08:00
  • 26216e4c9a Fix: Add proper validation for Aster DEX exchange in trader creation - Add specific field validation for Aster exchange (asterUser, asterSigner, asterPrivateKey) - Add specific field validation for Hyperliquid exchange (apiKey, hyperliquidWalletAddr) - Keep existing validation for Binance (apiKey, secretKey) - Remove debug console logs - Fix issue where Aster exchange was not appearing in trader creation dropdown This ensures all three supported exchanges can be properly selected when creating a new AI trader. Ember 2025-10-31 21:40:21 +08:00
  • 6580be1888 Fix coin settings SkywalkerJi 2025-10-31 21:05:53 +08:00
  • 14b2fb22fd Fix leverage settings SkywalkerJi 2025-10-31 21:05:13 +08:00
  • 58f280041a Merge pull request #125 from SkywalkerJi/dev Ignore the database to avoid submitting sensitive data. tinkle-community 2025-10-31 18:40:17 +08:00
  • b357c76b5c Change the minimum amount to 50 and remove the maximum amount limit. SkywalkerJi 2025-10-31 18:34:48 +08:00
  • c3e37f83df Ignore the database to avoid submitting sensitive data. SkywalkerJi 2025-10-31 18:30:36 +08:00
  • bbbf8985c3 Merge pull request #116 from Icyoung/dev Dev start script fix tinkle-community 2025-10-31 15:58:04 +08:00
  • 50eb8ea4dc Merge branch 'tinkle-community:dev' into dev Icyoung 2025-10-31 15:55:06 +08:00
  • 5d0097715e Fix docker compose bug for config.db icy 2025-10-31 15:53:48 +08:00
  • f516b6a4b1 Merge pull request #114 from Icyoung/dev [Dev] 还原config配置、部署优化 tinkle-community 2025-10-31 15:50:23 +08:00
  • f35dcf857f Add config.db volume mapping to docker-compose - Map config.db to host for database persistence - Ensures user configurations, traders, and AI models persist across container restarts - Enables easy backup of configuration database 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com> icy 2025-10-31 15:31:47 +08:00
  • 62e40da6b5 Merge branch 'dev' of github.com:Icyoung/nofx icy 2025-10-31 15:26:04 +08:00
  • 0f9978ec6b Sync config.json to config.db for manual modify admin_mode and other configs icy 2025-10-31 15:24:18 +08:00
  • b085463096 Merge branch 'tinkle-community:dev' into dev Icyoung 2025-10-31 14:47:56 +08:00
  • c7106bd256 start scrip fix icy 2025-10-31 14:41:45 +08:00
  • 98735631d5 start scrpit fix icy 2025-10-31 14:39:04 +08:00
  • 12550b26e9 admin_mode config icy 2025-10-31 14:34:53 +08:00
  • 45345c6d47 start script fix about config.json icy 2025-10-31 14:16:47 +08:00
  • 55ead0e6e5 Restore config.json.example icy 2025-10-31 14:09:28 +08:00
  • 228026051d Merge pull request #110 from Icyoung/dev 【Dev】新增仓位模式的配置、移除config配置的文档描述 tinkle-community 2025-10-31 13:54:19 +08:00
  • c34fcf4fda Route fix icy 2025-10-31 13:49:05 +08:00
  • 8f03be2c9e Discard config settings in MD icy 2025-10-31 13:28:06 +08:00
  • 142863f554 Add MarginMode configration icy 2025-10-31 13:14:24 +08:00
  • a96076856a Fix start script icy 2025-10-31 12:46:16 +08:00
  • cc5c2850ce Merge pull request #105 from d0lwl0b/dev fix(config): rename config example to .jsonc and update all references tinkle-community 2025-10-31 12:02:40 +08:00
  • 9748f5dd64 fix(config): rename config example to .jsonc and update all references d0lwl0b 2025-10-31 11:51:17 +08:00
  • 048dacdbc1 Merge pull request #92 from Icyoung/dev [Dev] account系统、前端配置 ,model/cex dex/trader、自定义prompt tinkle-community 2025-10-31 04:24:59 +08:00
  • d66fde28b0 Merge branch 'main' into dev Integrate latest changes from main branch including: - Documentation updates for trader configuration - Color system improvements for UI components - Logo design files Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-31 04:17:10 +08:00
  • 72e14c1f0d rename fix icy 2025-10-31 04:07:14 +08:00
  • a98bc2a627 Merge branch 'main' of github.com:Icyoung/nofx # Conflicts: # config.json.example # config/config.go # main.go # trader/auto_trader.go # web/src/App.tsx # web/src/components/CompetitionPage.tsx icy 2025-10-31 03:59:58 +08:00
  • ceb2f7b435 account system、custom prompt icy 2025-10-31 03:42:01 +08:00
  • 40c8baf2bf Merge pull request #76 from cookieY/main tinkle-community 2025-10-31 03:39:09 +08:00
  • c9f9f4318e fix: Correct error handling in decision parsing Changes: - Updated error handling in GetFullDecision and parseFullDecisionResponse functions to return the decision object even when an error occurs, improving the clarity of error messages. This ensures that the decision object is consistently returned, allowing for better debugging and handling of errors in the decision-making process. Yinghao Fan 2025-10-31 02:06:20 +08:00
  • ed9417195c 1. 修复hyperliquid 总盈亏,总净值计算错误问题 2. 修复持仓盈亏百分比错误,计算公式应该加入杠杆倍数 henrylab 2025-10-30 22:23:05 +08:00
  • e4d5dcc23c UI: Unify trader colors between Leaderboard and Performance Chart Problem: - Leaderboard used ai_model-based colors (qwen=purple, other=blue) - Performance Comparison used index-based colors (10 color pool) - This caused color mismatch between the two components - Same trader showed different colors in different sections Solution: - Create shared color utility (utils/traderColors.ts) - Define single color pool with 10 distinct colors - Implement unified getTraderColor function based on trader index - Update both ComparisonChart and CompetitionPage to use shared utility Changes: - New file: web/src/utils/traderColors.ts (shared color logic) - Updated: ComparisonChart.tsx (use shared utility) - Updated: CompetitionPage.tsx (use shared utility in Leaderboard and Head-to-Head sections) Now traders consistently display the same color across all UI sections. Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 22:21:57 +08:00
  • 85fa9c09ab UI: Fix duplicate colors in Performance Comparison chart Problem: - Multiple traders using the same AI model had duplicate colors - Only 2 colors were available (blue for deepseek, purple for qwen) - Made it difficult to distinguish between traders Solution: - Expand color pool from 2 to 10 distinct colors - Change color assignment from ai_model-based to index-based - Each trader now gets a unique color based on their position - Colors cycle if there are more than 10 traders Color pool includes: blue, purple, emerald, orange, pink, amber, sky, violet, green, rose Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 22:12:09 +08:00
  • edd8bffd91 Docs: Complete exchange configuration documentation Update configuration documentation across all 4 languages (Chinese, English, Russian, Ukrainian) with comprehensive exchange-related fields: Configuration field table updates: - Add exchange field (binance/hyperliquid/aster) - Add hyperliquid_private_key field with 0x prefix warning - Add hyperliquid_wallet_addr field - Add hyperliquid_testnet field (optional, defaults to false) - Update ai_model to include "custom" option - Change Binance API key fields to show conditional requirement (only required when using Binance exchange) config.json.example updates: - Add enabled field to all trader configurations - Set appropriate enabled states for example traders - Ensure all traders have exchange field properly configured This makes it clear to users which configuration fields are required for each exchange option (Binance, Hyperliquid, or Aster DEX). Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 21:27:53 +08:00
  • 5eba8471cf feat: Add trader enabled switch and fix critical bugs New Features: - Add 'enabled' field to trader config for selective startup - Only enabled traders will be initialized and run - Display skip messages for disabled traders in logs Bug Fixes: - Fix Hyperliquid account value calculation * AccountValue is total equity, no need to add TotalMarginUsed * Correctly calculate wallet balance without unrealized PnL * Fix available balance calculation (AccountValue - TotalMarginUsed) - Fix frontend page refresh navigation issue * Use URL hash to persist page state across refreshes * Support browser back/forward buttons * Prevent Details page from reverting to Competition on refresh Technical Changes: - config/config.go: Add Enabled bool field to TraderConfig - main.go: Skip disabled traders during initialization - trader/hyperliquid_trader.go: Correct account value logic - web/src/App.tsx: Implement hash-based routing Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 21:07:43 +08:00
  • bbe1e1f929 Merge remote tracking branch into local development - Resolved conflicts in README.md: Combined web-based config updates with multi-exchange support - Resolved conflicts in main.go: Fixed database initialization and default coin settings - Resolved conflicts in manager/trader_manager.go: Updated trader management for new database structure - Resolved conflicts in web/src/App.tsx: Combined UI improvements with responsive design - Resolved conflicts in web/.dockerignore: Merged dependency exclusions - Removed deprecated files: Dockerfile, config/config.go, web/Dockerfile, ComparisonChart.tsx, CompetitionPage.tsx 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com> icy 2025-10-30 20:57:57 +08:00
  • 82beac0920 sync fork icy 2025-10-30 20:51:22 +08:00
  • 004ae60d31 Refactor: Extract availableBalance variable in Hyperliquid trader Extract availableBalance calculation into a separate variable for better readability. Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 20:09:30 +08:00
  • 44f60778be Merge pull request #67 from tinkle-community/main merge tinkle-community 2025-10-30 19:57:36 +08:00
  • 57cc6c2d8f DevOps: Add PM2 deployment scripts Add complete PM2 deployment solution: - pm2.config.js: Dynamic path configuration - pm2.sh: One-click management script - PM2_DEPLOYMENT.md: Deployment guide Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 18:20:25 +08:00
  • 542ae63ee4 UI: Display position details in Trade History Frontend changes: - Update TradeOutcome interface with new fields: - quantity: Position size - leverage: Leverage multiplier - position_value: Total position value - margin_used: Margin required - Add position details display in trade cards: - Quantity (with 4 decimal precision) - Leverage (shown as "50x") - Position Value (shown as "$10000.00") - Margin Used (shown as "$200.00") Visual design: - 2x2 grid layout for position details - Color coding: Leverage in gold, Margin in purple - Conditional rendering with fallback "-" for missing data Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 18:11:15 +08:00
  • beb9561742 Feature: Add position details to Trade History Add missing fields to TradeOutcome: - Quantity: Position size - Leverage: Leverage multiplier - PositionValue: Total position value (quantity × openPrice) - MarginUsed: Margin required (positionValue / leverage) This provides complete trade information for analysis and display. Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 18:09:16 +08:00
  • fd8b1477e7 Fix: Resolve Trade History data loss and P&L calculation errors Major fixes: 1. Trade History data loss issue - Root cause: Open records outside analysis window caused close matching failures - Solution: Pre-populate position state by reading 3x window of historical records - Ensures long-term positions (>5 hours) generate correct trade records 2. P&L calculation errors - Remove incorrect leverage multiplication from absolute P&L - Correct calculation: Futures P&L = quantity × price difference - Leverage only affects P&L percentage (relative to margin) 3. Other fixes - Break-even trades (pnl=0) no longer misclassified as losses - Perfect strategy shows Profit Factor as 999.0 instead of 0.0 - Expand analysis window from 20 to 100 cycles (5 hours) Files changed: - logger/decision_logger.go: Core matching and calculation logic - api/server.go: API analysis window - trader/auto_trader.go: AI decision analysis window Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 17:58:25 +08:00
  • e249aaa16b fix:config add hyperliquid_wallet_addr tinkle-community 2025-10-30 17:16:03 +08:00
  • 7545b7a894 Merge pull request #59 from liugangdao/main fix: hyperliquid余额不准确 tinkle-community 2025-10-30 17:05:54 +08:00
  • 887899749f fix: hyperliquid余额不准确 刘 志 2025-10-30 08:28:42 +00:00
  • e480296e33 Merge pull request #54 from tpkeeper/main Fix mcp defaultConfig override issue in multi-trader, multi-AI model tinkle-community 2025-10-30 16:13:34 +08:00
  • b773d7289a Fix mcp defaultConfig override issue in multi-trader, multi-AI model scenario tpkeeper 2025-10-30 15:46:17 +08:00
  • 0f9b379cec Merge pull request #40 from d0lwl0b/main docs: modernize Docker Compose documentation to V2 syntax tinkle-community 2025-10-30 14:24:52 +08:00
  • d5842c38ab Merge pull request #48 from SkywalkerJi/main Reduce the request frequency to the Binance API and add backend caching. tinkle-community 2025-10-30 14:15:19 +08:00
  • 01add7037a Reduce the request frequency to the Binance API and add backend caching. SkywalkerJi 2025-10-30 14:01:06 +08:00
  • d49c64ea53 Merge branch 'tinkle-community:main' into main d0lwl0b 2025-10-30 13:49:39 +08:00
  • 1a27338faa Merge pull request #44 from SkywalkerJi/main Smooth the account equity curve. tinkle-community 2025-10-30 13:17:55 +08:00
  • e9f49625c8 Merge pull request #45 from yiplee/main Change health check endpoint to accept any HTTP method for improved f… tinkle-community 2025-10-30 13:15:22 +08:00
  • e3506fe0e8 Merge pull request #46 from mxyhi/main fix: 修复aster 没有取消委托单的问题 tinkle-community 2025-10-30 13:14:17 +08:00
  • 0d52bc8ad9 refactor(docker): restructure Docker setup with dedicated backend/frontend services d0lwl0b 2025-10-30 13:11:29 +08:00
  • b75a671b2c 🐛 fix(order): 开仓前先撤销所有挂单 - 先在开仓前取消所有挂单,防止残留挂单导致仓位叠加 - 取消挂单失败时记录警告,但仍继续开仓 mxyhi 2025-10-30 13:08:26 +08:00
  • a80590e592 feat(trader): aster平仓后自动取消挂单 - 调整 CloseLong/CloseShort 逻辑, 在平仓后调用 CancelAllOrders 清理挂单 mxyhi 2025-10-30 13:06:14 +08:00
  • fd0cf4abb2 Change health check endpoint to accept any HTTP method for improved flexibility. yiplee 2025-10-30 13:00:17 +08:00
  • c0ea50a409 Merge branch 'tinkle-community:main' into main SkywalkerJi 2025-10-30 12:54:04 +08:00
  • b39efdac27 Smooth the account equity curve. SkywalkerJi 2025-10-30 12:53:27 +08:00
  • 907f660398 Merge branch 'tinkle-community:main' into main d0lwl0b 2025-10-30 12:26:21 +08:00
  • 2a3276c125 docs: update Docker Compose documentation to V2 syntax d0lwl0b 2025-10-30 12:26:00 +08:00
  • b3fb73c4a0 Merge pull request #39 from SkywalkerJi/main Optimize front-end display on mobile devices. tinkle-community 2025-10-30 12:14:53 +08:00
  • 236d97c127 Merge branch 'tinkle-community:main' into main d0lwl0b 2025-10-30 12:13:00 +08:00
  • 7208debb11 Optimize mobile display to prevent selection boxes from exceeding the screen boundaries. SkywalkerJi 2025-10-30 12:08:39 +08:00
  • 043e5e97b6 Merge pull request #35 from SkywalkerJi/main When a custom URL ends with #, force the use of the full URL without appending /chat/completions. tinkle-community 2025-10-30 10:50:23 +08:00
  • 37a2bb4d46 Merge pull request #34 from ITfisher/release Solving Slow Build Speed and Health Check 404 Issues tinkle-community 2025-10-30 10:47:23 +08:00
  • be37a65d91 Merge branch 'tinkle-community:main' into main SkywalkerJi 2025-10-30 10:38:45 +08:00
  • 67da692c64 When a custom URL ends with #, force the use of the full URL without appending /chat/completions. SkywalkerJi 2025-10-30 10:38:15 +08:00
  • c487da6471 Merge pull request #33 from SkywalkerJi/main Expose the default mainstream currency settings to the configuration file tinkle-community 2025-10-30 10:36:53 +08:00
  • 027c0a31e4 fix conflict itfisher 2025-10-30 10:33:41 +08:00
  • 95a6bd5665 improve go build time itfisher 2025-10-30 10:14:39 +08:00
  • 3e157c8d14 Expose the default mainstream currency settings to the configuration file SkywalkerJi 2025-10-30 10:01:45 +08:00
  • 2423d980bc Merge pull request #25 from Im-Sue/main add 常见问题.md 提示如何处理币安API 4061问题 tinkle-community 2025-10-30 02:57:40 +08:00
  • 3b4a4d34aa fix: 修复配置硬编码问题 ## 修复内容 ### 1. AI决策杠杆配置动态化 (decision/engine.go) - **问题**: System Prompt 中硬编码 50x/20x 杠杆,导致 AI 生成的决策不符合用户配置(5x) - **修复**: - buildSystemPrompt() 新增 btcEthLeverage, altcoinLeverage 参数 - System Prompt 文本使用动态杠杆值(第225-226行) - 示例 JSON 使用配置杠杆值(第299行) - 调用时传入实际配置值(第100行) - **影响**: AI 现在会根据用户配置的杠杆限制生成决策 ### 2. 前端初始余额显示优化 (web/src/components/EquityChart.tsx) - **问题**: 初始余额硬编码为 1000 USDT,与用户配置的 100 USDT 不符 - **修复**: 实现三级回退机制 1. 优先使用历史数据第一个点的 total_equity 2. 备用使用当前账户 account.total_equity 3. 最后使用默认值 100(匹配常见配置) - **影响**: 前端显示的初始余额现在与实际配置一致 ## 技术细节 **函数签名变更**: ``go // 修改前 func buildSystemPrompt(accountEquity float64) string // 修改后 func buildSystemPrompt(accountEquity float64, btcEthLeverage, altcoinLeverage int) string ` **React 状态优化**: `typescript // 修改前 const initialBalance = history[0]?.total_equity || 1000; // 修改后 const initialBalance = history[0]?.total_equity || account?.total_equity || 100; `` Co-Authored-By: tinkle-community <tinklefund@gmail.com> sue 2025-10-30 02:43:14 +08:00
  • 099453e3bd add 常见问题.md 提示如何处理币安API 4061问题 sue 2025-10-30 02:35:52 +08:00
  • bc29b525de Merge pull request #24 from Im-Sue/main fix: 修复AI学习数据加载失败问题-前端硬编码api tinkle-community 2025-10-30 02:15:10 +08:00
  • d907ec778b Merge branch 'main' of https://github.com/tinkle-community/nofx sue 2025-10-30 02:07:41 +08:00
  • af70efe5ab Docs: Add screenshots section to all README files Add professional UI screenshots to demonstrate the trading platform: - Competition mode: Multi-AI leaderboard with real-time performance charts - Trader details: Complete dashboard with equity curves and decision logs Screenshots added to all language versions: - README.md (English) - README.zh-CN.md (Chinese) - README.ru.md (Russian) - README.uk.md (Ukrainian) Images organized in screenshots/ directory with descriptive filenames: - competition-page.png (AI battle interface) - details-page.png (trader dashboard) Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-30 01:42:38 +08:00
  • 6ea1ead263 fix: 修复AI学习数据加载失败问题 问题描述: - AILearning组件直接使用硬编码的localhost:8080地址 - 绕过了Vite代理配置,导致加载失败 - 在生产环境无法正常工作 修复内容: 1. api.ts: 添加统一的getPerformance()方法 2. AILearning.tsx: 移除硬编码URL,使用统一API 3. 删除多余的fetcher函数 技术改进: - 使用Vite代理配置,避免CORS问题 - 统一API管理,提高可维护性 - 支持开发和生产环境 影响范围: - web/src/lib/api.ts: +11行 (新增getPerformance方法) - web/src/components/AILearning.tsx: -4行, +2行 (重构API调用) Co-Authored-By: tinkle-community <tinklefund@gmail.com> sue 2025-10-30 01:36:51 +08:00
  • 89640d03a1 Merge pull request #22 from hrzisme/feat/aster-dex-support Feat/aster dex support tinkle-community 2025-10-30 01:01:54 +08:00
  • ce5aaa906c Delete COMMIT_MESSAGE.txt nobody 2025-10-30 00:45:39 +08:00
  • 4c21989328 Update readmes. nobody 2025-10-30 00:41:14 +08:00
  • 8962d26d2d Delete HOW_TO_SUBMIT_PR.md nobody 2025-10-30 00:32:13 +08:00
  • f719fa3b41 change the config nobody 2025-10-30 00:29:39 +08:00
  • e564392eb9 chore: update .dockerignore to exclude lock files d0lwl0b 2025-10-30 00:28:39 +08:00
  • 87f67f2da1 feat: Add Aster DEX exchange support + fix precision issues ## Features - Add full Aster DEX integration with Binance-compatible API - Support Web3 authentication with API wallet system - Add comprehensive Aster integration guide (ASTER_INTEGRATION.md) - Add example Aster configuration (config.aster.example.json) ## Bug Fixes - Fix precision error (code -1111) for all order types - Implement proper float-to-string conversion with exchange precision - Add automatic precision fetching from /exchangeInfo endpoint - Remove trailing zeros from formatted values ## Documentation - Update README.md with Aster quick start guide - Add detailed setup instructions for creating API wallet - Include troubleshooting FAQ and security best practices - Update core features to mention three supported exchanges ## Technical Details - Added formatFloatWithPrecision() helper function - Updated all order functions to use proper precision formatting - Added precision logging for debugging - Fully backward compatible with existing configurations Closes #[issue number if applicable] nobody 2025-10-30 00:27:33 +08:00
  • 55df1241ed Merge branch 'tinkle-community:main' into main d0lwl0b 2025-10-30 00:19:12 +08:00
  • 51cc922728 Merge pull request #20 from fanyinghao/fix-docker-compose Enhance Docker setup tinkle-community 2025-10-30 00:07:38 +08:00
  • 92e34f3732 Fix: Add input_prompt display in decision cards Previously, the frontend DecisionRecord type was missing the input_prompt field that exists in the backend DecisionLog, causing the input context sent to AI to not be displayed in the UI. Changes: - Add input_prompt field to DecisionRecord interface in both type files - Add collapsible Input Prompt section in DecisionCard component - Display input_prompt before AI Chain of Thought with blue styling - Use same expand/collapse interaction pattern as CoT trace Now users can view both the input context and AI's reasoning process in the decision cards. Co-Authored-By: tinkle-community <tinklefund@gmail.com> tinkle-community 2025-10-29 23:59:11 +08:00