Description
Currently, the "recently used models" list is global. This is inconvenient.
Say I use crush in a work project with an openrouter model, then afterwards I use crush in a personal project (where I want to use my personal hyper account rather than the work openrouter api key).
So everytime I have to go to the model list and change the model back and forth.
And it makes more sense to tie the model preference to a project rather than globally.
Possible Solutions
Currently, the recent models are stored in the global ephemeral state at ~/.local/share/crush/crush.json. This can easily be made per project by either:
- Shifting the recent models list to
~/.local/share/crush/projects.json, which already contains every single project where crush is used.
- Making a new entry in
~/.local/share/crush/crush.json which is an object mapping every project to its recent models list.
- Making a new file in
$project/.crush/
Description
Currently, the "recently used models" list is global. This is inconvenient.
Say I use crush in a work project with an openrouter model, then afterwards I use crush in a personal project (where I want to use my personal hyper account rather than the work openrouter api key).
So everytime I have to go to the model list and change the model back and forth.
And it makes more sense to tie the model preference to a project rather than globally.
Possible Solutions
Currently, the recent models are stored in the global ephemeral state at
~/.local/share/crush/crush.json. This can easily be made per project by either:~/.local/share/crush/projects.json, which already contains every single project where crush is used.~/.local/share/crush/crush.jsonwhich is an object mapping every project to its recent models list.$project/.crush/