ErisPulse Documentation
ErisPulse is an extensible, multi-platform message processing framework that supports interaction with various platforms through adapters, providing a flexible module system for functional extension.
First time using? Just check out the 5-Minute Quick Start —— from installation to running your first bot, all in one go.
Choose Your Path
Based on your goals, select the corresponding learning path. Each path is arranged from basic to advanced.
I. I Want to Use a Robot
Get the robot running, install modules, and configure it.
| Progress | Document | Description |
|---|---|---|
| ① Getting Started | 5-Minute Quick Start | Installation, initialization, and running — the only entry point to get started |
| App Direct Install | ErisPulse-App Client | Official cross-platform client: run and manage directly via mobile/PC graphical interface, no terminal required |
| ② In-Depth | Create Your First Bot | Write your first command handler |
| ③ Concepts | Basic Concepts | Understand the design of adapters/modules/events |
| ④ Practical | Common Task Examples | Storage, scheduled tasks, permission control |
| Reference | Configuration File Guide · CLI Commands · Deployment Guide | Consult as needed |
| Reference | Platform Features Guide | Differences among platforms (Yunhu/QQ/Telegram…) |
II. I Want to Develop Modules / Adapters
Develop distributable extensions for ErisPulse.
| Type | Beginner | Advanced |
|---|---|---|
| Module Development (Recommended) | Module Development Getting Started | Core Concepts · Event Wrapper · Best Practices |
| Adapter Development | Adapter Development Getting Started | Core Concepts · SendDSL Explained · Event Converters · Best Practices |
| Technical Standards | Standards Overview | Adapter development must follow the Session Types · Event Conversion · Send Methods · API Responses · Request Actions specifications |
| Testing & Troubleshooting | Module Testing (ErisPulse-Testing) | Troubleshoot why commands didn't trigger |
| Publishing | Publishing & Module Store | Publish your work to PyPI and the module store |
III. I Want to Deeply Understand the Principles
Understand how the framework works internally.
| Document | Description |
|---|---|
| Architecture Overview | Visual diagrams: core architecture, initialization flow, event handling, lifecycle, module loading strategies (including activate_on event-driven lazy activation), local plugin folder and module hot-reload architecture (supports all module sources) |
| Startup Process & Manual Control | Startup chain breakdown, manual control of each step, diagnosis of loading failures |
| Event System | Complete API for five major event types |
| Adapter System | Adapter registration, startup/shutdown, API calls |
| Core Modules | Basic capabilities such as Storage / Config / Logger / Router |
| Lifecycle Management · Lazy Loading · Routing System | Internal subsystems |
| Scope | Three-dimensional scope control: module availability / event access / outbound action restrictions (including method-level fine-grained rules, binding inheritance merge) |
| Ownership (owner) System | Resource ownership and automatic cleanup: owner context, resource ownership overview, unload cleanup sequence, design boundaries, and module author guidelines |
| Shadow Modules & Gray Release | New versions of modules run in parallel with independent owners: five isolation gates, behavior diff alignment, promote to official, and rollback on failure |
| Interactive Session System | Full explanation of wait_reply, session timers (remind/escalate), multi-path waiting (select), session mutual exclusion leases, inbox, message transactions, and chain tracing |
| Inter-Module Communication | RPC protocol (module.call), meta.services service contracts and directories, targeted event emit(to=), cold-start replay, event idempotency deduplication |
| Conversation Multi-turn Dialogue · MessageBuilder · SQL Builder · Storage Backends · HTTP Client · Internationalization | Advanced tools |
IV. Ecosystem & Official Clients
Official clients + on-demand installable, plug-and-play ecosystem modules (none are built-in features).
| Document | Description |
|---|---|
| Ecosystem Overview | How to install ecosystem modules, why these are not built-in features |
| ErisPulse-App | Official cross-platform client (Android / Windows / Linux / macOS): native interface to manage multiple instances, run directly on mobile, desktop tray icon |
| ErisPulse-Dashboard | Web management panel + window registration API (modules can register custom pages to the sidebar) |
| ErisPulse-Cron | Scheduled task module: one-time / interval / Cron expression, callback parameters, SQLite persistence, other modules can host scheduled callbacks |
| ErisPulse-Takumi | Image rendering (HTML / node tree / SVG / animation, built-in Chinese and English fonts) |
V. I Want to Contribute to ErisPulse
Make the framework better.
| Document | Description |
|---|---|
| Contribute to ErisPulse | Overview of contribution methods: documentation / i18n / bugs / modules / adapters |
| First Contribution | From fork to submitting a PR |
Development Methods
ErisPulse supports two development methods:
- Module Development (Recommended): Create independent module packages and install them via the package manager, which facilitates distribution and management.
- Embedded Development: Write processors directly within the project, suitable for rapid prototyping. See Quick Start.
Others
- Documentation Style Guide — Writing guidelines for contributing documentation
- Contribute to ErisPulse — Entry point for participating in project development
- AI-Assisted Development — Project prompts for AI programming assistants
Get Help
- GitHub Repository: https://github.com/ErisPulse/ErisPulse
- Report Issues: Submit an Issue
- Technical Discussion: View Discussions