Work in progress. This pull request has the code for building Windows, macOS, and Linux applications. This will become a separate app in the monorepo, although this app also contains many updates that will also be merged into the web app.
The following are the things that will differentiate the desktop app:
No server-side code
API keys are stored in OS keyring/keychain
Token count runs over Rust rather than TypeScript
All streaming functions are rewritten in Rust to overcome CORS limitations in the browser.
Ollama model fetcher was also rewritten in Rust to overcome CORS issue.
Progress:
[X] Implement support for local storage
[X] Save API keys to OS keyring
[X] Change Ollama completion stream so it works locally
[X] Change OpenAI completion stream so it works locally
[x] Change Anthropic completion stream so it works locally
[x] Change Google completion steam so it works locally
[x] Github workflow to automatically produce Linux release
[x] Github workflow to automatically produce MacOS release
[x] Github workflow to automatically produce Windows release
Work in progress. This pull request has the code for building Windows, macOS, and Linux applications. This will become a separate app in the monorepo, although this app also contains many updates that will also be merged into the web app.
The following are the things that will differentiate the desktop app:
Progress:
Instructions to run desktop app:
pnpm install
cd apps/desktop
pnpm tauri dev