SuperAPI AI 工具集

sap-joule-capability

智能体与模型

查看项目

更新于 10-16 08:45

技能介绍

用途:把基于代码的 A2A 智能体接入 Joule,使其可从 Joule 会话界面调用。需要提供 joule-capability/ 目录,内含四类 .sapdas.yaml 文件,并用 Joule CLI(joule deploy)消费。\n\n目录结构:capability.sapdas.yaml(声明智能体名称与 Agent Card 地址)、_da.sapdas.yaml(DigitalAssistant 绑定,指定会话界面)、scenarios/default.sapdas.yaml(意图到函数的映射)、functions/<name>.sapdas.yaml(每个函数对应一个 A2A skill id)。\n\n主要能力:capability 文件用 apiVersion: joule.ext/v1、kind: Capability,spec 含 agentCardUrl、authMode(oauth2-client-credentials,生产可用 ias)、scenarios。DigitalAssistant 文件用 spec.surfaces 指定出现界面(如 joule-code-editor、joule-sidebar-erp),并引用 capabilityRef。Scenario 用 intents(如 "@my-first-agent *")、fallback、functions。Function 用 description、examples 和 a2aSkillId,后者须与 agent_executor.py 中 AgentSkill(id=...) 一致。\n\n使用方式:执行 joule login、joule deploy ./joule-capability、joule list capabilities | grep my-first-agent 验证;可用 joule invoke --capability <name> --text "say PONG" 测试。\n\n集成路径:1)直接 A2A,单智能体、同步、低于 60 秒,authMode 为 oauth2-client-credentials;2)BPA 异步,适用于长时间运行,回调 BPA;3)多智能体前置代理,集中 IAS,尚未提供随附模板,与 SwissKnife 不同。\n\n限制与注意:Joule 并非所有区域都 GA,需先运行 recipes/00-develop/00-region-preflight/;agentCardUrl 若被鉴权阻断会导致无法发现,须保证 /.well-known/agent.json 公开;a2aSkillId 不匹配会注册成功但调用返回 404;scenarios 缺失或 intents 为空则不会路由。其他细节暂未提供。