← Learn

plugin-based architecture

An architectural model where functionalities are added as interchangeable modules or plugins, allowing flexibility and extensibility in software systems.

Learn

When to use it

Use a plugin-based architecture when a monolithic system becomes too rigid for evolving requirements. Plugin-based architectures allow developers to add, remove, or update functionalities without altering the core system, enabling modular updates like integrating new AI models or third-party tools.

Quick example

In DeepSeek Harness, developers can extend the AI agent's capabilities by adding plugins for local data processing and tool integration. The Harness framework itself is a plugin-based architecture, allowing developers to customize the agent's functionality while keeping the core system stable. This modularity enables developers to swap out components like NLP models or data connectors without rewriting the entire application.

Ecosystem

Plugin-based architectures interact with various components that can be added or removed as needed, enhancing system flexibility and maintainability.

      ┌─ plugin A ─┐
core ─│ plugin-based │→ output
      └─ plugin B ─┘

Misconceptions

MisconceptionRebuttal
Plugins are always third-partyPlugins can be developed in-house for custom needs
It's only for large systemsSmall projects benefit from modularity too
Plugins slow down performanceEfficient design minimizes overhead

Trade-offs

  • Flexibility — requires careful version management
  • Extensibility — potential for plugin conflicts
  • Customization — increased complexity in plugin interfaces

Seen in