Skip to main content

ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。

Project description

ErisPulse

English | 简体中文 | 繁體中文

ErisPulse

事件驱动的多平台机器人开发框架

基于 OneBot12 标准接口,一次编写,多平台部署。灵活的插件系统、热重载支持和完整的开发者工具链,适用于从简单聊天机器人到复杂自动化系统的各种场景。

支持 Vibe Coding 工作流,让 AI 直接生成可用模块 — 查看

PyPI Python Docker License Stars Downloads Ruff

文档 模块市场 讨论


核心特性


事件驱动架构

基于 OneBot12 标准的清晰事件模型,让消息处理逻辑更加直观和高效


跨平台兼容

插件模块编写一次即可在所有平台使用,无需为不同平台重复开发


模块化设计

灵活的插件系统,易于扩展和集成,支持热插拔模块管理


热重载支持

开发时无需重启即可重新加载代码,大幅提升开发迭代效率


支持的适配器

支持的适配器

欢迎您贡献适配器!

适配器 说明
Kook Kook(开黑啦)即时通讯平台
Matrix Matrix 去中心化通讯协议
OneBot11 OneBot v11 通用机器人协议
OneBot12 OneBot v12 标准协议
QQ QQ 官方机器人平台
沙箱 网页端调试,无需接入真实平台
Telegram 全球性即时通讯平台
邮件 邮件协议收发适配器
云湖 企业级即时通讯平台(机器人接入)
云湖用户 基于云湖用户协议的接入适配器
花枫咖啡馆 Allons! (・ω・) /

查看 适配器详情维护文档


快速开始

使用 Docker (推荐)

docker pull erispulse/erispulse:latest
Docker Hub不可用?

如果 Docker Hub 无法访问,可以使用 GitHub Container Registry:

docker pull ghcr.io/erispulse/erispulse:latest

使用 ghcr.io 镜像时,需要修改 docker-compose.yml 中的 image:

image: ghcr.io/erispulse/erispulse:latest
快速启动
# 下载 docker-compose.yml
curl -O https://raw.githubusercontent.com/ErisPulse/ErisPulse/main/docker-compose.yml

# 设置 Dashboard 登录令牌并启动
ERISPULSE_DASHBOARD_TOKEN=your-token docker compose up -d

镜像内置 ErisPulse 框架和 Dashboard 管理面板,支持 linux/amd64linux/arm64 架构。

启动后访问 http://<host>:<port>/Dashboard,使用设置的令牌作为密码登录 Dashboard 管理面板。

使用预发布版本 (Dev)

设置 ERISPULSE_CHANNEL=dev 即可使用预发布版本:

# 方式一:使用环境变量(推荐)
ERISPULSE_CHANNEL=dev ERISPULSE_DASHBOARD_TOKEN=your-token docker compose up -d

# 方式二:构建 dev 镜像
ERISPULSE_BUILD_TARGET=dev docker compose up -d --build

如需启动时自动更新到最新版本(无论 stable 还是 dev),显式设置 ERISPULSE_UPDATE_ON_START=true

ERISPULSE_CHANNEL=dev ERISPULSE_UPDATE_ON_START=true docker compose up -d

也可以拉取预构建的 dev 镜像:

docker pull erispulse/erispulse:dev
Docker 环境变量
变量 默认值 说明
ERISPULSE_CHANNEL stable 版本通道:stable(稳定版)或 dev(预发布版)
ERISPULSE_UPDATE_ON_START false 容器启动时是否自动更新到最新版本(需显式启用)
ERISPULSE_DASHBOARD_TOKEN Dashboard 登录令牌
ERISPULSE_PORT 8000 Dashboard 端口映射
TZ Asia/Shanghai 容器时区

启用 ERISPULSE_UPDATE_ON_START=true 可确保即使镜像较旧,容器也能在启动时自动获取最新版本。

1Panel 应用商店

通过 1Panel 应用商店一键安装 ErisPulse,详见 ErisPulse-1Panel

