插件与技能
插件
什么是插件?
插件是在运行时扩展 Neotask 功能的 TypeScript 模块。它们可以添加新的消息频道、代理工具、RPC 方法、CLI 命令、后台服务和技能。
官方插件
消息频道:
- Microsoft Teams、Matrix、Nostr、Zalo、Feishu/Lark、LINE、Nextcloud Talk、Mattermost、Tlon、Twitch
功能:
- Voice Call -- 用于来电/去电的 SIP 电话支持
- Memory (LanceDB) -- 带向量相似性搜索的长期记忆
- MCP Native -- Model Context Protocol 服务器集成,用于桥接外部工具
认证提供商:
- Google Antigravity OAuth、Gemini CLI OAuth、Qwen OAuth、Minimax OAuth、VS Code Copilot Proxy
插件功能
插件可以注册:
- RPC 方法 -- 客户端可以调用的自定义 WebSocket 方法
- HTTP 处理器 -- Gateway 上的自定义 HTTP 端点
- 代理工具 -- 具有类型化模式的新工具,代理可以调用
- CLI 命令 -- 额外的命令行命令
- 后台服务 -- 由 Gateway 管理的长期运行进程
- 技能 -- 与插件捆绑的技能目录
- 自动回复命令 -- 无需 AI 代理参与即可执行的命令
插件安全
Neotask 会在插件运行前进行多层检查:
- 签名并验证。 公共 Construct 目录中的软件包由 Neotask 发布,发布前会自动检查,并使用 Neotask 的发布密钥签名。安装前,Neotask 会用内置于 Neotask 的密钥校验签名,并验证下载文件的 SHA-256 哈希。
- 不运行安装脚本。 Construct 软件包自带依赖,因此安装时绝不会运行包管理器或安装脚本。其他插件安装使用 npm 时,安装脚本处于关闭状态。
- 安装时扫描。 从 Construct 以外安装的插件会接受危险代码扫描,发现严重问题时会阻止安装。
- 按版本授权。 只有当您的账户持有该版本的有效授权时,Construct 插件才会加载。已撤销的版本不会加载。
- 代理操作需要审批。 代理的工具调用(包括插件添加的工具)都会按照您的审批策略进行检查,需要您确认的操作会等待您的批准。代理如果要在 Neotask 自带的安装方案之外安装软件,总会向您显示确切的命令并等待您的批准。
- 可选沙箱。 您可以让代理的工具在隔离的 Docker 容器中运行,而不是直接在您的电脑上运行。沙箱默认关闭;开启方法请参阅安全。
原生插件在 Gateway 进程内运行,因此从 Construct 以外安装的插件是您选择运行的代码。使用 plugins.allow 列出允许加载的插件。
技能
什么是技能?
技能是教代理新工作流的模块化功能。每个技能是一个 markdown 文件(SKILL.md),包含在相关时注入代理上下文的指令。
技能位置(优先级顺序)
- 工作空间技能 --
<workspace>/skills/(最高优先级) - 托管技能 --
~/.neotask/skills/ - 捆绑技能 -- 随 Neotask 附带
- 插件技能 -- 与已安装插件打包的技能
- 额外目录 -- 额外配置的路径(最低优先级)
当多个技能同名时,最高优先级的位置获胜。
技能功能
- 用户可调用 -- 通过斜杠命令直接触发技能(例如
/docker-build) - 模型可调用 -- 代理在相关时可以自行调用的技能
- 命令分发 -- 映射到特定工具的技能
- 需求门控 -- 技能仅在满足需求时加载(所需的二进制文件、配置键、环境变量、插件)
创建技能
创建一个带有 YAML 前置信息的 SKILL.md 文件,定义技能的元数据和指令:
前置信息字段:
name-- 技能标识符description-- 技能的功能描述homepage-- 文档链接user-invocable-- 用户是否可以直接触发disable-model-invocation-- 防止代理自主调用command-dispatch-- 要分发到的工具metadata.neotask.requires-- 先决条件(二进制文件、配置、环境、插件)
正文: 教代理如何使用技能的 Markdown 指令,包括示例和指南。
技能目录
在技能目录中浏览可用技能。
技能类别
技能涵盖广泛的功能:
| 类别 | 示例 |
|---|---|
| 生产力 | 邮件管理、日历、文档生成 |
| 开发 | Git 操作、CI/CD、Docker、代码审查 |
| 通信 | 消息、通知、公告 |
| 媒体 | 图像处理、视频编辑、音频转录 |
| AI 与模型 | 模型切换、提示管理、RAG |
| 智能家居 | IoT 设备控制、自动化触发器 |
| 工具 | 文件转换、数据转换、网页抓取 |