@coralai/sps-plugin-api
v0.10.0
Published
sps 宿主半区的插件契约:ctx 上那些服务的方法签名。插件装它拿类型。
Readme
@coralai/sps-plugin-api
sps 宿主半区的插件契约:ctx 上那些服务的方法签名。
npm i -D @coralai/sps-plugin-apiimport type { SpsPluginContext } from '@coralai/sps-plugin-api';
export const name = 'coral-plugin-x';
export const inject = ['sps.tools'];
export function apply(ctx: SpsPluginContext, config: { greeting?: string }) {
ctx.effect(() => // 🔴 注册一定要放进 effect,否则停用时收不干净
ctx['sps.tools'].register({
name: 'my_tool',
description: '给 agent 用的工具',
inputSchema: { type: 'object', properties: {} }, // 标准 JSON Schema
handler: async (args, session) => ({ content: [{ type: 'text', text: 'ok' }] }),
}),
);
}这个包只声明插件会调的那一面。服务内部还有别的方法(注册表的 list() 之类),
不写进来 —— 写进来就等于承诺它们不变。
sps-cli 仓里有一道一致性判据钉着这份契约:实现与它对不上,sps-cli 自己的 check 会红。
完整写法见 sps-cli 仓的 docs/guides/writing-plugins.md。
