diff --git a/docs/bun.lock b/docs/bun.lock index 4b22e90d7d..4b5096d202 100644 --- a/docs/bun.lock +++ b/docs/bun.lock @@ -20,7 +20,7 @@ "embla-carousel-react": "^8.0.0", "fs": "^0.0.1-security", "gray-matter": "^4.0.3", - "lucide-react": "^0.372.0", + "lucide-react": "^0.522.0", "next": "^14.1.4", "next-seo": "^6.5.0", "next-sitemap": "^4.2.3", @@ -1503,7 +1503,7 @@ "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "lucide-react": ["lucide-react@0.372.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } }, "sha512-0cKdqmilHXWUwWAWnf6CrrjHD8YaqPMtLrmEHXolZusNTr9epULCsiJwIOHk2q1yFxdEwd96D4zShlAj67UJdA=="], + "lucide-react": ["lucide-react@0.522.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-jnJbw974yZ7rQHHEFKJOlWAefG3ATSCZHANZxIdx8Rk/16siuwjgA4fBULpXEAWx/RlTs3FzmKW/udWUuO0aRw=="], "lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="], diff --git a/docs/public/assets/images/changelog/release_v0_6_5.gif b/docs/public/assets/images/changelog/release_v0_6_5.gif new file mode 100644 index 0000000000..222d8ee80f Binary files /dev/null and b/docs/public/assets/images/changelog/release_v0_6_5.gif differ diff --git a/docs/src/pages/_meta.json b/docs/src/pages/_meta.json index ee7b176d5a..0427a49fec 100644 --- a/docs/src/pages/_meta.json +++ b/docs/src/pages/_meta.json @@ -11,6 +11,11 @@ "type": "page", "title": "Documentation" }, + "local-server": { + "type": "page", + "title": "Jan Local Server", + "display": "hidden" + }, "cortex": { "type": "page", "title": "Cortex", diff --git a/docs/src/pages/changelog/2025-07-17-responsive-ui.mdx b/docs/src/pages/changelog/2025-07-17-responsive-ui.mdx new file mode 100644 index 0000000000..db7c252498 --- /dev/null +++ b/docs/src/pages/changelog/2025-07-17-responsive-ui.mdx @@ -0,0 +1,26 @@ +--- +title: "Jan v0.6.5 brings responsive UI and MCP examples!" +version: 0.6.5 +description: "New MCP examples, updated pages, and bug fixes!" +date: 2025-07-17 +ogImage: "/assets/images/changelog/release_v0_6_5.gif" +--- + +import ChangelogHeader from "@/components/Changelog/ChangelogHeader" + + + +## Highlights 🎉 + +Jan v0.6.5 brings responsive UI improvements, enhanced model provider management, and better Linux compatibility alongside +new MCP examples. + +- Support responsive UI on Jan +- Rework of Model Providers UI +- Bump version of llama.cpp +- Fix the bug where fetching models from custom provider can cause app to crash +- AppImage can now render on wayland + mesa + +Update your Jan or [download the latest](https://jan.ai/). + +For more details, see the [GitHub release notes](https://github.com/menloresearch/jan/releases/tag/v0.6.5). \ No newline at end of file diff --git a/docs/src/pages/docs/_assets/e2b-key.png b/docs/src/pages/docs/_assets/e2b-key.png new file mode 100644 index 0000000000..67d75b06e9 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key1.png b/docs/src/pages/docs/_assets/e2b-key1.png new file mode 100644 index 0000000000..310c9c7ae6 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key1.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key2.png b/docs/src/pages/docs/_assets/e2b-key2.png new file mode 100644 index 0000000000..8aa52a2028 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key2.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key3.png b/docs/src/pages/docs/_assets/e2b-key3.png new file mode 100644 index 0000000000..726dd8430d Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key3.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key4.png b/docs/src/pages/docs/_assets/e2b-key4.png new file mode 100644 index 0000000000..80855cadd3 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key4.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key5.png b/docs/src/pages/docs/_assets/e2b-key5.png new file mode 100644 index 0000000000..f4e9441e86 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key5.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key6.png b/docs/src/pages/docs/_assets/e2b-key6.png new file mode 100644 index 0000000000..ad362997dc Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key6.png differ diff --git a/docs/src/pages/docs/_assets/e2b-key7.png b/docs/src/pages/docs/_assets/e2b-key7.png new file mode 100644 index 0000000000..d5f82e0b35 Binary files /dev/null and b/docs/src/pages/docs/_assets/e2b-key7.png differ diff --git a/docs/src/pages/docs/_assets/exa.png b/docs/src/pages/docs/_assets/exa.png new file mode 100644 index 0000000000..c187b595d6 Binary files /dev/null and b/docs/src/pages/docs/_assets/exa.png differ diff --git a/docs/src/pages/docs/_assets/exa1.png b/docs/src/pages/docs/_assets/exa1.png new file mode 100644 index 0000000000..c4d3ea2f64 Binary files /dev/null and b/docs/src/pages/docs/_assets/exa1.png differ diff --git a/docs/src/pages/docs/_assets/exa2.png b/docs/src/pages/docs/_assets/exa2.png new file mode 100644 index 0000000000..8da36c3111 Binary files /dev/null and b/docs/src/pages/docs/_assets/exa2.png differ diff --git a/docs/src/pages/docs/_assets/exa3.png b/docs/src/pages/docs/_assets/exa3.png new file mode 100644 index 0000000000..fffe28debd Binary files /dev/null and b/docs/src/pages/docs/_assets/exa3.png differ diff --git a/docs/src/pages/docs/_assets/exa4.png b/docs/src/pages/docs/_assets/exa4.png new file mode 100644 index 0000000000..dd34cbcb9f Binary files /dev/null and b/docs/src/pages/docs/_assets/exa4.png differ diff --git a/docs/src/pages/docs/_assets/mcp-server.png b/docs/src/pages/docs/_assets/mcp-server.png new file mode 100644 index 0000000000..a493b4b0a4 Binary files /dev/null and b/docs/src/pages/docs/_assets/mcp-server.png differ diff --git a/docs/src/pages/docs/_meta.json b/docs/src/pages/docs/_meta.json index 4bcf5110b1..3d3f8a8caa 100644 --- a/docs/src/pages/docs/_meta.json +++ b/docs/src/pages/docs/_meta.json @@ -17,17 +17,15 @@ "title": "TUTORIALS", "type": "separator" }, - "quickstart": "Quickstart", "remote-models": "Connect to Remote Models", - "server-examples": "Integrations", "explanation-separator": { "title": "EXPLANATION", "type": "separator" }, "llama-cpp": "Local AI Engine", - "api-server": "Server Overview", - "data-folder": "Jan Data Folder", + "model-parameters": "Model Parameters", + "privacy-policy": { "type": "page", "display": "hidden", @@ -40,13 +38,14 @@ }, "manage-models": "Manage Models", "mcp": "Model Context Protocol", + "mcp-examples": "MCP Examples", "reference-separator": { "title": "REFERENCE", "type": "separator" }, "settings": "Settings", + "data-folder": "Jan Data Folder", "troubleshooting": "Troubleshooting", - "model-parameters": "Model Parameters", "privacy": "Privacy" } diff --git a/docs/src/pages/docs/desktop/_meta.json b/docs/src/pages/docs/desktop/_meta.json index feeb598a6a..5cc930af72 100644 --- a/docs/src/pages/docs/desktop/_meta.json +++ b/docs/src/pages/docs/desktop/_meta.json @@ -10,9 +10,5 @@ "linux": { "title": "Linux", "href": "/docs/desktop/linux" - }, - "beta": { - "title": "BETA apps", - "href": "/docs/desktop/beta" } } diff --git a/docs/src/pages/docs/desktop/beta.mdx b/docs/src/pages/docs/desktop/beta.mdx deleted file mode 100644 index b11e4be9b1..0000000000 --- a/docs/src/pages/docs/desktop/beta.mdx +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Beta Builds -description: Try out the latest features of Jan through our beta builds. Get early access to new features and help shape the future of Jan. -keywords: - [ - Jan, - beta, - preview, - early-access, - testing, - development, - experimental-features, - feedback, - support - ] ---- - -import { Tabs, Callout } from 'nextra/components' - -# Jan Beta Builds - -Welcome to Jan's beta program! Beta builds give you early access to new features and improvements before they reach the stable release. By participating in the beta program, you can help shape the future of Jan by providing feedback and reporting issues. - - -Beta builds may contain bugs and unstable features. We recommend using the stable release for production environments. - - -## Download Beta Builds - -Get the latest beta builds for your platform: - - - -- [MacOS Universal](https://app.jan.ai/download/beta/mac-universal) - - - -- [Windows Installer](https://app.jan.ai/download/beta/win-x64) - - - -- [jan.deb](https://app.jan.ai/download/beta/linux-amd64-deb) -- [jan.AppImage](https://app.jan.ai/download/beta/linux-amd64-appimage) - - - -## Getting Help & Support - -### Discord Community -Join our Discord community to: -- Get help with beta builds -- Discuss new features -- Connect with other beta testers -- Share feedback directly with the team - -[Join our Discord Server](https://discord.com/channels/1107178041848909847/1149558035971321886) or report directly to [#🆘|jan-help](https://discord.com/channels/1107178041848909847/1192090449725358130) - -### GitHub Issues -Found a bug or have a feature request? Let us know on GitHub: - -1. Check if the issue has already been reported -2. Create a new issue with: - - Clear description of the problem - - Steps to reproduce - - Expected vs actual behavior - - System information - - Screenshots if applicable - -[File an Issue on GitHub](https://github.com/menloresearch/jan/issues) - -## Beta Program Benefits - -- Early access to new features -- Direct influence on product development -- Opportunity to shape Jan's future -- Access to beta-specific support channels -- Regular updates with the latest improvements - - -Your feedback is invaluable in helping us improve Jan. Thank you for being part of our beta testing community! - diff --git a/docs/src/pages/docs/llama-cpp.mdx b/docs/src/pages/docs/llama-cpp.mdx index b76c42ea3d..3274f48b71 100644 --- a/docs/src/pages/docs/llama-cpp.mdx +++ b/docs/src/pages/docs/llama-cpp.mdx @@ -1,6 +1,6 @@ --- -title: llama.cpp -description: A step-by-step guide on how to customize the llama.cpp engine. +title: llama.cpp Engine +description: Understand and configure Jan's local AI engine for running models on your hardware. keywords: [ Jan, @@ -27,139 +27,181 @@ import { Tabs } from 'nextra/components' import { Callout, Steps } from 'nextra/components' import { Settings, EllipsisVertical, Plus, FolderOpen, Pencil } from 'lucide-react' -# Local Model Management +# Local AI Engine (llama.cpp) -## Overview -Jan uses **llama.cpp** for running local AI models. You can find its settings in **Settings** () > **Local Engine** > **llama.cpp**: +## What is llama.cpp? + +llama.cpp is the engine that runs AI models locally on your computer. Think of it as the software that takes an AI model file and makes it actually work on your hardware - whether that's your CPU, graphics card, or Apple's M-series chips. + +Originally created by Georgi Gerganov, llama.cpp is designed to run large language models efficiently on consumer hardware without requiring specialized AI accelerators or cloud connections. + +## Why This Matters + +**Privacy**: Your conversations never leave your computer +**Cost**: No monthly subscription fees or API costs +**Speed**: No internet required once models are downloaded +**Control**: Choose exactly which models to run and how they behave + +## Accessing Engine Settings + +Find llama.cpp settings at **Settings** () > **Local Engine** > **llama.cpp**: -
![llama.cpp](./_assets/llama.cpp-01-updated.png) -
-These settings are for advanced users, you would want to check these settings when: -- Your AI models are running slowly or not working -- You've installed new hardware (like a graphics card) -- You want to tinker & test performance with different [backends](/docs/local-engines/llama-cpp#available-backends) + +These are advanced settings. You typically only need to adjust them if models aren't working properly or you want to optimize performance for your specific hardware. + -## Engine Version and Updates -- **Engine Version**: View current version of llama.cpp engine -- **Check Updates**: Verify if a newer version is available & install available updates when it's available +## Engine Management +| Feature | What It Does | When You Need It | +|---------|-------------|------------------| +| **Engine Version** | Shows which version of llama.cpp you're running | Check compatibility with newer models | +| **Check Updates** | Downloads newer engine versions | When new models require updated engine | +| **Backend Selection** | Choose the version optimized for your hardware | After installing new graphics cards or when performance is poor | -## Available Backends +## Hardware Backends -Jan offers different backend variants for **llama.cpp** based on your operating system, you can: -- Download different backends as needed -- Switch between backends for different hardware configurations -- View currently installed backends in the list +Jan offers different backend versions optimized for your specific hardware. Think of these as different "drivers" - each one is tuned for particular processors or graphics cards. -Choose the backend that matches your hardware. Using the wrong variant may cause performance issues or prevent models from loading. +Using the wrong backend can make models run slowly or fail to load. Pick the one that matches your hardware. -### CUDA Support (NVIDIA GPUs) -- `llama.cpp-avx-cuda-11-7` -- `llama.cpp-avx-cuda-12-0` -- `llama.cpp-avx2-cuda-11-7` -- `llama.cpp-avx2-cuda-12-0` -- `llama.cpp-avx512-cuda-11-7` -- `llama.cpp-avx512-cuda-12-0` -- `llama.cpp-noavx-cuda-11-7` -- `llama.cpp-noavx-cuda-12-0` -### CPU Only -- `llama.cpp-avx` -- `llama.cpp-avx2` -- `llama.cpp-avx512` -- `llama.cpp-noavx` +### NVIDIA Graphics Cards (Recommended for Speed) +Choose based on your CUDA version (check NVIDIA Control Panel): + +**For CUDA 12.0:** +- `llama.cpp-avx2-cuda-12-0` (most common) +- `llama.cpp-avx512-cuda-12-0` (newer Intel/AMD CPUs) + +**For CUDA 11.7:** +- `llama.cpp-avx2-cuda-11-7` (most common) +- `llama.cpp-avx512-cuda-11-7` (newer Intel/AMD CPUs) -### Other Accelerators -- `llama.cpp-vulkan` +### CPU Only (No Graphics Card Acceleration) +- `llama.cpp-avx2` (most modern CPUs) +- `llama.cpp-avx512` (newer Intel/AMD CPUs) +- `llama.cpp-avx` (older CPUs) +- `llama.cpp-noavx` (very old CPUs) + +### Other Graphics Cards +- `llama.cpp-vulkan` (AMD, Intel Arc, some others) -- For detailed hardware compatibility, please visit our guide for [Windows](/docs/desktop/windows#compatibility). -- AVX, AVX2, and AVX-512 are CPU instruction sets. For best performance, use the most advanced instruction set your CPU supports. -- CUDA versions should match your installed NVIDIA drivers. +**Quick Test**: Start with `avx2-cuda-12-0` if you have an NVIDIA card, or `avx2` for CPU-only. If it doesn't work, try the `avx` variant. -### CUDA Support (NVIDIA GPUs) -- `llama.cpp-avx-cuda-11-7` -- `llama.cpp-avx-cuda-12-0` -- `llama.cpp-avx2-cuda-11-7` -- `llama.cpp-avx2-cuda-12-0` -- `llama.cpp-avx512-cuda-11-7` -- `llama.cpp-avx512-cuda-12-0` -- `llama.cpp-noavx-cuda-11-7` -- `llama.cpp-noavx-cuda-12-0` -### CPU Only -- `llama.cpp-avx` -- `llama.cpp-avx2` -- `llama.cpp-avx512` -- `llama.cpp-noavx` +### NVIDIA Graphics Cards +Same CUDA options as Windows: +- `llama.cpp-avx2-cuda-12-0` (most common) +- `llama.cpp-avx2-cuda-11-7` (older drivers) -### Other Accelerators -- `llama.cpp-vulkan` -- `llama.cpp-arm64` +### CPU Only +- `llama.cpp-avx2` (most modern CPUs) +- `llama.cpp-avx512` (newer Intel/AMD CPUs) +- `llama.cpp-arm64` (ARM processors like Raspberry Pi) - -- For detailed hardware compatibility, please visit our guide for [Linux](docs/desktop/linux). -- AVX, AVX2, and AVX-512 are CPU instruction sets. For best performance, use the most advanced instruction set your CPU supports. -- CUDA versions should match your installed NVIDIA drivers. - +### Other Graphics Cards +- `llama.cpp-vulkan` (AMD, Intel graphics) -### Apple Silicon -- `llama.cpp-mac-arm64`: For M1/M2/M3 Macs -### Intel -- `llama.cpp-mac-amd64`: For Intel-based Macs +### Apple Silicon (M1/M2/M3/M4) +- `llama.cpp-mac-arm64` (recommended) + +### Intel Macs +- `llama.cpp-mac-amd64` -For detailed hardware compatibility, please visit our guide for [Mac](/docs/desktop/mac#compatibility). +Apple Silicon Macs automatically use the GPU through Metal - no additional setup needed. - ## Performance Settings +These control how efficiently models run: -| Setting | Description | Default | -|---------|-------------|---------| -| **Continuous Batching** | - Enables processing multiple requests simultaneously

- Improves throughput for concurrent operations | Enabled | -| **Parallel Operations** | - Number of prompts to run in parallel

- Affects model inference speed | 4 | -| **CPU Threads** | - Number of CPU cores to use when running without GPU

- Higher thread counts may improve performance but increase CPU usage | Auto-detected based on your system's capabilities | - - +| Setting | What It Does | Recommended Value | Impact | +|---------|-------------|------------------|---------| +| **Continuous Batching** | Process multiple requests at once | Enabled | Faster when using multiple tools or having multiple conversations | +| **Parallel Operations** | How many requests to handle simultaneously | 4 | Higher = more multitasking, but uses more memory | +| **CPU Threads** | How many processor cores to use | Auto-detected | More threads can speed up CPU processing | ## Memory Settings -| Setting | Description | Default | -|---------|-------------|---------| -| **Flash Attention** | - Optimizes attention computation

- Reduces memory usage

- Recommended for most cases | Enabled | -| **Caching** | - Enable to store recent prompts and responses

- Improves response time for repeated prompts | Enabled | -| **KV Cache Type** | - KV cache implementation type; controls memory usage and precision trade-off

- Options:

• f16 (most stable)

• q8_0 (balanced)

• q4_0 (lowest memory) | f16 | -| **mmap** | - Enables memory-mapped model loading

- Reduces memory usage

- Recommended for large models | Enabled | -| **Context Shift** | - Automatically shifts the context window when the model is unable to process the entire prompt
- Ensures that the most relevant information is always included
- Recommended for long conversations and multiple tool calls | Disabled | - - -## Best Practices -- Start with default settings -- Adjust based on your hardware capabilities -- Monitor system performance -- Test changes with your specific use case +These control how models use your computer's memory: + +| Setting | What It Does | Recommended Value | When to Change | +|---------|-------------|------------------|----------------| +| **Flash Attention** | More efficient memory usage | Enabled | Leave enabled unless you have problems | +| **Caching** | Remember recent conversations | Enabled | Speeds up follow-up questions | +| **KV Cache Type** | Memory precision trade-off | f16 | Change to q8_0 or q4_0 if running out of memory | +| **mmap** | Load models more efficiently | Enabled | Helps with large models | +| **Context Shift** | Handle very long conversations | Disabled | Enable for very long chats or multiple tool calls | + +### KV Cache Types Explained +- **f16**: Most stable, uses more memory +- **q8_0**: Balanced memory usage and quality +- **q4_0**: Uses least memory, slight quality loss + +## Troubleshooting Common Issues + +**Models won't load:** +- Try a different backend (switch from CUDA to CPU or vice versa) +- Check if you have enough RAM/VRAM +- Update to latest engine version + +**Very slow performance:** +- Make sure you're using GPU acceleration (CUDA/Metal/Vulkan backend) +- Increase GPU Layers in model settings +- Close other memory-intensive programs + +**Out of memory errors:** +- Reduce Context Size in model settings +- Switch KV Cache Type to q8_0 or q4_0 +- Try a smaller model variant + +**Random crashes:** +- Switch to a more stable backend (try avx instead of avx2) +- Disable overclocking if you have it enabled +- Update graphics drivers + +## Quick Setup Guide + +**For most users:** +1. Use the default backend that Jan installs +2. Leave all performance settings at defaults +3. Only adjust if you experience problems + +**If you have an NVIDIA graphics card:** +1. Download the appropriate CUDA backend +2. Make sure GPU Layers is set high in model settings +3. Enable Flash Attention + +**If models are too slow:** +1. Check you're using GPU acceleration +2. Try enabling Continuous Batching +3. Close other applications using memory + +**If running out of memory:** +1. Change KV Cache Type to q8_0 +2. Reduce Context Size in model settings +3. Try a smaller model -Performance impact varies by hardware, model size, and usage patterns. +Most users can run Jan successfully without changing any of these settings. The defaults are chosen to work well on typical hardware. diff --git a/docs/src/pages/docs/mcp-examples/data-analysis/e2b.mdx b/docs/src/pages/docs/mcp-examples/data-analysis/e2b.mdx new file mode 100644 index 0000000000..73feb9817f --- /dev/null +++ b/docs/src/pages/docs/mcp-examples/data-analysis/e2b.mdx @@ -0,0 +1,290 @@ +--- +title: E2B Code Sandbox +description: Execute Python code securely in isolated sandbox environments with E2B. +keywords: + [ + Jan, + MCP, + Model Context Protocol, + E2B, + code execution, + sandbox, + data analysis, + Python, + secure computing, + tool calling, + ] +--- + +import { Callout, Steps } from 'nextra/components' + +# E2B Code Sandbox MCP + +E2B MCP provides isolated Python execution environments. Your AI can run actual code instead of just describing what code might do. + +The real value emerges when you combine secure remote execution with Jan's flexible model selection. You can use +local models for conversation and reasoning while offloading actual computation to E2B's sandboxes. This means you +get the privacy and control of local models plus the computational power of cloud infrastructure, without the +complexity of managing Python environments or dependencies locally. + +## Setup + +### Prerequisites + +- Jan with MCP enabled +- E2B API key from [e2b.dev](https://e2b.dev/) +- Node.js installed +- Model with tool calling support + +### Configuration + +1. **Enable MCP**: Go to **Settings** > **MCP Servers**, toggle **Allow All MCP Tool Permission** ON + +![Turn on MCP](../../_assets/mcp-on.png) + + +Don't forget that MCP gets enabled once you turn on Experimental Features in Jan's General settings. + + +2. **Get API Key**: Sign up at [e2b.dev](https://e2b.dev/), generate an API key + +![E2B API Key](../../_assets/e2b-key.png) + +Add a meaningful name to your key. + +![E2B MCP Server](../../_assets/e2b-key1.png) + +3. **Add MCP Server**: Click `+` in MCP Servers section + +Configure: +- **Server Name**: `e2b-server` +- **Command**: `npx` +- **Arguments**: `@e2b/mcp-server` +- **Environment Variables**: + - Key: `E2B_API_KEY` + - Value: `your-api-key` + +![E2B MCP Server](../../_assets/e2b-key2.png) + +4. **Verify**: Check server shows as active + + +![E2B MCP Server](../../_assets/e2b-key3.png) + +## Pre-installed Libraries + +The sandbox includes these packages by default: + +**Data Analysis & Science:** +- `pandas` (1.5.3) - Data manipulation +- `numpy` (1.26.4) - Numerical computing +- `scipy` (1.12.0) - Scientific computing +- `scikit-learn` (1.4.1) - Machine learning +- `sympy` (1.12) - Symbolic mathematics + +**Visualization:** +- `matplotlib` (3.8.3) - Static plots +- `seaborn` (0.13.2) - Statistical visualization +- `plotly` (5.19.0) - Interactive charts +- `bokeh` (3.3.4) - Web-ready visualizations + +**Data Processing:** +- `requests` (2.26.0) - HTTP requests +- `beautifulsoup4` (4.12.3) - HTML/XML parsing +- `openpyxl` (3.1.2) - Excel files +- `python-docx` (1.1.0) - Word documents + +**Text & NLP:** +- `nltk` (3.8.1) - Natural language processing +- `spacy` (3.7.4) - Advanced NLP +- `textblob` (0.18.0) - Text processing +- `gensim` (4.3.2) - Topic modeling + +**Image & Audio:** +- `opencv-python` (4.9.0) - Computer vision +- `scikit-image` (0.22.0) - Image processing +- `imageio` (2.34.0) - Image I/O +- `librosa` (0.10.1) - Audio analysis + +Additional packages can be installed as needed. + +## Examples + + +For the following examples, we'll use Claude 4 Sonnet but you can use any local or remote +model with tool calling capabilities you'd like. + + +Make sure you activate Tools on the model you're using. + + +![E2B MCP Server](../../_assets/e2b-key4.png) + +### Basic Data Analysis + +Start small. Open a new chat, confirm that the model has tools enabled and ask it to create a small dataset of 100 students with grades and study hours. + +![Chat and use E2B MCP ](../../_assets/e2b-key5.png) + + +``` +Create a small dataset of 100 students with grades and study hours. +Calculate the correlation and create a scatter plot. +``` + +The model will: +1. Generate data with pandas (100 rows) +2. Calculate correlation coefficient +3. Create a matplotlib scatter plot +4. Add trend line + + +![Chat and use E2B MCP ](../../_assets/e2b-key6.png) + +![Chat and use E2B MCP ](../../_assets/e2b-key7.png) + + + + As of `v0.6.5`, Jan won't be able to display visualizations in the chat but we're to get this fixed for the next release. + + + +### Statistical Computing + +``` +Run a Monte Carlo simulation with 10,000 iterations to estimate π. +``` + +Expected output: +- Numerical computation with numpy +- Convergence plot showing estimate improvement +- Final π estimate + + +For more intensive simulations, increase iterations gradually and monitor performance. + +### Machine Learning + +``` +Create a simple 2-class dataset with 200 samples. Train a logistic regression +model and visualize the decision boundary. +``` + +The model will: +- Generate synthetic 2D classification data +- Train a single scikit-learn model +- Plot data points and decision boundary + + +### Time Series Analysis + +``` +Generate daily temperature data for one year. Calculate moving averages +and identify seasonal patterns. +``` + +Output includes: +- Line plot of temperature data +- Moving average overlay +- Simple seasonal decomposition + + +### Scaling Up + +Once basic examples work, you can increase complexity: +- Larger datasets (1000+ samples) +- Multiple models for comparison +- Complex visualizations with subplots +- Advanced statistical tests + +The sandbox handles moderate computational loads well. For very large datasets or intensive ML training, consider breaking work into smaller chunks. + +## Chart Generation + +E2B automatically detects and extracts charts from matplotlib code. Charts are returned as base64-encoded images and downloadable files. + +### Static Charts + +```python +import matplotlib.pyplot as plt +import numpy as np + +x = np.linspace(0, 10, 100) +y = np.sin(x) + +plt.figure(figsize=(10, 6)) +plt.plot(x, y) +plt.title('Sine Wave') +plt.xlabel('x') +plt.ylabel('sin(x)') +plt.show() +``` + +E2B captures the plot and makes it available for download. + +### Interactive Charts + +The system extracts chart data for frontend visualization: + +```python +plt.bar(['A', 'B', 'C'], [10, 20, 15]) +plt.title('Sample Bar Chart') +plt.show() +``` + +Returns structured data: +```json +{ + "type": "bar", + "title": "Sample Bar Chart", + "elements": [ + {"label": "A", "value": 10}, + {"label": "B", "value": 20}, + {"label": "C", "value": 15} + ] +} +``` + +Supported chart types: line, bar, scatter, pie, box plots. + +## Available Tools + +- **run_code**: Execute Python code +- **install_package**: Add Python packages +- **create_file**: Save files to sandbox +- **read_file**: Access sandbox files +- **list_files**: Browse sandbox contents + +## Troubleshooting + +**Connection Issues:** +- Verify API key is correct +- Check Node.js installation +- Restart Jan if server won't start + +**Execution Problems:** +- Free sandboxes have 2 cores and 1GB RAM - start with small datasets +- Large computations may time out or run out of memory +- Scale up complexity gradually after testing basic examples +- Some packages may require explicit installation + +**Package Installation:** +- Most data science packages install successfully +- System dependencies may cause failures for some packages +- Try alternative packages if installation fails + + + E2B has computational and memory limits. Break large operations into smaller chunks if needed. + + +## Use Cases + +E2B is useful for: + +- **Academic Research**: Statistical analysis, data visualization, hypothesis testing +- **Data Science**: Exploratory data analysis, model prototyping, result validation +- **Financial Analysis**: Portfolio optimization, risk calculations, market simulations +- **Scientific Computing**: Numerical simulations, mathematical modeling, algorithm testing +- **Prototyping**: Quick algorithm validation, proof-of-concept development + +The sandbox provides isolated execution without local environment setup or dependency management. \ No newline at end of file diff --git a/docs/src/pages/docs/mcp-examples/search/exa.mdx b/docs/src/pages/docs/mcp-examples/search/exa.mdx new file mode 100644 index 0000000000..7ee843c92e --- /dev/null +++ b/docs/src/pages/docs/mcp-examples/search/exa.mdx @@ -0,0 +1,216 @@ +--- +title: Exa Search MCP +description: Connect Jan to real-time web search with Exa's AI-powered search engine. +keywords: + [ + Jan, + MCP, + Model Context Protocol, + Exa, + web search, + real-time search, + research, + AI search, + tool calling, + ] +--- + +import { Callout, Steps } from 'nextra/components' + +# Exa Search MCP + +[Exa MCP](https://docs.exa.ai/examples/exa-mcp) provides real-time web search capabilities for AI models. Instead of relying on training data, +models can access current web content through Exa's search API. + +## Available Tools + +Exa MCP includes eight search functions: + +- `web_search_exa`: General web search with content extraction +- `research_paper_search`: Academic papers and research content +- `company_research`: Company analysis and business intelligence +- `crawling`: Extract content from specific URLs +- `competitor_finder`: Find business competitors +- `linkedin_search`: Search LinkedIn profiles and companies +- `wikipedia_search_exa`: Wikipedia content retrieval +- `github_search`: Repository and code search + +## Prerequisites + +- Jan with MCP enabled +- Exa API key from [dashboard.exa.ai](https://dashboard.exa.ai/api-keys) +- Model with tool calling support +- Node.js installed + + +Tool calling support varies by model. Jan Nano 32k and 128k, Claude, Gemini, GPT-4o and above models work reliably. For both local and remote models, +verify tool calling is enabled in model parameters. + + +## Setup + +### Enable MCP + +1. Go to **Settings** > **MCP Servers** +2. Toggle **Allow All MCP Tool Permission** ON + +![MCP settings page with toggle enabled](../../_assets/mcp-on.png) + +### Get API Key + +1. Visit [dashboard.exa.ai/api-keys](https://dashboard.exa.ai/api-keys) +2. Create account or sign in +3. Generate API key +4. Save the key + +![Exa API Key](../../_assets/exa.png) + +### Configure MCP Server + +Click `+` in MCP Servers section: + + +**Configuration:** +- **Server Name**: `exa` +- **Command**: `npx` +- **Arguments**: `-y exa-mcp-server` +- **Environment Variables**: + - Key: `EXA_API_KEY` + - Value: `your-api-key` + +![Exa Jan MCP Server](../../_assets/exa1.png) + +### Verify Setup + +Check server status in the MCP Servers list. + +![Exa Jan MCP Server](../../_assets/exa2.png) + +### Model Configuration + +Use a compatible model provider: + +- **Jan Nano 32k** +- **Anthropic** +- **OpenAI** +- **OpenRouter** + +![E2B MCP Server](../../_assets/e2b-key4.png) + +## Usage + +Start a new chat with a tool-enabled model. Exa tools will appear in the available tools list. + +![Exa Tools Available](../../_assets/exa3.png) + +### Example Queries + +**Current Events & Activities:** +``` +What is happening this week, mid July 2025, in Sydney, Australia? +``` + +![Exa Tools Available](../../_assets/exa4.png) + +**Investment Research:** +``` +Find recent research papers about quantum computing startups that received Series A funding in 2024-2025 +``` + +**Tech Discovery:** +``` +Find GitHub repositories for WebAssembly runtime engines written in Rust with active development +``` + +**Career Intelligence:** +``` +Search LinkedIn for AI safety researchers at major tech companies who published papers in the last 6 months +``` + +**Competitive Analysis:** +``` +Research emerging competitors to OpenAI in the large language model space, focusing on companies founded after 2023 +``` + +**Travel & Local Research:** +``` +Find authentic local food experiences in Tokyo that aren't in typical tourist guides, mentioned in recent travel blogs +``` + +**Academic Research:** +``` +Find recent papers about carbon capture technology breakthroughs published in Nature or Science during 2025 +``` + +**Creator Economy:** +``` +Research successful creators who transitioned from TikTok to longer-form content platforms in 2024-2025 +``` + +**Emerging Tech Trends:** +``` +Find startups working on brain-computer interfaces that have raised funding in the past 12 months +``` + +**Health & Wellness:** +``` +Extract information about the latest longevity research findings from Peter Attia's recent podcast episodes +``` + +**Regulatory Intelligence:** +``` +Find recent AI regulation developments in the EU that could impact US companies, focusing on July 2025 updates +``` + +**Supply Chain Research:** +``` +Research companies developing sustainable packaging alternatives that have partnerships with major retailers +``` + +## Use Cases + +### Academic Research +Literature reviews, finding recent papers, tracking research trends. + +### Business Intelligence +Competitor analysis, market research, company information gathering. + +### Technical Research +Finding libraries, tools, and code repositories. Documentation research. + +### Content Analysis +Extracting and analyzing content from specific URLs for research. + +### Professional Search +LinkedIn searches for industry connections and expertise. + +## Troubleshooting + +**Connection Issues:** +- Verify API key accuracy +- Check Node.js installation +- Restart Jan +- Make sure you have enough credits in your Exa account + +**Tool Calling Problems:** +- Confirm tool calling is enabled for your model +- Try Jan Nano 32k, Claude, Gemini, GPT-4o and above models +- Check MCP server status + +**Search Quality:** +- Use specific, descriptive queries +- Prefer natural language over keywords + +**API Errors:** +- Verify API key at [dashboard.exa.ai](https://dashboard.exa.ai) +- Check rate limits on your plan +- Regenerate API key if needed + + +Exa has API rate limits. Check your plan limits to avoid interruptions. + + +## Next Steps + +Exa MCP enables real-time web search within Jan's privacy-focused environment. Models can access current information while maintaining +local conversation processing. \ No newline at end of file diff --git a/docs/src/pages/docs/model-parameters.mdx b/docs/src/pages/docs/model-parameters.mdx index 56286bcf46..2d0df6c74c 100644 --- a/docs/src/pages/docs/model-parameters.mdx +++ b/docs/src/pages/docs/model-parameters.mdx @@ -1,6 +1,6 @@ --- title: Model Parameters -description: Manage your interaction with AI locally. +description: Customize how your AI models behave and perform. keywords: [ Jan, @@ -12,64 +12,99 @@ keywords: conversational AI, no-subscription fee, large language models, - threads, - chat history, - thread history, + model settings, + parameters, ] --- import { Callout, Steps } from 'nextra/components' # Model Parameters -To customize model settings for a conversation or a model: -- In **Threads**, click the **Gear icon** next to selected model -- Or, in **Settings > Model Providers > Llama.cpp**, click the **gear icon** next to a model for advanced settings -- Click the **edit button** next to a model to configure capabilities - -## Inference & Engine Parameters (Gear Icon) -These settings are available in the model settings modal: -| Parameter | Description | -|---------------------|-------------| -| **Context Size** | Maximum prompt context length (how much text the model can consider at once). | -| **GPU Layers** | Number of model layers to offload to GPU. More layers = faster, but uses more VRAM. | -| **Temperature** | Controls response randomness. Lower = more focused, higher = more creative. | -| **Top K** | Top-K sampling. Limits next token selection to the K most likely. | -| **Top P** | Top-P (nucleus) sampling. Limits next token selection to a cumulative probability. | -| **Min P** | Minimum probability for token selection. | -| **Repeat Last N** | Number of tokens to consider for repeat penalty. | -| **Repeat Penalty** | Penalize repeating token sequences. | -| **Presence Penalty**| Penalize alpha presence (encourages new topics). | -| **Frequency Penalty** | Reduces word repetition. | - -
+ +Model parameters control how your AI thinks and responds. Think of them as the AI's personality settings and performance controls. + +## How to Access Settings + +**For individual conversations:** +- In **Threads**, click the **gear icon** next to your selected model + +**For permanent model settings:** +- Go to **Settings > Model Providers > Llama.cpp**, click the **gear icon** next to a model + +**For model capabilities:** +- Click the **edit button** next to a model to enable features like vision or tools + +## Performance Settings (Gear Icon) + +These settings control how the model thinks and performs: + +| Setting | What It Does | Simple Explanation | +|---------|-------------|-------------------| +| **Context Size** | How much text the model remembers | Like the model's working memory. Larger = remembers more of your conversation, but uses more computer memory. | +| **GPU Layers** | How much work your graphics card does | More layers on GPU = faster responses, but needs more graphics memory. Start high and reduce if you get errors. | +| **Temperature** | How creative vs. predictable responses are | Low (0.1-0.3) = focused, consistent answers. High (0.7-1.0) = creative, varied responses. Try 0.7 for general use. | +| **Top K** | How many word choices the model considers | Smaller numbers (20-40) = more focused. Larger numbers (80-100) = more variety. Most people don't need to change this. | +| **Top P** | Another way to control word variety | Works with Top K. Values like 0.9 work well. Lower = more focused, higher = more creative. | +| **Min P** | Minimum chance a word needs to be chosen | Prevents very unlikely words. Usually fine at default settings. | +| **Repeat Last N** | How far back to check for repetition | Helps prevent the model from repeating itself. Default values usually work well. | +| **Repeat Penalty** | How much to avoid repeating words | Higher values (1.1-1.3) reduce repetition. Too high makes responses awkward. | +| **Presence Penalty** | Encourages talking about new topics | Higher values make the model explore new subjects instead of staying on one topic. | +| **Frequency Penalty** | Reduces word repetition | Similar to repeat penalty but focuses on how often words are used. | + ![Model Parameters](./_assets/model-parameters.png) -
## Model Capabilities (Edit Button) -These toggles are available when you click the edit button next to a model: -- **Vision**: Enable image input/output -- **Tools**: Enable advanced tools (web search, file ops, code) -- **Embeddings**: Enable embedding generation -- **Web Search**: Allow model to search the web -- **Reasoning**: Enable advanced reasoning features - -
+ +These toggle switches enable special features: + +- **Vision**: Let the model see and analyze images you share +- **Tools**: Enable advanced features like web search, file operations, and code execution +- **Embeddings**: Allow the model to create numerical representations of text (for advanced users) +- **Web Search**: Let the model search the internet for current information +- **Reasoning**: Enable step-by-step thinking for complex problems + ![Model Capabilities Edit 01](./_assets/model-capabilities-edit-01.png) ![Model Capabilities Edit 02](./_assets/model-capabilities-edit-02.png) -
-### Model Parameters -This setting defines and configures the model's behavior. -| Parameter | Description | -|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Prompt Template** | A structured format that guides how the model should respond. Contains **placeholders** and **instructions** that help shape the model's output in a consistent way.| +## Hardware Settings + +These control how efficiently the model runs on your computer: + +### GPU Layers +Think of your model as a stack of layers, like a cake. Each layer can run on either your main processor (CPU) or graphics card (GPU). Your graphics card is usually much faster. + +- **More GPU layers** = Faster responses, but uses more graphics memory +- **Fewer GPU layers** = Slower responses, but uses less graphics memory + +Start with the maximum number and reduce if you get out-of-memory errors. + +### Context Length +This is like the model's short-term memory - how much of your conversation it can remember at once. -### Engine Parameters -These settings parameters control how the model runs on your hardware. -| Parameter | Description | -|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Number of GPU Layers (ngl)** | - Controls how many layers of the model run on your GPU.

- More layers on GPU generally means faster processing, but requires more GPU memory.| -| **Context Length** | - Controls how much text the model can consider at once.

- Longer context allows the model to handle more input but uses more memory and runs slower.

- The maximum context length varies with the model used.

| +- **Longer context** = Remembers more of your conversation, better for long discussions +- **Shorter context** = Uses less memory, runs faster, but might "forget" earlier parts of long conversations -By default, Jan defaults to the minimum between **8192** and the model's maximum context length, you can adjust this based on your needs. +Jan defaults to 8192 tokens (roughly 6000 words) or your model's maximum, whichever is smaller. This handles most conversations well. + +## Quick Setup Guide + +**For most users:** +1. Enable **Tools** if you want web search and code execution +2. Set **Temperature** to 0.7 for balanced creativity +3. Max out **GPU Layers** (reduce only if you get memory errors) +4. Leave other settings at defaults + +**For creative writing:** +- Increase **Temperature** to 0.8-1.0 +- Increase **Top P** to 0.95 + +**For factual/technical work:** +- Decrease **Temperature** to 0.1-0.3 +- Enable **Tools** for web search and calculations + +**Troubleshooting:** +- **Responses too repetitive?** Increase Temperature or Repeat Penalty +- **Out of memory errors?** Reduce GPU Layers or Context Size +- **Responses too random?** Decrease Temperature +- **Model running slowly?** Increase GPU Layers (if you have VRAM) or reduce Context Size diff --git a/docs/src/pages/docs/quickstart.mdx b/docs/src/pages/docs/quickstart.mdx deleted file mode 100644 index f17863fa26..0000000000 --- a/docs/src/pages/docs/quickstart.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: Installation -description: Jan is an open-source ChatGPT-alternative and self-hosted AI platform - build and run AI on your own desktop or server. -sidebar_position: 2 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - quickstart, - getting started, - using AI model, - installation, - ] ---- - -import { Callout, Steps } from 'nextra/components' -import { Settings } from 'lucide-react' - - -# Quickstart - - - -### Step 1: Install Jan - -1. [Download Jan](/download) -2. Install the app on your system ([Mac](/docs/desktop/mac), [Windows](/docs/desktop/windows), [Linux](/docs/desktop/linux)) -3. Launch Jan - -Once installed, you'll see Jan's interface with no pre-installed models. You can: -- Download and run local AI models -- Connect to cloud-based AI model providers if desired -
- -![Default State](./_assets/jan_ui.png) -
- -### Step 2: Download a Model - -Jan offers various local AI models, from nimble lightweights to hefty powerhouses: -1. Go to the **Hub Tab** or to [HuggingFace](https://huggingface.co/models) where you will be able -to find even more models alongside their details. (TIP: You can copy the URL or name of the model on the Hub Tab -and download it there.) -2. Browse models and tap any for details (Models need to be in GGUF format) -3. Select one that matches your needs & hardware specs -4. Hit **Download** to begin (a progress bar will appear for the duration of the download) - -
-![Download a Model](./_assets/model-management-01.png) -
- - -Local models consume your computer's memory and processing power. Choose carefully based on your hardware -specifications ([Mac](/docs/desktop/mac#minimum-requirements), [Windows](/docs/desktop/windows#compatibility), -[Linux](/docs/desktop/linux#compatibility)). - - -**Note:** Some Hugging Face models require an access token. Enter yours -in **Settings > Model Providers > Llama.cpp > Hugging Face Access Token** before importing. - -
-![Add HF Token](./_assets/hf_token.png) -
- - -For alternative installation methods, see the [Model Management](/manage-models) section. - - - -### Step 3: Turn on GPU Acceleration (Optional) - -While your model downloads, let's supercharge your setup. On **Windows** or **Linux** with -a compatible graphics card, you can dramatically boost performance with GPU acceleration. -1. Head to **() Settings** > **Hardware** -2. Under **GPUs**, toggle the setting to ON if not already enabled. - -![Turn on GPU acceleration](./_assets/gpu_accl.png) - - -Install all required dependencies and drivers before enabling GPU acceleration. Check the **GPU Setup Guide** for [Windows](/docs/desktop/windows#gpu-acceleration) & [Linux](/docs/desktop/linux#gpu-acceleration). - -
- -### Step 4: Customize Assistant Instructions - -With your model ready to roll, you can tailor how it responds by tweaking instructions or model configurations -through the [Assistants feature](/docs/assistants). - -
- -![Assistant Instruction](./_assets/assistant-dropdown.png) - -
- -You can also go to the assistant tab to manage all of your personalized instructions. The cool thing about -these is that you can use them no matter which model you choose. - -
- -![Add an Assistant Instruction](./_assets/assistant-edit-dialog.png) - -
- -### Step 5: Start Chatting and Update the Settings - -Model downloaded? Instructions set? Time to chat. Type your message in the **input field** at -the bottom to kickstart the conversation. - -Fine-tune your experience by: -- Tweaking [model parameters](/docs/model-parameters) via the **Gear icon** next to your model or in **Assistant Settings** -- Switching models for different tasks through the **model selector** in **Model** tab or **input field** -- [Creating new threads](/docs/threads#creating-new-thread) with custom instructions and configurations - -
- -![Chat with a Model](./_assets/model-parameters.png) - -
- - -### Step 6: Connect to cloud models (Optional) - -Jan plays nice with both open source and cloud models. Connect to OpenAI (GPT-4o, o1), Anthropic (Claude), Groq, Mistral, and others: -1. Open any **Thread** -2. Select a model from the **model selector** dropdown -3. Pick your provider, click the **Gear icon** beside it -4. Grab a valid API key from your chosen provider (make sure it has sufficient credits) -5. Paste your **API Key** into Jan - -For detailed setup, check [Remote APIs](/docs/remote-models/openai). - -
-![Connect Remote APIs](./_assets/quick-start-03.png) -
- -
diff --git a/docs/src/pages/docs/server-examples/_assets/tabby-answer-engine.png b/docs/src/pages/docs/server-examples/_assets/tabby-answer-engine.png deleted file mode 100644 index 420b609fcb..0000000000 Binary files a/docs/src/pages/docs/server-examples/_assets/tabby-answer-engine.png and /dev/null differ diff --git a/docs/src/pages/docs/server-examples/_assets/tabby-chat-sidebar.png b/docs/src/pages/docs/server-examples/_assets/tabby-chat-sidebar.png deleted file mode 100644 index 50cfbd226b..0000000000 Binary files a/docs/src/pages/docs/server-examples/_assets/tabby-chat-sidebar.png and /dev/null differ diff --git a/docs/src/pages/docs/threads.mdx b/docs/src/pages/docs/threads.mdx index 12a21abd0c..85d4bcf7cc 100644 --- a/docs/src/pages/docs/threads.mdx +++ b/docs/src/pages/docs/threads.mdx @@ -1,86 +1,145 @@ --- title: Start Chatting -description: Manage your interaction with AI models locally. +description: Download models and manage your conversations with AI models locally. keywords: [ Jan, - Customizable Intelligence, LLM, local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, + LLM, + chat, threads, - chat history, - thread history, + models, + download, + installation, + conversations, ] --- -import { Callout } from 'nextra/components' -import { SquarePen, Pencil, Ellipsis, Paintbrush, Trash2 } from 'lucide-react' +import { Callout, Steps } from 'nextra/components' +import { SquarePen, Pencil, Ellipsis, Paintbrush, Trash2, Settings } from 'lucide-react' +# Start Chatting -# Chat with a Model + -Jan organizes your conversations with a model into chats or threads, making it easy to track and revisit -your interactions. This guide will help you effectively manage your chat history. +### Step 1: Install Jan -## Creating New Conversation/Thread -1. Click **New Chat** () icon on the -bottom left of Jan. -2. Select your preferred model in **Model Selector** in input field & start chatting. +1. [Download Jan](/download) +2. Install the app ([Mac](/docs/desktop/mac), [Windows](/docs/desktop/windows), [Linux](/docs/desktop/linux)) +3. Launch Jan + +### Step 2: Download a Model + +Jan requires a model to chat. Download one from the Hub: + +1. Go to the **Hub Tab** +2. Browse available models (must be GGUF format) +3. Select one matching your hardware specs +4. Click **Download** + +![Download a Model](./_assets/model-management-01.png) + + +Models consume memory and processing power. Choose based on your hardware specs. + + +**HuggingFace models:** Some require an access token. Add yours in **Settings > Model Providers > Llama.cpp > Hugging Face Access Token**. + +![Add HF Token](./_assets/hf_token.png) + +### Step 3: Enable GPU Acceleration (Optional) + +For Windows/Linux with compatible graphics cards: + +1. Go to **() Settings** > **Hardware** +2. Toggle **GPUs** to ON + +![Turn on GPU acceleration](./_assets/gpu_accl.png) + + +Install required drivers before enabling GPU acceleration. See setup guides for [Windows](/docs/desktop/windows#gpu-acceleration) & [Linux](/docs/desktop/linux#gpu-acceleration). + + +### Step 4: Start Chatting + +1. Click **New Chat** () icon +2. Select your model in the input field dropdown +3. Type your message and start chatting -
![Create New Thread](./_assets/threads-new-chat-updated.png) -## View Your Chat History +
-1. Once you open Jan, the default screen is **Chat** -2. On the **left sidebar**, you can: - - View your **Conversations** and scroll through your history - - Click any chat to open the full conversation +## Managing Conversations -## Favorites and Recents +Jan organizes conversations into threads for easy tracking and revisiting. -Jan helps you quickly access important and recent conversations with **Favorites** and **Recents** -in the left sidebar: -- **Favorites**: Pin threads you use often for instant access. Click the three dots icon on the right of the -thread and a context menu will pop up with the favorite option for you to click on. -- **Recents**: See your most recently accessed threads for quick navigation. +### View Chat History + +- **Left sidebar** shows all conversations +- Click any chat to open the full conversation +- **Favorites**: Pin important threads for quick access +- **Recents**: Access recently used threads -
![Favorites and Recents](./_assets/threads-favorites-and-recents-updated.png) +### Edit Chat Titles -## Edit a Chat Title -1. Navigate to the **Conversation** that you want to edit title on the sidebar to your left -2. Hover on the conversation and click on **three dots** () icon +1. Hover over a conversation in the sidebar +2. Click **three dots** () icon 3. Click **Rename** -4. Add new title & save +4. Enter new title and save -
![Context Menu](./_assets/threads-context-menu-updated.png) -## Delete Thread +### Delete Threads -There's no undo for chat deletion, so make sure you REALLY want to remove it permanently. +Thread deletion is permanent. No undo available. -When you want to completely remove a thread: - -1. Navigate to the **Thread** that you want to delete in left sidebar -2. Hover on the thread and click on **three dots** () icon +**Single thread:** +1. Hover over thread in sidebar +2. Click **three dots** () icon 3. Click **Delete** +**All threads:** +1. Hover over `Recents` category +2. Click **three dots** () icon +3. Select **Delete All** + +## Advanced Features + +### Custom Assistant Instructions + +Customize how models respond: + +1. Use the assistant dropdown in the input field +2. Or go to the **Assistant tab** to create custom instructions +3. Instructions work across all models + +![Assistant Instruction](./_assets/assistant-dropdown.png) + +![Add an Assistant Instruction](./_assets/assistant-edit-dialog.png) + +### Model Parameters + +Fine-tune model behavior: +- Click the **Gear icon** next to your model +- Adjust parameters in **Assistant Settings** +- Switch models via the **model selector** + +![Chat with a Model](./_assets/model-parameters.png) + +### Connect Cloud Models (Optional) + +Connect to OpenAI, Anthropic, Groq, Mistral, and others: -
-![Delete Thread](./_assets/threads-context-menu-updated.png) +1. Open any thread +2. Select a cloud model from the dropdown +3. Click the **Gear icon** beside the provider +4. Add your API key (ensure sufficient credits) -### Delete all threads at once +![Connect Remote APIs](./_assets/quick-start-03.png) -In case you need to remove all conversations at once: -1. Hover on the `Recents` category and click on **three dots** () icon -2. Select **Delete All** +For detailed setup, see [Remote APIs](/docs/remote-models/openai). diff --git a/docs/src/pages/local-server/_assets/add_assistant.png b/docs/src/pages/local-server/_assets/add_assistant.png new file mode 100644 index 0000000000..b8f3defb51 Binary files /dev/null and b/docs/src/pages/local-server/_assets/add_assistant.png differ diff --git a/docs/src/pages/local-server/_assets/anthropic.png b/docs/src/pages/local-server/_assets/anthropic.png new file mode 100644 index 0000000000..d82ba291db Binary files /dev/null and b/docs/src/pages/local-server/_assets/anthropic.png differ diff --git a/docs/src/pages/local-server/_assets/api-server-logs.png b/docs/src/pages/local-server/_assets/api-server-logs.png new file mode 100644 index 0000000000..f32c014721 Binary files /dev/null and b/docs/src/pages/local-server/_assets/api-server-logs.png differ diff --git a/docs/src/pages/local-server/_assets/api-server.png b/docs/src/pages/local-server/_assets/api-server.png new file mode 100644 index 0000000000..e25d0a5bbf Binary files /dev/null and b/docs/src/pages/local-server/_assets/api-server.png differ diff --git a/docs/src/pages/local-server/_assets/api-server2.png b/docs/src/pages/local-server/_assets/api-server2.png new file mode 100644 index 0000000000..6bb0c3c0be Binary files /dev/null and b/docs/src/pages/local-server/_assets/api-server2.png differ diff --git a/docs/src/pages/local-server/_assets/assistant-add-dialog.png b/docs/src/pages/local-server/_assets/assistant-add-dialog.png new file mode 100644 index 0000000000..aa24380922 Binary files /dev/null and b/docs/src/pages/local-server/_assets/assistant-add-dialog.png differ diff --git a/docs/src/pages/local-server/_assets/assistant-dropdown-updated.png b/docs/src/pages/local-server/_assets/assistant-dropdown-updated.png new file mode 100644 index 0000000000..b6ee0b53d2 Binary files /dev/null and b/docs/src/pages/local-server/_assets/assistant-dropdown-updated.png differ diff --git a/docs/src/pages/local-server/_assets/assistant-dropdown.png b/docs/src/pages/local-server/_assets/assistant-dropdown.png new file mode 100644 index 0000000000..eb3ddfbe55 Binary files /dev/null and b/docs/src/pages/local-server/_assets/assistant-dropdown.png differ diff --git a/docs/src/pages/local-server/_assets/assistant-edit-dialog.png b/docs/src/pages/local-server/_assets/assistant-edit-dialog.png new file mode 100644 index 0000000000..b323d7b2ff Binary files /dev/null and b/docs/src/pages/local-server/_assets/assistant-edit-dialog.png differ diff --git a/docs/src/pages/local-server/_assets/assistants-ui-overview.png b/docs/src/pages/local-server/_assets/assistants-ui-overview.png new file mode 100644 index 0000000000..989616f133 Binary files /dev/null and b/docs/src/pages/local-server/_assets/assistants-ui-overview.png differ diff --git a/docs/src/pages/local-server/_assets/cohere.png b/docs/src/pages/local-server/_assets/cohere.png new file mode 100644 index 0000000000..f7d24d74c4 Binary files /dev/null and b/docs/src/pages/local-server/_assets/cohere.png differ diff --git a/docs/src/pages/local-server/_assets/deepseek.png b/docs/src/pages/local-server/_assets/deepseek.png new file mode 100644 index 0000000000..9e1084aee5 Binary files /dev/null and b/docs/src/pages/local-server/_assets/deepseek.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-01.png b/docs/src/pages/local-server/_assets/extensions-01.png new file mode 100644 index 0000000000..98fe85480d Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-01.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-02.png b/docs/src/pages/local-server/_assets/extensions-02.png new file mode 100644 index 0000000000..5761b6b7f5 Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-02.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-03.png b/docs/src/pages/local-server/_assets/extensions-03.png new file mode 100644 index 0000000000..a74230a0ae Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-03.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-04.png b/docs/src/pages/local-server/_assets/extensions-04.png new file mode 100644 index 0000000000..20b48bcf5b Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-04.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-05.png b/docs/src/pages/local-server/_assets/extensions-05.png new file mode 100644 index 0000000000..3967d90a85 Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-05.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-06.png b/docs/src/pages/local-server/_assets/extensions-06.png new file mode 100644 index 0000000000..b169e3926d Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-06.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-07.png b/docs/src/pages/local-server/_assets/extensions-07.png new file mode 100644 index 0000000000..3d39f56d94 Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-07.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-08.png b/docs/src/pages/local-server/_assets/extensions-08.png new file mode 100644 index 0000000000..3d124e3674 Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-08.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-09.png b/docs/src/pages/local-server/_assets/extensions-09.png new file mode 100644 index 0000000000..7d7cd61932 Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-09.png differ diff --git a/docs/src/pages/local-server/_assets/extensions-10.png b/docs/src/pages/local-server/_assets/extensions-10.png new file mode 100644 index 0000000000..ecadd8475b Binary files /dev/null and b/docs/src/pages/local-server/_assets/extensions-10.png differ diff --git a/docs/src/pages/local-server/_assets/google.png b/docs/src/pages/local-server/_assets/google.png new file mode 100644 index 0000000000..751c473d7f Binary files /dev/null and b/docs/src/pages/local-server/_assets/google.png differ diff --git a/docs/src/pages/local-server/_assets/gpu_accl.png b/docs/src/pages/local-server/_assets/gpu_accl.png new file mode 100644 index 0000000000..d1cfca99f2 Binary files /dev/null and b/docs/src/pages/local-server/_assets/gpu_accl.png differ diff --git a/docs/src/pages/local-server/_assets/groq.png b/docs/src/pages/local-server/_assets/groq.png new file mode 100644 index 0000000000..c2f87ecddc Binary files /dev/null and b/docs/src/pages/local-server/_assets/groq.png differ diff --git a/docs/src/pages/local-server/_assets/hardware.png b/docs/src/pages/local-server/_assets/hardware.png new file mode 100644 index 0000000000..177d829a54 Binary files /dev/null and b/docs/src/pages/local-server/_assets/hardware.png differ diff --git a/docs/src/pages/local-server/_assets/hf-unsloth.png b/docs/src/pages/local-server/_assets/hf-unsloth.png new file mode 100644 index 0000000000..2e3edb422e Binary files /dev/null and b/docs/src/pages/local-server/_assets/hf-unsloth.png differ diff --git a/docs/src/pages/local-server/_assets/hf_and_jan.png b/docs/src/pages/local-server/_assets/hf_and_jan.png new file mode 100644 index 0000000000..5bc324a298 Binary files /dev/null and b/docs/src/pages/local-server/_assets/hf_and_jan.png differ diff --git a/docs/src/pages/local-server/_assets/hf_token.png b/docs/src/pages/local-server/_assets/hf_token.png new file mode 100644 index 0000000000..49b16b25a8 Binary files /dev/null and b/docs/src/pages/local-server/_assets/hf_token.png differ diff --git a/docs/src/pages/local-server/_assets/install-engines-01.png b/docs/src/pages/local-server/_assets/install-engines-01.png new file mode 100644 index 0000000000..95e824a7f2 Binary files /dev/null and b/docs/src/pages/local-server/_assets/install-engines-01.png differ diff --git a/docs/src/pages/local-server/_assets/install-engines-02.png b/docs/src/pages/local-server/_assets/install-engines-02.png new file mode 100644 index 0000000000..b6b6a6a587 Binary files /dev/null and b/docs/src/pages/local-server/_assets/install-engines-02.png differ diff --git a/docs/src/pages/local-server/_assets/install-engines-03.png b/docs/src/pages/local-server/_assets/install-engines-03.png new file mode 100644 index 0000000000..a65145a4c6 Binary files /dev/null and b/docs/src/pages/local-server/_assets/install-engines-03.png differ diff --git a/docs/src/pages/local-server/_assets/jan-app-new.png b/docs/src/pages/local-server/_assets/jan-app-new.png new file mode 100644 index 0000000000..85db5d5522 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-app-new.png differ diff --git a/docs/src/pages/local-server/_assets/jan-app.png b/docs/src/pages/local-server/_assets/jan-app.png new file mode 100644 index 0000000000..d7fb241811 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-app.png differ diff --git a/docs/src/pages/local-server/_assets/jan-nano-bench.png b/docs/src/pages/local-server/_assets/jan-nano-bench.png new file mode 100644 index 0000000000..ce923bc226 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-nano-bench.png differ diff --git a/docs/src/pages/local-server/_assets/jan-nano-demo.gif b/docs/src/pages/local-server/_assets/jan-nano-demo.gif new file mode 100644 index 0000000000..a2b87619f7 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-nano-demo.gif differ diff --git a/docs/src/pages/local-server/_assets/jan-nano0.png b/docs/src/pages/local-server/_assets/jan-nano0.png new file mode 100644 index 0000000000..f2da8b5f79 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-nano0.png differ diff --git a/docs/src/pages/local-server/_assets/jan-nano1.png b/docs/src/pages/local-server/_assets/jan-nano1.png new file mode 100644 index 0000000000..f36427373b Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan-nano1.png differ diff --git a/docs/src/pages/local-server/_assets/jan_ui.png b/docs/src/pages/local-server/_assets/jan_ui.png new file mode 100644 index 0000000000..01d3568df1 Binary files /dev/null and b/docs/src/pages/local-server/_assets/jan_ui.png differ diff --git a/docs/src/pages/local-server/_assets/llama.cpp-01-updated.png b/docs/src/pages/local-server/_assets/llama.cpp-01-updated.png new file mode 100644 index 0000000000..177c26145e Binary files /dev/null and b/docs/src/pages/local-server/_assets/llama.cpp-01-updated.png differ diff --git a/docs/src/pages/local-server/_assets/llama.cpp-01.png b/docs/src/pages/local-server/_assets/llama.cpp-01.png new file mode 100644 index 0000000000..95b4f550eb Binary files /dev/null and b/docs/src/pages/local-server/_assets/llama.cpp-01.png differ diff --git a/docs/src/pages/local-server/_assets/ls.png b/docs/src/pages/local-server/_assets/ls.png new file mode 100644 index 0000000000..80a272a128 Binary files /dev/null and b/docs/src/pages/local-server/_assets/ls.png differ diff --git a/docs/src/pages/local-server/_assets/martian.png b/docs/src/pages/local-server/_assets/martian.png new file mode 100644 index 0000000000..840fd083d4 Binary files /dev/null and b/docs/src/pages/local-server/_assets/martian.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-on.png b/docs/src/pages/local-server/_assets/mcp-on.png new file mode 100644 index 0000000000..a8cf4f0c1f Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-on.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-1.png b/docs/src/pages/local-server/_assets/mcp-setup-1.png new file mode 100644 index 0000000000..619d03f910 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-1.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-10.png b/docs/src/pages/local-server/_assets/mcp-setup-10.png new file mode 100644 index 0000000000..0a8a9dbae1 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-10.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-2.png b/docs/src/pages/local-server/_assets/mcp-setup-2.png new file mode 100644 index 0000000000..2c4f7b7724 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-2.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-3.png b/docs/src/pages/local-server/_assets/mcp-setup-3.png new file mode 100644 index 0000000000..a05432c69e Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-3.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-4.png b/docs/src/pages/local-server/_assets/mcp-setup-4.png new file mode 100644 index 0000000000..35653f82e7 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-4.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-5.png b/docs/src/pages/local-server/_assets/mcp-setup-5.png new file mode 100644 index 0000000000..f8787ab16c Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-5.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-6.png b/docs/src/pages/local-server/_assets/mcp-setup-6.png new file mode 100644 index 0000000000..a84c0273aa Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-6.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-7.png b/docs/src/pages/local-server/_assets/mcp-setup-7.png new file mode 100644 index 0000000000..e8c07d03ab Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-7.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-8.png b/docs/src/pages/local-server/_assets/mcp-setup-8.png new file mode 100644 index 0000000000..a69b7bd391 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-8.png differ diff --git a/docs/src/pages/local-server/_assets/mcp-setup-9.png b/docs/src/pages/local-server/_assets/mcp-setup-9.png new file mode 100644 index 0000000000..a4ebb2fdb4 Binary files /dev/null and b/docs/src/pages/local-server/_assets/mcp-setup-9.png differ diff --git a/docs/src/pages/local-server/_assets/mistralai.png b/docs/src/pages/local-server/_assets/mistralai.png new file mode 100644 index 0000000000..98fb13eb5a Binary files /dev/null and b/docs/src/pages/local-server/_assets/mistralai.png differ diff --git a/docs/src/pages/local-server/_assets/model-capabilities-edit-01.png b/docs/src/pages/local-server/_assets/model-capabilities-edit-01.png new file mode 100644 index 0000000000..0824307089 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-capabilities-edit-01.png differ diff --git a/docs/src/pages/local-server/_assets/model-capabilities-edit-02.png b/docs/src/pages/local-server/_assets/model-capabilities-edit-02.png new file mode 100644 index 0000000000..6c4f84f729 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-capabilities-edit-02.png differ diff --git a/docs/src/pages/local-server/_assets/model-import-04.png b/docs/src/pages/local-server/_assets/model-import-04.png new file mode 100644 index 0000000000..5b35c816d2 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-import-04.png differ diff --git a/docs/src/pages/local-server/_assets/model-import-05.png b/docs/src/pages/local-server/_assets/model-import-05.png new file mode 100644 index 0000000000..9d54e1559d Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-import-05.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-01.png b/docs/src/pages/local-server/_assets/model-management-01.png new file mode 100644 index 0000000000..00cec174c5 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-01.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-02.png b/docs/src/pages/local-server/_assets/model-management-02.png new file mode 100644 index 0000000000..94e933c6ff Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-02.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-03.png b/docs/src/pages/local-server/_assets/model-management-03.png new file mode 100644 index 0000000000..c31a04bd04 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-03.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-04.png b/docs/src/pages/local-server/_assets/model-management-04.png new file mode 100644 index 0000000000..be20e984df Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-04.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-05.png b/docs/src/pages/local-server/_assets/model-management-05.png new file mode 100644 index 0000000000..4c817aeccf Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-05.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-06.png b/docs/src/pages/local-server/_assets/model-management-06.png new file mode 100644 index 0000000000..e0e33cbcb2 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-06.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-07.png b/docs/src/pages/local-server/_assets/model-management-07.png new file mode 100644 index 0000000000..ca9880ac04 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-07.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-08.png b/docs/src/pages/local-server/_assets/model-management-08.png new file mode 100644 index 0000000000..98c02a19d7 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-08.png differ diff --git a/docs/src/pages/local-server/_assets/model-management-09.png b/docs/src/pages/local-server/_assets/model-management-09.png new file mode 100644 index 0000000000..990b537101 Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-management-09.png differ diff --git a/docs/src/pages/local-server/_assets/model-parameters.png b/docs/src/pages/local-server/_assets/model-parameters.png new file mode 100644 index 0000000000..777b013d5a Binary files /dev/null and b/docs/src/pages/local-server/_assets/model-parameters.png differ diff --git a/docs/src/pages/local-server/_assets/nvidia-nim.png b/docs/src/pages/local-server/_assets/nvidia-nim.png new file mode 100644 index 0000000000..e748756f7b Binary files /dev/null and b/docs/src/pages/local-server/_assets/nvidia-nim.png differ diff --git a/docs/src/pages/local-server/_assets/openai.png b/docs/src/pages/local-server/_assets/openai.png new file mode 100644 index 0000000000..eb3160982d Binary files /dev/null and b/docs/src/pages/local-server/_assets/openai.png differ diff --git a/docs/src/pages/local-server/_assets/openrouter.png b/docs/src/pages/local-server/_assets/openrouter.png new file mode 100644 index 0000000000..3cb114c929 Binary files /dev/null and b/docs/src/pages/local-server/_assets/openrouter.png differ diff --git a/docs/src/pages/local-server/_assets/quick-start-01.png b/docs/src/pages/local-server/_assets/quick-start-01.png new file mode 100644 index 0000000000..03b101aa2f Binary files /dev/null and b/docs/src/pages/local-server/_assets/quick-start-01.png differ diff --git a/docs/src/pages/local-server/_assets/quick-start-02.png b/docs/src/pages/local-server/_assets/quick-start-02.png new file mode 100644 index 0000000000..977d8ebdbb Binary files /dev/null and b/docs/src/pages/local-server/_assets/quick-start-02.png differ diff --git a/docs/src/pages/local-server/_assets/quick-start-03.png b/docs/src/pages/local-server/_assets/quick-start-03.png new file mode 100644 index 0000000000..3938f0fd12 Binary files /dev/null and b/docs/src/pages/local-server/_assets/quick-start-03.png differ diff --git a/docs/src/pages/local-server/_assets/retrieval-01.png b/docs/src/pages/local-server/_assets/retrieval-01.png new file mode 100644 index 0000000000..1d120e745b Binary files /dev/null and b/docs/src/pages/local-server/_assets/retrieval-01.png differ diff --git a/docs/src/pages/local-server/_assets/retrieval-02.png b/docs/src/pages/local-server/_assets/retrieval-02.png new file mode 100644 index 0000000000..2ec4ba0297 Binary files /dev/null and b/docs/src/pages/local-server/_assets/retrieval-02.png differ diff --git a/docs/src/pages/local-server/_assets/serper-mcp.png b/docs/src/pages/local-server/_assets/serper-mcp.png new file mode 100644 index 0000000000..20c9fad99d Binary files /dev/null and b/docs/src/pages/local-server/_assets/serper-mcp.png differ diff --git a/docs/src/pages/local-server/_assets/settings-01.png b/docs/src/pages/local-server/_assets/settings-01.png new file mode 100644 index 0000000000..e2e5aead57 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-01.png differ diff --git a/docs/src/pages/local-server/_assets/settings-02.png b/docs/src/pages/local-server/_assets/settings-02.png new file mode 100644 index 0000000000..6c1699a1c4 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-02.png differ diff --git a/docs/src/pages/local-server/_assets/settings-03.png b/docs/src/pages/local-server/_assets/settings-03.png new file mode 100644 index 0000000000..4e32c390ba Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-03.png differ diff --git a/docs/src/pages/local-server/_assets/settings-04.png b/docs/src/pages/local-server/_assets/settings-04.png new file mode 100644 index 0000000000..f2dc4b2ecf Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-04.png differ diff --git a/docs/src/pages/local-server/_assets/settings-05.png b/docs/src/pages/local-server/_assets/settings-05.png new file mode 100644 index 0000000000..489d6cd505 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-05.png differ diff --git a/docs/src/pages/local-server/_assets/settings-06.png b/docs/src/pages/local-server/_assets/settings-06.png new file mode 100644 index 0000000000..c5f5ca511c Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-06.png differ diff --git a/docs/src/pages/local-server/_assets/settings-07.png b/docs/src/pages/local-server/_assets/settings-07.png new file mode 100644 index 0000000000..64bbebf07a Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-07.png differ diff --git a/docs/src/pages/local-server/_assets/settings-08.png b/docs/src/pages/local-server/_assets/settings-08.png new file mode 100644 index 0000000000..d4f10cd727 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-08.png differ diff --git a/docs/src/pages/local-server/_assets/settings-09.png b/docs/src/pages/local-server/_assets/settings-09.png new file mode 100644 index 0000000000..8c61e99d48 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-09.png differ diff --git a/docs/src/pages/local-server/_assets/settings-10.png b/docs/src/pages/local-server/_assets/settings-10.png new file mode 100644 index 0000000000..30c4dd4d49 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-10.png differ diff --git a/docs/src/pages/local-server/_assets/settings-11.png b/docs/src/pages/local-server/_assets/settings-11.png new file mode 100644 index 0000000000..2fb3fe441b Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-11.png differ diff --git a/docs/src/pages/local-server/_assets/settings-12.png b/docs/src/pages/local-server/_assets/settings-12.png new file mode 100644 index 0000000000..e05cea1157 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-12.png differ diff --git a/docs/src/pages/local-server/_assets/settings-13.png b/docs/src/pages/local-server/_assets/settings-13.png new file mode 100644 index 0000000000..2454b4085e Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-13.png differ diff --git a/docs/src/pages/local-server/_assets/settings-14.png b/docs/src/pages/local-server/_assets/settings-14.png new file mode 100644 index 0000000000..520fd787bb Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-14.png differ diff --git a/docs/src/pages/local-server/_assets/settings-15.png b/docs/src/pages/local-server/_assets/settings-15.png new file mode 100644 index 0000000000..ccc52f497b Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-15.png differ diff --git a/docs/src/pages/local-server/_assets/settings-16.png b/docs/src/pages/local-server/_assets/settings-16.png new file mode 100644 index 0000000000..72a61ca316 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-16.png differ diff --git a/docs/src/pages/local-server/_assets/settings-17.png b/docs/src/pages/local-server/_assets/settings-17.png new file mode 100644 index 0000000000..cd5a3de9e0 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-17.png differ diff --git a/docs/src/pages/local-server/_assets/settings-18.png b/docs/src/pages/local-server/_assets/settings-18.png new file mode 100644 index 0000000000..accaaa173f Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-18.png differ diff --git a/docs/src/pages/local-server/_assets/settings-19.png b/docs/src/pages/local-server/_assets/settings-19.png new file mode 100644 index 0000000000..634c6f1da0 Binary files /dev/null and b/docs/src/pages/local-server/_assets/settings-19.png differ diff --git a/docs/src/pages/local-server/_assets/sys_monitor.png b/docs/src/pages/local-server/_assets/sys_monitor.png new file mode 100644 index 0000000000..85a8676a5a Binary files /dev/null and b/docs/src/pages/local-server/_assets/sys_monitor.png differ diff --git a/docs/src/pages/local-server/_assets/tensorrt-llm-01.png b/docs/src/pages/local-server/_assets/tensorrt-llm-01.png new file mode 100644 index 0000000000..2f839f7a57 Binary files /dev/null and b/docs/src/pages/local-server/_assets/tensorrt-llm-01.png differ diff --git a/docs/src/pages/local-server/_assets/tensorrt-llm-02.png b/docs/src/pages/local-server/_assets/tensorrt-llm-02.png new file mode 100644 index 0000000000..de98418740 Binary files /dev/null and b/docs/src/pages/local-server/_assets/tensorrt-llm-02.png differ diff --git a/docs/src/pages/local-server/_assets/threads-context-menu-updated.png b/docs/src/pages/local-server/_assets/threads-context-menu-updated.png new file mode 100644 index 0000000000..e90baf2abb Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-context-menu-updated.png differ diff --git a/docs/src/pages/local-server/_assets/threads-context-menu.png b/docs/src/pages/local-server/_assets/threads-context-menu.png new file mode 100644 index 0000000000..8ef05a2cb6 Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-context-menu.png differ diff --git a/docs/src/pages/local-server/_assets/threads-favorites-and-recents-updated.png b/docs/src/pages/local-server/_assets/threads-favorites-and-recents-updated.png new file mode 100644 index 0000000000..5d62974e4c Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-favorites-and-recents-updated.png differ diff --git a/docs/src/pages/local-server/_assets/threads-favorites-and-recents.png b/docs/src/pages/local-server/_assets/threads-favorites-and-recents.png new file mode 100644 index 0000000000..116fdf0223 Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-favorites-and-recents.png differ diff --git a/docs/src/pages/local-server/_assets/threads-new-chat-updated.png b/docs/src/pages/local-server/_assets/threads-new-chat-updated.png new file mode 100644 index 0000000000..6780e7df3f Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-new-chat-updated.png differ diff --git a/docs/src/pages/local-server/_assets/threads-new-chat.png b/docs/src/pages/local-server/_assets/threads-new-chat.png new file mode 100644 index 0000000000..4d991e9597 Binary files /dev/null and b/docs/src/pages/local-server/_assets/threads-new-chat.png differ diff --git a/docs/src/pages/local-server/_assets/together.png b/docs/src/pages/local-server/_assets/together.png new file mode 100644 index 0000000000..bc2fd9d498 Binary files /dev/null and b/docs/src/pages/local-server/_assets/together.png differ diff --git a/docs/src/pages/local-server/_assets/trouble-shooting-01.png b/docs/src/pages/local-server/_assets/trouble-shooting-01.png new file mode 100644 index 0000000000..22d1a6d681 Binary files /dev/null and b/docs/src/pages/local-server/_assets/trouble-shooting-01.png differ diff --git a/docs/src/pages/local-server/_assets/trouble-shooting-02.png b/docs/src/pages/local-server/_assets/trouble-shooting-02.png new file mode 100644 index 0000000000..8c61e99d48 Binary files /dev/null and b/docs/src/pages/local-server/_assets/trouble-shooting-02.png differ diff --git a/docs/src/pages/local-server/_assets/trouble-shooting-03.png b/docs/src/pages/local-server/_assets/trouble-shooting-03.png new file mode 100644 index 0000000000..d07ed56d7e Binary files /dev/null and b/docs/src/pages/local-server/_assets/trouble-shooting-03.png differ diff --git a/docs/src/pages/local-server/_assets/trouble-shooting-04.png b/docs/src/pages/local-server/_assets/trouble-shooting-04.png new file mode 100644 index 0000000000..f7166e1806 Binary files /dev/null and b/docs/src/pages/local-server/_assets/trouble-shooting-04.png differ diff --git a/docs/src/pages/local-server/_meta.json b/docs/src/pages/local-server/_meta.json new file mode 100644 index 0000000000..49c3debb18 --- /dev/null +++ b/docs/src/pages/local-server/_meta.json @@ -0,0 +1,36 @@ +{ + "-- Switcher": { + "type": "separator", + "title": "Switcher" + }, + "index": "Overview", + + "getting-started-separator": { + "title": "GETTING STARTED", + "type": "separator" + }, + "api-server": "Server Setup", + + "tutorials-separator": { + "title": "TUTORIALS", + "type": "separator" + }, + "continue-dev": "Continue.dev", + "llmcord": "LLMCord (Discord)", + "n8n": "n8n", + "tabby": "Tabby", + + "explanation-separator": { + "title": "EXPLANATION", + "type": "separator" + }, + "llama-cpp": "Local AI Engine", + "data-folder": "Jan Data Folder", + + "reference-separator": { + "title": "REFERENCE", + "type": "separator" + }, + "settings": "Server Settings", + "troubleshooting": "Troubleshooting" +} diff --git a/docs/src/pages/docs/api-server.mdx b/docs/src/pages/local-server/api-server.mdx similarity index 100% rename from docs/src/pages/docs/api-server.mdx rename to docs/src/pages/local-server/api-server.mdx diff --git a/docs/src/pages/docs/server-examples/continue-dev.mdx b/docs/src/pages/local-server/continue-dev.mdx similarity index 100% rename from docs/src/pages/docs/server-examples/continue-dev.mdx rename to docs/src/pages/local-server/continue-dev.mdx diff --git a/docs/src/pages/local-server/data-folder.mdx b/docs/src/pages/local-server/data-folder.mdx new file mode 100644 index 0000000000..7e3cd21693 --- /dev/null +++ b/docs/src/pages/local-server/data-folder.mdx @@ -0,0 +1,179 @@ +--- +title: Jan Data Folder +description: Understand where Jan stores your data and how to monitor server logs. +keywords: + [ + Jan, + local AI, + data folder, + logs, + server logs, + troubleshooting, + privacy, + local storage, + file structure, + ] +--- + +import { Tabs } from 'nextra/components' +import { Callout, Steps } from 'nextra/components' +import { Settings, FolderOpen } from 'lucide-react' + +# Jan Data Folder + +Jan stores all your data locally on your computer. No cloud storage, no external servers - everything stays on your machine. + +## Quick Access + +**Via Jan Interface:** +1. Go to Settings () > Advanced Settings +2. Click the folder icon + +![Open Jan Data Folder](./_assets/settings-11.png) + +**Via File Explorer:** + + + +```cmd +%APPDATA%\Jan\data +``` + + +```bash +~/Library/Application Support/Jan/data +``` + + +```bash +# Default installation +~/.config/Jan/data + +# Custom installation +$XDG_CONFIG_HOME/Jan/data +``` + + + +## Monitoring Server Logs + +When Jan's local server is running, you can monitor real-time activity in the logs folder: + +![API Server Logs](./_assets/api-server-logs.png) + +### Live Log Monitoring + +**Real-time logs show:** +- API requests and responses +- Model loading and inference activity +- Error messages and warnings +- Performance metrics +- Connection attempts from external applications + +**Accessing logs:** +- **In Jan**: System Monitor (footer) > App Log +- **File location**: `/logs/app.log` + +### Log Categories + +| Log Type | What It Shows | When It's Useful | +|----------|---------------|------------------| +| **[APP]** | Core application events | Startup issues, crashes, general errors | +| **[SERVER]** | API server activity | Connection problems, request failures | +| **[SPECS]** | Hardware information | Performance issues, compatibility problems | +| **[MODEL]** | Model operations | Loading failures, inference errors | + +## Data Structure + +``` +jan/ +├── assistants/ # AI personality settings +│ └── jan/ +│ └── assistant.json +├── engines/ # Engine configurations +│ └── llama.cpp/ +├── extensions/ # Add-on modules +│ └── extensions.json +├── logs/ # Server and application logs +│ └── app.log # Main log file +├── models/ # Downloaded AI models +│ └── huggingface.co/ +└── threads/ # Chat conversations + └── thread_id/ + ├── messages.jsonl + └── thread.json +``` + +## Key Folders Explained + +### `/logs/` - Server Activity Hub +Contains all application and server logs. Essential for troubleshooting and monitoring API activity. + +**What you'll find:** +- Real-time server requests +- Model loading status +- Error diagnostics +- Performance data + +### `/models/` - AI Model Storage +Where your downloaded models live. Each model includes: +- `model.gguf` - The actual AI model file +- `model.json` - Configuration and metadata + +### `/threads/` - Chat History +Every conversation gets its own folder with: +- `messages.jsonl` - Complete chat history +- `thread.json` - Thread metadata and settings + +### `/assistants/` - AI Personalities +Configuration files that define how your AI assistants behave, including their instructions and available tools. + +## Privacy & Security + +**Your data stays local:** +- No cloud backups or syncing +- Files stored in standard JSON/JSONL formats +- Complete control over your data +- Easy to backup or migrate + +**File permissions:** +- Only you and Jan can access these files +- Standard user-level permissions +- No elevated access required + + +When using cloud AI services through Jan, those conversations follow the cloud provider's data policies. Local model conversations never leave your computer. + + +## Common Tasks + +### Backup Your Data +Copy the entire Jan data folder to backup: +- All chat history +- Model configurations +- Assistant settings +- Extension data + +### Clear Chat History +Delete individual thread folders in `/threads/` or use Jan's interface to delete conversations. + +### Export Conversations +Thread files are in standard JSON format - readable by any text editor or compatible with other applications. + +### Troubleshooting Data Issues +1. Check `/logs/app.log` for error messages +2. Verify folder permissions +3. Ensure sufficient disk space +4. Restart Jan if files appear corrupted + +## Uninstalling Jan + +If you need to completely remove Jan and all data: + +**Keep data (reinstall later):** Just uninstall the application +**Remove everything:** Delete the Jan data folder after uninstalling + +Detailed uninstall guides: +- [macOS](/docs/desktop/mac#step-2-clean-up-data-optional) +- [Windows](/docs/desktop/windows#step-2-handle-jan-data) +- [Linux](/docs/desktop/linux#uninstall-jan) diff --git a/docs/src/pages/local-server/index.mdx b/docs/src/pages/local-server/index.mdx new file mode 100644 index 0000000000..d5e9c110a3 --- /dev/null +++ b/docs/src/pages/local-server/index.mdx @@ -0,0 +1,201 @@ +--- +title: Jan Local Server +description: Run Jan as a local AI server with OpenAI-compatible API for building AI applications. +keywords: + [ + Jan, + local AI server, + OpenAI API, + local API, + AI development, + self-hosted AI, + offline AI, + privacy-focused AI, + API integration, + local LLM server, + ] +--- + +import { Callout } from 'nextra/components' +import FAQBox from '@/components/FaqBox' + +# Jan Local Server + +![Jan's Cover Image](./_assets/ls.png) + +Jan Local Server provides an OpenAI-compatible API that runs entirely on your computer. Build AI applications using familiar API patterns while keeping complete control over your data and models. + +## How It Works + +Jan runs a local server powered by [llama.cpp](https://github.com/ggerganov/llama.cpp) that provides an OpenAI-compatible API. By default, it runs at `https://localhost:1337` and works completely offline. + +**What this enables:** +- Connect development tools like [Continue](./continue-dev) and [Cline](https://cline.bot/) to Jan +- Build AI applications without cloud dependencies +- Use both local and cloud models through the same API +- Maintain full privacy for local model interactions + +## Key Features + +**Local AI Models** +- Download popular open-source models (Llama, Gemma, Qwen) from Hugging Face +- Import any GGUF files from your computer +- Run models completely offline + +**Cloud Integration** +- Connect to cloud services (OpenAI, Anthropic, Mistral, Groq) +- Use your own API keys +- Switch between local and cloud models seamlessly + +**Developer-Friendly** +- OpenAI-compatible API for easy integration +- Chat interface for testing and configuration +- Model parameter customization + +**Complete Privacy** +- All data stored locally +- No cloud dependencies for local models +- You control what data leaves your machine + +## Why Choose Jan? + +**Truly Open Source** +- Apache 2.0 license - no restrictions +- Community-driven development +- Full transparency + +**Local-First Design** +- Works 100% offline with local models +- Data stays on your machine +- No vendor lock-in + +**Flexible Model Support** +- Your choice of AI models +- Both local and cloud options +- Easy model switching + +**No Data Collection** +- We don't collect or sell user data +- Local conversations stay local +- [Read our Privacy Policy](./privacy) + + +Jan follows [local-first principles](https://www.inkandswitch.com/local-first) - your data belongs to you and stays on your device. + + +## Philosophy + +Jan is built to be **user-owned**. This means: +- **True open source** - Apache 2.0 license with no hidden restrictions +- **Local data storage** - following [local-first principles](https://www.inkandswitch.com/local-first) +- **Internet optional** - works completely offline +- **Free choice** - use any AI models you want +- **No surveillance** - we don't collect or sell your data + +Read more about our [philosophy](/about#philosophy). + +## Inspiration + +Jan draws inspiration from [Calm Computing](https://en.wikipedia.org/wiki/Calm_technology) and the Disappearing Computer - technology that works quietly in the background without demanding constant attention. + +## Built With + +Jan stands on the shoulders of excellent open-source projects: +- [llama.cpp](https://github.com/ggerganov/llama.cpp) - Local AI model inference +- [Scalar](https://github.com/scalar/scalar) - API documentation + +## Frequently Asked Questions + + + Jan is a privacy-focused AI assistant that runs locally on your computer. It's an alternative to ChatGPT, Claude, and other cloud-based AI tools, with optional cloud AI support when you want it. + + + + Download Jan, add a model (either download locally or add a cloud API key), and start chatting. Check our [Quick Start guide](/docs/quickstart) for detailed setup instructions. + + + + Jan works on all major operating systems: + - [macOS](/docs/desktop/mac#compatibility) - Intel and Apple Silicon + - [Windows](/docs/desktop/windows#compatibility) - x64 systems + - [Linux](/docs/desktop/linux) - Most distributions + + Jan supports various hardware: + - NVIDIA GPUs (CUDA acceleration) + - AMD GPUs (Vulkan support) + - Intel Arc GPUs (Vulkan support) + - Any GPU with Vulkan support + - CPU-only operation + + + + Jan prioritizes privacy through: + - **100% offline operation** with local models + - **Local data storage** - everything stays on your device + - **Open-source transparency** - you can verify what Jan does + - **No data collection** - we never see your conversations + + + When using cloud AI services, their privacy policies apply. Jan doesn't add any tracking. + + + All your files and chat history are stored locally in the [Jan Data Folder](./data-folder). See our complete [Privacy Policy](./privacy). + + + + **Local models:** + - Download optimized models from the [Jan Hub](/docs/manage-models) + - Import GGUF models from Hugging Face + - Use any compatible local model files + + **Cloud models:** + - OpenAI (GPT-4, ChatGPT) + - Anthropic (Claude) + - Mistral, Groq, and others + - Bring your own API keys + + + + Yes! Jan is completely free and open-source with no subscription fees. + + **What's free:** + - Jan application and all features + - Local model usage (once downloaded) + - Local server and API + + **What costs money:** + - Cloud model usage (you pay providers directly) + - We add no markup to cloud service costs + + + + Absolutely! Once you download a local model, Jan works completely offline with no internet connection needed. This is one of Jan's core features. + + + + **Get help:** + - Join our [Discord community](https://discord.gg/qSwXFx6Krr) + - Check the [Troubleshooting guide](./troubleshooting) + - Ask in [#🆘|jan-help](https://discord.com/channels/1107178041848909847/1192090449725358130) + + **Contribute:** + - Contribute on [GitHub](https://github.com/menloresearch/jan) + - No permission needed to submit improvements + - Help other users in Discord + + + + Yes! We fully support self-hosting. You can: + - Download Jan directly for personal use + - Fork the [GitHub repository](https://github.com/menloresearch/jan) + - Build from source + - Deploy on your own infrastructure + + + + "Just a Name" - we admit we're not great at marketing! 😄 + + + + Yes! We love hiring from our community. Check our open positions at [Careers](https://menlo.bamboohr.com/careers). + diff --git a/docs/src/pages/local-server/llama-cpp.mdx b/docs/src/pages/local-server/llama-cpp.mdx new file mode 100644 index 0000000000..2cddb32519 --- /dev/null +++ b/docs/src/pages/local-server/llama-cpp.mdx @@ -0,0 +1,171 @@ +--- +title: llama.cpp Engine +description: Configure Jan's local AI engine for optimal performance. +keywords: + [ + Jan, + local AI, + llama.cpp, + AI engine, + local models, + performance, + GPU acceleration, + CPU processing, + model optimization, + ] +--- + +import { Tabs } from 'nextra/components' +import { Callout, Steps } from 'nextra/components' +import { Settings } from 'lucide-react' + +# Local AI Engine (llama.cpp) + +llama.cpp is the engine that runs AI models locally on your computer. It's what makes Jan work without needing internet or cloud services. + +## Accessing Engine Settings + +Find llama.cpp settings at **Settings** () > **Local Engine** > **llama.cpp**: + +![llama.cpp](./_assets/llama.cpp-01-updated.png) + + +Most users don't need to change these settings. Jan picks good defaults for your hardware automatically. + + +## When to Adjust Settings + +You might need to modify these settings if: +- Models load slowly or don't work +- You've installed new hardware (like a graphics card) +- You want to optimize performance for your specific setup + +## Engine Management + +| Feature | What It Does | When You Need It | +|---------|-------------|------------------| +| **Engine Version** | Shows current llama.cpp version | Check compatibility with newer models | +| **Check Updates** | Downloads engine updates | When new models require updated engine | +| **Backend Selection** | Choose hardware-optimized version | After hardware changes or performance issues | + +## Hardware Backends + +Different backends are optimized for different hardware. Pick the one that matches your computer: + + + + + +### NVIDIA Graphics Cards (Fastest) +**For CUDA 12.0:** +- `llama.cpp-avx2-cuda-12-0` (most common) +- `llama.cpp-avx512-cuda-12-0` (newer Intel/AMD CPUs) + +**For CUDA 11.7:** +- `llama.cpp-avx2-cuda-11-7` (older drivers) + +### CPU Only +- `llama.cpp-avx2` (modern CPUs) +- `llama.cpp-avx` (older CPUs) +- `llama.cpp-noavx` (very old CPUs) + +### Other Graphics Cards +- `llama.cpp-vulkan` (AMD, Intel Arc) + + + + + +### NVIDIA Graphics Cards +- `llama.cpp-avx2-cuda-12-0` (recommended) +- `llama.cpp-avx2-cuda-11-7` (older drivers) + +### CPU Only +- `llama.cpp-avx2` (modern CPUs) +- `llama.cpp-arm64` (ARM processors) + +### Other Graphics Cards +- `llama.cpp-vulkan` (AMD, Intel graphics) + + + + + +### Apple Silicon (M1/M2/M3/M4) +- `llama.cpp-mac-arm64` (recommended) + +### Intel Macs +- `llama.cpp-mac-amd64` + + +Apple Silicon automatically uses GPU acceleration through Metal. + + + + + + +## Performance Settings + +| Setting | What It Does | Recommended | Impact | +|---------|-------------|-------------|---------| +| **Continuous Batching** | Handle multiple requests simultaneously | Enabled | Faster when using tools or multiple chats | +| **Parallel Operations** | Number of concurrent requests | 4 | Higher = more multitasking, uses more memory | +| **CPU Threads** | Processor cores to use | Auto | More threads can speed up CPU processing | + +## Memory Settings + +| Setting | What It Does | Recommended | When to Change | +|---------|-------------|-------------|----------------| +| **Flash Attention** | Efficient memory usage | Enabled | Leave enabled unless problems occur | +| **Caching** | Remember recent conversations | Enabled | Speeds up follow-up questions | +| **KV Cache Type** | Memory vs quality trade-off | f16 | Change to q8_0 if low on memory | +| **mmap** | Efficient model loading | Enabled | Helps with large models | +| **Context Shift** | Handle very long conversations | Disabled | Enable for very long chats | + +### Memory Options Explained +- **f16**: Best quality, uses more memory +- **q8_0**: Balanced memory and quality +- **q4_0**: Least memory, slight quality reduction + +## Quick Troubleshooting + +**Models won't load:** +- Try a different backend +- Check available RAM/VRAM +- Update engine version + +**Slow performance:** +- Verify GPU acceleration is active +- Close memory-intensive applications +- Increase GPU Layers in model settings + +**Out of memory:** +- Change KV Cache Type to q8_0 +- Reduce Context Size in model settings +- Try a smaller model + +**Crashes or errors:** +- Switch to a more stable backend (avx instead of avx2) +- Update graphics drivers +- Check system temperature + +## Quick Setup Guide + +**Most users:** +1. Use default settings +2. Only change if problems occur + +**NVIDIA GPU users:** +1. Download CUDA backend +2. Ensure GPU Layers is set high +3. Enable Flash Attention + +**Performance optimization:** +1. Enable Continuous Batching +2. Use appropriate backend for hardware +3. Monitor memory usage + + +The default settings work well for most hardware. Only adjust these if you're experiencing specific issues or want to optimize for your particular setup. + diff --git a/docs/src/pages/docs/server-examples/llmcord.mdx b/docs/src/pages/local-server/llmcord.mdx similarity index 100% rename from docs/src/pages/docs/server-examples/llmcord.mdx rename to docs/src/pages/local-server/llmcord.mdx diff --git a/docs/src/pages/docs/server-examples/n8n.mdx b/docs/src/pages/local-server/n8n.mdx similarity index 100% rename from docs/src/pages/docs/server-examples/n8n.mdx rename to docs/src/pages/local-server/n8n.mdx diff --git a/docs/src/pages/local-server/settings.mdx b/docs/src/pages/local-server/settings.mdx new file mode 100644 index 0000000000..545531baa3 --- /dev/null +++ b/docs/src/pages/local-server/settings.mdx @@ -0,0 +1,246 @@ +--- +title: Settings +description: Configure Jan to work best for your needs and hardware. +keywords: + [ + Jan, + settings, + configuration, + model management, + privacy, + hardware settings, + local AI, + customization, + ] +--- + +import { Tabs, Steps, Callout } from 'nextra/components' +import { Settings, EllipsisVertical, Plus, FolderOpen, Pencil } from 'lucide-react' + +# Settings + +Access Jan's settings by clicking the icon in the bottom left corner. + +## Managing AI Models + +Find all model options at **Settings** > **Model Providers**: + +### Adding Models + +**From Hugging Face:** +- Enter a model's ID (like `microsoft/DialoGPT-medium`) in the search bar +- **Need authentication?** Some models require a Hugging Face token - add yours at **Settings > Model Providers > Hugging Face Access Token** + +**From Your Computer:** +- Click **Import Model** and select GGUF files from your computer +- Works with any compatible model files you've downloaded + +### Managing Existing Models + +**Start a model:** +1. Open a new chat and select the model you want +2. Or go to **Settings > Model Providers** and click the **Start** button + +**Remove a model:** +- Click the trash icon next to the **Start** button +- Confirm deletion when prompted + +### Hugging Face Token Setup + +For restricted models (like Meta's Llama models): +1. Get your token from [Hugging Face Tokens](https://huggingface.co/docs/hub/en/security-tokens) +2. Add it at **Settings > Model Providers > Hugging Face** + +## Model Configuration (Gear Icon) + +![Model Settings](./_assets/trouble-shooting-04.png) + +Click the gear icon next to any model to adjust how it behaves: + +**Basic Settings:** +- **Context Size**: How much conversation history the model remembers +- **GPU Layers**: How much of the model runs on your graphics card (higher = faster, but uses more GPU memory) +- **Temperature**: Controls creativity (0.1 = focused, 1.0 = creative) + +**Advanced Controls:** +- **Top K & Top P**: Fine-tune how the model picks words (lower = more focused) +- **Min P**: Minimum probability threshold for word selection +- **Repeat Penalty**: Prevents the model from repeating itself too much +- **Presence Penalty**: Encourages the model to use varied vocabulary + + +For detailed explanations of these parameters, see our [Model Parameters Guide](/docs/model-parameters). + + +## Hardware Monitoring + +Check your computer's performance at **Settings** > **Hardware**: + +- **CPU, RAM, GPU**: Real-time usage and specifications +- **GPU Acceleration**: Turn GPU acceleration on/off +- **Temperature monitoring**: Keep an eye on system heat + +![Hardware](./_assets/hardware.png) + + +If your computer gets very hot, consider using smaller models or reducing GPU layers. + + +## Personalization + +### Visual Appearance + +Customize Jan's look at **Settings** > **Appearance**: +- **Theme**: Choose light or dark mode +- **Colors**: Pick your preferred color scheme +- **Code highlighting**: Adjust syntax colors for programming discussions + +![Appearance](./_assets/settings-04.png) + +### Writing Assistance + +**Spell Check:** Jan can help catch typing mistakes in your messages. + +![Spell Check](./_assets/settings-06.png) + +## Privacy & Data Control + +Access privacy settings at **Settings** > **Privacy**: + +### Usage Analytics + +**Default: No data collection.** Everything stays on your computer. + +**Optional: Help improve Jan** +- Toggle **Analytics** to share anonymous usage patterns +- No conversations or personal data ever shared +- Change this setting anytime + + +See exactly what we collect (with your permission) in our [Privacy Policy](/docs/privacy). + + +![Analytics](./_assets/settings-07.png) + +### Log Management + +**Viewing System Logs:** +- Logs help troubleshoot problems +- Click the folder icon to open App Logs and System Logs +- Logs are automatically deleted after 24 hours + +![View Logs](./_assets/settings-08.png) + +**Clearing Logs:** +- Click **Clear** to remove all log files immediately +- Useful before sharing your computer or troubleshooting + + +Clearing logs cannot be undone. + + +![Clear Logs](./_assets/settings-09.png) + +### Data Folder Management + +Jan stores everything locally on your computer in standard file formats. + +**Access Your Data:** +- Click the folder icon to open Jan's data directory +- Find your chat history, models, and settings +- All files are yours to backup, move, or examine + +![Open Jan Data Folder](./_assets/settings-11.png) + +**Change Storage Location:** +1. Click the pencil icon to edit the data folder location +2. Choose an empty directory +3. Confirm the move (original folder stays intact) +4. Restart Jan to complete the change + +![Edit Jan Data Folder](./_assets/settings-12.png) + + +This duplicates your data to the new location - your original files stay safe. + + +## Network Settings + +### HTTPS Proxy Setup + +If you need to connect through a corporate network or want enhanced privacy: + +1. **Enable** the proxy toggle +2. Enter your proxy details: +``` +http://:@: +``` + +**Example:** +``` +http://user:pass@proxy.company.com:8080 +``` + +![HTTPS Proxy](./_assets/settings-13.png) + + +Proxy connections may slow down model downloads but don't affect local model performance. + + +### SSL Certificate Handling + +**Ignore SSL Certificates:** Only enable this for: +- Corporate networks with internal certificates +- Development/testing environments +- Trusted network setups + +![Ignore SSL Certificates](./_assets/settings-14.png) + + +Only enable if you trust your network environment completely. + + +## Emergency Options + +### Factory Reset + +**When to use:** Only as a last resort for serious problems that other solutions can't fix. + +**What it does:** Returns Jan to its original state - deletes everything. + +**Steps:** +1. Click **Reset** under "Reset to Factory Settings" +2. Type **RESET** to confirm you understand this deletes everything +3. Optionally keep your current data folder location +4. Click **Reset Now** +5. Restart Jan + +![Factory Reset](./_assets/settings-17.png) + +![Reset Confirmation](./_assets/settings-18.png) + + +**This cannot be undone.** All chat history, downloaded models, and settings will be permanently deleted. + + +**Try these first:** +- Restart Jan +- Check the [Troubleshooting Guide](./troubleshooting) +- Ask for help on [Discord](https://discord.gg/qSwXFx6Krr) + +## Quick Tips + +**For new users:** +- Start with default settings +- Try a few different models to find what works best +- Enable GPU acceleration if you have a graphics card + +**For performance:** +- Monitor hardware usage in real-time +- Adjust GPU layers based on your graphics card memory +- Use smaller models on older hardware + +**For privacy:** +- All data stays local by default +- Check the data folder to see exactly what's stored +- Analytics are opt-in only diff --git a/docs/src/pages/docs/server-examples/tabby.mdx b/docs/src/pages/local-server/tabby.mdx similarity index 96% rename from docs/src/pages/docs/server-examples/tabby.mdx rename to docs/src/pages/local-server/tabby.mdx index 6647b4eb46..917f40550c 100644 --- a/docs/src/pages/docs/server-examples/tabby.mdx +++ b/docs/src/pages/local-server/tabby.mdx @@ -92,13 +92,9 @@ which can leverage the Jan LLM and related contexts like code, documentation, an Simply open the Tabby homepage at [localhost:8080](http://localhost:8080) and ask your questions. -![Answer Engine](./_assets/tabby-answer-engine.png) - ### IDE Chat Sidebar After installing the Tabby extension on your preferred IDEs, you can engage in a conversation with Jan to: 1. Discuss your code, receive suggestions, and seek assistance. -2. Request Jan to inline edit your code, and then review and accept the proposed changes. - -![Chat Sidebar](./_assets/tabby-chat-sidebar.png) \ No newline at end of file +2. Request Jan to inline edit your code, and then review and accept the proposed changes. \ No newline at end of file diff --git a/docs/src/pages/local-server/troubleshooting.mdx b/docs/src/pages/local-server/troubleshooting.mdx new file mode 100644 index 0000000000..2bd8f649aa --- /dev/null +++ b/docs/src/pages/local-server/troubleshooting.mdx @@ -0,0 +1,327 @@ +--- +title: Troubleshooting +description: Fix common issues and optimize Jan's performance with this comprehensive guide. +keywords: + [ + Jan, + troubleshooting, + error fixes, + performance issues, + GPU problems, + installation issues, + common errors, + local AI, + technical support, + ] +--- + +import { Tabs } from 'nextra/components' +import { Callout, Steps } from 'nextra/components' + +# Troubleshooting + +## Getting Help: Error Logs + +When Jan isn't working properly, error logs help identify the problem. Here's how to get them: + +### Quick Access to Logs + +**In Jan Interface:** +1. Look for **System Monitor** in the footer +2. Click **App Log** + +![App log](./_assets/trouble-shooting-02.png) + +**Via Terminal:** +```bash +# macOS/Linux +tail -n 50 ~/Library/Application\ Support/Jan/data/logs/app.log + +# Windows +type %APPDATA%\Jan\data\logs\app.log +``` + + +Remove any personal information before sharing logs. We only keep logs for 24 hours. + + +## Common Issues & Solutions + +### Jan Won't Start (Broken Installation) + +If Jan gets stuck after installation or won't start properly: + + + + +**Clean Reinstall Steps:** + +1. **Uninstall Jan** from Applications folder + +2. **Delete all Jan data:** +```bash +rm -rf ~/Library/Application\ Support/Jan +``` + +3. **Kill any background processes** (for versions before 0.4.2): +```bash +ps aux | grep nitro +# Find process IDs and kill them: +kill -9 +``` + +4. **Download fresh copy** from [jan.ai](/download) + + + + +**Clean Reinstall Steps:** + +1. **Uninstall Jan** via Control Panel + +2. **Delete application data:** +```cmd +cd C:\Users\%USERNAME%\AppData\Roaming +rmdir /S Jan +``` + +3. **Kill background processes** (for versions before 0.4.2): +```cmd +# Find nitro processes +tasklist | findstr "nitro" +# Kill them by PID +taskkill /F /PID +``` + +4. **Download fresh copy** from [jan.ai](/download) + + + + +**Clean Reinstall Steps:** + +1. **Uninstall Jan:** +```bash +# For Debian/Ubuntu +sudo apt-get remove jan + +# For AppImage - just delete the file +``` + +2. **Delete application data:** +```bash +# Default location +rm -rf ~/.config/Jan + +# Or custom location +rm -rf $XDG_CONFIG_HOME/Jan +``` + +3. **Kill background processes** (for versions before 0.4.2): +```bash +ps aux | grep nitro +kill -9 +``` + +4. **Download fresh copy** from [jan.ai](/download) + + + + + +Make sure Jan is completely removed from all user accounts before reinstalling. + + +### NVIDIA GPU Not Working + +If Jan isn't using your NVIDIA graphics card for acceleration: + + + +### Step 1: Check Your Hardware Setup + +**Verify GPU Detection:** + +*Windows:* Right-click desktop → NVIDIA Control Panel, or check Device Manager → Display Adapters + +*Linux:* Run `lspci | grep -i nvidia` + +**Install Required Software:** + +**NVIDIA Driver (470.63.01 or newer):** +1. Download from [nvidia.com/drivers](https://www.nvidia.com/drivers/) +2. Test: Run `nvidia-smi` in terminal + +**CUDA Toolkit (11.7 or newer):** +1. Download from [CUDA Downloads](https://developer.nvidia.com/cuda-downloads) +2. Test: Run `nvcc --version` + +**Linux Additional Requirements:** +```bash +# Install required packages +sudo apt update && sudo apt install gcc-11 g++-11 cpp-11 + +# Set CUDA environment +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 +``` + +### Step 2: Enable GPU Acceleration in Jan + +1. Open **Settings** > **Hardware** +2. Turn on **GPU Acceleration** +3. Check **System Monitor** (footer) to verify GPU is detected + +![Hardware](./_assets/trouble-shooting-01.png) + +### Step 3: Verify Configuration + +1. Go to **Settings** > **Advanced Settings** > **Data Folder** +2. Open `settings.json` file +3. Check these settings: + +```json +{ + "run_mode": "gpu", // Should be "gpu" + "nvidia_driver": { + "exist": true, // Should be true + "version": "531.18" + }, + "cuda": { + "exist": true, // Should be true + "version": "12" + }, + "gpus": [ + { + "id": "0", + "vram": "12282" // Your GPU memory in MB + } + ] +} +``` + +### Step 4: Restart Jan + +Close and restart Jan to apply changes. + + + +#### Tested Working Configurations + +**Desktop Systems:** +- Windows 11 + RTX 4070Ti + CUDA 12.2 + Driver 531.18 +- Ubuntu 22.04 + RTX 4070Ti + CUDA 12.2 + Driver 545 + +**Virtual Machines:** +- Ubuntu on Proxmox + GTX 1660Ti + CUDA 12.1 + Driver 535 + + +Desktop installations perform better than virtual machines. VMs need proper GPU passthrough setup. + + +### "Failed to Fetch" or "Something's Amiss" Errors + +When models won't respond or show these errors: + +**1. Check System Requirements** +- **RAM:** Use models under 80% of available memory + - 8GB system: Use models under 6GB + - 16GB system: Use models under 13GB +- **Hardware:** Verify your system meets [minimum requirements](/docs/troubleshooting#step-1-verify-hardware-and-system-requirements) + +**2. Adjust Model Settings** +- Open model settings in the chat sidebar +- Lower the **GPU Layers (ngl)** setting +- Start low and increase gradually + +**3. Check Port Conflicts** +If logs show "Bind address failed": + +```bash +# Check if ports are in use +# macOS/Linux +netstat -an | grep 1337 + +# Windows +netstat -ano | find "1337" +``` + +**Default Jan ports:** +- API Server: `1337` +- Documentation: `3001` + +**4. Try Factory Reset** +1. **Settings** > **Advanced Settings** +2. Click **Reset** under "Reset To Factory Settings" + + +This deletes all chat history, models, and settings. + + +**5. Clean Reinstall** +If problems persist, do a complete clean installation (see "Jan Won't Start" section above). + +### Permission Denied Errors + +If you see permission errors during installation: + +```bash +# Fix npm permissions (macOS/Linux) +sudo chown -R $(whoami) ~/.npm + +# Windows - run as administrator +``` + +### OpenAI API Issues ("Unexpected Token") + +For OpenAI connection problems: + +**1. Verify API Key** +- Get valid key from [OpenAI Platform](https://platform.openai.com/) +- Ensure sufficient credits and permissions + +**2. Check Regional Access** +- Some regions have API restrictions +- Try using a VPN from a supported region +- Test network connectivity to OpenAI endpoints + +### Performance Issues + +**Models Running Slowly:** +- Enable GPU acceleration (see NVIDIA section) +- Use appropriate model size for your hardware +- Close other memory-intensive applications +- Check Task Manager/Activity Monitor for resource usage + +**High Memory Usage:** +- Switch to smaller model variants +- Reduce context length in model settings +- Enable model offloading in engine settings + +**Frequent Crashes:** +- Update graphics drivers +- Check system temperature +- Reduce GPU layers if using GPU acceleration +- Verify adequate power supply (desktop systems) + +## Need More Help? + +If these solutions don't work: + +**1. Gather Information:** +- Copy your error logs (see top of this page) +- Note your system specifications +- Describe what you were trying to do when the problem occurred + +**2. Get Community Support:** +- Join our [Discord](https://discord.com/invite/FTk2MvZwJH) +- Post in the **#🆘|jan-help** channel +- Include your logs and system info + +**3. Check Resources:** +- [System requirements](/docs/troubleshooting#step-1-verify-hardware-and-system-requirements) +- [Model compatibility guides](/docs/manage-models) +- [Hardware setup guides](/docs/desktop/) + + +When sharing logs, remove personal information first. We only keep logs for 24 hours, so report issues promptly. + diff --git a/docs/theme.config.tsx b/docs/theme.config.tsx index 59bc8c6c97..3c63fc16b5 100644 --- a/docs/theme.config.tsx +++ b/docs/theme.config.tsx @@ -75,13 +75,13 @@ const config: DocsThemeConfig = { {[ { title: 'Jan', path: '/docs', Icon: LibraryBig }, { - title: 'Jan Web', - path: '/platforms', + title: 'Jan Local Server', + path: '/local-server', Icon: BrainCircuit, }, - { title: 'Jan Mobile', path: '/platforms', Icon: Blocks }, + // { title: 'Jan Mobile', path: '/platforms', Icon: Blocks }, { - title: 'API Platform', + title: 'Jan API Platform', path: '/platforms', Icon: Computer, }, @@ -131,14 +131,14 @@ const config: DocsThemeConfig = { name="description" content={ frontMatter?.description || - `Run LLMs like Mistral or Llama2 locally and offline on your computer, or connect to remote AI APIs like OpenAI's GPT-4 or Groq.` + `Run LLMs like Qwen3 or Llama3 locally and offline on your computer, or connect to remote AI APIs like OpenAI's GPT-4 or Groq.` } />