agentscope-ai / agentscope-ai/agentscope-java

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

未关闭
#1,381 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area/ext/integration bug
主要语言
Java
星标
5.6k
派生
1.3k
平均合并
4 天 12 小时
30 天内合并 PR
77

描述

这个配置类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);
}
`

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。