Issue 描述
VikingCapabilityConfig 未展开配置字段中的环境变量,导致 xeno-agent 在使用 type: viking capability 时,可能将 "${VIKING_MCP_API_KEY}" 作为字面量 API key 传给 Viking SDK。
当前远程 agentpool/main 已修复 MCP HTTP/SSE headers 的环境变量展开问题,但未覆盖 Viking capability 自身的配置字段,例如 api_key、url、account、user、skills_uri、resources_uri、sessions_uri、uploads_uri。
影响场景:
type: viking
url: "http://viking.ai.rootcloud.info"
api_key: "${VIKING_MCP_API_KEY}"
期望行为:
api_key 在配置解析阶段展开为环境变量 VIKING_MCP_API_KEY 的真实值。
实际行为:
api_key 可能保持为字面量 "${VIKING_MCP_API_KEY}",导致 Viking SDK 认证失败、身份解析异常,进而影响 viking_read、viking_search、viking_glob 等工具调用。
对 fta-eval 的影响:
xeno-agent 的 /fta-eval 流程依赖 Viking 工具读取 manuals、cases、tickets 等知识资源。如果 Viking capability 无法正确展开 API key,评估流程可能无法访问知识库资源,导致评估失败或结果不完整。
建议修复:
在 VikingCapabilityConfig 中对相关字符串字段增加环境变量展开逻辑,例如使用 Pydantic field_validator(mode="before") 调用 os.path.expandvars。
Issue 描述
VikingCapabilityConfig未展开配置字段中的环境变量,导致xeno-agent在使用type: vikingcapability 时,可能将"${VIKING_MCP_API_KEY}"作为字面量 API key 传给 Viking SDK。当前远程
agentpool/main已修复 MCP HTTP/SSE headers 的环境变量展开问题,但未覆盖 Viking capability 自身的配置字段,例如api_key、url、account、user、skills_uri、resources_uri、sessions_uri、uploads_uri。影响场景:
期望行为:
api_key在配置解析阶段展开为环境变量VIKING_MCP_API_KEY的真实值。实际行为:
api_key可能保持为字面量"${VIKING_MCP_API_KEY}",导致 Viking SDK 认证失败、身份解析异常,进而影响viking_read、viking_search、viking_glob等工具调用。对
fta-eval的影响:xeno-agent的/fta-eval流程依赖 Viking 工具读取 manuals、cases、tickets 等知识资源。如果 Viking capability 无法正确展开 API key,评估流程可能无法访问知识库资源,导致评估失败或结果不完整。建议修复:
在
VikingCapabilityConfig中对相关字符串字段增加环境变量展开逻辑,例如使用 Pydanticfield_validator(mode="before")调用os.path.expandvars。