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 摘要。