From f83abc3b530f0dbde23332b0b67b9467a69b952b Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Sun, 26 Jul 2026 13:24:55 +0800
Subject: [PATCH] fix: 参数不足时显示对应命令的 help

---
 cmd/root.go |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/cmd/root.go b/cmd/root.go
index 8fbbcc0..c23baff 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -63,7 +63,18 @@
 	rootCmd.Long = sb.String()
 
 	if err := rootCmd.Execute(); err != nil {
-		cobra.CheckErr(err)
+		// 如果是参数不足的错误,显示对应命令的 help
+		errMsg := err.Error()
+		if strings.Contains(errMsg, "arg(s)") || strings.Contains(errMsg, "received") || strings.Contains(errMsg, "required flag") {
+			// 找到当前命令并显示其 help
+			cmd, _, findErr := rootCmd.Find(os.Args[1:])
+			if findErr == nil {
+				cmd.Help()
+			}
+			fmt.Println() // 空行
+		} else {
+			cobra.CheckErr(err)
+		}
 	}
 }
 

--
Gitblit v1.9.1