diff --git a/internal/config/config.go b/internal/config/config.go index 2daa55ab..4cbfe060 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -99,9 +99,6 @@ type MultiAgentConfig struct { // SubAgentUserContextMaxRunes caps user-context supplement for sub-agent task descriptions. // 0 (default) preserves all user turns verbatim; >0 caps total runes; negative disables injection. SubAgentUserContextMaxRunes int `yaml:"sub_agent_user_context_max_runes,omitempty" json:"sub_agent_user_context_max_runes,omitempty"` - // UserVerbatimAnchorMaxRunes injects all user turns verbatim into system prompt (survives summarization refresh). - // 0 (default) = no cap; >0 = total rune cap; negative disables anchor injection. - UserVerbatimAnchorMaxRunes int `yaml:"user_verbatim_anchor_max_runes,omitempty" json:"user_verbatim_anchor_max_runes,omitempty"` // EinoSkills configures CloudWeGo Eino ADK skill middleware + optional local filesystem/execute on DeepAgent. EinoSkills MultiAgentEinoSkillsConfig `yaml:"eino_skills,omitempty" json:"eino_skills,omitempty"` // EinoMiddleware wires optional ADK middleware (patchtoolcalls, toolsearch, plantask, reduction) and Deep extras. @@ -110,11 +107,6 @@ type MultiAgentConfig struct { EinoCallbacks MultiAgentEinoCallbacksConfig `yaml:"eino_callbacks,omitempty" json:"eino_callbacks,omitempty"` } -// UserVerbatimAnchorMaxRunesEffective returns max runes for user verbatim anchor; 0 = unlimited; negative = disabled. -func (c MultiAgentConfig) UserVerbatimAnchorMaxRunesEffective() int { - return c.UserVerbatimAnchorMaxRunes -} - // SubAgentUserContextMaxRunesEffective returns max runes for sub-agent task supplement; 0 = unlimited; negative = disabled. func (c MultiAgentConfig) SubAgentUserContextMaxRunesEffective() int { return c.SubAgentUserContextMaxRunes diff --git a/internal/handler/project_context.go b/internal/handler/project_context.go index ca2664bc..cc0e6830 100644 --- a/internal/handler/project_context.go +++ b/internal/handler/project_context.go @@ -7,7 +7,8 @@ import ( "go.uber.org/zap" ) -// agentSessionContextBlock 注入会话工作目录、项目黑板与用户原文锚点(用于 system prompt 追加块)。 +// agentSessionContextBlock 注入会话工作目录与项目黑板(用于 system prompt 追加块)。 +// 用户输入由 message history 承载;压缩后由 summarization 摘要指令保留关键约束。 func (h *AgentHandler) agentSessionContextBlock(conversationID string) string { var parts []string if ws := h.buildWorkspaceBlock(conversationID); ws != "" { @@ -16,9 +17,6 @@ func (h *AgentHandler) agentSessionContextBlock(conversationID string) string { if bb := h.projectBlackboardBlock(conversationID); bb != "" { parts = append(parts, bb) } - if uv := h.userVerbatimAnchorBlock(conversationID); uv != "" { - parts = append(parts, uv) - } return strings.Join(parts, "\n\n") } @@ -70,29 +68,6 @@ func (h *AgentHandler) projectBlackboardBlock(conversationID string) string { return strings.TrimSpace(block) } -// userVerbatimAnchorBlock 从 messages 表构建用户各轮原文锚点(压缩后仍由 summarization Finalize 刷新)。 -func (h *AgentHandler) userVerbatimAnchorBlock(conversationID string) string { - if h == nil || h.db == nil || h.config == nil { - return "" - } - conversationID = strings.TrimSpace(conversationID) - if conversationID == "" { - return "" - } - maxRunes := h.config.MultiAgent.UserVerbatimAnchorMaxRunesEffective() - if maxRunes < 0 { - return "" - } - msgs, err := h.db.GetMessages(conversationID) - if err != nil { - if h.logger != nil { - h.logger.Warn("构建用户原文锚点失败", zap.String("conversationId", conversationID), zap.Error(err)) - } - return "" - } - return project.BuildUserVerbatimAnchorBlockFromMessages(msgs, maxRunes) -} - // conversationProjectID 返回对话绑定的项目 ID;未绑定或查询失败时返回空字符串。 func (h *AgentHandler) conversationProjectID(conversationID string) string { if h == nil || h.db == nil {