feat: remove fallback mode and max AI reply rounds from AIAgent model and related components

This commit is contained in:
mlogclub
2026-04-10 16:08:17 +08:00
parent ea327e2d97
commit c1d42be1fc
11 changed files with 11 additions and 172 deletions
+7 -1
View File
@@ -3,6 +3,8 @@ package registry
import (
"strings"
"cs-agent/internal/pkg/toolx"
einotool "github.com/cloudwego/eino/components/tool"
)
@@ -28,7 +30,7 @@ func (r *Registry) Resolve(ctx Context) (*ToolSet, error) {
}
toolCode := strings.TrimSpace(toolDef.Code())
if len(allowedToolCodes) > 0 {
if _, ok := allowedToolCodes[toolCode]; !ok {
if _, ok := allowedToolCodes[toolCode]; !ok && !isAlwaysAllowedToolCode(toolCode) {
continue
}
}
@@ -63,3 +65,7 @@ func makeAllowedToolCodeSet(input []string) map[string]struct{} {
}
return ret
}
func isAlwaysAllowedToolCode(toolCode string) bool {
return strings.TrimSpace(toolCode) == toolx.GraphHandoffConversationToolCode
}
+2 -17
View File
@@ -95,7 +95,7 @@ func (s *service) prepareToolsForRun(req *Request) error {
AIAgent: req.AIAgent,
AIConfig: req.AIConfig,
UserMessage: req.UserMessage,
AllowedToolCodes: ensureCoreGraphToolCodes(resolveAllowedToolCodes(req.AIAgent, req.SelectedSkill)),
AllowedToolCodes: resolveAllowedToolCodes(req.AIAgent, req.SelectedSkill),
})
if err != nil {
return err
@@ -113,7 +113,7 @@ func (s *service) prepareToolsForResume(req *ResumeRequest) error {
Conversation: req.Conversation,
AIAgent: req.AIAgent,
AIConfig: req.AIConfig,
AllowedToolCodes: ensureCoreGraphToolCodes(parseAgentAllowedToolCodes(req.AIAgent)),
AllowedToolCodes: parseAgentAllowedToolCodes(req.AIAgent),
})
if err != nil {
return err
@@ -281,18 +281,3 @@ func resolveAllowedToolCodes(aiAgent *models.AIAgent, skill *models.SkillDefinit
return ret
}
}
func ensureCoreGraphToolCodes(toolCodes []string) []string {
if len(toolCodes) == 0 {
return nil
}
ret := make([]string, 0, len(toolCodes)+1)
ret = append(ret, toolCodes...)
for _, item := range ret {
if strings.TrimSpace(item) == toolx.GraphHandoffConversationToolCode {
return ret
}
}
ret = append(ret, toolx.GraphHandoffConversationToolCode)
return ret
}