知道吗?ErisPulse 支持完整的 Vibe Coding 工作流 了解详情

ErisPulse

高性能异步机器人开发框架

核心特性

事件驱动架构

所有交互通过事件传递,从平台接收到模块处理形成完整的异步事件流

@message.on_message()
async def handler(event):
    text = event.get_text()
    await event.reply(f"收到: {text}")

OneBot12 标准兼容

统一的事件格式标准,确保不同平台间的代码一致性与可移植性

@command("hello")
async def hello_handler(event):
    platform = event.get_platform()
    # 同一份代码,多平台运行
    await event.reply("Hello!")

AI 辅助开发

提供完整的开发文档与规范,让 AI 直接生成可用模块,支持 Vibe Coding 工作流

# 将 ErisPulse 物料投喂给 AI
# 即可直接生成可用模块

class AIModule(BaseModule):
    async def on_load(self):
        self.logger.info("AI 生成就绪")

SendDSL 链式发送

Send.To().At().Reply().Text() 风格的链式消息发送接口,简洁而表达力强

adapter.Send.To("group", "G1001") \
    .At("U2001") \
    .Reply("msg123") \
    .Text("Hello World")

PyPI 模块化

模块以独立包形式分发,支持懒加载、热更新、生命周期管理与依赖隔离

# pip install ErisPulse-MyModule
# or: epsdk install MyModule

class MyModule(BaseModule):
    @staticmethod
    def get_load_strategy():
        return ModuleLoadStrategy(lazy_load=True)

交互式对话

内置确认、选择菜单、表单收集、多轮对话等交互原语,轻松构建复杂交互流程

@command("survey", help="问卷调查")
async def survey_handler(event):
    choice = await event.choose(
        "你喜欢什么颜色?",
        ["红色", "绿色", "蓝色"]
    )
    if await event.confirm("确认提交?"):
        await event.reply("感谢参与!")

生命周期管理

完整的事件驱动生命周期系统,支持模块加载、适配器启停、Bot上下线等关键阶段的监听与钩子

@sdk.lifecycle.on("adapter.bot.online")
async def on_bot_online(data):
    platform = data["platform"]
    bot_id = data["bot_id"]
    sdk.logger.info(f"Bot上线: {platform}/{bot_id}")

@sdk.lifecycle.on("module.load")
async def on_module_load(data):
    print(f"模块加载: {data['module_name']}")

多平台适配

一套代码同时对接云湖、Telegram、OneBot11/12、邮件等平台,适配器自动处理协议差异

@command("hello")
async def hello(event):
    # 云湖 · Telegram · QQ · 邮件...
    # 同一份代码,所有平台运行
    platform = event.get_platform()
    await event.reply(f"Hello from {platform}!")

MessageBuilder

链式消息段构建器,配合 SendDSL 实现类型安全的结构化消息发送

from ErisPulse.Core import MessageBuilder

msg = (MessageBuilder()
    .mention("U1001")
    .text(" 请查看这张图:")
    .image("https://example.com/img.jpg")
    .build())

await adapter.Send.To("group", "G1").Raw_ob12(msg)

模块市场

--
总模块数
--
功能模块
--
平台适配器
提交模块

欢迎使用 ErisPulse

ErisPulse 是一个开源的 Python 库,目标是提供一个简单、易于使用的框架,用于构建异步、非阻塞的机器人程序。

点击文档导航中的链接,开始探索 ErisPulse 的功能和用法吧。

个性化设置

自定义您的 ErisPulse 体验

动画效果

控制页面过渡动画和交互效果

内容偏好

减少页面间距,显示更多内容

在代码块中显示行号

导航设置

滚动时保持导航栏可见

重置设置

将所有设置恢复为默认值

我们的贡献者

--

感谢这些优秀的开发者为项目做出的贡献