From 2dbeae0987f702cae85274e296b087d609fcd289 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 03 Jun 2026 17:27:41 +0800
Subject: [PATCH] Add Qwen3-ASR Chinese advanced model

---
 privatevoice.src/internal/model/validator.go |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/privatevoice.src/internal/model/validator.go b/privatevoice.src/internal/model/validator.go
index 0870a68..0554e03 100644
--- a/privatevoice.src/internal/model/validator.go
+++ b/privatevoice.src/internal/model/validator.go
@@ -39,7 +39,7 @@
 		if len(rule.AllOf) > 0 {
 			for _, rel := range rule.AllOf {
 				path := filepath.Join(dir, rel)
-				if !validRequiredFile(path) {
+				if !validRequiredPath(path, rule.Directory) {
 					result.Valid = false
 					result.Missing = append(result.Missing, rel)
 					continue
@@ -54,7 +54,7 @@
 			var selected string
 			for _, rel := range rule.AnyOf {
 				path := filepath.Join(dir, rel)
-				if validRequiredFile(path) {
+				if validRequiredPath(path, rule.Directory) {
 					selected = path
 					break
 				}
@@ -72,8 +72,18 @@
 }
 
 func validRequiredFile(path string) bool {
+	return validRequiredPath(path, false)
+}
+
+func validRequiredPath(path string, directory bool) bool {
 	info, err := os.Stat(path)
-	if err != nil || info.IsDir() {
+	if err != nil {
+		return false
+	}
+	if directory {
+		return info.IsDir()
+	}
+	if info.IsDir() {
 		return false
 	}
 	return info.Size() > 0

--
Gitblit v1.9.3