Skip to content

Getting Started ​

Welcome to Aloha Desktop plugin development! This guide will walk you through creating your first plugin.

Video Tutorial ​

Watch this quick 15-minute tutorial on how to prototype your first AI app with Aloha Desktop:

Your First Plugin ​

This simplified approach is perfect for learning and for plugins that don't need NPM dependencies.

In this tutorial we'll create an extremely simple plugin that provides a sayHello tool, so that when you ask to greet someone it uses that tool.

Project Structure ​

Create a new directory for your plugin:

your-plugin/
├── src/
│   └── index.esm.js              # Main plugin entry point
├── public/
│   └── icon.svg                  # Plugin icon
└── manifest.json                 # Plugin manifest file

Step 1: Write Plugin Code ​

Create src/index.esm.js:

javascript
export default class SayHelloPlugin {
  constructor(context) {
    this.context = context // the plugin context allows interaction with the agent
  }

  async toolCall(toolName, args) {
    if (toolName !== 'sayHello') {
      throw new Error(`This tool is not available in **Concierge Plugin**`)
    }

    return `Hello my dear **${args.personName}!**`
  }
}

Step 2: Define Plugin Manifest ​

Create manifest.json to describe your plugin capabilities. This is crucial for AI to know in what circumstances it should use your plugin and what arguments are expected.

Note: The better you describe the tool and its parameters, the more accurately the AI will be able to use it.

json
{
  "manifestVersion": 1,
  "name": "Aloha Concierge Plugin",
  "version": "1.0.0",
  "description": "Greets new guests",
  "author": "Your Name",
  "icon": "public/icon.svg",
  "main": "src/index.esm.js",
  "tools": [
    {
      "name": "sayHello",
      "displayName": "Concierge",
      "description": "The agent can use this tool to greet the user",
      "parameters": {
        "type": "object",
        "required": ["personName"],
        "properties": {
          "personName": {
            "type": "string",
            "description": "Person to which say hello"
          }
        }
      }
    }
  ]
}

Step 3: Install the Plugin ​

In Aloha Desktop, navigate to the Plugins section and enable your plugin by clicking a toggle.

/img/plugins.png

Step 4: Use Your Plugin ​

Once enabled, the Aloha agent can automatically use your tool when appropriate. Try asking:

"Greet my friend Jason"

The agent will call your sayHello tool with the appropriate parameters.

/img/greeting-tool.png

Next Steps ​

Adding NPM Dependencies ​

If your plugin needs to use packages from NPM, you'll need to use a bundler. See Adding NPM Dependencies for details on using the vite-aloha template.

Publishing Your Plugin ​

Ready to share your plugin with others? Check out the Publishing Guide to learn how to make your plugin available in the Aloha Desktop marketplace.

Explore the SDK ​

Learn about advanced features:

See Examples ​

Check out real-world plugin examples to see different implementation patterns and best practices.