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

---
 bin/kb-cli    |    0 
 cmd/search.go |    3 +++
 cmd/root.go   |   13 ++++++++++++-
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/bin/kb-cli b/bin/kb-cli
index 48b7037..817596b 100755
--- a/bin/kb-cli
+++ b/bin/kb-cli
Binary files differ
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)
+		}
 	}
 }
 
diff --git a/cmd/search.go b/cmd/search.go
index 88c0065..e7e31a1 100644
--- a/cmd/search.go
+++ b/cmd/search.go
@@ -37,6 +37,9 @@
 	searchCmd.Flags().BoolVar(&jsonOut, "json", false, "JSON 格式输出")
 	searchCmd.Flags().BoolVar(&withContent, "with-content", false, "返回完整文件内容")
 	searchCmd.Flags().BoolVar(&withLinks, "with-links", false, "显示关联文档链接")
+	
+	// 参数不足时显示 help
+	searchCmd.SetUsageTemplate(searchCmd.Long)
 }
 
 func runSearch(cmd *cobra.Command, args []string) error {

--
Gitblit v1.9.1