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.
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
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.