AI SDK
提供统一的 AI 模型配置中心,支持各大主流 AI 模型,一次配置处处可用,无需重复设定 API Key。
注意:此功能需要在 Eagle 5.0 Beta 以上版本才能使用(目前尚未发布,详细发布时间请关注 Eagle 官网)

AI SDK 依赖插件简介
「AI SDK 依赖插件」是一款面向浏览器插件开发者的开发工具包,提供统一的 AI 模型配置中心,支持各大主流 AI 模型,一次配置,处处可用。此工具包让开发者能在自身的插件中轻松实现文本生成、结构化对象生成以及流式处理等 AI 功能。通过集成「AI SDK 依赖插件」,开发者可无缝拓展其插件的 AI 处理能力,为用户带来更多智能化和实用性的功能。
统一配置中心:一次设定,处处可用
AI SDK 插件提供了统一的 AI 模型配置中心,支援:
商业模型:
OpenAI(GPT-4、GPT-4 Vision)
Anthropic Claude(Claude 3 Opus、Claude 3.5 Sonnet)
Google Gemini(Gemini Pro、Gemini Ultra)
DeepSeek(DeepSeek Chat、DeepSeek Coder)
阿里 Qwen(通义千问)
本地模型(完全离线运行):
Ollama(支援 Llama 3、Mistral、Phi-3 等)
LM Studio(图形化界面,新手友好)
配置一次后,所有 AI 相关插件都能直接使用,无需重复设定。例如:今天你安装了「AI 翻译」与「AI 重命名」插件,它们都会自动共用你在 SDK 里填好的配置,甚至可以各自选择不同的模型,而不需要你再次输入 API Key。

开放的开发环境
基于 ai-sdk.dev 标准(AI SDK v5),AI SDK 插件为开发者提供了一组干净、稳定的基础设施。开发者不用再花心力处理 API Key 储存、模型切换、错误重试等基础配置,可以专注于插件的功能创新。唯一的区别在于 Provider 的获取方式,我们使用自己开发的 Provider 来确保更好的稳定性和用户体验。
版本兼容性:此插件基于 AI SDK v5 构建。如果您熟悉较新版本(v6、v7 等)的 AI SDK,请注意某些 API 或功能可能会有所不同。请务必参考此文档以了解在 Eagle 生态系统中的正确使用方法。
安装 AI SDK 依赖插件
进入插件中心
搜索并找到 AI SDK 插件
点击安装 AI SDK 插件
如何使用 AI SDK 依赖插件
如果你希望在你的插件中使用 AI SDK 相关功能,你需要在插件的 manifest.json
文件中添加 dependencies
定义,让 Eagle 系统知道这个插件需要额外的扩展功能,示例如下:
{
"id": "LBCZE8V6LPCKD",
"version": "1.0.0",
"platform": "all",
"arch": "all",
"name": "窗口插件",
"logo": "/logo.png",
"keywords": [],
"dependencies": ["ai-sdk"],
"devTools": false,
"main":
{
"url": "index.html",
"width": 640,
"height": 480,
}
}
窗口插件示例
你可以使用 eagle.extraModule.ai
来调用 AI SDK 依赖插件提供的功能。以下是各种使用方式的示例:
generateText() - 基本文本生成
eagle.onPluginCreate(async (plugin) => {
// 获取 AI 模块和 Provider
const ai = eagle.extraModule.ai;
const { openai, anthropic, gemini, deepseek, qwen, ollama, lmstudio } = await ai.getProviders();
const { generateText } = ai;
// 基本文本生成
const result = await generateText({
model: openai("gpt-5"),
prompt: "请帮我写一个关于数字艺术的创意简介",
});
console.log(result.text);
});
generateObject() - 结构化对象生成
eagle.onPluginCreate(async (plugin) => {
const ai = eagle.extraModule.ai;
const { openai } = await ai.getProviders();
const { generateObject } = ai;
// 生成结构化数据
const result = await generateObject({
model: anthropic("claude-4-sonnet"),
schema: {
type: "object",
properties: {
tags: {
type: "array",
items: {
type: "object",
properties: {
name: { type: "string" },
reason: { type: "string" },
},
},
},
description: { type: "string" },
},
},
messages: [
{
role: "system",
content: "你是一个专业的图像分析专家,能够准确识别图像内容并给出合适的标签和描述。",
},
{
role: "user",
content: [
{
type: "text",
text: "请分析这张图片并给出5个相关标签,每个标签需要说明原因,同时提供一个简洁的图片描述。",
},
{
type: "image",
image: "https://example.com/sample-image.jpg",
},
],
},
],
});
console.log("标签:", result.object.tags);
console.log("描述:", result.object.description);
});
streamText() - 流式文本生成
eagle.onPluginCreate(async (plugin) => {
const ai = eagle.extraModule.ai;
const { openai } = await ai.getProviders();
const { streamText } = ai;
// 流式生成文本,适合实时显示
const { textStream } = await streamText({
model: gemini("gemini-2.0-flash-exp"),
prompt: "请详细介绍数字艺术的发展历程和主要特点",
});
// 逐步接收并显示生成的文字
for await (const textPart of textStream) {
console.log(textPart);
}
});
streamObject() - 流式对象生成
eagle.onPluginCreate(async (plugin) => {
const ai = eagle.extraModule.ai;
const { openai } = await ai.getProviders();
const { streamObject } = ai;
// 流式生成结构化对象
const { partialObjectStream } = await streamObject({
model: deepseek("deepseek-chat"),
schema: {
type: "object",
properties: {
analysis: {
type: "object",
properties: {
colors: {
type: "array",
items: { type: "string" }
},
style: { type: "string" },
mood: { type: "string" },
suggestions: {
type: "array",
items: { type: "string" }
}
}
}
},
},
messages: [
{
role: "system",
content: "你是一个艺术评论家,能够深入分析艺术作品的色彩、风格、情感和改进建议。",
},
{
role: "user",
content: "请分析这件艺术作品的色彩搭配、艺术风格、传达的情感,并提供改进建议。",
},
],
});
// 逐步接收部分对象
for await (const partialObject of partialObjectStream) {
console.log("当前分析结果:", partialObject);
}
});
最后更新于