Shui
3972868ff1
Merge pull request #354 from zhouyongyou/fix/trader-config-missing-fields
...
fix(database): GetTraderConfig missing critical fields causes edit to fail
2025-11-03 21:57:48 -05:00
Shui
a0d2650a4f
Merge pull request #373 from hzb1115/dev
...
fix(readme): update readme and pr reviewer
2025-11-03 21:07:31 -05:00
zbhan
8b004bf4dc
Fix owner
2025-11-03 21:06:25 -05:00
zbhan
fb88cc8926
fix owner
2025-11-03 20:56:16 -05:00
zbhan
52295c69ad
fix(readme): update readme and pr reviewer
2025-11-03 20:50:56 -05:00
Luna Martinez
68bbd37810
Merge pull request #362 from hzb1115/dev
...
Fix(workflow): add title and size validation comments
2025-11-03 13:20:02 -05:00
Luna Martinez
35b328bee7
Merge branch 'NoFxAiOS:dev' into dev
2025-11-03 13:16:11 -05:00
zbhan
fd95021c25
Fix PR check
2025-11-03 13:12:47 -05:00
Luna Martinez
e07dc1d2fa
Merge pull request #323 from zhouyongyou/fix/go-vet-warnings
...
fix: resolve go vet warnings for non-constant format strings
2025-11-03 12:42:46 -05:00
Luna Martinez
18ca6fd213
Merge pull request #329 from zhouyongyou/chore/peer-dependency-markers
...
chore(web): add peer dependency markers to package-lock.json
2025-11-03 12:39:24 -05:00
hzb1115
62ebd58a1f
style(backend): go fmt code
2025-11-03 17:22:11 +00:00
ZhouYongyou
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 >
2025-11-04 00:00:05 +08:00
SkywalkerJi
430e23f7b5
Merge pull request #229 from xqliu/test/add-ut-infrastructure
...
test: Add minimal UT infrastructure and fix Issue #227
2025-11-04 00:28:34 +09:00
Liu Xiang Qian
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.
2025-11-03 23:20:55 +08:00
Icyoung
2d39ae1670
Merge pull request #336 from 0xEmberZz/fix-mobile-display-v2
...
UI : Fix mobile display
2025-11-03 22:40:17 +08:00
SkywalkerJi
1d6adf9523
Merge pull request #338 from xqliu/feat/add-scan-interval-config-v2
...
feat: 添加 AI 扫描决策间隔配置支持
2025-11-03 23:11:27 +09:00
SkywalkerJi
69e5285a48
Merge pull request #337 from xqliu/fix/trader-edit-model-validation
...
fix: 修复编辑 Trader 时 AI 模型验证失败的问题
2025-11-03 23:11:08 +09:00
Liu Xiang Qian
8b81a68561
revert: 移除 SystemPromptTemplate 相关修改
...
将 SystemPromptTemplate 功能从扫描间隔 PR 中分离出来,
保持 PR 单一职责。
SystemPromptTemplate 功能将在单独的 PR 中处理。
2025-11-03 22:02:25 +08:00
Liu Xiang Qian
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 决策按照新的间隔执行
2025-11-03 21:55:26 +08:00
Liu Xiang Qian
c5628293a3
fix: 修复编辑 Trader 时 AI 模型验证失败的问题
...
## 问题描述
编辑 Trader 配置时,保存提示"AI模型配置不存在或未启用"错误。
## 根本原因
- 数据库存储的模型 ID 是完整格式(如 `admin_deepseek`)
- API 返回时将其转换为 provider 格式(`deepseek`)
- 前端 enabledModels 列表中是完整 ID
- 导致前端用 `deepseek` 查找 `admin_deepseek` 时失败
## 修复方案
移除 handleGetTraderConfig 中的模型 ID 转换逻辑,
返回完整的模型 ID,保持与前端模型列表格式一致。
Fixes #335
2025-11-03 21:52:44 +08:00
Ember
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 >
2025-11-03 21:46:07 +08:00
Ember
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 >
2025-11-03 21:38:52 +08:00
Liu Xiang Qian
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)` to `klines4h`
- Updated log message to use `len(klines4h)` instead of `len(klines)`
This bug would cause 4h kline queries to return 3m data, leading to
incorrect technical indicator calculations.
Fixes : #260
Related: #176
2025-11-03 21:17:43 +08:00
ZhouYongyou
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
2025-11-03 20:47:25 +08:00
tinkle-community
249a00298c
Merge pull request #326 from NoFxAiOS/main
2025-11-03 20:34:16 +08:00
SkywalkerJi
936c2c35fd
Merge branch 'dev' into main
2025-11-03 21:33:46 +09:00
ZhouYongyou
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 (-)
2025-11-03 19:54:47 +08:00
tinkle-community
2e6ad8e9bc
Merge pull request #321 from SkywalkerJi/main
2025-11-03 19:53:00 +08:00
SkywalkerJi
e88f842158
Upgrade this repository's open-source license to AGPL.
2025-11-03 19:50:50 +08:00
Luna Martinez
10dd7dd63d
Merge pull request #292 from hzb1115/dev
...
aaafix(workflow): fix github workflow
2025-11-02 22:59:34 -05:00
zbhan
5e3517d62e
fix comment
2025-11-02 22:55:27 -05:00
zbhan
9f311580e1
Fix validation logic
2025-11-02 22:49:43 -05:00
zbhan
3c7925dc46
Fix validation
2025-11-02 22:24:31 -05:00
zbhan
89ca3eedcc
Fix backend check
2025-11-02 22:15:45 -05:00
zbhan
c0a8375466
Fix validation error
2025-11-02 22:11:24 -05:00
zbhan
3f683200a6
fix(workflow): fix github workflow
2025-11-02 21:49:59 -05:00
Luna Martinez
8a4524747f
Change permissions from read to write for contents
2025-11-02 21:15:31 -05:00
Luna Martinez
35316d61f7
Merge pull request #226 from xqliu/docs/enhance-bug-report-template
...
docs: Enhance bug report template and add troubleshooting guide
2025-11-02 21:08:32 -05:00
tinkle-community
ec2e294a2f
Merge pull request #285 from tangmengqiu/fix/ci-flow
2025-11-03 10:03:56 +08:00
tangmengqiu
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 >
2025-11-02 18:23:28 -05:00
tinkle-community
d216a97b40
Merge pull request #266 from 0xEmberZz/quote-tweet-link
2025-11-03 07:01:41 +08:00
tinkle-community
a1a0782d52
Merge pull request #268 from yutou123/dev
2025-11-03 06:59:28 +08:00
tinkle-community
6125e9856b
Merge pull request #282 from tangmengqiu/fix/dockerfile
2025-11-03 06:50:30 +08:00
tangmengqiu
92539261d1
fix typo
2025-11-02 17:26:47 -05:00
tangmengqiu
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 >
2025-11-02 17:15:01 -05:00
tinkle-community
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 >
2025-11-03 03:47:41 +08:00
tinkle-community
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)
2025-11-03 02:05:48 +08:00
ZhouYongyou
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 >
2025-11-03 01:59:54 +08:00
芋头
b2f0ef3300
文件命名空格问题
2025-11-03 00:16:28 +08:00
Ember
06f141ec08
Merge branch 'dev' into quote-tweet-link
2025-11-02 23:56:46 +08:00