Mastra的副驾驶Kit情报技能
将一个或多个学习容器中公布的技能提供给马斯特拉代理商。 适配器增加了一个目录和两个本土读取工具. 每次引用都使用一个经过核实的快照,包括工具第一回.
需要22.13+节点和马斯特拉核心 >=1.0.0 <2。 Intelligence 服务器和 Canonical runtime 客户端必须支持学习相片 API .
设置
import { Agent } from "@mastra/core/agent";
import {
SkillRegistry,
createSkillRegistryProcessor,
} from "@copilotkit/intelligence-mastra";
// Set CPK_INTELLIGENCE_API_KEY and CPK_INTELLIGENCE_LEARNING_CONTAINER_ID.
// Set INTELLIGENCE_API_URL for a self-hosted Intelligence server.
const registry = new SkillRegistry();
await registry.initialize();
const skills = createSkillRegistryProcessor({ registry });
const agent = skills.wrapAgent(
new Agent({
id: "support",
name: "Support",
model: "openai/gpt-4.1",
instructions: "Follow our support policy.",
inputProcessors: [skills],
tools: { ...skills.tools },
}),
);
const result = await agent.generate("Help with a refund.");
在同一本地阵列和地图中注册其他处理器和工具. 准备金 copilotkit_load_skill 财务报告和审定财务报表 copilotkit_read_skill_file 这个适配器。 这两个工具仍可供空登记册使用。 主机指令仍然优先于学到的内容.
执行和恢复
给包裹的特工打电话 generate, (中文(简体) ), stream, (中文(简体) ), resumeGenerate,以及 resumeStream。包装还覆盖本地批准帮助者: approveToolCall, (中文(简体) ), declineToolCall, (中文(简体) ), approveToolCallGenerate,以及 declineToolCallGenerate 其中安装的 Mastra 版本提供了它们.
每一次通话在本土处决前都会获得其快照. 流出的结果保留了马斯特拉的原生外形. 恢复开始新的引用并抓取当前快照 。 私人的Aync上下文带有该快照,所以恢复的工具不能读取悬停关闭时的更旧快照. 快照不存储在请求上下文或处理器状态.
过 abortSignal 在取消交付等待和原地执行的引用选项中。 只通过代理提供信号 defaultOptions 在本地执行期间生效,不能取消前一次交付等待。 取消一个呼叫者不会取消与其他呼叫者共享的注册刷新. 明确登记和包装每个选定的物剂;副物剂的传播遵循Mastra。 代理网络,遗留方法,背景工人,以及单独的耐用工人发送都在这个适配器支持的切入点之外.
配置
通过一个应用程序拥有 CopilotKitIntelligence 客户端来自 @copilotkit/runtime/v2 改为 new SkillRegistry({ client, containerId }) 重新使用其证书和HTTP运输。 明确的配置凌驾于环境值之上. 被注入的客户端对连接配置是权威的.
freshnessWindowMs 财务报告和审定财务报表 requestTimeoutMs 默认为5000. debug 默认为虚假。 设定 revision 或者说 CPK_INTELLIGENCE_SKILLS_REVISION 为了一个完全的 集装箱针。 明确初始化是可选的;第一个包裹的引用可以初始化登记处.
接着 SkillDeliveryError 在初始化或援引时。 它的马厩 code 描述失败。 温暖的瞬间错误保留了先前核实的快照;确认的拒绝屏蔽了新的引用. registry.status 曝光初始化,修订,模式,新鲜度,安全出错状态.
适配器在内存中读取技能,不写出文件或执行脚本. 模型选择是加载还是跟随技能. 该软件包使用Cononical Runtime客户端并保留该客户端的依赖足迹;它不依赖于LangGraph适配器.
见 学习技能提供指南 用于服务器要求和CLI下载的迁移.
多个集装箱
使用有明确清单的同一登记处:
const registry = new SkillRegistry({
containers: [
{ id: "support", revision: "revision-123" },
{ id: "company-wide" },
],
});
每个条目都跟随最新条目,除非它有修订指针。 身份证必须是独一无二和不空的.
SDK 拒绝空列表或列表加在一起 containerId 或顶级 revision。 。 。 .
TypeScript 在编译时间也拒绝混合表单 。 旧界面仍然支持 .
明确清单忽略了遗留的容器和修订环境变量.
全权证书、新鲜度和超时度仍然共享.
新界面使用的名称有: support/refund-policy 在目录和工具呼叫中.
前缀URI-en编码了容器ID,所以名字不能在容器之间相撞.
旧界面保留了未被固定的"技能"名称.
每个容器都有自己的缓存和修订。 每次引用都会捕捉到完整的综合目录.
冷漠的失败或任何容器的否认 阻止了引用.
现有的瞬变后退分别适用于每个取暖容器.
registry.status.containers 列出每个集装箱的状况和修订。 综合状态没有修订指针.
明确 containers 接受1-50个独特的容器ID,并对所有需要刷新的来源发出一个批次请求。 这也适用于一个条目的清单.
服务器必须支持 POST /api/v1/learning/skills/batch 在使用此配置之前。 SDK不会退回到不同的请求中.
遗产 containerId 配置保留其现有的单容器请求。 两种界面都使用相同的认证配置.