What is Nadoo Plugin SDK?
Nadoo Plugin SDK is the official Python SDK for developing custom plugins for Nadoo AI Platform. It enables you to extend Nadoo’s capabilities by creating reusable tools that can be invoked within AI workflows.Key Features
Simple API
Decorator-based API for defining tools with minimal boilerplate
Built-in LLM Access
Invoke AI models configured in your workspace
Knowledge Integration
Search and retrieve from knowledge bases
Powerful Debugging
Comprehensive logging, tracing, and variable watching
Core Concepts
Plugin Class
Every plugin inherits fromNadooPlugin and defines tools as decorated methods:
Decorators
Decorators define tool metadata, parameters, validators, and permissions:@tool- Mark method as a tool@parameter- Define tool parameters@validator- Validate parameter values@permission_required- Require permissions@retry- Automatic retry on failure
Plugin Context
Every plugin has access to a rich execution context:Internal APIs
Plugins can invoke internal Nadoo APIs:Plugin Lifecycle
- Initialize: Plugin is instantiated and context is injected
- on_initialize: User initialization hook (load config, setup connections)
- Tool Discovery: Framework discovers @tool decorated methods
- Execution: Tools are invoked as needed
- Finalize: on_finalize hook for cleanup
- Cleanup: API connections are closed
Development Workflow
1. Create Plugin
2. Implement Tools
3. Test Locally
4. Build & Install
Use Cases
External API Integration
External API Integration
Connect to third-party APIs (Weather, Stocks, News, etc.)
Data Processing
Data Processing
Transform, analyze, or validate data within workflows
Custom AI Operations
Custom AI Operations
Combine LLM calls with custom logic
Knowledge Augmentation
Knowledge Augmentation
Enrich AI responses with external knowledge sources
Multi-Step Workflows
Multi-Step Workflows
Orchestrate complex operations across multiple tools
Architecture
SDK Components
| Component | Purpose | Documentation |
|---|---|---|
NadooPlugin | Base class for all plugins | Plugin Class |
| Decorators | Define tools and parameters | Decorators |
PluginContext | Execution context | Context |
LLMClient | Invoke AI models | LLM API |
ToolsClient | Call other tools | Tools API |
KnowledgeClient | Search knowledge bases | Knowledge API |
StorageClient | Persistent storage | Storage API |
| Testing Utilities | Test your plugins | Testing |