Skip to content

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

License

AFL-3.0 and 3 other licenses found

Licenses found

AFL-3.0
LICENSE
AGPL-3.0
LICENSE-AGPL-3
CC0-1.0
LICENSE-CC-1
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

HydroRoll-Team/HydroRoll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

official site Join The Community Ruff python_v crates_v release_img Documentation Status CodeQL

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

欢迎来到 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

社区与贡献

HydroRoll[水系] 不仅仅是一个骰系开发框架,更是一个不断壮大的用户和框架开发者社区。

我们已经在水系的文档主页上列出了主要的社区交流渠道。与核心框架开发人员取得联系的最佳方式是加入 HydroRoll[水系] 社区论坛 Github Discussions

如果你想要开始为 HydroRoll-Team 组织下的任何项目做贡献,请参阅 贡献指南,这本指南还包括了提交 Issue 与 PullRequest 的规范。


知识问答

“谁适合水系?”

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

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

  1. 水系是一个骰系开发框架: 允许你方便快捷的开发自己的骰系。抛开人工智能模块的水系的第一用户是世界主。
  2. 水系不是一个具体的骰系: 但是水系有一个官方的规则书与骰系实现(传送门)。在水系社区,骰系概念是被弱化的,一个加载了独特的规则包的骰子,便是一个骰系(针对此规则包所对应的规则书而言)。

许可证

AFLv3.0 & AGPLv3.0 © 2023-PRESENT 简律纯 & HydroRoll-Team

license icon

FOSSA Status