diff --git a/docs/src/pages/docs/data-folder.mdx b/docs/src/pages/docs/data-folder.mdx index d9e4abcf6..5abe68237 100644 --- a/docs/src/pages/docs/data-folder.mdx +++ b/docs/src/pages/docs/data-folder.mdx @@ -1,6 +1,6 @@ --- title: Jan Data Folder -description: Discover the Structure of Jan Data. +description: A guide to Jan's data structure. sidebar_position: 2 keywords: [ @@ -25,19 +25,17 @@ import { Settings, FolderOpen } from 'lucide-react' # Jan Data Folder -Jan stores your data locally in your own filesystem in a universal file format (JSON). We build for privacy by default and do not collect or sell your data. - -This guide helps you understand where and how this data is stored. +Jan stores your data locally in JSON format. Your data is yours alone. ## Open Jan Data Folder -To open from Jan's interface: -1. In Jan, navigate to **Settings** () > **Advanced Settings** -2. Click icon to open Jan Data Folder +Via Jan: +1. Settings () > Advanced Settings +2. Click
![Open Jan Data Folder](./_assets/settings-11.png)
-To open through Terminal: +Via Terminal: ```bash # Windows @@ -47,22 +45,16 @@ cd %APPDATA%/Jan/data cd ~/Library/Application\ Support/Jan/data # Linux -## Custom installation directory -cd $XDG_CONFIG_HOME/Jan/data - -# or - -## Default installation directory -cd ~/.config/Jan/data - +cd $XDG_CONFIG_HOME/Jan/data # Custom install +cd ~/.config/Jan/data # Default install ``` -## Folder Structure -Jan app data folder should have the following folder structure: +## Directory Structure + -Jan is stored in the root `~/jan` by default. +Root directory: `~/jan` -```yaml +```sh /assistants /jan assistant.json @@ -93,15 +85,9 @@ Jan is stored in the root `~/jan` by default. thread.json messages.jsonl ``` -### `jan/` (The Root Directory) - -This is the primary directory where all files related to Jan are stored. It typically resides in the user's home directory. ### `assistants/` - -Stores configuration files for various AI assistants. Each assistant within this directory can have different settings. - -- **Default Assistant**: Located in `/assistants/jan/`, it includes an `assistant.json` configuring the default settings and capabilities. The default sample of `assistan.json` is as follows: +Where AI personalities live. The default one (`/assistants/jan/`): ```json { @@ -114,132 +100,127 @@ Stores configuration files for various AI assistants. Each assistant within this "model": "*", "instructions": "" } - ``` -Each parameter in the file is defined as follows: - -| Parameter | Description | Type | Default Value | -|-------------------------|-----------------------------------------------------------------------------------------------|---------|----------------------------------------------------| -| id | Identifier for the assistant, defaults to "jan". | string | jan | -| avatar | The avatar image for the assistant. | string | None | -| object | Specifies the assistant type in OpenAI-compatible API responses. | string | None | -| created_at | Timestamp indicating when the assistant was created. | string | None | -| name | Display name for the assistant. | string | Jan | -| description | A description of the assistant's role. | string | A default assistant that can use all downloaded models. | -| model | Defines which models the assistant can use, with * indicating all models are available. | string | * | -| instructions | Default instructions provided to new threads. | string | None | -| file_ids | Field for referencing file IDs in OpenAI-compatible responses. | string | None | -| tools | List of tools available for the assistant, with only the "retrieval" tool supported so far. | array | retrieval | -| type | Specifies the type of tool, default is "retrieval". | string | retrieval | -| enabled | Indicates whether the tool is enabled by default.| boolean | true | -| useTimeWeightedRetriever | Controls if the time-weighted retrieval feature is enabled. | boolean | false | -| settings | Configuration settings for the tool (retrieval tool in this case). | object | None | -| top_k | Number of top results to return in retrieval, with a default of 2. | number | 2 | -| chunk_size | Defines the size of text chunks to process for the retrieval tool. | number | 1024 | -| chunk_overlap | Determines the amount of overlap between text chunks in the retrieval process. | number | 64 | -| retrieval_template | Template for formatting the retrieval tool's responses to queries. | string | None | +Parameters: +| Parameter | Description | Type | Default | +|------------------------|--------------------------------------------------------------|---------|---------| +| id | Assistant identifier | string | jan | +| avatar | Assistant image | string | None | +| object | OpenAI API compatibility marker | string | None | +| created_at | Creation timestamp | string | None | +| name | Display name | string | Jan | +| description | Role description | string | Default | +| model | Allowed models (* = all) | string | * | +| instructions | Default thread instructions | string | None | +| file_ids | OpenAI compatibility field | string | None | +| tools | Available tools (retrieval only currently) | array | retrieval| +| type | Tool type | string | retrieval| +| enabled | Tool status | boolean | true | +| useTimeWeightedRetriever| Time-weighted retrieval toggle | boolean | false | +| settings | Tool configuration | object | None | +| top_k | Max retrieval results | number | 2 | +| chunk_size | Text chunk size | number | 1024 | +| chunk_overlap | Chunk overlap amount | number | 64 | +| retrieval_template | Response format template | string | None | ### `extensions/` - -Extensions enhance Jan's functionality by adding new capabilities or integrating external services. - -- **@janhq**: The root folder for all extensions by the author. Extensions with organization-level names (e.g., `@janhq/monitoring-extension`) are stored here. If there is no organization, the folder holds the extension directly (e.g., `example-extension`). - -- **extensions.json**: A file that lists all installed extensions and their metadata, taken from each extension’s `package.json`. It helps avoid scanning all extension folders, improving performance. +Add-on central. Organization extensions live in `@janhq/`, solo ones in root. ### `logs/` - -Logs from the application are stored here. This is useful for troubleshooting and monitoring the application's behavior over time. The file `/logs/app.txt` uses prefixes to indicate the source of the logs: -- **[APP]**: App logs -- **[SERVER]**: API server logs -- **[SPECS]**: Hardware information logs +Debugging headquarters (`/logs/app.txt`): +- **[APP]**: Core logs +- **[SERVER]**: API drama +- **[SPECS]**: Hardware confessions ### `models/` - -Stores the AI models that the assistants use to process requests and generate responses. - -- **Model Configurations**: Each model directory, such as `/models/modelA/`, contains a `model.json` with settings specific to that model. +The silicon brain collection. Each model has its own `model.json`. -To see the full list of `model.json` parameters, please see [here](/docs/models/model-parameters). +Full parameters: [here](/docs/models/model-parameters) ### `settings/` +Control panel. Extension settings in `/settings/@janhq/`: -General settings for the application are stored here, separate from individual assistant or engine configurations. - -- **Extension-specific Settings**: Additional settings for extensions are stored in respective subdirectories under `/settings/@janhq/`. Each parameter in the file is defined as follows: - -| Parameter | Description | -|-----------------|----------------------------------------------------------------------| -| `key` | The setting key. | -| `title` | The setting title. | -| `description` | The setting description. | -| `controllerType`| The type of setting component (checkbox, input, slider, etc.). | -| `controllerProps`| Properties of the controller (e.g., value, placeholder, textAlign). | -| `extensionName` | The extension ID, used to map with the parent extension. | - -- **General Settings**: The `settings.json` in the `/settings/` directory holds application settings related to the GPU acceleration. Each parameter in the file is defined as follows: - -| Parameter | Description | -|----------------------|---------------------------------------------------------------------------------------------| -| `notify` | Whether notifications are enabled (true/false). | -| `run_mode` | The mode the application is running in (e.g., "cpu"). | -| `nvidia_driver.exist`| Whether the NVIDIA driver is present (true/false). | -| `nvidia_driver.version`| The version of the installed NVIDIA driver. | -| `cuda.exist` | Whether CUDA is available (true/false). | -| `cuda.version` | The version of CUDA installed. | -| `gpus[0].id` | The ID of the GPU (e.g., "0"). | -| `gpus[0].vram` | The amount of VRAM for the GPU (in MB). | -| `gpus[0].name` | The name of the GPU (e.g., "NVIDIA GeForce RTX 3050 Laptop GPU"). | -| `gpus[0].arch` | The architecture of the GPU (e.g., "ampere"). | -| `gpu_highest_vram` | The ID of the GPU with the highest VRAM. | -| `gpus_in_use` | The list of GPU IDs currently in use (e.g., "0"). | -| `is_initial` | Indicates whether it's the initial run (true/false). | -| `vulkan` | Whether Vulkan support is available (true/false). | - +| Parameter | Description | +|----------------|----------------------------------------------------| +| key | Setting identifier | +| title | Display name | +| description | Setting explanation | +| controllerType | UI component type | +| controllerProps| Component properties | +| extensionName | Parent extension link | +GPU settings (`settings.json`): +| Parameter | Description | +|----------------------|--------------------------------------------| +| notify | Notification status | +| run_mode | Operating mode | +| nvidia_driver.exist | NVIDIA driver presence | +| nvidia_driver.version| Driver version | +| cuda.exist | CUDA availability | +| cuda.version | CUDA version | +| gpus[0].id | GPU identifier | +| gpus[0].vram | GPU memory (MB) | +| gpus[0].name | GPU model | +| gpus[0].arch | GPU architecture | +| gpu_highest_vram | Most capable GPU | +| gpus_in_use | Active GPUs | +| is_initial | First run flag | +| vulkan | Vulkan support | ### `themes/` +Visual wardrobe. Each theme's `theme.json`: -The `themes` directory contains different visual themes for the application, allowing customization of the user interface. Each of theme directory contains the `theme.json` that has the following parameters: - -| Parameter | Description | -|----------------------|----------------------------------------------------------------------------------| -| `id` | The theme's ID. | -| `displayName` | Theme display name, as seen in theme settings. | -| `reduceTransparent` | Setting to reduce transparency of the window/background. | -| `nativeTheme` | Indicates whether the theme depends on the OS's light/dark settings. | -| `variables` | Contains all possible component configurations. | +| Parameter | Description | +|------------------|-------------------------------------------| +| id | Theme identifier | +| displayName | UI name | +| reduceTransparent| Transparency control | +| nativeTheme | OS theme sync | +| variables | Component settings | ### `threads/` +Chat archive. Each thread (`/threads/jan_unixstamp/`) contains: -Threads history is kept in this directory. Each session or thread is stored in a way that makes it easy to review past interactions. Each thread is stored in its subdirectory, such as `/threads/jan_unixstamp/`, with files like `messages.jsonl` and `thread.json` that contains the following parameters: - -- `messages.jsonl`: Array of OpenAI compatible message objects belong to the thread. For example: - -```jsonl - {"id":"01J6Y6FH8PFTHQB5PNJTHEN27C","thread_id":"jan_1725437954","type":"Thread","role":"assistant","content": - [{"type":"text","text":{"value":"Hello! Is there something I can help you with or would you like to chat?","annotations": - []}}],"status":"ready","created":1725442802966,"updated":1725442802966,"object":"thread.message"} +- `messages.jsonl`: +```json + { + "id":"01J6Y6FH8PFTHQB5PNJTHEN27C", + "thread_id":"jan_1725437954", + "type":"Thread", + "role":"assistant", + "content": + [ + { + "type": "text", + "text": { + "value": "Hello! Is there something I can help you with or would you like to chat?", + "annotations": [] + } + } + ], + "status": "ready", + "created": 1725442802966, + "updated": 1725442802966, + "object": "thread.message" + } ``` -- `thread.json`: The thread's metadata that contains the following parameters: +- `thread.json`: -| Parameter | Description | -|----------------|---------------------------------------------------------------------------------------------------------------------------------------------| -| `id` | Thread's ID (can be generated by the folder name). | -| `object` | "thread" (OpenAI-compatible field). | -| `title` | Thread's title (editable in the GUI from the Thread List on the left panel). | -| `assistants` | Contains cloned assistant metadata and specialized settings for the thread. Includes all assistant settings mentioned under the Jan assistant section. | -| `model` | The selected model and its settings/parameters for the thread. Changes made by users to thread settings are written here, rather than in model.json. Also contains the ID and engine of the selected model for quick querying by extensions. | -| `metadata` | Additional thread data, such as `lastMessage`, which provides GUI information but does not use OpenAI-compatible fields. | +| Parameter | Description | +|------------|------------------------------------------------| +| id | Thread identifier | +| object | OpenAI compatibility marker | +| title | Thread name | +| assistants | Assistant configuration clone | +| model | Active model settings | +| metadata | Additional thread data | - -## Delete Jan Data Folder - -If you have uninstalled Jan, you may also want to delete the Jan data folder. -See detail instructions on [Mac](/docs/desktop/mac#step-2-clean-up-data-optional), [Window](/docs/desktop/windows#step-2-handle-jan-data), [Linux](docs/desktop/linux#uninstall-jan). \ No newline at end of file +## Delete Jan Data +Uninstall guides: [Mac](/docs/desktop/mac#step-2-clean-up-data-optional), +[Windows](/docs/desktop/windows#step-2-handle-jan-data), or [Linux](docs/desktop/linux#uninstall-jan). diff --git a/docs/src/pages/docs/desktop/linux.mdx b/docs/src/pages/docs/desktop/linux.mdx index 69e9623e2..bb5395bb9 100644 --- a/docs/src/pages/docs/desktop/linux.mdx +++ b/docs/src/pages/docs/desktop/linux.mdx @@ -1,6 +1,6 @@ --- title: Linux -description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting. +description: Get started quickly with Jan, an AI chat application that runs 100% offline on your desktop & mobile (*coming soon*). keywords: [ Jan, @@ -28,9 +28,10 @@ import { Settings } from 'lucide-react' # Linux Installation -To install Jan desktop on Linux, follow the steps below: +Instructions for installing Jan on Linux. + ## Compatibility -Ensure that your system meets the following requirements to use Jan effectively: +System requirements: @@ -59,7 +60,7 @@ Ensure that your system meets the following requirements to use Jan effectively: - openSUSE (Both desktop and server) -Please check whether your Linux distribution supports desktop, server, or both environments. +Desktop or server support varies by distribution. @@ -69,7 +70,7 @@ Please check whether your Linux distribution supports desktop, server, or both e - Excavator processors (Q2 2015) and newer -Jan requires a processor with **AVX2 or newer** for optimal performance. See [full list of supported processors](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2). While Jan may run on processors with only AVX support, performance will be significantly reduced. +CPU must support AVX2. See [supported processors](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2). @@ -79,95 +80,85 @@ Jan requires a processor with **AVX2 or newer** for optimal performance. See [fu - 32GB → up to 13B parameter models (int4) -DDR2 RAM minimum supported, newer generations recommended for better performance. +DDR3 or newer recommended. -- 6GB → up to 3B parameter models (int4) +- 6GB → up to 3B parameter models (int4) - 8GB → up to 7B parameter models (int4) - 12GB → up to 13B parameter models (int4) -Minimum 6GB VRAM recommended for NVIDIA, AMD, or Intel Arc GPUs. +6GB VRAM minimum required. -At least **10GB** for app installation and model downloads. +Minimum 10GB free disk space required. ## Install Jan -To install Jan, follow the steps below: +Installation steps: ### Step 1: Download Application -Jan provides 3 types of releases: +Available releases: -Please download Jan from official distributions, or build it from source. - - Download Jan on **Ubuntu**: [jan.deb](https://app.jan.ai/download/latest/linux-amd64-deb) - - Download Jan on **Fedora**: [jan.AppImage](https://app.jan.ai/download/latest/linux-amd64-appimage) +Stable release: + - Ubuntu: [jan.deb](https://app.jan.ai/download/latest/linux-amd64-deb) + - Others: [Jan.AppImage](https://app.jan.ai/download/latest/linux-amd64-appimage) - Official Website: https://jan.ai/download -Beta releases let you test new features, which may be buggy: - - Download Jan's Beta Version on **Ubuntu**: [jan.deb](https://app.jan.ai/download/beta/linux-amd64-deb) - - Download Jan's Beta Version on **Fedora**: [jan.AppImage](https://app.jan.ai/download/beta/linux-amd64-appimage) +Beta release: + - Ubuntu: [jan.deb](https://app.jan.ai/download/beta/linux-amd64-deb) + - Others: [Jan.AppImage](https://app.jan.ai/download/beta/linux-amd64-appimage) -Keep in mind that this build might crash frequently or contain bugs! +May contain bugs. Use with caution. -Nightly releases are for internal team to test new feature builds everyday, which is very buggy: - - - Download Jan's Nightly Version on **Ubuntu**: [jan.deb](https://app.jan.ai/download/nightly/linux-amd64-deb) - - Download Jan's Nightly Version on **Fedora**: [jan.AppImage](https://app.jan.ai/download/nightly/linux-amd64-appimage) +Development build: + - Ubuntu: [jan.deb](https://app.jan.ai/download/nightly/linux-amd64-deb) + - Others: [Jan.AppImage](https://app.jan.ai/download/nightly/linux-amd64-appimage) -Keep in mind that this build crashes frequently or contains bugs! +Experimental version. Expect instability. ### Step 2: Install Application -Here are the steps to install Jan on Linux based on your Linux distribution: +Installation commands: - + -Install Jan using either **dpkg** or **apt-get**: ##### dpkg ```bash -# Install Jan using dpkg sudo dpkg -i jan-linux-amd64-{version}.deb ``` ##### apt-get ```bash -# Install Jan using apt-get sudo apt-get install ./jan-linux-amd64-{version}.deb -# where jan-linux-amd64-{version}.deb is the path to the Jan package ``` -1. Make the AppImage executable using the following command: ```bash chmod +x jan-linux-x86_64-{version}.AppImage -``` - -2. Run the AppImage file using the following command: -```bash ./jan-linux-x86_64-{version}.AppImage ``` @@ -178,7 +169,7 @@ chmod +x jan-linux-x86_64-{version}.AppImage ## Data Folder -By default, Jan is installed in the following directory: +Default locations: ```bash # Custom installation directory @@ -190,11 +181,11 @@ or ~/.config/Jan/data ``` -See [Jan Data Folder](/docs/data-folder) for more details about the data folder structure. +See [Jan Data Folder](/docs/data-folder) for details. ## GPU Acceleration -Once Jan is installed and you have a GPU, you can use your GPU to accelerate the model's performance. +Configuration for GPU support: @@ -202,49 +193,49 @@ Once Jan is installed and you have a GPU, you can use your GPU to accelerate the ### Step 1: Verify Hardware & Install Dependencies + **1.1. Check GPU Detection** -To verify that your system recognizes the NVIDIA GPU: -``` +```sh lspci | grep -i nvidia ``` **1.2. Install Required components** -**NVIDIA Driver:** -1. Install [NVIDIA Driver](https://www.nvidia.com/en-us/drivers/) for your GPU (NVIDIA driver **470.63.01 or higher**). -2. Verify installation: -``` +**NVIDIA Driver:** + +1. Install [NVIDIA Driver](https://www.nvidia.com/en-us/drivers/) (version **470.63.01+**) +2. Verify: + +```sh nvidia-smi ``` -Expected output should show your GPU model and driver version. **CUDA Toolkit:** -1. Download and install [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) (**CUDA 11.7 or higher**) -2. Verify installation: -``` +1. Install [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) (**11.7+**) +2. Verify: + +```sh nvcc --version ``` -**Linux Additional Requirements:** -1. Required packages are installed: -``` + +**Additional Requirements:** + +```sh sudo apt update sudo apt install gcc-11 g++-11 cpp-11 -``` -2. Set up CUDA environment: -``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 ``` -See [detailed instructions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions). +[Documentation](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions) ### Step 2: Enable GPU Acceleration -1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** +2. Select appropriate backend in **llama-cpp Backend**. Details in our [guide](/docs/local-engines/llama-cpp). -While **Vulkan** can enable Nvidia GPU acceleration in the Jan app, **CUDA** is recommended for faster performance. +CUDA offers better performance than Vulkan. @@ -252,83 +243,45 @@ While **Vulkan** can enable Nvidia GPU acceleration in the Jan app, **CUDA** is -AMD GPUs require **Vulkan** support. +Requires Vulkan support. 1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +2. Select appropriate backend in **llama-cpp Backend**. Details in our [guide](/docs/local-engines/llama-cpp). -Intel Arc GPUs require **Vulkan** support. +Requires Vulkan support. 1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +2. Select appropriate backend in **llama-cpp Backend**. Details in our [guide](/docs/local-engines/llama-cpp). ## Uninstall Jan -Open **Terminal** and run these commands to remove all Jan-related data: - +Removal commands: + ```bash -# Uninstall Jan sudo apt-get remove jan - -# Remove the Jan data folder rm -rf Jan - -# Delete the application data rm -rf ~/.config/Jan/data - -# Delete the application cache rm -rf ~/.config/Jan/cache ``` ```bash -# Uninstall Jan sudo dnf remove jan - -# Delete the application data rm -rf ~/.config/Jan/data - -# Delete the application cache rm -rf ~/.config/Jan/cache ``` -Deleted data folders cannot be restored. Make sure to backup any important data before proceeding with deletion. +These commands permanently delete application data. - -{/* ## FAQs - - -Nightly Releases allow you to test new features and previews of upcoming stable releases. You can download them from Jan's GitHub repository. However, remember that these builds might contain bugs and crash frequently. - - -Yes, you can move the Jan data folder. - - -Depending on your GPU type (NVIDIA, AMD, or Intel), follow the respective instructions provided in the [GPU Acceleration](https://www.notion.so/docs/desktop/windows#gpu-acceleration) section above. - - -No, it cannot be restored once you delete the Jan data folder during uninstallation. - - -Yes, `.AppImage` is designed to be distribution-agnostic, meaning it can run on various Linux distributions without requiring installation. You can use the Jan `.AppImage` on any Linux distribution that supports the `AppImage` format. - - -No, `.deb` files are specifically intended for Debian-based distributions and may not be compatible with other Linux distributions. - - -Warning: If you have any trouble during installation, please see our [Troubleshooting](/docs/troubleshooting) guide to resolve your problem. - - -*/} \ No newline at end of file diff --git a/docs/src/pages/docs/desktop/mac.mdx b/docs/src/pages/docs/desktop/mac.mdx index c8da743a6..d62c67878 100644 --- a/docs/src/pages/docs/desktop/mac.mdx +++ b/docs/src/pages/docs/desktop/mac.mdx @@ -1,6 +1,6 @@ --- title: Mac -description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting. +description: Get started quickly with Jan - a local AI that runs on your computer. Install Jan and pick your model to start chatting. keywords: [ Jan, @@ -27,11 +27,11 @@ import { Callout, Steps } from 'nextra/components' # Mac Installation -Jan has been developed as a Mac Universal application, allowing it to run natively on both Apple Silicon and Intel-based Macs. +Jan runs natively on both Apple Silicon and Intel-based Macs. ## Compatibility ### Minimum Requirements -Ensure that your system meets the following requirements to use Jan effectively: +Your Mac needs: - **Operating System:** MacOSX 13.6 or higher - **Memory:** - 8GB → up to 3B parameter models @@ -41,30 +41,30 @@ Ensure that your system meets the following requirements to use Jan effectively: ### Mac Performance Guide -**Apple Silicon Macs** leverage Metal for GPU acceleration, providing faster performance than **Apple Intel Macs**, which rely solely on CPU processing. +**Apple Silicon Macs** use Metal for GPU acceleration, making them faster than **Apple Intel Macs**, which operate on CPU only. **Apple Silicon (M1, M2, M3)** -- Metal acceleration enabled by default, no configuration required -- Optimized GPU-accelerated performance +- Metal acceleration enabled by default +- GPU-accelerated processing **Intel-based Mac** -- CPU-only processing -- Uses regular processor, works slower +- CPU processing only +- Standard performance -_To verify your Mac's processor architecture: Apple menu  → About This Mac._ +_Check your Mac's processor: Apple menu → About This Mac_ -## Install Jan +## Install Jan -To install Jan, follow the steps below: +Installation steps: ### Step 1: Download Application -Jan provides 3 types of releases: +Select version: -Please download Jan from official distributions, or build it from source. +Get Jan from here: - [Download Jan's Stable Version](https://app.jan.ai/download/latest/mac-universal) - Official Website: https://jan.ai/download @@ -72,46 +72,46 @@ Please download Jan from official distributions, or build it from source. -Beta releases let you test new features, which may be buggy: +Beta: New features with potential instability. [Download Jan's Beta Version](https://app.jan.ai/download/beta/mac-universal) - -Keep in mind that this build might crash frequently or contain bugs! + +May contain bugs. -Nightly releases are for internal team to test new feature builds everyday, which is very buggy: +Nightly: Latest features, less stable. [Download Jan's Nightly Version](https://app.jan.ai/download/nightly/mac-universal) -Keep in mind that this build crashes frequently or contains bugs! +Expect potential instability. -### Step 2: Install Application +### Step 2: Install Application -1. Download and open the Jan installer (`.dmg` file) -2. Drag the Jan icon to your **Applications** folder -3. Installation will take a few moments to complete -4. Launch Jan from your Applications folder +1. Open the Jan installer (`.dmg` file) +2. Drag Jan to **Applications** +3. Wait a moment +4. Launch Jan ## Jan Data Folder -By default, Jan is installed in the following directory: +Default location: ```sh # Default installation directory ~/Library/Application\ Support/Jan/data ``` -See [Jan Data Folder](/docs/data-folder) for more details about the data folder structure. +See [Jan Data Folder](/docs/data-folder) for details. ## Uninstall Jan @@ -119,44 +119,47 @@ See [Jan Data Folder](/docs/data-folder) for more details about the data folder ### Step 1: Remove Application -1. If Jan is currently open, exit the app -2. Open **Finder** menu. -3. Navigate to **Applications** -4. Locate Jan (or use the search bar) -5. Remove the application using any method: +1. Close Jan if it's running +2. Open **Finder** +3. Go to **Applications** +4. Find Jan +5. Pick your removal method: - Drag to **Trash** - Right-click → **Move to Trash** - - Select and press **Command-Delete** + - **Command-Delete** ### Step 2: Clean Up Data (Optional) -Open **Terminal** and run these commands to remove all Jan-related data: +Run this in **Terminal** to remove all data: ```bash rm -rf ~/Library/Application\ Support/Jan/data ``` -Deleted data folders cannot be restored. Make sure to backup any important data before proceeding with deletion. +This permanently deletes all data. Create backups if needed. {/* ## FAQs -Nightly Releases allow you to test new features and previews of upcoming stable releases. You can download them from Jan's GitHub repository. However, remember that these builds might contain bugs and crash frequently. +Nightly Releases allow you to test new features and previews of upcoming stable releases. You can download +them from Jan's GitHub repository. However, remember that these builds might contain bugs and crash frequently. Yes, you can move the Jan data folder. -Depending on your Mac type (Apple Silicon or Intel), you won't be able to utilize the GPU acceleration feature if you have a Mac with an Intel processor. +Depending on your Mac type (Apple Silicon or Intel), you won't be able to utilize the GPU acceleration feature +if you have a Mac with an Intel processor. No, it cannot be restored once you delete the Jan data folder during uninstallation. -💡 Warning: If you have any trouble during installation, please see our [Troubleshooting](/docs/troubleshooting) guide to resolve your problem. +💡 Warning: If you have any trouble during installation, please see our [Troubleshooting](/docs/troubleshooting) +guide to resolve your problem. */} diff --git a/docs/src/pages/docs/desktop/windows.mdx b/docs/src/pages/docs/desktop/windows.mdx index 14edab9fc..2213e3699 100644 --- a/docs/src/pages/docs/desktop/windows.mdx +++ b/docs/src/pages/docs/desktop/windows.mdx @@ -1,6 +1,6 @@ --- title: Windows -description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting. +description: Run AI models locally on your Windows machine with Jan. Quick setup guide for local inference and chat. keywords: [ Jan, @@ -26,9 +26,8 @@ import { Settings } from 'lucide-react' # Windows Installation -To install Jan desktop on Windows, follow the steps below: ## Compatibility -Ensure that your system meets the following requirements to use Jan effectively: +System requirements: - **Operating System**: Windows 10 or higher. - **CPU** @@ -42,7 +41,8 @@ Ensure that your system meets the following requirements to use Jan effectively: -Jan requires a processor with **AVX2 or newer** for optimal performance. See [full list of supported processors](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2). While Jan may run on processors with only AVX support, performance will be significantly reduced. +Processor must support **AVX2 or newer**. See [full list of supported processors](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2). +Performance is significantly degraded on AVX-only processors. - **Memory (RAM)** @@ -51,83 +51,75 @@ Jan requires a processor with **AVX2 or newer** for optimal performance. See [fu - 32GB → up to 13B parameter models (int4) -DDR2 RAM is supported but newer RAM generations are recommended for better performance. +Newer RAM generations provide better performance. - **GPU**: - - 6GB → up to 3B parameter models - - 8GB → up to 7B parameter models - - 12GB → up to 13B parameter models + - 6GB → up to 3B parameter models + - 8GB → up to 7B parameter models + - 12GB → up to 13B parameter models Minimum 6GB VRAM recommended for NVIDIA, AMD, or Intel Arc GPUs. -- **Storage:** Minimum 10GB free space for application and model downloads +- **Storage:** 10GB free space minimum for app and models ## Install Jan -To install Jan, follow the steps below: - ### Step 1: Download Application -Jan provides 3 types of releases: -Please download Jan from official distributions, or build it from source. - -- [Download Jan's Stable Version](https://app.jan.ai/download/latest/win-x64) -- Official Website: https://jan.ai/download - +- [Download Stable Jan](https://app.jan.ai/download/latest/win-x64) +- Official Website: [Download Jan](https://jan.ai/download) -Beta releases let you test new features, which may be buggy: +Beta: Contains newer features but may be unstable -[Download Jan's Beta Version](https://app.jan.ai/download/beta/win-x64) +[Download Beta Jan](https://app.jan.ai/download/beta/win-x64) - -Keep in mind that this build might crash frequently or contain bugs! + +May be unstable -Nightly releases are for internal team to test new feature builds everyday, which is very buggy: +Nightly: Development build with latest features -[Download Jan's Nightly Version](https://app.jan.ai/download/nightly/win-x64) +[Download Nightly Jan](https://app.jan.ai/download/nightly/win-x64) - -Keep in mind that this build crashes frequently or contains bugs! + +Unstable development build ### Step 2: Install Application -1. Once you have downloaded the Jan app `.exe` file, open the file. -2. Wait for Jan to be completely installed on your machine. -3. Once installed, you can access Jan on your machine. +1. Run the downloaded `.exe` file +2. Wait for installation to complete +3. Launch Jan ## Data Folder -By default, Jan is installed in the following directory: +Default installation path: -``` +```sh # Default installation directory -~/Users//AppData/Roaming/Jan/data - +~\Users\\AppData\Roaming\Jan\data ``` -See [Jan Data Folder](/docs/data-folder) for more details about the data folder structure. +See [Jan Data Folder](/docs/data-folder) for complete folder structure details. ## GPU Acceleration -Jan can leverage your GPU to significantly improve model performance and inference speed. Here's how to enable GPU acceleration for different hardware: @@ -138,30 +130,29 @@ Jan can leverage your GPU to significantly improve model performance and inferen ### Step 1: Verify Hardware & Install Dependencies **1.1. Check GPU Detection** -To verify that your system recognizes the NVIDIA GPU: +Verify GPU is recognized: - Right-click desktop > NVIDIA Control Panel - Or check Device Manager > Display Adapters **1.2. Install Required components** **NVIDIA Driver:** -1. Install [NVIDIA Driver](https://www.nvidia.com/en-us/drivers/) for your GPU (NVIDIA driver **470.63.01 or higher**). +1. Install [NVIDIA Driver](https://www.nvidia.com/en-us/drivers/) (version **470.63.01 or higher**) 2. Verify installation: -``` +```sh nvidia-smi ``` -Expected output should show your GPU model and driver version. **CUDA Toolkit:** -1. Download and install [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) (**CUDA 11.7 or higher**) +1. Install [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) (**11.7 or higher**) 2. Verify installation: -``` +```sh nvcc --version ``` ### Step 2: Enable GPU Acceleration 1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +2. Select appropriate backend in **llama-cpp Backend**. See [our guide](/docs/local-engines/llama-cpp). @@ -171,20 +162,19 @@ nvcc --version AMD GPUs require **Vulkan** support. 1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +2. Select appropriate backend in **llama-cpp Backend**. See [our guide](/docs/local-engines/llama-cpp). -Intel Arc GPUs require **Vulkan** support. +Intel Arc GPUs require **Vulkan** support. 1. Navigate to **Settings** () > **Local Engine** > **Llama.cpp** -2. At **llama-cpp Backend**, select backend. For example `windows-amd64-vulkan` if you have and AMD gaphic card. For more info, see [our guide](/docs/local-engines/llama-cpp). +2. Select appropriate backend in **llama-cpp Backend**. See [our guide](/docs/local-engines/llama-cpp). - ## Uninstall Jan @@ -201,38 +191,40 @@ Intel Arc GPUs require **Vulkan** support. ### Step 2: Clean Up Remaining Files -To ensure a complete uninstallation, remove the app cache: +Remove app data: 1. Navigate to `C:\Users\[username]\AppData\Roaming` 2. Delete Jan folder -or through **Terminal**: -``` +or via **Terminal**: +```sh cd C:\Users\%USERNAME%\AppData\Roaming rmdir /S Jan ``` -Deleted data folders cannot be restored. Make sure to backup any important data before proceeding with deletion. +Deleted data folders cannot be recovered. Backup important data first. - {/* ## FAQs -Nightly Releases allow you to test new features and previews of upcoming stable releases. You can download them from Jan's GitHub repository. However, remember that these builds might contain bugs and crash frequently. +Nightly Releases allow you to test new features and previews of upcoming stable releases. You can download +them from Jan's GitHub repository. However, remember that these builds might contain bugs and crash frequently. Yes, you can move the Jan data folder. -Depending on your GPU type (NVIDIA, AMD, or Intel), follow the respective instructions provided in the [GPU Acceleration](https://www.notion.so/docs/desktop/windows#gpu-acceleration) section above. +Depending on your GPU type (NVIDIA, AMD, or Intel), follow the respective instructions provided in the +[GPU Acceleration](https://www.notion.so/docs/desktop/windows#gpu-acceleration) section above. No, it cannot be restored once you delete the Jan data folder during uninstallation. -If you have any trouble during installation, please see our [Troubleshooting](https://www.notion.so/docs/troubleshooting) guide to resolve your problem. +If you have any trouble during installation, please see our [Troubleshooting](https://www.notion.so/docs/troubleshooting) +guide to resolve your problem. */} diff --git a/docs/src/pages/docs/privacy.mdx b/docs/src/pages/docs/privacy.mdx index 1e7e4b66a..4fd0a1830 100644 --- a/docs/src/pages/docs/privacy.mdx +++ b/docs/src/pages/docs/privacy.mdx @@ -5,11 +5,9 @@ keywords: [ Jan AI, Jan, - ChatGPT alternative, local AI, private AI, conversational AI, - OpenAI platform alternative, no-subscription fee, large language model, about Jan, @@ -25,51 +23,53 @@ import { Callout } from 'nextra/components' # Privacy -Jan is an app that allows you to own your AI. We prioritize local AI models and your control over your data. This page explains what data we collect and why. No tricks. +Jan is your AI. Period. Here's what we do with data. -For a comprehensive overview of our privacy practices, you can read our full [Privacy Policy](/docs/privacy-policy). +Full privacy policy lives [here](/docs/privacy-policy), if you're into that sort of thing. -We don't collect any data until you explicitly allow tracking. +Zero data collection until you say so. Scout's honor. -You'll be asked about your tracking preferences when you first launch the app, and you can change them at any time in Settings. +You'll choose tracking preferences at first launch. Change them anytime in Settings. -Regardless of your analytics permissions, Jan will **never** access your chat history, chat settings, or the language models you have used. +Jan will **never** peek at your chats, settings, or model choices. Not even if you ask nicely. -## Why and what we track +## Data We Track (With Permission) -To build a reliable, user-friendly AI that you own, we need to understand how Jan is used. If users allowed us to track, we collect product analytics data. +We track basic app usage to improve Jan. That's it. ### Product Analytics -We track data like how often the app is opened to check: +When allowed, we count: -- **Active Users**: How many people use Jan daily to measure engagement -- **Retention Rates**: To understand if users are finding value in Jan over time +- **Active Users**: Daily Jan-thusiasts +- **Retention**: Who sticks around -Product analytics data is tied to a randomly generated user ID. None of our usage data can be linked to your personal identity. Your chat history and personal data are never tracked. +Everything's tied to a random ID - not you. Your chats stay yours. -## What we **DO NOT** track +## What We Don't Track -Even if you grant analytics permissions, Jan doesn't track many of your private activities. +Jan respects boundaries. We're committed to protecting your privacy. -- We don't track your conversations with Jan. -- We don't scan, upload, or look at your files. -- We don't collect anything tied to your identity. -- We don't track your prompts and prompt templates. -- We don't monitor context length or conversation length. -- We don't track the models you have used or their types. +- No chat snooping +- No file scanning +- No identity tracking +- No prompt logging +- No conversation monitoring +- No model tracking -You store the files and logs that are a priority for your privacy yourself. +Your private stuff stays private. -## Using Cloud Models +## Cloud Model Use -Jan allows you to connect cloud model APIs. If you choose to use cloud-based models (e.g. GPT, Claude models), the API provider handling the model will have access to your messages as part of processing the request. Again, Jan doesn't see or store these messages - they go directly to the provider. Remember: With local models, everything stays on your device, so no one - not even us- can see your messages. +Cloud models (like GPT, Claude) need to see your messages to work. That's between you and them - Jan just makes +the introduction. Local models keep everything at home where the neighbors can't gossip. -## Where we store & process data -We use [PostHog](https://posthog.com/eu) EU for analytics, ensuring all data is processed within the European Union. This setup complies with GDPR and other strict privacy regulations. PostHog lets us securely manage the data we collect. Read more [on PostHog's GDPR doc](https://posthog.com/docs/privacy/gdpr-compliance). \ No newline at end of file +## Data Storage +[PostHog EU](https://posthog.com/eu) handles our analytics. All EU-based, GDPR-compliant, properly buttoned +up. Details in their [GDPR docs](https://posthog.com/docs/privacy/gdpr-compliance).