Skip to content

引入AgentScope A2a后nacos需要重复配置问题 #1381

@wujinqing

Description

@wujinqing

这个配置类AgentscopeA2aNacosAutoConfiguration
里面调用a2aNacosProperties.getNacosProperties()导致我需要配置两遍nacos的信息
private AiService a2aService( AgentScopeNacosProperties nacosProperties, AgentScopeA2aNacosProperties a2aNacosProperties) throws NacosException { Properties nacosClientProperties = nacosProperties.getNacosProperties(); // 用于getNacosProperties方法里面会设置默认值,调用putAll方法后会把nacosProperties里面的SERVER_ADDR和NAMESPACE配置覆盖掉 nacosClientProperties.putAll(a2aNacosProperties.getNacosProperties()); return AiFactory.createAiService(nacosClientProperties); }

public Properties getNacosProperties() { Properties result = getExplicitNacosProperties(); result.putIfAbsent(PropertyKeyConst.SERVER_ADDR, DEFAULT_ADDRESS); result.putIfAbsent(PropertyKeyConst.NAMESPACE, DEFAULT_NAMESPACE); return result; }

agentscope: nacos: prompt: enabled: true sys-prompt-key: ceair-ai-master-sys-prompt version: 1.0 label: latest server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE} username: ${NACOS_USERNAME} password: ${NACOS_PASSWORD} properties: logAllProperties: true a2a: server: enabled: true card: name: test-agent description: 测试智能体。 nacos: server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE}

解决方案:参考AgentscopeNacosPromptAutoConfiguration将调用.getNacosProperties()方法替换成getExplicitNacosProperties()方法。

public AiService agentscopePromptAiService( AgentScopeNacosProperties nacosProperties, AgentScopeNacosPromptProperties promptNacosProperties) throws NacosException { Properties result = nacosProperties.getNacosProperties(); result.putAll(promptNacosProperties.getExplicitNacosProperties()); return AiFactory.createAiService(result); }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No fields configured for Bug.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions