Commit Graph

81 Commits

Author SHA1 Message Date
ZhouYongyou
093d521394 Merge branch 'dev' of https://github.com/tinkle-community/nofx into dev 2025-11-02 04:54:09 +08:00
ZhouYongyou
04419b47e6 fix: 修复编辑交易员时「AI模型配置不存在或未启用」错误
问题:
- 编辑交易员并修改系统提示词模板时,保存失败
- 错误提示:AI模型配置不存在或未启用

根本原因:
1. 后端 API 返回的 ai_model 被截断(admin_deepseek → deepseek)
2. 前端验证时找不到对应的模型 ID(enabledModels 存的是完整 ID)
3. API 缺少 system_prompt_template 字段

修复内容:
- api/server.go: 移除 AI model ID 截断逻辑,返回完整 ID
- api/server.go: 在 handleGetTraderConfig 中添加 system_prompt_template 字段
- web/src/types.ts: TraderConfigData 接口添加 system_prompt_template 字段
- web/src/components/AITradersPage.tsx: 添加 fallback 机制和详细日志

测试:
- 编辑交易员 → 修改系统提示词模板 → 保存成功
- Console 输出验证日志,不再报错
2025-11-02 04:51:30 +08:00
Ember
2fa884c72d style(web): 统一 FooterSection 组件的代码风格,优化链接格式和排版 2025-11-02 01:59:42 +08:00
Ember
7a4d1db046 fix(web): Footer ‘资源/文档’ 链接改为 GitHub 主 README(https://github.com/tinkle-community/nofx/blob/main/README.md) 2025-11-02 01:57:50 +08:00
Ember
2cc4f77254 chore(web): Footer 支持方去除图标并新增 Hyperliquid 链接 2025-11-02 01:56:21 +08:00
Ember
df83eba8e7 feat(web): Footer 按旧版文案重排 —— 顶部品牌 + 三列(链接/资源/支持方:Aster DEX、Binance、Amber.ac) 2025-11-02 01:53:48 +08:00
Ember
1413eb868e feat(web): Footer 增加“支持的交易所”列(Binance、Aster DEX 图标与链接),对齐早期版本记忆 2025-11-02 01:50:49 +08:00
Ember
aa5e66f7b8 feat(web): LandingPage 页脚升级为多链接版本(链接/资源/产品/支持 四列) 2025-11-02 01:46:40 +08:00
Ember
388832876a feat(web): 恢复 LandingPage 页脚(FooterSection),复用 App 的 Footer 文案与样式 2025-11-02 01:42:30 +08:00
Ember
16a62cedce style(web): 移除功能卡片右下角黄色渐变点缀(去除黄光) 2025-11-02 01:39:31 +08:00
Ember
14b7d44322 ui(web): 管理员模式徽标改为 Lucide Zap 图标,保持与其他 emoji 替换一致 (#138 风格) 2025-11-02 01:14:11 +08:00
Ember
ba48298c03 ui(web): 对齐 #138 风格——用 Lucide/矢量图标替换表情与占位,增强空态/警告显示(ComparisonChart/Competition/AITraders/ConfigModal) 2025-11-02 01:02:15 +08:00
Ember
abcd215e19 feat(web): 重做 #138/#133 的前端改动(LOGO 替换 + Loading Logo + 校验优化保留),尽量不覆盖他人代码 2025-11-02 00:58:25 +08:00
Ember
0a4fd06882 refactor(web): 拆分 LandingPage 为可复用组件(HeaderBar/Hero/AnimatedSection 等),新增 pages 结构并完成集成;构建通过 2025-11-02 00:36:37 +08:00
Ember
a3c6568137 refactor(web): 引入 pages 目录并迁移 LandingPage;修正 App 引用与相对路径,保持构建通过 2025-11-02 00:28:38 +08:00
Ember
8d77f15d4d fix(web): 更新主图像文件以改善视觉效果 2025-11-02 00:19:49 +08:00
Ember
b5d4ff0fc2 fix(web): 优化落地页内容—移除多余空行,简化图片组件,更新支持方列表 2025-11-02 00:17:19 +08:00
Ember
28b7edbc5c style(web): 对齐币安风格—移除渐变/发光,固化深色/面板色,新增 header 样式,按钮与卡片统一 2025-11-02 00:08:46 +08:00
Ember
e6fc60c464 fix(web): 去除残留 undefined(文本最终清洗)并将启动命令改为顶层 README 流程(start.sh + compose) 2025-11-02 00:01:38 +08:00
Ember
493fd559dc fix(web): Typewriter 更稳健—charAt防越界、sanitizedLines防空值、pre-wrap防换行丢失 2025-11-01 23:58:48 +08:00
Ember
f5dfb1bb61 feat(web): Typewriter 优化(修复 undefined、矩阵绿样式、降低速度)并更新启动指令为 README 前端开发流程 2025-11-01 23:53:17 +08:00
Ember
8c57b6b1e7 feat(web): 落地页“启动输出”加入打字机效果(Typewriter) 2025-11-01 23:45:27 +08:00
Ember
9d4e86cbf5 feat(web): 新增 Landing 页面与 UI 优化\n\n- 新增 LandingPage、CryptoFeatureCard 等组件\n- 登录/注册页面与样式优化\n- 静态资源 images/main.png 2025-11-01 23:36:28 +08:00
icy
2cc91d1701 Remote auth for prompt templates 2025-11-01 20:25:55 +08:00
icy
2538d2f928 Merge branch 'dev' of https://github.com/tinkle-community/nofx 2025-11-01 20:09:17 +08:00
SkywalkerJi
4250c11ddf Supports custom system prompts and custom models. 2025-11-01 19:45:54 +08:00
icy
01ee3d57d9 Fixed i18n lint 2025-11-01 19:39:27 +08:00
icy
996b152eba Resolve merge conflicts in AITradersPage.tsx
- Fixed import statement conflict (using 'type Language')
- Merged exchange configuration logic preserving support for multiple exchange types
- Kept comprehensive form handling for Binance, Hyperliquid, Aster, and OKX exchanges
- Updated security warning messages to use proper translation keys

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 19:01:44 +08:00
icy
f413f87f39 Fixed health check; Fixed dex config; Add rank trader info view; 2025-11-01 18:58:32 +08:00
SkywalkerJi
5be7106eb2 Rename the model. 2025-11-01 17:10:36 +08:00
SkywalkerJi
48d1320209 * Fixed the custom model URL.
*   Added functionality for custom model names.
2025-11-01 16:09:15 +08:00
tangmengqiu
7bde647112 fix: Remove duplicate selectExchange key in translations
Fixed TypeScript compilation error TS1117 caused by duplicate
'selectExchange' key in both English and Chinese translation objects.

The key was already defined in the "AI Traders Management" section,
so removed the duplicate from "AI Traders Page - Additional" section.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 00:02:00 -04:00
tangmengqiu
8bc06ae619 fix: Complete i18n implementation for English language display
This commit addresses the issue where switching to English still showed Chinese text in many UI elements.

Changes made:
- Added 40+ missing translation keys to translations.ts for both English and Chinese
- Updated App.tsx to use t() function for all hardcoded text (logout button, loading message)
- Updated AITradersPage.tsx extensively:
  - Replaced all alert/confirm messages with translation keys
  - Updated status labels (inUse, enabled, configured)
  - Updated all modal components (SignalSource, ModelConfig, ExchangeConfig)
  - Added language prop to all modal components
  - Replaced all Chinese UI text with translation function calls

The implementation now properly supports language switching between English and Chinese throughout the entire application.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 23:58:44 -04:00
icy
3033a1308d 删除未使用的AlertTriangle导入
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 02:34:33 +08:00
icy
19bb5a3a54 手动合并冲突,保留TraderConfigModal功能并添加lucide-react图标支持
- 解决AITradersPage.tsx合并冲突,保留TraderConfigModal导入
- 添加lucide-react图标库支持
- 保留信号源配置的OI TOP URL功能
- 使用我们版本解决其他文件冲突,保持UI简洁
- 确保编译成功和依赖正确安装

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 02:33:37 +08:00
icy
9fe8f1a1e7 Merge branch 'dev' of github.com:Icyoung/nofx
# Conflicts:
#	manager/trader_manager.go
#	web/src/components/AITradersPage.tsx
2025-11-01 02:23:05 +08:00
icy
a7cc5e5ed4 竞赛fix、交易员新增参数 2025-11-01 02:17:11 +08:00
Ember
36ab823ed2 UI feat: replace Lucide icons with logo images in multiple components 2025-10-31 23:54:10 +08:00
Ember
9e64b1303f 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.
2025-10-31 23:28:19 +08:00
Ember
748cca07d7 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.
2025-10-31 21:40:21 +08:00
SkywalkerJi
e75c834372 Change the minimum amount to 50 and remove the maximum amount limit. 2025-10-31 18:34:48 +08:00
icy
fcf25706c1 Route fix 2025-10-31 13:49:05 +08:00
icy
d0621265aa Add MarginMode configration 2025-10-31 13:14:24 +08:00
icy
3f686dec2e 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
2025-10-31 03:59:58 +08:00
icy
ac7c40632d account system、custom prompt 2025-10-31 03:42:01 +08:00
tinkle
79b2439304 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.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 22:21:57 +08:00
tinkle
c840ee59bc 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

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 22:12:09 +08:00
tinkle
007fa2567d 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

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 21:07:43 +08:00
icy
ec25de08d6 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: Claude <noreply@anthropic.com>
2025-10-30 20:57:57 +08:00
icy
4f5b8b250a sync fork 2025-10-30 20:51:22 +08:00