mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-09-27 03:31:56 +02:00
Add files via upload
This commit is contained in:
@@ -603,11 +603,13 @@ func (h *AgentHandler) AgentLoop(c *gin.Context) {
|
|||||||
|
|
||||||
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
||||||
defer cancelWithCause(nil)
|
defer cancelWithCause(nil)
|
||||||
progressCallback := h.createProgressCallback(baseCtx, cancelWithCause, conversationID, "", nil)
|
taskCtx, timeoutCancel := context.WithTimeout(baseCtx, 600*time.Minute)
|
||||||
baseCtx = h.injectReactHITLInterceptor(baseCtx, cancelWithCause, conversationID, "", nil)
|
defer timeoutCancel()
|
||||||
|
progressCallback := h.createProgressCallback(taskCtx, cancelWithCause, conversationID, "", nil)
|
||||||
|
taskCtx = h.injectReactHITLInterceptor(taskCtx, cancelWithCause, conversationID, "", nil)
|
||||||
|
|
||||||
// 执行Agent Loop,传入历史消息和对话ID(使用包含角色提示词的finalMessage和角色工具列表)
|
// 执行Agent Loop,传入历史消息和对话ID(使用包含角色提示词的finalMessage和角色工具列表)
|
||||||
result, err := h.agent.AgentLoopWithProgress(baseCtx, finalMessage, agentHistoryMessages, conversationID, progressCallback, roleTools)
|
result, err := h.agent.AgentLoopWithProgress(taskCtx, finalMessage, agentHistoryMessages, conversationID, progressCallback, roleTools)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
h.logger.Error("Agent Loop执行失败", zap.Error(err))
|
h.logger.Error("Agent Loop执行失败", zap.Error(err))
|
||||||
|
|
||||||
@@ -1209,6 +1211,9 @@ func (h *AgentHandler) AgentLoopStream(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
eventJSON, _ := json.Marshal(event)
|
eventJSON, _ := json.Marshal(event)
|
||||||
fmt.Fprintf(c.Writer, "data: %s\n\n", eventJSON)
|
fmt.Fprintf(c.Writer, "data: %s\n\n", eventJSON)
|
||||||
|
done := StreamEvent{Type: "done", Message: ""}
|
||||||
|
doneJSON, _ := json.Marshal(done)
|
||||||
|
fmt.Fprintf(c.Writer, "data: %s\n\n", doneJSON)
|
||||||
c.Writer.Flush()
|
c.Writer.Flush()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,8 +281,10 @@ func (h *AgentHandler) EinoSingleAgentLoop(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
||||||
defer cancelWithCause(nil)
|
defer cancelWithCause(nil)
|
||||||
progressCallback := h.createProgressCallback(baseCtx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, progressCallbackRaw)
|
taskCtx, timeoutCancel := context.WithTimeout(baseCtx, 600*time.Minute)
|
||||||
baseCtx = multiagent.WithHITLToolInterceptor(baseCtx, func(ctx context.Context, toolName, arguments string) (string, error) {
|
defer timeoutCancel()
|
||||||
|
progressCallback := h.createProgressCallback(taskCtx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, progressCallbackRaw)
|
||||||
|
taskCtx = multiagent.WithHITLToolInterceptor(taskCtx, func(ctx context.Context, toolName, arguments string) (string, error) {
|
||||||
return h.interceptHITLForEinoTool(ctx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil, toolName, arguments)
|
return h.interceptHITLForEinoTool(ctx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil, toolName, arguments)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -292,7 +294,7 @@ func (h *AgentHandler) EinoSingleAgentLoop(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
result, runErr := multiagent.RunEinoSingleChatModelAgent(
|
result, runErr := multiagent.RunEinoSingleChatModelAgent(
|
||||||
baseCtx,
|
taskCtx,
|
||||||
h.config,
|
h.config,
|
||||||
&h.config.MultiAgent,
|
&h.config.MultiAgent,
|
||||||
h.agent,
|
h.agent,
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ func (h *AgentHandler) MultiAgentLoopStream(c *gin.Context) {
|
|||||||
event := StreamEvent{Type: "error", Message: "请求参数错误: " + err.Error()}
|
event := StreamEvent{Type: "error", Message: "请求参数错误: " + err.Error()}
|
||||||
b, _ := json.Marshal(event)
|
b, _ := json.Marshal(event)
|
||||||
fmt.Fprintf(c.Writer, "data: %s\n\n", b)
|
fmt.Fprintf(c.Writer, "data: %s\n\n", b)
|
||||||
|
done := StreamEvent{Type: "done", Message: ""}
|
||||||
|
db, _ := json.Marshal(done)
|
||||||
|
fmt.Fprintf(c.Writer, "data: %s\n\n", db)
|
||||||
c.Writer.Flush()
|
c.Writer.Flush()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -293,13 +296,15 @@ func (h *AgentHandler) MultiAgentLoop(c *gin.Context) {
|
|||||||
|
|
||||||
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
baseCtx, cancelWithCause := context.WithCancelCause(c.Request.Context())
|
||||||
defer cancelWithCause(nil)
|
defer cancelWithCause(nil)
|
||||||
progressCallback := h.createProgressCallback(baseCtx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil)
|
taskCtx, timeoutCancel := context.WithTimeout(baseCtx, 600*time.Minute)
|
||||||
baseCtx = multiagent.WithHITLToolInterceptor(baseCtx, func(ctx context.Context, toolName, arguments string) (string, error) {
|
defer timeoutCancel()
|
||||||
|
progressCallback := h.createProgressCallback(taskCtx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil)
|
||||||
|
taskCtx = multiagent.WithHITLToolInterceptor(taskCtx, func(ctx context.Context, toolName, arguments string) (string, error) {
|
||||||
return h.interceptHITLForEinoTool(ctx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil, toolName, arguments)
|
return h.interceptHITLForEinoTool(ctx, cancelWithCause, prep.ConversationID, prep.AssistantMessageID, nil, toolName, arguments)
|
||||||
})
|
})
|
||||||
|
|
||||||
result, runErr := multiagent.RunDeepAgent(
|
result, runErr := multiagent.RunDeepAgent(
|
||||||
baseCtx,
|
taskCtx,
|
||||||
h.config,
|
h.config,
|
||||||
&h.config.MultiAgent,
|
&h.config.MultiAgent,
|
||||||
h.agent,
|
h.agent,
|
||||||
|
|||||||
Reference in New Issue
Block a user