bash <(curl -sL https://get-1panel.erisdev.com/install.sh)

使用 pip 安装

pip install ErisPulse
安装演示

如果您的 Python 版本低于 3.10,可以使用一键安装脚本自动配置环境。详见 安装脚本说明

运行效果

同一段代码,多个平台响应:

Kook

Kook 演示

QQ

QQ 演示

云湖

云湖 演示

初始化项目

# 交互式初始化
epsdk init

# 快速初始化(指定项目名称)
epsdk init -q -n my_bot

创建第一个机器人

创建 main.py 文件:

命令处理器

from ErisPulse import sdk
from ErisPulse.Core.Event import command

@command("hello", help="发送问候消息")
async def hello_handler(event):
    user_name = event.get_user_nickname() or "朋友"
    await event.reply(f"你好,{user_name}!")

@command("ping", help="测试机器人是否在线")
async def ping_handler(event):
    await event.reply("Pong!机器人运行正常。")

if __name__ == "__main__":
    import asyncio
    asyncio.run(sdk.run(keep_running=True))

效果说明

发送 /hello

机器人回复:你好,{用户名}!


发送 /ping

机器人回复:Pong!机器人运行正常。


运行方式

epsdk run main.py
# 或开发模式
epsdk run main.py --reload

更多详细说明请参阅:


应用场景

多平台机器人 聊天助手 自动化工具 消息转发
在多个平台部署
相同功能的机器人
接入 AI 聊天模块
实现娱乐和交互
消息通知、任务管理
数据收集
跨平台消息
同步和转发

文档与资源

简体中文 English 繁體中文
文档入口 Documentation 文檔入口
平台 主站点 备用站点
文档 erisdev.com Cloudflare · GitHub · Netlify
模块市场 erisdev.com Cloudflare · GitHub · Netlify

贡献指南

ErisPulse 项目的健全性还需要您的一份力!我们欢迎各种形式的贡献:

  1. 报告问题 — 在 GitHub Issues 提交 bug 报告
  2. 功能请求 — 通过 社区讨论 提出新想法
  3. 代码贡献 — 提交 PR 前请阅读 代码风格贡献指南
  4. 文档改进 — 帮助完善文档和示例代码

加入社区讨论


致谢

感谢

本项目部分代码基于 sdkFrame · 核心适配器标准化层基于 OneBot12 规范 · 感谢所有为开源社区做出贡献的开发者和作者

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

erispulse-2.4.6.dev1.tar.gz (151.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

erispulse-2.4.6.dev1-py3-none-any.whl (236.5 kB view details)

Uploaded Python 3

File details

Details for the file erispulse-2.4.6.dev1.tar.gz.

File metadata

  • Download URL: erispulse-2.4.6.dev1.tar.gz
  • Upload date:
  • Size: 151.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for erispulse-2.4.6.dev1.tar.gz
Algorithm Hash digest
SHA256 a9be5f9a8ed54545b5839e0f80fb69e285e58d31a921f23f3e90f93665d1ca00
MD5 7d0b3ea4c062366c0d1556cb2cf24124
BLAKE2b-256 74f6b988731151a0bd966ee0ed3b30144db2ff07d2c0477204c0a936b2728b2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for erispulse-2.4.6.dev1.tar.gz:

Publisher: pypi-publish.yml on ErisPulse/ErisPulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file erispulse-2.4.6.dev1-py3-none-any.whl.

File metadata

  • Download URL: erispulse-2.4.6.dev1-py3-none-any.whl
  • Upload date:
  • Size: 236.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for erispulse-2.4.6.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 e64ee6775e59f9d7d73dbbda84e5ae5b770b899a578f25c50bf1eecec4d47506
MD5 bd63f37c3b6c284ad34c487a5f377d10
BLAKE2b-256 7de2632521b0c79a875ce1369f32389d2447fc3c7b5963d8b432d53983193fdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for erispulse-2.4.6.dev1-py3-none-any.whl:

Publisher: pypi-publish.yml on ErisPulse/ErisPulse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page