Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC]: AionBot Architecture #1

Open
fu050409 opened this issue Sep 23, 2024 · 2 comments
Open

[RFC]: AionBot Architecture #1

fu050409 opened this issue Sep 23, 2024 · 2 comments
Labels
good first issue Good for newcomers RFC Request For Comment

Comments

@fu050409
Copy link
Member

Preface

In fact, there are quite a few mature robotics frameworks out there, for example, Nonebot is a simple but powerful robotics runtime, unfortunately, Python is not able to provide the performance we would like (even since Python 3.12+, the Python provides a way to disable global interpreter locks, but we need to consider forward compatibility in most cases. In particular, it may be difficult to quickly configure a high version of the Python interpreter on systems such as CentOS), and going with C/C++ would be a step backward in history (we can't imagine when the Safe C++ proposal will actually be implemented). In the meantime, in order to move forward with the modernization of Moonstone, I think we need to have such a high concurrency Rust-based bot runtime.

Design Philosophy

  • Performance First: All codes wil be written in Rust as long as we can, maybe we will create a Nodejs FFI or Python FFI dymanic libraries of this project later, but Rust is always the first time choice.
  • Async Styled Echosystem: Similar to Nonebot2, we need to create a similarly styled Rust crate for concurrency based on the Rust macro.
  • Plugin Based: The core of AionBot should not designed with bot protocol adapters. Plugins should worked like Farm which is well-designed.
  • Event Stream: We should desgin a event stream like Infini runtime, which includes well-designed text stream system.

Futher Discussion

For the RFCs above, we need more discussion on the exact designs like data structure and the api styles and so on.

Feel free to comment any ideas here.

@fu050409 fu050409 added good first issue Good for newcomers RFC Request For Comment labels Sep 23, 2024
@HsiangNianian
Copy link
Member

I have no idea

@fu050409
Copy link
Member Author

I have no idea

That's really a shame.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers RFC Request For Comment
Projects
None yet
Development

No branches or pull requests

2 participants