Coder Social home page Coder Social logo

hydroroll-team / hydroroll Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 2.0 41.44 MB

跨平台、多模态、高度自定义的骰系开发框架 | “如何更好的为冷门规则书做适配”?| “如何更好的实现人机交互?”

Home Page: https://docs.hydroroll.team

License: GNU Affero General Public License v3.0

Python 92.10% Dockerfile 6.83% Rust 1.07%
ai artificial-intelligence asr audio-speech-recognition cross-platform dice dice-roller dice-roller-library framework hydroroll

hydroroll's People

Contributors

baimianxiao avatar dependabot[bot] avatar hsiangnianian avatar ntskwk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hydroroll's Issues

feat: PREPOSITIONS SONG

介词之歌,顾名思义,里面的单词全部作为命令保留字。

From the beginning to the end
With every breath and every step
Through the highs and the lows
By the day and by the night
Under the sun and under the moon
Over the hills and over the seas
Across the lands and across the skies
Among the stars and among the clouds
Between the dreams and between the hopes
Beyond the words and beyond the deeds
Without a doubt and without a fear
For the joy and for the pain
Of the life and of the heart

refactor: Main Site

按照现在的文档更新发展下去,水系官网很快就变成卖手机的了,并且也有一些笨重,巨大。

feat: 第一个接近架构设计的版本

需求分析

接近架构的设计初衷,即先完成设计一个统一且规范的范式命令语言词法解析系统,除字面意思外还应当包含如下需求。

  1. 能够模块化的加载和调用各个一级命令所对应的类。
  2. 根据已定义的范式(公式)实现对生产环境下的命令字符串的自动联想功能。
  3. config.toml 中的 HydroRoll 键所对应的部分键值对(比如命令头文本)设计为运行时可修改(即使用 AliasCommand 对配置实时读写)。
  4. 高并发且异步的数据库操作类。

其他要求

  1. 对于config.toml配置内的键值对,应当在早期版本的设计中留出API接口,日后需要完全废弃对config.toml的直接更改这一危险行为,最好是转为webui内对数据库进行操作。

bug: could not compile `time` (lib) due to 1 previous error

error[E0282]: type annotations needed for `Box<_>`
  --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.34/src/format_description/parse/mod.rs:83:9
   |
83 |     let items = format_items
   |         ^^^^^
...
86 |     Ok(items.into())
   |              ---- type must be known at this point
   |
   = note: this is an inference error on crate `time` caused by an API change in Rust 1.80.0; update `time` to version `>=0.3.35` by calling `cargo update`

https://productionresultssa12.blob.core.windows.net/actions-results/fc384576-41f7-4606-bd01-1c63e09f16d6/workflow-job-run-b9f7605c-791e-5c38-580a-a881812b3d8d/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-09-07T20%3A36%3A56Z&sig=HQ%2BJIjWfXBFUVv8gTgdTdiToSdGC0v22dY8snb9r4f8%3D&ske=2024-09-08T05%3A56%3A18Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2024-09-07T17%3A56%3A18Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2024-05-04&sp=r&spr=https&sr=b&st=2024-09-07T20%3A26%3A51Z&sv=2024-05-04

水系架构与 Changelog

Intro

因为已经躺床上不愿再爬起来做到电脑前新开一个组织和网页 repo 以及 md 文档等缘故,因此记录在这里。

同样的,继续使用 Markdown 语法。

Getting

这里主要记录 HydroRoll'水系 (下称“水系”) 的基本架构,因为我混迹的骰系很多,所以对应的水系架构在诸多方面会延续相关骰系做得比较好的地方。同时也因为我自己 GitHub 加入过一些其他骰系核心开发组组织的缘故,因此在这里不能全盘托出。

组成

水系 采用模块化管理,插件化热插拔模式,主要由两部分组成:

  • AI
    人工智能模块,会内置一个多任务 nlp 预训练模型,模型也是热插拔的。虽然使用起来门槛(不仅是知识还是设备硬件等)较高,但是是 水系 与其他骰系 架构 上最重要的不同之处。
  • TRPG
    跑团模块,这里是受知识门槛和设备门槛限制的骰主最需要关注的地方,也是整个 水系 的核心。

TRPG

以下是一些不同于其他骰系的子模块介绍:

  • wiki
    请将 wiki 系统想象成你的个人 wiki 站点,它替代了其他骰系(比如 shiki 系、豹骰、青果系) 的“helpdoc”,wiki 系统允许创建 至多四级 的嵌套词条页面,同时也支持设置你的 wiki 系统管理员。它从属于 rules 模块。

  • rules
    rules 系统也是插件式热插拔的,同时它会作为群聊与 水系 骰娘互动的基础( rules 是群聊能否跑团的充要条件),因此请将一个一个 rules 系统想象成一个一个群聊。在这里引入一个 世界主 概念,世界主 是对应 rules 的作者或管理员,有权为所处群聊绑定自己的 rules ,同时,可以自由更改自己(管理)的 rules 系统内部内容(比如 _wiki_词条)。

    到这里,大家应该都很清楚 rules 系统实际上是为了规则书作者们以及大量不同规则的团而诞生的。

Changelog

0.1.2(2) 2023-05-02

  • FIXED
    1. 修复了 at 其他人也会回复指令的 bug。
  • ENHANCEMENT
    1. 完善了配置体系。

feat: 特定(可选)指令下的输入流读取模式

要求

  1. webui 中应当表现为一个可选的开关按钮。
  2. psi 中应当是一个 @ 装饰器。
  3. 在框架插件中应当是一个 self.event.ask 方法。

预期

输入一条指令的多段形式,能够被视为一段且正确响应。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.