Skip to main content

What are Official Plugins?

Official Plugins is a curated collection of community-contributed plugins for Nadoo AI Platform. These plugins extend Nadoo’s capabilities by providing ready-to-use tools for various tasks. All plugins are:
  • Free and open-source (MIT License)
  • Community-reviewed for quality and security
  • Ready to install with pre-built packages
  • Well-documented with examples and guides

Available Plugins

Quick Start

Install a Plugin

Download from GitHub Releases or build from source:
# Download pre-built plugin
nadoo-plugin install calculator-1.0.0.nadoo-plugin --workspace your-workspace-id

# Or build from source
git clone https://github.com/nadoo-ai/official-plugins
cd official-plugins
python build_plugins.py
cd dist
nadoo-plugin install calculator-1.0.0.nadoo-plugin --workspace your-workspace-id

Use in Your Workflow

Once installed, plugins are available as tools in your workflows:
from nadoo_flow import BaseNode, NodeResult

class CalculatorNode(BaseNode):
    async def execute(self, node_context, workflow_context):
        # Call calculator plugin tool
        result = await self.call_tool(
            tool_name="calculator:calculate",
            parameters={"expression": "2 + 2 * 3"}
        )

        return NodeResult(
            success=True,
            output={"result": result}
        )

Plugin Categories

🛠️ Utility (2 plugins)

  • Calculator - Mathematical calculations
  • Web Search - Real-time web search

🔮 Coming Soon

  • Email integration
  • Database connectors
  • File processing
  • Social media integrations
  • Cloud storage
  • Translation services

For Plugin Developers

Creating a Plugin

Want to contribute your own plugin?
1

Install SDK

pip install nadoo-plugin-sdk
2

Create Plugin

nadoo-plugin create my-awesome-plugin
cd my-awesome-plugin
3

Implement Tools

from nadoo_plugin import NadooPlugin, tool, parameter

class MyPlugin(NadooPlugin):
    @tool(name="my_tool", description="Does something awesome")
    @parameter("input", type="string", required=True)
    def my_tool(self, input: str) -> dict:
        return {"result": f"Processed: {input}"}

plugin = MyPlugin()
4

Test Locally

nadoo-plugin test --tool my_tool --params '{"input": "test"}'
5

Submit PR

Fork official-plugins and submit a pull request

Plugin Structure

Each plugin directory contains:
plugin-name/
├── main.py           # Plugin implementation
├── manifest.yaml     # Plugin metadata
├── README.md         # Documentation
└── requirements.txt  # Dependencies (optional)

Quality Guidelines

  • Clear README with features, usage, and examples
  • Document all parameters and return values
  • Include troubleshooting section
  • Never hardcode API keys or secrets
  • Validate all user inputs
  • Use safe evaluation methods
  • Follow OWASP security guidelines
  • Handle errors gracefully
  • Add proper logging
  • Use descriptive variable names
  • Include type hints
  • Test all tools thoroughly
  • Include edge cases
  • Verify error handling
  • Test with various inputs

Contributors

👨‍💻 Core Team

Nadoo Team

Plugins: calculator, web-searchGitHub: @nadoo-ai

🌟 Community Contributors

Want to see your name here? Contribute a plugin!
When you contribute a plugin, you’ll be added to this list with:
  • Your name/GitHub handle
  • Link to your plugin
  • Brief description of your contribution

How to Contribute

We welcome plugin contributions from developers worldwide!

Contribution Process

  1. Discuss Your Idea: Open an issue to discuss your plugin idea
  2. Fork Repository: Fork the official-plugins repo
  3. Develop Plugin: Follow the plugin structure and guidelines
  4. Test Thoroughly: Ensure your plugin works correctly
  5. Submit PR: Submit a pull request with your plugin
  6. Code Review: Maintainers will review within 48 hours
  7. Merge & Release: Once approved, your plugin will be included in the next release

What We Look For

Clear Value: Plugin solves a real problem ✅ Good Documentation: README with examples and setup instructions ✅ Clean Code: Well-structured, readable code ✅ Error Handling: Graceful handling of errors ✅ Security: No hardcoded secrets, input validation ✅ Tests: Verified to work correctly

Resources

Statistics

Total Plugins

2

Categories

1

Contributors

1

License

MIT

License

All plugins in this collection are licensed under the MIT License. Individual plugin authors retain copyright of their contributions. By contributing a plugin, you agree to license it under MIT, making it free for anyone to use, modify, and distribute.

Support & Community