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