diff --git a/README.md b/README.md index 4d07ad55c..bc5918cb9 100644 --- a/README.md +++ b/README.md @@ -76,31 +76,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
jan.exe
Intel
M1/M2
jan.deb
jan.AppImage
diff --git a/docs/docs/community/community.md b/docs/docs/community/community.mdx
similarity index 59%
rename from docs/docs/community/community.md
rename to docs/docs/community/community.mdx
index 24a87daf0..d4866490e 100644
--- a/docs/docs/community/community.md
+++ b/docs/docs/community/community.mdx
@@ -29,3 +29,18 @@ keywords:
## Careers
- [Jobs](https://janai.bamboohr.com/careers)
+
+## Newsletter
+
+
diff --git a/docs/docs/guides/02-installation/05-docker.md b/docs/docs/guides/02-installation/05-docker.md
index 5973e9771..1cdc829df 100644
--- a/docs/docs/guides/02-installation/05-docker.md
+++ b/docs/docs/guides/02-installation/05-docker.md
@@ -108,7 +108,7 @@ sudo sh ./get-docker.sh --dry-run
```bash
# GPU mode with default file system
- docker compose --profile gpu up -d
+ docker compose --profile gpu-fs up -d
# GPU mode with S3 file system
docker compose --profile gpu-s3fs up -d
diff --git a/docs/docs/guides/02-installation/08-antivirus-compatibility-testing.md b/docs/docs/guides/02-installation/08-antivirus-compatibility-testing.md
index 6dd82138b..159e89975 100644
--- a/docs/docs/guides/02-installation/08-antivirus-compatibility-testing.md
+++ b/docs/docs/guides/02-installation/08-antivirus-compatibility-testing.md
@@ -1,7 +1,7 @@
---
-title: Antivirus Compatibility Testing
+title: Antivirus Testing
slug: /guides/install/antivirus-compatibility-testing
-description: Antivirus compatibility testing documentation for the Jan App v0.4.4 release.
+description: Antivirus compatibility testing documentation
keywords:
[
Jan AI,
@@ -16,18 +16,16 @@ keywords:
]
---
-This documentation outlines the antivirus compatibility testing conducted for the Jan App v0.4.4 release. This documentation includes a matrix that correlates the Jan App version with the tested antivirus versions.
+As a part of our release process, we run antivirus compatibility tests for Jan v0.4.4 and onwards. This documentation includes a matrix that correlates the Jan App version with the tested antivirus versions.
-## Tested Antivirus Versions
+## Antivirus Software Tested
-The Jan App v0.4.4 release has undergone automatic testing through CI with a selection of popular antivirus software to ensure compatibility and safety. The following summarizes the testing results:
+The following summarizes ongoing testing targets:
-| Antivirus | Version | Result |
+| Antivirus | Version | Target Result |
| ------------------ | ------------ | -------------------------------- |
| Bitdefender | 27.0.27.125 | Scanned and 0 threat(s) detected |
| McAfee | 4.21.0.0 | Scanned and 0 threat(s) detected |
| Microsoft Defender | 1.403.2259.0 | Scanned and 0 threat(s) detected |
-## Conclusion
-
-The testing indicates that Jan App v0.4.4 is compatible with Bitdefender, Microsoft Defender, and McAfee. Any updates or changes to compatibility status will be promptly documented.
+To report issues, false positives, or to request additional testing, please email devops@jan.ai
diff --git a/docs/docs/guides/07-integrations/01-integrate-continue.mdx b/docs/docs/guides/07-integrations/01-integrate-continue.mdx
index 1fa0397e2..1cef6ec46 100644
--- a/docs/docs/guides/07-integrations/01-integrate-continue.mdx
+++ b/docs/docs/guides/07-integrations/01-integrate-continue.mdx
@@ -85,26 +85,28 @@ Edit the `config.json` file and include the following configuration.
```
- Ensure that the `provider` is `openai`.
-- Ensure that the `model` is the same as the one you enabled in the Jan API Server.
+- Ensure that the `model` is the ID of the running model. You can check for the respective ID in System Monitor.
- Ensure that the `apiBase` is `http://localhost:1337/v1`.
- Ensure that the `apiKey` is `EMPTY`.
-### 4. Ensure the Using Model Is Activated in Jan
+### 4. Double Check the Model is Running
-Navigate to `Settings` > `Models`. Activate the model that you want to use in Jan by clicking the **three dots (⋮)** and **start model**.
+Open up the `System Monitor` to check that your model is currently running.
+
+If there are not active models, go to `Settings` > `My Models`. Click on the **three dots (⋮)** and **start model**.

-### 5. Try Out the Integration of Jan and Continue in VS Code
+### 5. Use Continue in VS Code
#### Asking questions about the code
-- Highlight a code snippet and press `Command + Shift + M` to open the **Left Panel**.
+- Highlight a code snippet and press `Command + M` to open the Continue Extension in VSCode.
- Select Jan at the bottom and ask a question about the code, for example, `Explain this code`.

-#### Editing the code with the help of a large language model
+#### Editing the code directly
- Highlight a code snippet and press `Command + Shift + L` and input your edit request, for example, `Write comments for this code`.
diff --git a/docs/docs/template/QA_script.md b/docs/docs/template/QA_script.md
index bba667bcd..9c7eeaf18 100644
--- a/docs/docs/template/QA_script.md
+++ b/docs/docs/template/QA_script.md
@@ -1,8 +1,8 @@
-# [Release Version] QA Script
+# Regression test
-**Release Version:** v0.4.6
+**Release Version:** v0.4.7
-**Operating System:**
+**Operating System:** MacOS
---
@@ -10,78 +10,64 @@
### 1. Users install app
-- [ ] :key: Test for clear user installation instructions.
-- [ ] :key: Verify that the installation path is correct for each OS.
- [ ] Check that the installation package is not corrupted and passes all security checks.
-- [ ] Validate that the app is correctly installed in the default or user-specified directory.
-- [ ] Ensure that all necessary dependencies are installed along with the app.
-- [ ] :key: :rocket: Confirm that the app launches successfully after installation.
+- [ ] :key: Confirm that the app launches successfully after installation.
### 2. Users update app
-- [ ] :key: Test that the updated version includes the new features or fixes outlined in the update notes.
- [ ] :key: Validate that the update does not corrupt user data or settings.
- [ ] :key: Confirm that the app restarts or prompts the user to restart after an update.
-
-### 3. Users uninstall app
-
-- [ ] :key::warning: Check that the uninstallation process removes the app successfully from the system.
-- [ ] Clean the Jan root directory and open the app to check if it creates all the necessary folders, especially models and extensions.
- [ ] When updating the app, check if the `/models` directory has any JSON files that change according to the update.
- [ ] Verify if updating the app also updates extensions correctly (test functionality changes, support notifications for necessary tests with each version related to extensions update).
-### 4. Users close app
+### 3. Users uninstall / close app
- [ ] :key: Ensure that after closing the app, all models are unloaded.
+- [ ] :key::warning: Check that the uninstallation process removes the app successfully from the system.
+- [ ] Clean the Jan root directory and open the app to check if it creates all the necessary folders, especially models and extensions.
+
## B. Overview
-### 1. Users use shortcut keys
+### 1. Shortcut key, memory usage / CPU usage
- [ ] :key: Test each shortcut key to confirm it works as described (My models, navigating, opening, closing, etc.).
-
-### 2. Users check the memory usage and CPU usage
-
- [ ] :key: Ensure that the interface presents the correct numbers for memory and CPU usage.
-### 3. Users check the `active model`
+### 2. Users check the `active model`
- [ ] :key: Verify that the app correctly displays the state of the loading model (e.g., loading, ready, error).
- [ ] :key: Confirm that the app allows users to switch between models if multiple are available.
- [ ] Check that the app provides feedback or instructions if the model fails to load.
+- [ ] Verify the troubleshooting assistant correctly capture hardware / log info #1784
## C. Thread
### 1. Users can chat with Jan, the default assistant
-- [ ] Verify that the input box for messages is present and functional.
-- [ ] :key: Check if typing a message and hitting `Send` results in the message appearing in the chat window.
-- [ ] :key: Confirm that Jan, the default assistant, replies to user inputs.
+- [ ] :key: Verify sending a message enables users to receive responses from model.
- [ ] :key: Ensure that the conversation thread is maintained without any loss of data upon sending multiple messages.
+- [ ] Users should be able to edit msg and the assistant will re-generate the answer based on the edited version of the message.
- [ ] Test for the ability to send different types of messages (e.g., text, emojis, code blocks).
-- [ ] :key: Validate the scroll functionality in the chat window for lengthy conversations.
-- [ ] Check if the user can copy the response.
-- [ ] Check if the user can delete responses.
-- [ ] :key: Check the `clear message` button works.
-- [ ] :key: Check the `delete entire chat` works.
-- [ ] Check if deleting all the chat retains the system prompt.
- [ ] Check the output format of the AI (code blocks, JSON, markdown, ...).
+- [ ] :key: Validate the scroll functionality in the chat window for lengthy conversations.
+- [ ] Check if the user can copy / delete the response.
+- [ ] :key: Check the `clear message` / `delete entire chat` button works.
+- [ ] Check if deleting all the chat retains the system prompt.
- [ ] :key: Validate that there is appropriate error handling and messaging if the assistant fails to respond.
- [ ] Test assistant's ability to maintain context over multiple exchanges.
-- [ ] :key: Check the `create new chat` button works correctly
+- [ ] :key: Check the `create new chat` button, and new conversation will have an automatically generated thread title based on users msg.
- [ ] Confirm that by changing `models` mid-thread the app can still handle it.
- [ ] Check the `regenerate` button renews the response (single / multiple times).
- [ ] Check the `Instructions` update correctly after the user updates it midway (mid-thread).
### 2. Users can customize chat settings like model parameters via both the GUI & thread.json
-- [ ] :key: Confirm that the Threads settings options are accessible.
- [ ] Test the functionality to adjust model parameters (e.g., Temperature, Top K, Top P) from the GUI and verify they are reflected in the chat behavior.
- [ ] :key: Ensure that changes can be saved and persisted between sessions.
- [ ] Validate that users can access and modify the thread.json file.
- [ ] :key: Check that changes made in thread.json are correctly applied to the chat session upon reload or restart.
- [ ] Check the maximum and minimum limits of the adjustable parameters and how they affect the assistant's responses.
-- [ ] :key: Validate user permissions for those who can change settings and persist them.
- [ ] :key: Ensure that users switch between threads with different models, the app can handle it.
### 3. Model dropdown
@@ -89,25 +75,16 @@
- [ ] Model size should display (for both installed and imported models)
### 4. Users can click on a history thread
-- [ ] Test the ability to click on any thread in the history panel.
-- [ ] :key: Verify that clicking a thread brings up the past conversation in the main chat window.
-- [ ] :key: Ensure that the selected thread is highlighted or otherwise indicated in the history panel.
- [ ] Confirm that the chat window displays the entire conversation from the selected history thread without any missing messages.
- [ ] :key: Check the performance and accuracy of the history feature when dealing with a large number of threads.
- [ ] Validate that historical threads reflect the exact state of the chat at that time, including settings.
- [ ] :key: Verify the ability to delete or clean old threads.
-- [ ] :key: Confirm that changing the title of the thread updates correctly.
+- [ ] Confirm that changing the title of the thread updates correctly.
### 5. Users can config instructions for the assistant.
-- [ ] Ensure there is a clear interface to input or change instructions for the assistant.
- [ ] Test if the instructions set by the user are being followed by the assistant in subsequent conversations.
- [ ] :key: Validate that changes to instructions are updated in real time and do not require a restart of the application or session.
-- [ ] :key: Confirm that the assistant's behavior changes in accordance with the new instructions provided.
- [ ] :key: Check for the ability to reset instructions to default or clear them completely.
-- [ ] :key: Test the feature that allows users to save custom sets of instructions for different scenarios.
-- [ ] Validate that instructions can be saved with descriptive names for easy retrieval.
-- [ ] :key: Check if the assistant can handle conflicting instructions and how it resolves them.
-- [ ] Ensure that instruction configurations are documented for user reference.
- [ ] :key: RAG - Users can import documents and the system should process queries about the uploaded file, providing accurate and appropriate responses in the conversation thread.
@@ -115,7 +92,6 @@
### 1. Users can discover recommended models (Jan ships with a few preconfigured model.json files)
-- [ ] :key: Verify that recommended models are displayed prominently on the main page.
- [ ] :key: Ensure that each model's recommendations are consistent with the user’s activity and preferences.
- [ ] Test the functionality of any filters that refine model recommendations.
@@ -123,7 +99,6 @@
- [ ] Display the best model for their RAM at the top.
- [ ] :key: Ensure that models are labeled with RAM requirements and compatibility.
-- [ ] :warning: Test that the platform provides alternative recommendations for models not suitable due to RAM limitations.
- [ ] :key: Check the download model functionality and validate if the cancel download feature works correctly.
### 3. Users can download models via a HuggingFace URL (coming soon)
@@ -132,22 +107,21 @@
- [ ] :key: Check the progress bar reflects the right process.
- [ ] Validate the error handling for invalid or inaccessible URLs.
-### 4. Users can add a new model to the Hub
+### 4. Users can import new models to the Hub
-- [ ] :key: Have clear instructions so users can do their own.
+- [ ] :key: Ensure import successfully via drag / drop or upload GGUF.
+- [ ] :key: Verify Move model binary file / Keep Original Files & Symlink option are working
+- [ ] :warning: Ensure it raises clear errors for users to fix the problem while adding a new model.
+- [ ] Users can add more info to the imported model / edit name
- [ ] :key: Ensure the new model updates after restarting the app.
-- [ ] :warning:Ensure it raises clear errors for users to fix the problem while adding a new model.
### 5. Users can use the model as they want
-- [ ] :key: Check `start` button response exactly what it does.
-- [ ] :key: Check `stop` button response exactly what it does.
-- [ ] :key: Check `delete` button response exactly what it does.
+- [ ] :key: Check `start` / `stop` / `delete` button response exactly what it does.
- [ ] Check if starting another model stops the other model entirely.
-- [ ] Check the `Explore models` navigate correctly to the model panel.
+- [x] :rocket: Check the `Explore models` navigate correctly to the model panel.
- [ ] :key: Check when deleting a model it will delete all the files on the user's computer.
- [ ] :warning:The recommended tags should present right for the user's hardware.
-- [ ] Assess that the descriptions of models are accurate and informative.
### 6. Users can Integrate With a Remote Server
- [ ] :key: Import openAI GPT model https://jan.ai/guides/using-models/integrate-with-remote-server/ and the model displayed in Hub / Thread dropdown
@@ -166,53 +140,45 @@
- [ ] :key: Test the 'Start' action for a model to ensure it initiates and the system resource usage reflects this change.
- [ ] :key: Verify the 'Stop' action for a model to confirm it ceases operation and frees up the system resources accordingly.
-- [ ] :key: Check the functionality that allows starting a model based on available system resources.
-- [ ] :key: Validate that the system prevents starting a new model if it exceeds safe resource utilization thresholds.
-- [ ] Ensure that the system provides warnings or recommendations when resource utilization is high before starting new models.
-- [ ] Test the ease of accessing model settings from the system monitor for resource management.
- [ ] Confirm that any changes in model status (start/stop) are logged or reported to the user for transparency.
## F. Settings
-### 1. Users can set color themes and dark/ light modes
+### 1. Appearance
-- [ ] Verify that the theme setting is easily accessible in the `Appearance` tab.
-- [ ] :key: Check that the theme change is reflected immediately upon selection.
- [ ] :key: Test the `Light`, `Dark`, and `System` theme settings to ensure they are functioning as expected.
- [ ] Confirm that the application saves the theme preference and persists it across sessions.
- [ ] Validate that all elements of the UI are compatible with the theme changes and maintain legibility and contrast.
-### 2. Users change the extensions [TBU]
+### 2. Extensions [TBU]
- [ ] Confirm that the `Extensions` tab lists all available plugins.
-- [ ] :key: Test the toggle switch for each plugin to ensure it enables or disables the plugin correctly.
-- [ ] Verify that plugin changes take effect without needing to restart the application unless specified.
-- [ ] :key: Check that the plugin's status (`Installed the latest version`) updates accurately after any changes.
-- [ ] Validate the `Manual Installation` process by selecting and installing a plugin file.
-- [ ] Test for proper error handling and user feedback when a plugin installation fails.
+- [x] :key: Test the toggle switch for each plugin to ensure it enables or disables the plugin correctly.
+- [x] Verify that plugin changes take effect without needing to restart the application unless specified.
+- [x] :key: Check that the plugin's status (`Installed the latest version`) updates accurately after any changes.
+- [x] Validate the `Manual Installation` process by selecting and installing a plugin file.
+- [x] Test for proper error handling and user feedback when a plugin installation fails.
-### 3. Users change the advanced settings
+### 3. Users can add custom plugins via manual installation [TBU]
+
+- [x] Verify that the `Manual Installation` option is clearly visible and accessible in the `Extensions` section.
+- [x] Test the functionality of the `Select` button within the `Manual Installation` area.
+- [x] :warning: Check that the file picker dialog allows for the correct plugin file types (e.g., .tgz).
+- [x] :key: Validate that the selected plugin file installs correctly and the plugin becomes functional.
+- [x] Ensure that there is a progress indicator or confirmation message once the installation is complete.
+- [x] Confirm that if the installation is interrupted or fails, the user is given a clear error message.
+- [x] :key: Test that the application prevents the installation of incompatible or corrupt plugin files.
+- [x] :key: Check that the user can uninstall or disable custom plugins as easily as pre-installed ones.
+- [x] Verify that the application's performance remains stable after the installation of custom plugins.
+
+### 4. Advanced settings
- [ ] :key: Test the `Experimental Mode` toggle to confirm it enables or disables experimental features as intended.
- [ ] :key: Check the functionality of `Open App Directory` to ensure it opens the correct folder in the system file explorer.
-- [ ] Validate that changes in advanced settings are applied immediately or provide appropriate instructions if a restart is needed.
-- [ ] Test the application's stability when experimental features are enabled.
-
-### 4. Users can add custom plugins via manual installation [TBU]
-
-- [ ] Verify that the `Manual Installation` option is clearly visible and accessible in the `Extensions` section.
-- [ ] Test the functionality of the `Select` button within the `Manual Installation` area.
-- [ ] :warning: Check that the file picker dialog allows for the correct plugin file types (e.g., .tgz).
-- [ ] :key: Validate that the selected plugin file installs correctly and the plugin becomes functional.
-- [ ] Ensure that there is a progress indicator or confirmation message once the installation is complete.
-- [ ] Confirm that if the installation is interrupted or fails, the user is given a clear error message.
-- [ ] :key: Test that the application prevents the installation of incompatible or corrupt plugin files.
-- [ ] :key: Check that the user can uninstall or disable custom plugins as easily as pre-installed ones.
-- [ ] Verify that the application's performance remains stable after the installation of custom plugins.
-
-### 5. Advanced Settings
-- [ ] Attemp to test downloading model from hub using **HTTP Proxy** [guideline](https://github.com/janhq/jan/pull/1562)
- [ ] Users can move **Jan data folder**
+- [ ] Validate that changes in advanced settings are applied immediately or provide appropriate instructions if a restart is needed.
+- [ ] Attemp to test downloading model from hub using **HTTP Proxy** [guideline](https://github.com/janhq/jan/pull/1562)
+- [ ] Logs that are older than 7 days or exceed 1MB in size will be automatically cleared upon starting the application.
- [ ] Users can click on Reset button to **factory reset** app settings to its original state & delete all usage data.
## G. Local API server
diff --git a/docs/docs/wall-of-love.md b/docs/docs/wall-of-love.md
index f196c90e9..f6bfe79d8 100644
--- a/docs/docs/wall-of-love.md
+++ b/docs/docs/wall-of-love.md
@@ -1,3 +1,95 @@
---
title: Wall of Love ❤️
----
\ No newline at end of file
+---
+
+## Twitter
+
+Check out our amazing users and what they are saying about Jan!
+
++I can confirm https://t.co/Hvrfp0iaf9 is awesome 👌
— Cristian (@cristianmoreno) February 13, 2024
+downloaded this a few weeks ago. amazed by the speed and quality
— siddharth (@siddharthd01) February 13, 2024
+Anyone else out there running LLMs on steam deck? @janframework bringing nerd dreams to life! pic.twitter.com/7XpnBmc8MN
— crossdefault (@crossdefault) January 26, 2024
+If you are like me, always wanting your own ChatGPT and have sufficient coding knowledge, you would watch open sourced @janframework by @0xSage like a "my-own-ai" hawk
— Umesh = EG = Educated Guess - NGI doing AI (@trading_indian) January 11, 2024
Still under development, the architecture is really futuristic. The desktop app for Windows, Mac, Linux are… pic.twitter.com/0HrNquhBsL
+came across @janframework yesterday and it's my fav native Apple Silicon LLM app yet. Love that I can switch to GPT 4 API and offline LLM models seamlessly. Looks promising! https://t.co/gyOX9gHbKQ
— Keith Hawkins (@kph_practice) January 9, 2024
+i just ran some ai models locally on my laptop using @janhq_ and can't believe how easy and cool it is. so, now i can have the same experience as with ChatGPT, but offline and without any data concerns
— Sergey Kaplich (@sergey_kaplich) January 4, 2024
+https://t.co/scBqJ3kIzj Great way to try open source all models, like Mixtral8x7b offline. Love to see
— Chubby♨️ (@kimmonismus) January 4, 2024