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

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions