Skip to content

VikingCapabilityConfig 未展开配置字段中的环境变量 #370

Description

@ChenBinfighting1

Issue 描述

VikingCapabilityConfig 未展开配置字段中的环境变量,导致 xeno-agent 在使用 type: viking capability 时,可能将 "${VIKING_MCP_API_KEY}" 作为字面量 API key 传给 Viking SDK。

当前远程 agentpool/main 已修复 MCP HTTP/SSE headers 的环境变量展开问题,但未覆盖 Viking capability 自身的配置字段,例如 api_keyurlaccountuserskills_uriresources_urisessions_uriuploads_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_readviking_searchviking_glob 等工具调用。

fta-eval 的影响:
xeno-agent/fta-eval 流程依赖 Viking 工具读取 manuals、cases、tickets 等知识资源。如果 Viking capability 无法正确展开 API key,评估流程可能无法访问知识库资源,导致评估失败或结果不完整。

建议修复:
VikingCapabilityConfig 中对相关字符串字段增加环境变量展开逻辑,例如使用 Pydantic field_validator(mode="before") 调用 os.path.expandvars

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions