From 1196f409d86bc61e7596eb274840244a62ce84ba Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Wed, 29 Jul 2026 14:58:19 +0800
Subject: [PATCH] feat: config priority over env vars, export LoadConfig, add review feature

---
 cmd/root.go |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/cmd/root.go b/cmd/root.go
index c23baff..83fa380 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -6,6 +6,7 @@
 	"strings"
 
 	"github.com/spf13/cobra"
+	"github.com/aisim/kb-cli/internal/llm"
 )
 
 var (
@@ -39,7 +40,7 @@
 	Short: "知识库搜索与管理工具",
 	Long: `kb-cli - 知识库搜索与管理工具
 
-Global: [--vault=<路径>] [--db=<路径>]`,
+Global: [--vault <路径>] [--db <路径>]`,
 }
 
 func Execute() {
@@ -80,11 +81,22 @@
 
 func init() {
 	homeDir, _ := os.UserHomeDir()
-	defaultVault := os.Getenv("KB_VAULT")
+
+	// 从配置文件读取默认值(优先级:配置文件 > 环境变量 > 内置默认值)
+	cfg := llm.LoadConfig()
+	defaultVault := cfg.KnowledgeBase.VaultPath
+	defaultDB := cfg.KnowledgeBase.DBPath
+
+	// 如果配置文件没有设置,使用环境变量或默认值
 	if defaultVault == "" {
-		defaultVault = homeDir + "/aisim/note/001/笔记001"
+		defaultVault = os.Getenv("KB_VAULT")
+		if defaultVault == "" {
+			defaultVault = homeDir + "/aisim/note/001/笔记001"
+		}
 	}
-	defaultDB := homeDir + "/.cache/kb-cli/kb.db"
+	if defaultDB == "" {
+		defaultDB = homeDir + "/.cache/kb-cli/kb.db"
+	}
 
 	rootCmd.PersistentFlags().StringVar(&vaultPath, "vault", defaultVault, "知识库根目录")
 	rootCmd.PersistentFlags().StringVar(&dbPath, "db", defaultDB, "索引数据库路径")

--
Gitblit v1.9.1