mirror of
https://github.com/open-webui/desktop
synced 2025-06-26 18:15:59 +00:00
56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# Developer Documentation
|
|
## Prerequisites
|
|
To work on this Electron project, you must have the following installed:
|
|
- **Conda**: A package, dependency, and environment management tool.
|
|
- **conda-pack**: To pack Conda environments into tarballs.
|
|
- **conda-lock**: To generate lockfiles for Conda environments.
|
|
- **Node.js 22+**: Ensure that your Node.js version is at least 22 (tested with v22.10).
|
|
|
|
### Installation Notes
|
|
- Install **conda-pack** and **conda-lock** globally or ensure they are available in the project's Python environment (e.g., a virtual environment).
|
|
- Double-check your tool versions to avoid compatibility issues.
|
|
|
|
---
|
|
|
|
## Getting Started
|
|
1. **Clone the repository**:
|
|
```bash
|
|
git clone https://github.com/open-webui/app
|
|
cd app
|
|
```
|
|
|
|
2. **Install Node.js dependencies**:
|
|
```bash
|
|
npm i
|
|
```
|
|
|
|
3. **Generate the Python environment tarball**:
|
|
```bash
|
|
npm run create:python-tar
|
|
```
|
|
> Note: This requires **conda-lock** to be installed and properly configured.
|
|
|
|
4. **Start the development environment**:
|
|
```bash
|
|
npm run start
|
|
```
|
|
This will launch the project in development mode.
|
|
|
|
---
|
|
|
|
## Building Distributables
|
|
To generate production-ready distributables (e.g., installers or app packages), run:
|
|
```bash
|
|
npm run make
|
|
```
|
|
This will create the necessary files for distribution in the `out` directory.
|
|
|
|
---
|
|
|
|
## Notes
|
|
- Ensure **conda**, **conda-pack**, and **conda-lock** are installed and working within your environment (global or virtual).
|
|
- Use Node.js **version 22+** to avoid runtime and compatibility issues (verified with v22.10).
|
|
- If you encounter issues, examine the project-specific scripts in the `package.json` file for troubleshooting.
|
|
- Always review logs carefully if commands produce errors to identify dependencies or configuration steps you might need to address.
|
|
|
|
Enjoy developing! 🚀 |