ajazz-plugin-sdk
v0.2.0
Published
AJAZZ desktop plugin SDK — provides runtime API to communicate with the host application from a plugin.
Readme
ajazz-plugin-sdk
AJAZZ 桌面客户端插件 SDK。
安装
npm i ajazz-plugin-sdk使用
import { plugin, voice, on } from 'ajazz-plugin-sdk'
plugin.onReady((info) => {
plugin.log('info', `hello from ${info.id}`)
})
voice.onAsr((r) => {
if (r.final) plugin.notify('识别结果', r.text)
})API
plugin.info/plugin.onReady/plugin.onSettingsOpen/plugin.onDisableplugin.log(level, msg)/plugin.notify(title, body)plugin.sendToBackground(channel, payload)/plugin.onMessage(fn)— popup ↔ background 双向通信voice.onData(fn)/voice.onAsr(fn)— 订阅 PCM / ASR 结果(每插件独立派发)device.list()— 获取已连接的鼠标设备:{ vendorId, productId, path, name }[]device.getDpi(deviceId)— 读取当前 DPI 档位与该设备的 DPI 限制:{ dpi_number, dpi_step, dpi_min, dpi_max },便于插件按设备的传感器规格做 UI 限制device.setDpi(deviceId, { dpi_number })— 设置当前 DPI 档位的 DPI 值; 超出[dpi_min, dpi_max]时主程序会拒绝,未对齐到dpi_step时会向下取整到最近一档config.get(key)/config.set(key, value)window.openPopup(opts)/window.closePopup()system.spawn(cmd, args?, cwd?)invoke(method, ...args)通用 RPC;可直接调用electron.shell.openExternal等 host 方法
详细文档见 document/ 站点。
发布到 npm
在 npmjs.com 注册账号,并在本机登录:
npm login包名为 无作用域
ajazz-plugin-sdk,需满足 npm 对发布账号的 2FA / token 要求。在
sdk目录执行(已配置publishConfig.access: public):cd sdk npm install npm publish --access publicprepublishOnly会自动执行npm run build。之后升级版本号(如
npm version patch)再npm publish。
