positron-apple-ai
v1.1.2
Published
> Note: v1.1.2 requires Positron v1.0.5+
Maintainers
Readme
Positron Apple AI Extension
Note: v1.1.2 requires Positron v1.0.5+
positron-apple-ai is a native stitched extension for Positron.js that allows your desktop applications to seamlessly interact with Apple Intelligence (via SystemLanguageModel) directly from your macOS device.
It exposes a simple command through Positron's IPC to generate AI responses using Apple's on-device models, while remaining a safe no-op on Windows.
Installation & Setup
To use this plugin in your Positron application, simply add it to your project dependencies:
npm i positron-apple-aiThen, trigger a Positron build:
npx positron buildIPC Communication Flow
- Frontend Request: Your JavaScript application sends a payload over Positron's IPC WebSocket server with the command
"apple-ai". - Native Execution:
- On macOS,
AppleAI.handle(windowId: args:)is invoked. It checks ifSystemLanguageModelis available and ready on the Mac. If it's ready, it starts an asynchronous task to evaluate the prompt. - On Windows, the C# implementation is a no-op because Apple Intelligence is exclusive to macOS.
- On macOS,
- Frontend Reply: Once the macOS model finishes generation, the native runtime sends an IPC response event back to your Node.js layer containing the model's generated text or an error message.
Example
const promptAppleAI = require("positron-apple-ai")
mainWindow.on("ready", () => {
// ARGS: window, prompt, config
const content = await promptAppleAI(mainWindow, "prompt here", {
instructions: "", // AI instructions
temp: 0.7, // AI temperature
timeout: 10000, // Max time to wait for a response
maxTokens: 1000 // Mak tokens allowed to generate
})
console.log(content)
})Potential Errors
The extension handles Apple Intelligence availability and may return one of the following errors if the model cannot be queried:
Device not eligible.Apple Intelligence not enabled.Model not ready.Prompt is required.
