atuinsh / atuin

✨ Magical shell history
https://atuin.sh
MIT License
18.51k stars 519 forks source link

Neural-network based prediction/ranking algorithm (ala mcfly) #1549

Open silasdavis opened 5 months ago

silasdavis commented 5 months ago

https://github.com/cantino/mcfly/issues/373 discusses integrating mcfly with atuin, proposing to piggy-back on Atuin's sync.

Personally I'd like to see the converse - the Atuin front end, UI, and sync, but with the option to learn a network to rank results based on context.

mcfly is MIT licensed and you are both rust-based so perhaps just that code in either as a dependency or a seed from which you may diverge. I appreciate that there are some issues of etiquette here that go deeper than mere licensing but it looks like mcfly is looking for maintainers, whereas @ellie is now full time on atuin, perhaps a merger/subsumption of parts of mcfly into atuin is not unthinkable?

jankatins commented 4 months ago

I would also like to see this (I originally proposed https://github.com/cantino/mcfly/issues/373 but given that mcfly seems to be unmaintained, adding an intelligent mixed model to atuin seems to be more sensible).

Myfly works really nice for "short" search strings, e.g. cd into a dir and ctrl+r (without search string) will give you the right answer what I want in the first 2-3 items. This would also be nice for zsh autosuggestions.

My understanding is that mcfly has a some kind of regression/mini neural network model (no idea what happens there, unfortunately) together with some sqlite magic to rank the results. Mcfly also captures more state: what command was finally selected in a specific setting or if the command was run directly after cd'ing into a dir.

atuin-bot commented 4 months ago

This issue has been mentioned on Atuin Community. There might be relevant details there:

https://forum.atuin.sh/t/a-regex-search-mode/169/14