AMP 插件 API
Amp 插件是扩展和自定义的 TypeScript 文件 倾角。 。 。 .
插件可以:
- 处理事件 —— 说
amp.on(...)工具呼叫、工具结果和代理生命周期事件 - 添加工具 —— 说
amp.registerTool(...)对于自定义工具,代理可以调用 - 捆绑技能 —— 说
await amp.registerSkill(...)以注册技能目录 - 添加命令 —— 说
amp.registerCommand(...)用于命令调色板动作 - 显示用户界面 —— 说
ctx.ui.notify(...), (中文(简体) ),ctx.ui.confirm(...), (中文(简体) ),ctx.ui.input(...),以及ctx.ui.select(...) - 使用人工智能 —— 说
amp.ai.ask(...)默认为无 推理,除非{ reasoningEffort }设定 - 快决定 —— 说
amp.ai.decide(...), (中文(简体) ),amp.ai.choice(...), (中文(简体) ),amp.ai.noul(...),以及amp.ai.score(...)用于输入有校正概率且未生成文本的决定, 由 TypeSafe 的 Jev 或 OpenAI 的决定 API 回答{ model: 'openai/gpt-6-luna' } - 标签线索 —— 说
ctx.thread.labels(), (中文(简体) ),ctx.thread.addLabels(...),以及ctx.thread.setLabels(...)读取并更改当前线索的标签 - 上传附件 —— 说
amp.attachments.upload(...)上传图像字节并返回 URL 用于支持 URL{ type: 'image', mimeType, url }工具结果块,保留大图像 线程状态
地点
从三个位置装入 AMP 插件 :
- 项目插件 —— 说
.amp/plugins/*.ts - 系统插件 —— 说
~/.config/amp/plugins/*.ts - 全局插件 ——在工作空间设置中配置(有限实验发布)
最小插件
import type { PluginAPI } from '@ampcode/plugin'
export const description = 'Shows a notification when a thread session starts'
export default function (amp: PluginAPI) {
amp.logger.log('Plugin initialized')
amp.on('session.start', async (event, ctx) => {
await ctx.ui.notify(`Thread ${event.thread.id} started.`)
})
}
可选 description 命名导出必须是最多300个字符的静态字符串.
Amp在插件设置中显示,并忽略了缺失,动态,或更长的值.
导出函数中的代码在插件加载时运行. 使用 session.start 仅用于 Amp 启动特定线程时应当运行的工作.
更改插件后, 打开命令调色板并运行 plugins: reload,或重新启动 Amp.
文档
- 插件指南和工作实例 : https://ampcode.com/docs/customize/plugins 页面存档备份,存于互联网档案馆
- 满
@ampcode/plugin类型参考和一个完整的厨房-下沉示例: https://ampcode.com/docs/plugin-api (英语)
插件执行代码,所以只使用您信任的人的插件和工作空间.
承认
Amp 的插件 API 灵感来自 pi 的扩展 API,由马里奥·泽克纳所创建.