mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-10 14:28:43 +02:00
Add files via upload
This commit is contained in:
+7
-7
@@ -295,11 +295,11 @@ func New(cfg *config.Config, log *logger.Logger, configPath string) (*App, error
|
||||
return
|
||||
}
|
||||
|
||||
// 只有在没有索引时才自动重建
|
||||
// 冷启动:仅为尚无向量的知识项构建索引(与 IndexMissing 语义一致)
|
||||
log.Logger.Info("未检测到知识库索引,开始自动构建索引")
|
||||
ctx := context.Background()
|
||||
if err := knowledgeIndexer.RebuildIndex(ctx); err != nil {
|
||||
log.Logger.Warn("重建知识库索引失败", zap.Error(err))
|
||||
if err := knowledgeIndexer.IndexMissing(ctx); err != nil {
|
||||
log.Logger.Warn("自动构建知识库索引失败", zap.Error(err))
|
||||
}
|
||||
}()
|
||||
}
|
||||
@@ -1071,7 +1071,7 @@ func setupRoutes(
|
||||
})
|
||||
return
|
||||
}
|
||||
app.knowledgeHandler.RebuildIndex(c)
|
||||
app.knowledgeHandler.StartIndex(c)
|
||||
})
|
||||
knowledgeRoutes.POST("/scan", func(c *gin.Context) {
|
||||
if app.knowledgeHandler == nil {
|
||||
@@ -1961,11 +1961,11 @@ func initializeKnowledge(
|
||||
return
|
||||
}
|
||||
|
||||
// 只有在没有索引时才自动重建
|
||||
// 冷启动:仅为尚无向量的知识项构建索引(与 IndexMissing 语义一致)
|
||||
logger.Info("未检测到知识库索引,开始自动构建索引")
|
||||
ctx := context.Background()
|
||||
if err := knowledgeIndexer.RebuildIndex(ctx); err != nil {
|
||||
logger.Warn("重建知识库索引失败", zap.Error(err))
|
||||
if err := knowledgeIndexer.IndexMissing(ctx); err != nil {
|
||||
logger.Warn("自动构建知识库索引失败", zap.Error(err))
|
||||
}
|
||||
}()
|
||||
|
||||
|
||||
@@ -407,6 +407,18 @@ func (e *Executor) buildCommandArgs(toolName string, toolConfig *config.ToolConf
|
||||
}
|
||||
}
|
||||
|
||||
formattedValue := e.formatParamValue(param, value)
|
||||
if strings.TrimSpace(formattedValue) == "" {
|
||||
if param.Required {
|
||||
e.logger.Warn("必需参数为空",
|
||||
zap.String("tool", toolName),
|
||||
zap.String("param", param.Name),
|
||||
)
|
||||
return []string{}
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
format := param.Format
|
||||
if format == "" {
|
||||
format = "flag" // 默认格式
|
||||
@@ -418,23 +430,20 @@ func (e *Executor) buildCommandArgs(toolName string, toolConfig *config.ToolConf
|
||||
if param.Flag != "" {
|
||||
cmdArgs = append(cmdArgs, param.Flag)
|
||||
}
|
||||
formattedValue := e.formatParamValue(param, value)
|
||||
if formattedValue != "" {
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
}
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
case "combined":
|
||||
// --flag=value 或 -f=value
|
||||
if param.Flag != "" {
|
||||
cmdArgs = append(cmdArgs, fmt.Sprintf("%s=%s", param.Flag, e.formatParamValue(param, value)))
|
||||
cmdArgs = append(cmdArgs, fmt.Sprintf("%s=%s", param.Flag, formattedValue))
|
||||
} else {
|
||||
cmdArgs = append(cmdArgs, e.formatParamValue(param, value))
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
}
|
||||
case "template":
|
||||
// 使用模板字符串
|
||||
if param.Template != "" {
|
||||
template := param.Template
|
||||
template = strings.ReplaceAll(template, "{flag}", param.Flag)
|
||||
template = strings.ReplaceAll(template, "{value}", e.formatParamValue(param, value))
|
||||
template = strings.ReplaceAll(template, "{value}", formattedValue)
|
||||
template = strings.ReplaceAll(template, "{name}", param.Name)
|
||||
cmdArgs = append(cmdArgs, strings.Fields(template)...)
|
||||
} else {
|
||||
@@ -442,14 +451,14 @@ func (e *Executor) buildCommandArgs(toolName string, toolConfig *config.ToolConf
|
||||
if param.Flag != "" {
|
||||
cmdArgs = append(cmdArgs, param.Flag)
|
||||
}
|
||||
cmdArgs = append(cmdArgs, e.formatParamValue(param, value))
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
}
|
||||
case "positional":
|
||||
// 位置参数(已在上面处理)
|
||||
cmdArgs = append(cmdArgs, e.formatParamValue(param, value))
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
default:
|
||||
// 默认:直接添加值
|
||||
cmdArgs = append(cmdArgs, e.formatParamValue(param, value))
|
||||
cmdArgs = append(cmdArgs, formattedValue)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user