jan
jan copied to clipboard
feat: let users change default installation directory `janroot`
Problem I have the code at ~, and now the app backs up data at ~. I'd like to designate another place for app data persistence.
Success Criteria A clear and concise description of what you want to happen.
- I go to settings
- I type in a new directory
- I confirm I want to
Change App Data Location
- I see a transition/in progress state (if any)
- I get a confirmation it was done
- I get a prompt to restart the App (if needed)
- Upon returning to settings, I see my new path ++ shortcut to open up folder in the new location
Not in scope
- Letting users change
models
folder - I'd prefer we allow #1381 before letting users fork off folders
- An Obsidian Vault-like onboarding flow guiding users through choosing vault locations
Additional context Add any other context or screenshots about the feature request here.
Todo
- [ ] @louis-jan Allow users to choose the default folder configurable on installation
- [ ] Allow users to change the model folder directory
- [ ] Allow users to change the installation directory
1. Allow users to choose the default folder configurable on installation
For @louis-jan @namchuai to configure
2. Allow users to change the model folder directory
Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2052-155715&mode=design&t=ZWZGgzJWErWbLVBs-4
Preview:
Users should be able to change model directory in settings/models
Error when the folder is not available:
Side note
3. Allow users to change the installation directory
Similarly for changing app directory Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2060-186972&mode=design&t=ZWZGgzJWErWbLVBs-4
I noticed we're also letting users change model directory, in addition to janroot
Questions:
- Does that add engineering complexity?
- Does that fundamentally solve the users' issue where they have unique & unpredictable ways of storing model binaries, and want a way to symlink into specific model paths? #1381
- What engineering challenges, edge cases, arise, as a result of decoupling
/models
fromjanroot
? i.e. what happens when I want to delete the App? What happens when i want to package my Jan configs and bring it to a different computer.
My concern is the designs introduce engineering scope creep, that (1) doesn't solve user problems and (2) prone to bugs
- Migration will be a challenge where users have downloaded models. We need to relocate the entire directory. There is no fs progress sync for now. Should ask user for the action?
- Yes
- Decoupling /models from janroot would introduce two kinds of settings: abs vs relv paths (to jan root).
Edge cases:
- AppData (default created by electron) accidentally removed by users, the global config file is there.
- Delete app: we should gather all possible locations and ask the user before cleaning them. However, it seems that only Windows users are familiar with un-installers. On MacOS, they will likely not open the dmg file again to run uninstall script, they will prob just delete the jan.app.
- Delete app: we should gather all possible locations and ask the user before cleaning them. However, it seems that only Windows users are familiar with un-installers. On MacOS, they will likely not open the dmg file again to run uninstall script, they will prob just delete the jan.app.
This is my main concern with increasing the scope of this ticket to let users fork off ~/models.
This means mac users will be left with many orphaned model.jsons
even though they deleted the app. Bad practice.
Let's do one thing at a time. Reduce complexity please.
LM Studio has this simple option to relocate local models folder.
In case of Jan, it could be the entire data-root which also contains all the folders like assistants
, models
etc.
To do
Allow users to change the app directory in settings
Design
Full design flow: https://www.figma.com/file/ytn1nRZ17FUmJHTlhmZB9f/Jan-App?type=design&node-id=2270-285004&mode=design&t=e4y3O3QchhS4m1GT-4 cc @louis-jan @urmauur
Preview
Archive @0xSage's original comment:
Problem I have the code at ~, and now the app backs up data at ~. I'd like to designate another place for app data persistence.
Success Criteria A clear and concise description of what you want to happen.
- I go to settings
- I type in a new directory
- I confirm I want to
Change App Data Location
- I see a transition/in progress state (if any)
- I get a confirmation it was done
- I get a prompt to restart the App (if needed)
- Upon returning to settings, I see my new path ++ shortcut to open up folder in the new location
Not in scope
- Letting users change
models
folder - I'd prefer we allow #1381 before letting users fork off folders
- An Obsidian Vault-like onboarding flow guiding users through choosing vault locations
Additional context Add any other context or screenshots about the feature request here.