奥斯提亚扩展 SDK
写入扩展名 奥斯提亚:客户端库及其类型, 显示文件的 JSON Schemas 、 新建扩展工程的生成器和命令 检查Ostia的扩展方式.
扩展名是一个带有 ostia.json 显示,通常为a main.js 奥斯提亚开始于
它自己的过程。 这个过程通过一个本地套接字与奥斯提亚交谈;这个SDK包了协议.
合同满了 文件/延期。 。 。 .
开始一个新的扩展名
pnpm dlx @aurigax-ai/ostia-extension-sdk create weather
cd weather
pnpm install
pnpm validate # builds dist/weather and checks it the way Ostia will
create <id> [folder] 写一个小的 TypeScript 项目: a ostia.json 用你的id,一个命令英寸
src/main.ts将它捆绑在一起的建筑 main.js和这个SDK作为一个 dev 依赖.
Id是2到40个小写字母,数字或破折号;它成为 ostia <id> ... 命令.
dist/weather 是扩展名。 要尝试它,复制文件夹到
~/.config/ostia/extensions/weather奥斯提亚在一瞬间就注意到 请你批准它.
然后运行 ostia weather greet you 在相框中,或从调色板上取出"Weather: Greet".
该项目本身翻译如下: locales/zh-Hant.json 将显示的字符串和消息保存在
传统汉语, locales/en.json 其英文信息,以及 src/main.ts 输入答案
调用语言 createTranslator()中的“翻译”
文件/延期。 。 。 .
奥斯提亚从不运行一个构建,一个软件包管理器或一个扩展的脚本,所以船装一个
main.js,作为生成 build.mjs 已经.
添加到现有项目中
pnpm add -D @aurigax-ai/ostia-extension-sdk
包被构建:没有安装脚本可以批准. 它需要节点20或更新.
包裹里有什么
| 导入 | 这是什么 |
|---|---|
@aurigax-ai/ostia-extension-sdk | connect() 编辑 OstiaExtension API:命令,事件,边栏项目,平板芯片,设置,秘密,通知,面板,diff,终端,人的语言, createTranslator, (中文(简体) ), runTool, (中文(简体) ), startPanelServer, (中文(简体) ), onShutdown |
@aurigax-ai/ostia-extension-sdk/panel | 对于面板内的页面: call, (中文(简体) ), onChange, (中文(简体) ), context, (中文(简体) ), h, (中文(简体) ), icon面板大小 |
@aurigax-ai/ostia-extension-sdk/splitter | 面板页面可调整分页 |
@aurigax-ai/ostia-extension-sdk/atomicWrite | writeFileAtomic 财务报告和审定财务报表 writeFileAtomicAsync: 将一个重命名中的文件替换为从开始起设置的文件和文件夹模式 |
@aurigax-ai/ostia-extension-sdk/panel.css | 奥斯提亚主题变量的基础面板样式 |
@aurigax-ai/ostia-extension-sdk/assist | 奥斯提亚助手背后的引擎. 给 runAssistExtension (单位:千美元) ProviderCatalog 以服务聊天、完成和迅速从自己的模式提供者获得帮助。 需求 ai, (中文(简体) ), zod, (中文(简体) ), @ai-sdk-tool/parser 财务报告和审定财务报表 undici 已安装 |
schemas/ostia.schema.json | JSON Schema 延长清单ostia.json(中文(简体) ) |
schemas/ostia-marketplace.schema.json | JSON Schema 市场清单ostia-marketplace.json(中文(简体) ) |
从清单中指向你的编辑
{ "$schema": "./node_modules/@aurigax-ai/ostia-extension-sdk/schemas/ostia.schema.json" }
计程器在输入时捕获形状错误 . ostia-extension validate 是权威:
在加载扩展时运行相同的检查 Ostia 运行 .
检查扩展或市场
pnpm exec ostia-extension validate dist/weather # one extension folder
pnpm exec ostia-extension validate . # a marketplace: a folder with ostia-marketplace.json
pnpm exec ostia-extension unlist extensions/weather # hide it in Ostia: installable only by the printed code
当Ostia接受它时,它退出0, 并打印每个问题一行。 为了延期
还检查市场安装需要什么: 普通文件,最多8000个文件和
50 MiB. 在您公布的文件夹上运行, 而不是在保存的项目文件夹上运行 node_modules。 。 。 .
发布
市场是拥有 ostia-marketplace.json 列出扩展文件夹.
将您已建的文件夹提交到一个文件夹中, 人们会在设置 → 下在 Ostia 中添加仓库
分机 —— 市场。 见“市场” 文件/延期。 。 。 .
来源
dist/ 是您导入的 : SDK 被捆绑到一些平面的, 未忽略的 JavaScript 文件 .
src/ 保存它创建的 TypeScript , 其路径与 packages/extension-sdk 联 合 国
奥斯提亚存储器src/client 是图书馆, src/assist 辅助引擎, src/contract
合同类型, src/manifest 载具和 ostia-extension 运行的命令
) (中文(简体) ). 它在那里读。 SDK是开发的
内 奥斯提亚寄存器 在每期发行中,都加以阐述,
所以SDK和应用程序不能分开 报告存放处的问题.
版本数
两个数字很重要:
- 扩展 API 版本 (单位:千美元)
EXTENSION_API_VERSION, (中文(简体) ),ostiaExtensionApi内package.json, (中文(简体) ),api.json合同的版本,major.minor把它放在您的清单中"api"。 。 。 . 未成年人增加东西,保持每个现有的扩展工作;Ostia提供准确的一条 专业 奥斯提亚拒绝延期api它不提供,和connect()拒绝 运行一个比它建造的SDK更老的应用程序. - 软件包版本:Ostia这个SDK的版本由来.
许可证
麻省理工学院