130 个仓库
Architectural patterns that allow adding new functionality to a system via custom plugins.
Distinct from Plugin-Based Extensions APIs: Shortlist candidates are restricted to specific domains like browser extensions, LMS, or audio plugins
Explore 130 awesome GitHub repositories matching software engineering & architecture · Plugin-Based Extensibility. Refine with filters or upvote what's useful.
ScrollMagic is a DOM scroll interaction framework and animation engine used to map scroll progress to callbacks and visual effects. It functions as a library for triggering animations based on a user's scroll position and the proximity of elements to the viewport. The framework employs a plugin-based system to extend core behavior and customize how elements react during movement. This allows for the development of non-standard scrolling interactions and interactive storytelling experiences where content transitions are tied to the scroll position. The system provides capabilities for viewpor
Implements a plugin system that allows external modules to inject custom logic into the scroll loop.
Ajv is a JSON Schema validator and schema compilation engine used to verify that JavaScript objects conform to specific JSON Schema definitions. It functions as a data coercer and localization tool, allowing for the application of default values and the translation of validation error messages into different languages. The project converts declarative JSON Schema definitions into optimized JavaScript functions to increase validation speed. It supports the extension of validation logic through custom keywords and the generation of standalone validation code that executes without external depen
Allows users to extend validation logic by defining custom keywords and handlers.
RabbitMQ is a multi-protocol messaging broker that functions as an AMQP message broker, a clustered message queue, and a distributed message stream. It provides a server for translating and bridging communication between diverse messaging standards to connect heterogeneous systems. The system distinguishes itself through distributed broker clustering and federation, using shoveling mechanisms to synchronize data across geographically separate sites. It supports high-throughput, append-only logs for persisting and reading large sequences of messages for real-time processing. The broker covers
Provides an architectural framework to integrate community modules and functional extensions without modifying the core broker codebase.
Sonar is a mobile app debugging platform and extensible toolkit that allows developers to inspect the internal state, network traffic, and system logs of mobile devices via a desktop interface. It functions as a centralized system for monitoring application behavior and troubleshooting logic and performance issues. The platform is distinguished by a plugin-based extension system that enables the development of custom debugging tools. These plugins can visualize specific application data and facilitate event exchange between a mobile device and a computer. The toolkit covers several core obse
Features an architectural pattern that allows developers to extend the platform with custom visualization tools via plugins.
MeterSphere is a continuous testing platform that provides a suite of tools for automating interface, performance, and functional tests within a delivery pipeline. It functions as a comprehensive system for managing the testing lifecycle, from initial case planning and execution to defect tracking and reporting. The platform distinguishes itself through the use of large language models to automatically generate functional and interface test cases from requirements. It also features a distributed performance testing engine that coordinates pools of hardware and software resources to execute hi
Features a plugin-based extension system to integrate external defect trackers and CI tools.
AllenNLP is a PyTorch-based research library and deep learning language toolkit designed for developing and training neural network architectures for linguistic tasks. It provides a distributed training system that coordinates data and gradients across multiple GPUs and a framework for integrating pretrained transformer architectures. The system distinguishes itself with a dedicated algorithmic bias mitigation tool used to identify and reduce bias in linguistic model predictions. It also includes model influence analysis to interpret predictions by calculating the influence of specific traini
Supports dynamically loading external packages to register custom classes and subcommands into the system.
EmDash is an open-source content management system built on Astro that combines a visual admin panel with a plugin-driven architecture and server-side rendering. It provides a complete content management system with structured content modeling, a rich text editor using Portable Text format, and a TypeScript API for type-safe content queries. The system supports authentication through passkeys, OAuth 2.1, and external providers, with role-based access control and fine-grained permission scopes. What distinguishes EmDash is its plugin development framework, which supports both native plugins ru
Adds custom admin pages, dashboard widgets, and settings by reacting to content and media lifecycle events in native or sandboxed runtimes.
这是一个 Go 语言的 Protocol Buffers 实现,提供了一个二进制序列化框架,可将原生数据结构转换为紧凑的二进制格式,以实现高效的网络传输和存储。它充当语言绑定生成器,利用编译器插件从平台无关的协议缓冲区定义中创建 Go 源代码。 该实现包含一个 JSON 数据映射器,可将结构化二进制消息转换为 JSON 格式,以促进与 Web 服务和外部 API 的兼容性。它还通过使用通用模式定义在不同编程语言之间共享结构化数据,从而实现跨语言数据交换。 该库涵盖了广泛的数据序列化和反序列化功能,包括通过克隆、合并和比较来操作结构化消息的能力。它还提供了基于反射的消息检查机制和递归消息合并功能,以在分布式系统中保持状态一致性。
Provides a compiler plugin that generates Go source code from platform-neutral protocol buffer definitions.
Admin-bro 是一个 Node.js 管理面板框架,可自动将数据库模式转换为功能齐全的内容管理系统和后端仪表板。它提供了一个可视化界面,用于对各种受支持数据源中的记录执行创建、读取、更新和删除(CRUD)操作。 该框架使用模型驱动的 UI 生成将数据库元数据映射到表单组件,并采用基于适配器的抽象层将管理操作转换为特定的数据库查询。它支持通过链接到特定资源记录的基于动作的触发器来执行自定义业务逻辑和操作工作流。 该系统包括通过管理仪表板和商业智能报告进行数据可视化的功能。它还提供了用于基于模式的输入验证、使用装饰器扩展资源元数据的工具,以及用于添加自定义界面组件的插件架构。
Adds custom dashboards and report pages by injecting external components into the core administrative layout.
Noctalia 是一个 Wayland 桌面 Shell 和 Layer Shell 管理器,旨在通过统一的接口协调状态栏、停靠栏和通知中心。它作为一个轻量级的系统控制器和执行环境,保持极低的内存占用,以实现无干扰的后台运行。 该项目具有基于插件的扩展系统,用于添加自定义小部件、启动器提供程序和后台服务。它包含一个实时配置引擎,可监控文件变动并更新桌面外观和行为,无需重启。 该系统与 Wayland 显示协议集成,用于管理 Layer Shell 和会话锁定。其功能涵盖统一的桌面元素管理、合成器自定义以及用于扩展 Shell 功能的动态模块系统。
Implements an architectural pattern that allows adding custom widgets and background services via dynamic plugins.
k8sgpt 是一套专注于 Kubernetes 的工具,旨在进行 AI 驱动的调试、集群诊断和自我修复。它作为一个自动化分析器和调试器,使用大语言模型来解释集群错误、建议修复步骤并识别资源故障。 该项目以其可扩展的分析框架脱颖而出,支持自定义诊断插件和模型上下文协议(MCP)服务器,后者将集群诊断作为 AI 助手的工具暴露出来。它包括一个能够自动生成并应用修复程序以解决检测到的异常的自我修复代理,以及在传输到外部 AI 提供商之前屏蔽敏感信息的数据匿名化中间件。 该工具集涵盖了广泛的操作能力,包括通过 Operator 进行持续健康监控、针对策略引擎的合规性审计,以及识别广泛故障模式的多集群编排。它还提供可观测性功能,如诊断结果导出、可观测性指标集成和 Pod 故障排查。
Provides a plugin-based framework for creating extensible diagnostic checks in any language.
该项目是一个 JetBrains IDE 主题插件和配色方案包,实现了 Material Design UI 主题。它提供了一个全面的界面重构,用 Material Design 美学替换了标准的编辑器颜色和图标。 该插件专注于开发者工作区个性化,允许用户将统一的视觉语言应用于 JetBrains 开发环境。它通过一系列用于代码高亮和用户界面元素的可自定义调色板,实现对 IDE 外观的自定义。
Uses a plugin architecture to extend the host IDE and modify its internal UI components.
OpenTelemetry Collector 是一个与供应商无关的代理和可观测性数据流水线,用于接收、处理和导出追踪、指标和日志。它充当遥测数据摄取网关和多后端监控代理,将各种数据格式转换为标准化的内部表示,以便进行一致的处理。 该项目的特色在于其基于插件的组件模型,允许在不修改核心代码库的情况下集成自定义接收器、处理器和导出器。它利用可配置的流水线系统,使遥测数据流经一系列组件,在发送到外部监控后端之前进行路由、复制或转换。 该收集器具备遥测流量管理功能,例如通过批处理数据点来优化吞吐量,并实现内存感知负载削减以防止系统在高流量峰值时崩溃。它还通过加密通道提供安全的数据传输,并支持动态配置解析,以便在运行时更新设置。 项目提供预配置的发行版,以减少特定环境下的手动设置工作。
Utilizes a plugin-based extensibility model allowing custom receivers, processors, and exporters to be integrated without modifying the core.
Rushstack 是一个用于管理大规模 TypeScript 单体仓库(monorepo)的综合工具集,为构建流水线自动化、依赖协调和静态分析提供了框架。它作为一个增量构建编排器和管理系统,旨在在共享工作区中的多个包之间保持一致性和性能。 该系统通过基于有向无环图和基于内容哈希的增量模型脱颖而出,确保仅重建受影响的项目。它通过与 S3、Azure 和 HTTP 集成的远程构建工件缓存进一步优化开发工作流,并利用基于符号链接的工作区管理来实现本地更改的即时可见性。 该工具集涵盖了广泛的功能,包括自动化发布工作流、API 合约分析以及通过标准化 Linting 配置文件强制执行企业代码质量。它还为资产打包、TypeScript 转译以及从 JSON 模式和静态资产生成类型定义提供了广泛支持。 其他实用领域包括本地化管理、许可证声明生成以及具有同步进程输出的命令行界面编排。
Integrates custom preprocessors and loaders through a hook-based plugin architecture for extending tool capabilities.
KodExplorer is a web-based file manager and remote server administration tool that provides a desktop-like interface for organizing and managing files in a browser. It functions as an enterprise file sharing platform and an online document previewer, allowing users to view hundreds of file formats without local software installations. The system is distinguished by a plugin-based API gateway that exposes RESTful endpoints for third-party integrations and custom functional extensions. It also includes a browser-based code editor with syntax highlighting and autocomplete for over 120 languages,
Enables the addition of new capabilities and service calls through the development and installation of custom plugins.
WebSlides is a CSS-class-driven presentation framework that turns HTML sections into full-screen slides with keyboard, touch, and remote navigation. Its core architecture defines slides as HTML section elements styled entirely through CSS classes for layout, animation, and background, with a vertical-rhythm spacing foundation using an 8-pixel baseline grid. The framework includes a plugin-based behavior extension system that hooks into slide lifecycle events, and maps each slide to a unique URL hash for direct permalink navigation. The framework distinguishes itself through a comprehensive se
Registers custom JavaScript plugins that hook into slide lifecycle events to override or augment built-in behaviors.
该项目是 Flipper Zero 的自定义固件,提供了一个嵌入式插件生态系统、硬件渗透测试工具包和多协议模拟层。它修改了设备的操作系统,以包含用于扩展频率范围的 Sub-GHz 无线电套件,并能够直接在硬件上构建和部署第三方应用程序。 该固件通过 Sub-GHz 无线电套件扩展了设备的本地功能,允许进行频率扩展和超出出厂默认设置的信号捕获。它实现了针对 BadUSB 和 BLE 键盘的专门模拟,并包含一个用于执行模块化插件和游戏的专用框架。 该系统涵盖了广泛的硬件交互领域,包括 NFC 和 RFID 管理、红外设备控制和 UART 串口桥接。它还提供了环境传感器监控和空气质量分析工具,以及通过 U2F 规范实现的基于硬件的二次身份验证。 用户可以将源代码编译为可执行插件,或创建压缩固件存档,通过可移动存储卡进行安装。
Implements an architectural pattern that allows extending system capabilities via modular third-party plugins.
BFE is a Layer 7 HTTP and HTTPS traffic distributor that routes requests based on content inspection and configurable policies, managed through a RESTful API. It operates as a reverse proxy, distributing incoming traffic across backend servers according to user-defined rules. The project distinguishes itself through a domain-specific language for content-aware routing, allowing traffic to be directed by inspecting request headers, paths, and payloads. It supports multiple configurable load balancing policies and includes a plugin-based extension system for adding custom modules and middleware
Extends core functionality by loading custom modules through a defined plugin interface.
Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
Adds custom components and functionality to existing views through a gRPC-based plugin system.
luban-h5 是一个低代码 Web 框架和可视化移动页面构建器,用于设计交互式移动网页。它作为一个基于 JSON 的页面渲染器,将设计配置转换为实时页面以交付给最终用户,并包含一个用于创建交互式输入字段和跟踪提交统计信息的可视化表单构建器。 该项目具有 PSD 转 HTML 转换器,可将 Photoshop 文件解析为功能性 HTML 页面,从而实现设计到代码工作流的自动化。它通过插件系统脱颖而出,该系统允许开发自定义 UI 组件和专门的页面插件。 该平台涵盖了广泛的功能面,包括拖放式可视化设计、动画管理和媒体资产嵌入。它提供了后端内容管理、动态数据绑定以及通过二维码实时设备预览将页面发布到公共 URL 的工具。
Implements a modular architecture allowing the addition of custom UI elements and page components via plugins.