From e6440d582f9fe35b6511485c9703acfb930a4513 Mon Sep 17 00:00:00 2001 From: ZhouYongyou <128128010+zhouyongyou@users.noreply.github.com> Date: Mon, 3 Nov 2025 19:54:47 +0800 Subject: [PATCH 1/2] 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 (-) --- trader/auto_trader.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/trader/auto_trader.go b/trader/auto_trader.go index b23bb052..d27fcd35 100644 --- a/trader/auto_trader.go +++ b/trader/auto_trader.go @@ -257,9 +257,9 @@ func (at *AutoTrader) Stop() { func (at *AutoTrader) runCycle() error { at.callCount++ - log.Printf("\n" + strings.Repeat("=", 70)) + log.Print("\n" + strings.Repeat("=", 70)) log.Printf("⏰ %s - AI决策周期 #%d", time.Now().Format("2006-01-02 15:04:05"), at.callCount) - log.Printf(strings.Repeat("=", 70)) + log.Print(strings.Repeat("=", 70)) // 创建决策记录 record := &logger.DecisionRecord{ @@ -346,19 +346,19 @@ func (at *AutoTrader) runCycle() error { // 打印系统提示词和AI思维链(即使有错误,也要输出以便调试) if decision != nil { if decision.SystemPrompt != "" { - log.Printf("\n" + strings.Repeat("=", 70)) + log.Print("\n" + strings.Repeat("=", 70)) log.Printf("📋 系统提示词 [模板: %s] (错误情况)", at.systemPromptTemplate) log.Println(strings.Repeat("=", 70)) log.Println(decision.SystemPrompt) - log.Printf(strings.Repeat("=", 70) + "\n") + log.Print(strings.Repeat("=", 70) + "\n") } if decision.CoTTrace != "" { - log.Printf("\n" + strings.Repeat("-", 70)) + log.Print("\n" + strings.Repeat("-", 70)) log.Println("💭 AI思维链分析(错误情况):") log.Println(strings.Repeat("-", 70)) log.Println(decision.CoTTrace) - log.Printf(strings.Repeat("-", 70) + "\n") + log.Print(strings.Repeat("-", 70) + "\n") } } From 5fe671b254de36db70b7c1312770eb2d99f4de5c Mon Sep 17 00:00:00 2001 From: ZhouYongyou <128128010+zhouyongyou@users.noreply.github.com> Date: Mon, 3 Nov 2025 20:47:25 +0800 Subject: [PATCH 2/2] 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 --- web/package-lock.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/web/package-lock.json b/web/package-lock.json index a6afa248..08b930ea 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -72,6 +72,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1275,6 +1276,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz", "integrity": "sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==", "devOptional": true, + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -1462,6 +1464,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -2157,6 +2160,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -2477,6 +2481,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -2653,6 +2658,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -2664,6 +2670,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -3172,6 +3179,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, + "peer": true, "engines": { "node": ">=12" }, @@ -3286,6 +3294,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -3377,6 +3386,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, + "peer": true, "engines": { "node": ">=12" },