Plug-In: AFM • Prompt Tester
REQUIRES: macOS 26, iOS 26, iPados 26, visionOS 26 • OmniFocus 4.8
This plug-in will display a text input, into which you enter a prompt for the Apple Foundation Models. The response will be logged to the application console window.
(⬇ see below ) Prompt Tester plug-in on the Automation Console toolbar:
ALM • Prompt Tester/*{"type": "action","targets": ["omnifocus","omnioutliner","omniplan","omnigraffle"],"author": "Otto Automator","identifier": "com.omni-automation.all.prompt-tester","version": "1.1","description": "This plug-in will display a text input, into which you enter a prompt for the Apple Foundation Models. The response will be logged to the application console window.","label": "Prompt Tester","shortLabel": "Prompt Tester","paletteLabel": "Prompt Tester","image": "apple.intelligence"}*/(() => {var preferences = new Preferences() // NO ID = PLUG-IN IDconst action = new PlugIn.Action(async function(selection, sender){try {storedPrompt = preferences.readString("storedPrompt")if(!storedPrompt){storedPrompt = "PROMPT-GOES-HERE"}shouldUsePasteboard = preferences.readBoolean("shouldUsePasteboard")if(!shouldUsePasteboard instanceof Boolean){shouldUsePasteboard = false}inputForm = new Form()textField = new Form.Field.String("textInputValue",null,storedPrompt)checkSwitchField = new Form.Field.Checkbox("shouldUsePasteboard","Use clipboard text for prompt",shouldUsePasteboard)inputForm.addField(textField)inputForm.addField(checkSwitchField)inputForm.validate = function(formObject){shouldUsePasteboard = formObject.values["shouldUsePasteboard"]if(shouldUsePasteboard){if(!Pasteboard.general.hasStrings){throw "No text on clipboard"}return true}textValue = formObject.values["textInputValue"]textStatus = (textValue && textValue.length > 0) ? true:falsereturn textStatus}formPrompt = "Enter prompt:"formObject = await inputForm.show(formPrompt, "Continue")shouldUsePasteboard = formObject.values["shouldUsePasteboard"]console.log("PROMPT:", prompt)if(shouldUsePasteboard){var prompt = Pasteboard.general.stringpreferences.write("shouldUsePasteboard", true)} else {var prompt = formObject.values["textInputValue"]preferences.write("shouldUsePasteboard", false)}preferences.write("storedPrompt", prompt)console.log("PROMPT:", prompt)session = new LanguageModel.Session()response = await session.respond(prompt)console.log("RESPONSE:", response)}catch(err){if(!err.causedByUserCancelling){console.error(err.name, err.message)new Alert(err.name, err.message).show()}}});action.validate = function(selection, sender){return (Device.current.operatingSystemVersion.atLeast(new Version("26")))};return action;})();