Require explicit agent mutation targets

This commit is contained in:
lky-spec
2026-04-26 22:38:16 +08:00
parent ce3a8582af
commit e8eafce1e0
6 changed files with 157 additions and 62 deletions

View File

@@ -264,25 +264,6 @@ func (a *Agent) buildSimpleEntityConversationResources(storeUserID string, sessi
return resources
}
func (a *Agent) inferredCurrentReferenceForSkill(userID int64, skillName string) *EntityReference {
refs := a.semanticCurrentReferences(userID)
if refs == nil {
return nil
}
switch skillName {
case "trader_management":
return normalizeEntityReference(refs.Trader)
case "exchange_management":
return normalizeEntityReference(refs.Exchange)
case "model_management":
return normalizeEntityReference(refs.Model)
case "strategy_management":
return normalizeEntityReference(refs.Strategy)
default:
return nil
}
}
func (a *Agent) handleTraderManagementSkill(storeUserID string, userID int64, lang, text string, session skillSession) (string, bool) {
if session.Name != "trader_management" || session.Action == "" {
return "", false
@@ -1693,9 +1674,6 @@ func (a *Agent) handleSimpleEntitySkill(storeUserID string, userID int64, lang,
if resolved := resolveTargetSelection(text, options, session.TargetRef); resolved.Ref != nil {
session.TargetRef = resolved.Ref
}
if session.TargetRef == nil {
session.TargetRef = a.inferredCurrentReferenceForSkill(userID, skillName)
}
if session.TargetRef == nil {
if !(supportsBulkTargetSelection(skillName, action) && fieldValue(session, "bulk_scope") == "all") {
setSkillDAGStep(&session, "resolve_target")
@@ -1727,9 +1705,6 @@ func (a *Agent) handleSimpleEntitySkill(storeUserID string, userID int64, lang,
if resolved := resolveTargetSelection(text, options, session.TargetRef); resolved.Ref != nil {
session.TargetRef = resolved.Ref
}
if session.TargetRef == nil {
session.TargetRef = a.inferredCurrentReferenceForSkill(userID, skillName)
}
if session.TargetRef == nil && fieldValue(session, "bulk_scope") != "all" && action != "query" && action != "query_list" && action != "query_detail" && action != "query_running" {
a.saveSkillSession(userID, session)
label := formatOptionList("可选对象:", options)