Skip to main content

SDK and CLI for building Horizon Desk AI Plugins

Project description

horizondesk-sdk SDK

This SDK provides the official interface for building plugins for Horizon Desk. It allows developers to extend OmniAgent's capabilities with custom tools and connect external AI workers.

Installation

pip install horizondesk-sdk

Quick Start: Create your first plugin

1. Initialize

Run the following command to scaffold a new plugin project:

horizondesk-sdk init MyAmazingPlugin

2. Define a Tool

Edit main.py to create your own tools:

from horizondesk_sdk import BaseTool, HorizonPlugin

class WeatherTool(BaseTool):
    def __init__(self):
        super().__init__("GetWeather", "Gets current weather for a city. Input: 'city'.")

    def execute(self, city=None, payload=None):
        return f"It is 22°C and sunny in {city}."

def register_tools(agent):
    plugin = HorizonPlugin("MyAmazingPlugin")
    plugin.add_tool(WeatherTool())
    plugin.register_all(agent)

3. Run the Workshop

Launch the high-fidelity GUI Workshop to test your plugin:

horizondesk-sdk run horizon_plugin.raf

Security & Privacy

  • SecretStorage: Always use SecretStorage.get_secret("KEY") to access API keys. Do not hardcode them.
  • Redaction: Use SecretStorage.redact_pii(text) before sending data to external workers.
  • Auditing: All plugin tools are visible to the user and subject to manual intervention (Alt+F7).

Connecting External Agents

To link your own AI worker, create a tool that performs a secure HTTP request to your backend:

import requests
from horizondesk_sdk import BaseTool, SecretStorage

class ExternalBrainBridge(BaseTool):
    def __init__(self):
        super().__init__("AskMyBot", "Consults my specialized AI model.")

    def execute(self, **kwargs):
        api_key = SecretStorage.get_secret("MY_BOT_API_KEY")
        response = requests.post("https://my-api.com/v1/chat", json=kwargs, headers={"Auth": api_key})
        return response.json().get("reply")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

horizondesk_sdk-1.0.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

horizondesk_sdk-1.0.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file horizondesk_sdk-1.0.0.tar.gz.

File metadata

  • Download URL: horizondesk_sdk-1.0.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for horizondesk_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f25a7c71ff0f08c6652f692a8e57085b758962a06b87b1d84296a3d05ca66938
MD5 f96f312042163f5888e2f74bb2148338
BLAKE2b-256 0790f8c0d9e16da5af7f35dc8370f25e1bb034e69a5b47d094718be0d0bacce7

See more details on using hashes here.

File details

Details for the file horizondesk_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for horizondesk_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 437e31821010729ce0cc804a02965ccf5bf930f829a3403bbd72afefa72a7ca4
MD5 1515a3fb14e367f3a55c095188d6a545
BLAKE2b-256 6600f61b7091bd55441b185bded54a2548e685ecd4cb4d34a11b3c685b71237c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page