ErisPulse ErisPulse
Open in interactive docs →
On this page
Static mirror — the interactive version is canonical Open in interactive docs →

Comparison: ErisPulse vs NoneBot2

Tip

When to read this: Read this when you'll be writing code in Python bot frameworks and are choosing between NoneBot2 and ErisPulse. Skip it if you won't be coding.

Positioning differences in one sentence:

  • NoneBot2: The async bot framework with the deepest plugin ecosystem, a mature event-handling model, and over a decade of community accumulation
  • ErisPulse: A bot SDK built around the OneBot12 unified event model; a single handler naturally works across platforms, with module-level hot reloading and ecosystem service contracts as native design

Both are frameworks where "developers write code", not install-and-go products.

Design Differences Comparison

Dimension ErisPulse NoneBot2
Cross-platform approach OneBot12 unified event model is built into the core; handlers need not be aware of platform differences Each adapter has its own event model; cross-platform support relies on unified message abstraction plugins (e.g., alconna)
Plugin system Modules = PyPI packages + epsdk CLI installation + Module Market indexing Plugins = PyPI packages (nonebot-plugin-*), discovered via the store website, installed with pip
Send API SendDSL chained sending: mentions, replies, retries, timeouts, and batching all done in one line Matcher-side send / per-adapter APIs; unified message abstraction provided by plugins
Hot reload Module/adapter-level hot reload; changes take effect on save without restarting the process Full process reload in dev mode (file changes restart the process)
AI integration Zero AI dependencies in the framework; modules that declare service contracts automatically become tools for the QvQChat agent; ApiMCP can expose the bot in reverse to MCP clients such as Claude Assembled on demand via community plugins
Management tools Official Dashboard web panel, epsdk CLI, ErisPulse-App mobile client Community WebUI plugins, nb-cli
Production features Three-dimensional scoping, automatic ownership reclamation, shadow-module gray release, inter-module RPC service contracts Dependency injection, hook system, community solutions
Storage Unified KV + SQL API (switch between sqlite/mysql/postgres via configuration) Each plugin chooses its own solution

When to Choose Which

Choose NoneBot2: You need a specific plugin that already exists in its ecosystem; or your team is deeply familiar with its event model. The existing plugin inventory is a hard advantage — other differences can be compensated for with code, but the ecosystem cannot.

Choose ErisPulse: Cross-platform consistency is your core requirement (unified event model + 16 platform adapters); you want a "modify code without restarting" development rhythm; you want module capabilities to go directly into the AI toolbox instead of wiring up the LLM separately.

Note

This comparison is compiled from the public documentation of both projects. It is an objective fact that NoneBot2's plugin ecosystem and community are significantly larger; for decision-making purposes, please refer to their official documentation.


Next Steps