OpenAI Chat API Workflow for Alfred: a Mac-only GPT client that runs its own local web UI
🎩 An Alfred 5 Workflow for using OpenAI Chat API to interact with GPT models 🤖💬 It also allows image generation/editing/understanding 🖼️, speech-to-text conversion 🎤, and text-to-speech synthesis 🔈
At a glance
- What is it?
- The workflow turns Alfred 5 into a front end for the OpenAI Chat API, with file understanding, image generation, speech-to-text and text-to-speech. It is a good fit if you already pay for Alfred Powerpack and want your chats stored on your own disk.
- Who is it for?
- Adopt it if you already run Alfred 5 with the Powerpack on macOS, want a local web UI for GPT models, and prefer exporting conversations as JSON over keeping them in a vendor account. Skip it if you need Windows or Linux support, if you cannot install Alfred, or if you want a hosted team workspace with shared history.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly Ruby, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What the Alfred workflow actually replaces
Most people meet GPT models through a browser tab. This project takes a different route: it is an Alfred 5 workflow, so the entry point is a hotkey or a keyword typed into Alfred, not a website. The README describes four ways to reach the same features, the Alfred UI, selected text, a dedicated web UI, and file input through Alfred's Universal Action menu. The web UI is built by the workflow itself and runs locally on the Mac.
The audience is narrow and specific. You need macOS, Alfred 5 with the Powerpack, and an OpenAI API key. The README states that no external dependencies such as Homebrew are required and that all features work out of the box, which matters because many Alfred workflows ask you to install a language runtime or a CLI tool first. The trade-off is that the workflow is tied to one launcher on one operating system. If you do not already use Alfred, this project is not a reason to start; the same API calls are available from a terminal or a small script.
How the workflow talks to OpenAI
The architecture is local-first. The README says the API call is made directly between the workflow and OpenAI, so chat messages are not routed through any third-party server. That is a real difference from a hosted chat client, where the request passes through the vendor's infrastructure before reaching OpenAI.
The web UI is generated by the workflow and served on the same machine. Conversations are rendered on a single scrollable page so the full context stays visible, and the README notes that chat data can be exported to a simple JSON file and imported later to continue the conversation. That export path is the real storage story here: there is no account, no sync service, and no server-side history to lose access to. If you want a transcript, you keep the file.
File handling changed in version 5.0.0. According to the changelog, file input goes through the OpenAI Files API using a `file_id` reference, covering images, PDFs, Office documents, text and code. The same entry says uploaded files are automatically deleted from OpenAI's storage after each response. That is a design decision worth noting: the upload still leaves your machine, but the workflow tries not to leave a copy behind on OpenAI's side. The README also states that OpenAI does not use API Platform data for training, which is the platform's stated policy rather than something this workflow enforces.
Installing the workflow and sending a first message
The README gives three installation steps. First, download and run the `.alfredworkflow` file, which is committed to the repository root. Second, set your OpenAI API key. Third, enable accessibility permissions for Alfred under System Preferences, Security & Privacy, Privacy, Accessibility. The workflow file is version `5.6.0` at the download link in the README.
There is no package manager step. You can fetch the file with curl if you prefer not to click the link:
curl -L -o openai-chat-api.alfredworkflow \
https://github.com/yohasebe/openai-chat-api-workflow/raw/main/openai-chat-api.alfredworkflowOpening that file hands it to Alfred, which installs the workflow. The API key is not typed into a config file; the README says you must set the environment variable `apikey` in the workflow's configuration. In Alfred's workflow settings, that means adding a workflow variable named `apikey` with your key as the value.
After that, the README recommends assigning hotkeys by double-clicking the light purple workflow elements in the settings screen. The list it gives is: Open Web UI (recommended), Direct Query, Send Selected Text, Screen Capture for Image Editing, Screen Capture for Image Understanding, Speech to Text, and Text to Speech (Selected text). There is also a separate Stop text-to-speech playback command, and the README notes it currently needs a hotkey different from the Text to Speech command.
The fastest first use is Open Web UI. Assign it a hotkey, trigger it, and the workflow builds the local page and opens it. From there you pick a model and type a prompt. On a fresh install the changelog says the default chat model is `gpt-5.6-luna` and the default reasoning effort is `none`, so the first reply should come back without any extra configuration.
Where the workflow gets in your way
The dependency list is short but strict. Alfred 5 Powerpack is a paid upgrade, so this is not a free tool even before you pay for API usage. The README lists the Powerpack and an OpenAI API key as the only dependencies, and it does not describe any fallback for users without either.
The second constraint is that everything runs on macOS. The README does not mention Windows, Linux, or a browser-only mode. If your team is mixed-platform, this workflow cannot be the shared tool.
Third, the project has moved fast enough that model names churn. The changelog shows defaults changing repeatedly: `gpt-5-mini` to `gpt-5.4-mini` in 5.1.0, then to `gpt-5.6-luna` in 5.5.0, with `gpt-6-astra` added as an option in 5.6.0. Several 5.6.0 entries are fixes for exactly this problem, including settings that had been left pointing at a model that no longer exists and now fall back to a working one. If you pin a model in your own notes, expect to revisit it.
Fourth, the README documents export and import of chat data as JSON, but it does not document rollback, a versioned migration path for older exports, or what happens to an in-progress conversation when the workflow is updated. Treat your exported JSON as the durable artifact and verify that an old export still imports after a major version bump before you rely on it.
How it compares with a plain OpenAI API client
The obvious alternative is calling the Chat API yourself from a script or a notebook. That approach gives you full control over the request body, retries, logging and model selection, and it runs anywhere Python or curl runs. What it does not give you is a UI. You would be writing the file upload handling, the image display, the audio capture and the streaming renderer yourself.
A second comparison point is the official web interface. It is free to use, works on any platform, and keeps history in an account. This workflow trades that convenience for locality: the README states the web UI runs locally on the Mac and that API calls go straight to OpenAI. The cost model is also different. The web interface is a subscription; this workflow bills per token against your own API key, which is cheaper for light use and more expensive for heavy use.
The third difference is file handling. In version 5.0.0 the workflow moved to the OpenAI Files API with `file_id` references and deletes uploads after each response. A hand-rolled client would need to implement that upload and cleanup itself, and most scripts simply do not bother.
Maintenance, upgrades and the MIT licence
The repository is not archived and the last push was on 2026-09-07, so the codebase has been touched recently. That is the only maintenance signal available here; there is no release feed, and the README's changelog is the place where version history is recorded.
Upgrades are manual. The changelog for 5.3.0 states that the `check-for-update` keyword and the Web UI's Check for Update button were removed, and the README now says to download the latest version from the link above. Practically, that means version drift is on you. If you install once and forget, you will keep running whatever `.alfredworkflow` you downloaded, including any model names that OpenAI later retires. The 5.6.0 fallback logic reduces the blast radius of a retired model, but it does not update the workflow.
The project is MIT licensed. In plain terms, that permits commercial and private use, modification and redistribution, provided the copyright notice and permission notice are kept. The licence covers this workflow's code, not your use of the OpenAI API, which is governed by OpenAI's own terms and pricing. Nothing here is legal advice; read the LICENSE file in the repository if the distinction matters to your organisation.
Editorial conclusion
Adopt it if you already run Alfred 5 with the Powerpack on macOS, want a local web UI for GPT models, and prefer exporting conversations as JSON over keeping them in a vendor account. Skip it if you need Windows or Linux support, if you cannot install Alfred, or if you want a hosted team workspace with shared history. Before installing, confirm the OpenAI API key is available and that the accessibility permission for Alfred can be granted in System Settings, because the README lists both as prerequisites and the workflow will not reach the API without them.
Frequently asked questions
What is an OpenAI API used for?
In this project it is used for chat with GPT models, file understanding for images, PDFs, Office documents and code, image generation, speech-to-text conversion and text-to-speech synthesis. The README lists all of these as features of the Alfred workflow, all reached through your own API key.
What is an API workflow?
Here it means an Alfred 5 workflow: a packaged set of hotkeys, keywords and actions that Alfred runs on your Mac. This one calls the OpenAI Chat API directly from the workflow and also builds a local web UI for longer conversations.
What is ChatGPT workflow?
The project is not ChatGPT itself; it is a client that sends your prompts to GPT models through the OpenAI Chat API using your own key. The README describes the entry points as the Alfred UI, selected text, and a dedicated local web UI.
Is OpenAI API the same as ChatGPT?
They are separate products. This workflow uses the API Platform, and the README states that OpenAI does not use API Platform data for training. Billing and access come from your own API key rather than a ChatGPT subscription.
Community notes