Skip to content

HydroRoll-Team/HydroRoll

official site Ruff python_v crates_v release_img Documentation Status CodeQL

跨平台、多模态、高度自定义的骰系开发框架 Structure

欢迎来到 HydroRoll [水系],一个依据科学架构并由多模态模型赋能,使用 RustPython 编写的高性能、跨平台骰系开发框架。

🌏 此框架主要用于解决 “如何更好的为冷门规则书做适配”“如何更好的实现人机交互” 两个问题。如果你是世界主、规则书作者、人工智能(自然语言处理方向)爱好者,那么水系或许是你的不二之选。

  • 🦀 核心由 Rust 编写,性能优异、速度惊人。
  • 🐍 Python 编写的顶层业务逻辑,方便使用、更快入门。
  • 📕 基于规则书的架构,名副其实的骰系(制造)工场。
  • ⚡ 仅需三条指令即可快速安装运行已有的规则包,或开发自己的骰系。
  • 🛠️ 灵活的配置,高度自定义,就像搭积木与拼拼图一样简单高效。
  • 🔌 可选的拓展模块,兼容 shikilua 模块、兼容青果 onedice 标准的骰子表达式解析模块等...
  • 👍 跨平台,对接 onebot 协议、 kook 平台、 dingtalk 软件、 telegramdiscordminecraft...与自研 IM 平台。
  • 🧩 兼容的插件设计,可编写 luapythonjavascript 脚本,为附加功能赋能, Blockly 傻瓜式在线可视化编写水系脚本插件。
  • 🎲 Meta 级别的掷骰表达式解析库,可自定义任何解析规则,或可用于一条指令执行多个操作~>学习 oneroll
  • 🤖 内嵌 AI 工具——水系模型工作流, webui 管理各个单一任务模型的输入输出与嵌套关系,低成本实现媲美大模型的多任务功能。
  • 🎢 渐进式学习框架,从编写简单的 nivis reply 脚本,到编写满足小需求的 luapython 脚本,再到成为世界主编写自己的规则包模块,甚至训练水系模型,层层递进,轻松学习。
  • 🔓 更多特性等你发掘!

安装与使用

在安装 3.9+ 版本的 Python 之后,请先全局安装 pdm 依赖,接着全局安装 hydro_roll 包。

pip install hydro_roll
# pip install hydro_roll[all] 安装所有组件
# pip install hydro_roll[basemodel] 安装基础模型
# pip install hydro_roll[dev] 安装开发包

接着使用 atien 命令搭建机器人模板并运行。

atien new -b coc_example "HydroRollBot"
cd HydroRollBot
atien run

更多详细的使用方法请参考 官方文档

开发示例

你可以选择从框架端开始开发水系骰子。

pip install iamai
iamai new "HydroRollDevBot"

iamai install hydro_roll --dist HydroRollDevBot
# cd HydroRollDevBot
# iamai install hydro_roll

接着你需要自行修改 config.toml 中的相关适配器与 hydro_roll 插件的配置。

最后你可能需要一个启动锚点—— main.py

from iamai import Bot

bot = Bot(hot_reload=True)

if __name__ == '__main__':
    bot.run()
python main.py

知识问答

“谁适合水系?”

  • 世界主——规则书作者。水系基于通用规则包(规则书的 Python 实现)标准架构,可以为你一键生成规则书 的 pdf 版本与一个在线规则书浏览站点,同时允许你在规则包内自定义高优先级的骰系内建指令。一个规则 包,便是一个骰系。
  • 插件爱好者——下游插件开发者。水系插件可用 luapythonjavascript 编写,同时,支持在线将其他骰 系的插件文件(如 shikilua 脚本,青果的 python 插件,海豹的 js 插件等)转换为水系对应语言的插 件脚本实现,另有使用 Blockly 搭建的可视化编程站点,轻松编写插件脚本。
  • 机器学习爱好者。水系继承自多模态机器学习框架 iamai,能够同时训练与推理多个模型,试想你的骰子拥有 自己的独特人格...
  • 渴望游玩冷门规则的 kppl

“水系是什么?水系不是什么?”

水系是一个骰系开发框架,允许你方便快捷的开发自己的骰系。抛开人工智能模块的水系的第一用户是世界主。

水系不是一个具体的骰系,但是水系有一个官方的规则书实现。在水系社区,骰系概念是被弱化的,一个加载了 独特的规则包的骰子,便是一个骰系(针对此规则包所对应的规则书而言)。


MIT © 2023-PRESENT 简律纯 & HydroRoll-Team.

license icon

FOSSA Status