Skip to content

IPC Channels

All IPC handlers live in packages/desktop/src/main/ipc.ts. The context bridge in preload.ts exposes window.api to the renderer.

ai:*

ChannelDirectionDescription
ai:streamrenderer → mainStart a streaming AI request
ai:stream-chunkmain → rendererDelta text chunk from provider
ai:stream-donemain → rendererStream completed
ai:stream-errormain → rendererStream error
ai:list-modelsrenderer → mainFetch available models from provider
ai:abortrenderer → mainAbort active stream

mcp:*

ChannelDirectionDescription
mcp:list-toolsrenderer → mainList tools from all active MCP servers
mcp:call-toolrenderer → mainExecute a tool call
mcp:statusrenderer → mainGet connection status of all servers
mcp:refreshrenderer → mainRe-connect all servers

settings:*

ChannelDirectionDescription
settings:getrenderer → mainRead settings from electron-store
settings:setrenderer → mainWrite settings to electron-store
settings:open-filerenderer → mainOpen settings.json in the system default editor
settings:exportrenderer → mainExport settings to a user-chosen .json file
settings:importrenderer → mainImport settings from a .json file, merging with current

updater:*

ChannelDirectionDescription
updater:checkrenderer → mainCheck for updates via Cloudflare Worker GET /latest
updater:downloadrenderer → mainOpen download URL in system browser

feedback:*

ChannelDirectionDescription
feedback:submitrenderer → mainPost feedback to Cloudflare Worker POST /feedback → GitHub Issue

Released under the AGPLv3 License.