Skip to content

Commit 616fc0f

Browse files
author
piexlMax(奇淼
committed
fix(mcp): 确保始终返回目录结构信息
1 parent d374140 commit 616fc0f

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

server/mcp/gva_auto_generate.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -632,12 +632,16 @@ func (t *AutomationModuleAnalyzer) executeCreation(ctx context.Context, plan *Ex
632632
Paths: make(map[string]string),
633633
}
634634

635+
// 无论如何都先构建目录结构信息,确保paths始终返回
636+
result.Paths = t.buildDirectoryStructure(plan)
637+
635638
// 创建包(如果需要)
636639
if plan.NeedCreatedPackage && plan.PackageInfo != nil {
637640
packageService := service.ServiceGroupApp.SystemServiceGroup.AutoCodePackage
638641
err := packageService.Create(ctx, plan.PackageInfo)
639642
if err != nil {
640643
result.Message = fmt.Sprintf("创建包失败: %v", err)
644+
// 即使创建包失败,也要返回paths信息
641645
return result
642646
}
643647
result.Message += "包创建成功; "
@@ -650,23 +654,20 @@ func (t *AutomationModuleAnalyzer) executeCreation(ctx context.Context, plan *Ex
650654
err := plan.ModulesInfo.Pretreatment()
651655
if err != nil {
652656
result.Message += fmt.Sprintf("模块信息预处理失败: %v", err)
657+
// 即使预处理失败,也要返回paths信息
653658
return result
654659
}
655660

656661
err = templateService.Create(ctx, *plan.ModulesInfo)
657662
if err != nil {
658663
result.Message += fmt.Sprintf("创建模块失败: %v", err)
664+
// 即使创建模块失败,也要返回paths信息
659665
return result
660666
}
661667
result.Message += "模块创建成功; "
662668
}
663669

664-
if !plan.NeedCreatedModules {
665-
// 如果需要创建模块但没有调用本体方法,则构建目录结构信息供AI使用
666-
result.Paths = t.buildDirectoryStructure(plan)
667-
result.Message += "已构建目录结构信息,需要AI根据路径信息创建代码文件; "
668-
}
669-
670+
result.Message += "已构建目录结构信息; "
670671
result.Success = true
671672

672673
if result.Message == "" {

0 commit comments

Comments
 (0)