插件规范
为 LokoSpace 开发插件,扩展 Agent 的技能、工具与 MCP 能力。
插件是什么
LokoSpace 插件是扩展 Agent 能力的代码包。每个插件声明自己能提供的技能、工具或 MCP 服务器,例如"外贸开发信助手"或"产品 PPT 生成器"。插件运行在沙箱进程中,默认无网络访问,需用户显式授权。
插件能做什么
- 注册新的 Skill,让 Agent 掌握特定任务能力
- 封装常用工具,例如文件格式转换、图表生成
- 打包 MCP 服务器配置,连接外部 SaaS
- 添加自定义面板,展示任务进度或数据看板
插件形态
一个插件通常包含 manifest.json、入口代码、README 和图标。开发完成后通过 CLI 打包为 .fbplugin 文件,即可安装到本地或提交到 Loko Mart 市场。
manifest.json
每个插件根目录必须包含 manifest.json,声明插件名称、版本、权限、入口文件、依赖与技能列表。LokoSpace 在安装插件时会解析 manifest 并提示用户授权。
完整 manifest 示例
{
"id": "com.clofuture.email-assistant",
"name": "外贸开发信助手",
"version": "1.2.0",
"description": "根据客户画像自动生成多语言开发信",
"author": "Deploy the Future",
"entry": "dist/index.js",
"permissions": ["fs.read", "network"],
"runtime": "node",
"skills": [
{
"id": "generate-cold-email",
"name": "生成开发信",
"description": "根据客户行业和痛点输出开发信模板"
}
]
}字段说明
- id:插件唯一标识,建议用反向域名风格
- name / description:在市场和权限弹窗中展示
- entry:插件入口文件路径
- permissions:声明需要的沙箱权限
- skills:本插件提供的技能列表
沙箱与权限
插件默认运行在独立进程中,无法直接访问主进程与网络。需要的权限(文件读写、网络、剪贴板、屏幕截图等)必须在 manifest 中声明,用户安装时一次性授权。
权限类型
- fs.read / fs.write:读取或写入本地文件
- network:访问外部网络服务
- clipboard:读取或写入剪贴板
- screen:截取屏幕内容
- shell:执行本地命令
权限控制
即使用户授权了权限,LokoSpace 仍会针对敏感操作进行二次确认。例如写入系统目录、访问剪贴板历史等行为会弹出实时提示。你可以在设置中查看每个插件的权限使用情况。
TypeScript SDK
我们提供 @lokospace/sdk,包含技能注册、上下文读取、工具调用、日志上报等 API。插件使用 TypeScript 编写,编译为 CommonJS 后发布到 Loko Mart 市场。
Skill 开发示例
import { definePlugin, registerSkill } from '@lokospace/sdk';
export default definePlugin({
async setup(ctx) {
registerSkill('generate-deck', async ({ product, audience }) => {
const slides = await ctx.llm.chat(
'为以下产品生成 8 页产品方案 PPT 大纲',
JSON.stringify({ product, audience })
);
const ppt = await ctx.tools.call('ppt-builder', { outline: slides.text });
ctx.logger.info('PPT 生成完成', { slides: ppt.slideCount });
return { filePath: ppt.filePath };
});
},
});SDK 核心模块
- ctx.llm:调用本地或云端大模型
- ctx.fs:读写本地文件
- ctx.tools:调用其他插件或系统工具
- ctx.logger:写入审计日志
- ctx.ui:注册自定义面板或通知
CLI 工具
使用 npx @lokospace/cli 可以初始化插件模板、本地调试、打包与发布。CLI 会模拟 LokoSpace 运行环境,让你在没有完整桌面客户端的情况下也能开发插件。
常用命令
npx @lokospace/cli create my-plugin
cd my-plugin
npm install
npx @lokospace/cli dev
npx @lokospace/cli build
npx @lokospace/cli publish命令说明
- create:根据模板创建新插件
- dev:启动热重载调试环境
- test:运行插件单元测试
- build:编译并打包 .fbplugin
- publish:提交到 Loko Mart 市场审核
发布到 Loko Mart
插件打包为 .fbplugin 文件后,可通过开发者后台提交审核。审核通过后,所有 LokoSpace 用户都能在资源市场中搜索、安装并使用你的插件。
审核标准
- manifest.json 完整且字段符合规范
- 插件代码无恶意行为与过度权限申请
- README 包含功能说明与使用示例
- 提供至少一个可运行的示例任务
- 版本号遵循 SemVer 规范
分发与更新
审核通过后,插件会出现在 Loko Mart 市场中。用户安装后,LokoSpace 会自动检测更新并提示升级。你可以在开发者后台查看安装量、评分和错误报告。