AgiMate Desktop connector

Connects your computer to your agents. Folder changes and quick-button presses become triggers for the agent, and actions on the computer become its tools.

How it works

The connector lives in the system tray. It passes events from your computer to the agent and runs the agent's tool calls.

Computer
Folders and quick buttons
HTTP ↑ / WebSocket ↓
Desktop connector
Tray icon, runs in the background
Your agent
Decides what to do
1

Something happens on the computer

A file shows up in a watched folder or you press a quick button. A trigger plugin notices it.

2

The connector sends the event

The event goes to the platform over HTTPS: the trigger name, the time and the data, such as a file path.

3

The agent gets the event

The platform passes it to the agents that have access to this computer.

4

The agent calls a tool

The call arrives over WebSocket: show a notification, take a screenshot, read text aloud. The connector runs it and sends the result back to the agent.

What comes built in

Built-in triggers and tools. Each one is switched on separately in the settings.

Triggers

Folder watching

A file appeared, changed, was deleted or moved. Out of the box the connector watches for new files in Downloads.

  • Any folders, with subfolders if you like
  • Filter by mask: *.pdf, *.xlsx
  • The event carries the path, name, size and kind of change
  • Example: an invoice lands in Downloads → the agent creates a task to pay it

Quick buttons

A window of buttons, each sending the agent an event. Handy for requests you make every day.

  • A button fires at once or asks for text first
  • The number of columns is adjustable
  • Buttons are described in JSON right in the window
  • Example: "Note" → you type the text → the agent saves it to Notion

Agent tools

Notifications

An ordinary system notification, or a window you have to close yourself so it cannot be missed.

  • Title and text
  • A duration for the system notification
  • Example: the agent found a mistake in a report → a window on top of everything

Read aloud

The computer reads text aloud with the built-in speech engine. The agent can also stop it.

  • macOS: say, with a choice of voice and rate
  • Windows: SAPI through PowerShell
  • Linux: espeak or spd-say
  • Example: the agent reminds you out loud of a call in five minutes

Your own plugins

Every trigger and tool is a plugin: a folder with plugin.py and config.json. You write your own in Python.

Trigger plugin

Watches something on the computer and sends the agent an event.

Computer → agentFolders, quick buttons

Tool plugin

Runs the agent's call on the computer and returns the result.

Agent → computerNotifications, speech, screenshots
Direction
Trigger
Computer → agent
Tool
Agent → computer
What it does
Trigger
Sends an event
Tool
Runs a call
Built in
Trigger
Folders, quick buttons
Tool
Notifications, speech, screenshots, windows, files, system
Base class
Trigger
TriggerPlugin
Tool
ToolPlugin
Trigger example (Python)
from core.plugin_base import TriggerPlugin

class MyTrigger(TriggerPlugin):
    @property
    def name(self) -> str:
        return "My trigger"

    async def initialize(self) -> None:
        pass

    async def shutdown(self) -> None:
        pass

    async def start(self) -> None:
        # Start watching; an event is sent like this:
        self.emit_event("my_event", {"value": 42})

    async def stop(self) -> None:
        # Stop watching
        pass
Tool example (Python)
from core.models import ToolResult
from core.plugin_base import ToolPlugin

class MyTool(ToolPlugin):
    @property
    def name(self) -> str:
        return "My tool"

    async def initialize(self) -> None:
        pass

    async def shutdown(self) -> None:
        pass

    def get_supported_tools(self) -> list[str]:
        return ["my_tool"]

    async def execute(self, tool_type: str,
                      parameters: dict) -> ToolResult:
        # Run the call
        return ToolResult(success=True, data={"ok": True})

What you can hand over

Scenarios built from the built-in triggers and tools

Documents from Downloads

A PDF lands in Downloads. The agent sees the file name, creates a task on the board and shows a notification.

New file→Task→Notification

Notes with one button

The "Note" button asks for text and sends it to the agent. The agent saves it to a service it has access to.

Button→Text→Notion

Urgent things out loud

The agent decides an event is urgent, say an email from a client. It reads it aloud and shows a window that will not go away by itself.

Urgent event→Voice→Window

What is on my screen

You write to the agent in chat: "look at this error". It captures the active window and answers from the picture.

Question in chat→Screenshot→Answer

Keeping an eye on the machine

The agent checks disks and memory on a schedule and warns you when space runs low.

Check→Disks and memory→Warning

Buttons for frequent requests

"Put together today's report", "What do I have tomorrow?" — one button instead of typing to the agent every time.

Button→Agent→Answer

Under the hood

Technical details

PlatformsWindows, macOS, Linux
Built withPython 3.11+, Qt 6 (PySide6)
Platform linkHTTPS + WebSocket (Centrifugo)
ReconnectingWith growing pauses, up to 10 attempts
MCPBuilt-in local MCP server with the same tools
PluginsA folder with plugin.py and config.json, the config is checked on load

Interface

A tray icon and a settings window

Tray icon

Shows whether the connector is connected.

  • Two icon states: connected and not connected
  • Details in the tooltip on hover
  • The menu: connect or disconnect, settings

Connection

The link to the platform.

  • Server address and Device Key
  • Linking the device
  • Connecting at startup
  • Reconnect interval

Plugins

Triggers and tools.

  • Built-in and your own plugins
  • Switched on with one checkbox
  • Each plugin's settings in JSON

Getting started

Three steps from download to the first event

1

Download the connector

Pick your platform.

2

Paste the key

In the dashboard, under Apps, create an app and copy its key. In the connector's settings, paste it into Device Key along with the server address and link the device.

3

Switch on plugins

Tick the triggers and tools you need. The connector runs in the background, you can close the window.

Download the AgiMate Desktop connector

Free and open source. Windows, macOS and Linux.