diff --git a/.github/workflows/auto-assign-milestone.yml b/.github/workflows/auto-assign-milestone.yml new file mode 100644 index 0000000000..bdcfafb8b9 --- /dev/null +++ b/.github/workflows/auto-assign-milestone.yml @@ -0,0 +1,46 @@ +# Pipeline auto assign current milestone for PR after the PR is merge +name: Assign Milestone +on: + pull_request: + types: [closed] + +jobs: + assign_milestone: + runs-on: ubuntu-latest + permissions: + pull-requests: write + issues: write + steps: + - name: Assign Milestone + uses: actions/github-script@v3 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const { owner, repo } = context.repo; + const { number, merged } = context.payload.pull_request; + if (merged) { + const { data: milestones } = await github.issues.listMilestones({ + owner, + repo, + state: 'open', + }); + + const mergedDate = new Date(context.payload.pull_request.merged_at); + const currentMilestone = milestones + .filter(milestone => milestone.due_on !== null) + .find((milestone) => { + const dueDate = new Date(milestone.due_on); + return mergedDate <= dueDate; + }); + + if (currentMilestone) { + await github.issues.update({ + owner, + repo, + issue_number: number, + milestone: currentMilestone.number + }); + } + } + debug: true + diff --git a/.github/workflows/clean-cloudflare-page-preview-url-and-r2.yml b/.github/workflows/clean-cloudflare-page-preview-url-and-r2.yml deleted file mode 100644 index 15b759cac9..0000000000 --- a/.github/workflows/clean-cloudflare-page-preview-url-and-r2.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: "Clean old cloudflare pages preview urls and nightly build" -on: - schedule: - - cron: "0 0 * * *" # every day at 00:00 - workflow_dispatch: - -jobs: - clean-cloudflare-pages-preview-urls: - strategy: - matrix: - project: ["jan", "nitro"] - runs-on: ubuntu-latest - steps: - - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - name: install requests - run: | - python3 -m pip install requests pytz tqdm - - name: Python Inline script - uses: jannekem/run-python-script-action@v1 - with: - script: | - import requests - from datetime import datetime, UTC - from pytz import timezone - from tqdm import tqdm - - # Configuration - endpoint = "https://api.cloudflare.com/client/v4/accounts/${{ secrets.CLOUDFLARE_ACCOUNT_ID }}/pages/projects/${{ matrix.project }}/deployments" - expiration_days = 3 - headers = { - "Content-Type": "application/json;charset=UTF-8", - "Authorization": "Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}" - } - utc_tz = timezone('UTC') - - # Fetch the list of deployments - response = requests.get(endpoint, headers=headers) - deployments = response.json() - - for deployment in tqdm(deployments['result']): - # Calculate the age of the deployment - created_on = datetime.strptime(deployment['created_on'], "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=utc_tz) - if (datetime.now(UTC) - created_on).days > expiration_days: - # Delete the deployment - delete_response = requests.delete(f"{endpoint}/{deployment['id']}", headers=headers) - if delete_response.status_code == 200: - print(f"Deleted deployment: {deployment['id']}") - else: - print(f"Failed to delete deployment: {deployment['id']}") - clean-cloudflare-r2: - runs-on: ubuntu-latest - environment: production - steps: - - name: install-aws-cli-action - uses: unfor19/install-aws-cli-action@v1 - - name: Delete object older than 10 days - run: | - # Get the list of objects in the 'latest' folder - OBJECTS=$(aws s3api list-objects --bucket ${{ secrets.CLOUDFLARE_R2_BUCKET_NAME }} --prefix "latest/" --query 'Contents[?LastModified<`'$(date -d "$current_date -10 days" -u +"%Y-%m-%dT%H:%M:%SZ")'`].{Key: Key}' --endpoint-url https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com | jq -c .) - - # Create a JSON file for the delete operation - echo "{\"Objects\": $OBJECTS, \"Quiet\": false}" > delete.json - - # Delete the objects - echo q | aws s3api delete-objects --bucket ${{ secrets.CLOUDFLARE_R2_BUCKET_NAME }} --delete file://delete.json --endpoint-url https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com - - # Remove the JSON file - rm delete.json - env: - AWS_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }} - AWS_DEFAULT_REGION: auto - AWS_EC2_METADATA_DISABLED: "true" diff --git a/.github/workflows/clean-cloudflare-r2.yml b/.github/workflows/clean-cloudflare-r2.yml new file mode 100644 index 0000000000..fcab30fc4b --- /dev/null +++ b/.github/workflows/clean-cloudflare-r2.yml @@ -0,0 +1,31 @@ +name: "Clean Cloudflare R2 nightly build artifacts older than 10 days" +on: + schedule: + - cron: "0 0 * * *" # every day at 00:00 + workflow_dispatch: + +jobs: + clean-cloudflare-r2: + runs-on: ubuntu-latest + environment: production + steps: + - name: install-aws-cli-action + uses: unfor19/install-aws-cli-action@v1 + - name: Delete object older than 10 days + run: | + # Get the list of objects in the 'latest' folder + OBJECTS=$(aws s3api list-objects --bucket ${{ secrets.CLOUDFLARE_R2_BUCKET_NAME }} --prefix "latest/" --query 'Contents[?LastModified<`'$(date -d "$current_date -10 days" -u +"%Y-%m-%dT%H:%M:%SZ")'`].{Key: Key}' --endpoint-url https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com | jq -c .) + + # Create a JSON file for the delete operation + echo "{\"Objects\": $OBJECTS, \"Quiet\": false}" > delete.json + + # Delete the objects + echo q | aws s3api delete-objects --bucket ${{ secrets.CLOUDFLARE_R2_BUCKET_NAME }} --delete file://delete.json --endpoint-url https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com + + # Remove the JSON file + rm delete.json + env: + AWS_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: auto + AWS_EC2_METADATA_DISABLED: "true" diff --git a/.github/workflows/codeQL-analysis.yml b/.github/workflows/codeQL-analysis.yml deleted file mode 100644 index 00301b8405..0000000000 --- a/.github/workflows/codeQL-analysis.yml +++ /dev/null @@ -1,104 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: - - main - - dev - paths: - - "electron/**" - - .github/workflows/jan-electron-linter-and-test.yml - - "web/**" - - "uikit/**" - - "package.json" - - "node_modules/**" - - "yarn.lock" - - "core/**" - - "extensions/**" - - "!README.md" - - "Makefile" - - pull_request: - branches: - - main - - dev - paths: - - "electron/**" - - .github/workflows/jan-electron-linter-and-test.yml - - "web/**" - - "uikit/**" - - "package.json" - - "node_modules/**" - - "yarn.lock" - - "Makefile" - -jobs: - analyze: - name: Analyze - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners - # Consider using larger runners for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: ["javascript-typescript"] - # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] - # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/jan-docs.yml b/.github/workflows/jan-docs.yml deleted file mode 100644 index 8135935bde..0000000000 --- a/.github/workflows/jan-docs.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: Jan Docs - -on: - push: - branches: - - main - - dev - - docs - paths: - - 'docs/**' - - '.github/workflows/jan-docs.yml' - pull_request: - branches: - - main - - dev - - docs - paths: - - 'docs/**' - - '.github/workflows/jan-docs.yml' - # Review gh actions docs if you want to further define triggers, paths, etc - # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on - -jobs: - deploy: - name: Deploy to GitHub Pages - env: - CLOUDFLARE_PROJECT_NAME: jan - runs-on: ubuntu-latest - permissions: - contents: write - deployments: write - pull-requests: write - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 18 - - - name: Install jq - uses: dcarbone/install-jq-action@v2.0.1 - - - name: Fill env vars - run: | - env_example_file=".env.example" - touch .env - while IFS= read -r line || [[ -n "$line" ]]; do - if [[ "$line" == *"="* ]]; then - var_name=$(echo $line | cut -d '=' -f 1) - echo $var_name - var_value="$(jq -r --arg key "$var_name" '.[$key]' <<< "$SECRETS")" - echo "$var_name=$var_value" >> .env - fi - done < "$env_example_file" - working-directory: docs - env: - SECRETS: '${{ toJson(secrets) }}' - - - name: Install dependencies - run: yarn install - working-directory: docs - - name: Build website - run: sed -i '/process.env.DEBUG = namespaces;/c\// process.env.DEBUG = namespaces;' ./node_modules/debug/src/node.js && yarn build - working-directory: docs - - - name: Publish to Cloudflare Pages PR Preview and Staging - if: github.event_name == 'push' && github.ref == 'refs/heads/dev' - uses: cloudflare/pages-action@v1 - with: - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - projectName: ${{ env.CLOUDFLARE_PROJECT_NAME }} - directory: ./docs/build - branch: main - # Optional: Enable this if you want to have GitHub Deployments triggered - gitHubToken: ${{ secrets.GITHUB_TOKEN }} - - - name: Publish to Cloudflare Pages PR Preview and Staging - if: github.event_name == 'pull_request' - uses: cloudflare/pages-action@v1 - with: - apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} - accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - projectName: ${{ env.CLOUDFLARE_PROJECT_NAME }} - directory: ./docs/build - # Optional: Enable this if you want to have GitHub Deployments triggered - gitHubToken: ${{ secrets.GITHUB_TOKEN }} - id: deployCloudflarePages - - - uses: mshick/add-pr-comment@v2 - if: github.event_name == 'pull_request' - with: - message: | - Preview URL: ${{ steps.deployCloudflarePages.outputs.url }} - - - name: Add Custome Domain file - if: github.event_name == 'push' && github.ref == 'refs/heads/docs' && github.event.pull_request.head.repo.full_name != github.repository - run: echo "${{ vars.DOCUSAURUS_DOMAIN }}" > ./docs/build/CNAME - - # Popular action to deploy to GitHub Pages: - # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus - - name: Deploy to GitHub Pages - if: github.event_name == 'push' && github.ref == 'refs/heads/docs' && github.event.pull_request.head.repo.full_name != github.repository - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - # Build output to publish to the `gh-pages` branch: - publish_dir: ./docs/build - # The following lines assign commit authorship to the official - # GH-Actions bot for deploys to `gh-pages` branch: - # https://github.com/actions/checkout/issues/13#issuecomment-724415212 - # The GH actions bot is used by default if you didn't specify the two fields. - # You can swap them out with your own user credentials. - user_name: github-actions[bot] - user_email: 41898282+github-actions[bot]@users.noreply.github.com \ No newline at end of file diff --git a/.github/workflows/jan-electron-linter-and-test.yml b/.github/workflows/jan-electron-linter-and-test.yml index 55c3308da6..3c0e22de48 100644 --- a/.github/workflows/jan-electron-linter-and-test.yml +++ b/.github/workflows/jan-electron-linter-and-test.yml @@ -51,7 +51,7 @@ jobs: uses: actions/checkout@v3 - name: Installing node - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 20 @@ -67,11 +67,44 @@ jobs: CSC_IDENTITY_AUTO_DISCOVERY: "false" test-on-windows: + if: github.event_name == 'push' strategy: fail-fast: false matrix: antivirus-tools: ['mcafee', 'default-windows-security','bit-defender'] runs-on: windows-desktop-${{ matrix.antivirus-tools }} + steps: + - name: Clean workspace + run: | + Remove-Item -Path "\\?\$(Get-Location)\*" -Force -Recurse + $path = "$Env:APPDATA\jan" + if (Test-Path $path) { + Remove-Item "\\?\$path" -Recurse -Force + } else { + Write-Output "Folder does not exist." + } + - name: Getting the repo + uses: actions/checkout@v3 + + - name: Installing node + uses: actions/setup-node@v3 + with: + node-version: 20 + + # Clean cache, continue on error + - name: "Cleanup cache" + shell: powershell + continue-on-error: true + run: | + make clean + + - name: Linter and test + shell: powershell + run: | + make test + test-on-windows-pr: + if: github.event_name == 'pull_request' + runs-on: windows-desktop-default-windows-security steps: - name: Clean workspace run: | @@ -116,7 +149,7 @@ jobs: uses: actions/checkout@v3 - name: Installing node - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 20 @@ -124,7 +157,7 @@ jobs: continue-on-error: true run: | make clean - + - name: Linter and test run: | export DISPLAY=$(w -h | awk 'NR==1 {print $2}') diff --git a/Dockerfile b/Dockerfile index 48b2d254fb..e205a3f4f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ COPY --from=builder /app/web ./web/ COPY --from=builder /app/models ./models/ RUN yarn workspace @janhq/uikit install && yarn workspace @janhq/uikit build -RUN yarn workspace jan-web install +RUN yarn workspace @janhq/web install RUN npm install -g serve@latest @@ -55,7 +55,7 @@ ENV JAN_API_PORT 1337 ENV API_BASE_URL http://localhost:1337 -CMD ["sh", "-c", "export NODE_ENV=production && yarn workspace jan-web build && cd web && npx serve out & cd server && node build/main.js"] +CMD ["sh", "-c", "export NODE_ENV=production && yarn workspace @janhq/web build && cd web && npx serve out & cd server && node build/main.js"] # docker build -t jan . # docker run -p 1337:1337 -p 3000:3000 -p 3928:3928 jan diff --git a/Dockerfile.gpu b/Dockerfile.gpu index 832e2c18c5..d703b8b435 100644 --- a/Dockerfile.gpu +++ b/Dockerfile.gpu @@ -68,7 +68,7 @@ COPY --from=builder /app/web ./web/ COPY --from=builder /app/models ./models/ RUN yarn workspace @janhq/uikit install && yarn workspace @janhq/uikit build -RUN yarn workspace jan-web install +RUN yarn workspace @janhq/web install RUN npm install -g serve@latest @@ -81,7 +81,7 @@ ENV JAN_API_PORT 1337 ENV API_BASE_URL http://localhost:1337 -CMD ["sh", "-c", "export NODE_ENV=production && yarn workspace jan-web build && cd web && npx serve out & cd server && node build/main.js"] +CMD ["sh", "-c", "export NODE_ENV=production && yarn workspace @janhq/web build && cd web && npx serve out & cd server && node build/main.js"] # pre-requisites: nvidia-docker # docker build -t jan-gpu . -f Dockerfile.gpu diff --git a/Makefile b/Makefile index a45477b294..77d7e90597 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ install-and-build: build-uikit ifeq ($(OS),Windows_NT) yarn config set network-timeout 300000 endif + yarn global add turbo yarn build:core yarn build:server yarn install @@ -24,9 +25,9 @@ endif check-file-counts: install-and-build ifeq ($(OS),Windows_NT) - powershell -Command "if ((Get-ChildItem -Path pre-install -Filter *.tgz | Measure-Object | Select-Object -ExpandProperty Count) -ne (Get-ChildItem -Path extensions -Directory | Measure-Object | Select-Object -ExpandProperty Count)) { Write-Host 'Number of .tgz files in pre-install does not match the number of subdirectories in extension'; exit 1 } else { Write-Host 'Extension build successful' }" + powershell -Command "if ((Get-ChildItem -Path pre-install -Filter *.tgz | Measure-Object | Select-Object -ExpandProperty Count) -ne (Get-ChildItem -Path extensions -Directory | Where-Object Name -like *-extension* | Measure-Object | Select-Object -ExpandProperty Count)) { Write-Host 'Number of .tgz files in pre-install does not match the number of subdirectories in extensions with package.json'; exit 1 } else { Write-Host 'Extension build successful' }" else - @tgz_count=$$(find pre-install -type f -name "*.tgz" | wc -l); dir_count=$$(find extensions -mindepth 1 -maxdepth 1 -type d | wc -l); if [ $$tgz_count -ne $$dir_count ]; then echo "Number of .tgz files in pre-install ($$tgz_count) does not match the number of subdirectories in extension ($$dir_count)"; exit 1; else echo "Extension build successful"; fi + @tgz_count=$$(find pre-install -type f -name "*.tgz" | wc -l); dir_count=$$(find extensions -mindepth 1 -maxdepth 1 -type d -exec test -e '{}/package.json' \; -print | wc -l); if [ $$tgz_count -ne $$dir_count ]; then echo "Number of .tgz files in pre-install ($$tgz_count) does not match the number of subdirectories in extension ($$dir_count)"; exit 1; else echo "Extension build successful"; fi endif dev: check-file-counts @@ -53,15 +54,17 @@ build: check-file-counts clean: ifeq ($(OS),Windows_NT) powershell -Command "Get-ChildItem -Path . -Include node_modules, .next, dist, build, out -Recurse -Directory | Remove-Item -Recurse -Force" + powershell -Command "Get-ChildItem -Path . -Include package-lock.json -Recurse -File | Remove-Item -Recurse -Force" powershell -Command "Remove-Item -Recurse -Force ./pre-install/*.tgz" powershell -Command "Remove-Item -Recurse -Force ./electron/pre-install/*.tgz" - rmdir /s /q "%USERPROFILE%\jan\extensions" + powershell -Command "if (Test-Path \"$($env:USERPROFILE)\jan\extensions\") { Remove-Item -Path \"$($env:USERPROFILE)\jan\extensions\" -Recurse -Force }" else ifeq ($(shell uname -s),Linux) find . -name "node_modules" -type d -prune -exec rm -rf '{}' + find . -name ".next" -type d -exec rm -rf '{}' + find . -name "dist" -type d -exec rm -rf '{}' + find . -name "build" -type d -exec rm -rf '{}' + find . -name "out" -type d -exec rm -rf '{}' + + find . -name "packake-lock.json" -type f -exec rm -rf '{}' + rm -rf ./pre-install/*.tgz rm -rf ./electron/pre-install/*.tgz rm -rf "~/jan/extensions" @@ -72,6 +75,7 @@ else find . -name "dist" -type d -exec rm -rf '{}' + find . -name "build" -type d -exec rm -rf '{}' + find . -name "out" -type d -exec rm -rf '{}' + + find . -name "packake-lock.json" -type f -exec rm -rf '{}' + rm -rf ./pre-install/*.tgz rm -rf ./electron/pre-install/*.tgz rm -rf ~/jan/extensions diff --git a/README.md b/README.md index 2ce60c6559..3ad55c542e 100644 --- a/README.md +++ b/README.md @@ -43,31 +43,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute Stable (Recommended) - + jan.exe - + Intel - + M1/M2 - + jan.deb - + jan.AppImage @@ -76,31 +76,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute Experimental (Nightly Build) - + jan.exe - + Intel - + M1/M2 - + jan.deb - + jan.AppImage @@ -327,6 +327,7 @@ Jan builds on top of other open-source projects: - [llama.cpp](https://github.com/ggerganov/llama.cpp) - [LangChain](https://github.com/langchain-ai) - [TensorRT](https://github.com/NVIDIA/TensorRT) +- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) ## Contact diff --git a/charts/server/values.yaml b/charts/server/values.yaml index 70f4631746..73d4e8916b 100644 --- a/charts/server/values.yaml +++ b/charts/server/values.yaml @@ -150,7 +150,7 @@ common: command: ['/bin/sh', '-c'] args: [ - 'export NODE_ENV=production && yarn workspace jan-web build && cd web && npx serve out', + 'export NODE_ENV=production && yarn workspace @janhq/web build && cd web && npx serve out', ] replicaCount: 1 diff --git a/core/package.json b/core/package.json index c4d0d475df..9e4d8d69a3 100644 --- a/core/package.json +++ b/core/package.json @@ -8,8 +8,8 @@ ], "homepage": "https://jan.ai", "license": "AGPL-3.0", - "main": "dist/core.umd.js", - "module": "dist/core.es5.js", + "main": "dist/core.es5.js", + "module": "dist/core.cjs.js", "typings": "dist/types/index.d.ts", "files": [ "dist", @@ -17,8 +17,7 @@ ], "author": "Jan ", "exports": { - ".": "./dist/core.umd.js", - "./sdk": "./dist/core.umd.js", + ".": "./dist/core.es5.js", "./node": "./dist/node/index.cjs.js" }, "typesVersions": { @@ -27,10 +26,6 @@ "./dist/core.es5.js.map", "./dist/types/index.d.ts" ], - "sdk": [ - "./dist/core.es5.js.map", - "./dist/types/index.d.ts" - ], "node": [ "./dist/node/index.cjs.js.map", "./dist/types/node/index.d.ts" @@ -38,13 +33,14 @@ } }, "scripts": { - "lint": "tslint --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'", + "lint": "tslint --project tsconfig.json -t codeFrame 'src/**/*.ts' 'test/**/*.ts'", "test": "jest", "prebuild": "rimraf dist", "build": "tsc --module commonjs && rollup -c rollup.config.ts", "start": "rollup -c rollup.config.ts -w" }, "devDependencies": { + "@rollup/plugin-replace": "^5.0.5", "@types/jest": "^29.5.12", "@types/node": "^20.11.4", "eslint": "8.57.0", @@ -63,6 +59,6 @@ }, "dependencies": { "rxjs": "^7.8.1", - "ulid": "^2.3.0" + "ulidx": "^2.3.0" } } diff --git a/core/rollup.config.ts b/core/rollup.config.ts index 95305bf25b..865e86d5cf 100644 --- a/core/rollup.config.ts +++ b/core/rollup.config.ts @@ -3,17 +3,16 @@ import commonjs from 'rollup-plugin-commonjs' import sourceMaps from 'rollup-plugin-sourcemaps' import typescript from 'rollup-plugin-typescript2' import json from 'rollup-plugin-json' +import replace from '@rollup/plugin-replace' const pkg = require('./package.json') -const libraryName = 'core' - export default [ { input: `src/index.ts`, output: [ - { file: pkg.main, name: libraryName, format: 'umd', sourcemap: true }, - { file: pkg.module, format: 'es', sourcemap: true }, + // { file: pkg.main, name: libraryName, format: 'umd', sourcemap: true }, + { file: pkg.main, format: 'es', sourcemap: true }, ], // Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash') external: ['path'], @@ -30,7 +29,13 @@ export default [ // Allow node_modules resolution, so you can use 'external' to control // which external modules to include in the bundle // https://github.com/rollup/rollup-plugin-node-resolve#usage - resolve(), + replace({ + 'node:crypto': 'crypto', + 'delimiters': ['"', '"'], + }), + resolve({ + browser: true, + }), // Resolve source maps to the original source sourceMaps(), @@ -46,7 +51,7 @@ export default [ 'pacote', '@types/pacote', '@npmcli/arborist', - 'ulid', + 'ulidx', 'node-fetch', 'fs', 'request', @@ -64,7 +69,7 @@ export default [ // Allow json resolution json(), // Compile TypeScript files - typescript({ useTsconfigDeclarationDir: true, exclude: ['src/*.ts', 'src/extensions/**'] }), + typescript({ useTsconfigDeclarationDir: true }), // Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs) commonjs(), // Allow node_modules resolution, so you can use 'external' to control diff --git a/core/src/core.ts b/core/src/browser/core.ts similarity index 82% rename from core/src/core.ts rename to core/src/browser/core.ts index 47c0fe6f2c..6bbae7c856 100644 --- a/core/src/core.ts +++ b/core/src/browser/core.ts @@ -1,4 +1,4 @@ -import { DownloadRequest, FileStat, NetworkConfig, SystemInformation } from './types' +import { DownloadRequest, FileStat, NetworkConfig, SystemInformation } from '../types' /** * Execute a extension module function in main process @@ -13,7 +13,7 @@ const executeOnMain: (extension: string, method: string, ...args: any[]) => Prom extension, method, ...args -) => global.core?.api?.invokeExtensionFunc(extension, method, ...args) +) => globalThis.core?.api?.invokeExtensionFunc(extension, method, ...args) /** * Downloads a file from a URL and saves it to the local file system. @@ -26,7 +26,7 @@ const executeOnMain: (extension: string, method: string, ...args: any[]) => Prom const downloadFile: (downloadRequest: DownloadRequest, network?: NetworkConfig) => Promise = ( downloadRequest, network -) => global.core?.api?.downloadFile(downloadRequest, network) +) => globalThis.core?.api?.downloadFile(downloadRequest, network) /** * Aborts the download of a specific file. @@ -34,14 +34,14 @@ const downloadFile: (downloadRequest: DownloadRequest, network?: NetworkConfig) * @returns {Promise} A promise that resolves when the download has been aborted. */ const abortDownload: (fileName: string) => Promise = (fileName) => - global.core.api?.abortDownload(fileName) + globalThis.core.api?.abortDownload(fileName) /** * Gets Jan's data folder path. * * @returns {Promise} A Promise that resolves with Jan's data folder path. */ -const getJanDataFolderPath = (): Promise => global.core.api?.getJanDataFolderPath() +const getJanDataFolderPath = (): Promise => globalThis.core.api?.getJanDataFolderPath() /** * Opens the file explorer at a specific path. @@ -49,21 +49,22 @@ const getJanDataFolderPath = (): Promise => global.core.api?.getJanDataF * @returns {Promise} A promise that resolves when the file explorer is opened. */ const openFileExplorer: (path: string) => Promise = (path) => - global.core.api?.openFileExplorer(path) + globalThis.core.api?.openFileExplorer(path) /** * Joins multiple paths together. * @param paths - The paths to join. * @returns {Promise} A promise that resolves with the joined path. */ -const joinPath: (paths: string[]) => Promise = (paths) => global.core.api?.joinPath(paths) +const joinPath: (paths: string[]) => Promise = (paths) => + globalThis.core.api?.joinPath(paths) /** * Retrive the basename from an url. * @param path - The path to retrieve. * @returns {Promise} A promise that resolves with the basename. */ -const baseName: (paths: string) => Promise = (path) => global.core.api?.baseName(path) +const baseName: (paths: string) => Promise = (path) => globalThis.core.api?.baseName(path) /** * Opens an external URL in the default web browser. @@ -72,20 +73,20 @@ const baseName: (paths: string) => Promise = (path) => global.core.api?. * @returns {Promise} - A promise that resolves when the URL has been successfully opened. */ const openExternalUrl: (url: string) => Promise = (url) => - global.core.api?.openExternalUrl(url) + globalThis.core.api?.openExternalUrl(url) /** * Gets the resource path of the application. * * @returns {Promise} - A promise that resolves with the resource path. */ -const getResourcePath: () => Promise = () => global.core.api?.getResourcePath() +const getResourcePath: () => Promise = () => globalThis.core.api?.getResourcePath() /** * Gets the user's home path. * @returns return user's home path */ -const getUserHomePath = (): Promise => global.core.api?.getUserHomePath() +const getUserHomePath = (): Promise => globalThis.core.api?.getUserHomePath() /** * Log to file from browser processes. @@ -93,7 +94,7 @@ const getUserHomePath = (): Promise => global.core.api?.getUserHomePath( * @param message - Message to log. */ const log: (message: string, fileName?: string) => void = (message, fileName) => - global.core.api?.log(message, fileName) + globalThis.core.api?.log(message, fileName) /** * Check whether the path is a subdirectory of another path. @@ -104,14 +105,14 @@ const log: (message: string, fileName?: string) => void = (message, fileName) => * @returns {Promise} - A promise that resolves with a boolean indicating whether the path is a subdirectory. */ const isSubdirectory: (from: string, to: string) => Promise = (from: string, to: string) => - global.core.api?.isSubdirectory(from, to) + globalThis.core.api?.isSubdirectory(from, to) /** * Get system information * @returns {Promise} - A promise that resolves with the system information. */ const systemInformation: () => Promise = () => - global.core.api?.systemInformation() + globalThis.core.api?.systemInformation() /** * Show toast message from browser processes. @@ -120,7 +121,7 @@ const systemInformation: () => Promise = () => * @returns */ const showToast: (title: string, message: string) => void = (title, message) => - global.core.api?.showToast(title, message) + globalThis.core.api?.showToast(title, message) /** * Register extension point function type definition */ diff --git a/core/src/events.ts b/core/src/browser/events.ts similarity index 84% rename from core/src/events.ts rename to core/src/browser/events.ts index 700807b0cc..da85f7e3be 100644 --- a/core/src/events.ts +++ b/core/src/browser/events.ts @@ -5,7 +5,7 @@ * @param handler The handler function to call when the event is observed. */ const on: (eventName: string, handler: Function) => void = (eventName, handler) => { - global.core?.events?.on(eventName, handler) + globalThis.core?.events?.on(eventName, handler) } /** @@ -15,7 +15,7 @@ const on: (eventName: string, handler: Function) => void = (eventName, handler) * @param handler The handler function to call when the event is observed. */ const off: (eventName: string, handler: Function) => void = (eventName, handler) => { - global.core?.events?.off(eventName, handler) + globalThis.core?.events?.off(eventName, handler) } /** @@ -25,7 +25,7 @@ const off: (eventName: string, handler: Function) => void = (eventName, handler) * @param object The object to pass to the event callback. */ const emit: (eventName: string, object: any) => void = (eventName, object) => { - global.core?.events?.emit(eventName, object) + globalThis.core?.events?.emit(eventName, object) } export const events = { diff --git a/core/src/extension.ts b/core/src/browser/extension.ts similarity index 100% rename from core/src/extension.ts rename to core/src/browser/extension.ts diff --git a/core/src/extensions/assistant.ts b/core/src/browser/extensions/assistant.ts similarity index 90% rename from core/src/extensions/assistant.ts rename to core/src/browser/extensions/assistant.ts index 5c3114f41b..d025c67868 100644 --- a/core/src/extensions/assistant.ts +++ b/core/src/browser/extensions/assistant.ts @@ -1,4 +1,4 @@ -import { Assistant, AssistantInterface } from '../index' +import { Assistant, AssistantInterface } from '../../types' import { BaseExtension, ExtensionTypeEnum } from '../extension' /** diff --git a/core/src/extensions/conversational.ts b/core/src/browser/extensions/conversational.ts similarity index 97% rename from core/src/extensions/conversational.ts rename to core/src/browser/extensions/conversational.ts index a49a4e6895..ec53fbbbf9 100644 --- a/core/src/extensions/conversational.ts +++ b/core/src/browser/extensions/conversational.ts @@ -1,4 +1,4 @@ -import { Thread, ThreadInterface, ThreadMessage, MessageInterface } from '../index' +import { Thread, ThreadInterface, ThreadMessage, MessageInterface } from '../../types' import { BaseExtension, ExtensionTypeEnum } from '../extension' /** diff --git a/core/src/extensions/ai-engines/AIEngine.ts b/core/src/browser/extensions/engines/AIEngine.ts similarity index 52% rename from core/src/extensions/ai-engines/AIEngine.ts rename to core/src/browser/extensions/engines/AIEngine.ts index 608b5c1932..c4f8168297 100644 --- a/core/src/extensions/ai-engines/AIEngine.ts +++ b/core/src/browser/extensions/engines/AIEngine.ts @@ -2,7 +2,8 @@ import { getJanDataFolderPath, joinPath } from '../../core' import { events } from '../../events' import { BaseExtension } from '../../extension' import { fs } from '../../fs' -import { Model, ModelEvent } from '../../types' +import { MessageRequest, Model, ModelEvent } from '../../../types' +import { EngineManager } from './EngineManager' /** * Base AIEngine @@ -11,30 +12,73 @@ import { Model, ModelEvent } from '../../types' export abstract class AIEngine extends BaseExtension { // The inference engine abstract provider: string - // The model folder - modelFolder: string = 'models' - - abstract models(): Promise /** * On extension load, subscribe to events. */ - onLoad() { + override onLoad() { + this.registerEngine() + + events.on(ModelEvent.OnModelInit, (model: Model) => this.loadModel(model)) + events.on(ModelEvent.OnModelStop, (model: Model) => this.unloadModel(model)) + this.prePopulateModels() } + /** + * Defines models + */ + models(): Promise { + return Promise.resolve([]) + } + + /** + * Registers AI Engines + */ + registerEngine() { + EngineManager.instance().register(this) + } + + /** + * Loads the model. + */ + async loadModel(model: Model): Promise { + if (model.engine.toString() !== this.provider) return Promise.resolve() + events.emit(ModelEvent.OnModelReady, model) + return Promise.resolve() + } + /** + * Stops the model. + */ + async unloadModel(model?: Model): Promise { + if (model?.engine && model.engine.toString() !== this.provider) return Promise.resolve() + events.emit(ModelEvent.OnModelStopped, model ?? {}) + return Promise.resolve() + } + + /* + * Inference request + */ + inference(data: MessageRequest) {} + + /** + * Stop inference + */ + stopInference() {} + /** * Pre-populate models to App Data Folder */ prePopulateModels(): Promise { + const modelFolder = 'models' return this.models().then((models) => { const prePoluateOperations = models.map((model) => getJanDataFolderPath() .then((janDataFolder) => // Attempt to create the model folder - joinPath([janDataFolder, this.modelFolder, model.id]).then((path) => + joinPath([janDataFolder, modelFolder, model.id]).then((path) => fs - .mkdirSync(path) + .mkdir(path) .catch() .then(() => path) ) diff --git a/core/src/browser/extensions/engines/EngineManager.ts b/core/src/browser/extensions/engines/EngineManager.ts new file mode 100644 index 0000000000..2980c5c65e --- /dev/null +++ b/core/src/browser/extensions/engines/EngineManager.ts @@ -0,0 +1,32 @@ +import { AIEngine } from './AIEngine' + +/** + * Manages the registration and retrieval of inference engines. + */ +export class EngineManager { + public engines = new Map() + + /** + * Registers an engine. + * @param engine - The engine to register. + */ + register(engine: T) { + this.engines.set(engine.provider, engine) + } + + /** + * Retrieves a engine by provider. + * @param provider - The name of the engine to retrieve. + * @returns The engine, if found. + */ + get(provider: string): T | undefined { + return this.engines.get(provider) as T | undefined + } + + /** + * The instance of the engine manager. + */ + static instance(): EngineManager { + return window.core?.engineManager as EngineManager ?? new EngineManager() + } +} diff --git a/core/src/extensions/ai-engines/LocalOAIEngine.ts b/core/src/browser/extensions/engines/LocalOAIEngine.ts similarity index 52% rename from core/src/extensions/ai-engines/LocalOAIEngine.ts rename to core/src/browser/extensions/engines/LocalOAIEngine.ts index 89444ff0fc..ab5a2622c2 100644 --- a/core/src/extensions/ai-engines/LocalOAIEngine.ts +++ b/core/src/browser/extensions/engines/LocalOAIEngine.ts @@ -1,6 +1,6 @@ import { executeOnMain, getJanDataFolderPath, joinPath, systemInformation } from '../../core' import { events } from '../../events' -import { Model, ModelEvent } from '../../types' +import { Model, ModelEvent } from '../../../types' import { OAIEngine } from './OAIEngine' /** @@ -9,54 +9,55 @@ import { OAIEngine } from './OAIEngine' */ export abstract class LocalOAIEngine extends OAIEngine { // The inference engine + abstract nodeModule: string loadModelFunctionName: string = 'loadModel' unloadModelFunctionName: string = 'unloadModel' - isRunning: boolean = false /** * On extension load, subscribe to events. */ - onLoad() { + override onLoad() { super.onLoad() // These events are applicable to local inference providers - events.on(ModelEvent.OnModelInit, (model: Model) => this.onModelInit(model)) - events.on(ModelEvent.OnModelStop, (model: Model) => this.onModelStop(model)) + events.on(ModelEvent.OnModelInit, (model: Model) => this.loadModel(model)) + events.on(ModelEvent.OnModelStop, (model: Model) => this.unloadModel(model)) } /** * Load the model. */ - async onModelInit(model: Model) { + override async loadModel(model: Model): Promise { if (model.engine.toString() !== this.provider) return - - const modelFolder = await joinPath([await getJanDataFolderPath(), this.modelFolder, model.id]) + const modelFolderName = 'models' + const modelFolder = await joinPath([await getJanDataFolderPath(), modelFolderName, model.id]) const systemInfo = await systemInformation() - const res = await executeOnMain(this.nodeModule, this.loadModelFunctionName, { - modelFolder, - model, - }, systemInfo) + const res = await executeOnMain( + this.nodeModule, + this.loadModelFunctionName, + { + modelFolder, + model, + }, + systemInfo + ) if (res?.error) { - events.emit(ModelEvent.OnModelFail, { - ...model, - error: res.error, - }) - return + events.emit(ModelEvent.OnModelFail, { error: res.error }) + return Promise.reject(res.error) } else { this.loadedModel = model events.emit(ModelEvent.OnModelReady, model) - this.isRunning = true + return Promise.resolve() } } /** * Stops the model. */ - onModelStop(model: Model) { - if (model.engine?.toString() !== this.provider) return - - this.isRunning = false + override async unloadModel(model?: Model): Promise { + if (model?.engine && model.engine?.toString() !== this.provider) return Promise.resolve() - executeOnMain(this.nodeModule, this.unloadModelFunctionName).then(() => { + this.loadedModel = undefined + return executeOnMain(this.nodeModule, this.unloadModelFunctionName).then(() => { events.emit(ModelEvent.OnModelStopped, {}) }) } diff --git a/core/src/extensions/ai-engines/OAIEngine.ts b/core/src/browser/extensions/engines/OAIEngine.ts similarity index 83% rename from core/src/extensions/ai-engines/OAIEngine.ts rename to core/src/browser/extensions/engines/OAIEngine.ts index 3e583c9b91..41b08f4598 100644 --- a/core/src/extensions/ai-engines/OAIEngine.ts +++ b/core/src/browser/extensions/engines/OAIEngine.ts @@ -1,5 +1,5 @@ import { requestInference } from './helpers/sse' -import { ulid } from 'ulid' +import { ulid } from 'ulidx' import { AIEngine } from './AIEngine' import { ChatCompletionRole, @@ -13,7 +13,7 @@ import { ModelInfo, ThreadContent, ThreadMessage, -} from '../../types' +} from '../../../types' import { events } from '../../events' /** @@ -23,7 +23,6 @@ import { events } from '../../events' export abstract class OAIEngine extends AIEngine { // The inference engine abstract inferenceUrl: string - abstract nodeModule: string // Controller to handle stop requests controller = new AbortController() @@ -35,21 +34,21 @@ export abstract class OAIEngine extends AIEngine { /** * On extension load, subscribe to events. */ - onLoad() { + override onLoad() { super.onLoad() events.on(MessageEvent.OnMessageSent, (data: MessageRequest) => this.inference(data)) - events.on(InferenceEvent.OnInferenceStopped, () => this.onInferenceStopped()) + events.on(InferenceEvent.OnInferenceStopped, () => this.stopInference()) } /** * On extension unload */ - onUnload(): void {} + override onUnload(): void {} /* * Inference request */ - inference(data: MessageRequest) { + override inference(data: MessageRequest) { if (data.model?.engine?.toString() !== this.provider) return const timestamp = Date.now() @@ -78,7 +77,13 @@ export abstract class OAIEngine extends AIEngine { ...data.model, } - requestInference(this.inferenceUrl, data.messages ?? [], model, this.controller).subscribe({ + requestInference( + this.inferenceUrl, + data.messages ?? [], + model, + this.controller, + this.headers() + ).subscribe({ next: (content: any) => { const messageContent: ThreadContent = { type: ContentType.Text, @@ -101,6 +106,7 @@ export abstract class OAIEngine extends AIEngine { return } message.status = MessageStatus.Error + message.error_code = err.code events.emit(MessageEvent.OnMessageUpdate, message) }, }) @@ -109,8 +115,15 @@ export abstract class OAIEngine extends AIEngine { /** * Stops the inference. */ - onInferenceStopped() { + override stopInference() { this.isCancelled = true this.controller?.abort() } + + /** + * Headers for the inference request + */ + headers(): HeadersInit { + return {} + } } diff --git a/core/src/browser/extensions/engines/RemoteOAIEngine.ts b/core/src/browser/extensions/engines/RemoteOAIEngine.ts new file mode 100644 index 0000000000..2d5126c6b9 --- /dev/null +++ b/core/src/browser/extensions/engines/RemoteOAIEngine.ts @@ -0,0 +1,26 @@ +import { OAIEngine } from './OAIEngine' + +/** + * Base OAI Remote Inference Provider + * Added the implementation of loading and unloading model (applicable to local inference providers) + */ +export abstract class RemoteOAIEngine extends OAIEngine { + // The inference engine + abstract apiKey: string + /** + * On extension load, subscribe to events. + */ + override onLoad() { + super.onLoad() + } + + /** + * Headers for the inference request + */ + override headers(): HeadersInit { + return { + 'Authorization': `Bearer ${this.apiKey}`, + 'api-key': `${this.apiKey}`, + } + } +} diff --git a/core/src/extensions/ai-engines/helpers/sse.ts b/core/src/browser/extensions/engines/helpers/sse.ts similarity index 82% rename from core/src/extensions/ai-engines/helpers/sse.ts rename to core/src/browser/extensions/engines/helpers/sse.ts index 3d810d9343..def017ebc6 100644 --- a/core/src/extensions/ai-engines/helpers/sse.ts +++ b/core/src/browser/extensions/engines/helpers/sse.ts @@ -1,5 +1,5 @@ import { Observable } from 'rxjs' -import { ModelRuntimeParams } from '../../../types' +import { ErrorCode, ModelRuntimeParams } from '../../../../types' /** * Sends a request to the inference server to generate a response based on the recent messages. * @param recentMessages - An array of recent messages to use as context for the inference. @@ -12,7 +12,8 @@ export function requestInference( id: string parameters: ModelRuntimeParams }, - controller?: AbortController + controller?: AbortController, + headers?: HeadersInit ): Observable { return new Observable((subscriber) => { const requestBody = JSON.stringify({ @@ -27,11 +28,22 @@ export function requestInference( 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Accept': model.parameters.stream ? 'text/event-stream' : 'application/json', + ...headers, }, body: requestBody, signal: controller?.signal, }) .then(async (response) => { + if (!response.ok) { + const data = await response.json() + const error = { + message: data.error?.message ?? 'Error occurred.', + code: data.error?.code ?? ErrorCode.Unknown, + } + subscriber.error(error) + subscriber.complete() + return + } if (model.parameters.stream === false) { const data = await response.json() subscriber.next(data.choices[0]?.message?.content ?? '') diff --git a/core/src/extensions/ai-engines/index.ts b/core/src/browser/extensions/engines/index.ts similarity index 57% rename from core/src/extensions/ai-engines/index.ts rename to core/src/browser/extensions/engines/index.ts index f4da62a7c9..34ef45afd1 100644 --- a/core/src/extensions/ai-engines/index.ts +++ b/core/src/browser/extensions/engines/index.ts @@ -1,3 +1,5 @@ export * from './AIEngine' export * from './OAIEngine' export * from './LocalOAIEngine' +export * from './RemoteOAIEngine' +export * from './EngineManager' diff --git a/core/src/extensions/huggingface.ts b/core/src/browser/extensions/huggingface.ts similarity index 92% rename from core/src/extensions/huggingface.ts rename to core/src/browser/extensions/huggingface.ts index 16a1d9b8af..b9c9626a00 100644 --- a/core/src/extensions/huggingface.ts +++ b/core/src/browser/extensions/huggingface.ts @@ -1,6 +1,6 @@ import { BaseExtension, ExtensionTypeEnum } from '../extension' -import { HuggingFaceInterface, HuggingFaceRepoData, Quantization } from '../types/huggingface' -import { Model } from '../types/model' +import { HuggingFaceInterface, HuggingFaceRepoData, Quantization } from '../../types/huggingface' +import { Model } from '../../types/model' /** * Hugging Face extension for converting HF models to GGUF. diff --git a/core/src/extensions/index.ts b/core/src/browser/extensions/index.ts similarity index 96% rename from core/src/extensions/index.ts rename to core/src/browser/extensions/index.ts index c049f3b3ab..768886d497 100644 --- a/core/src/extensions/index.ts +++ b/core/src/browser/extensions/index.ts @@ -32,4 +32,4 @@ export { HuggingFaceExtension } from './huggingface' /** * Base AI Engines. */ -export * from './ai-engines' +export * from './engines' diff --git a/core/src/extensions/inference.ts b/core/src/browser/extensions/inference.ts similarity index 96% rename from core/src/extensions/inference.ts rename to core/src/browser/extensions/inference.ts index e8e51f9eb9..44c50f7f82 100644 --- a/core/src/extensions/inference.ts +++ b/core/src/browser/extensions/inference.ts @@ -1,4 +1,4 @@ -import { InferenceInterface, MessageRequest, ThreadMessage } from '../index' +import { InferenceInterface, MessageRequest, ThreadMessage } from '../../types' import { BaseExtension, ExtensionTypeEnum } from '../extension' /** diff --git a/core/src/extensions/model.ts b/core/src/browser/extensions/model.ts similarity index 97% rename from core/src/extensions/model.ts rename to core/src/browser/extensions/model.ts index 33eec0afce..6dd52f192e 100644 --- a/core/src/extensions/model.ts +++ b/core/src/browser/extensions/model.ts @@ -1,5 +1,5 @@ import { BaseExtension, ExtensionTypeEnum } from '../extension' -import { GpuSetting, ImportingModel, Model, ModelInterface, OptionType } from '../index' +import { GpuSetting, ImportingModel, Model, ModelInterface, OptionType } from '../../types' /** * Model extension for managing models. diff --git a/core/src/extensions/monitoring.ts b/core/src/browser/extensions/monitoring.ts similarity index 97% rename from core/src/extensions/monitoring.ts rename to core/src/browser/extensions/monitoring.ts index 2d75e0218b..c30766f6ef 100644 --- a/core/src/extensions/monitoring.ts +++ b/core/src/browser/extensions/monitoring.ts @@ -1,5 +1,5 @@ import { BaseExtension, ExtensionTypeEnum } from '../extension' -import { GpuSetting, MonitoringInterface, OperatingSystemInfo } from '../index' +import { GpuSetting, MonitoringInterface, OperatingSystemInfo } from '../../types' /** * Monitoring extension for system monitoring. diff --git a/core/src/fs.ts b/core/src/browser/fs.ts similarity index 71% rename from core/src/fs.ts rename to core/src/browser/fs.ts index dacdbb6d6f..92525c260e 100644 --- a/core/src/fs.ts +++ b/core/src/browser/fs.ts @@ -1,10 +1,10 @@ -import { FileStat } from './types' +import { FileStat } from '../types' /** * Writes data to a file at the specified path. * @returns {Promise} A Promise that resolves when the file is written successfully. */ -const writeFileSync = (...args: any[]) => global.core.api?.writeFileSync(...args) +const writeFileSync = (...args: any[]) => globalThis.core.api?.writeFileSync(...args) /** * Writes blob data to a file at the specified path. @@ -13,29 +13,29 @@ const writeFileSync = (...args: any[]) => global.core.api?.writeFileSync(...args * @returns */ const writeBlob: (path: string, data: string) => Promise = (path, data) => - global.core.api?.writeBlob(path, data) + globalThis.core.api?.writeBlob(path, data) /** * Reads the contents of a file at the specified path. * @returns {Promise} A Promise that resolves with the contents of the file. */ -const readFileSync = (...args: any[]) => global.core.api?.readFileSync(...args) +const readFileSync = (...args: any[]) => globalThis.core.api?.readFileSync(...args) /** * Check whether the file exists * @param {string} path * @returns {boolean} A boolean indicating whether the path is a file. */ -const existsSync = (...args: any[]) => global.core.api?.existsSync(...args) +const existsSync = (...args: any[]) => globalThis.core.api?.existsSync(...args) /** * List the directory files * @returns {Promise} A Promise that resolves with the contents of the directory. */ -const readdirSync = (...args: any[]) => global.core.api?.readdirSync(...args) +const readdirSync = (...args: any[]) => globalThis.core.api?.readdirSync(...args) /** * Creates a directory at the specified path. * @returns {Promise} A Promise that resolves when the directory is created successfully. */ -const mkdirSync = (...args: any[]) => global.core.api?.mkdirSync(...args) +const mkdir = (...args: any[]) => globalThis.core.api?.mkdir(...args) const mkdir = (...args: any[]) => global.core.api?.mkdir(...args) @@ -43,22 +43,19 @@ const mkdir = (...args: any[]) => global.core.api?.mkdir(...args) * Removes a directory at the specified path. * @returns {Promise} A Promise that resolves when the directory is removed successfully. */ -const rmdirSync = (...args: any[]) => - global.core.api?.rmdirSync(...args, { recursive: true, force: true }) - -const rm = (path: string) => global.core.api?.rm(path) +const rm = (...args: any[]) => globalThis.core.api?.rm(...args, { recursive: true, force: true }) /** * Deletes a file from the local file system. * @param {string} path - The path of the file to delete. * @returns {Promise} A Promise that resolves when the file is deleted. */ -const unlinkSync = (...args: any[]) => global.core.api?.unlinkSync(...args) +const unlinkSync = (...args: any[]) => globalThis.core.api?.unlinkSync(...args) /** * Appends data to a file at the specified path. */ -const appendFileSync = (...args: any[]) => global.core.api?.appendFileSync(...args) +const appendFileSync = (...args: any[]) => globalThis.core.api?.appendFileSync(...args) /** * Synchronizes a file from a source path to a destination path. @@ -67,15 +64,15 @@ const appendFileSync = (...args: any[]) => global.core.api?.appendFileSync(...ar * @returns {Promise} - A promise that resolves when the file has been successfully synchronized. */ const syncFile: (src: string, dest: string) => Promise = (src, dest) => - global.core.api?.syncFile(src, dest) + globalThis.core.api?.syncFile(src, dest) /** * Copy file sync. */ -const copyFileSync = (...args: any[]) => global.core.api?.copyFileSync(...args) +const copyFileSync = (...args: any[]) => globalThis.core.api?.copyFileSync(...args) const copyFile: (src: string, dest: string) => Promise = (src, dest) => - global.core.api?.copyFile(src, dest) + globalThis.core.api?.copyFile(src, dest) /** * Gets the file's stats. @@ -87,7 +84,7 @@ const copyFile: (src: string, dest: string) => Promise = (src, dest) => const fileStat: (path: string, outsideJanDataFolder?: boolean) => Promise = ( path, outsideJanDataFolder -) => global.core.api?.fileStat(path, outsideJanDataFolder) +) => globalThis.core.api?.fileStat(path, outsideJanDataFolder) // TODO: Export `dummy` fs functions automatically // Currently adding these manually @@ -96,9 +93,7 @@ export const fs = { readFileSync, existsSync, readdirSync, - mkdirSync, mkdir, - rmdirSync, rm, unlinkSync, appendFileSync, diff --git a/core/src/browser/index.ts b/core/src/browser/index.ts new file mode 100644 index 0000000000..a7803c7e04 --- /dev/null +++ b/core/src/browser/index.ts @@ -0,0 +1,35 @@ +/** + * Export Core module + * @module + */ +export * from './core' + +/** + * Export Event module. + * @module + */ +export * from './events' + +/** + * Export Filesystem module. + * @module + */ +export * from './fs' + +/** + * Export Extension module. + * @module + */ +export * from './extension' + +/** + * Export all base extensions. + * @module + */ +export * from './extensions' + +/** + * Export all base tools. + * @module + */ +export * from './tools' diff --git a/core/src/browser/tools/index.ts b/core/src/browser/tools/index.ts new file mode 100644 index 0000000000..24cd127804 --- /dev/null +++ b/core/src/browser/tools/index.ts @@ -0,0 +1,2 @@ +export * from './manager' +export * from './tool' diff --git a/core/src/browser/tools/manager.ts b/core/src/browser/tools/manager.ts new file mode 100644 index 0000000000..b323ad7ced --- /dev/null +++ b/core/src/browser/tools/manager.ts @@ -0,0 +1,47 @@ +import { AssistantTool, MessageRequest } from '../../types' +import { InferenceTool } from './tool' + +/** + * Manages the registration and retrieval of inference tools. + */ +export class ToolManager { + public tools = new Map() + + /** + * Registers a tool. + * @param tool - The tool to register. + */ + register(tool: T) { + this.tools.set(tool.name, tool) + } + + /** + * Retrieves a tool by it's name. + * @param name - The name of the tool to retrieve. + * @returns The tool, if found. + */ + get(name: string): T | undefined { + return this.tools.get(name) as T | undefined + } + + /* + ** Process the message request with the tools. + */ + process(request: MessageRequest, tools: AssistantTool[]): Promise { + return tools.reduce((prevPromise, currentTool) => { + return prevPromise.then((prevResult) => { + return currentTool.enabled + ? this.get(currentTool.type)?.process(prevResult, currentTool) ?? + Promise.resolve(prevResult) + : Promise.resolve(prevResult) + }) + }, Promise.resolve(request)) + } + + /** + * The instance of the tool manager. + */ + static instance(): ToolManager { + return (window.core?.toolManager as ToolManager) ?? new ToolManager() + } +} diff --git a/core/src/browser/tools/tool.ts b/core/src/browser/tools/tool.ts new file mode 100644 index 0000000000..0fd3429331 --- /dev/null +++ b/core/src/browser/tools/tool.ts @@ -0,0 +1,12 @@ +import { AssistantTool, MessageRequest } from '../../types' + +/** + * Represents a base inference tool. + */ +export abstract class InferenceTool { + abstract name: string + /* + ** Process a message request and return the processed message request. + */ + abstract process(request: MessageRequest, tool?: AssistantTool): Promise +} diff --git a/core/src/index.ts b/core/src/index.ts index 3505797b19..cfd69f93d1 100644 --- a/core/src/index.ts +++ b/core/src/index.ts @@ -2,42 +2,13 @@ * Export all types. * @module */ -export * from './types/index' +export * from './types' /** - * Export all routes - */ -export * from './api' - -/** - * Export Core module - * @module - */ -export * from './core' - -/** - * Export Event module. - * @module - */ -export * from './events' - -/** - * Export Filesystem module. - * @module - */ -export * from './fs' - -/** - * Export Extension module. - * @module - */ -export * from './extension' - -/** - * Export all base extensions. + * Export browser module * @module */ -export * from './extensions/index' +export * from './browser' /** * Declare global object diff --git a/core/src/node/api/common/adapter.ts b/core/src/node/api/common/adapter.ts index 56f4cedb35..2beacf3254 100644 --- a/core/src/node/api/common/adapter.ts +++ b/core/src/node/api/common/adapter.ts @@ -4,7 +4,7 @@ import { ExtensionRoute, FileManagerRoute, FileSystemRoute, -} from '../../../api' +} from '../../../types/api' import { Downloader } from '../processors/download' import { FileSystem } from '../processors/fs' import { Extension } from '../processors/extension' diff --git a/core/src/node/api/common/handler.ts b/core/src/node/api/common/handler.ts index 4a39ae52a6..fb958dbd1b 100644 --- a/core/src/node/api/common/handler.ts +++ b/core/src/node/api/common/handler.ts @@ -1,4 +1,4 @@ -import { CoreRoutes } from '../../../api' +import { CoreRoutes } from '../../../types/api' import { RequestAdapter } from './adapter' export type Handler = (route: string, args: any) => any diff --git a/core/src/node/api/processors/download.ts b/core/src/node/api/processors/download.ts index 8e8e08f2f6..98464dd52d 100644 --- a/core/src/node/api/processors/download.ts +++ b/core/src/node/api/processors/download.ts @@ -1,5 +1,5 @@ import { resolve, sep } from 'path' -import { DownloadEvent } from '../../../api' +import { DownloadEvent } from '../../../types/api' import { normalizeFilePath } from '../../helper/path' import { getJanDataFolderPath } from '../../helper' import { DownloadManager } from '../../helper/download' diff --git a/core/src/node/api/processors/fs.ts b/core/src/node/api/processors/fs.ts index 93a5f19057..a66f5a0e95 100644 --- a/core/src/node/api/processors/fs.ts +++ b/core/src/node/api/processors/fs.ts @@ -2,6 +2,7 @@ import { join } from 'path' import { normalizeFilePath } from '../../helper/path' import { getJanDataFolderPath } from '../../helper' import { Processor } from './Processor' +import fs from 'fs' export class FileSystem implements Processor { observer?: Function @@ -11,15 +12,65 @@ export class FileSystem implements Processor { this.observer = observer } - process(route: string, ...args: any[]): any { - return import(FileSystem.moduleName).then((mdl) => - mdl[route]( - ...args.map((arg: any) => - typeof arg === 'string' && (arg.startsWith(`file:/`) || arg.startsWith(`file:\\`)) - ? join(getJanDataFolderPath(), normalizeFilePath(arg)) - : arg + process(route: string, ...args: any): any { + const instance = this as any + const func = instance[route] + + if (func) { + return func(...args) + } else { + return import(FileSystem.moduleName).then((mdl) => + mdl[route]( + ...args.map((arg: any) => { + return typeof arg === 'string' && + (arg.startsWith(`file:/`) || arg.startsWith(`file:\\`)) + ? join(getJanDataFolderPath(), normalizeFilePath(arg)) + : arg + }) ) ) - ) + } + } + + rm(...args: any): Promise { + if (typeof args[0] !== 'string') { + throw new Error(`rm error: Invalid argument ${JSON.stringify(args)}`) + } + + let path = args[0] + if (path.startsWith(`file:/`) || path.startsWith(`file:\\`)) { + path = join(getJanDataFolderPath(), normalizeFilePath(path)) + } + + return new Promise((resolve, reject) => { + fs.rm(path, { recursive: true, force: true }, (err) => { + if (err) { + reject(err) + } else { + resolve() + } + }) + }) + } + + mkdir(...args: any): Promise { + if (typeof args[0] !== 'string') { + throw new Error(`mkdir error: Invalid argument ${JSON.stringify(args)}`) + } + + let path = args[0] + if (path.startsWith(`file:/`) || path.startsWith(`file:\\`)) { + path = join(getJanDataFolderPath(), normalizeFilePath(path)) + } + + return new Promise((resolve, reject) => { + fs.mkdir(path, { recursive: true }, (err) => { + if (err) { + reject(err) + } else { + resolve() + } + }) + }) } } diff --git a/core/src/node/api/restful/app/download.ts b/core/src/node/api/restful/app/download.ts index b5919659b1..5e0c83d01a 100644 --- a/core/src/node/api/restful/app/download.ts +++ b/core/src/node/api/restful/app/download.ts @@ -1,4 +1,4 @@ -import { DownloadRoute } from '../../../../api' +import { DownloadRoute } from '../../../../types/api' import { DownloadManager } from '../../../helper/download' import { HttpServer } from '../../HttpServer' diff --git a/core/src/node/api/restful/common.ts b/core/src/node/api/restful/common.ts index 4336329890..c8061c34a2 100644 --- a/core/src/node/api/restful/common.ts +++ b/core/src/node/api/restful/common.ts @@ -40,7 +40,7 @@ export const commonRouter = async (app: HttpServer) => { }) // Threads - app.post(`/threads/`, async (req, res) => createThread(req.body)) + app.post(`/threads`, async (req, res) => createThread(req.body)) app.get(`/threads/:threadId/messages`, async (req, res) => getMessages(req.params.threadId).then(normalizeData) diff --git a/core/src/node/api/restful/helper/builder.ts b/core/src/node/api/restful/helper/builder.ts index 6b9bbb3a88..e34fb606bc 100644 --- a/core/src/node/api/restful/helper/builder.ts +++ b/core/src/node/api/restful/helper/builder.ts @@ -216,7 +216,7 @@ export const createMessage = async (threadId: string, message: any) => { const threadMessagesFileName = 'messages.jsonl' try { - const { ulid } = require('ulid') + const { ulid } = require('ulidx') const msgId = ulid() const createdAt = Date.now() const threadMessage: ThreadMessage = { @@ -335,7 +335,12 @@ export const chatCompletions = async (request: any, reply: any) => { headers['api-key'] = apiKey } console.debug(apiUrl) - console.debug(JSON.stringify(headers)) + + if (requestedModel.engine === 'openai' && request.body.stop) { + // openai only allows max 4 stop words + request.body.stop = request.body.stop.slice(0, 4) + } + const fetch = require('node-fetch') const response = await fetch(apiUrl, { method: 'POST', diff --git a/core/src/node/extension/extension.ts b/core/src/node/extension/extension.ts index 1f8dfa3ec2..8780b3ffe1 100644 --- a/core/src/node/extension/extension.ts +++ b/core/src/node/extension/extension.ts @@ -182,7 +182,7 @@ export default class Extension { async uninstall(): Promise { const path = ExtensionManager.instance.getExtensionsPath() const extPath = resolve(path ?? '', this.name ?? '') - await rmdirSync(extPath, { recursive: true }) + rmdirSync(extPath, { recursive: true }) this.emitUpdate() } diff --git a/core/src/node/helper/config.ts b/core/src/node/helper/config.ts index 0a4c8cc367..b5ec2e029a 100644 --- a/core/src/node/helper/config.ts +++ b/core/src/node/helper/config.ts @@ -126,7 +126,7 @@ const exec = async (command: string): Promise => { } export const getEngineConfiguration = async (engineId: string) => { - if (engineId !== 'openai') { + if (engineId !== 'openai' && engineId !== 'groq') { return undefined } const directoryPath = join(getJanDataFolderPath(), 'engines') diff --git a/core/src/node/index.ts b/core/src/node/index.ts index 31f2f076e9..eb60270752 100644 --- a/core/src/node/index.ts +++ b/core/src/node/index.ts @@ -4,3 +4,5 @@ export * from './extension/manager' export * from './extension/store' export * from './api' export * from './helper' +export * from './../types' +export * from '../types/api' diff --git a/core/src/api/index.ts b/core/src/types/api/index.ts similarity index 98% rename from core/src/api/index.ts rename to core/src/types/api/index.ts index 8e41da0d17..58bd860b7a 100644 --- a/core/src/api/index.ts +++ b/core/src/types/api/index.ts @@ -82,9 +82,9 @@ export enum FileSystemRoute { unlinkSync = 'unlinkSync', existsSync = 'existsSync', readdirSync = 'readdirSync', - mkdirSync = 'mkdirSync', + rm = 'rm', + mkdir = 'mkdir', readFileSync = 'readFileSync', - rmdirSync = 'rmdirSync', writeFileSync = 'writeFileSync', } export enum FileManagerRoute { diff --git a/core/src/types/index.ts b/core/src/types/index.ts index 295d054e7e..291c735246 100644 --- a/core/src/types/index.ts +++ b/core/src/types/index.ts @@ -8,3 +8,4 @@ export * from './file' export * from './config' export * from './huggingface' export * from './miscellaneous' +export * from './api' diff --git a/core/src/types/model/modelEntity.ts b/core/src/types/model/modelEntity.ts index 74568686bc..a313847b69 100644 --- a/core/src/types/model/modelEntity.ts +++ b/core/src/types/model/modelEntity.ts @@ -7,7 +7,6 @@ export type ModelInfo = { settings: ModelSettingParams parameters: ModelRuntimeParams engine?: InferenceEngine - proxy_model?: InferenceEngine } /** @@ -18,10 +17,9 @@ export type ModelInfo = { export enum InferenceEngine { nitro = 'nitro', openai = 'openai', + groq = 'groq', triton_trtllm = 'triton_trtllm', nitro_tensorrt_llm = 'nitro-tensorrt-llm', - - tool_retrieval_enabled = 'tool_retrieval_enabled', } export type ModelArtifact = { @@ -93,8 +91,6 @@ export type Model = { * The model engine. */ engine: InferenceEngine - - proxy_model?: InferenceEngine } export type ModelMetadata = { diff --git a/docs/.env.example b/docs/.env.example deleted file mode 100644 index 22f6e715ff..0000000000 --- a/docs/.env.example +++ /dev/null @@ -1,6 +0,0 @@ -GTM_ID=xxxx -UMAMI_PROJECT_API_KEY=xxxx -UMAMI_APP_URL=xxxx -ALGOLIA_API_KEY=xxxx -ALGOLIA_APP_ID=xxxx -GITHUB_ACCESS_TOKEN=xxxx \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index b2d6de3062..0000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 02330bc806..0000000000 --- a/docs/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# Website & Docs - -This website is built using [Docusaurus 3.0](https://docusaurus.io/), a modern static website generator. - -### Information Architecture - -We try to **keep routes consistent** to maintain SEO. - -- **`/guides/`**: Guides on how to use the Jan application. For end users who are directly using Jan. - -- **`/developer/`**: Developer docs on how to extend Jan. These pages are about what people can build with our software. - -- **`/api-reference/`**: Reference documentation for the Jan API server, written in Swagger/OpenAPI format. - -- **`/changelog/`**: A list of changes made to the Jan application with each release. - -- **`/blog/`**: A blog for the Jan application. - -### Sidebar Autogeneration - -The order of each page is either explicitly defined in `sidebar.js` or follows the [Docusaurus autogenerated](https://docusaurus.io/docs/next/sidebar/autogenerated) naming format, `##-path-name.md`. - -Important slugs are hardcoded at the document level (and shouldn't be rerouted): - -``` ---- -title: Overview -slug: /docs ---- -``` - -## How to Contribute - -Refer to the [Contributing Guide](https://github.com/janhq/jan/blob/dev/CONTRIBUTING.md) for more comprehensive information on how to contribute to the Jan project. - -### Pre-requisites and Installation - -- [Node.js](https://nodejs.org/en/) (version 20.0.0 or higher) -- [yarn](https://yarnpkg.com/) (version 1.22.0 or higher) - -#### Installation - -```bash -cd jan/docs -yarn install -yarn start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -#### Build - -```bash -yarn build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -```bash -USE_SSH=true yarn deploy -``` - -Not using SSH: - -```bash -GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. - -### Preview URL, Pre-release and Publishing Documentation - -- When a pull request is created, the preview URL will be automatically commented on the pull request. - -- The documentation will then be published to [https://dev.jan.ai/](https://dev.jan.ai/) when the pull request is merged to `dev`. - -- Our open-source maintainers will sync the updated content from `dev` to `docs` branch, which will then be published to [https://jan.ai/](https://jan.ai/). - -### Additional Plugins - -- @docusaurus/theme-live-codeblock -- [Redocusaurus](https://redocusaurus.vercel.app/): manually upload swagger files at `/openapi/jan.yaml` to update the API reference documentation. diff --git a/docs/babel.config.js b/docs/babel.config.js deleted file mode 100644 index e00595dae7..0000000000 --- a/docs/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/docs/blog/01-january-10-2024-bitdefender-false-positive-flag.mdx b/docs/blog/01-january-10-2024-bitdefender-false-positive-flag.mdx deleted file mode 100644 index ef418ff977..0000000000 --- a/docs/blog/01-january-10-2024-bitdefender-false-positive-flag.mdx +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: "Post Mortem: Bitdefender False Positive Flag" -description: "10th January 2024, Jan's 0.4.4 Release on Windows triggered Bitdefender to incorrectly flag it as infected with Gen:Variant.Tedy.258323, leading to automatic quarantine warnings on users' computers." -slug: /postmortems/january-10-2024-bitdefender-false-positive-flag -tags: [Postmortem] ---- - -Following the recent incident related to Jan version 0.4.4 triggering Bitdefender on Windows with Gen:Variant.Tedy.258323 on January 10, 2024, we wanted to provide a comprehensive postmortem and outline the necessary follow-up actions. - -## Incident Overview - -### Bug Description - -Jan 0.4.4 installation on Windows triggered Bitdefender to flag it as infected with Gen:Variant.Tedy.258323, leading to automatic quarantine. - -### Affected Antivirus - -- McAfee / Microsoft Defender was unaffected -- Bitdefender consistently flagged the issue. - -### Incident Timeline - -- _10 Jan, 2:18 am SGT:_ Hawke flags up Malware antivirus errors for 0.4.4 installation on Windows computers. -- _10 Jan, 2:21 am SGT:_ @0xSage responds in Discord. -- _10 Jan, 2:35 am SGT:_ Hawke confirms multiple people have experienced this error on fresh installs. -- _10 Jan, 2:41 am SGT:_ @louis-jan and @dan-jan revert 0.4.4 out of an abundance of caution. -- _Incident ongoing:_ To triage and investigate the next day. -- _10 Jan, 11:36 am SGT:_ @Hien has investigated all versions of Nitro and conducted scans using Bitdefender. Only the 2 latest versions raised warnings (0.2.7, 0.2.8). -- _10 Jan, 12:44 pm SGT:_ @Hien tested again for the 0.2.6 and suggested using 0.2.6 for now, the 2 remaining Nitro version (0.2.7, 0.2.8) will under further investigation. -- The team started testing on the fixed build. -- _10 Jan, 3:22 pm SGT:_ Diagnosis found that it's most likely a false positive. @Hien has only found a solution by attempting to build Nitro Windows CPU on a GitHub-hosted runner and hasn't identified the root cause yet. -- _10 Jan, 5:24 pm SGT:_ @Hien testing two scenarios and still trying to understand the workings of Bitdefender. -- _11 Jan, 5:46 pm SGT:_ Postmortem meeting - -## Investigation Update - -- @Hien has investigated all versions of Nitro and conducted scans using Bitdefender. and only the 2 latest versions raised warnings from Bitdefender. Nitro 0.2.6, which is the highest version without the issue, was tested again, and it no longer triggers a warning from Bitdefender. -- We have observed that Nitro versions up to 0.2.6 remain unaffected. However, Bitdefender flags versions 0.2.7 and 0.2.8 as infected, leading to the deletion. In order to proceed with the current release, Hien suggests downgrading Nitro to version 0.2.6 and conducting tests with this version. Simultaneously, he will investigate why Bitdefender is flagging versions 0.2.7 and 0.2.8. -- It's essential to note that between versions 0.2.6, 0.2.7, and 0.2.8, only minor changes were made, which should not trigger a malicious code warning. We can refer to the changelog between 0.2.7 and 0.2.8 to pinpoint these changes. -- Our primary message is to convey that we did not introduce malicious code into Jan (indicating a false positive), and the investigation aims to understand the root cause behind Bitdefender flagging versions 0.2.7 and 0.2.8. -- The current diagnosis looks like a false positive but it's still under investigation. Reference link: [here](https://stackoverflow.com/questions/75886428/fake-positive-bit-defender-problem-genvariant-tedy-304469), [here](https://stackoverflow.com/questions/58010466/bitdefender-detects-my-console-application-as-genvariant-ursu-56053), and [here](https://www.cisa.gov/sites/default/files/2023-06/mar-10365227.r1.v1.clear_.pdf). -- @Hien testing two scenarios and still trying to understand the workings of Bitdefender. Still under investigation: is the issue with the code or the CI? - - In Case 1, using the same CI agent for tags 0.2.6 and 0.2.8, after PRs by Alan and myself, Bitdefender flagged the Nitro CPU binary build. Naturally, one would conclude this is due to the code. - - However, I proceeded with a further experiment: for the 0.2.8 code, instead of using our CI agent, I used a GitHub hosted agent. This time, Bitdefender did not flag our binary build. -- We've identified the Bitdefender warning was not an attack. There is no malicious code -- We've isolated the event to originate from a CI agent, which resulted in a BitDefender false positive alert. - -## Follow-ups and Action Items - -1. **Reproduce Bitdefender Flag in Controlled Environment [Done]:** - - - _Objective:_ To replicate the issue in a controlled environment to understand the triggers and specifics of Bitdefender's detection. - -2. **Investigate Malicious Code or False Positive:** - - - _Objective:_ Determine whether the flagged issue is a result of actual malicious code or a false positive. If it's a false positive, work towards resolution while communicating with Bitdefender. - -3. **Supply Chain Attack Assessment:** - - - _Objective:_ Evaluate the possibility of a supply chain attack. Investigate whether the Nitro 0.4.4 distribution was compromised or tampered with during the release process. - -4. **Testing after the Hotfix:** - - - _Objective:_ In addition to verifying the issue after the fix, it is essential to conduct comprehensive testing across related areas, ensuring compatibility across different operating systems and antivirus software (latest version / free version only). - -5. **Process Improvement for Future Releases:** - - - _Objective:_ Identify and implement improvements to our release process to prevent similar incidents in the future. This may include enhanced testing procedures, code analysis, and collaboration with antivirus software providers during the pre-release phase. Additionally, we should add verifying the latest antivirus software in the release checklist. - -6. **Documentation of Tested Antivirus Versions:** - - _Objective:_ Create a document that outlines the testing conducted, including a matrix that correlates Jan versions with the tested antivirus versions. - - _Sample list:_ for consideration purpose - - Bitdefender - - McAfee - - Avira - - Kaspersky - - Norton - - Microsoft defender - - AVG - - TotalAV - -## Next Steps - -- The team should follow up on each action item with clear ownership priority, and deadlines. -- Communicate progress transparently with the community and clients through appropriate channels. If any insights or suggestions, share them within the dedicated channels. -- Update internal documentation and procedures based on the lessons learned from this incident. - -## Lessons Learned - -1. **Antivirus Compatibility Awareness:** - - - _Observation:_ The incident underscored the significance of recognizing and testing for antivirus compatibility, particularly with widely-used solutions like Bitdefender. - - _Lesson Learned:_ In the future, we will integrate comprehensive checks for compatibility with various antivirus software, including both antivirus and "Malicious Code Detection," into our CI or QA checklist. This proactive measure aims to minimize false positive detections during the release and testing processes. - -2. **Cross-Platform Testing:** - - - _Observation:_ The problem did not occur on MacOS and Linux systems, implying a potential oversight in cross-platform testing during our release procedures. - - _Lesson Learned:_ Clarification — This observation is not directly related to antivirus testing. Instead, it underscores the necessity to improve our testing protocols, encompassing multiple operating systems. This ensures a thorough evaluation of potential issues on diverse platforms, considering the various antivirus software and differences in architectures on Mac and Linux systems. - -3. **User Communication and Documentation:** - - - _Observation:_ Due to the timely response from Nicole, who was still active on Discord and Github at 2 am, this quick response facilitated our ability to assess the impact accurately. - - _Lesson Learned:_ While our communication with users was effective in this instance, it was mainly due to Nicole's presence during the incident. To improve our overall response capability, we should prioritize "24/7 rapid triage and response." This involves ensuring continuous availability or establishing a reliable rotation of team members for swift user communication and issue documentation, further enhancing our incident response efficiency. - -4. **Proactive Incident Response:** - - - _Observation:_ The incident response, while involving a prompt version rollback, experienced a slight delay due to the release occurring at midnight. This delay postponed the initiation of the investigation until the next working hours. - - _Lesson Learned:_ Recognizing the importance of swift incident response, particularly in time-sensitive situations, we acknowledge that releasing updates during off-hours can impact the immediacy of our actions. Moving forward, we will strive to optimize our release schedules to minimize delays and ensure that investigations can commence promptly regardless of the time of day. This may involve considering alternative release windows or implementing automated responses to critical incidents, ensuring a more proactive and timely resolution. - -5. **Supply Chain Security Measures:** - - - _Observation:_ While the incident prompted consideration of a potential supply chain attack, it's crucial to emphasize that this was not the case. Nonetheless, the incident underscored the importance of reviewing our supply chain security measures. - - _Lesson Learned:_ Going forward, we should strengthen supply chain security by introducing additional verification steps to uphold the integrity of our release process. Collaborating with distribution channels is essential for enhancing security checks and ensuring a robust supply chain. - - _Longer-term:_ Exploring options for checking Jan for malicious code and incorporating antivirus as part of our CI/CD pipeline should be considered for a more comprehensive and proactive approach. - -6. **User Education on False Positives:** - - _Observation:_ Users reported Bitdefender automatically "disinfecting" the flagged Nitro version without allowing any user actions. - - _Lesson Learned:_ Educate users about the possibility of false positives and guide them on how to whitelist or report such incidents to their antivirus provider (if possible). Provide clear communication on steps users can take in such situations. - -These lessons learned will serve as a foundation for refining our processes and ensuring a more resilient release and incident response framework in the future. Continuous improvement is key to maintaining the reliability and security of our software. - -Thank you for your dedication and cooperation in resolving this matter promptly. diff --git a/docs/blog/authors.yml b/docs/blog/authors.yml deleted file mode 100644 index ec58002e48..0000000000 --- a/docs/blog/authors.yml +++ /dev/null @@ -1,76 +0,0 @@ -dan-jan: - name: Daniel Onggunhao - title: Co-Founder - url: https://github.com/dan-jan - image_url: https://avatars.githubusercontent.com/u/101145494?v=4 - email: daniel@jan.ai - -namchuai: - name: Nam Nguyen - title: Developer - url: https://github.com/namchuai - image_url: https://avatars.githubusercontent.com/u/10397206?v=4 - email: james@jan.ai - -hiro-v: - name: Hiro Vuong - title: MLE - url: https://github.com/hiro-v - image_url: https://avatars.githubusercontent.com/u/22463238?v=4 - email: hiro@jan.ai - -ashley-jan: - name: Ashley Tran - title: Product Designer - url: https://github.com/imtuyethan - image_url: https://avatars.githubusercontent.com/u/89722390?v=4 - email: ashley@jan.ai - -hientominh: - name: Hien To - title: DevOps Engineer - url: https://github.com/hientominh - image_url: https://avatars.githubusercontent.com/u/37921427?v=4 - email: hien@jan.ai - -Van-QA: - name: Van Pham - title: QA & Release Manager - url: https://github.com/Van-QA - image_url: https://avatars.githubusercontent.com/u/64197333?v=4 - email: van@jan.ai - -louis-jan: - name: Louis Le - title: Software Engineer - url: https://github.com/louis-jan - image_url: https://avatars.githubusercontent.com/u/133622055?v=4 - email: louis@jan.ai - -hahuyhoang411: - name: Rex Ha - title: LLM Researcher & Content Writer - url: https://github.com/hahuyhoang411 - image_url: https://avatars.githubusercontent.com/u/64120343?v=4 - email: rex@jan.ai - -automaticcat: - name: Alan Dao - title: AI Engineer - url: https://github.com/tikikun - image_url: https://avatars.githubusercontent.com/u/22268502?v=4 - email: alan@jan.ai - -hieu-jan: - name: Henry Ho - title: Software Engineer - url: https://github.com/hieu-jan - image_url: https://avatars.githubusercontent.com/u/150573299?v=4 - email: hieu@jan.ai - -0xsage: - name: Nicole Zhu - title: Co-Founder - url: https://github.com/0xsage - image_url: https://avatars.githubusercontent.com/u/69952136?v=4 - email: nicole@jan.ai diff --git a/docs/docs/about/2035.mdx b/docs/docs/about/2035.mdx deleted file mode 100644 index 3af7a31971..0000000000 --- a/docs/docs/about/2035.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Jan's Vision for 2035 ---- - -[Jan 2035: A Robotics Company](https://hackmd.io/QIWyYbNNQVWVbupuI3kjAA) - -We only have 2 planning parameters: - -- 10 year vision -- 2 week sprint - -And we measure our success on Quarterly OKRs \ No newline at end of file diff --git a/docs/docs/about/about.md b/docs/docs/about/about.md deleted file mode 100644 index a047ab9100..0000000000 --- a/docs/docs/about/about.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: About Jan -slug: /about -description: Jan is a desktop application that turns computers into thinking machines. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - about Jan, - desktop application, - thinking machine, - ] ---- - -Jan turns computers into thinking machines to change how we use them. -Jan is created and maintained by Jan Labs, a robotics company. - -With Jan, you can: - -- Run [open-source LLMs](https://huggingface.co/models?pipeline_tag=text-generation) locally or connect to cloud AIs like [ChatGPT](https://openai.com/blog/openai-api) or [Google](https://ai.google.dev/). -- Fine-tune AI with specific knowledge. -- Supercharge your productivity by leveraging AI. -- Search the web and databases. -- Integrate AI with everyday tools to work on your behalf (with permission). -- Customize and add features with Extensions. - -:::tip - -Jan aims for long-term human-robot collaboration, envisioning AI as a harmonious extension of human capabilities. Our goal is to build customizable robots that we continually improve and customize, growing together. - -::: - -![Human repairing a Droid](/img/star-wars-droids.png) - -## Jan’s principles - -- **Ownership**: Jan is committed to developing a product that fully belongs to users. You're the true owner, free from data tracking and storage by us. -- **Privacy**: Jan works locally by default, allowing use without an internet connection. Your data stays on your device in a universal format, giving you complete privacy control. -- **100% User Supported**: Every user can access, develop, and customize Jan's codebases to suit their needs. -- **Rejecting Dark Patterns**: We never use tricks to extract more money or lock you into an ecosystem. - -## Why do we exist? - -> _"I do not fear computers. I fear the lack of them." - Isaac Asimov_ - -Jan was founded on the belief that AI should coexist with humans, not replace them. Our mission is to democratize AI access, ensuring everyone can easily utilize it with full ownership and control over their data, free from privacy concerns. - -### What are the things Jan committed on? - -We are committed to creating open, local-first products that extend individual freedom, rejecting dark patterns and ecosystem lock-ins, and embracing an open-source ethos. - -#### What's different about it? - -| | Status Quo | Jan | -| --------------------- | -------------------------- | ---------------------------------------------------------------------- | -| **Ownership** | Owned by Big Tech | Fully owned by you | -| **Openness** | Closed-source | [Open-source (AGPLv3)](https://github.com/janhq/jan/blob/main/LICENSE) | -| **Your Role** | Consumer | Creator | -| **Approach** | Cloud-based | [Local-first](https://www.inkandswitch.com/local-first/) | -| **Data Handling** | Stored on external servers | Stored locally, openly accessible | -| **Privacy** | Questionable | Private and offline | -| **Transparency** | Opaque "Black Box" | Open-source and customizable | -| **Outage Resilience** | Potential data hostage | Continues to work on your device | -| **Philosophy** | User monetization | Empowerment with the right to repair | - -## How we work - -Jan is an open-source product with transparent development and future features. Users have the right to modify and customize Jan. We are committed to building an open-source AI ecosystem. - -Jan is building in public using GitHub, where anyone is welcome to join. Key resources include Jan's [Kanban](https://github.com/orgs/janhq/projects/5/views/7) and Jan's [Roadmap](https://github.com/orgs/janhq/projects/5/views/29). - -Jan has a fully-remote team, primarily based in the APAC timezone, and we use Discord and GitHub for collaboration. Our community is central to our operations, and we embrace asynchronous work. We hold meetings only for synchronization and vision sharing, using [Excalidraw](https://excalidraw.com/) or [Miro](https://miro.com/) for visualization and sharing notes on Discord for alignment. We also use [HackMD](https://hackmd.io/) to document our ideas and build a Jan library. - -## How to get it? - -You can install and start using Jan in less than 5 minutes, from [Jan.ai](https://jan.ai) or our [Github repo](https://github.com/janhq/jan). - -## What license is the code under? - -Jan is licensed under the [AGPLv3 License](https://github.com/janhq/jan/blob/main/LICENSE). - -We happily accept pull requests, however, we do ask that you sign a [Contributor License Agreement](https://en.wikipedia.org/wiki/Contributor_License_Agreement) so that we have the right to relicense your contributions[^2]. - -## What was it built with? - -[Jan](https://github.com/janhq/jan) is pragmatically built using `Typescript` at the application level and `C++` at the Inference level (which we have refactored into [Nitro](https://nitro.jan.ai)[^3]). - -We follow [clean architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) and currently support multiple frameworks and runtimes: - -- A desktop client with [Electron](https://www.electronjs.org/) -- A headless server-mode with [Nodejs](https://nodejs.org/en) -- Planned support for mobile with [Capacitor](https://capacitorjs.com/) -- Planned support for Python runtime - -Architecturally, we have made similar choices to the [Next.js Enterprise Javascript Stack](https://vercel.com/templates/next.js/nextjs-enterprise-boilerplate), which is a [battle-tested](https://nextjs.org/showcase/enterprise) framework for building enterprise-grade applications that scale. - -## Join the team - -Join us on this journey at Jan Labs, where we embrace open-source collaboration and transparency. Together, let's shape a future where Jan becomes an essential companion in the open-source community. Explore [careers](https://janai.bamboohr.com/careers) with us. - -## Contact - -Drop us a message in our [Discord](https://discord.gg/af6SaTdzpx) and we'll get back to you. - -- `#general`: for general discussion -- `#get-help`: for bug reports and troubleshooting -- `#roadmap`: for feature requests and ideas - -## Footnotes - -[^1]: Credit to Obsidian's original website -[^2]: Credit to [Discourse's About Page](https://www.discourse.org/about) -[^3]: Credit to [Llama.cpp](https://github.com/ggerganov/llama.cpp), [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM), [vLLM](https://github.com/vllm-project/vllm), [LMDeploy](https://github.com/InternLM/lmdeploy) and more. diff --git a/docs/docs/about/faq.md b/docs/docs/about/faq.md deleted file mode 100644 index 29832e211e..0000000000 --- a/docs/docs/about/faq.md +++ /dev/null @@ -1,65 +0,0 @@ -# Frequently Asked Questions (FAQ) - -## What is Jan? - -Jan is software that helps you run large language models (LLMs) on your everyday tasks. For details, read the [About page](https://jan.ai/about/). - -## How do I use Jan? - -Download Jan to your computer, choose a compatible LLM, or connect to a remote AI with the API code to start. You can switch between them as needed. - -## Is Jan compatible with my operating system? - -Jan is available for Mac, Windows, and Linux, ensuring wide compatibility. - -## Do you use my data? - -No. See our data and analytics policy [here](https://jan.ai/privacy/#:~:text=We%20do%20not%20share%20your,with%20a%20better%20user%20experience.). - -## Do you sell my data? - -No. We don't even track your data. Jan is yours. - -## How does Jan ensure my data remains private? - -Jan prioritizes your privacy by running open-source AI models 100% offline on your computer, ensuring all conversations, documents, and files stay private. - -## What does "Jan" stand for? - -Jan stands for “Just Another Neuron”, as we are passionate about building software that complements in your existing neural pathways. But in the spirit of full transparency, it was also just a nice 3 letter domain name we owned 😂. - -## Can I use Jan without an internet connection? - -Yes, Jan can run locally without an internet connection for many features. - -## Are there any costs associated with using Jan? - -Jan is free to use. However, if you want to connect to remote APIs, like GPT-4, you will need to put in your own API key. - -## What types of AI models can I download or import with Jan? - -You can download popular AI models or import any model of your choice through Jan's Hub. - -## How do I customize Jan using the programmable API? - -The API allows you to tailor Jan to your needs, but specific details on usage would require consulting Jan's documentation. - -## How can I contribute to Jan's development or suggest features? - -Contributions can be made through [GitHub](https://github.com/janhq/jan) and [Discord](https://discord.gg/Exe46xPMbK), where you can also suggest features and contribute. - -## How can I get involved with the Jan community? - -Joining [Jan's Discord server](https://discord.gg/qSwXFx6Krr) is a great way to get involved with the community. - -## How do I troubleshoot issues with installing or using Jan? - -For troubleshooting, you should reach out on Discord and check GitHub for assistance and support from the community and the development team. - -## Can I self-host? - -Yes! We love the self-hosted movement. Jan is available as a Helm chart/ Docker composes which can be run across home servers or even production-level environments. - -## Are you hiring? - -We often hire directly from our community. If you are interested in applying, please see our careers page [here](https://janai.bamboohr.com/careers). diff --git a/docs/docs/about/roadmap.md b/docs/docs/about/roadmap.md deleted file mode 100644 index 1c789d7337..0000000000 --- a/docs/docs/about/roadmap.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Roadmap ---- - -- [ ] [Immediate Roadmap on Github](https://github.com/orgs/janhq/projects/5/views/16) -- [ ] [Longer-term Roadmap on Discord](https://discord.gg/Ey62mynnYr) \ No newline at end of file diff --git a/docs/docs/acknowledgements.md b/docs/docs/acknowledgements.md deleted file mode 100644 index c68c4ed860..0000000000 --- a/docs/docs/acknowledgements.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Acknowledgements -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -slug: /acknowledgements -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - acknowledgements, - third-party libraries, - ] ---- - -# Acknowledgements - -We would like to express our gratitude to the following third-party libraries that have made the development of Jan possible. - -- [llama.cpp](https://github.com/ggerganov/llama.cpp/blob/master/LICENSE) -- [LangChain.js](https://github.com/langchain-ai/langchainjs/blob/main/LICENSE) -- [TensorRT](https://github.com/NVIDIA/TensorRT/blob/main/LICENSE) diff --git a/docs/docs/community/community.mdx b/docs/docs/community/community.mdx deleted file mode 100644 index d4866490ef..0000000000 --- a/docs/docs/community/community.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Jan's Community -slug: /community -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Socials - -- [Discord](https://discord.gg/SH3DGmUs6b) -- [X](https://twitter.com/janframework) -- [HuggingFace](https://huggingface.co/janhq) -- [LinkedIn](https://www.linkedin.com/company/janframework/) - -## Community Run - -- [Reddit](https://www.reddit.com/r/janframework/) - -## Careers - -- [Jobs](https://janai.bamboohr.com/careers) - -## Newsletter - - diff --git a/docs/docs/developer/01-overview/01-architecture.md b/docs/docs/developer/01-overview/01-architecture.md deleted file mode 100644 index 432b12537e..0000000000 --- a/docs/docs/developer/01-overview/01-architecture.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Architecture -slug: /developer/architecture -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::warning - -This page is still under construction, and should be read as a scratchpad - -::: - -## Overview - -- Jan has a modular architecture and is largely built on top of its own modules. -- Jan uses a local [file-based approach](/developer/file-based) for data persistence. -- Jan provides an Electron-based [Desktop UI](https://github.com/janhq/jan). -- Jan provides an embeddable inference engine, written in C++, called [Nitro](https://nitro.jan.ai/docs/). - -## Extensions - -Jan has an Extensions API inspired by VSCode. In fact, most of Jan's core services are built as extensions. - -Jan supports the following OpenAI compatible extensions: - -| Jan Module | Description | API Docs | -| ---------- | ------------- | --------------------------------------------- | -| Chat | Inference | [/chats](/api-reference/#tag/Chat-Completion) | -| Models | Models | [/models](/api-reference/#tag/Models) | -| Assistants | Apps | [/assistants](/api-reference/#tag/Assistants) | -| Threads | Conversations | [/threads](/api-reference/#tag/Threads) | -| Messages | Messages | [/messages](/api-reference/#tag/Messages) | - - - -## Modules - -Modules are low level, system services. It is similar to OS kernel modules. Modules provide abstractions to basic, device level functionality like working with the filesystem, device system, databases, AI inference engines, etc. - -Jan follows the [dependency inversion principle](https://en.wikipedia.org/wiki/Dependency_inversion_principle) such that `modules` expose the interfaces that `extensions` can then implement. diff --git a/docs/docs/developer/01-overview/02-file-based.md b/docs/docs/developer/01-overview/02-file-based.md deleted file mode 100644 index 653eba3f54..0000000000 --- a/docs/docs/developer/01-overview/02-file-based.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: File-based Approach -slug: /developer/file-based -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::warning - -This page is still under construction, and should be read as a scratchpad - -::: - -Jan use the local filesystem for data persistence, similar to VSCode. This allows for composability and tinkerability. - -```yaml -janroot/ # Jan's root folder (e.g. ~/jan) - models/ # For raw AI models - threads/ # For conversation history - assistants/ # For AI assistants' configs, knowledge, etc. -``` - -```yaml -/models - /modelA - model.json # Default model settings - llama-7b-q4.gguf # Model binaries -/threads - /jan-unixstamp - thread.json # thread metadata (e.g. subject) - messages.jsonl # messages - files/ # RAG -/assistants - /jan # A default assistant that can use all models - assistant.json # Assistant configs (see below) - package.json # Import npm modules, e.g. Langchain, Llamaindex - /src # For custom code - index.js # Entrypoint - # `/threads` at root level - # `/models` at root level - /shakespeare # Example of a custom assistant - assistant.json - package.json - /threads # Assistants remember conversations in the future - /models # Users can upload custom models -``` - -## Data Dependencies - -```mermaid -graph LR - A1[("A User Integrators")] -->|uses| B1[assistant] - B1 -->|persist conversational history| C1[("thread A")] - B1 -->|executes| D1[("built-in tools as module")] - B1 -.->|uses| E1[model] - E1 -.->|model.json| D1 - D1 --> F1[retrieval] - F1 -->|belongs to| G1[("web browsing")] - G1 --> H1[Google] - G1 --> H2[Duckduckgo] - F1 -->|belongs to| I1[("API calling")] - F1 --> J1[("knowledge files")] -``` - -- User/ Integrator -- Assistant object -- Model object -- Thread object -- Built-in tool object diff --git a/docs/docs/developer/01-overview/03-user-interface.md b/docs/docs/developer/01-overview/03-user-interface.md deleted file mode 100644 index eb6eac89e1..0000000000 --- a/docs/docs/developer/01-overview/03-user-interface.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: User Interface -slug: /developer/ui -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::warning - -This page is still under construction, and should be read as a scratchpad - -::: - -Jan provides a UI Kit for customize the UI for your use case. This means you can personalize the entire application according to your own brand and visual styles. - -This page gives you an overview of how to customize the UI. - -You can see some of the user interface components when you first open Jan. - -To Link: - -- Ribbon -- LeftSidebar -- Main -- RightSidebar -- StatusBar - -## Views - -![Jan Views](/img/jan-views.png) -TODO: add a better image. - -### Ribbon - -Assistants shortcuts and Modules settings show up here. - -```js -import .. from "@jan" -sample code here -``` - -### LeftSidebar - -Conversation threads show up here. This is customizable, so custom assistants can add additional menu items here. - -```js -import .. from "@jan" -sample code here -``` - -### Main - -The main view for interacting with assistants. This is customizable, so custom assistants can add in additional UI components. By default, this is a chat thread with assistants. - -```js -import .. from "@jan" -sample code here -``` - -### RightSidebar - -A "settings" view for each thread. Users should be able to edit settings or other configs to customize the assistant experience within each thread. - -```js -import .. from "@jan" -sample code here -``` - -### StatusBar - -A global status bar that shows processes, hardware/disk utilization and more. - -```js -import .. from "@jan" -sample code here -``` diff --git a/docs/docs/developer/01-overview/04-install-and-prerequisites.md b/docs/docs/developer/01-overview/04-install-and-prerequisites.md deleted file mode 100644 index 9752f7b724..0000000000 --- a/docs/docs/developer/01-overview/04-install-and-prerequisites.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Installation and Prerequisites -slug: /developer/prereq -description: Guide to install and setup Jan for development. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - installation, - prerequisites, - developer setup, - ] ---- - -## Requirements - -### Hardware Requirements - -Ensure your system meets the following specifications to guarantee a smooth development experience: - -- Hardware Requirements - -### System Requirements - -Make sure your operating system meets the specific requirements for Jan development: - -- [Windows](../../install/windows/#system-requirements) -- [MacOS](../../install/mac/#system-requirements) -- [Linux](../../install/linux/#system-requirements) - -## Prerequisites - -- [Node.js](https://nodejs.org/en/) (version 20.0.0 or higher) -- [yarn](https://yarnpkg.com/) (version 1.22.0 or higher) -- [make](https://www.gnu.org/software/make/) (version 3.81 or higher) - -## Instructions - -1. **Clone the Repository:** - -```bash -git clone https://github.com/janhq/jan -cd jan -git checkout -b DESIRED_BRANCH -``` - -2. **Install Dependencies** - -```bash -yarn install -``` - -3. **Run Development and Use Jan Desktop** - -```bash -make dev -``` - -This command starts the development server and opens the Jan Desktop app. - -## For Production Build - -```bash -# Do steps 1 and 2 in the previous section -# Build the app -make build -``` - -This will build the app MacOS (M1/M2/M3) for production (with code signing already done) and place the result in `/electron/dist` folder. - -## Troubleshooting - -If you run into any issues due to a broken build, please check the [Stuck on a Broken Build](../../troubleshooting/stuck-on-broken-build) guide. diff --git a/docs/docs/developer/01-overview/README.md b/docs/docs/developer/01-overview/README.md deleted file mode 100644 index 7bc3524de7..0000000000 --- a/docs/docs/developer/01-overview/README.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Overview -slug: /developer -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -The following docs are aimed at developers who want to build extensions on top of the Jan Framework. - -:::tip -If you are interested to **contribute to the framework's Core SDK itself**, like adding new drivers, runtimes, and infrastructure level support, please refer to [framework docs](/developer/framework) instead. -::: - -## Extensions - -Jan an **extensible framework** (like VSCode or Obsidian) that lets you build, customize and run AI applications everywhere, with an emphasis on local first. - -Extensions are automatically available across Mac, Windows, Linux Desktops. - -Extensions can also be made available in local API server-mode, which can be deployed on any VM. - -### Building Extensions - -This framework is packaged and regularly published as an SDK through [npm](https://www.npmjs.com/org/janhq) and [pip](https://pypi.org/). - -The framework provides built-in support for the following: - -- Native OS integrations with Electron and Chromium -- Native server integrations with Nodejs -- Native mobile integrations with Capacitor (coming soon) - -:::tip -Build once, deploy everywhere -::: - -## Jan in Action - -The [Jan Desktop client](https://github.com/janhq/jan/releases) is built with Jan SDK. This means you can customize any part of the application from the branding to the features, and truly make it your own. - -[Gif: show desktop & server side by side] diff --git a/docs/docs/developer/02-build-assistant/01-your-first-assistant.md b/docs/docs/developer/02-build-assistant/01-your-first-assistant.md deleted file mode 100644 index 16b80fc5e4..0000000000 --- a/docs/docs/developer/02-build-assistant/01-your-first-assistant.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Your First Assistant -slug: /developer/build-assistant/your-first-assistant/ -description: A quick start on how to build an assistant. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - quick start, - build assistant, - ] ---- - -:::caution -This is currently under development. -::: - diff --git a/docs/docs/developer/02-build-assistant/02-assistant-anatomy.md b/docs/docs/developer/02-build-assistant/02-assistant-anatomy.md deleted file mode 100644 index e6951a05b2..0000000000 --- a/docs/docs/developer/02-build-assistant/02-assistant-anatomy.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Anatomy of an Assistant -slug: /developer/build-assistant/assistant-anatomy/ -description: An overview of assistant.json -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build assistant, - assistant anatomy, - ] ---- - -:::caution -This is currently under development. -::: diff --git a/docs/docs/developer/02-build-assistant/03-package-your-assistant.md b/docs/docs/developer/02-build-assistant/03-package-your-assistant.md deleted file mode 100644 index 12fa1510c7..0000000000 --- a/docs/docs/developer/02-build-assistant/03-package-your-assistant.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Package your Assistant -slug: /developer/build-assistant/package-your-assistant/ -description: Package your assistant for sharing and publishing. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - quick start, - build assistant, - ] ---- - -:::caution -This is currently under development. -::: diff --git a/docs/docs/developer/02-build-assistant/README.mdx b/docs/docs/developer/02-build-assistant/README.mdx deleted file mode 100644 index 29cf8b63dc..0000000000 --- a/docs/docs/developer/02-build-assistant/README.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Build an Assistant -slug: /developer/build-assistant -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build assistant, - ] ---- - -:::caution -This is currently under development. -::: - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/developer/03-build-engine/01-your-first-engine.md b/docs/docs/developer/03-build-engine/01-your-first-engine.md deleted file mode 100644 index 0670d63c45..0000000000 --- a/docs/docs/developer/03-build-engine/01-your-first-engine.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Your First Engine -slug: /developer/build-engine/your-first-engine/ -description: A quick start on how to build your first engine -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - quick start, - build engine, - ] ---- - -:::caution -This is currently under development. -::: - -A quickstart on how to integrate tensorrt llm \ No newline at end of file diff --git a/docs/docs/developer/03-build-engine/02-engine-anatomy.md b/docs/docs/developer/03-build-engine/02-engine-anatomy.md deleted file mode 100644 index 2f8c69a04f..0000000000 --- a/docs/docs/developer/03-build-engine/02-engine-anatomy.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Anatomy of an Engine -slug: /developer/build-engine/engine-anatomy -description: An overview of engine.json -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build engine, - engine anatomy, - ] ---- - -:::caution -This is currently under development. -::: \ No newline at end of file diff --git a/docs/docs/developer/03-build-engine/03-package-your-engine.md b/docs/docs/developer/03-build-engine/03-package-your-engine.md deleted file mode 100644 index 794e1abb2f..0000000000 --- a/docs/docs/developer/03-build-engine/03-package-your-engine.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Package your Engine -slug: /developer/build-engine/package-your-engine/ -description: Package your engine for sharing and publishing. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build engine, - engine anatomy, - ] ---- - -:::caution -This is currently under development. -::: diff --git a/docs/docs/developer/03-build-engine/README.mdx b/docs/docs/developer/03-build-engine/README.mdx deleted file mode 100644 index a2521ff544..0000000000 --- a/docs/docs/developer/03-build-engine/README.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Build an Inference Engine -slug: /developer/build-engine/ -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build assistant, - ] ---- - -:::caution -This is currently under development. -::: - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/developer/03-build-engine/asset/plugin.png b/docs/docs/developer/03-build-engine/asset/plugin.png deleted file mode 100644 index f5f032e0db..0000000000 Binary files a/docs/docs/developer/03-build-engine/asset/plugin.png and /dev/null differ diff --git a/docs/docs/developer/04-build-extension/01-your-first-extension.md b/docs/docs/developer/04-build-extension/01-your-first-extension.md deleted file mode 100644 index f89f340530..0000000000 --- a/docs/docs/developer/04-build-extension/01-your-first-extension.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Your First Extension -slug: /developer/build-extension/your-first-extension/ -description: A quick start on how to build your first extension -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - quick start, - build extension, - ] ---- - -:::caution -This is currently under development. -::: - -In this guide, we'll walk you through the process of building your first extension and integrating it into Jan. - -## Steps to Create Your First Extension - -To create your own extension, you can follow the steps below: - -1. Click the **Use this template** button at the top of the [extension-template repository](https://github.com/janhq/extension-template). -2. Select **Create a new repository**. -3. Choose an owner and name for your new repository. -4. Click **Create repository**. -5. Clone your new repository to your local machine. - -## Initial Setup - -After you have cloned the repository to your local machine or codespace, you will need to perform some initial setup steps before you can develop your extension. - -:::info - -You will need to have a reasonably modern version of [Node.js](https://nodejs.org) handy. If you are using a version manager like [`nodenv`](https://github.com/nodenv/nodenv) or [`nvm`](https://github.com/nvm-sh/nvm), you can run `nodenv install` in the root of your repository to install the version specified in -[`package.json`](https://github.com/janhq/extension-template/blob/main/package.json). Otherwise, 20.x or later should work! - -::: - -1. :hammer_and_wrench: Install the dependencies - -```bash -npm install -``` - -2. :building_construction: Package the TypeScript for distribution - -```bash -npm run bundle -``` - -3. :white_check_mark: Check your artifact - -There will be a `.tgz` file in your extension directory now. This is the file you will need to import into Jan. You can import this file into Jan by following the instructions in the [Import Extension](https://jan.ai/guides/using-extensions/import-extensions/) guide. - -## Update the Extension Metadata - -The [`package.json`](https://github.com/janhq/extension-template/blob/main/package.json) file defines metadata about your extension, such as extension name, main entry, description and version. - -When you copy this repository, update `package.json` with the name, and description for your extension. - -## Update the Extension Code - -The [`src/`](https://github.com/janhq/extension-template/tree/main/src) directory is the heart of your extension! This contains the source code that will be run when your extension extension functions are invoked. You can replace the contents of this directory with your own code. - -There are a few things to keep in mind when writing your extension code: - -- Most Jan Extension functions are processed asynchronously. - In `index.ts`, you will see that the extension function will return a `Promise`. - - ```typescript - import { core } from "@janhq/core"; - - function onStart(): Promise { - return core.invokePluginFunc(MODULE_PATH, "run", 0); - } - ``` - -For more information about the Jan Extension Core module, see the [documentation](https://github.com/janhq/jan/blob/main/core/README.md). - -Now, go ahead and start customizing your extension! Happy coding! \ No newline at end of file diff --git a/docs/docs/developer/04-build-extension/02-extension-anatomy.md b/docs/docs/developer/04-build-extension/02-extension-anatomy.md deleted file mode 100644 index 7c3cd19111..0000000000 --- a/docs/docs/developer/04-build-extension/02-extension-anatomy.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Anatomy of an Extension -slug: /developer/build-extension/extension-anatomy -description: An overview of extensions.json -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - extension anatomy, - ] ---- - -:::caution -This is currently under development. -::: diff --git a/docs/docs/developer/04-build-extension/03-package-your-extension.md b/docs/docs/developer/04-build-extension/03-package-your-extension.md deleted file mode 100644 index cf7ffc6ba3..0000000000 --- a/docs/docs/developer/04-build-extension/03-package-your-extension.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Package your Engine -slug: /developer/build-extension/package-your-extension/ -description: Package your extension for sharing and publishing. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - extension anatomy, - ] ---- - -:::caution -This is currently under development. -::: diff --git a/docs/docs/developer/04-build-extension/README.mdx b/docs/docs/developer/04-build-extension/README.mdx deleted file mode 100644 index a981281e72..0000000000 --- a/docs/docs/developer/04-build-extension/README.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Build an Extension -slug: /developer/build-extension/ -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -:::caution -This is currently under development. -::: - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/developer/05-framework/03-engineering/README.mdx b/docs/docs/developer/05-framework/03-engineering/README.mdx deleted file mode 100644 index c3337ab2ed..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/README.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Engineering Specs -slug: /developer/engineering -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - spec, - engineering, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - - -Talk about CoreSDK here diff --git a/docs/docs/developer/05-framework/03-engineering/assistants.md b/docs/docs/developer/05-framework/03-engineering/assistants.md deleted file mode 100644 index fa9c593abd..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/assistants.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: "Assistants" -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::caution - -This is currently under development. - -::: - -## Overview - -In Jan, assistants are `primary` entities with the following capabilities: - -- Assistants can use `models`, `tools`, handle and emit `events`, and invoke `custom code`. -- Users can create custom assistants with saved `model` settings and parameters. -- An [OpenAI Assistants API](https://platform.openai.com/docs/api-reference/assistants) compatible endpoint at `localhost:1337/v1/assistants`. -- Jan ships with a default assistant called "Jan" that lets you use all models. - -## Folder Structure - -```yaml -/jan - /models/ - /threads/ - /assistants - /jan # An assistant available to you by default - assistant.json # See below - /src # Assistants can invoke custom code - index.js # Entrypoint - process.js # For server processes (needs better name) - package.json # Import any npm libraries, e.g. Langchain, Llamaindex - /shakespeare # You can create custom assistants - assistant.json - /chicken_man -``` - -## `assistant.json` - -- Each `assistant` folder contains an `assistant.json` file, which is a representation of an assistant. -- `assistant.json` contains metadata and model parameter overrides -- There are no required fields. - -```js -{ - "id": "asst_abc123", // Defaults to foldername - "object": "assistant", // Always "assistant" - "version": 1, // Defaults to 1 - "created_at": 1698984975, - "name": "Math Tutor", // Defaults to foldername - "description": null, - "avatar": "https://pic.png", - "models": [ // Defaults to "*" all models - { ...model_0 } - ], - "instructions": "Be concise", // A system prompt for the assistant - "events": [], // Defaults to "*" - "metadata": {}, // Defaults to {} - // "tools": [], // Coming soon - // "file_ids": [], // Coming soon - // "memory/threads": true, // Coming soon -} -``` - -### Examples - -Here's what the default Jan assistant's json file looks like: - -```js -{ - "name": "Jan", - "description": "A global assistant that lets you chat with all downloaded models", - "avatar": "https://jan.ai/img/logo.svg", - // All other properties are not explicitly declared and use the default values (see above). -} -``` - -## Events - -Jan assistants can respond to event hooks. More powerfully, Jan assistants can register their own pubsub, so other entities, like other assistants can respond to your assistants events. - -## Custom Code - -Jan assistants are Turing complete. This means you can write freeform code, and use any dependencies, when customizing your assistant. - -```typescript -import {events, models} from "@janhq/core" -import {retrieval} from "@hiro/best-rag-ever" // This can be featured on Jan hub but install from npm - -events.on('assistant:asst_abc123', (event) => async { - const result = models[0].process(event) - events.emit("assistant:asst_abc123", result) - resolve() -}) -``` - -## Tools - -> Coming soon - -## Functions - -> Coming soon - -## Files - -> Coming soon diff --git a/docs/docs/developer/05-framework/03-engineering/chats.md b/docs/docs/developer/05-framework/03-engineering/chats.md deleted file mode 100644 index eb0ae287a9..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/chats.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Chats -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::caution - -This is currently under development. - -::: - -## Overview - -In Jan, `chats` are LLM responses in the form of OpenAI compatible `chat completion objects`. - -- Models take a list of messages and return a model-generated response as output. -- An [OpenAI Chat API](https://platform.openai.com/docs/api-reference/chat) compatible endpoint at `localhost:1337/v1/chats`. - -## Folder Structure - -Chats are stateless, thus are not saved in `janroot`. Any content and relevant metadata from calling this endpoint is extracted and persisted through [Messages](/docs/engineering/messages). - -## API Reference - -Jan's Chat API is compatible with [OpenAI's Chat API](https://platform.openai.com/docs/api-reference/chat). - -See [Jan Chat API](https://jan.ai/api-reference/#tag/Chat-Completion) - -## Implementation - -Under the hood, the `/chat` endpoint simply reroutes an existing endpoint from [Nitro server](https://nitro.jan.ai). Nitro is a lightweight & local inference server, written in C++ and embedded into the Jan app. See [Nitro documentation](https://nitro.jan.ai/docs). diff --git a/docs/docs/developer/05-framework/03-engineering/engine.md b/docs/docs/developer/05-framework/03-engineering/engine.md deleted file mode 100644 index 653576f1b3..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/engine.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Engine ---- - -:::caution - -Currently Under Development - -::: - -## Overview - -In the Jan application, engines serve as primary entities with the following capabilities: - -- Engine will be installed through `inference-extensions`. -- Models will depend on engines to do [inference](https://en.wikipedia.org/wiki/Inference_engine). -- Engine configuration and required metadata will be stored in a json file. - -## Folder Structure - -- Default parameters for engines are stored in JSON files located in the `/engines` folder. -- These parameter files are named uniquely with `engine_id`. -- Engines are referenced directly using `engine_id` in the `model.json` file. - -```yaml -jan/ -engines/ -nitro.json -openai.json -..... -``` - -## Engine Default Parameter Files - -- Each inference engine requires default parameters to function in cases where user-provided parameters are absent. -- These parameters are stored in JSON files, structured as simple key-value pairs. - -### Example - -Here is an example of an engine file for `engine_id` `nitro`: - -```js -{ - "ctx_len": 512, - "ngl": 100, - "embedding": false, - "n_parallel": 1, - "cont_batching": false - "prompt_template": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant" -} -``` - -For detailed engine parameters, refer to: [Nitro's Model Settings](https://nitro.jan.ai/features/load-unload#table-of-parameters) - -## Adding an Engine - -- Engine parameter files are automatically generated upon installing an `inference-extension` in the Jan application. - ---- diff --git a/docs/docs/developer/05-framework/03-engineering/files.md b/docs/docs/developer/05-framework/03-engineering/files.md deleted file mode 100644 index 59ca27ec9d..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/files.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Files" -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::warning - -Draft Specification: functionality has not been implemented yet. - -::: - -Files can be used by `threads`, `assistants` and `fine-tuning` - -> Equivalent to: https://platform.openai.com/docs/api-reference/files - -## Files Object - -- Equivalent to: https://platform.openai.com/docs/api-reference/files -- Note: OAI's struct doesn't seem very well designed -- `files.json` - -```js -{ - // Public properties (OpenAI Compatible: https://platform.openai.com/docs/api-reference/files/object) - "id": "file-BK7bzQj3FfZFXr7DbL6xJwfo", - "object": "file", - "bytes": 120000, - "created_at": 1677610602, - "filename": "salesOverview.pdf", - "purpose": "assistants" -} -``` - -## File API - -### List Files - -> OpenAI Equivalent: https://platform.openai.com/docs/api-reference/files/list - -### Upload file - -> OpenAI Equivalent: https://platform.openai.com/docs/api-reference/files/create - -### Delete file - -> OpenAI Equivalent: https://platform.openai.com/docs/api-reference/files/delete - -### Retrieve file - -> OpenAI Equivalent: https://platform.openai.com/docs/api-reference/files/retrieve - -### Retrieve file content - -> OpenAI Equivalent: https://platform.openai.com/docs/api-reference/files/retrieve-contents - -## Files Filesystem - -- Files can exist in several parts of Jan's filesystem -- TODO: are files hard copied into these folders? Or do we define a `files.json` and only record the relative filepath? - -```sh -/files # root `/files` for finetuning, etc -/assistants - /jan - /files # assistant-specific files -/threads - /jan-12938912 - /files # thread-specific files -``` diff --git a/docs/docs/developer/05-framework/03-engineering/fine-tuning.md b/docs/docs/developer/05-framework/03-engineering/fine-tuning.md deleted file mode 100644 index 53ca2b2066..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/fine-tuning.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Fine-tuning" -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -Todo: @hiro diff --git a/docs/docs/developer/05-framework/03-engineering/messages.md b/docs/docs/developer/05-framework/03-engineering/messages.md deleted file mode 100644 index 8f24970028..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/messages.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Messages -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::caution - -This is currently under development. - -::: - -## Overview - -`Messages` capture a conversation's content. This can include the content from LLM responses and other metadata from [chat completions](/specs/chats). - -- Users and assistants can send multimedia messages. -- An [OpenAI Message API](https://platform.openai.com/docs/api-reference/messages) compatible endpoint at `localhost:1337/v1/messages`. - -## Folder Structure - -Messages are saved in the `/threads/{thread_id}` folder in `messages.jsonl` files - -```yaml -jan/ - threads/ - assistant_name_unix_timestamp/ - thread.json # Thread metadata - messages.jsonl # Messages are stored in jsonl format -``` - -## `message.jsonl` - -Individual messages are saved in `jsonl` format for indexing purposes. - -```js -{...message_2} -{...message_1} -{...message_0} -``` - -### Examples - -Here's a standard example `message` sent from a user. - -```js -"id": "0", // Sequential or UUID -"object": "thread.message", // Defaults to "thread.message" -"created_at": 1698983503, -"thread_id": "thread_asdf", // Defaults to parent thread -"assistant_id": "jan", // Defaults to parent thread -"role": "user", // From either "user" or "assistant" -"content": [ - { - "type": "text", - "text": { - "value": "Hi!?", - "annotations": [] - } - } -], -"metadata": {}, // Defaults to {} -``` - -Here's an example `message` response from an assistant. - -```js -"id": "0", // Sequential or UUID -"object": "thread.message", // Defaults to "thread.message" -"created_at": 1698983503, -"thread_id": "thread_asdf", // Defaults to parent thread -"assistant_id": "jan", // Defaults to parent thread -"role": "assistant", // From either "user" or "assistant" -"content": [ // Usually from Chat Completion obj - { - "type": "text", - "text": { - "value": "Hi! How can I help you today?", - "annotations": [] - } - } -], -"metadata": {}, // Defaults to {} -"usage": {} // Save chat completion properties https://platform.openai.com/docs/api-reference/chat/object -``` - -## API Reference - -Jan's `messages` API is compatible with [OpenAI's Messages API](https://platform.openai.com/docs/api-reference/messages), with additional methods for managing messages locally. - -See [Jan Messages API](https://jan.ai/api-reference#tag/Messages). diff --git a/docs/docs/developer/05-framework/03-engineering/models.md b/docs/docs/developer/05-framework/03-engineering/models.md deleted file mode 100644 index 4e4c3c6041..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/models.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Models -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::caution - -This is currently under development. - -::: - -## Overview - -In Jan, models are primary entities with the following capabilities: - -- Users can import, configure, and run models locally. -- An [OpenAI Model API](https://platform.openai.com/docs/api-reference/models) compatible endpoint at `localhost:1337/v1/models`. -- Supported model formats: `ggufv3`, and more. - -## Folder Structure - -- Models are stored in the `/models` folder. -- Models are organized by individual folders, each containing the binaries and configurations needed to run the model. This makes for easy packaging and sharing. -- Model folder names are unique and used as `model_id` default values. - -```yaml -jan/ # Jan root folder - models/ - llama2-70b-q4_k_m/ # Example: standard GGUF model - model.json - model-binary-1.gguf - mistral-7b-gguf-q3_k_l/ # Example: quantizations are separate folders - model.json - mistral-7b-q3-K-L.gguf - mistral-7b-gguf-q8_k_m/ # Example: quantizations are separate folders - model.json - mistral-7b-q8_k_k.gguf - llava-ggml-Q5/ # Example: model with many partitions - model.json - mmprj.bin - model_q5.ggml -``` - -## `model.json` - -- Each `model` folder contains a `model.json` file, which is a representation of a model. -- `model.json` contains metadata and default parameters used to run a model. - -### Example - -Here's a standard example `model.json` for a GGUF model. - -```js -{ - "id": "zephyr-7b", // Defaults to foldername - "object": "model", // Defaults to "model" - "sources": [ - { - "filename": "zephyr-7b-beta.Q4_K_M.gguf", - "url": "https://huggingface.co/TheBloke/zephyr-7B-beta-GGUF/blob/main/zephyr-7b-beta.Q4_K_M.gguf" - } - ], - "name": "Zephyr 7B", // Defaults to foldername - "owned_by": "you", // Defaults to "you" - "version": "1", // Defaults to 1 - "created": 1231231, // Defaults to file creation time - "description": null, // Defaults to null - "format": "ggufv3", // Defaults to "ggufv3" - "engine": "nitro", // engine_id specified in jan/engine folder - "engine_parameters": { - // Engine parameters inside model.json can override - "ctx_len": 4096, // the value inside the base engine.json - "ngl": 100, - "embedding": true, - "n_parallel": 4 - }, - "model_parameters": { - // Models are called parameters - "stream": true, - "max_tokens": 4096, - "stop": [""], // This usually can be left blank, only used with specific need from model author - "frequency_penalty": 0, - "presence_penalty": 0, - "temperature": 0.7, - "top_p": 0.95 - }, - "metadata": {}, // Defaults to {} - "assets": [ - // Defaults to current dir - "file://.../zephyr-7b-q4_k_m.bin" - ] -} -``` - -The engine parameters in the example can be found at: [Nitro's model settings](https://nitro.jan.ai/features/load-unload#table-of-parameters) - -The model parameters in the example can be found at: [Nitro's model parameters](https://nitro.jan.ai/api-reference#tag/Chat-Completion) - -## API Reference - -Jan's Model API is compatible with [OpenAI's Models API](https://platform.openai.com/docs/api-reference/models), with additional methods for managing and running models locally. - -See [Jan Models API](https://jan.ai/api-reference#tag/Models). - -## Importing Models - -:::caution - -This is currently under development. - -::: - -You can import a model by dragging the model binary or gguf file into the `/models` folder. - -- Jan automatically generates a corresponding `model.json` file based on the binary filename. -- Jan automatically organizes it into its own `/models/model-id` folder. -- Jan automatically populates the `model.json` properties, which you can subsequently modify. diff --git a/docs/docs/developer/05-framework/03-engineering/prompts.md b/docs/docs/developer/05-framework/03-engineering/prompts.md deleted file mode 100644 index 22fc578af4..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/prompts.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Prompts -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -- [ ] /prompts folder -- [ ] How to add to prompts -- [ ] Assistants can have suggested Prompts diff --git a/docs/docs/developer/05-framework/03-engineering/threads.md b/docs/docs/developer/05-framework/03-engineering/threads.md deleted file mode 100644 index a1cd2b4df3..0000000000 --- a/docs/docs/developer/05-framework/03-engineering/threads.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Threads -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -:::caution - -This is currently under development. - -::: - -## Overview - -`Threads` are conversations between an `assistant` and the user: - -- Users can tweak `model` params and `assistant` behavior within each thread. -- Users can import and export threads. -- An [OpenAI Thread API](https://platform.openai.com/docs/api-reference/threads) compatible endpoint at `localhost:1337/v1/threads`. - -## Folder Structure - -- Threads are saved in the `/threads` folder. -- Threads are organized by folders, one for each thread, and can be easily zipped, exported, and cleared. -- Thread folders follow the naming: `assistant_id` + `thread_created_at`. -- Thread folders also contain `messages.jsonl` files. See [messages](/docs/engineering/messages). - -```yaml -janroot/ - threads/ - assistant_name_unix_timestamp/ # Thread `ID` - thread.json -``` - -## `thread.json` - -- Each `thread` folder contains a `thread.json` file, which is a representation of a thread. -- `thread.json` contains metadata and model parameter overrides. -- There are no required fields. - -### Example - -Here's a standard example `thread.json` for a conversation between the user and the default Jan assistant. - -```js -"id": "thread_....", // Defaults to foldername -"object": "thread", // Defaults to "thread" -"title": "funny physics joke", // Defaults to "" -"assistants": [ - { - "assistant_id": "jan", // Defaults to "jan" - "model": { // Defaults to the currently active model (can be changed before thread is begun) - "id": "...", - "settings": {}, // Defaults to and overrides assistant.json's "settings" (and if none, then model.json "settings") - "parameters": {}, // Defaults to and overrides assistant.json's "parameters" (and if none, then model.json "parameters") - } - }, -], -"created": 1231231 // Defaults to file creation time -"metadata": {}, // Defaults to {} -``` - -## API Reference - -Jan's Threads API is compatible with [OpenAI's Threads API](https://platform.openai.com/docs/api-reference/threads), with additional methods for managing threads locally. - -See [Jan Threads API](https://jan.ai/api-reference#tag/Threads). diff --git a/docs/docs/developer/05-framework/03-product/README.mdx b/docs/docs/developer/05-framework/03-product/README.mdx deleted file mode 100644 index ca3a13b3ae..0000000000 --- a/docs/docs/developer/05-framework/03-product/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Product Specs -slug: /developer/product -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - spec, - product, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/developer/05-framework/03-product/chat.md b/docs/docs/developer/05-framework/03-product/chat.md deleted file mode 100644 index b0dcce2d6a..0000000000 --- a/docs/docs/developer/05-framework/03-product/chat.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Chat -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Overview - -A home screen for users to chat with [assistants](/docs/engineering/assistants) via conversation [threads](/docs/engineering/threads). - -![alt text](../img/chat-screen.png) - -## User Stories - - - -- Users can chat with `Jan` the default assistant -- Users can customize chat settings like model parameters via both the GUI & `thread.json` diff --git a/docs/docs/developer/05-framework/03-product/hub.md b/docs/docs/developer/05-framework/03-product/hub.md deleted file mode 100644 index 7171f83780..0000000000 --- a/docs/docs/developer/05-framework/03-product/hub.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Hub -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Overview - -The Hub is like a store for everything, where users can discover and download models, assistants, and more. - -![alt text](../img/hub-screen.png) - -## User Stories - - - -- Users can discover recommended models (Jan ships with a few preconfigured `model.json` files) -- Users can download models suitable for their devices, e.g. compatible with their RAM -- Users can download models via a HuggingFace URL (coming soon) diff --git a/docs/docs/developer/05-framework/03-product/jan.md b/docs/docs/developer/05-framework/03-product/jan.md deleted file mode 100644 index 9e8973360e..0000000000 --- a/docs/docs/developer/05-framework/03-product/jan.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Jan (The Default Assistant) -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -Jan ships with a default assistant "Jan" that lets users chat with any open source model out-of-the-box. - -This assistant is defined in `/jan`. It is a generic assistant to illustrate power of Jan. In the future, it will support additional features e.g. multi-assistant conversations - -- Your Assistant "Jan" lets you pick any model that is in the root /models folder -- Right panel: pick LLM model and set model parameters -- Jan’s threads will be at root level -- `model.json` will reflect model chosen for that session -- Be able to “add” other assistants in the future -- Jan’s files will be at thread level -- Jan is not a persistent memory assistant diff --git a/docs/docs/developer/05-framework/03-product/settings.md b/docs/docs/developer/05-framework/03-product/settings.md deleted file mode 100644 index 514139a009..0000000000 --- a/docs/docs/developer/05-framework/03-product/settings.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Settings -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Overview - -A settings page for users to add extensions, configure model settings, change app appearance, add keyboard shortcuts, and a plethora of other personalizations. - -![alt text](../img/settings-screen.png) - -## User Stories - - - -### General Settings - -- Users can customize `port` number -- Users can customize `janroot` folder location - -### Extensions Settings - -- Users can add, delete, and configure extensions - -### Model Settings - -- Users can configure default model parameters and settings -- Users can delete models - -### Appearance - -- Users can set color themes and dark/light modes diff --git a/docs/docs/developer/05-framework/03-product/system-monitor.md b/docs/docs/developer/05-framework/03-product/system-monitor.md deleted file mode 100644 index 761d9a7bf7..0000000000 --- a/docs/docs/developer/05-framework/03-product/system-monitor.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: System Monitor -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Overview - -An activity screen to monitor system health and running models. - -![alt text](../img/system-screen.png) - -## User Stories - - - -- Users can see disk and ram utilization -- Users can start and stop models based on system health diff --git a/docs/docs/developer/05-framework/README.md b/docs/docs/developer/05-framework/README.md deleted file mode 100644 index 770f5713ad..0000000000 --- a/docs/docs/developer/05-framework/README.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: Framework -slug: /developer/framework/ -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -The following low-level docs are aimed at core contributors. - -We cover how to contribute to the core framework (aka the `Core SDK`). - -:::tip -If you are interested to **build on top of the framework**, like creating assistants or adding app level extensions, please refer to [developer docs](/developer) instead. -::: - -## Jan Framework - -At its core, Jan is a **cross-platform, local-first and AI native framework** that can be used to build anything. - -### Extensions - -Ultimately, we aim for a `VSCode` or `Obsidian` like SDK that allows **devs to build and customize complex and ethical AI applications for any use case**, in less than 30 minutes. - -In fact, the current Jan [Desktop Client](https://jan.ai/) is actually just a specific set of extensions & integrations built on top of this framework. - -![Desktop is Extensions](./assets/ExtensionCallouts.png) - -:::tip -We encourage devs to fork, customize, and open source your improvements for the greater community. -::: - -### Cross Platform - -Jan follows [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) to the best of our ability. Though leaky abstractions remain (we're a fast moving, open source codebase), we do our best to build an SDK that allows devs to **build once, deploy everywhere.** - -![Clean Architecture](./assets/CleanArchitecture.jpg) - -**Supported Runtimes:** - -- `Node Native Runtime`, good for server side apps -- `Electron Chromium`, good for Desktop Native apps -- `Capacitor`, good for Mobile apps (planned, not built yet) -- `Python Runtime`, good for MLOps workflows (planned, not built yet) - -**Supported OS & Architectures:** - -- Mac Intel & Silicon -- Windows -- Linux (through AppImage) -- Nvidia GPUs -- AMD ROCm (coming soon) - -Read more: - -- [Code Entrypoint](https://github.com/janhq/jan/tree/main/core) -- [Dependency Inversion](https://en.wikipedia.org/wiki/Dependency_inversion_principle) - -### Local First - -Jan's data persistence happens on the user's local filesystem. - -We implemented abstractions on top of `fs` and other core modules in an opinionated way, s.t. user data is saved in a folder-based framework that lets users easily package, export, and manage their data. - -Future endeavors on this front include cross device syncing, multi user experience, and more. - -Long term, we want to integrate with folks working on [CRDTs](https://www.inkandswitch.com/local-first/), e.g. [Socket Runtime](https://www.theregister.com/2023/04/11/socket_runtime/) to deeply enable local-first software. - -Read more: - -- [Folder-based wrappers entrypoint](https://github.com/janhq/jan/blob/main/core/src/fs.ts) -- [Piping Node modules across infrastructures](https://github.com/janhq/jan/tree/main/core/src/node) - -:::caution -Our local first approach at the moment needs a lot of work. Please don't hesitate to refactor as you make your way through the codebase. -::: - -### AI Native - -We believe all software applications can be natively supercharged with AI primitives and embedded AI servers. - -Including: - -- OpenAI Compatible AI [types](https://github.com/janhq/jan/tree/main/core/src/types) and [core extensions](https://github.com/janhq/jan/tree/main/core/src/extensions) to support common functionality like making an inference call. -- Multiple inference engines through [extensions, integrations & wrappers](https://github.com/janhq/jan/tree/main/extensions/inference-nitro-extension) _On this, we'd like to appreciate the folks at [llamacpp](https://github.com/ggerganov/llama.cpp) and [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) for. To which we'll continue to make commits & fixes back upstream._ - -- [Code Entrypoint](https://github.com/janhq/jan/tree/main/core/src/api) - -## Fun Project Ideas - -Beyond the current Jan client and UX, the Core SDK can be used to build many other AI-powered and privacy preserving applications. - -- `Game engine`: For AI enabled character games, procedural generation games -- `Health app`: For a personal healthcare app that improves habits -- Got ideas? Make a PR into this docs page! - -If you are interested to tackle these issues, or have suggestions for integrations and other OSS tools we can use, please hit us up in [Discord](https://discord.gg/5rQ2zTv3be). - -:::caution -Our open source license is copy left, which means we encourage forks to stay open source, and allow core contributors to merge things upstream. -::: diff --git a/docs/docs/developer/05-framework/assets/CleanArchitecture.jpg b/docs/docs/developer/05-framework/assets/CleanArchitecture.jpg deleted file mode 100644 index 3cd44fb58d..0000000000 Binary files a/docs/docs/developer/05-framework/assets/CleanArchitecture.jpg and /dev/null differ diff --git a/docs/docs/developer/05-framework/assets/ExtensionCallouts.png b/docs/docs/developer/05-framework/assets/ExtensionCallouts.png deleted file mode 100644 index 13cb3b41a2..0000000000 Binary files a/docs/docs/developer/05-framework/assets/ExtensionCallouts.png and /dev/null differ diff --git a/docs/docs/developer/05-framework/image.png b/docs/docs/developer/05-framework/image.png deleted file mode 100644 index d399dfa995..0000000000 Binary files a/docs/docs/developer/05-framework/image.png and /dev/null differ diff --git a/docs/docs/developer/05-framework/img/chat-screen.png b/docs/docs/developer/05-framework/img/chat-screen.png deleted file mode 100644 index 53416c43ba..0000000000 Binary files a/docs/docs/developer/05-framework/img/chat-screen.png and /dev/null differ diff --git a/docs/docs/developer/05-framework/img/hub-screen.png b/docs/docs/developer/05-framework/img/hub-screen.png deleted file mode 100644 index 66cb90e43e..0000000000 Binary files a/docs/docs/developer/05-framework/img/hub-screen.png and /dev/null differ diff --git a/docs/docs/developer/05-framework/img/settings-screen.png b/docs/docs/developer/05-framework/img/settings-screen.png deleted file mode 100644 index 41080744e8..0000000000 Binary files a/docs/docs/developer/05-framework/img/settings-screen.png and /dev/null differ diff --git a/docs/docs/developer/05-framework/img/system-screen.png b/docs/docs/developer/05-framework/img/system-screen.png deleted file mode 100644 index eeca16d6ad..0000000000 Binary files a/docs/docs/developer/05-framework/img/system-screen.png and /dev/null differ diff --git a/docs/docs/ecosystem/ecosystem.md b/docs/docs/ecosystem/ecosystem.md deleted file mode 100644 index 38f939b3a1..0000000000 --- a/docs/docs/ecosystem/ecosystem.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Ecosystem ---- \ No newline at end of file diff --git a/docs/docs/events/hcmc-oct23.md b/docs/docs/events/hcmc-oct23.md deleted file mode 100644 index 73898efcdf..0000000000 --- a/docs/docs/events/hcmc-oct23.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Jan's AI Hacker House (Ho Chi Minh City)" -description: "24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai" -slug: /events/hcmc-oct23 -image: /img/hcmc-launch-party.png ---- - -![](/img/hcmc-launch-party.png) - -🎉 Join us at our Friday Launch Party for an evening of AI talks from other builders! [(RSVP here)](https://jan-launch-party.eventbrite.sg/) 🎉 - -## Ho Chi Minh City - -[Jan's Hacker House](https://jan.ai) is a 4-day event where we host an open AI Hacker House and invite the local AI community to join us. There is fast wifi, free snacks, drinks and pizza. - -We also host a series of talks, workshops and social events at night. We usually start off the week with a "Intro to LLMs" that targets local university students, and then progress to more in-depth technical and research areas. - -Jan is a fully remote team. We use the money we save from not having an office, to hold Hack Weeks where we meet in a city, eat pizza and work to ship major releases. - -### Date & Time - -- 24-27 October 2023 - -### Location - -- Districts 1 & 3, Ho Chi Minh City -- Exact location in Evenbrite (see below) - -## Agenda - -To help us manage RSVPs, please use the Eventbrite links below to RSVP for each event. - -| Day | Eventbrite Link | Signups | -| ------------ | ------------------------------------- | ---------------------------------------------------- | -| Mon (23 Oct) | Jan Team & Partners Dinner | Invite-only | -| Thu (26 Oct) | HCMC Startups & VC Night | Invite-only | -| Fri (27 Oct) | Jan Launch Party + Build your own LLM | [RSVP here](https://jan-launch-party.eventbrite.sg/) | - -### OKRs - -| **Objective** | Jan v1.0 should be bug-free and run on Windows, Max, Linux | -| ------------- | ---------------------------------------------------------- | -| Key Result | Polished UI with "Create Bot" w/ saved prompts | -| Key Result | Documentation of Jan Codebase for Plugin Developers | -| Key Result | Roadmap for 4Q 2023 | -| Key Result | _Stretch Goal:_ Core Process API for Plugins | - -## Photos - -![](/img/hcmc-launch-party.png) - -🎉 Join us at our Friday Launch Party for an evening of AI talks from other builders! [(RSVP here)](https://jan-launch-party.eventbrite.sg/) 🎉 diff --git a/docs/docs/events/nvidia-llm-day-nov-23.md b/docs/docs/events/nvidia-llm-day-nov-23.md deleted file mode 100644 index d467dcb6ed..0000000000 --- a/docs/docs/events/nvidia-llm-day-nov-23.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Nov 23: Nvidia GenAI Day" -description: Nvidia's LLM Day ---- - -![](/img/nvidia-llm-day-header.png) - -## Nvidia GenAI Innovation Day - -Jan will be at Nvidia's GenAI Innovation Day in Nov '23, focusing on Enterprise use-cases of LLMs. - -### Location - -- JW Marriott Hanoi Hotel -- 8:30am November 8th 2023 -- Registration: [https://gmcgroup.com.vn/nvidia-genai-event/](https://gmcgroup.com.vn/nvidia-genai-event/) - -### Programme - -![](/img/nvidia-llm-day.png) - diff --git a/docs/docs/features/agents-framework.md b/docs/docs/features/agents-framework.md deleted file mode 100644 index 2ba3128545..0000000000 --- a/docs/docs/features/agents-framework.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Agents Framework ---- \ No newline at end of file diff --git a/docs/docs/features/api-server.md b/docs/docs/features/api-server.md deleted file mode 100644 index 36f697cb2c..0000000000 --- a/docs/docs/features/api-server.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: API Server ---- \ No newline at end of file diff --git a/docs/docs/features/data-security.md b/docs/docs/features/data-security.md deleted file mode 100644 index c5c1e6c7c2..0000000000 --- a/docs/docs/features/data-security.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Data Security ---- \ No newline at end of file diff --git a/docs/docs/features/extensions-framework.md b/docs/docs/features/extensions-framework.md deleted file mode 100644 index 6c173ee535..0000000000 --- a/docs/docs/features/extensions-framework.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Extensions Framework ---- \ No newline at end of file diff --git a/docs/docs/features/features.md b/docs/docs/features/features.md deleted file mode 100644 index d68e9a7ade..0000000000 --- a/docs/docs/features/features.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Features ---- \ No newline at end of file diff --git a/docs/docs/features/local.md b/docs/docs/features/local.md deleted file mode 100644 index 6c80c03786..0000000000 --- a/docs/docs/features/local.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Local & Self-Hosted AI ---- \ No newline at end of file diff --git a/docs/docs/features/remote.md b/docs/docs/features/remote.md deleted file mode 100644 index 4145a0f0a7..0000000000 --- a/docs/docs/features/remote.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: OpenAI API Support (and others) ---- \ No newline at end of file diff --git a/docs/docs/guides/advanced-settings/_category_.json b/docs/docs/guides/advanced-settings/_category_.json deleted file mode 100644 index 316758344e..0000000000 --- a/docs/docs/guides/advanced-settings/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Advanced Settings", - "position": 11, - "link": { - "type": "doc", - "id": "guides/advanced-settings/advanced-settings" - } -} \ No newline at end of file diff --git a/docs/docs/guides/advanced-settings/advanced-settings.mdx b/docs/docs/guides/advanced-settings/advanced-settings.mdx deleted file mode 100644 index ae3244cda5..0000000000 --- a/docs/docs/guides/advanced-settings/advanced-settings.mdx +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: Advanced Settings -sidebar_position: 1 -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - advanced-settings, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -This guide will show you how to use the advanced settings in Jan. - -## Access the Advanced Settings -To access the Jan's advanced settings, follow the steps below: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. You can configure the following settings: - -| Feature | Description | -|---------------------------|-----------------------------------------------------------------------------------------------------------------------| -| **Keyboard Shortcuts** | Keyboard shortcuts speed up your workflow. For a quick overview of useful keyboard shortcuts, refer to the list [below](advanced-settings.mdx#keyboard-shortcuts). | -| **Experimental Mode** | Enables experimental features that may be unstable. | -| **GPU Acceleration** | Enables the boosting of your model performance by using your GPU devices for acceleration. | -| **Jan Data Folder** | Location for messages, model configurations, and user data. Changeable to a different location. | -| **HTTPS Proxy & Ignore SSL Certificate** | Use a proxy server for internet connections and ignore SSL certificates for self-signed certificates. Please check out the guide on how to set up your own HTTPS proxy server [here](http-proxy.mdx). | -| **Clear Logs** | Removes all logs from the Jan application. | -| **Reset To Factory Default** | Resets the application to its original state, deleting all data including model customizations and conversation history. | - - - -## Keyboard Shortcuts - -Here are some of the keyboard shortcuts that you can use in Jan. - - - -| Combination | Description | -| --------------- | -------------------------------------------------- | -| `⌘ E` | Show list your models | -| `⌘ K` | Show list navigation pages | -| `⌘ B` | Toggle collapsible left panel | -| `⌘ ,` | Navigate to setting page | -| `Enter` | Send a message | -| `Shift + Enter` | Insert new line in input box | -| `Arrow Up` | Navigate to the previous option (within the search dialog) | -| `Arrow Down` | Navigate to the next option (within the search dialog) | - - - -| Combination | Description | -| --------------- | -------------------------------------------------- | -| `Ctrl E` | Show list your models | -| `Ctrl K` | Show list navigation pages | -| `Ctrl B` | Toggle collapsible left panel | -| `Ctrl ,` | Navigate to setting page | -| `Enter` | Send a message | -| `Shift + Enter` | Insert new line in input box | -| `Arrow Up` | Navigate to the previous option (within the search dialog) | -| `Arrow Down` | Navigate to the next option (within the search dialog) | - - - -| Combination | Description | -| --------------- | -------------------------------------------------- | -| `Ctrl E` | Show list your models | -| `Ctrl K` | Show list navigation pages | -| `Ctrl B` | Toggle collapsible left panel | -| `Ctrl ,` | Navigate to setting page | -| `Enter` | Send a message | -| `Shift + Enter` | Insert new line in input box | -| `Arrow Up` | Navigate to the previous option (within the search dialog) | -| `Arrow Down` | Navigate to the next option (within the search dialog) | - - - -:::note -The keyboard shortcuts are customizable. -::: - -## Enable the Experimental Mode -To try out new fetures that are still in testing phase, follow the steps below: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Experimental Mode** click the slider to enable. - -## Enable the GPU Acceleration -To enhance your model performance, follow the steps below: - -:::warning -Ensure that you have read the [troubleshooting guide](/docs/guides/common-error/not-using-gpu.mdx) here for further assistance. -::: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **GPU Acceleration** click the slider to enable. - -## Access the Jan Data Folder -To access the folder where messages, model configurations and user data are stored, follow the steps below: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Jan Data Folder** click the **folder icon (📂)** to access the data or the **pencil icon (✏ī¸)** to change the folder where you keep your data. - -## Enable the HTTPS Proxy -To enable the HTTPS Proxy feature, follow the steps below: -1. Make sure to set up your HTTPS Proxy. Check out this [guide](http-proxy.mdx) for instructions on how to do it. -2. Navigate to the main dashboard. -3. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -4. Under the **Settings screen**, click the **Advanced Settings**. -5. On the **HTTPS Proxy** click the slider to enable. -6. Input your domain in the blank field. - -## Ignore SSL Certificate -To Allow self-signed or unverified certificates, follow the steps below: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Ignore SSL Certificates** click the slider to enable. - -## Clear Logs -To clear all logs on your Jan app, follow the steps below: -:::warning -This feature clears all the data in your **Jan Data Folder**. -::: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Clear Logs** click the the **Clear** button. - -## Reset To Factory Default -To reset the Jan app to its original state, follow the steps below: -:::danger[Remember!] -This irreversible action is only recommended if the application is corrupted. -::: -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Reset To Factory Default** click the the **Reset** button. \ No newline at end of file diff --git a/docs/docs/guides/advanced-settings/http-proxy.mdx b/docs/docs/guides/advanced-settings/http-proxy.mdx deleted file mode 100644 index 7b2de339cb..0000000000 --- a/docs/docs/guides/advanced-settings/http-proxy.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: HTTPS Proxy -sidebar_position: 2 -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - advanced-settings, - https-proxy, - ] ---- - - -## Why HTTPS Proxy? - -HTTPS Proxy encrypts data between your browser and the internet, making it hard for outsiders to intercept or read. It also helps you to maintain your privacy and security while being able to bypass regional restrictions on internet. - -:::note - -- When configuring Jan using an HTTPS proxy, the speed of the downloading model may be affected due to the encryption and decryption process. It also depends on the networking of the cloud service provider. -- HTTPS Proxy does not affect the remote model usage. - -::: - -## Setting Up Your Own HTTPS Proxy Server -This guide provides a simple overview of setting up an HTTPS proxy server using **Squid**, a widely used open-source proxy software. - -:::note -Other software options are also available depending on your requirements. -::: - -### Step 1: Choosing a Server -1. Firstly, you need to choose a server to host your proxy server. -:::note -We recommend using a well-known cloud provider service like: -- Amazon AWS -- Google Cloud -- Microsoft Azure -- Digital Ocean -::: - -2. Ensure that your server has a public IP address and is accessible from the internet. - -### Step 2: Installing Squid -Instal **Squid** using the following command: -```bash -sudo apt-get update -sudo apt-get install squid -``` - -### Step 3: Configure Squid for HTTPS - -To enable HTTPS, you will need to configure Squid with SSL support. - -1. Squid requires an SSL certificate to be able to handle HTTPS traffic. You can generate a self-signed certificate or obtain one from a Certificate Authority (CA). For a self-signed certificate, you can use OpenSSL: - -```bash -openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout squid-proxy.pem -out squid-proxy.pem -``` - -2. Edit the Squid configuration file `/etc/squid/squid.conf` to include the path to your SSL certificate and enable the HTTPS port: - -```bash -http_port 3128 ssl-bump cert=/path/to/your/squid-proxy.pem -ssl_bump server-first all -ssl_bump bump all -``` - -3. To intercept HTTPS traffic, Squid uses a process called SSL Bumping. This process allows Squid to decrypt and re-encrypt HTTPS traffic. To enable SSL Bumping, ensure the `ssl_bump` directives are configured correctly in your `squid.conf` file. - -### Step 4 (Optional): Configure ACLs and Authentication - -1. You can define rules to control who can access your proxy. This is done by editing the squid.conf file and defining ACLs: - -```bash -acl allowed_ips src "/etc/squid/allowed_ips.txt" -http_access allow allowed_ips -``` - -2. If you want to add an authentication layer, Squid supports several authentication schemes. Basic authentication setup might look like this: - -```bash -auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords -acl authenticated proxy_auth REQUIRED -http_access allow authenticated -``` - -### Step 5: Restart and Test Your Proxy - -1. After configuring, restart Squid to apply the changes: - -```bash -sudo systemctl restart squid -``` - -2. To test, configure your browser or another client to use the proxy server with its IP address and port (default is 3128). -3. Check if you can access the internet through your proxy. - -:::tip - -Tips for Secure Your Proxy: -- **Firewall rules**: Ensure that only intended users or IP addresses can connect to your proxy server. This can be achieved by setting up appropriate firewall rules. -- **Regular updates**: Keep your server and proxy software updated to ensure that you are protected against known vulnerabilities. -- **Monitoring and logging**: Monitor your proxy server for unusual activity and enable logging to keep track of the traffic passing through your proxy. - -::: - -## Setting Up Jan to Use Your HTTPS Proxy - -Once you have your HTTPS proxy server set up, you can configure Jan to use it. -1. Navigate to `Settings` > `Advanced Settings` and specify the HTTPS proxy (proxy auto-configuration and SOCKS not supported). -2. You can turn on the feature `Ignore SSL Certificates` if you are using a self-signed certificate. This feature allows self-signed or unverified certificates. \ No newline at end of file diff --git a/docs/docs/guides/assets/jan-ai-download.png b/docs/docs/guides/assets/jan-ai-download.png deleted file mode 100644 index b175e65f8f..0000000000 Binary files a/docs/docs/guides/assets/jan-ai-download.png and /dev/null differ diff --git a/docs/docs/guides/assets/jan-ai-quickstart.png b/docs/docs/guides/assets/jan-ai-quickstart.png deleted file mode 100644 index 8f410ccee8..0000000000 Binary files a/docs/docs/guides/assets/jan-ai-quickstart.png and /dev/null differ diff --git a/docs/docs/guides/assets/quick.png b/docs/docs/guides/assets/quick.png deleted file mode 100644 index f8ad257e8b..0000000000 Binary files a/docs/docs/guides/assets/quick.png and /dev/null differ diff --git a/docs/docs/guides/best-practices.mdx b/docs/docs/guides/best-practices.mdx deleted file mode 100644 index 9dabef8dc4..0000000000 --- a/docs/docs/guides/best-practices.mdx +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Best Practices -sidebar_position: 3 -description: Comprehensive set of best practices. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - acknowledgements, - third-party libraries, - ] ---- - -Jan is a versatile platform offering solutions for integrating AI locally across various platforms. This guide outlines best practices for developers, analysts, and AI enthusiasts to enhance their experience with Jan when adding AI locally to their computers. Implementing these practices will optimize the performance of AI models. - -## Follow the Quickstart Guide -The [quickstart guide](quickstart.mdx) is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan.ai quickly. Even, if you are inexperienced in AI, the quickstart can offer valuable insights and tips to help you get started quickly. - -## Setting up the Right Models -Jan offers a range of pre-configured AI models that are tailored to different tasks and industries. You should identify which on that aligns with your objectives. There are factors to be considered: -- Capabilities -- Accuracy -- Processing Speed - -:::note -- Some of these factors also depend on your hardware, please see Hardware Requirement. -- Choosing the right model is important to achieve the best performance. -::: - -## Setting up Jan -Ensure that you familiarize yourself with the Jan application. Jan offers advanced settings that you can adjust. These settings may influence how your AI behaves locally. Please see the [Advanced Settings](./advanced-settings/advanced-settings.mdx) article for a complete list of Jan's configurations and instructions on how to configure them. - -## Integrations -One of Jan's key features is its ability to integrate with many systems. Whether you are incorporating Jan.ai with any open-source LLM provider or other tools, it is important to understand the integration capabilities and limitations. - -## Mastering the Prompt Engineering -Prompt engineering is an important aspect when dealing with AI models to generate the desired outputs. Mastering this skill can significantly enhance the performance and the responses of the AI. Below are some tips that you can do for prompt engineering: -- Ask the model to adopt a persona -- Be specific and details get a more specific answers -- Provide examples or preference text or context at the beginning -- Use a clear and concise language -- Use certain keywords and phrases diff --git a/docs/docs/guides/common-error/README.mdx b/docs/docs/guides/common-error/README.mdx deleted file mode 100644 index f819eb72ae..0000000000 --- a/docs/docs/guides/common-error/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Common Error -slug: /guides/common-error/ -sidebar_position: 8 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/common-error/assets/janOpenAppDirectory.gif b/docs/docs/guides/common-error/assets/janOpenAppDirectory.gif deleted file mode 100644 index c71d1a9c2a..0000000000 Binary files a/docs/docs/guides/common-error/assets/janOpenAppDirectory.gif and /dev/null differ diff --git a/docs/docs/guides/common-error/assets/janSwitchCPUtoGPU.gif b/docs/docs/guides/common-error/assets/janSwitchCPUtoGPU.gif deleted file mode 100644 index 41cc099d43..0000000000 Binary files a/docs/docs/guides/common-error/assets/janSwitchCPUtoGPU.gif and /dev/null differ diff --git a/docs/docs/guides/common-error/broken-build.mdx b/docs/docs/guides/common-error/broken-build.mdx deleted file mode 100644 index 0e41d0b4d8..0000000000 --- a/docs/docs/guides/common-error/broken-build.mdx +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Broken Build -sidebar_position: 1 -hide_table_of_contents: true -description: A step-by-step guide to fix errors that prevent the project from compiling or running successfully. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -This guide provides you steps to troubleshoot and to resolve the issue where your Jan is stuck in a broken build after installation. - - - - ### 1. Uninstall Jan - - Delete Jan from your `/Applications` folder. - - ### 2. Delete Application Data, Cache, and User Data - - ```zsh - # Step 1: Delete the application data - ## Newer versions - rm -rf ~/Library/Application\ Support/jan - ## Versions 0.2.0 and older - rm -rf ~/Library/Application\ Support/jan-electron - - # Step 2: Clear application cache - rm -rf ~/Library/Caches/jan* - - # Step 3: Remove all user data - rm -rf ~/jan - ``` - - ### 3. Additional Step for Versions Before 0.4.2 - - If you are using a version before `0.4.2`, you need to run the following commands: - - ```zsh - ps aux | grep nitro - # Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID - kill -9 - ``` - - ### 4. Download the Latest Version - - Download the latest version of Jan from our [homepage](https://jan.ai/). - - - - ### 1. Uninstall Jan - - To uninstall Jan on Windows, use the [Windows Control Panel](https://support.microsoft.com/en-us/windows/uninstall-or-remove-apps-and-programs-in-windows-4b55f974-2cc6-2d2b-d092-5905080eaf98). - - ### 2. Delete Application Data, Cache, and User Data - - ```sh - # You can delete the `/Jan` directory in Windows's AppData Directory by visiting the following path `%APPDATA%\Jan` - cd C:\Users\YOUR_USERNAME\AppData\Roaming - rm -r ./Jan - ``` - - ### 3. Additional Step for Versions Before 0.4.2 - - If you are using a version before `0.4.2`, you need to run the following commands: - - ```sh - # Find the process ID (PID) of the nitro process by filtering the list by process name - tasklist | findstr "nitro" - # Once you have the PID of the process you want to terminate, run the `taskkill` - taskkill /F /PID - ``` - - ### 4. Download the Latest Version - - Download the latest version of Jan from our [homepage](https://jan.ai/). - - - - - ### 1. Uninstall Jan - - - - - To uninstall Jan, you should use your package manager's uninstall or remove option. - - This will return your system to its state before the installation of Jan. - - This method can also reset all settings if you are experiencing any issues with Jan. - - - - - To uninstall Jan, run the following command.MDXContent - - ```sh - sudo apt-get remove jan - # where jan is the name of Jan package - ``` - - This will return your system to its state before the installation of Jan. - - This method can also be used to reset all settings if you are experiencing any issues with Jan. - - - - - To uninstall Jan, you can uninstall Jan by deleting the `.AppImage` file. - - If you wish to completely remove all user data associated with Jan after uninstallation, you can delete the user data at `~/jan`. - - This method can also reset all settings if you are experiencing any issues with Jan. - - - - - ### 2. Delete Application Data, Cache, and User Data - - ```sh - # You can delete the user data folders located at the following `~/jan` - rm -rf ~/jan - ``` - - ### 3. Additional Step for Versions Before 0.4.2 - - If you are using a version before `0.4.2`, you need to run the following commands: - - ```zsh - ps aux | grep nitro - # Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID - kill -9 - ``` - - ### 4. Download the Latest Version - - Download the latest version of Jan from our [homepage](https://jan.ai/). - - - -By following these steps, you can cleanly uninstall and reinstall Jan, ensuring a smooth and error-free experience with the latest version. - -:::note - -Before reinstalling Jan, ensure it's completely removed from all shared spaces if it's installed on multiple user accounts on your device. - -::: diff --git a/docs/docs/guides/common-error/not-using-gpu.mdx b/docs/docs/guides/common-error/not-using-gpu.mdx deleted file mode 100644 index a7dd788f8b..0000000000 --- a/docs/docs/guides/common-error/not-using-gpu.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Troubleshooting NVIDIA GPU -sidebar_position: 2 -description: A step-by-step guide to enable Jan to properly leverage NVIDIA GPU resources, avoiding performance issues. -keywords: [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - convZ - ersational AI, - no-subscription fee, - large language model, - troubleshooting, - using GPU, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - -This guide provides steps to troubleshoot and resolve issues when the Jan app does not utilize the NVIDIA GPU on Windows and Linux systems. - -### 1. Ensure GPU Mode Requirements - - - - - #### NVIDIA Driver - - - Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher. - - Use the following command to verify the installation: - - ```sh - nvidia-smi - ``` - - #### CUDA Toolkit - - - Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver. - - Use the following command to verify the installation: - - ```sh - nvcc --version - ``` - - - - - #### NVIDIA Driver - - - Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher. - - Use the following command to verify the installation: - - ```sh - nvidia-smi - ``` - - #### CUDA Toolkit - - - Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver. - - Use the following command to verify the installation: - - ```sh - nvcc --version - ``` - #### Linux Specifics - - - Ensure that `gcc-11`, `g++-11`, `cpp-11`, or higher is installed. - - See [instructions](https://gcc.gnu.org/projects/cxx-status.html#cxx17) for Ubuntu installation. - - - **Post-Installation Actions**: Add CUDA libraries to `LD_LIBRARY_PATH`. - - Follow the [Post-installation Actions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions) instructions. - - - - -### 2. Switch to GPU Mode - -Jan defaults to CPU mode but automatically switches to GPU mode if your system supports it, selecting the GPU with the highest VRAM. Check this setting in `Settings` > `Advanced Settings`. - -#### Troubleshooting Tips - -If GPU mode isn't enabled by default: - -1. Confirm that you have installed an NVIDIA driver supporting CUDA 11.7 or higher. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver). -2. Ensure compatibility of the CUDA toolkit with your NVIDIA driver. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver). -3. For Linux, add CUDA's `.so` libraries to the `LD_LIBRARY_PATH`. For Windows, ensure that CUDA's `.dll` libraries are in the PATH. Refer to [Windows setup](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#environment-setup). - -### 3. Check GPU Settings - -1. Navigate to `Settings` > `Advanced Settings` > `Jan Data Folder` to access GPU settings. -2. Open the `settings.json` file in the `settings` folder. Here's an example: - -```json title="~/jan/settings/settings.json" -{ - "notify": true, - "run_mode": "gpu", - "nvidia_driver": { - "exist": true, - "version": "531.18" - }, - "cuda": { - "exist": true, - "version": "12" - }, - "gpus": [ - { - "id": "0", - "vram": "12282" - }, - { - "id": "1", - "vram": "6144" - }, - { - "id": "2", - "vram": "6144" - } - ], - "gpu_highest_vram": "0" -} -``` -### 4. Restart Jan -Restart Jan application to make sure it works. - -#### Troubleshooting Tips - - - Ensure `nvidia_driver` and `cuda` fields indicate installed software. - - If `gpus` field is empty or lacks your GPU, check NVIDIA driver and CUDA toolkit installations. - - For further assistance, share the `settings.json` file. - -### Tested Configurations - -- **Windows 11 Pro 64-bit:** - - GPU: NVIDIA GeForce RTX 4070ti - - CUDA: 12.2 - - NVIDIA driver: 531.18 (Bare metal) - -- **Ubuntu 22.04 LTS:** - - GPU: NVIDIA GeForce RTX 4070ti - - CUDA: 12.2 - - NVIDIA driver: 545 (Bare metal) - -- **Ubuntu 20.04 LTS:** - - GPU: NVIDIA GeForce GTX 1660ti - - CUDA: 12.1 - - NVIDIA driver: 535 (Proxmox VM passthrough GPU) - -- **Ubuntu 18.04 LTS:** - - GPU: NVIDIA GeForce GTX 1660ti - - CUDA: 12.1 - - NVIDIA driver: 535 (Proxmox VM passthrough GPU) - -### Common Issues and Solutions - -1. If the issue persists, try installing the [Nightly version](https://jan.ai/install/nightly/). -2. Ensure your (V)RAM is accessible; some users with virtual RAM may require additional configuration. -3. Seek assistance in [Jan Discord](https://discord.gg/mY69SZaMaC). \ No newline at end of file diff --git a/docs/docs/guides/error-codes/README.mdx b/docs/docs/guides/error-codes/README.mdx deleted file mode 100644 index 39fb37ac9b..0000000000 --- a/docs/docs/guides/error-codes/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Error Codes -slug: /guides/error-codes/ -sidebar_position: 7 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/error-codes/how-to-get-error-logs.mdx b/docs/docs/guides/error-codes/how-to-get-error-logs.mdx deleted file mode 100644 index 045468e33c..0000000000 --- a/docs/docs/guides/error-codes/how-to-get-error-logs.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: How to Get Error Logs -sidebar_position: 5 -description: A step-by-step guide to get the Jan app error logs. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - permission denied, - ] ---- - -To get the error logs of your Jan application, follow the steps below: -### Jan Application -1. Navigate to the main dashboard. -2. Click the **gear icon (⚙ī¸)** on the bottom left of your screen. -3. Under the **Settings screen**, click the **Advanced Settings**. -4. On the **Jan Data Folder** click the **folder icon (📂)** to access the data. -5. Click the **logs** folder. - -### Jan UI -1. Open your Unix or Linux terminal. -2. Use the following commands to get the recent 50 lines of log files: -```bash -tail -n 50 ~/jan/logs/app.log - -``` - -### Jan API Server -1. Open your Unix or Linux terminal. -2. Use the following commands to get the recent 50 lines of log files: -```bash -tail -n 50 ~/jan/logs/server.log - -``` -:::warning -Ensure to redact any private or sensitive information when sharing logs or error details. -::: - -:::note -If you have any questions or are looking for support, please don't hesitate to contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ) or create a new issue in our [GitHub repository](https://github.com/janhq/jan/issues/new/choose). -::: \ No newline at end of file diff --git a/docs/docs/guides/error-codes/no-assistant-available.mdx b/docs/docs/guides/error-codes/no-assistant-available.mdx deleted file mode 100644 index 31d9a75e92..0000000000 --- a/docs/docs/guides/error-codes/no-assistant-available.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: No Assistant Available -sidebar_position: 7 -description: Troubleshooting steps to resolve issues no assistant available. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - no assistant available, - ] ---- - -When you encounter the following error message: -``` -No assistant available. -``` - -This issue arises when a new, unintentional file appears in `/jan/assistants`. - -It can be resolved through the following steps: - -1. Access the `/jan/assistants` directory using a file manager or terminal. - -2. Within `/jan/assistants`, this directory should only contain a folder named `jan`. Identify any file outside of this folder and remove it. \ No newline at end of file diff --git a/docs/docs/guides/error-codes/permission-denied.mdx b/docs/docs/guides/error-codes/permission-denied.mdx deleted file mode 100644 index 1d41d3b031..0000000000 --- a/docs/docs/guides/error-codes/permission-denied.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Permission Denied -sidebar_position: 1 -description: A step-by-step guide to fix the issue when access is denied due to insufficient permissions. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - permission denied, - ] ---- - -When running Jan, you might encounter the following error message: - -``` -Uncaught (in promise) Error: Error invoking layout-480796bff433a3a3.js:538 remote method 'installExtension': -Error Package /Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-assistant-extension-1.0.0.tgz does not contain a valid manifest: -Error EACCES: permission denied, mkdtemp '/Users/username/.npm/_cacache/tmp/ueCMn4' -``` - -This error mainly caused by permission problem during installation. To resolve this issue, follow these steps: - -1. Open your terminal. - -2. Execute the following command to change ownership of the `~/.npm` directory to the current user: - -```sh -sudo chown -R $(whoami) ~/.npm -``` -:::note -This command ensures that the necessary permissions are granted for Jan installation, resolving the encountered error. -::: \ No newline at end of file diff --git a/docs/docs/guides/error-codes/something-amiss.mdx b/docs/docs/guides/error-codes/something-amiss.mdx deleted file mode 100644 index 0975754e3a..0000000000 --- a/docs/docs/guides/error-codes/something-amiss.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Something's Amiss -sidebar_position: 4 -description: A step-by-step guide to resolve an unspecified or general error. ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - -When you start a chat with a model and encounter with a Something's Amiss error, here's how to resolve it: -1. Ensure your OS is up to date. -2. Choose a model smaller than 80% of your hardware's V/RAM. For example, on an 8GB machine, opt for models smaller than 6GB. -3. Install the latest [Nightly release](https://jan.ai/install/nightly/) or [clear the application cache](https://jan.ai/troubleshooting/stuck-on-broken-build/) when reinstalling Jan. -4. Confirm your V/RAM accessibility, particularly if using virtual RAM. -5. Nvidia GPU users should download [CUDA](https://developer.nvidia.com/cuda-downloads). -6. Linux users, ensure your system meets the requirements of gcc 11, g++ 11, cpp 11, or higher. Refer to this [link](https://jan.ai/guides/troubleshooting/gpu-not-used/#specific-requirements-for-linux) for details. -7. You might use the wrong port when you [check the app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) and encounter the Bind address failed at 127.0.0.1:3928 error. To check the port status, try use the `netstat` command, like the following: - - - - ```sh - netstat -an | grep 3928 - ``` - - - ```sh - netstat -ano | find "3928" - tasklist /fi "PID eq 3928" - ``` - - - ```sh - netstat -anpe | grep "3928" - ``` - - - -:::note - -`Netstat` displays the contents of various network-related data structures for active connections - -::: - -:::tip - -Jan uses the following ports: - -- Nitro: `3928` -- Jan API Server: `1337` -- Jan Documentation: `3001` - -::: \ No newline at end of file diff --git a/docs/docs/guides/error-codes/stuck-on-loading-model.mdx b/docs/docs/guides/error-codes/stuck-on-loading-model.mdx deleted file mode 100644 index 86a16b5fc9..0000000000 --- a/docs/docs/guides/error-codes/stuck-on-loading-model.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Stuck on Loading Model -sidebar_position: 8 -description: Troubleshooting steps to resolve issues related to the loading model. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - stuck on loading model, - ] ---- - -## 1. Issue: Model Loading Stuck Due To Missing Windows Management Instrumentation Command-line (WMIC) - -Encountering a stuck-on-loading model issue in Jan is caused by errors related to the `Windows Management Instrumentation Command-line (WMIC)` path not being included in the system's PATH environment variable. - -Error message: -``` -index.js:47 Uncaught (in promise) Error: Error invoking remote method 'invokeExtensionFunc': Error: Command failed: WMIC CPU Get NumberOfCores -``` - -It can be resolved through the following steps: - -1. **Open System Properties:** - - Press `Windows key + R`. - - Type `sysdm.cpl` and press `Enter`. - -2. **Access Environment Variables:** - - Go to the "Advanced" tab. - - Click the "Environment Variables" button. - -3. **Edit System PATH:** - - Under "System Variables" find and select `Path`. - - Click "Edit." - -4. **Add WMIC Path:** - - Click "New" and enter `C:\Windows\System32\Wbem`. - -5. **Save Changes:** - - Click "OK" to close and save your changes. - -6. **Verify Installation:** - - Restart any command prompts or terminals. - - Run `where wmic` to verify. Expected output: `C:\Windows\System32\wbem\WMIC.exe`. - - -## 2. Issue: Model Loading Stuck Due To CPU Without AVX - -Encountering an issue with models stuck on loading in Jan can be due to the use of older generation CPUs that do not support Advanced Vector Extensions (AVX). - -To check if your CPU supports AVX, visit the following link: [CPUs with AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX) - -:::warning [Please use this with caution] -As a workaround, consider using an [emulator](https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html) to simulate AVX support. -::: \ No newline at end of file diff --git a/docs/docs/guides/error-codes/thread-disappreance.mdx b/docs/docs/guides/error-codes/thread-disappreance.mdx deleted file mode 100644 index 06235df560..0000000000 --- a/docs/docs/guides/error-codes/thread-disappreance.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Thread Disappearance -sidebar_position: 6 -description: Troubleshooting steps to resolve issues threads suddenly disappearance. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - thread disappearance, - ] ---- - -When you encounter the error of old threads suddenly disappear. This can happen when a new, unintentional file is created in `/jan/threads`. - -It can be resolved through the following steps: - -1. Go to `/jan/threads`. - -2. The `/jan/threads` directory contains many folders named with the prefix `jan_` followed by an ID (e.g., `jan_123`). Look for any file not conforming to this naming pattern and remove it. \ No newline at end of file diff --git a/docs/docs/guides/error-codes/undefined-issue.mdx b/docs/docs/guides/error-codes/undefined-issue.mdx deleted file mode 100644 index 223f686d18..0000000000 --- a/docs/docs/guides/error-codes/undefined-issue.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Undefined Issue -sidebar_position: 3 -description: A step-by-step guide to resolve errors when a variable or object is not defined. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - undefined issue, - ] ---- - -Encountering an `undefined issue` in Jan is caused by errors related to the Nitro tool or other internal processes. It can be resolved through the following steps: - -1. Clearing the Jan folder and then reopen the application to determine if the problem persists -2. Manually run the nitro tool located at `~/jan/extensions/@janhq/inference-nitro-extensions/dist/bin/(your-os)/nitro` to check for error messages. -3. Address any nitro error messages that are identified and reassess the persistence of the issue. -4. Reopen Jan to determine if the problem has been resolved after addressing any identified errors. -5. If the issue persists, please share the [app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) via [Jan Discord](https://discord.gg/mY69SZaMaC) for further assistance and troubleshooting. \ No newline at end of file diff --git a/docs/docs/guides/error-codes/unexpected-token.mdx b/docs/docs/guides/error-codes/unexpected-token.mdx deleted file mode 100644 index 4a00e447d6..0000000000 --- a/docs/docs/guides/error-codes/unexpected-token.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Unexpected Token -sidebar_position: 2 -description: A step-by-step guide to correct syntax errors caused by invalid JSON in the code. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - troubleshooting, - unexpected token, - ] ---- - -Encountering the `Unexpected token` error when initiating a chat with OpenAI models mainly caused by either your OpenAI key or where you access your OpenAI from. This issue can be solved through the following steps: - -1. Obtain an OpenAI API key from [OpenAI's developer platform](https://platform.openai.com/) and integrate it into your application. - -2. Trying a VPN could potentially solve the issue, especially if it's related to region locking for accessing OpenAI services. By connecting through a VPN, you may bypass such restrictions and successfully initiate chats with OpenAI models. \ No newline at end of file diff --git a/docs/docs/guides/extensions/README.mdx b/docs/docs/guides/extensions/README.mdx deleted file mode 100644 index fd8185b145..0000000000 --- a/docs/docs/guides/extensions/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Extensions -slug: /guides/extensions/ -sidebar_position: 5 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/extensions/assets/extension-setup.png b/docs/docs/guides/extensions/assets/extension-setup.png deleted file mode 100644 index 4f9ea63ee9..0000000000 Binary files a/docs/docs/guides/extensions/assets/extension-setup.png and /dev/null differ diff --git a/docs/docs/guides/extensions/assets/jan-ai-extensions.png b/docs/docs/guides/extensions/assets/jan-ai-extensions.png deleted file mode 100644 index 9d0a1dc6a2..0000000000 Binary files a/docs/docs/guides/extensions/assets/jan-ai-extensions.png and /dev/null differ diff --git a/docs/docs/guides/extensions/import-ext.mdx b/docs/docs/guides/extensions/import-ext.mdx deleted file mode 100644 index 28fa9045dd..0000000000 --- a/docs/docs/guides/extensions/import-ext.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Import Extensions -sidebar_position: 2 -description: A step-by-step guide on how to import extensions. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - import extensions, - ] ---- - - -Besides default extensions, you can import extensions into Jan by following the steps below: - -1. Navigate to **Settings** > **Extensions** > Click Select under **Manual Installation**. -2. Then, the ~/jan/extensions/extensions.json file will be updated automatically. - -:::caution - -You need to prepare the extension file in .tgz format to install the **non-default** extension. - -::: - - -:::info[Assistance and Support] - -If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/extensions/setup-ext.mdx b/docs/docs/guides/extensions/setup-ext.mdx deleted file mode 100644 index c080283e94..0000000000 --- a/docs/docs/guides/extensions/setup-ext.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: Extension Setup -sidebar_position: 1 -description: Dive into the available extensions and configure them. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - extension settings, - ] ---- - - -The current Jan Desktop Client has some default extensions built on top of this framework to enhance the user experience. In this guide, we will show you the list of default extensions and how to configure extension settings. - -## Default Extensions - -You can find the default extensions in the `Settings` > `Extensions`. - -## List of Default Extensions - -| Extension Name | Version | Description | Source Code Link | -| -------------- | ------- | ----------- | ---------------- | -| Assistant Extension | `v1.0.0` | This extension enables assistants, including Jan, a default assistant that can call all downloaded models. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/assistant-extension ) | -| Conversational Extension | `v1.0.0` | This extension enables conversations and state persistence via your filesystem. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/conversational-extension) | -| Inference Nitro Extension | `v1.0.0` | This extension embeds Nitro, a lightweight (3 MB) inference engine in C++. See nitro.jan.ai. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/inference-nitro-extension) | -| Inference Openai Extension | `v1.0.0` | This extension enables OpenAI chat completion API calls. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/inference-openai-extension) | -| Inference Triton Trt Llm Extension | `v1.0.0` | This extension enables Nvidia's TensorRT-LLM as an inference engine option. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/inference-triton-trtllm-extension) | -| Model Extension | `v1.0.22` | Model Management Extension provides model exploration and seamless downloads. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/model-extension) | -| Monitoring Extension | `v1.0.9` | This extension offers system health and OS-level data. | [Link to Source](https://github.com/janhq/jan/tree/dev/extensions/monitoring-extension) | - -## Configure Extension Settings -To configure extension settings: -1. Navigate to the `~/jan/extensions`. -2. Open the `extensions.json` file -3. Edit the file with options including: - -| Option | Description | -|-----------------|-------------------------------------------------| -| `_active` | Enable/disable the extension. | -| `listeners` | Default listener setting. | -| `origin` | Extension file path. | -| `installOptions`| Version and metadata configuration. | -| `name` | Extension name. | -| `version` | Extension version. | -| `main` | Main file path. | -| `description` | Extension description. | -| `url` | Extension URL. | - - -```json title="~/jan/extensions/extensions.json" -{ - "@janhq/assistant-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-assistant-extension-1.0.0.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/assistant-extension", - "version": "1.0.0", - "main": "dist/index.js", - "description": "This extension enables assistants, including Jan, a default assistant that can call all downloaded models", - "url": "extension://@janhq/assistant-extension/dist/index.js" - }, - "@janhq/conversational-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-conversational-extension-1.0.0.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/conversational-extension", - "version": "1.0.0", - "main": "dist/index.js", - "description": "This extension enables conversations and state persistence via your filesystem", - "url": "extension://@janhq/conversational-extension/dist/index.js" - }, - "@janhq/inference-nitro-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-inference-nitro-extension-1.0.0.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/inference-nitro-extension", - "version": "1.0.0", - "main": "dist/index.js", - "description": "This extension embeds Nitro, a lightweight (3mb) inference engine written in C++. See nitro.jan.ai", - "url": "extension://@janhq/inference-nitro-extension/dist/index.js" - }, - "@janhq/inference-openai-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-inference-openai-extension-1.0.0.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/inference-openai-extension", - "version": "1.0.0", - "main": "dist/index.js", - "description": "This extension enables OpenAI chat completion API calls", - "url": "extension://@janhq/inference-openai-extension/dist/index.js" - }, - "@janhq/inference-triton-trt-llm-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-inference-triton-trt-llm-extension-1.0.0.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/inference-triton-trt-llm-extension", - "version": "1.0.0", - "main": "dist/index.js", - "description": "This extension enables Nvidia's TensorRT-LLM as an inference engine option", - "url": "extension://@janhq/inference-triton-trt-llm-extension/dist/index.js" - }, - "@janhq/model-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-model-extension-1.0.22.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/model-extension", - "version": "1.0.22", - "main": "dist/index.js", - "description": "Model Management Extension provides model exploration and seamless downloads", - "url": "extension://@janhq/model-extension/dist/index.js" - }, - "@janhq/monitoring-extension": { - "_active": true, - "listeners": {}, - "origin": "/Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-monitoring-extension-1.0.9.tgz", - "installOptions": { "version": false, "fullMetadata": false }, - "name": "@janhq/monitoring-extension", - "version": "1.0.9", - "main": "dist/index.js", - "description": "This extension provides system health and OS level data", - "url": "extension://@janhq/monitoring-extension/dist/index.js" - } -} -``` - -:::info[Assistance and Support] - -If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/faq.mdx b/docs/docs/guides/faq.mdx deleted file mode 100644 index 7e3d7d13d9..0000000000 --- a/docs/docs/guides/faq.mdx +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: FAQs -slug: /guides/faqs -sidebar_position: 12 -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - acknowledgements, - third-party libraries, - ] ---- - -## General Issues - -- **Why can't I download models like Pandora 11B Q4 and Solar Instruct 10.7B Q4?** - - These models might have been removed or taken down. Please check the [Pre-configured Models](models-list.mdx) for the latest updates on model availability. - -- **Why does Jan display "Apologies, something's amiss" when I try to run it?** - - This issue may arise if you're using an older Intel chip that does not fully support AVX instructions required for running AI models. Upgrading your hardware may resolve this issue. - -- **How can I use Jan in Russia?** - - To use Jan in Russia, a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) is recommended to bypass any regional restrictions that might be in place. - -- **I'm experiencing an error on startup from Nitro. What should I do?** - - If you encounter errors with Nitro, try switching the path to use the Nitro executable for the version 12-0. This adjustment can help resolve path-related issues. - -## Download and Installation Issues - -- **What does "Error occurred: Unexpected token" mean?** - - This error usually indicates a problem with your internet connection or that your access to certain resources is being blocked. Using a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) can help avoid these issues by providing a secure and unrestricted internet connection. - -- **Why aren't my downloads working?** - - If you're having trouble downloading directly through Jan, you might want to download the model separately and then import it into Jan. Detailed instructions are available on [here](install.mdx). - -- **Jan AI doesn't open on my Mac with an Intel processor. What can I do?** - - Granting the `.npm` folder permission for the user can resolve issues related to permissions on macOS, especially for users with Intel processors. - -- **What should I do if the model download freezes?** - - If a model download freezes, consider importing the models manually. You can find more detailed guidance on how to do this at [Manual Import](./models/import-models.mdx) article. - -- **I received a message that the model GPT4 does not exist or I do not have access. What should I do?** - - This message typically means you need to top up your credit with OpenAI or check your access permissions for the model. - -- **I can't download models from "Explore the Hub." What's the solution?** - - Uninstalling Jan, clearing the cache, and reinstalling it following the guide provided [here](install.mdx) may help. Also, consider downloading the `.gguf` model via a browser as an alternative approach. - -## Technical Issues and Solutions - -- **How can I download models with a socks5 proxy or import a local model file?** - - Nightly builds of Jan offer support for downloading models with socks5 proxies or importing local model files. - -- **My device shows no GPU usage and lacks a Settings folder. What should I do?** - - Using the nightly builds of Jan can address issues related to GPU usage and the absence of a Settings folder, as these builds contain the latest fixes and features. - -- **Why does Jan display a toast message saying a model is loaded when it is not actually loaded?** - - This issue can be resolved by downloading the `.gguf` file from Hugging Face and replacing it in the model folder. This ensures the correct model is loaded. - -- **How to enable CORS when running Nitro?** - - By default, CORS (Cross-Origin Resource Sharing) is disabled when running Nitro. Enabling CORS can be necessary for certain operations and integrations. Check the official documentation for instructions on how to enable CORS if your workflow requires it. - -## Compatibility and Support - -- **How to use GPU AMD for Jan?** - - Jan now supports AMD GPUs through Vulkan. This enhancement allows users with AMD graphics cards to leverage GPU acceleration, improving performance for AI model computations. - -- **Is Jan available for Android or iOS?** - - Jan is primarily focused on the Desktop app and does not currently offer mobile apps for Android or iOS. The development team is concentrating on enhancing the desktop experience. - -## Development and Features - -- **Does Jan support Safetensors?** - - At the moment, Jan only supports GGUF. However, there are plans to support `.safetensor` files in the future. - -- **I hope to customize the installation path of each model. Is that possible?** - - Yes you can customize the installation path. Please see [here](https://jan.ai/guides/advanced-settings/#access-the-jan-data-folder) for more information. - -## Troubleshooting - -- **What should I do if there's high CPU usage while Jan is idle?** - - If you notice high CPU usage while Jan is idle, consider using the nightly builds of Jan - -- **What does the error "Failed to fetch" mean, and how can I fix it?** - - The "Failed to fetch" error typically occurs due to network issues or restrictions. Using the nightly builds of Jan may help overcome these issues by providing updated fixes and features. - -- **What should I do if "Failed to fetch" occurs using MacBook Pro with Intel HD Graphics 4000 1536 MB?** - - Ensure that the model size is less than 90% of your available VRAM and that the VRAM is accessible to the app. Managing the resources effectively can help mitigate this issue. - -:::info[Assistance and Support] - -If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/install.mdx b/docs/docs/guides/install.mdx deleted file mode 100644 index c8dcbf3c31..0000000000 --- a/docs/docs/guides/install.mdx +++ /dev/null @@ -1,284 +0,0 @@ ---- -title: Installation -sidebar_position: 2 -hide_table_of_contents: true -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import installImageURL from './assets/jan-ai-download.png'; - - - - - ### Pre-requisites - Before installing Jan, ensure : - - You have a Mac with an Apple Silicon Processor. - - Homebrew and its dependencies are installed. (for Installing Jan with Homebrew Package) - - Your macOS version is 10.15 or higher. - - ### Stable Releases - - To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Mac**. - - The download should be available as a `.dmg`. - - ### Nightly Releases - - We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs! - - You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel. - - ### Experimental Model - - To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode** - - ### Install with Homebrew - Install Jan with the following Homebrew command: - - ```brew - brew install --cask jan - ``` - -:::warning - -Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux. - -::: - - - - - ### Pre-requisites - Ensure that your system meets the following requirements: - - Windows 10 or higher is required to run Jan. - - To enable GPU support, you will need: - - NVIDIA GPU with CUDA Toolkit 11.7 or higher - - NVIDIA driver 470.63.01 or higher - - ### Stable Releases - - To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Windows**. - - The download should be available as a `.exe` file. - - ### Nightly Releases - - We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs! - - You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel. - - ### Experimental Model - - To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode** - - ### Default Installation Directory - - By default, Jan is installed in the following directory: - - ```sh - # Default installation directory - C:\Users\{username}\AppData\Local\Programs\Jan - ``` - -:::warning - -If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors. - -::: - - - - - ### Pre-requisites - Ensure that your system meets the following requirements: - - glibc 2.27 or higher (check with `ldd --version`) - - gcc 11, g++ 11, cpp 11, or higher, refer to this link for more information. - - To enable GPU support, you will need: - - NVIDIA GPU with CUDA Toolkit 11.7 or higher - - NVIDIA driver 470.63.01 or higher - - ### Stable Releases - - To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Linux**. - - The download should be available as a `.AppImage` file or a `.deb` file. - - ### Nightly Releases - - We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs! - - You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel. - - ### Experimental Model - - To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode** - - - - - To install Jan, you should use your package manager's install or `dpkg`. - - - - - To install Jan, run the following command: - - ```sh - # Install Jan using dpkg - sudo dpkg -i jan-linux-amd64-{version}.deb - - # Install Jan using apt-get - sudo apt-get install ./jan-linux-amd64-{version}.deb - # where jan-linux-amd64-{version}.deb is path to the Jan package - ``` - - - - - To install Jan, run the following commands: - - ```sh - # Install Jan using AppImage - chmod +x jan-linux-x86_64-{version}.AppImage - ./jan-linux-x86_64-{version}.AppImage - # where jan-linux-x86_64-{version}.AppImage is path to the Jan package - ``` - - - - -:::warning - -If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors. - -::: - - - - ### Pre-requisites - Ensure that your system meets the following requirements: - - Linux or WSL2 Docker - - Latest Docker Engine and Docker Compose - - To enable GPU support, you will need: - - `nvidia-driver` - - `nvidia-docker2` - -:::note -- If you have not installed Docker, follow the instructions [here](https://docs.docker.com/engine/install/ubuntu/). -- If you have not installed the required file for GPU support, follow the instructions [here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). -::: - - ### Run Jan in Docker - You can run Jan in Docker with two methods: - 1. Run Jan in CPU mode - 2. Run Jan in GPU mode - - - - To run Jan in Docker CPU mode, by using the following code: - - ```bash - # cpu mode with default file system - docker compose --profile cpu-fs up -d - - # cpu mode with S3 file system - docker compose --profile cpu-s3fs up -d - ``` - - - - - To run Jan in Docker CPU mode, follow the steps below: - 1. Check CUDA compatibility with your NVIDIA driver by running nvidia-smi and check the CUDA version in the output as shown below: - ```sh - nvidia-smi - - # Output - +---------------------------------------------------------------------------------------+ - | NVIDIA-SMI 531.18 Driver Version: 531.18 CUDA Version: 12.1 | - |-----------------------------------------+----------------------+----------------------+ - | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | - | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | - | | | MIG M. | - |=========================================+======================+======================| - | 0 NVIDIA GeForce RTX 4070 Ti WDDM | 00000000:01:00.0 On | N/A | - | 0% 44C P8 16W / 285W| 1481MiB / 12282MiB | 2% Default | - | | | N/A | - +-----------------------------------------+----------------------+----------------------+ - | 1 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:02:00.0 Off | N/A | - | 0% 49C P8 14W / 120W| 0MiB / 6144MiB | 0% Default | - | | | N/A | - +-----------------------------------------+----------------------+----------------------+ - | 2 NVIDIA GeForce GTX 1660 Ti WDDM | 00000000:05:00.0 Off | N/A | - | 29% 38C P8 11W / 120W| 0MiB / 6144MiB | 0% Default | - | | | N/A | - +-----------------------------------------+----------------------+----------------------+ - - +---------------------------------------------------------------------------------------+ - | Processes: | - | GPU GI CI PID Type Process name GPU Memory | - | ID ID Usage | - |=======================================================================================| - ``` - 2. Visit [NVIDIA NGC Catalog](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags) and find the smallest minor version of image tag that matches your CUDA version (e.g., 12.1 -> 12.1.0) - 3. Update the `Dockerfile.gpu` line number 5 with the latest minor version of the image tag from step 2 (e.g. change `FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04 AS base` to `FROM nvidia/cuda:12.1.0-runtime-ubuntu22.04 AS base`) - 4. Run Jan in GPU mode by using the following command: - - ```bash - # GPU mode with default file system - docker compose --profile gpu-fs up -d - - # GPU mode with S3 file system - docker compose --profile gpu-s3fs up -d - ``` - - - - ### Docker Compose Profile and Environment - The available Docker Compose profile and the environment variables listed below: - - #### Docker Compose Profile - - | Profile | Description | - |-----------|-------------------------------------------| - | cpu-fs | Run Jan in CPU mode with default file system | - | cpu-s3fs | Run Jan in CPU mode with S3 file system | - | gpu-fs | Run Jan in GPU mode with default file system | - | gpu-s3fs | Run Jan in GPU mode with S3 file system | - - #### Environment Variables - - | Environment Variable | Description | - |--------------------------|------------------------------------------------------------| - | S3_BUCKET_NAME | S3 bucket name - leave blank for default file system | - | AWS_ACCESS_KEY_ID | AWS access key ID - leave blank for default file system | - | AWS_SECRET_ACCESS_KEY | AWS secret access key - leave blank for default file system| - | AWS_ENDPOINT | AWS endpoint URL - leave blank for default file system | - | AWS_REGION | AWS region - leave blank for default file system | - | API_BASE_URL | Jan Server URL, please modify it as your public ip address or domain name default http://localhost:1377 | - - -:::warning - -If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build/) section of Common Errors. - -::: - - - \ No newline at end of file diff --git a/docs/docs/guides/integration/README.mdx b/docs/docs/guides/integration/README.mdx deleted file mode 100644 index 1fc20ed669..0000000000 --- a/docs/docs/guides/integration/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Integrations -slug: /guides/integrations/ -sidebar_position: 6 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/integration/assets/azure.png b/docs/docs/guides/integration/assets/azure.png deleted file mode 100644 index b5b9dc46a9..0000000000 Binary files a/docs/docs/guides/integration/assets/azure.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/cont.png b/docs/docs/guides/integration/assets/cont.png deleted file mode 100644 index 4803a6a398..0000000000 Binary files a/docs/docs/guides/integration/assets/cont.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/discordflow.png b/docs/docs/guides/integration/assets/discordflow.png deleted file mode 100644 index 9043549426..0000000000 Binary files a/docs/docs/guides/integration/assets/discordflow.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/interpreter.png b/docs/docs/guides/integration/assets/interpreter.png deleted file mode 100644 index c735e33cae..0000000000 Binary files a/docs/docs/guides/integration/assets/interpreter.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/jan-ai-continue-ask.png b/docs/docs/guides/integration/assets/jan-ai-continue-ask.png deleted file mode 100644 index 5ccc431d5d..0000000000 Binary files a/docs/docs/guides/integration/assets/jan-ai-continue-ask.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/jan-ai-continue-comment.gif b/docs/docs/guides/integration/assets/jan-ai-continue-comment.gif deleted file mode 100644 index d7b5a0ec79..0000000000 Binary files a/docs/docs/guides/integration/assets/jan-ai-continue-comment.gif and /dev/null differ diff --git a/docs/docs/guides/integration/assets/jan-ai-discord-repo.png b/docs/docs/guides/integration/assets/jan-ai-discord-repo.png deleted file mode 100644 index 77ec701928..0000000000 Binary files a/docs/docs/guides/integration/assets/jan-ai-discord-repo.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/jan-ai-openrouter.gif b/docs/docs/guides/integration/assets/jan-ai-openrouter.gif deleted file mode 100644 index fa45ec1828..0000000000 Binary files a/docs/docs/guides/integration/assets/jan-ai-openrouter.gif and /dev/null differ diff --git a/docs/docs/guides/integration/assets/lmstudio.png b/docs/docs/guides/integration/assets/lmstudio.png deleted file mode 100644 index bffd0a00dd..0000000000 Binary files a/docs/docs/guides/integration/assets/lmstudio.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/mistral.png b/docs/docs/guides/integration/assets/mistral.png deleted file mode 100644 index 0efeaef832..0000000000 Binary files a/docs/docs/guides/integration/assets/mistral.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/ollama.png b/docs/docs/guides/integration/assets/ollama.png deleted file mode 100644 index 02a3278bf5..0000000000 Binary files a/docs/docs/guides/integration/assets/ollama.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/openrouter.png b/docs/docs/guides/integration/assets/openrouter.png deleted file mode 100644 index 5f051ee768..0000000000 Binary files a/docs/docs/guides/integration/assets/openrouter.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/raycast-image.png b/docs/docs/guides/integration/assets/raycast-image.png deleted file mode 100644 index c0af000606..0000000000 Binary files a/docs/docs/guides/integration/assets/raycast-image.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/raycast.png b/docs/docs/guides/integration/assets/raycast.png deleted file mode 100644 index 454d81f4b1..0000000000 Binary files a/docs/docs/guides/integration/assets/raycast.png and /dev/null differ diff --git a/docs/docs/guides/integration/assets/vscode.png b/docs/docs/guides/integration/assets/vscode.png deleted file mode 100644 index f361e16ab6..0000000000 Binary files a/docs/docs/guides/integration/assets/vscode.png and /dev/null differ diff --git a/docs/docs/guides/integration/azure.mdx b/docs/docs/guides/integration/azure.mdx deleted file mode 100644 index 6c344a199a..0000000000 --- a/docs/docs/guides/integration/azure.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Azure OpenAI -sidebar_position: 3 -description: A step-by-step guide on how to integrate Jan with Azure OpenAI. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - integration, - Azure OpenAI Service, - ] ---- - -## How to Integrate Azure OpenAI with Jan - -The [Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview?source=docs) offers robust APIs, making it simple for you to incorporate OpenAI's language models into your applications. You can integrate Azure OpenAI with Jan by following the steps below: - -### Step 1: Configure Azure OpenAI Service API Key - -1. Set up and deploy the Azure OpenAI Service. -2. Once you've set up and deployed Azure OpenAI Service, you can find the endpoint and API key in [Azure OpenAI Studio](https://oai.azure.com/) under `Chat` > `View code`. - -3. Set up the endpoint and API key for Azure OpenAI Service in the `~/jan/engines/openai.json` file. - -```json title="~/jan/engines/openai.json" -{ - // https://hieujan.openai.azure.com/openai/deployments/gpt-35-hieu-jan/chat/completions?api-version=2023-07-01-preview - "full_url": "https://.openai.azure.com/openai/deployments//chat/completions?api-version=", - "api_key": "" -} -``` - -### Step 2: Model Configuration - -1. Go to the `~/jan/models` directory. -2. Make a new folder called `(your-deployment-name)`, for example `gpt-35-hieu-jan`. -3. Create a `model.json` file inside the folder with the specified configurations: - - Match the `id` property with both the folder name and your deployment name. - - Set the `format` property as `api`. - - Choose `openai` for the `engine` property. - - Set the `state` property as `ready`. - -```json title="~/jan/models/gpt-35-hieu-jan/model.json" -{ - "sources": [ - { - "filename": "azure_openai", - "url": "https://hieujan.openai.azure.com" - } - ], - "id": "gpt-35-hieu-jan", - "object": "model", - "name": "Azure OpenAI GPT 3.5", - "version": "1.0", - "description": "Azure Open AI GPT 3.5 model is extremely good", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "OpenAI", - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} -``` - -:::note -For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson). -::: - -### Step 3: Start the Model - -1. Restart Jan and go to the Hub. -2. Find your model in Jan application and click on the Use button. \ No newline at end of file diff --git a/docs/docs/guides/integration/discord.mdx b/docs/docs/guides/integration/discord.mdx deleted file mode 100644 index 5cf8468832..0000000000 --- a/docs/docs/guides/integration/discord.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Discord -sidebar_position: 5 -description: A step-by-step guide on how to integrate Jan with a Discord bot. ---- - -## How to Integrate Discord Bot with Jan - -Discord bot can enhances your discord server interactions. By integrating Jan with it, you can significantly boost responsiveness and user engaggement in your discord server. - -To integrate Jan with a Discord bot, follow the steps below: - -### Step 1: Clone the repository - -To make this integration successful, it is necessary to clone the discord bot's [repository](https://github.com/jakobdylanc/discord-llm-chatbot). - -### Step 2: Install the Required Libraries - -After cloning the repository, run the following command: - -```sh -pip install -r requirements.txt -``` - -### Step 3: Set the Environment -1. Create a copy of `.env.example`. -2. Change the name to `.env`. -3. Set the environment with the following options: - -| Setting | Instructions | -| ------- | ------------ | -| `DISCORD_BOT_TOKEN` | Generate a new Discord application at [discord.com/developers/applications](https://discord.com/developers/applications), obtain a token from the Bot tab, and enable MESSAGE CONTENT INTENT. | -| `LLM` | For [Jan](https://jan.ai/), set to `local/openai/(MODEL_NAME)`, where `(MODEL_NAME)` is your loaded model's name. | -| `CUSTOM_SYSTEM_PROMPT` | Adjust the bot's behavior as needed. | -| `CUSTOM_DISCORD_STATUS` | Set a custom message for the bot's Discord profile. (Max 128 characters) | -| `ALLOWED_CHANNEL_IDS` | Enter Discord channel IDs where the bot can send messages, separated by commas. Leave blank to allow all channels. | -| `ALLOWED_ROLE_IDS` | Enter Discord role IDs allowed to use the bot, separated by commas. Leave blank to allow everyone. Including at least one role also disables DMs. | -| `MAX_IMAGES` | Max number of image attachments allowed per message when using a vision model. (Default: `5`) | -| `MAX_MESSAGES` | Max messages allowed in a reply chain. (Default: `20`) | -| `LOCAL_SERVER_URL` | URL of your local API server for LLMs starting with `local/`. (Default: `http://localhost:5000/v1`) | -| `LOCAL_API_KEY` | API key for your local API server with LLMs starting with `local/`. Usually safe to leave blank. | - -### Step 4: Insert the Bot -Invite the bot to your Discord server using the following URL: - -``` -https://discord.com/api/oauth2/authorize?client_id=(CLIENT_ID)&permissions=412317273088&scope=bot -``` -:::note -Replace `CLIENT_ID` with your Discord application's client ID from the OAuth2 tab -::: -### Step 5: Run the bot - -Run the bot by using the following command in your command prompt: - -```sh -python llmcord.py -``` \ No newline at end of file diff --git a/docs/docs/guides/integration/groq.mdx b/docs/docs/guides/integration/groq.mdx deleted file mode 100644 index a57bf16dd9..0000000000 --- a/docs/docs/guides/integration/groq.mdx +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: Groq -sidebar_position: 10 -slug: /guides/integration/groq -description: Learn how to integrate Groq API with Jan for enhanced functionality. -keywords: - [ - Groq API, - Jan, - Jan AI, - ChatGPT alternative, - conversational AI, - large language model, - integration, - Groq integration, - API integration - ] ---- - -## How to Integrate Mistral AI with Jan - -This guide provides step-by-step instructions on integrating the Groq API with Jan, enabling users to leverage Groq's capabilities within Jan's conversational interface. - -Before proceeding, ensure you have the following: -- Access to the Jan Application -- Groq API credentials - -## Integration Steps - -### Step 1: Obtain Groq API Credentials - -If you haven't already, sign up for the Groq API and obtain your API credentials. -Obtain Groq API keys from your [Groq Console](https://console.groq.com/keys). - -### Step 2: Configure Jan Settings - -1. Insert the Groq AI API key into `~/jan/engines/openai.json`. - -```json title="~/jan/engines/openai.json" -{ - "full_url": "https://api.groq.com/openai/v1/chat/completions", - "api_key": "" -} -``` - -### Step 3: Enable Groq Integration - -To set up the configuration for Groq in Jan, follow these steps: - -1. Navigate to `~/jan/models`. -2. Create a folder named `groq`. -3. Inside the groq folder, create a model.json file with the specified settings: -```json title="~/jan/models/groq/model.json -{ - "id": "mixtral-8x7b-32768", - "object": "model", - "name": "Groq Integration", - "version": "1.0", - "description": "Integration with Groq API for enhanced functionality.", - "format": "api", - "sources": [], - "settings": {}, - "parameters": {}, - "metadata": { - "author": "Mistral", - "tags": ["Groq Integration"] - }, - "engine": "openai" -} -``` - -### Step 4: Start the Model - -1. Restart Jan and navigate to the **Hub**. -2. Locate your model and click the **Use** button. - -## Troubleshooting - -If you encounter any issues during the integration process or while using Groq with Jan, consider the following troubleshooting steps: - -- Double-check your API credentials and ensure they are correctly entered. -- Verify that the Groq integration is enabled within Jan's settings. -- Check for any error messages or logs that may provide insight into the issue. -- Reach out to Groq API support for assistance if needed. \ No newline at end of file diff --git a/docs/docs/guides/integration/lmstudio.mdx b/docs/docs/guides/integration/lmstudio.mdx deleted file mode 100644 index 33e48f33a9..0000000000 --- a/docs/docs/guides/integration/lmstudio.mdx +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: LM Studio -sidebar_position: 8 -description: A step-by-step guide on how to integrate Jan with LM Studio. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - LM Studio integration, - ] ---- - -## How to Integrate LM Studio with Jan - -[LM Studio](https://lmstudio.ai/) enables you to explore, download, and run local Large Language Models (LLMs). You can integrate Jan with LM Studio using two methods: -1. Integrate the LM Studio server with Jan UI -2. Migrate your downloaded model from LM Studio to Jan. - -To integrate LM Studio with Jan follow the steps below: - -:::note - -In this guide, we're going to show you how to connect Jan to [LM Studio](https://lmstudio.ai/) using the second method. We'll use the [Phi 2 - GGUF](https://huggingface.co/TheBloke/phi-2-GGUF) model from Hugging Face as our example. -::: -### Step 1: Server Setup - -1. Access the `Local Inference Server` within LM Studio. -2. Select your desired model. -3. Start the server after configuring the port and options. - -4. Update the `openai.json` file in `~/jan/engines` to include the LM Studio server's full URL. - -```json title="~/jan/engines/openai.json" -{ - "full_url": "http://localhost:/v1/chat/completions" -} -``` - -:::tip - -Replace `(port)` with your chosen port number. The default is 1234. - -::: - -### Step 2: Model Configuration - -1. Navigate to `~/jan/models`. -2. Create a folder named `lmstudio-(modelname)`, like `lmstudio-phi-2`. -3. Inside, create a `model.json` file with these options: - - Set `format` to `api`. - - Specify `engine` as `openai`. - - Set `state` to `ready`. - -```json title="~/jan/models/lmstudio-phi-2/model.json" -{ - "sources": [ - { - "filename": "phi-2-GGUF", - "url": "https://huggingface.co/TheBloke/phi-2-GGUF" - } - ], - "id": "lmstudio-phi-2", - "object": "model", - "name": "LM Studio - Phi 2 - GGUF", - "version": "1.0", - "description": "TheBloke/phi-2-GGUF", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "Microsoft", - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} -``` -:::note -For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson). -::: - - -### Step 3: Starting the Model - -1. Restart Jan and proceed to the **Hub**. -2. Locate your model and click **Use** to activate it. - -## Migrating Models from LM Studio to Jan (version 0.4.6 and older) - -### Step 1: Model Migration - -1. In LM Studio, navigate to `My Models` and access your model folder. -2. Copy the model folder to `~/jan/models`. -3. Ensure the folder name matches the model name in the `.gguf` filename. Rename as necessary. - -### Step 2: Activating the Model - -1. Restart Jan and navigate to the **Hub**, where the model will be automatically detected. -2. Click **Use** to use the model. - -## Direct Access to LM Studio Models from Jan (version 0.4.7+) - -Starting from version 0.4.7, Jan enables direct import of LM Studio models using absolute file paths. - - -### Step 1: Locating the Model Path - -1. Access `My Models` in LM Studio and locate your model folder. -2. Obtain the absolute path of your model. - -### Step 2: Model Configuration - -1. Go to `~/jan/models`. -2. Create a folder named `(modelname)` (e.g., `phi-2.Q4_K_S`). -3. Inside, craft a `model.json` file: - - Set `id` to match the folder name. - - Use the direct binary download link ending in `.gguf` as the `url`. You can now use the absolute filepath of the model file. - - Set `engine` as `nitro`. - -```json -{ - "object": "model", - "version": 1, - "format": "gguf", - "sources": [ - { - "filename": "phi-2.Q4_K_S.gguf", - "url": "" - } - ], - "id": "phi-2.Q4_K_S", - "name": "phi-2.Q4_K_S", - "created": 1708308111506, - "description": "phi-2.Q4_K_S - user self import model", - "settings": { - "ctx_len": 4096, - "embedding": false, - "prompt_template": "{system_message}\n### Instruction: {prompt}\n### Response:", - "llama_model_path": "phi-2.Q4_K_S.gguf" - }, - "parameters": { - "temperature": 0.7, - "top_p": 0.95, - "stream": true, - "max_tokens": 2048, - "stop": [""], - "frequency_penalty": 0, - "presence_penalty": 0 - }, - "metadata": { - "size": 1615568736, - "author": "User", - "tags": [] - }, - "engine": "nitro" -} -``` - -:::warning - -For Windows users, ensure to include double backslashes in the URL property, such as `C:\\Users\\username\\filename.gguf`. - -::: - -### Step 3: Starting the Model - -1. Restart Jan and proceed to the **Hub**. -2. Locate your model and click **Use** to activate it. \ No newline at end of file diff --git a/docs/docs/guides/integration/mistral.mdx b/docs/docs/guides/integration/mistral.mdx deleted file mode 100644 index a44e232059..0000000000 --- a/docs/docs/guides/integration/mistral.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Mistral AI -sidebar_position: 7 -description: A step-by-step guide on how to integrate Jan with Mistral AI. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - Mistral integration, - ] ---- - -## How to Integrate Mistral AI with Jan - -[Mistral AI](https://docs.mistral.ai/) provides two ways to use their Large Language Models (LLM): -1. API -2. Open-source models on Hugging Face. - -To integrate Jan with Mistral AI, follow the steps below: - -:::note -This tutorial demonstrates integrating Mistral AI with Jan using the API. -::: - -### Step 1: Configure Mistral API Key - -1. Obtain Mistral API keys from your [Mistral](https://console.mistral.ai/user/api-keys/) dashboard. -2. Insert the Mistral AI API key into `~/jan/engines/openai.json`. - -```json title="~/jan/engines/openai.json" -{ - "full_url": "https://api.mistral.ai/v1/chat/completions", - "api_key": "" -} -``` - -### Step 2: Model Configuration - -1. Navigate to `~/jan/models`. -2. Create a folder named `mistral-(modelname)` (e.g., `mistral-tiny`). -3. Inside, create a `model.json` file with these settings: - - Set `id` to the Mistral AI model ID. - - Set `format` to `api`. - - Set `engine` to `openai`. - - Set `state` to `ready`. - -```json title="~/jan/models/mistral-tiny/model.json" -{ - "sources": [ - { - "filename": "mistral-tiny", - "url": "https://mistral.ai/" - } - ], - "id": "mistral-tiny", - "object": "model", - "name": "Mistral-7B-v0.2 (Tiny Endpoint)", - "version": "1.0", - "description": "Currently powered by Mistral-7B-v0.2, a better fine-tuning of the initial Mistral-7B released, inspired by the fantastic work of the community.", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "Mistral AI", - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} - -``` - -:::note -- For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson). -- Mistral AI offers various endpoints. Refer to their [endpoint documentation](https://docs.mistral.ai/platform/endpoints/) to select the one that fits your requirements. Here, we use the `mistral-tiny` model as an example. -::: - -### Step 3: Start the Model - -1. Restart Jan and navigate to the **Hub**. -2. Locate your model and click the **Use** button. \ No newline at end of file diff --git a/docs/docs/guides/integration/ollama.mdx b/docs/docs/guides/integration/ollama.mdx deleted file mode 100644 index 6c55bc856e..0000000000 --- a/docs/docs/guides/integration/ollama.mdx +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Ollama -sidebar_position: 9 -description: A step-by-step guide on how to integrate Jan with Ollama. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - Ollama integration, - ] ---- - -## How to Integrate Ollama with Jan - -Ollama provides you with largen language that you can run locally. There are two methods to integrate Ollama with Jan: -1. Integrate Ollama server with Jan. -2. Migrate the downloaded model from Ollama to Jan. - -To integrate Ollama with Jan, follow the steps below: - -:::note -In this tutorial, we'll show how to integrate Ollama with Jan using the first method. We will use the [llama2](https://ollama.com/library/llama2) model as an example. -::: - -### Step 1: Start the Ollama Server - -1. Choose your model from the [Ollama library](https://ollama.com/library). -2. Run your model with this command: - -```sh -ollama run -``` - -3. According to the [Ollama documentation on OpenAI compatibility](https://github.com/ollama/ollama/blob/main/docs/openai.md), you can connect to the Ollama server using the web address `http://localhost:11434/v1/chat/completions`. To do this, change the `openai.json` file in the `~/jan/engines` folder to add the Ollama server's full web address: - - -```json title="~/jan/engines/openai.json" -{ - "full_url": "http://localhost:11434/v1/chat/completions" -} -``` - -### Step 2: Model Configuration - -1. Navigate to the `~/jan/models` folder. -2. Create a folder named `(ollam-modelname)`, for example, `lmstudio-phi-2`. -3. Create a `model.json` file inside the folder including the following configurations: - - Set the `id` property to the model name as Ollama model name. - - Set the `format` property to `api`. - - Set the `engine` property to `openai`. - - Set the `state` property to `ready`. - -```json title="~/jan/models/llama2/model.json" -{ - "sources": [ - { - "filename": "llama2", - "url": "https://ollama.com/library/llama2" - } - ], - "id": "llama2", - "object": "model", - "name": "Ollama - Llama2", - "version": "1.0", - "description": "Llama 2 is a collection of foundation language models ranging from 7B to 70B parameters.", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "Meta", - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} -``` -:::note -For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson). -::: - -### Step 3: Start the Model -1. Restart Jan and navigate to the **Hub**. -2. Locate your model and click the **Use** button. \ No newline at end of file diff --git a/docs/docs/guides/integration/openinterpreter.mdx b/docs/docs/guides/integration/openinterpreter.mdx deleted file mode 100644 index a844155f5c..0000000000 --- a/docs/docs/guides/integration/openinterpreter.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Open Interpreter -sidebar_position: 6 -description: A step-by-step guide on how to integrate Jan with Open Interpreter. ---- - - -## How to Integrate Open Interpreter with Jan - -[Open Interpreter](https://github.com/KillianLucas/open-interpreter/) lets LLMs run code (Python, Javascript, Shell, and more) locally. You can chat with Open Interpreter through a ChatGPT-like interface in your terminal by running `interpreter` after installing. To integrate Open Interpreter with Jan, follow the steps below: - -### Step 1: Install Open Interpreter - -1. Install Open Interpreter by running: - -```sh -pip install open-interpreter -``` - -2. A Rust compiler is required to install Open Interpreter. If not already installed, run the following command or go to [this page](https://rustup.rs/) if you are running on windows: - -```zsh -sudo apt install rustc -``` - -### Step 2: Configure Jan's Local API Server - -Before using Open Interpreter, configure the model in `Settings` > `My Model` for Jan and activate its local API server. - -#### Enabling Jan API Server - -1. Click the `<>` button to access the **Local API Server** section in Jan. - -2. Configure the server settings, including **IP Port**, **Cross-Origin-Resource-Sharing (CORS)**, and **Verbose Server Logs**. - -3. Click **Start Server**. - -### Step 3: Set the Open Interpreter Environment - -1. For integration, provide the API Base (`http://localhost:1337/v1`) and the model ID (e.g., `mistral-ins-7b-q4`) when running Open Interpreter. For example see the code below: - -```zsh -interpreter --api_base http://localhost:1337/v1 --model mistral-ins-7b-q4 -``` - -> **Open Interpreter is now ready for use!** \ No newline at end of file diff --git a/docs/docs/guides/integration/openrouter.mdx b/docs/docs/guides/integration/openrouter.mdx deleted file mode 100644 index 2189db0d90..0000000000 --- a/docs/docs/guides/integration/openrouter.mdx +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: OpenRouter -sidebar_position: 2 -description: A step-by-step guide on how to integrate Jan with OpenRouter. ---- - - -## How to Integrate OpenRouter with Jan - -[OpenRouter](https://openrouter.ai/docs#quick-start) is a tool that gathers AI models. Developers can utilize its API to engage with diverse large language models, generative image models, and generative 3D object models. - -To connect Jan with OpenRouter for accessing remote Large Language Models (LLMs) through OpenRouter, you can follow the steps below: - -### Step 1: Configure OpenRouter API key - -1. Find your API keys in the [OpenRouter API Key](https://openrouter.ai/keys). -2. Set the OpenRouter API key in `~/jan/engines/openai.json` file. - -### Step 2: MModel Configuration - -1. Go to the directory `~/jan/models`. -2. Make a new folder called `openrouter-(modelname)`, like `openrouter-dolphin-mixtral-8x7b`. -3. Inside the folder, create a `model.json` file with the following settings: - - Set the `id` property to the model id obtained from OpenRouter. - - Set the `format` property to `api`. - - Set the `engine` property to `openai`. - - Ensure the `state` property is set to `ready`. - -```json title="~/jan/models/openrouter-dolphin-mixtral-8x7b/model.json" -{ - "sources": [ - { - "filename": "openrouter", - "url": "https://openrouter.ai/" - } - ], - "id": "cognitivecomputations/dolphin-mixtral-8x7b", - "object": "model", - "name": "Dolphin 2.6 Mixtral 8x7B", - "version": "1.0", - "description": "This is a 16k context fine-tune of Mixtral-8x7b. It excels in coding tasks due to extensive training with coding data and is known for its obedience, although it lacks DPO tuning. The model is uncensored and is stripped of alignment and bias. It requires an external alignment layer for ethical use. Users are cautioned to use this highly compliant model responsibly, as detailed in a blog post about uncensored models at erichartford.com/uncensored-models.", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} -``` - -:::note -For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson). -::: - -### Step 3 : Start the Model -1. Restart Jan and go to the **Hub**. -2. Find your model and click on the **Use** button. \ No newline at end of file diff --git a/docs/docs/guides/integration/raycast.mdx b/docs/docs/guides/integration/raycast.mdx deleted file mode 100644 index a626b00618..0000000000 --- a/docs/docs/guides/integration/raycast.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Raycast -sidebar_position: 4 -description: A step-by-step guide on how to integrate Jan with Raycast. ---- - - -## How to Integrate Raycast -[Raycast](https://www.raycast.com/) is a productivity tool designed for macOS that enhances workflow efficiency by providing quick access to various tasks and functionalities through a keyboard-driven interface. To integrate Raycast with Jan, follow the steps below: - -### Step 1: Download the TinyLlama Model - -1. Go to the **Hub** and download the TinyLlama model. -2. The model will be available at `~jan/models/tinyllama-1.1b`. - -### Step 2: Clone and Run the Program - -1. Clone this [GitHub repository](https://github.com/InNoobWeTrust/nitro-raycast). -2. Execute the project using the following command: - -```sh title="Node.js" -npm i && npm run dev -``` - -### Step 3: Search for Nitro and Run the Model - -Search for `Nitro` using the program and you can use the models from Jan in RayCast. \ No newline at end of file diff --git a/docs/docs/guides/integration/vscode.mdx b/docs/docs/guides/integration/vscode.mdx deleted file mode 100644 index 0bc1121866..0000000000 --- a/docs/docs/guides/integration/vscode.mdx +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Continue -sidebar_position: 1 -description: A step-by-step guide on how to integrate Jan with Continue and VS Code. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - Continue integration, - VSCode integration, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## How to Integrate with Continue VS Code - -[Continue](https://continue.dev/docs/intro) is an open-source autopilot compatible with Visual Studio Code and JetBrains, offering the simplest method to code with any LLM (Local Language Model). - -To integrate Jan with a local AI language model, follow the steps below: - -### Step 1: Installing Continue on Visal Studio Code - -Follow this [guide to install the Continue extension on Visual Studio Code](https://continue.dev/docs/quickstart) - -### Step 2: Enable the Jan API Server - -To set up Continue for use with Jan's Local Server, you must activate the Jan API Server with your chosen model. - -1. Press the `<>` button. Jan will take you to the **Local API Server** section. - -2. Setup the server, which includes the **IP Port**, **Cross-Origin-Resource-Sharing (CORS)** and **Verbose Server Logs**. - -3. Press the **Start Server** button - -### Step 3: Configure Continue to Use Jan's Local Server -1. Go to the `~/.continue` directory. - - - - ```sh - cd ~/.continue - ``` - - - ```sh - C:/Users//.continue - ``` - - - ```sh - cd ~/.continue - ``` - - - -```json title="~/.continue/config.json" -{ - "models": [ - { - "title": "Jan", - "provider": "openai", - "model": "mistral-ins-7b-q4", - "apiKey": "EMPTY", - "apiBase": "http://localhost:1337" - } - ] -} -``` -2. Ensure the file has the following configurations: - - Ensure `openai` is selected as the `provider`. - - Match the `model` with the one enabled in the Jan API Server. - - Set `apiBase` to `http://localhost:1337`. - - Leave the `apiKey` field to `EMPTY`. - -### Step 4: Ensure the Using Model Is Activated in Jan - -1. Navigate to `Settings` > `Models`. -2. Activate the model you want to use in Jan by clicking the **three dots (⋮)** and select **Start Model**. - -## Try out Jan integration with Continue in Visual Studio Code - -### 1. Asking questions about the code - -1. Highlight a code snippet and press `Command + Shift + M` to open the Left Panel. -2. Select Jan at the bottom and ask a question about the code, for example, `Explain this code`. - - ### 2. Editing the code with the help of a large language model - -1. Select a code snippet and use `Command + Shift + L`. -2. Enter your editing request, such as `Add comments to this code`. - \ No newline at end of file diff --git a/docs/docs/guides/models-list.mdx b/docs/docs/guides/models-list.mdx deleted file mode 100644 index cd7107a928..0000000000 --- a/docs/docs/guides/models-list.mdx +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Pre-configured Models -sidebar_position: 3 ---- - -## Overview - -Jan provides various pre-configured AI models with different capabilities. Please see the following list for details. - -| Model | Description | -| ----- | ----------- | -| Mistral Instruct 7B Q4 | A model designed for a comprehensive understanding through training on extensive internet data | -| OpenHermes Neural 7B Q4 | A merged model using the TIES method. It performs well in various benchmarks | -| Stealth 7B Q4 | This is a new experimental family designed to enhance Mathematical and Logical abilities | -| Trinity-v1.2 7B Q4 | An experimental model merge using the Slerp method | -| Openchat-3.5 7B Q4 | An open-source model that has a performance that surpasses that of ChatGPT-3.5 and Grok-1 across various benchmarks | -| Wizard Coder Python 13B Q5 | A Python coding model that demonstrates high proficiency in specific domains like coding and mathematics | -| OpenAI GPT 3.5 Turbo | The latest GPT-3.5 Turbo model with higher accuracy at responding in requested formats and a fix for a bug that caused a text encoding issue for non-English language function calls | -| OpenAI GPT 3.5 Turbo 16k 0613 | A Snapshot model of gpt-3.5-16k-turbo from June 13th 2023 | -| OpenAI GPT 4 | The latest GPT-4 model intended to reduce cases of “laziness” where the model doesn't complete a task | -| TinyLlama Chat 1.1B Q4 | A tiny model with only 1.1B. It's a good model for less powerful computers | -| Deepseek Coder 1.3B Q8 | A model that excelled in project-level code completion with advanced capabilities across multiple programming languages | -| Phi-2 3B Q8 | a 2.7B model, excelling in common sense and logical reasoning benchmarks, trained with synthetic texts and filtered websites | -| Llama 2 Chat 7B Q4 | A model that is specifically designed for a comprehensive understanding through training on extensive internet data | -| CodeNinja 7B Q4 | A model that is good for coding tasks and can handle various languages, including Python, C, C++, Rust, Java, JavaScript, and more | -| Noromaid 7B Q5 | A model designed for role-playing with human-like behavior. | -| Starling alpha 7B Q4 | An upgrade of Openchat 3.5 using RLAIF, is good at various benchmarks, especially with GPT-4 judging its performance | -| Yarn Mistral 7B Q4 | A language model for long context and supports a 128k token context window | -| LlaVa 1.5 7B Q5 K | A model can bring vision understanding to Jan | -| BakLlava 1 | A model can bring vision understanding to Jan | -| Solar Slerp 10.7B Q4 | A model that uses the Slerp merge method from SOLAR Instruct and Pandora-v1 | -| LlaVa 1.5 13B Q5 K | A model can bring vision understanding to Jan | -| Deepseek Coder 33B Q5 | A model that excelled in project-level code completion with advanced capabilities across multiple programming languages | -| Phind 34B Q5 | A multi-lingual model that is fine-tuned on 1.5B tokens of high-quality programming data, excels in various programming languages, and is designed to be steerable and user-friendly | -| Yi 34B Q5 | A specialized chat model is known for its diverse and creative responses and excels across various NLP tasks and benchmarks | -| Capybara 200k 34B Q5 | A long context length model that supports 200K tokens | -| Dolphin 8x7B Q4 | An uncensored model built on Mixtral-8x7b and it is good at programming tasks | -| Mixtral 8x7B Instruct Q4 | A pre-trained generative Sparse Mixture of Experts, which outperforms 70B models on most benchmarks | -| Tulu 2 70B Q4 | A strong model alternative to Llama 2 70b Chat to act as helpful assistants | -| Llama 2 Chat 70B Q4 | A model that is specifically designed for a comprehensive understanding through training on extensive internet data | - -:::note - -OpenAI GPT models require a subscription to use them further. To learn more, [click here](https://openai.com/pricing). - -::: - -## Model details - -| Model | Author | Model ID | Format | Size | -| ----- | ------ | -------- | ------ | ---- | -| Mistral Instruct 7B Q4 | MistralAI, The Bloke | `mistral-ins-7b-q4` | **GGUF** | 4.07GB | -| OpenHermes Neural 7B Q4 | Intel, Jan | `openhermes-neural-7b` | **GGUF** | 4.07GB | -| Stealth 7B Q4 | Jan | `stealth-v1.2-7b` | **GGUF** | 4.07GB | -| Trinity-v1.2 7B Q4 | Jan | `trinity-v1.2-7b` | **GGUF** | 4.07GB | -| Openchat-3.5 7B Q4 | Openchat | `openchat-3.5-7b` | **GGUF** | 4.07GB | -| Wizard Coder Python 13B Q5 | WizardLM, The Bloke | `wizardcoder-13b` | **GGUF** | 7.33GB | - | -| OpenAI GPT 3.5 Turbo | OpenAI | `gpt-3.5-turbo` | **GGUF** | - | -| OpenAI GPT 3.5 Turbo 16k 0613 | OpenAI | `gpt-3.5-turbo-16k-0613` | **GGUF** | - | -| OpenAI GPT 4 | OpenAI | `gpt-4` | **GGUF** | - | -| TinyLlama Chat 1.1B Q4 | TinyLlama | `tinyllama-1.1b` | **GGUF** | 638.01MB | -| Deepseek Coder 1.3B Q8 | Deepseek, The Bloke | `deepseek-coder-1.3b` | **GGUF** | 1.33GB | -| Phi-2 3B Q8 | Microsoft | `phi-2-3b` | **GGUF** | 2.76GB | -| Llama 2 Chat 7B Q4 | MetaAI, The Bloke | `llama2-chat-7b-q4` | **GGUF** | 3.80GB | -| CodeNinja 7B Q4 | Beowolx | `codeninja-1.0-7b` | **GGUF** | 4.07GB | -| Noromaid 7B Q5 | NeverSleep | `noromaid-7b` | **GGUF** | 4.07GB | -| Starling alpha 7B Q4 | Berkeley-nest, The Bloke | `starling-7b` | **GGUF** | 4.07GB | -| Yarn Mistral 7B Q4 | NousResearch, The Bloke | `yarn-mistral-7b` | **GGUF** | 4.07GB | -| LlaVa 1.5 7B Q5 K | Mys | `llava-1.5-7b-q5` | **GGUF** | 5.03GB | -| BakLlava 1 | Mys | `bakllava-1` | **GGUF** | 5.36GB | diff --git a/docs/docs/guides/models/README.mdx b/docs/docs/guides/models/README.mdx deleted file mode 100644 index 941eab3b69..0000000000 --- a/docs/docs/guides/models/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Models Setup -slug: /guides/models-setup/ -sidebar_position: 5 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/models/assets/jan-model-hub.png b/docs/docs/guides/models/assets/jan-model-hub.png deleted file mode 100644 index db4624f2f0..0000000000 Binary files a/docs/docs/guides/models/assets/jan-model-hub.png and /dev/null differ diff --git a/docs/docs/guides/models/customize-engine.mdx b/docs/docs/guides/models/customize-engine.mdx deleted file mode 100644 index 2f54204a84..0000000000 --- a/docs/docs/guides/models/customize-engine.mdx +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Customize Engine Settings -sidebar_position: 1 -description: A step-by-step guide to change your engine's settings. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - import-models-manually, - customize-engine-settings, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - - -In this guide, we'll walk you through the process of customizing your engine settings by configuring the `nitro.json` file - -1. Navigate to the `App Settings` > `Advanced` > `Open App Directory` > `~/jan/engine` folder. - - - - ```sh - cd ~/jan/engines - ``` - - - ```sh - C:/Users//jan/engines - ``` - - - ```sh - cd ~/jan/engines - ``` - - - -2. Modify the `nitro.json` file based on your needs. The default settings are shown below. - -```json title="~/jan/engines/nitro.json" -{ - "ctx_len": 2048, - "ngl": 100, - "cpu_threads": 1, - "cont_batching": false, - "embedding": false -} -``` - -The table below describes the parameters in the `nitro.json` file. - -| Parameter | Type | Description | -| --------- | ---- | ----------- | -| `ctx_len` | **Integer** | Typically set at `2048`, `ctx_len` provides ample context for model operations like `GPT-3.5`. (*Maximum*: `4096`, *Minimum*: `1`) | -| `ngl` | **Integer** | Defaulted at `100`, `ngl` determines GPU layer usage. | -| `cpu_threads` | **Integer** | Determines CPU inference threads, limited by hardware and OS. (*Maximum* determined by system) | -| `cont_batching` | **Integer** | Controls continuous batching, enhancing throughput for LLM inference. | -| `embedding` | **Integer** | Enables embedding utilization for tasks like document-enhanced chat in RAG-based applications. | - -:::tip - - By default, the value of `ngl` is set to 100, which indicates that it will offload all. If you wish to offload only 50% of the GPU, you can set `ngl` to 15 because most models on Mistral or Llama are around ~ 30 layers. - - To utilize the embedding feature, include the JSON parameter `"embedding": true`. It will enable Nitro to process inferences with embedding capabilities. Please refer to the [Embedding in the Nitro documentation](https://nitro.jan.ai/features/embed) for a more detailed explanation. - - To utilize the continuous batching feature for boosting throughput and minimizing latency in large language model (LLM) inference, include `cont_batching: true`. For details, please refer to the [Continuous Batching in the Nitro documentation](https://nitro.jan.ai/features/cont-batch). - -::: - -:::info[Assistance and Support] - -If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/models/import-models.mdx b/docs/docs/guides/models/import-models.mdx deleted file mode 100644 index 9ed8953c75..0000000000 --- a/docs/docs/guides/models/import-models.mdx +++ /dev/null @@ -1,257 +0,0 @@ ---- -title: Manual Import -sidebar_position: 3 -description: A step-by-step guide on how to perform manual import feature. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - import-models-manually, - absolute-filepath, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import janModel from './assets/jan-model-hub.png'; - - -This guide will show you how to perform manual import. In this guide, we are using a GGUF model from [HuggingFace](https://huggingface.co/) and our latest model, [Trinity](https://huggingface.co/janhq/trinity-v1-GGUF), as an example. - -## Newer versions - nightly versions and v0.4.8+ - -Starting with version 0.4.8, Jan has introduced the capability to import models using a UI drag-and-drop method. This allows you to import models directly into the Jan application UI by dragging the `.GGUF` file from your directory into the Jan application. - -### 1. Get the Model -Download the model from HuggingFace in the `.GGUF` format. - -### 2. Import the Model -1. Open your Jan application. -2. Click the **Import Model** button. -3. Open your downloaded model. -4. Drag the `.GGUF` file from your directory into the Jan **Import Model** window. - -### 3. Done! - -If your model doesn't show up in the **Model Selector** in conversations, **restart the app** or contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ). - -## Newer versions - nightly versions and v0.4.7+ - -Starting from version 0.4.7, Jan has introduced the capability to import models using an absolute file path. It allows you to import models from any directory on your computer. - -### 1. Get the Absolute Filepath of the Model - -After downloading the model from HuggingFace, get the absolute filepath of the model. - -### 2. Configure the Model JSON - -1. Navigate to the `~/jan/models` folder. -2. Create a folder named ``, for example, `tinyllama`. -3. Create a `model.json` file inside the folder, including the following configurations: - -- Ensure the `id` property matches the folder name you created. -- Ensure the `url` property is the direct binary download link ending in `.gguf`. Now, you can use the absolute filepath of the model file. -- Ensure the `engine` property is set to `nitro`. - -```json -{ - "sources": [ - { - "filename": "tinyllama.gguf", - // highlight-next-line - "url": "" - } - ], - "id": "tinyllama-1.1b", - "object": "model", - "name": "(Absolute Path) TinyLlama Chat 1.1B Q4", - "version": "1.0", - "description": "TinyLlama is a tiny model with only 1.1B. It's a good model for less powerful computers.", - "format": "gguf", - "settings": { - "ctx_len": 4096, - "prompt_template": "<|system|>\n{system_message}<|user|>\n{prompt}<|assistant|>", - "llama_model_path": "tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf" - }, - "parameters": { - "temperature": 0.7, - "top_p": 0.95, - "stream": true, - "max_tokens": 2048, - "stop": [], - "frequency_penalty": 0, - "presence_penalty": 0 - }, - "metadata": { - "author": "TinyLlama", - "tags": ["Tiny", "Foundation Model"], - "size": 669000000 - }, - "engine": "nitro" -} -``` - -:::warning - -- If you are using Windows, you need to use double backslashes in the url property, for example: `C:\\Users\\username\\filename.gguf`. - -::: - -### 3. Done! - -If your model doesn't show up in the **Model Selector** in conversations, **restart the app** or contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ). - -## Newer versions - nightly versions and v0.4.4+ - -### 1. Create a Model Folder - -1. Navigate to the `App Settings` > `Advanced` > `Open App Directory` > `~/jan/models` folder. - - - - ```sh - cd ~/jan/models - ``` - - - ```sh - C:/Users//jan/models - ``` - - - ```sh - cd ~/jan/models - ``` - - - -2. In the `models` folder, create a folder with the name of the model. - -```sh -mkdir trinity-v1-7b -``` - -### 2. Drag & Drop the Model - -Drag and drop your model binary into this folder, ensuring the `modelname.gguf` is the same name as the folder name, e.g. `models/modelname`. - -### 3. Done! - -If your model doesn't show up in the **Model Selector** in conversations, **restart the app** or contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ). - -## Older versions - before v0.44 - -### 1. Create a Model Folder - -1. Navigate to the `App Settings` > `Advanced` > `Open App Directory` > `~/jan/models` folder. - - - - ```sh - cd ~/jan/models - ``` - - - ```sh - C:/Users//jan/models - ``` - - - ```sh - cd ~/jan/models - ``` - - - -2. In the `models` folder, create a folder with the name of the model. - -```sh -mkdir trinity-v1-7b -``` - -### 2. Create a Model JSON - -Jan follows a folder-based, [standard model template](https://jan.ai/docs/engineering/models/) called a `model.json` to persist the model configurations on your local filesystem. - -This means that you can easily reconfigure your models, export them, and share your preferences transparently. - - - - ```sh - cd trinity-v1-7b - touch model.json - ``` - - - ```sh - cd trinity-v1-7b - echo {} > model.json - ``` - - - ```sh - cd trinity-v1-7b - touch model.json - ``` - - - -To update `model.json`: - - - Match `id` with folder name. - - Ensure GGUF filename matches `id`. - - Set `source.url` to direct download link ending in `.gguf`. In HuggingFace, you can find the direct links in the `Files and versions` tab. - - Verify that you are using the correct `prompt_template`. This is usually provided in the HuggingFace model's description page. - -```json title="model.json" -{ - "sources": [ - { - "filename": "trinity-v1.Q4_K_M.gguf", - "url": "https://huggingface.co/janhq/trinity-v1-GGUF/resolve/main/trinity-v1.Q4_K_M.gguf" - } - ], - "id": "trinity-v1-7b", - "object": "model", - "name": "Trinity-v1 7B Q4", - "version": "1.0", - "description": "Trinity is an experimental model merge of GreenNodeLM & LeoScorpius using the Slerp method. Recommended for daily assistance purposes.", - "format": "gguf", - "settings": { - "ctx_len": 4096, - "prompt_template": "{system_message}\n### Instruction:\n{prompt}\n### Response:", - "llama_model_path": "trinity-v1.Q4_K_M.gguf" - }, - "parameters": { - "max_tokens": 4096 - }, - "metadata": { - "author": "Jan", - "tags": ["7B", "Merged"], - "size": 4370000000 - }, - "engine": "nitro" -} -``` - -:::note -For more details regarding the `model.json` settings and parameters fields, please see [here](/docs/guides/models/integrate-remote.mdx#modeljson). -::: - -### 3. Download the Model - -1. Restart Jan and navigate to the Hub. -2. Locate your model. -3. Click **Download** button to download the model binary. - -:::info[Assistance and Support] - -If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/models/integrate-remote.mdx b/docs/docs/guides/models/integrate-remote.mdx deleted file mode 100644 index af881f999a..0000000000 --- a/docs/docs/guides/models/integrate-remote.mdx +++ /dev/null @@ -1,195 +0,0 @@ ---- -title: Remote Server Integration -sidebar_position: 2 -description: A step-by-step guide on how to set up Jan to connect with any remote or local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - import-models-manually, - remote server, - OAI compatible, - ] ---- - -This guide will show you how to configure Jan as a client and point it to any remote & local (self-hosted) API server. - -## OpenAI Platform Configuration - -### 1. Create a Model JSON - -1. In `~/jan/models`, create a folder named `gpt-3.5-turbo-16k`. - -2. In this folder, add a `model.json` file with Filename as `model.json`, `id` matching folder name, `Format` as `api`, `Engine` as `openai`, and `State` as `ready`. - - -```json title="~/jan/models/gpt-3.5-turbo-16k/model.json" -{ - "sources": [ - { - "filename": "openai", - "url": "https://openai.com" - } - ], - "id": "gpt-3.5-turbo-16k", - "object": "model", - "name": "OpenAI GPT 3.5 Turbo 16k", - "version": "1.0", - "description": "OpenAI GPT 3.5 Turbo 16k model is extremely good", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "OpenAI", - "tags": ["General", "Big Context Length"] - }, - "engine": "openai" -} -``` - -### `model.json` - -The `model.json` file is used to set up your local models. -:::note -- If you've set up your model's configuration in `nitro.json`, please note that `model.json` can overwrite the settings. -- When using OpenAI models like GPT-3.5 and GPT-4, you can use the default settings in `model.json` file. -::: - -There are two important fields in model.json that you need to setup: - -#### Settings -This is the field where to set your engine configurations, there are two imporant field that you need to define for your local models: - -| Term | Description | -|-------------------|---------------------------------------------------------| -| `ctx_len` | Defined based on the model's context size. | -| `prompt_template` | Defined based on the model's trained template (e.g., ChatML, Alpaca). | - -To set up the `prompt_template` based on your model, follow the steps below: - 1. Visit [Hugging Face](https://huggingface.co/), an open-source machine learning platform. - 2. Find the current model that you're using (e.g., [Gemma 7b it](https://huggingface.co/google/gemma-7b-it)). - 3. Review the text and identify the template. - -#### Parameters -`parameters` is the adjustable settings that affect how your model operates or processes the data. -The fields in `parameters` are typically general and can be the same across models. An example is provided below: - -```json -"parameters":{ - "temperature": 0.7, - "top_p": 0.95, - "stream": true, - "max_tokens": 4096, - "frequency_penalty": 0, - "presence_penalty": 0 -} -``` - - -:::tip - - - You can find the list of available models in the [OpenAI Platform](https://platform.openai.com/docs/models/overview). - - The `id` property needs to match the model name in the list. - - For example, if you want to use the [GPT-4 Turbo](https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo), you must set the `id` property to `gpt-4-1106-preview`. - -::: - -### 2. Configure OpenAI API Keys - -1. Find your API keys in the [OpenAI Platform](https://platform.openai.com/api-keys). -2. Set the OpenAI API keys in `~/jan/engines/openai.json` file. - -```json title="~/jan/engines/openai.json" -{ - "full_url": "https://api.openai.com/v1/chat/completions", - "api_key": "sk-" -} -``` - -### 3. Start the Model - -Restart Jan and navigate to the Hub. Then, select your configured model and start the model. - -## Engines with OAI Compatible Configuration - -This section will show you how to configure a client connection to a remote/local server using Jan's API server running model `mistral-ins-7b-q4` as an example. - -:::note - -Currently, you can only connect to one OpenAI-compatible endpoint at a time. - -::: - -### 1. Configure a Client Connection - -1. Navigate to the `~/jan/engines` folder. -2. Modify the `openai.json file`. - -:::note - -Please note that currently, the code that supports any OpenAI-compatible endpoint only reads `engine/openai.json` file. Thus, it will not search any other files in this directory. - -::: - -3. Configure `full_url` properties with the endpoint server that you want to connect. For example, if you're going to communicate to Jan's API server, you can configure it as follows: - -```json title="~/jan/engines/openai.json" -{ - // "full_url": "https://:/v1/chat/completions" - "full_url": "https://:1337/v1/chat/completions" - // Skip api_key if your local server does not require authentication - // "api_key": "sk-" -} -``` - -### 2. Create a Model JSON - -1. In `~/jan/models`, create a folder named `mistral-ins-7b-q4`. - -2. In this folder, add a `model.json` file with Filename as `model.json`, ensure the following configurations: - - `id` matching folder name. - - `Format` set to `api`. - - `Engine` set to `openai` - - `State` set to `ready`. - - -```json title="~/jan/models/mistral-ins-7b-q4/model.json" -{ - "sources": [ - { - "filename": "janai", - "url": "https://jan.ai" - } - ], - "id": "mistral-ins-7b-q4", - "object": "model", - "name": "Mistral Instruct 7B Q4 on Jan API Server", - "version": "1.0", - "description": "Jan integration with remote Jan API server", - "format": "api", - "settings": {}, - "parameters": {}, - "metadata": { - "author": "MistralAI, The Bloke", - "tags": ["remote", "awesome"] - }, - "engine": "openai" -} - -``` -### 3. Start the Model - -1. Restart Jan and navigate to the **Hub**. -2. Locate your model and click the **Use** button. - -:::info[Assistance and Support] - -If you have questions or want more preconfigured GGUF models, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions. - -::: \ No newline at end of file diff --git a/docs/docs/guides/providers/README.mdx b/docs/docs/guides/providers/README.mdx deleted file mode 100644 index aa3bfea1f9..0000000000 --- a/docs/docs/guides/providers/README.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Inference Providers -slug: /guides/providers ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/guides/providers/image.png b/docs/docs/guides/providers/image.png deleted file mode 100644 index 5f1f7104eb..0000000000 Binary files a/docs/docs/guides/providers/image.png and /dev/null differ diff --git a/docs/docs/guides/providers/llama-cpp.md b/docs/docs/guides/providers/llama-cpp.md deleted file mode 100644 index d2b0daa2a9..0000000000 --- a/docs/docs/guides/providers/llama-cpp.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: llama.cpp -slug: /guides/providers/llama-cpp ---- - -## Overview - -[Nitro](https://github.com/janhq/nitro) is an inference server on top of [llama.cpp](https://github.com/ggerganov/llama.cpp). It provides an OpenAI-compatible API, queue, & scaling. - -Nitro is the default AI engine downloaded with Jan. There is no additional setup needed. \ No newline at end of file diff --git a/docs/docs/guides/providers/tensorrt-llm.md b/docs/docs/guides/providers/tensorrt-llm.md deleted file mode 100644 index 52da83b363..0000000000 --- a/docs/docs/guides/providers/tensorrt-llm.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: TensorRT-LLM -slug: /guides/providers/tensorrt-llm ---- - -Users with Nvidia GPUs can get **20-40% faster\* token speeds** on their laptop or desktops by using [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM). The greater implication is that you are running FP16, which is also more accurate than quantized models. - -This guide walks you through how to install Jan's official [TensorRT-LLM Extension](https://github.com/janhq/nitro-tensorrt-llm). This extension uses [Nitro-TensorRT-LLM](https://github.com/janhq/nitro-tensorrt-llm) as the AI engine, instead of the default [Nitro-Llama-CPP](https://github.com/janhq/nitro). It includes an efficient C++ server to natively execute the [TRT-LLM C++ runtime](https://nvidia.github.io/TensorRT-LLM/gpt_runtime.html). It also comes with additional feature and performance improvements like OpenAI compatibility, tokenizer improvements, and queues. - -*Compared to using LlamaCPP engine. - -:::warning -This feature is only available for Windows users. Linux is coming soon. - -Additionally, we only prebuilt a few demo models. You can always build your desired models directly on your machine. [Read here](#build-your-own-tensorrt-models). - -::: - -## Requirements - -- A Windows PC -- Nvidia GPU(s): Ada or Ampere series (i.e. RTX 4000s & 3000s). More will be supported soon. -- 3GB+ of disk space to download TRT-LLM artifacts and a Nitro binary -- Jan v0.4.9+ or Jan v0.4.8-321+ (nightly) -- Nvidia Driver v535+ ([installation guide](https://jan.ai/guides/common-error/not-using-gpu/#1-ensure-gpu-mode-requirements)) -- CUDA Toolkit v12.2+ ([installation guide](https://jan.ai/guides/common-error/not-using-gpu/#1-ensure-gpu-mode-requirements)) - -## Install TensorRT-Extension - -1. Go to Settings > Extensions -2. Click install next to the TensorRT-LLM Extension -3. Check that files are correctly downloaded - -```sh -ls ~\jan\extensions\@janhq\tensorrt-llm-extension\dist\bin -# Your Extension Folder should now include `nitro.exe`, among other artifacts needed to run TRT-LLM -``` - -## Download a Compatible Model -TensorRT-LLM can only run models in `TensorRT` format. These models, aka "TensorRT Engines", are prebuilt specifically for each target OS+GPU architecture. - -We offer a handful of precompiled models for Ampere and Ada cards that you can immediately download and play with: - -1. Restart the application and go to the Hub -2. Look for models with the `TensorRT-LLM` label in the recommended models list. Click download. This step might take some time. 🙏 - -![image](https://hackmd.io/_uploads/rJewrEgRp.png) - -3. Click use and start chatting! -4. You may need to allow Nitro in your network - -![alt text](image.png) - -:::warning -If you are our nightly builds, you may have to reinstall the TensorRT-LLM extension each time you update the app. We're working on better extension lifecyles - stay tuned. -::: - -## Configure Settings - -You can customize the default parameters for how Jan runs TensorRT-LLM. - -:::info -coming soon -::: - -## Troubleshooting - -### Incompatible Extension vs Engine versions - -For now, the model versions are pinned to the extension versions. - -### Uninstall Extension - -1. Quit the app -2. Go to Settings > Extensions -3. Delete the entire Extensions folder. -4. Reopen the app, only the default extensions should be restored. - -### Install Nitro-TensorRT-LLM manually - -To manually build the artifacts needed to run the server and TensorRT-LLM, you can reference the source code. [Read here](https://github.com/janhq/nitro-tensorrt-llm?tab=readme-ov-file#quickstart). - -### Build your own TensorRT models - -:::info -coming soon -::: diff --git a/docs/docs/guides/quickstart.mdx b/docs/docs/guides/quickstart.mdx deleted file mode 100644 index 84612716a0..0000000000 --- a/docs/docs/guides/quickstart.mdx +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Quickstart -slug: /guides -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -sidebar_position: 1 -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -import installImageURL from './assets/jan-ai-quickstart.png'; -import flow from './assets/quick.png'; - -# Quickstart - -{/* After finish installing, here are steps for using Jan - -## Run Jan - - - - 1. Search Jan in the Dock and run the program. - - - 1. Search Jan in the Start menu and run the program. - - - 1. Go to the Jan directory and run the program. - - - -2. After you run Jan, the program will take you to the Threads window, with list of threads and each thread is a chatting box between you and the AI model. - -3. Go to the **Hub** under the **Thread** section and select the AI model that you want to use. For more info, go to the [Using Models](category/using-models) section. - -4. A new thread will be added. You can use Jan in the thread with the AI model that you selected before. */} - -To get started quickly with Jan, follow the steps below: - -### Step 1: Install Jan - -Go to [Jan.ai](https://jan.ai/) > Select your operating system > Install the program. - -:::note -To learn more about system requirements for your operating system, go to [Installation guide](/guides/install). -::: - -### Step 2: Select AI Model - -Before using Jan, you need to select an AI model that based on your hardware capabilities and specifications. Each model has their purposes, capabilities, and different requirements. To select AI models: - -Go to the **Hub** > select the models that you would like to install. - -:::note -For more info, go to [list of supported models](/guides/models-list/). -::: - -### Step 3: Use the AI Model - -After you install the AI model, you use it immediately under **Thread** tab. diff --git a/docs/docs/guides/start-server.mdx b/docs/docs/guides/start-server.mdx deleted file mode 100644 index d293bc6468..0000000000 --- a/docs/docs/guides/start-server.mdx +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Local Server -sidebar_position: 4 -description: A step-by-step guide to start Jan Local Server. ---- - - -Jan provides a built-in API server that can be used as a drop-in for OpenAI's API local replacement. This guide will walk you through on how to start the local server and use it to make request to the local server. - -## Step 1: Set the Local Server -To start the local server, follow the steps below: -1. Navigate to the Jan main menu dashboard. -2. Click the corresponding icon on the bottom left side of your screen. -3. Select the model you want to use under the Model Settings screen to set the LLM for your local server. -4. Configure the server settings as follows: - -| Feature | Description | Default Setting | -|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------| -| Local Server Address | By default, Jan is only accessible on the same computer it's running on, using the address 127.0.0.1. You can change this to 0.0.0.0 to let other devices on your local network access it. However, this is less secure than just allowing access from the same computer. | `localhost (127.0.0.1)` | -| Port | Jan runs on port 1337 by default. The port can be changed to any other port number as needed. | `1337` | -| Cross-Origin Resource Sharing (CORS) | Manages resource access from external domains. Enabled for security by default but can be disabled if needed. | Enabled | -| Verbose Server Logs | Provides extensive details about server activities as the local server runs, displayed at the center of the screen. | Not specified (implied enabled) | - -## Step 2: Start and Use the Built-in API Server -Once you have set the server settings, you can start the server by following the steps below: -1. Click the **Start Server** button on the top left of your screen. - -:::note - -When the server starts, you'll see a message like `Server listening at http://127.0.0.1:1337`, and the **Start Server** button will turn into a red **Stop Server** button. -::: - -2. You will be redirected to the API reference server in your browser. -3. Select the available endpoints and try them out by executing the example request. -4. In this example, we will show you how it works using the `Chat` endpoint. -5. Click the **Try it out** button. -6. The Chat endpoint has the following `cURL request example` when running using a `tinyllama-1.1b` model local server: -```json -{ - "messages": [ - { - "content": "You are a helpful assistant.", - "role": "system" - }, - { - "content": "Hello!", - "role": "user" - } - ], - "model": "tinyllama-1.1b", - "stream": true, - "max_tokens": 2048, - "stop": [ - "hello" - ], - "frequency_penalty": 0, - "presence_penalty": 0, - "temperature": 0.7, - "top_p": 0.95 -} -' -``` -7. The endpoint returns the following `JSON response body`: -```json -{ - "choices": [ - { - "finish_reason": null, - "index": 0, - "message": { - "content": "Hello user. What can I help you with?", - "role": "assistant" - } - } - ], - "created": 1700193928, - "id": "ebwd2niJvJB1Q2Whyvkz", - "model": "_", - "object": "chat.completion", - "system_fingerprint": "_", - "usage": { - "completion_tokens": 500, - "prompt_tokens": 33, - "total_tokens": 533 - } -} -``` \ No newline at end of file diff --git a/docs/docs/guides/thread.mdx b/docs/docs/guides/thread.mdx deleted file mode 100644 index fdd8fb6034..0000000000 --- a/docs/docs/guides/thread.mdx +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Thread Management -sidebar_position: 3 -hide_table_of_contents: true -description: Manage your interaction with AI locally. ---- - - -Jan provides a straightforward and private solution for managing your threads with AI on your own device. As you interact with AI using Jan, you'll accumulate a history of threads. -Jan offers easy tools to organize, delete, or review your past threads with AI. This guide will show you how to keep your threads private and well-organized. - - - ### View Thread History - To view your thread history, follow the steps below: - 1. Navigate to the main dashboard. - 2. Locate the list of threads screen on the left side. - 3. To view a specific thread, simply choose the one you're interested in and then scroll up or down to explore the entire conversation. - - - ### Manage Thread via Jan Data Folder - To manage your thread history and configurations, follow the steps below: - 1. Navigate to the Thread that you want to manage via the list of threads on the left side of the dashboard. - 2. Click on the **three dots (⋮)** in the Thread section. - 3. There are two available options to select: - - **Reveal in Finder**: Opens the folder containing the thread history and configurations. - - **View as JSON**: Opens the thread.json file in your default browser. - - - ### Clean Threads History - To clean all the messages from a thread, follow the steps below: - 1. Navigate to the Thread that you want to clean. - 2. Click on the **three dots (⋮)** in the Thread section. - 3. Sleect the **Clean Thread** button. - -:::note -This will delete all messages in the thread while keeping the thread settings. -::: - - - ### Delete Threads History - To delete a thread, follow the steps below: - 1. Navigate to the Thread that you want to delete. - 2. Click on the **three dots (⋮)** in the Thread section. - 3. Sleect the **Delete Thread** button. - - -:::note -This will delete all messages and the thread settings. -::: diff --git a/docs/docs/hardware/community.md b/docs/docs/hardware/community.md deleted file mode 100644 index e1825b24ba..0000000000 --- a/docs/docs/hardware/community.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Hardware Examples -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] ---- - -## Add your own example - -Add your own examples to this page by creating a new file in the `docs/docs/hardware/examples` directory. - -```shell -docs -└── docs - └── hardware - └── examples - └── 3090x1-%40dan-jan.md - └── 3090x1-%40dan-jan.md - // highlight-next-line - └── .md -``` -### File and Title Convention - -We use a specific naming convention for the file name. - -```shell -# Filename --.md -3090x1-@dan-jan.md # Example - -# Title ---- -title: <@github_username>: -title: @dan-jan: 3090 Desktop # Example ---- -``` - -### Content - -We highly recommend you include: - -- Photos of your build -- List of the components (e.g. [PCPartPicker](https://pcpartpicker.com)) -- Dimensions -- Power consumption -- Noise level -- Any stats on token generation speeds -- List of models you have run successfully on the build - -## Affiliate Links - -You are allowed to include affiliate links in your example. - -## Longer-Term - -We will likely build a simple web app to make it easier to add your own examples, sort and retrieve. \ No newline at end of file diff --git a/docs/docs/hardware/concepts/chassis.md b/docs/docs/hardware/concepts/chassis.md deleted file mode 100644 index 1eae76dbbf..0000000000 --- a/docs/docs/hardware/concepts/chassis.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Chassis ---- \ No newline at end of file diff --git a/docs/docs/hardware/concepts/concepts-images/GPU.png b/docs/docs/hardware/concepts/concepts-images/GPU.png deleted file mode 100644 index 775a5ec67d..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/GPU.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/GPU_Image.png b/docs/docs/hardware/concepts/concepts-images/GPU_Image.png deleted file mode 100644 index 67df1278b5..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/GPU_Image.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/PCIex16.png b/docs/docs/hardware/concepts/concepts-images/PCIex16.png deleted file mode 100644 index 3be8ae7a46..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/PCIex16.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/Power.png b/docs/docs/hardware/concepts/concepts-images/Power.png deleted file mode 100644 index c91cd60259..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/Power.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/RAM-VRAM.png b/docs/docs/hardware/concepts/concepts-images/RAM-VRAM.png deleted file mode 100644 index 3b57e6b2bb..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/RAM-VRAM.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/VRAM-Image.png b/docs/docs/hardware/concepts/concepts-images/VRAM-Image.png deleted file mode 100644 index 22566026ba..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/VRAM-Image.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts-images/slot.png b/docs/docs/hardware/concepts/concepts-images/slot.png deleted file mode 100644 index 3d6479f758..0000000000 Binary files a/docs/docs/hardware/concepts/concepts-images/slot.png and /dev/null differ diff --git a/docs/docs/hardware/concepts/concepts.md b/docs/docs/hardware/concepts/concepts.md deleted file mode 100644 index 8c7444c097..0000000000 --- a/docs/docs/hardware/concepts/concepts.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Anatomy of a Thinking Machine -slug: /hardware/concepts ---- - -- Cover the difference between CPU/RAM and GPU/VRAM -- AI can now run on CPU/RAM (llama.cpp) -- AI that runs on Apple Silicon \ No newline at end of file diff --git a/docs/docs/hardware/concepts/cpu-and-ram.md b/docs/docs/hardware/concepts/cpu-and-ram.md deleted file mode 100644 index 9ff6d3921f..0000000000 --- a/docs/docs/hardware/concepts/cpu-and-ram.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: CPU ---- - -- CPU's role vs GPU -- Cooler + Thermal Paste -- RAM \ No newline at end of file diff --git a/docs/docs/hardware/concepts/gpu-and-vram.md b/docs/docs/hardware/concepts/gpu-and-vram.md deleted file mode 100644 index 57387e8d2e..0000000000 --- a/docs/docs/hardware/concepts/gpu-and-vram.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: GPUs and VRAM ---- - -## What Is a GPU? - -A Graphics Card, or GPU (Graphics Processing Unit), is a fundamental component in modern computing. Think of it as the powerhouse behind rendering the stunning visuals you see on your screen. Similar to the motherboard in your computer, the graphics card is a printed circuit board. However, it's not just a passive piece of hardware; it's a sophisticated device equipped with essential components like fans, onboard RAM, a dedicated memory controller, BIOS, and various other features. If you want to learn more about GPUs then read here to [Understand the architecture of a GPU.](https://medium.com/codex/understanding-the-architecture-of-a-gpu-d5d2d2e8978b) - -![GPU Image](concepts-images/GPU_Image.png) - -## What Are GPUs Used For? - -Two decades ago, GPUs primarily enhanced real-time 3D graphics in gaming. But as the 21st century dawned, a revelation occurred among computer scientists. They recognized that GPUs held untapped potential to solve some of the world's most intricate computing tasks. -This revelation marked the dawn of the general-purpose GPU era. Today's GPUs have evolved into versatile tools, more adaptable than ever before. They now have the capability to accelerate a diverse range of applications that stretch well beyond their original graphics-focused purpose. - -### **Here are some example use cases:** - -1. **Gaming**: They make games look good and run smoothly. -2. **Content Creation**: Help with video editing, 3D design, and graphics work. -3. **AI and Machine Learning**: Used for training smart machines. -4. **Science**: Speed up scientific calculations and simulations. -5. **Cryptocurrency Mining**: Mine digital currencies like Bitcoin. -6. **Medical Imaging**: Aid in analyzing medical images. -7. **Self-Driving Cars**: Help cars navigate autonomously. -8. **Simulations**: Create realistic virtual experiences. -9. **Data Analysis**: Speed up data processing and visualization. -10. **Video Streaming**: Improve video quality and streaming efficiency. - -## What is VRAM In GPU? - -VRAM, or video random-access memory, is a type of high-speed memory that is specifically designed for use with graphics processing units (GPUs). VRAM is used to store the textures, images, and other data that the GPU needs to render graphics. Its allows the GPU to access the data it needs quickly and efficiently. This is essential for rendering complex graphics at high frame rates. - -VRAM is different from other types of memory, such as the system RAM that is used by the CPU. VRAM is optimized for high bandwidth and low latency, which means that it can read and write data very quickly. The amount of VRAM that a GPU has is one of the factors that determines its performance. More VRAM allows the GPU to store more data and render more complex graphics. However, VRAM is also one of the most expensive components of a GPU. So when choosing a graphics card, it is important to consider the amount of VRAM that it has. If you are planning on running demanding LLMs or video games, or 3D graphics software, you will need a graphics card with more VRAM. - -![VRAM](concepts-images/VRAM-Image.png) - -## What makes VRAM and RAM different from each other? - -RAM (Random Access Memory) and VRAM (Video Random Access Memory) are both types of memory used in computers, but they have different functions and characteristics. Here are the differences between RAM and VRAM. - -### RAM (Random Access Memory): - -- RAM is a general-purpose memory that stores data and instructions that the CPU needs to access quickly. -- RAM is used for short-term data storage and is volatile, meaning that it loses its contents when the computer is turned off. -- RAM is connected to the motherboard and is accessed by the CPU. -- RAM typically has a larger capacity compared to VRAM, which is designed to store smaller amounts of data with faster access times. -- RAM stores data related to the operating system and the various programs that are running, including code, program files, and user data. - -### VRAM (Video Random Access Memory): - -- VRAM is a type of RAM that is specifically used to store image data for a computer display. -- VRAM is a graphics card component that is connected to the GPU (Graphics Processing Unit). -- VRAM is used exclusively by the GPU and doesn’t need to store as much data as the CPU. -- VRAM is similar to RAM in that it is volatile and loses its contents when the computer is turned off. -- VRAM stores data related specifically to graphics, such as textures, frames, and other graphical data. -- VRAM is designed to store smaller amounts of data with faster access times than RAM. - -In summary, RAM is used for general-purpose memory, while VRAM is used for graphics-related tasks. RAM has a larger capacity and is accessed by the CPU, while VRAM has a smaller capacity and is accessed by the GPU. - -**Key differences between VRAM and RAM:** - -| Characteristic | VRAM | RAM | -| -------------- | --------------------- | --------------------- | -| Purpose | Graphics processing | General processing | -| Speed | Faster | Slower | -| Latency | Lower | Higher | -| Bandwidth | Higher | Lower | -| Cost | More expensive | Less expensive | -| Availability | Less widely available | More widely available | - -![RAM-VRAM](concepts-images/RAM-VRAM.png) - -## How to Connect GPU to the Motherboard via PCIe - -Connecting hardware components to a motherboard is often likened to assembling LEGO pieces. If the parts fit together seamlessly, you're on the right track. Experienced PC builders find this process straightforward. However, for first-time builders, identifying where each hardware component belongs on the motherboard can be a bit perplexing. - -**So follow the below 5 steps to Connect your GPU to the Motherboard:** - -1. First, make sure your computer is powered off and unplugged from the electrical outlet to ensure safety. -2. Open your computer case if necessary to access the motherboard. Locate the PCIe x16 on the motherboard where you'll install the GPU. These slots are typically longer than other expansion slots and are used for graphics cards. - Remove Slot Covers (if applicable): Some PCIe slots may have protective covers or brackets covering them. Remove these covers by unscrewing them from the case using a Phillips-head screwdriver. And PCIe x16 will have plastic lock on one side only. There may be more than one PCIe x16 slot depending on the motherboard. You can use any of the slots according to your choice. - -![PCIe x16](concepts-images/PCIex16.png) - -3. Now Insert the Graphics Card slowly: - -- Unlock the plastic lock on one side of the PCIe x16 slot by pulling it outwards. - -![slot](concepts-images/slot.png) - -- Align the PCIe slot with your graphics card, making sure that the HDMI port side of the GPU faces the rear side of the CPU case. -- Gently press on the card until you hear it securely snap in place. - -![GPU](concepts-images/GPU.png) - -4. Insert the Power Connector: If your GPU requires additional power (most modern GPUs do), connect the necessary power cables from your power supply to the GPU's power connectors. These connectors are usually located on the top or side of the GPU. - -![Power](concepts-images/Power.png) - -5. Power on the System: After turning on the PC see if the fans on your graphics card spin. If it does not spin, remove the power cable from the GPU, reconnect it, and power on the PC again. - -> :memo: Note: To better understand you can also watch YouTube tutorials on how to Connect the GPU to the Motherboard via PCIe - -## How to Choose a Graphics Card for your AI works - -Selecting the optimal GPU for running Large Language Models (LLMs) on your home PC is a decision influenced by your budget and the specific LLMs you intend to work with. Your choice should strike a balance between performance, efficiency, and cost-effectiveness. - -In general, the following GPU features are important for running LLMs: - -- **High VRAM:** LLMs are typically very large and complex models, so they require a GPU with a high amount of VRAM. This will allow the model to be loaded into memory and processed efficiently. -- **CUDA Compatibility:** When running LLMs on a GPU, CUDA compatibility is paramount. CUDA is NVIDIA's parallel computing platform, and it plays a vital role in accelerating deep learning tasks. LLMs, with their extensive matrix calculations, heavily rely on parallel processing. Ensuring your GPU supports CUDA is like having the right tool for the job. It allows the LLM to leverage the GPU's parallel processing capabilities, significantly speeding up model training and inference. -- **Number of CUDA, Tensor, and RT Cores:** High-performance NVIDIA GPUs have both CUDA and Tensor cores. These cores are responsible for executing the neural network computations that underpin LLMs' language understanding and generation. The more CUDA cores your GPU has, the better equipped it is to handle the massive computational load that LLMs impose. Tensor cores in your GPU, further enhance LLM performance by accelerating the critical matrix operations integral to language modeling tasks. -- **Generation (Series)**: When selecting a GPU for LLMs, consider its generation or series (e.g., RTX 30 series). Newer GPU generations often come with improved architectures and features. For LLM tasks, opting for the latest generation can mean better performance, energy efficiency, and support for emerging AI technologies. Avoid purchasing, RTX-2000 series GPUs which are much outdated nowadays. - -### Here are some of the best GPU options for this purpose: - -1. **NVIDIA RTX 3090**: The NVIDIA RTX 3090 is a high-end GPU with a substantial 24GB of VRAM. This copious VRAM capacity makes it exceptionally well-suited for handling large LLMs. Moreover, it's known for its relative efficiency, meaning it won't overheat or strain your home PC's cooling system excessively. The RTX 3090's robust capabilities are a boon for those who need to work with hefty language models. -2. **NVIDIA RTX 4090**: If you're looking for peak performance and can afford the investment, the NVIDIA RTX 4090 represents the pinnacle of GPU power. Boasting 24GB of VRAM and featuring a cutting-edge Tensor Core architecture tailored for AI workloads, it outshines the RTX 3090 in terms of sheer capability. However, it's important to note that the RTX 4090 is also pricier and more power-hungry than its predecessor, the RTX 3090. -3. **AMD Radeon RX 6900 XT**: On the AMD side, the Radeon RX 6900 XT stands out as a high-end GPU with 16GB of VRAM. While it may not quite match the raw power of the RTX 3090 or RTX 4090, it strikes a balance between performance and affordability. Additionally, it tends to be more power-efficient, which could translate to a more sustainable and quieter setup in your home PC. - -If budget constraints are a consideration, there are more cost-effective GPU options available: - -- **NVIDIA RTX 3070**: The RTX 3070 is a solid mid-range GPU that can handle LLMs effectively. While it may not excel with the most massive or complex language models, it's a reliable choice for users looking for a balance between price and performance. -- **AMD Radeon RX 6800 XT**: Similarly, the RX 6800 XT from AMD offers commendable performance without breaking the bank. It's well-suited for running mid-sized LLMs and provides a competitive option in terms of both power and cost. - -When selecting a GPU for LLMs, remember that it's not just about the GPU itself. Consider the synergy with other components in your PC: - -- **CPU**: To ensure efficient processing, pair your GPU with a powerful CPU. LLMs benefit from fast processors, so having a capable CPU is essential. -- **RAM**: Sufficient RAM is crucial for LLMs. They can be memory-intensive, and having enough RAM ensures smooth operation. -- **Cooling System**: LLMs can push your PC's hardware to the limit. A robust cooling system helps maintain optimal temperatures, preventing overheating and performance throttling. - -By taking all of these factors into account, you can build a home PC setup that's well-equipped to handle the demands of running LLMs effectively and efficiently. diff --git a/docs/docs/hardware/concepts/motherboard.md b/docs/docs/hardware/concepts/motherboard.md deleted file mode 100644 index 0a1e0948f8..0000000000 --- a/docs/docs/hardware/concepts/motherboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Motherboard ---- - -- PCIe lanes that go to the processor (not Chipset) \ No newline at end of file diff --git a/docs/docs/hardware/concepts/network.md b/docs/docs/hardware/concepts/network.md deleted file mode 100644 index d14982be4b..0000000000 --- a/docs/docs/hardware/concepts/network.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Network ---- \ No newline at end of file diff --git a/docs/docs/hardware/concepts/power.md b/docs/docs/hardware/concepts/power.md deleted file mode 100644 index 304d71baa9..0000000000 --- a/docs/docs/hardware/concepts/power.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Power Supply ---- \ No newline at end of file diff --git a/docs/docs/hardware/concepts/storage.md b/docs/docs/hardware/concepts/storage.md deleted file mode 100644 index 701f5d39ae..0000000000 --- a/docs/docs/hardware/concepts/storage.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Storage ---- \ No newline at end of file diff --git a/docs/docs/hardware/examples/4090x2-@dan-jan.md b/docs/docs/hardware/examples/4090x2-@dan-jan.md deleted file mode 100644 index 3fb3f08a3d..0000000000 --- a/docs/docs/hardware/examples/4090x2-@dan-jan.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "2 x 4090 Workstation" ---- - -![](/img/2x4090-workstation.png) - -Jan uses a 2 x 4090 Workstation to run Codellama for internal use.[^1] - -## Component List - -| Type | Item | Unit Price | Total Price | -| :------------------- | :------------------------------------------------------------- | :--------- | ----------- | -| **CPU** | [Ryzen Threadripper Pro 5965WX 280W SP3 WOF](AMAZON-LINK-HERE) | $2,229 | | -| **Motherboard** | [Asus Pro WS WRX80E Sage SE WiFi](AMAZON-LINK-HERE) | $933 | | -| **RAM** | 4 x [G.Skill Ripjaw S5 2x32 6000C32](AMAZON-LINK-HERE) | $92.99 | | -| **GPU** | 2 x [Asus Strix RTX 4090 24GB OC](AMAZON-LINK-HERE) | $4,345 | | -| **Storage PCIe-SSD** | [Samsung 990 Pro 2TB NVME 2.0](AMAZON-LINK-HERE) | $134.99 | | -| **Cooler** | [BeQuiet Dark Rock 4 Pro TR4](AMAZON-LINK-HERE) | $89.90 | | -| **Power Supply** | [FSP Cannon 2000W Pro 92+ Full Modular PSU](AMAZON-LINK-HERE) | $449.99 | | -| **Case** | [Veddha 6GPUs Frame Black](AMAZON-LINK-HERE) | $59.99 | | -| **Total cost** | | $8,334 | | - - -[^1]: https://www.reddit.com/r/LocalLLaMA/comments/16lxt6a/case_for_dual_4090s/. ideb \ No newline at end of file diff --git a/docs/docs/hardware/examples/_category_.json b/docs/docs/hardware/examples/_category_.json deleted file mode 100644 index 2a3d9c51ff..0000000000 --- a/docs/docs/hardware/examples/_category_.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "label": "Example Builds", - "link": { - "type": "generated-index" - } -} \ No newline at end of file diff --git a/docs/docs/hardware/hardware.md b/docs/docs/hardware/hardware.md deleted file mode 100644 index 8c50165524..0000000000 --- a/docs/docs/hardware/hardware.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -sidebar_position: 1 -title: Introduction ---- diff --git a/docs/docs/hardware/overview/cloud-vs-self-hosting.md b/docs/docs/hardware/overview/cloud-vs-self-hosting.md deleted file mode 100644 index 0d34bb1a9f..0000000000 --- a/docs/docs/hardware/overview/cloud-vs-self-hosting.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Cloud vs. Self-hosting Your AI ---- - -The choice of how to run your AI - on GPU cloud services, on-prem, or just using an API provider - involves various trade-offs. The following is a naive exploration of the pros and cons of renting vs self-hosting. - -## Cost Comparison - -The following estimations use these general assumptions: - -| | Self-Hosted | GPT 4.0 | GPU Rental | -| ---------- | ---------------------------------------- | -------------- | ------------------ | -| Unit Costs | $10k upfront for 2x4090s (5 year amort.) | $0.00012/token | $4.42 for 1xH100/h | - -- 800 average tokens (input & output) in a single request -- Inference speed is at 24 tokens per second - -### Low Usage - -When operating at low capacity: - -| | Self-Hosted | GPT 4.0 | GPU Rental | -| ---------------- | ----------- | ------- | ---------- | -| Cost per Request | $2.33 | $0.10 | $0.04 | - -### High Usage - -When operating at high capacity, i.e. 24 hours in a day, ~77.8k requests per month: - -| | Self-Hosted | GPT 4.0 | GPU Rental | -| -------------- | ------------ | ------- | ---------- | -| Cost per Month | $166 (fixed) | $7465 | $3182 | - -### Incremental Costs - -Large context use cases are also interesting to evaluate. For example, if you had to write a 500 word essay summarizing Tolstoy's "War and Peace": - -| | Self-Hosted | GPT 4.0 | GPU Rental | -| ----------------------- | -------------------- | ------- | ---------- | -| Cost of "War and Peace" | (upfront fixed cost) | $94 | $40 | - -> **Takeaway**: Renting on cloud or using an API is great for initially scaling. However, it can quickly become expensive when dealing with large datasets and context windows. For predictable costs, self-hosting is an attractive option. - -## Business Considerations - -Other business level considerations may include: - -| | Self-Hosted | GPT 4.0 | GPU Rental | -| ----------------------- | ----------- | ------- | ---------- | -| Data Privacy | ✅ | ❌ | ❌ | -| Offline Mode | ✅ | ❌ | ❌ | -| Customization & Control | ✅ | ❌ | ✅ | -| Auditing | ✅ | ❌ | ✅ | -| Setup Complexity | ❌ | ✅ | ✅ | -| Setup Cost | ❌ | ✅ | ✅ | -| Maintenance | ❌ | ✅ | ❌ | - -## Conclusion - -The decision to run LLMs in the cloud or on in-house servers is not one-size-fits-all. It depends on your business's specific needs, budget, and security considerations. Cloud-based LLMs offer scalability and cost-efficiency but come with potential security concerns, while in-house servers provide greater control, customization, and cost predictability. - -In some situations, using a mix of cloud and in-house resources can be the best way to go. Businesses need to assess their needs and assets carefully to pick the right method for using LLMs in the ever-changing world of AI technology. diff --git a/docs/docs/hardware/overview/cpu-vs-gpu.md b/docs/docs/hardware/overview/cpu-vs-gpu.md deleted file mode 100644 index f0f20d8d60..0000000000 --- a/docs/docs/hardware/overview/cpu-vs-gpu.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: GPU vs CPU What's the Difference? ---- - -## CPU vs. GPU - -| | CPU | GPU | -| ------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------- | -| **Function** | Generalized component that handles main processing functions of a server | Specialized component that excels at parallel computing | -| **Processing** | Designed for serial instruction processing | Designed for parallel instruction processing | -| **Design** | Fewer, more powerful cores | More cores than CPUs, but less powerful than CPU cores | -| **Best suited for** | General-purpose computing applications | High-performance computing applications | - -![CPU VS GPU](https://media.discordapp.net/attachments/964896173401976932/1157998193741660222/CPU-vs-GPU-rendering.png?ex=651aa55b&is=651953db&hm=a22c80ed108a0d25106a20aa25236f7d0fa74167a50788194470f57ce7f4a6ca&=&width=807&height=426) diff --git a/docs/docs/hardware/recommendations/by-budget.md b/docs/docs/hardware/recommendations/by-budget.md deleted file mode 100644 index 9e640fbc9c..0000000000 --- a/docs/docs/hardware/recommendations/by-budget.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Recommended AI Hardware by Budget ---- - -> :warning: **Warning:** Do your own research before any purchase. Jan is not liable for compatibility, performance or other issues. Products can become outdated quickly. - -## Entry-level PC Build at $1000 - -| Type | Item | Price | -| :------------------- | :--------------------------------------------------------- | :------- | -| **CPU** | [Intel Core i5 12400 2.5GHz 6-Core Processor](#) | $170.99 | -| **CPU Cooler** | [Intel Boxed Cooler (Included with CPU)](#) | Included | -| **Motherboard** | [ASUS Prime B660-PLUS DDR4 ATX LGA1700](#) | $169.95 | -| **GPU** | [Nvidia RTX 3050 8GB - ZOTAC Gaming Twin Edge](#) | $250 | -| **Memory** | [16GB (2 x 8GB) G.Skill Ripjaws V DDR4-3200 C16](#) | $49.99 | -| **Storage PCIe-SSD** | [ADATA XPG SX8200 Pro 512GB NVMe M.2 Solid State Drive](#) | $46.50 | -| **Power Supply** | [Corsair CX-M Series CX450M 450W ATX 2.4 Power Supply](#) | $89.99 | -| **Case** | [be quiet! Pure Base 600 Black ATX Mid Tower Case](#) | $97.00 | -| **Total cost** | | $870 | - -## Entry-level PC Build at $1,500 - -| Type | Item | Price | -| :------------------- | :------------------------------------------------------- | :------ | -| **CPU** | [Intel Core i5 12600K 3.7GHz 6-Core Processor](#) | $269.99 | -| **CPU Cooler** | [be quiet! Dark Rock Pro 4](#) | $99.99 | -| **Motherboard** | [ASUS ProArt B660-Creator DDR4 ATX LGA1700](#) | $229.99 | -| **GPU** | [Nvidia RTX 3050 8GB - ZOTAC Gaming Twin Edge](#) | $349.99 | -| **Memory** | [32GB (2 x 16GB) G.Skill Ripjaws V DDR4-3200 C16](#) | $129.99 | -| **Storage PCIe-SSD** | [ADATA XPG SX8200 Pro 1TB NVMe M.2 Solid State Drive](#) | $109.99 | -| **Power Supply** | [Corsair RMx Series RM650x 650W ATX 2.4 Power Supply](#) | $119.99 | -| **Case** | [Corsair Carbide Series 200R ATX Mid Tower Case](#) | $59.99 | -| **Total cost** | | $1371 | - -## Mid-range PC Build at $3000 - -| Type | Item | Price | -| :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------- | -| **CPU** | [AMD Ryzen 9 7950X 4.5 GHz 16-Core Processor](https://de.pcpartpicker.com/product/22XJ7P/amd-ryzen-9-7950x-45-ghz-16-core-processor-100-100000514wof) | $556 | -| **CPU Cooler** | [Thermalright Peerless Assassin 120 White 66.17 CFM CPU Cooler](https://de.pcpartpicker.com/product/476p99/thermalright-peerless-assassin-120-white-6617-cfm-cpu-cooler-pa120-white) | $59.99 | -| **Motherboard** | [Gigabyte B650 GAMING X AX ATX AM5 Motherboard](https://de.pcpartpicker.com/product/YZgFf7/gigabyte-b650-gaming-x-ax-atx-am5-motherboard-b650-gaming-x-ax) | $199.99 | -| **Memory** | [G.Skill Ripjaws S5 64 GB (2 x 32 GB) DDR5-6000 CL32 Memory](https://de.pcpartpicker.com/product/BJcG3C/gskill-ripjaws-s5-64-gb-2-x-32-gb-ddr5-6000-cl32-memory-f5-6000j3238g32gx2-rs5k) | $194 | -| **Storage** | [Crucial P5 Plus 2 TB M.2-2280 PCIe 4.0 X4 NVME Solid ](https://de.pcpartpicker.com/product/VZWzK8/crucial-p5-plus-2-tb-m2-2280-pcie-40-x4-nvme-solid-state-drive-ct2000p5pssd8) | $165.99 | -| **GPU** | [PNY XLR8 Gaming VERTO EPIC-X RGB OC GeForce RTX 4090 24 GB](https://de.pcpartpicker.com/product/TvpzK8/pny-xlr8-gaming-verto-epic-x-rgb-oc-geforce-rtx-4090-24-gb-video-card-vcg409024tfxxpb1-o) | $1,599.99 | -| **Case** | [Fractal Design Pop Air ATX Mid Tower Case](https://de.pcpartpicker.com/product/QnD7YJ/fractal-design-pop-air-atx-mid-tower-case-fd-c-poa1a-02) | $89.99 | -| **Power Supply** | [Thermaltake Toughpower GF A3 - TT Premium Edition 1050 W 80+ Gold](https://de.pcpartpicker.com/product/4v3NnQ/thermaltake-toughpower-gf-a3-1050-w-80-gold-certified-fully-modular-atx-power-supply-ps-tpd-1050fnfagu-l) | $139.99 | -| | -| **Total cost** | **$3000** | - -## High-End PC Build at $6,000 - -| Type | Item | Price | -| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | -| **CPU** | [AMD Ryzen 9 3900X 3.8 GHz 12-Core Processor](https://pcpartpicker.com/product/tLCD4D/amd-ryzen-9-3900x-36-ghz-12-core-processor-100-100000023box) | $365.00 | -| **CPU Cooler** | [Noctua NH-U12S chromax.black 55 CFM CPU Cooler](https://pcpartpicker.com/product/dMVG3C/noctua-nh-u12s-chromaxblack-55-cfm-cpu-cooler-nh-u12s-chromaxblack) | $89.95 | -| **Motherboard** | [Asus ProArt X570-CREATOR WIFI ATX AM4 Motherboard](https://pcpartpicker.com/product/8y8bt6/asus-proart-x570-creator-wifi-atx-am4-motherboard-proart-x570-creator-wifi) | $599.99 | -| **Memory** | [Corsair Vengeance LPX 128 GB (4 x 32 GB) DDR4-3200 CL16 Memory](https://pcpartpicker.com/product/tRH8TW/corsair-vengeance-lpx-128-gb-4-x-32-gb-ddr4-3200-memory-cmk128gx4m4e3200c16) | $249.99 | -| **Storage** | [Sabrent Rocket 4 Plus 2 TB M.2-2280 PCIe 4.0 X4 NVME Solid State Drive](https://pcpartpicker.com/product/PMBhP6/sabrent-rocket-4-plus-2-tb-m2-2280-nvme-solid-state-drive-sb-rkt4p-2tb) | $129.99 | -| **GPU** | [PNY RTX A-Series RTX A6000 48 GB Video Card](https://pcpartpicker.com/product/HWt9TW/pny-rtx-a-series-rtx-a6000-48-gb-video-card-vcnrtxa6000-pb) | $4269.00 | -| **Power Supply** | [EVGA SuperNOVA 850 G2 850 W 80+ Gold ](https://pcpartpicker.com/product/LCfp99/evga-supernova-850-g2-850-w-80-gold-certified-fully-modular-atx-power-supply-220-g2-0850-xr) | $322.42 | -| | -| **Total cost** | **$6026.34** | diff --git a/docs/docs/hardware/recommendations/by-hardware.md b/docs/docs/hardware/recommendations/by-hardware.md deleted file mode 100644 index ee80a290cd..0000000000 --- a/docs/docs/hardware/recommendations/by-hardware.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Selecting AI Hardware ---- - -When selecting a GPU for LLMs, remember that it's not just about the GPU itself. Consider the synergy with other components in your PC: - -- **CPU**: To ensure efficient processing, pair your GPU with a powerful CPU. LLMs benefit from fast processors, so having a capable CPU is essential. -- **RAM**: Sufficient RAM is crucial for LLMs. They can be memory-intensive, and having enough RAM ensures smooth operation. -- **Cooling System**: LLMs can push your PC's hardware to the limit. A robust cooling system helps maintain optimal temperatures, preventing overheating and performance throttling. - -By taking all of these factors into account, you can build a home PC setup that's well-equipped to handle the demands of running LLMs effectively and efficiently. - -## GPU Selection - -Selecting the optimal GPU for running Large Language Models (LLMs) on your home PC is a decision influenced by your budget and the specific LLMs you intend to work with. Your choice should strike a balance between performance, efficiency, and cost-effectiveness. - -### GPU Comparison - -| GPU | Price | Cores | VRAM (GB) | Bandwth (T/s) | Power | -| --------------------- | ----- | ----- | --------- | ------------- | ----- | -| Nvidia H100 | 40000 | 18432 | 80 | 2 | | -| Nvidia A100 | 15000 | 6912 | 80 | | | -| Nvidia A100 | 7015 | 6912 | 40 | | | -| Nvidia A10 | 2799 | 9216 | 24 | | | -| Nvidia RTX A6000 | 4100 | 10752 | 48 | 0.768 | | -| Nvidia RTX 6000 | 6800 | 4608 | 46 | | | -| Nvidia RTX 4090 Ti | 2000 | 18176 | 24 | | | -| Nvidia RTX 4090 | 1800 | 16384 | 24 | 1.008 | | -| Nvidia RTX 3090 | 1450 | 10496 | 24 | | | -| Nvidia RTX 3080 | 700 | 8704 | 12 | | | -| Nvidia RTX 3070 | 900 | 6144 | 8 | | | -| Nvidia L4 | 2711 | 7424 | 24 | | | -| Nvidia T4 | 2299 | 2560 | 16 | | | -| AMD Radeon RX 6900 XT | 1000 | 5120 | 16 | | | -| AMD Radeon RX 6800 XT | 420 | 4608 | 16 | | | - -\*Market prices as of Oct 2023 via Amazon/PCMag - -### Other Considerations - -In general, the following GPU features are important for running LLMs: - -- **High VRAM:** LLMs are typically very large and complex models, so they require a GPU with a high amount of VRAM. This will allow the model to be loaded into memory and processed efficiently. -- **CUDA Compatibility:** When running LLMs on a GPU, CUDA compatibility is paramount. CUDA is NVIDIA's parallel computing platform, and it plays a vital role in accelerating deep learning tasks. LLMs, with their extensive matrix calculations, heavily rely on parallel processing. Ensuring your GPU supports CUDA is like having the right tool for the job. It allows the LLM to leverage the GPU's parallel processing capabilities, significantly speeding up model training and inference. -- **Number of CUDA, Tensor, and RT Cores:** High-performance NVIDIA GPUs have both CUDA and Tensor cores. These cores are responsible for executing the neural network computations that underpin LLMs' language understanding and generation. The more CUDA cores your GPU has, the better equipped it is to handle the massive computational load that LLMs impose. Tensor cores in your GPU, further enhance LLM performance by accelerating the critical matrix operations integral to language modeling tasks. -- **Generation (Series)**: When selecting a GPU for LLMs, consider its generation or series (e.g., RTX 30 series). Newer GPU generations often come with improved architectures and features. For LLM tasks, opting for the latest generation can mean better performance, energy efficiency, and support for emerging AI technologies. Avoid purchasing, RTX-2000 series GPUs which are much outdated nowadays. - -## CPU Selection - -Selecting the right CPU for running Large Language Models (LLMs) on your home PC is contingent on your budget and the specific LLMs you intend to work with. It's a decision that warrants careful consideration, as the CPU plays a pivotal role in determining the overall performance of your system. - -In general, the following CPU features are important for running LLMs: - -- **Number of Cores and Threads:** the number of CPU cores and threads influences parallel processing. More cores and threads help handle the complex computations involved in language models. For tasks like training and inference, a higher core/thread count can significantly improve processing speed and efficiency, enabling quicker results. -- **High clock speed:** The base clock speed, or base frequency, represents the CPU's default operating speed. So having a CPU with a high clock speed. This will allow the model to process instructions more quickly, which can further improve performance. -- **Base Power (TDP):** LLMs often involve long training sessions and demanding computations. Therefore, a lower Thermal Design Power (TDP) is desirable. A CPU with a lower TDP consumes less power and generates less heat during prolonged LLM operations. This not only contributes to energy efficiency but also helps maintain stable temperatures in your system, preventing overheating and potential performance throttling. -- **Generation (Series):** Consider its generation or series (e.g., 9th Gen, 11th Gen Intel Core). Newer CPU generations often come with architectural improvements that enhance performance and efficiency. For LLM tasks, opting for a more recent generation can lead to faster and more efficient language model training and inference. -- **Support for AVX512:** AVX512 is a set of vector instruction extensions that can be used to accelerate machine learning workloads. Many LLMs are optimized to take advantage of AVX512, so it is important to make sure that your CPU supports this instruction set. - -### Here are some CPU options for running LLMs: - -1. **Intel Core i7-12700K**: Slightly less potent than the Core i9-12900K, the Intel Core i7-12700K is still a powerful CPU. With 12 cores and 20 threads, it strikes a balance between performance and cost-effectiveness. This CPU is well-suited for running mid-sized and large LLMs, making it a compelling option. -2. **Intel Core i9-12900K**: Positioned as a high-end CPU, the Intel Core i9-12900K packs a formidable punch with its 16 cores and 24 threads. It's one of the fastest CPUs available, making it an excellent choice for handling large and intricate LLMs. The abundance of cores and threads translates to exceptional parallel processing capabilities, which is crucial for tasks involving massive language models. -3. **AMD Ryzen 9 5950X**: Representing AMD's high-end CPU offering, the Ryzen 9 5950X boasts 16 cores and 32 threads. While it may not quite match the speed of the Core i9-12900K, it remains a robust and cost-effective choice. Its multicore prowess enables smooth handling of LLM workloads, and its affordability makes it an attractive alternative. -4. **AMD Ryzen 7 5800X**: Slightly less potent than the Ryzen 9 5950X, the Ryzen 7 5800X is still a formidable CPU with 8 cores and 16 threads. It's well-suited for running mid-sized and smaller LLMs, providing a compelling blend of performance and value. - -For those operating within budget constraints, there are more budget-friendly CPU options: - -- **Intel Core i5-12600K**: The Core i5-12600K is a capable mid-range CPU that can still handle LLMs effectively, though it may not be optimized for the largest or most complex models. -- **AMD Ryzen 5 5600X**: The Ryzen 5 5600X offers a balance of performance and affordability. It's suitable for running smaller to mid-sized LLMs without breaking the bank. - -**When selecting a CPU for LLMs, consider the synergy with other components in your PC:** - -- **GPU**: Pair your CPU with a powerful GPU to ensure smooth processing of LLMs. Some language models, particularly those used for AI, rely on GPU acceleration for optimal performance. -- **RAM**: Adequate RAM is essential for LLMs, as these models can be memory-intensive. Having enough RAM ensures that your CPU can operate efficiently without bottlenecks. -- **Cooling System**: Given the resource-intensive nature of LLMs, a robust cooling system is crucial to maintain optimal temperatures and prevent performance throttling. - -By carefully weighing your budget and performance requirements and considering the interplay of components in your PC, you can assemble a well-rounded system that's up to the task of running LLMs efficiently. - -> :memo: **Note:** It is important to note that these are just general recommendations. The specific CPU requirements for your LLM will vary depending on the specific model you are using and the tasks that you want to perform with it. If you are unsure what CPU to get, it is best to consult with an expert. - -## RAM Selection - -The amount of RAM you need to run an LLM depends on the size and complexity of the model, as well as the tasks you want to perform with it. For example, if you are simply running inference on a pre-trained LLM, you may be able to get away with using a relatively modest amount of RAM. However, if you are training a new LLM from scratch, or if you are running complex tasks like fine-tuning or code generation, you will need more RAM. - -### Here is a general guide to RAM selection for running LLMs: - -- **Capacity:** The amount of RAM you need will depend on the size and complexity of the LLM model you want to run. For inference, you will need at least 16GB of RAM, but 32GB or more is ideal for larger models and more complex tasks. For training, you will need at least 64GB of RAM, but 128GB or more is ideal for larger models and more complex tasks. -- **Speed:** LLMs can benefit from having fast RAM, so it is recommended to use DDR4 or DDR5 RAM with a speed of at least 3200MHz. -- **Latency:** RAM latency is the amount of time it takes for the CPU to access data in memory. Lower latency is better for performance, so it is recommended to look for RAM with a low latency rating. -- **Timing:** RAM timing is a set of parameters that control how the RAM operates. It is important to make sure that the RAM timing is compatible with your motherboard and CPU. - -R**ecommended RAM** **options for running LLMs:** - -- **Inference:** For inference on pre-trained LLMs, you will need at least 16GB of RAM. However, 32GB or more is ideal for larger models and more complex tasks. -- **Training:** For training LLMs from scratch, you will need at least 64GB of RAM. However, 128GB or more is ideal for larger models and more complex tasks. - -In addition to the amount of RAM, it is also important to consider the speed of the RAM. LLMs can benefit from having fast RAM, so it is recommended to use DDR4 or DDR5 RAM with a speed of at least 3200MHz. - -## Motherboard Selection - -When picking a motherboard to run advanced language models, you need to think about a few things. First, consider the specific language model you want to use, the type of CPU and GPU in your computer, and your budget. Here are some suggestions: - -1. **ASUS ROG Maximus Z790 Hero:** This is a top-notch motherboard with lots of great features. It works well with Intel's latest CPUs, fast DDR5 memory, and PCIe 5.0 devices. It's also good at keeping things cool, which is important for running demanding language models. -2. **MSI MEG Z790 Ace:** Similar to the ASUS ROG Maximus, this motherboard is high-end and has similar features. It's good for running language models too. -3. **Gigabyte Z790 Aorus Master:** This one is more budget-friendly but still works great with Intel's latest CPUs, DDR5 memory, and fast PCIe 5.0 devices. It's got a strong power system, which helps with running language models. - -If you're on a tighter budget, you might want to check out mid-range options like the **ASUS TUF Gaming Z790-Plus WiFi** or the **MSI MPG Z790 Edge WiFi DDR5**. They offer good performance without breaking the bank. - -No matter which motherboard you pick, make sure it works with your CPU and GPU. Also, check that it has the features you need, like enough slots for your GPU and storage drives. - -Other things to think about when choosing a motherboard for language models: - -- **Cooling:** Language models can make your CPU work hard, so a motherboard with good cooling is a must. This keeps your CPU from getting too hot. -- **Memory:** Language models need lots of memory, so make sure your motherboard supports a good amount of it. Check if it works with the type of memory you want to use, like DDR5 or DDR4. -- **Storage:** Language models can create and store a ton of data. So, look for a motherboard with enough slots for your storage drives. -- **BIOS:** The BIOS controls your motherboard. Make sure it's up-to-date and has the latest features, especially if you plan to overclock or undervolt your system. - -## Cooling System Selection - -Modern computers have two critical components, the CPU and GPU, which can heat up during high-performance tasks. To prevent overheating, they come with built-in temperature controls that automatically reduce performance when temperatures rise. To keep them cool and maintain optimal performance, you need a reliable cooling system. - -For laptops, the only choice is a fan-based cooling system. Laptops have built-in fans and copper pipes to dissipate heat. Many gaming laptops even have two separate fans: one for the CPU and another for the GPU. - -For desktop computers, you have the option to install more efficient water cooling systems. These are highly effective but can be expensive. Or you can install more cooling fans to keep you components cool. - -Keep in mind that dust can accumulate in fan-based cooling systems, leading to malfunctions. So periodically clean the dust to keep your cooling system running smoothly. - -## Use MacBook to run LLMs - -An Apple MacBook equipped with either the M1 or the newer M2 Pro/Max processor. These cutting-edge chips leverage Apple's innovative Unified Memory Architecture (UMA), which revolutionizes the way the CPU and GPU interact with memory resources. This advancement plays a pivotal role in enhancing the performance and capabilities of LLMs. - -Unified Memory Architecture, as implemented in Apple's M1 and M2 series processors, facilitates seamless and efficient data access for both the CPU and GPU. Unlike traditional systems where data needs to be shuttled between various memory pools, UMA offers a unified and expansive memory pool that can be accessed by both processing units without unnecessary data transfers. This transformative approach significantly minimizes latency while concurrently boosting data access bandwidth, resulting in substantial improvements in both the speed and quality of outputs. -![UMA](https://media.discordapp.net/attachments/1148534242104574012/1156600109967089714/IMG_3722.webp?ex=6516380a&is=6514e68a&hm=ebe3b6ecb1edb44cde58bd8d3fdd46cef66b60aa41ea6c03b51325fa65f8517e&=&width=807&height=426) - -The M1 and M2 Pro/Max chips offer varying levels of unified memory bandwidth, further underscoring their prowess in handling data-intensive tasks like AI processing. The M1/M2 Pro chip boasts an impressive capacity of up to 200 GB/s of unified memory bandwidth, while the M1/M2 Max takes it a step further, supporting up to a staggering 400 GB/s of unified memory bandwidth. This means that regardless of the complexity and demands of the AI tasks at hand, these Apple laptops armed with M1 or M2 processors are well-equipped to handle them with unparalleled efficiency and speed. - -## Calculating vRAM Requirements for an LLM - -**For example:** Calculating the VRAM required to run a 13-billion-parameter Large Language Model (LLM) involves considering the model size, batch size, sequence length, token size, and any additional overhead. Here's how you can estimate the VRAM required for a 13B LLM: - -1. **Model Size**: Find out the size of the 13B LLM in terms of the number of parameters. This information is typically provided in the model's documentation. A 13-billion-parameter model has 13,000,000,000 parameters. -2. **Batch Size**: Decide on the batch size you want to use during inference. The batch size represents how many input samples you process simultaneously. Smaller batch sizes require less VRAM. -3. **Sequence Length**: Determine the average length of the input text sequences you'll be working with. Sequence length can impact VRAM requirements; longer sequences need more memory. -4. **Token Size**: Understand the memory required to store one token in bytes. Most LLMs use 4 bytes per token. -5. **Overhead**: Consider any additional memory overhead for intermediate computations and framework requirements. Overhead can vary but should be estimated based on your specific setup. - -Use the following formula to estimate the VRAM required: - -**VRAM Required (in gigabytes)** = `Model Parameters x Token Size x Batch Size x Sequence Length + Overhead` - -- **Model Parameters**: 13,000,000,000 parameters for a 13B LLM. -- **Token Size**: Usually 4 bytes per token. -- **Batch Size**: Choose your batch size. -- **Sequence Length**: The average length of input sequences. -- **Overhead**: Any additional VRAM required based on your setup. - -Here's an example: - -Suppose you want to run a 13B LLM with the following parameters: - -- **Batch Size**: 4 -- **Sequence Length**: 512 tokens -- **Token Size**: 4 bytes -- **Estimated Overhead**: 2 GB - -VRAM Required (in gigabytes) = `(13,000,000,000 x 4 x 4 x 512) + 2` - -VRAM Required (in gigabytes) = `(8,388,608,000) + 2,000` - -VRAM Required (in gigabytes) ≈ `8,390,608,000 bytes` - -To convert this to gigabytes, divide by `1,073,741,824 (1 GB)` - -VRAM Required (in gigabytes) ≈ `8,390,608,000 / 1,073,741,824 ≈ 7.8 GB` - -So, to run a 13-billion-parameter LLM with the specified parameters and overhead, you would need approximately 7.8 gigabytes of VRAM on your GPU. Make sure to have some additional VRAM for stable operation and consider testing the setup in practice to monitor VRAM usage accurately. - - diff --git a/docs/docs/hardware/recommendations/by-model.md b/docs/docs/hardware/recommendations/by-model.md deleted file mode 100644 index 99d1ca8a2d..0000000000 --- a/docs/docs/hardware/recommendations/by-model.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Recommended AI Hardware by Model ---- - -## Codellama 34b - -### System Requirements: - -**For example**: If you want to use [Codellama 7B](https://huggingface.co/TheBloke/CodeLlama-7B-Instruct-GPTQ/tree/main) models on your own computer, you can take advantage of your GPU and run this with GPTQ file models. - -GPTQ is a format that compresses the model parameters to 4-bit, which reduces the VRAM requirements significantly. You can use the [oobabooga webui](https://github.com/oobabooga/text-generation-webui) or [JanAI](https://jan.ai/), which are simple interfaces that let you interact with different LLMS on your browser. It is pretty easy to set up and run. You can install it on Windows or Linux. (linked it to our installation page) - -**For 7B Parameter Models (4-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | -------------------- | ----------------- | ----------------------------------------- | -| GPTQ (GPU inference) | 6GB (Swap to Load\*) | 6GB | GTX 1660, 2060,RTX 3050, 3060 AMD 5700 XT | -| GGML / GGUF (CPU inference) | 4GB | 300MB | | -| Combination of GPTQ and GGML / GGUF (offloading) | 2GB | 2GB | | - -**For 13B Parameter Models (4-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | --------------------- | ----------------- | -------------------------------------------------- | -| GPTQ (GPU inference) | 12GB (Swap to Load\*) | 10GB | | -| GGML / GGUF (CPU inference) | 8GB | 500MB | AMD 6900 XT, RTX 2060 12GB, 3060 12GB, 3080, A2000 | -| Combination of GPTQ and GGML / GGUF (offloading) | 10GB | 10GB | | - -**For 34B Parameter Models (4-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | --------------------- | ----------------- | -------------------------------------------------------------------- | -| GPTQ (GPU inference) | 32GB (Swap to Load\*) | 20GB | | -| GGML / GGUF (CPU inference) | 20GB | 500MB | RTX 3080 20GB, A4500, A5000, 3090, 4090, 6000, Tesla V100, Tesla P40 | -| Combination of GPTQ and GGML / GGUF (offloading) | 10GB | 4GB | | - -**For 7B Parameter Models (8-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | --------------------- | ----------------- | -------------------------------------- | -| GPTQ (GPU inference) | 24GB (Swap to Load\*) | 12GB | RTX 3080, RTX 3080 Ti, RTX 3090, A5000 | -| GGML / GGUF (CPU inference) | 16GB | 1GB | RTX 3060 12GB, RTX 3070, A2000 | -| Combination of GPTQ and GGML / GGUF (offloading) | 12GB | 4GB | RTX 3060, RTX 3060 Ti, A2000 | - -**For 13B Parameter Models (8-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | --------------------- | ----------------- | --------------------------------- | -| GPTQ (GPU inference) | 36GB (Swap to Load\*) | 20GB | RTX 4090, A6000, A6000 Ti, A8000 | -| GGML / GGUF (CPU inference) | 24GB | 2GB | RTX 3080 20GB, RTX 3080 Ti, A5000 | -| Combination of GPTQ and GGML / GGUF (offloading) | 20GB | 8GB | RTX 3080, RTX 3080 Ti, A5000 | - -**For 34B Parameter Models (8-bit Quantization)** - -| Format | RAM Requirements | VRAM Requirements | Minimum recommended GPU | -| ------------------------------------------------ | --------------------- | ----------------- | -------------------------------- | -| GPTQ (GPU inference) | 64GB (Swap to Load\*) | 40GB | A8000, A8000 Ti, A9000 | -| GGML / GGUF (CPU inference) | 40GB | 2GB | RTX 4090, A6000, A6000 Ti, A8000 | -| Combination of GPTQ and GGML / GGUF (offloading) | 48GB | 20GB | RTX 4090, A6000, A6000 Ti, A8000 | - -> :memo: **Note**: System RAM, not VRAM, required to load the model, in addition to having enough VRAM. Not required to run the model. You can use swap space if you do not have enough RAM. - -### Performance Recommendations: - -1. **Optimal Performance**: To achieve the best performance when working with CodeLlama models, consider investing in a high-end GPU such as NVIDIA's latest RTX 3090 or RTX 4090. For the largest models like the 65B and 70B, a dual GPU setup is recommended. Additionally, ensure your system boasts sufficient RAM, with a minimum of 16 GB, although 64 GB is ideal for seamless operation. -2. **Budget-Friendly Approach**: If budget constraints are a concern, focus on utilizing CodeLlama GGML/GGUF models that can comfortably fit within your system's available RAM. Keep in mind that while you can allocate some model weights to the system RAM to save GPU memory, this may result in a performance trade-off. - -> :memo: **Note**: It's essential to note that these recommendations are guidelines, and the actual performance you experience will be influenced by various factors. These factors include the specific task you're performing, the implementation of the model, and the concurrent system processes. To optimize your setup, consider these recommendations as a starting point and adapt them to your unique requirements and constraints. diff --git a/docs/docs/hardware/recommendations/by-usecase.md b/docs/docs/hardware/recommendations/by-usecase.md deleted file mode 100644 index 2ae0cb906c..0000000000 --- a/docs/docs/hardware/recommendations/by-usecase.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Recommended AI Hardware by Use Case ---- - -## Which AI Hardware to Choose Based on Your Use Case - -Artificial intelligence (AI) is rapidly changing the world, and AI hardware is becoming increasingly important for businesses and individuals alike. Choosing the right hardware for your AI needs is crucial to get the best performance and results. Here are some tips for selecting AI hardware based on your specific use case and requirements. - -### Entry-level Experimentation: - -**Personal Use:** -When venturing into the world of AI as an individual, your choice of hardware can significantly impact your experience. Here's a more detailed breakdown: - -- **Macbook (16GB):** A Macbook equipped with 16GB of RAM and either the M1 or the newer M2 Pro/Max processor is an excellent starting point for AI enthusiasts. These cutting-edge chips leverage Apple's innovative Unified Memory Architecture (UMA), which revolutionizes the way the CPU and GPU interact with memory resources. This advancement plays a pivotal role in enhancing the performance and capabilities of LLMs. -- **Nvidia GeForce RTX 3090:** This powerful graphics card is a solid alternative for AI beginners, offering exceptional performance for basic experiments. - -2. **Serious AI Work:** - -- **2 x 3090 RTX Card (48GB RAM):** For those committed to more advanced AI projects, this configuration provides the necessary muscle. Its dual Nvidia GeForce RTX 3090 GPUs and ample RAM make it suitable for complex AI tasks and model training. - -## Business Use - -### For a 10-person Small Business - -Run a LLM trained on enterprise data (i.e. RAG) - -- Mac Studio M2 Ultra with 192GB unified memory - - Cannot train -- RTX 6000 - - Should we recommend 2 x 4090 instead? - -### For a 50-person Law Firm - -- LLM, PDF Parsing, OCR -- Audit logging and compliance - -### For a 1,000-student School - -- Llama2 with safeguards -- RAG with textbook data -- Policy engine - -## Software Engineering - -### Personal Code Assistant - -- Llama34b, needs adequate RAM -- Not recommended to run on local device due to RAM - -### For a 10 person Software Team - -Run Codellama with RAG on existing codebase - -- Codellama34b -- RTX 6000s (48gb) - -## Enterprise - -### For a 1000-person Enterprise - -### For a 10,000-person Enterprise - -- 8 x H100s -- NVAIE with vGPUs diff --git a/docs/docs/how-we-work.md b/docs/docs/how-we-work.md deleted file mode 100644 index e81099d186..0000000000 --- a/docs/docs/how-we-work.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: How We Work ---- - -### Open Source - -Jan is a startup with an open source business model. We believe in the need for an open source AI ecosystem, and are committed to building it. - -- [Jan Framework](https://github.com/janhq/jan) (AGPLv3) -- [Jan Desktop Client & Local server](https://jan.ai) (AGPLv3, built on Jan Framework) -- [Nitro: run Local AI](https://github.com/janhq/nitro) (AGPLv3) - -### Build in Public - -We use GitHub to build in public and welcome anyone to join in. - -- [Jan's Kanban](https://github.com/orgs/janhq/projects/5) -- [Jan's Roadmap](https://github.com/orgs/janhq/projects/5/views/29) -- `coming soon` [Jan's Newsletter](https://newsletter.jan.ai) - -### Remote Team - -Jan has a fully-remote team. We are mainly based in the APAC timezone. We use [Discord](https://discord.gg/af6SaTdzpx) and [Github](https://github.com/janhq) to work. diff --git a/docs/docs/how-we-work/analytics/analytics.md b/docs/docs/how-we-work/analytics/analytics.md deleted file mode 100644 index 79e107a838..0000000000 --- a/docs/docs/how-we-work/analytics/analytics.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Analytics ---- - -Adhering to Jan's privacy preserving philosophy, our analytics philosophy is to get "barely-enough-to-function'. - -#### What is tracked - -1. By default, Github tracks downloads and device metadata for all public GitHub repositories. This helps us troubleshoot & ensure cross-platform support. -2. We use [Umami](https://umami.is/) to collect, analyze, and understand application data while maintaining visitor privacy and data ownership. We are using the Umami Cloud in Europe to ensure GDPR compliance. Please see [Umami Privacy Policy](https://umami.is/privacy) for more details. -3. We use Umami to track a single `app.opened` event without additional user metadata, in order to understand retention. In addition, we track `app.version` to understand app version usage. -4. Additionally, we plan to enable a `Settings` feature for users to turn off all tracking. diff --git a/docs/docs/how-we-work/engineering/assets/01-get-help.png b/docs/docs/how-we-work/engineering/assets/01-get-help.png deleted file mode 100644 index ea347432b3..0000000000 Binary files a/docs/docs/how-we-work/engineering/assets/01-get-help.png and /dev/null differ diff --git a/docs/docs/how-we-work/engineering/ci-cd.md b/docs/docs/how-we-work/engineering/ci-cd.md deleted file mode 100644 index 34454e8506..0000000000 --- a/docs/docs/how-we-work/engineering/ci-cd.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: CI & CD -slug: /engineering/ci-cd ---- - -## Gitflow - -Previously we were trunk based. Now we use the following Gitflow: - -TODO: @van to include her Mermaid diagram diff --git a/docs/docs/how-we-work/engineering/engineering.md b/docs/docs/how-we-work/engineering/engineering.md deleted file mode 100644 index 1db5c39123..0000000000 --- a/docs/docs/how-we-work/engineering/engineering.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Engineering -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -slug: /engineering -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -## Prerequisites - -- [Requirements](https://github.com/janhq/jan?tab=readme-ov-file#requirements-for-running-jan) -- [Setting up local env](https://github.com/janhq/jan?tab=readme-ov-file#contributing) diff --git a/docs/docs/how-we-work/engineering/qa.mdx b/docs/docs/how-we-work/engineering/qa.mdx deleted file mode 100644 index f43caae4a4..0000000000 --- a/docs/docs/how-we-work/engineering/qa.mdx +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: QA -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -slug: /engineering/qa -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -### Phase 1: Planning - -#### Definition of Ready (DoR): - -- [ ] **Scope Defined:** The features to be implemented are clearly defined and scoped out. -- [ ] **Requirements Gathered:** Gather and document all the necessary requirements for the feature. -- [ ] **Stakeholder Input:** Ensure relevant stakeholders have provided input on the document scope and content. - -#### Definition of Done (DoD): - -- [ ] **Document Complete:** All sections of the document are filled out with relevant information. -- [ ] **Reviewed by Stakeholders:** The document has been reviewed and approved by stakeholders. -- [ ] **Ready for Development:** The document is in a state where developers can use it to begin implementation. - -### Phase 2: Development - -#### Definition of Ready (DoR): - -- [ ] **Task Breakdown:** The development team has broken down tasks based on the document. -- [ ] **Communication Plan:** A plan is in place for communication between developers and writers if clarification is needed during implementation. -- [ ] **Developer Understanding:** Developers have a clear understanding of the document content. - -#### Definition of Done (DoD): - -- [ ] **Code Implementation:** The feature is implemented according to the document specifications. -- [ ] **Developer Testing:** - - Unit tests and basic integration tests are completed - - Developer also completed self-testing for the feature (please add this as a comment in the ticket, with the tested OS and as much info as possible to reduce overlaping effort). - - (AC -> Code Changes -> Impacted scenarios) -- [ ] **Communication with Writers:** Developers have communicated any changes or challenges to the writers, and necessary adjustments are made in the document. (Can be through a note in the PR of the feature for writers to take care, or create a separate PR with the change you made for the docs, for writers to review) - -### Phase 3: QA for feature - -#### Definition of Ready (DoR): - -- [ ] **Test Note Defined:** The test note is prepared outlining the testing items. -- [ ] **Environment Ready:** PR merged to nightly build, Nightly build notes updated (automatically from pipeline after merged). -- [ ] **Status:** Ticket moved to the column Testing and assigning to QA/writers to review. -- [ ] **Test Data Prepared:** Relevant test data is prepared for testing the scenarios. - -#### Definition of Done (DoD): - -- [ ] **Test Executed:** All identified test items are executed on different OS, along with exploratory testing. -- [ ] **Defects Logged:** Any defects found during testing are resolved / appropriately logged (and approved for future fix). -- [ ] **Test Sign-Off:** QA team provides sign-off indicating the completion of testing. - -### Phase 4: Release (DoR) - -- [ ] **Pre-release wait time:** Code change to pre-release version should be frozen for at least X (hrs/days) for Regression testing purpose. - - Pre-release cut off on Thu morning for the team to regression test. - - Release to production (Stable) during working hour on Mon morning (if no blocker) or Tue morning. - - During the release cut off, the nightly build will be paused, to leave room for pre-release build. The build version used for regression test will be notified. -- [ ] **Pre-release testing:** A review of the implemented feature has been conducted, a long with regression test (check-list) by the team. - - Release checklist cloned from the templat for different OS (with hackMD link) - - New key test items from new feature added to the checklist. - - Split 3 OS to different team members for testing. -- [ ] **Document Updated:** The document is updated based on the review and feedback on any discrepancies or modification needed for this release. -- [ ] **Reviewed by Stakeholders:** New feature and the updated document is reviewed and approved by stakeholders. The document is in its final version, reflecting the implemented feature accurately. - -### Notes (WIP) - -- [ ] **API collection run:** to run along with nightly build daily, for critical API validation -- [ ] **Automation run:** for regression testing purpose, to reduce manual testing effort for the same items each release on multiple OS. diff --git a/docs/docs/how-we-work/product-design/product-design.md b/docs/docs/how-we-work/product-design/product-design.md deleted file mode 100644 index a2016b6b8f..0000000000 --- a/docs/docs/how-we-work/product-design/product-design.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Product & Design ---- - -## Roadmap - -- Conversations over Tickets - - Discord's #roadmap channel - - Work with the community to turn conversations into Product Specs -- Future System? - - Use Canny? \ No newline at end of file diff --git a/docs/docs/how-we-work/project-management/project-management.md b/docs/docs/how-we-work/project-management/project-management.md deleted file mode 100644 index 58af4a0d32..0000000000 --- a/docs/docs/how-we-work/project-management/project-management.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Project Management ---- - -We use the [Jan Monorepo Project](https://github.com/orgs/janhq/projects/5) in Github to manage our roadmap and sprint Kanbans. - -As much as possible, everyone owns their respective `epics` and `tasks`. - -:::tip -We aim for a `loosely coupled, but tightly aligned` autonomous culture. -::: - -## Quicklinks - -- [High-level roadmap](https://github.com/orgs/janhq/projects/5/views/16): view used at at strategic level, for team wide alignment. Start & end dates reflect engineering implementation cycles. Typically product & design work preceeds these timelines. -- [Standup Kanban](https://github.com/orgs/janhq/projects/5/views/25): view used during daily standup. Sprints should be up to date. - -## Organization - -[`Roadmap Labels`](https://github.com/janhq/jan/labels?q=roadmap) - -- `Roadmap Labels` tag large, long-term, & strategic projects that can span multiple teams and multiple sprints -- Example label: `roadmap: Jan has Mobile` -- `Roadmaps` contain `epics` - -[`Epics`](https://github.com/janhq/jan/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+epic%22) - -- `Epics` track large stories that span 1-2 weeks, and it outlines specs, architecture decisions, designs -- `Epics` contain `tasks` -- `Epics` should always have 1 owner - -[`Milestones`](https://github.com/janhq/jan/milestones) - -- `Milestones` track release versions. We use [semantic versioning](https://semver.org/) -- `Milestones` span ~2 weeks and have deadlines -- `Milestones` usually fit within 2-week sprint cycles - -[`Tasks`](https://github.com/janhq/jan/issues) - -- Tasks are individual issues (feats, bugs, chores) that can be completed within a few days -- Tasks, except for critical bugs, should always belong to an `epic` (and thus fit into our roadmap) -- Tasks are usually named per [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) -- Tasks should always have 1 owner - -We aim to always sprint on `tasks` that are a part of the [current roadmap](https://github.com/orgs/janhq/projects/5/views/16). - -## Kanban - -- `no status`: issues that need to be triaged (needs an owner, ETA) -- `icebox`: issues you don't plan to tackle yet -- `planned`: issues you plan to tackle this week -- `in-progress`: in progress -- `in-review`: pending PR or blocked by something -- `done`: done - -## Triage SOP - -- `Urgent bugs`: assign to an owner (or @engineers if you are not sure) && tag the current `sprint` & `milestone` -- `All else`: assign the correct roadmap `label(s)` and owner (if any) - - -#### Request for help - -As a result, our feature prioritization can feel a bit black box at times. - -We'd appreciate high quality insights and volunteers for user interviews through [Discord](https://discord.gg/af6SaTdzpx) and [Github](https://github.com/janhq). diff --git a/docs/docs/how-we-work/strategy/strategy.md b/docs/docs/how-we-work/strategy/strategy.md deleted file mode 100644 index 09d9b9fb44..0000000000 --- a/docs/docs/how-we-work/strategy/strategy.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Strategy ---- - -We only have 2 planning parameters: -- 10 year vision -- 2 week sprint -- Quarterly OKRs - -### Ideal Customer - -Our ideal customer is an AI enthusiast or business who has experienced some limitations with current AI solutions and is keen to find open source alternatives. - -### Problems - -Our ideal customer would use Jan to solve one of these problems. - -_Control_ - -- Control (e.g. preventing vendor lock-in) -- Stability (e.g. runs predictably every time) -- Local-use (e.g. for speed, or for airgapped environments) - -_Privacy_ - -- Data protection (e.g. personal data or company data) -- Privacy (e.g. nsfw) - -_Customisability_ - -- Tinkerability (e.g. ability to change model, experiment) -- Niche Models (e.g. fine-tuned, domain-specific models that outperform OpenAI) - -Sources: [^1] [^2] [^3] [^4] - -[^1]: [What are you guys doing that can't be done with ChatGPT?](https://www.reddit.com/r/LocalLLaMA/comments/17mghqr/comment/k7ksti6/?utm_source=share&utm_medium=web2x&context=3) -[^2]: [What's your main interest in running a local LLM instead of an existing API?](https://www.reddit.com/r/LocalLLaMA/comments/1718a9o/whats_your_main_interest_in_running_a_local_llm/) -[^3]: [Ask HN: What's the best self-hosted/local alternative to GPT-4?](https://news.ycombinator.com/item?id=36138224) -[^4]: [LoRAs](https://www.reddit.com/r/LocalLLaMA/comments/17mghqr/comment/k7mdz1i/?utm_source=share&utm_medium=web2x&context=3) - -### Solution - -Jan is a seamless user experience that runs on your personal computer, that glues the different pieces of the open source AI ecosystem to provide an alternative to OpenAI's closed platform. - -- We build a comprehensive, seamless platform that takes care of the technical chores across the stack required to run open source AI -- We run on top of a local folder of non-proprietary files, that anyone can tinker with (yes, even other apps!) -- We provide open formats for packaging and distributing AI to run reproducibly across devices - - -## Prerequisites - -- [Figma](https://figma.com) -- [ScreenStudio](https://www.screen.studio/) diff --git a/docs/docs/how-we-work/website-docs/website-docs.md b/docs/docs/how-we-work/website-docs/website-docs.md deleted file mode 100644 index 19fdc16761..0000000000 --- a/docs/docs/how-we-work/website-docs/website-docs.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Website & Docs ---- - -This website is built using [Docusaurus 3.0](https://docusaurus.io/), a modern static website generator. - -### Information Architecture - -We try to **keep routes consistent** to maintain SEO. - -- **`/guides/`**: Guides on how to use the Jan application. For end users who are directly using Jan. - -- **`/developer/`**: Developer docs on how to extend Jan. These pages are about what people can build with our software. - -- **`/api-reference/`**: Reference documentation for the Jan API server, written in Swagger/OpenAPI format. - -- **`/changelog/`**: A list of changes made to the Jan application with each release. - -- **`/blog/`**: A blog for the Jan application. - -### Sidebar Autogeneration - -The order of each page is either explicitly defined in `sidebar.js` or follows the [Docusaurus autogenerated](https://docusaurus.io/docs/next/sidebar/autogenerated) naming format, `##-path-name.md`. - -Important slugs are hardcoded at the document level (and shouldn't be rerouted): - -``` ---- -title: Overview -slug: /docs ---- -``` - -## How to Contribute - -Refer to the [Contributing Guide](https://github.com/janhq/jan/blob/dev/CONTRIBUTING.md) for more comprehensive information on how to contribute to the Jan project. - -### Pre-requisites and Installation - -- [Node.js](https://nodejs.org/en/) (version 20.0.0 or higher) -- [yarn](https://yarnpkg.com/) (version 1.22.0 or higher) - -#### Installation - -```bash -cd jan/docs -yarn install -yarn start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -#### Build - -```bash -yarn build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -```bash -USE_SSH=true yarn deploy -``` - -Not using SSH: - -```bash -GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. - -### Preview URL, Pre-release and Publishing Documentation - -- When a pull request is created, the preview URL will be automatically commented on the pull request. - -- The documentation will then be published to [https://dev.jan.ai/](https://dev.jan.ai/) when the pull request is merged to `dev`. - -- Our open-source maintainers will sync the updated content from `dev` to `docs` branch, which will then be published to [https://jan.ai/](https://jan.ai/). - -### Additional Plugins - -- @docusaurus/theme-live-codeblock -- [Redocusaurus](https://redocusaurus.vercel.app/): manually upload swagger files at `/openapi/jan.yaml` to update the API reference documentation. diff --git a/docs/docs/integrations.md b/docs/docs/integrations.md deleted file mode 100644 index 0884d2242b..0000000000 --- a/docs/docs/integrations.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Integrations ---- \ No newline at end of file diff --git a/docs/docs/integrations/langchain.md b/docs/docs/integrations/langchain.md deleted file mode 100644 index aef6d6f9d6..0000000000 --- a/docs/docs/integrations/langchain.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Langchain ---- - -:::caution -WIP -::: diff --git a/docs/docs/integrations/llamacpp.md b/docs/docs/integrations/llamacpp.md deleted file mode 100644 index 2764187c1c..0000000000 --- a/docs/docs/integrations/llamacpp.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: llama.cpp ---- - -## Quicklinks - -- Jan Framework [Extension Code](https://github.com/janhq/jan/tree/main/extensions/inference-nitro-extension) -- ggerganov/llama.pp [Source URL](https://github.com/ggerganov/llama.cpp) -- [Productized Wrapper](https://nitro.jan.ai/): a bit lower effort to use out of the box diff --git a/docs/docs/integrations/ollama.md b/docs/docs/integrations/ollama.md deleted file mode 100644 index eb909789c3..0000000000 --- a/docs/docs/integrations/ollama.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Ollama ---- - -:::caution -Requested, committed, but not started -::: diff --git a/docs/docs/integrations/openai.md b/docs/docs/integrations/openai.md deleted file mode 100644 index 2205bbceab..0000000000 --- a/docs/docs/integrations/openai.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: OpenAI ---- - -## Quicklinks - -- Jan Framework [Extension Code](https://github.com/janhq/jan/tree/main/extensions/inference-openai-extension) -- OpenAI API [Reference Docs](https://platform.openai.com/docs/api-reference) diff --git a/docs/docs/integrations/openrouter.md b/docs/docs/integrations/openrouter.md deleted file mode 100644 index 856ca33ef2..0000000000 --- a/docs/docs/integrations/openrouter.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: OpenRouter ---- - -:::caution -Requested, committed, but not started -::: diff --git a/docs/docs/integrations/tensorrt.md b/docs/docs/integrations/tensorrt.md deleted file mode 100644 index 8a77d14365..0000000000 --- a/docs/docs/integrations/tensorrt.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: TensorRT-LLM ---- - -## Quicklinks - -- Jan Framework [Extension Code](https://github.com/janhq/jan/tree/main/extensions/inference-triton-trtllm-extension) -- TensorRT [Source URL](https://github.com/NVIDIA/TensorRT-LLM) diff --git a/docs/docs/partners/become-a-partner.md b/docs/docs/partners/become-a-partner.md deleted file mode 100644 index dce93e87a1..0000000000 --- a/docs/docs/partners/become-a-partner.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Become a Partner ---- \ No newline at end of file diff --git a/docs/docs/partners/partners.md b/docs/docs/partners/partners.md deleted file mode 100644 index 1c5eaa0f2f..0000000000 --- a/docs/docs/partners/partners.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Partners ---- \ No newline at end of file diff --git a/docs/docs/platforms/desktop.md b/docs/docs/platforms/desktop.md deleted file mode 100644 index fb4ea8389d..0000000000 --- a/docs/docs/platforms/desktop.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: Jan Desktop -slug: /desktop -description: Turn your computer into an AI PC -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -# Turn any computer into an AI computer - -![Alt text](image.png) - - - -### Designed for Everyone - -- **Installs with 1 click.** Jan is easy to use, beautiful, and the core features are free forever. -- **Runs on consumer laptops.** Tested by 250k+ users across `Windows, Mac, and Linux`, Jan even works on `CPU-only mode`. -- **Automatic GPU acceleration**. Models responds faster across `NVIDIA, AMD, Apple, and Intel` when benchmarked against industry alternatives. - -:::tip - -“Normies” can run LLMs like an AI engineer on the Desktop App - no programming experience needed. - -::: - -### Private & Offline - -- **Runs 100% locally**. AI models run directly on your laptop without an internet connection. `You own your AI`. -- **Private conversations.** Data is saved on your own filesystem in a transparent non-proprietary data format. `You own your data.` -- **Open source security**. Jan is open source, so you can scruntinize every line in our codebase. So when we say your data is not our product, we mean it. See [the code](https://github.com/janhq/jan) and our [data policy](/how-we-work/analytics). - -### Customizable AI - -- **Use AI without limitations.** Take control of censorship levels. Jan is usable from the classroom to the boardroom (and few other rooms if that’s your jam). -- **Use any models**. Download open source models from HuggingFace or upload your own custom models. [link] - -:::tip - -Download Jan Desktop Client [here](https://github.com/janhq/jan?tab=readme-ov-file#download). - -::: - -## Jan Desktop is - -### For Developers - -**You can easily integrate a locally running LLM into your own projects.** - -- Turn on `Local API Server` mode to start building on an `OpenAI compatible API`. -- Jan Desktop comes with a Developer Console out of the box. -- The UI makes it easy to see logs, configure models and more. - -![Alt text](image-1.png) - - - -### For Your Home Server - - - -- Use Jan as a UI only, pointing to a different backend. [See Docs](/guides/using-models/integrate-with-remote-server) -- Use Jan as a backend only, pointing to a different frontend. [See Docs](/guides/using-models/integrate-with-remote-server) -- Run Jan in team-mode on production-grade GPUs. [See Server Suite](/server-suite) - - - -### For People who Tinker - -- Customize the app’s look and feel though Themes. -- Customize assistants, models and other features with **no code**. -- Customize the entire Application through Extensions. Inspired by VSCode extensions, the desktop app can be entirely customized. - -[See the default extensions](https://github.com/janhq/jan/tree/main/extensions) bundled with every Desktop install. -![Alt text](image-4.png) diff --git a/docs/docs/platforms/hub.md b/docs/docs/platforms/hub.md deleted file mode 100644 index 9d8167618f..0000000000 --- a/docs/docs/platforms/hub.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Jan Hub ---- \ No newline at end of file diff --git a/docs/docs/platforms/image-1.png b/docs/docs/platforms/image-1.png deleted file mode 100644 index cd94f34e97..0000000000 Binary files a/docs/docs/platforms/image-1.png and /dev/null differ diff --git a/docs/docs/platforms/image-2.png b/docs/docs/platforms/image-2.png deleted file mode 100644 index cc75d39cee..0000000000 Binary files a/docs/docs/platforms/image-2.png and /dev/null differ diff --git a/docs/docs/platforms/image-3.png b/docs/docs/platforms/image-3.png deleted file mode 100644 index 20828beb99..0000000000 Binary files a/docs/docs/platforms/image-3.png and /dev/null differ diff --git a/docs/docs/platforms/image-4.png b/docs/docs/platforms/image-4.png deleted file mode 100644 index 38b75c1dac..0000000000 Binary files a/docs/docs/platforms/image-4.png and /dev/null differ diff --git a/docs/docs/platforms/image.png b/docs/docs/platforms/image.png deleted file mode 100644 index 0237898c74..0000000000 Binary files a/docs/docs/platforms/image.png and /dev/null differ diff --git a/docs/docs/platforms/mobile.md b/docs/docs/platforms/mobile.md deleted file mode 100644 index 8275442011..0000000000 --- a/docs/docs/platforms/mobile.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Jan Mobile -slug: /mobile -description: Jan Mobile allows you to bring your AI on the go -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- \ No newline at end of file diff --git a/docs/docs/pricing/pricing.md b/docs/docs/pricing/pricing.md deleted file mode 100644 index 2336104685..0000000000 --- a/docs/docs/pricing/pricing.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Pricing -slug: /pricing ---- - -| $0 | $1 | Enterprise | -| ---------------- | ---------------- | ----------------------- | -| Free | Premium | TBA | -| ✅ Core features | ✅ Discord badge | ✅ Enterprise-level SLA | -| ✅ free forever | | | diff --git a/docs/docs/privacy/privacy.md b/docs/docs/privacy/privacy.md deleted file mode 100644 index 56e81f3a11..0000000000 --- a/docs/docs/privacy/privacy.md +++ /dev/null @@ -1,25 +0,0 @@ -# Privacy Policy - -Jan is committed to protecting your privacy and ensuring that your personal information is handled in a safe and responsible way. This policy outlines how we collect, store, and use your personal information when you use our mobile application. - -## Data Collection and Usage - -When you use Jan, we may collect certain information about you, including your name, email address, and other personal information that you provide to us. We use this information to provide you with the best possible experience when using our app. - -We may also collect certain non-personal information, such as your device type, operating system, and app usage data. This information is used to improve our app and to provide you with a better user experience. - -## Data Sharing - -We do not share your personal information with third parties except as required by law or as necessary to provide you with the services you have requested. We may share non-personal information with third parties for the purpose of improving our app and providing you with a better user experience. - -## Data Security - -We take the security of your personal information seriously and have implemented appropriate technical and organizational measures to protect your personal information from unauthorized access, disclosure, or misuse. - -## Your Choices - -You have the right to access, update, and delete your personal information at any time. You may also opt-out of receiving marketing communications from us by following the unsubscribe link included in our emails. - -## Contact Us - -If you have any questions or concerns about our privacy policy, please contact us at hello@jan.ai. diff --git a/docs/docs/releases/changelog/README.mdx b/docs/docs/releases/changelog/README.mdx deleted file mode 100644 index 09e6d8222a..0000000000 --- a/docs/docs/releases/changelog/README.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Changelog -sidebar_position: 1 -slug: /changelog -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/docs/releases/changelog/cache.json b/docs/docs/releases/changelog/cache.json deleted file mode 100644 index fff1251585..0000000000 --- a/docs/docs/releases/changelog/cache.json +++ /dev/null @@ -1,9035 +0,0 @@ -{ - "releases": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/145763492", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/145763492/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/145763492/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.8", - "id": 145763492, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4IsCyk", - "tag_name": "v0.4.8", - "target_commitish": "3aeb6434b8d65f5540778ceff311c63d6683d933", - "name": "0.4.8", - "draft": false, - "prerelease": false, - "created_at": "2024-03-11T06:02:54Z", - "published_at": "2024-03-11T06:34:40Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016220", - "id": 156016220, - "node_id": "RA_kwDOKIBx0s4JTJ5c", - "name": "jan-linux-amd64-0.4.8.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 110060688, - "download_count": 487, - "created_at": "2024-03-11T06:08:19Z", - "updated_at": "2024-03-11T06:08:21Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-amd64-0.4.8.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016113", - "id": 156016113, - "node_id": "RA_kwDOKIBx0s4JTJ3x", - "name": "jan-linux-x86_64-0.4.8.AppImage", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 145793120, - "download_count": 355, - "created_at": "2024-03-11T06:07:03Z", - "updated_at": "2024-03-11T06:07:06Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-x86_64-0.4.8.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016899", - "id": 156016899, - "node_id": "RA_kwDOKIBx0s4JTKED", - "name": "jan-mac-arm64-0.4.8.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121575422, - "download_count": 666, - "created_at": "2024-03-11T06:16:32Z", - "updated_at": "2024-03-11T06:16:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016900", - "id": 156016900, - "node_id": "RA_kwDOKIBx0s4JTKEE", - "name": "jan-mac-arm64-0.4.8.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 128586, - "download_count": 2, - "created_at": "2024-03-11T06:16:32Z", - "updated_at": "2024-03-11T06:16:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016916", - "id": 156016916, - "node_id": "RA_kwDOKIBx0s4JTKEU", - "name": "jan-mac-arm64-0.4.8.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 117287741, - "download_count": 778, - "created_at": "2024-03-11T06:16:48Z", - "updated_at": "2024-03-11T06:17:07Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016915", - "id": 156016915, - "node_id": "RA_kwDOKIBx0s4JTKET", - "name": "jan-mac-arm64-0.4.8.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122022, - "download_count": 3, - "created_at": "2024-03-11T06:16:48Z", - "updated_at": "2024-03-11T06:16:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016670", - "id": 156016670, - "node_id": "RA_kwDOKIBx0s4JTKAe", - "name": "jan-mac-x64-0.4.8.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 128115024, - "download_count": 260, - "created_at": "2024-03-11T06:14:43Z", - "updated_at": "2024-03-11T06:14:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016669", - "id": 156016669, - "node_id": "RA_kwDOKIBx0s4JTKAd", - "name": "jan-mac-x64-0.4.8.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 135139, - "download_count": 2, - "created_at": "2024-03-11T06:14:43Z", - "updated_at": "2024-03-11T06:14:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016721", - "id": 156016721, - "node_id": "RA_kwDOKIBx0s4JTKBR", - "name": "jan-mac-x64-0.4.8.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 123950755, - "download_count": 132, - "created_at": "2024-03-11T06:15:11Z", - "updated_at": "2024-03-11T06:15:17Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016722", - "id": 156016722, - "node_id": "RA_kwDOKIBx0s4JTKBS", - "name": "jan-mac-x64-0.4.8.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130406, - "download_count": 2, - "created_at": "2024-03-11T06:15:11Z", - "updated_at": "2024-03-11T06:15:11Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016806", - "id": 156016806, - "node_id": "RA_kwDOKIBx0s4JTKCm", - "name": "jan-win-x64-0.4.8.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 119749864, - "download_count": 3852, - "created_at": "2024-03-11T06:15:48Z", - "updated_at": "2024-03-11T06:15:52Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-win-x64-0.4.8.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016805", - "id": 156016805, - "node_id": "RA_kwDOKIBx0s4JTKCl", - "name": "jan-win-x64-0.4.8.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127370, - "download_count": 1741, - "created_at": "2024-03-11T06:15:48Z", - "updated_at": "2024-03-11T06:15:48Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/jan-win-x64-0.4.8.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016223", - "id": 156016223, - "node_id": "RA_kwDOKIBx0s4JTJ5f", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 540, - "download_count": 1385, - "created_at": "2024-03-11T06:08:22Z", - "updated_at": "2024-03-11T06:08:22Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156017041", - "id": 156017041, - "node_id": "RA_kwDOKIBx0s4JTKGR", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 842, - "download_count": 3208, - "created_at": "2024-03-11T06:18:08Z", - "updated_at": "2024-03-11T06:18:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/156016808", - "id": 156016808, - "node_id": "RA_kwDOKIBx0s4JTKCo", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 7760, - "created_at": "2024-03-11T06:15:52Z", - "updated_at": "2024-03-11T06:15:52Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.8/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.8", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.8", - "body": "## Changes\r\n\r\n- Release cut v0.4.8 @louis-jan (#2267)\r\n- Add modify notary team in CI @hiento09 (#2265)\r\n- Chore: Update new models to model hub @hahuyhoang411 (#2192)\r\n- Macos Notarize migrage to new Team ID @hiento09 (#2228)\r\n- docs: update API Reference assistants\\_id endpoint from DevDocs @avb-is-me (#2195)\r\n- docs: update API Reference assistants endpoint from DevDocs @avb-is-me (#2194)\r\n- docs: update API Reference threads endpoint from DevDocs @avb-is-me (#2182)\r\n- fix: wrong profile parameter in docker command @mooncool (#2159)\r\n- Sync release 0.4.7 to dev @louis-jan (#2151)\r\n- docs: add upstream acknowledgements @hieu-jan (#2136)\r\n- Sync dev branch to docs branch @hieu-jan (#2131)\r\n\r\n## 🚀 Features\r\n\r\n- feat: prompt user to download an update manually @louis-jan (#2261)\r\n- feat: Jan can see @hiro-v (#2069)\r\n- Revert feat: temporary remove dark mode @urmauur (#2221)\r\n- feat: add turborepo @louis-jan (#2220)\r\n- fix: change button import model on hub page @urmauur (#2178)\r\n- feat: temporary remove dark mode :( @urmauur (#2168)\r\n- feat: add import model feature @namchuai (#2104)\r\n- feat: restore docusaurus style @urmauur (#2152)\r\n- feat: add a simple way to convert Hugging Face model to GGUF @Helloyunho (#1972)\r\n\r\n## 🐛 Fixes\r\n\r\n- codesign script force sign @hiento09 (#2291)\r\n- fix: should not attach error messages to the completion request @louis-jan (#2258)\r\n- fix: image upload button and drag event are not enabled @louis-jan (#2248)\r\n- fix: error message being sent along with conversation when inference @namchuai (#2242)\r\n- fix: replaced user path from app log @namchuai (#2238)\r\n- fix: drag and drop support image format to support vision model @urmauur (#2237)\r\n- fix: re-configure changelog sections @hieu-jan (#2230)\r\n- fix: import from HuggingFace with random string is causing app crash @louis-jan (#2214)\r\n- fix: comment from QA regarding import model @namchuai (#2213)\r\n- fix: download model error does not reset state in model hub @namchuai (#2199)\r\n- fix: minor ui missing secondary background @urmauur (#2198)\r\n- docs: update docker command @hieu-jan (#2180)\r\n- fix: some bugs for import model @namchuai (#2181)\r\n- fix: change button import model on hub page @urmauur (#2178)\r\n- fix space between progress bar and title list of gpu @urmauur (#2177)\r\n- fix: disabled prompt user using dangerouslySetInnerHTML @urmauur (#2176)\r\n- fix: style list of gpus on system monitor @urmauur (#2172)\r\n- fix: system monitor expand overlap tooltip ribbon @urmauur (#2158)\r\n- Huggingface extension add codesign step for building on darwin @hiento09 (#2166)\r\n- Add run codesign for huggingface extension @hiento09 (#2163)\r\n- fix: system monitor ui @urmauur (#2135)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: temporary remove convert model @namchuai (#2266)\r\n- docs: sync slug fix from dev branch to docs branch @hieu-jan (#2264)\r\n- docs: Update broken link and fix the slug @aindrajaya (#2260)\r\n- docs: Fix navbar issues. Keep stay when clicked other menu items from the sidebar @aindrajaya (#2253)\r\n- docs: sync docs hub fixes from dev to docs branch @hieu-jan (#2247)\r\n- docs: Update content for Hub page and Guides section @aindrajaya (#2245)\r\n- docs: Fix Dark Mode on the Hub page and Update the Navbar functionality @aindrajaya (#2243)\r\n- chore: sync dev branch to docs branch @hieu-jan (#2239)\r\n- Chore: add prefix latest for task clean r2 bucket @hiento09 (#2233)\r\n- fix: re-configure changelog sections @hieu-jan (#2230)\r\n- docs: add command run API server without frontend @hieu-jan (#2231)\r\n- docs: revamp entire Jan guides @hieu-jan (#2139)\r\n- chore: clean up some redundant code @namchuai (#2215)\r\n- docs: update API Reference chatCompletions from DevDocs @avb-is-me (#2171)\r\n- docs: update API Reference download model from DevDocs @avb-is-me (#2170)\r\n- docs: update API Reference model\\_id from DevDocs @avb-is-me (#2169)\r\n- docs: update API Reference listModel from DevDocs @avb-is-me (#2161)\r\n- docs: Update 08-antivirus-compatibility-testing.md @0xSage (#2186)\r\n- docs: adding new feature for v0.4.7 to release checklist @Van-QA (#2189)\r\n- docs: Update 01-integrate-continue.mdx @0xSage (#2187)\r\n- chore: bump nitro 0.3.14 @louis-jan (#2183)\r\n- docs: Sync dev branch to docs branch @hieu-jan (#2185)\r\n- docs: update docker command @hieu-jan (#2180)\r\n- docs: update wall of love @hieu-jan (#2179)\r\n- docs: add Jan newsletter @hieu-jan (#2174)\r\n- chore: make convert gguf as experimental feature @namchuai (#2156)\r\n- docs: update acknowledgements @hieu-jan (#2147)\r\n- feat: restore docusaurus style @urmauur (#2152)\r\n- docs: update run Jan in Docker mode @hieu-jan (#2150)\r\n- Docs pena team - Add Quickstart Docs @aindrajaya (#2138)\r\n- docs: hide incomplete pages @hieu-jan (#2127)\r\n\r\n## Contributor\r\n\r\n@0xSage, @Helloyunho, @Van-QA, @aindrajaya, @avb-is-me, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @mooncool, @namchuai and @urmauur\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/145763492/reactions", - "total_count": 5, - "+1": 0, - "-1": 0, - "laugh": 0, - "hooray": 0, - "confused": 0, - "heart": 5, - "rocket": 0, - "eyes": 0 - }, - "mentions_count": 14 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/143551170", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/143551170/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/143551170/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.7", - "id": 143551170, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4IjmrC", - "tag_name": "v0.4.7", - "target_commitish": "3c8caf3345f256f2fac41857ab25994047de0de3", - "name": "0.4.7", - "draft": false, - "prerelease": false, - "created_at": "2024-02-22T14:18:39Z", - "published_at": "2024-02-26T03:30:36Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153554843", - "id": 153554843, - "node_id": "RA_kwDOKIBx0s4JJw-b", - "name": "jan-linux-amd64-0.4.7.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 100168358, - "download_count": 1492, - "created_at": "2024-02-26T02:39:48Z", - "updated_at": "2024-02-26T02:39:51Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-linux-amd64-0.4.7.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153554729", - "id": 153554729, - "node_id": "RA_kwDOKIBx0s4JJw8p", - "name": "jan-linux-x86_64-0.4.7.AppImage", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 135683130, - "download_count": 1323, - "created_at": "2024-02-26T02:38:38Z", - "updated_at": "2024-02-26T02:38:42Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-linux-x86_64-0.4.7.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555177", - "id": 153555177, - "node_id": "RA_kwDOKIBx0s4JJxDp", - "name": "jan-mac-arm64-0.4.7.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116705772, - "download_count": 2655, - "created_at": "2024-02-26T02:41:58Z", - "updated_at": "2024-02-26T02:42:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-arm64-0.4.7.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555178", - "id": 153555178, - "node_id": "RA_kwDOKIBx0s4JJxDq", - "name": "jan-mac-arm64-0.4.7.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 124328, - "download_count": 4, - "created_at": "2024-02-26T02:41:58Z", - "updated_at": "2024-02-26T02:41:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-arm64-0.4.7.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555202", - "id": 153555202, - "node_id": "RA_kwDOKIBx0s4JJxEC", - "name": "jan-mac-arm64-0.4.7.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 112429002, - "download_count": 1568, - "created_at": "2024-02-26T02:42:14Z", - "updated_at": "2024-02-26T02:42:30Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-arm64-0.4.7.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555201", - "id": 153555201, - "node_id": "RA_kwDOKIBx0s4JJxEB", - "name": "jan-mac-arm64-0.4.7.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 117816, - "download_count": 4, - "created_at": "2024-02-26T02:42:14Z", - "updated_at": "2024-02-26T02:42:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-arm64-0.4.7.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555519", - "id": 153555519, - "node_id": "RA_kwDOKIBx0s4JJxI_", - "name": "jan-mac-x64-0.4.7.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 123302141, - "download_count": 1019, - "created_at": "2024-02-26T02:45:43Z", - "updated_at": "2024-02-26T02:45:48Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-x64-0.4.7.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555520", - "id": 153555520, - "node_id": "RA_kwDOKIBx0s4JJxJA", - "name": "jan-mac-x64-0.4.7.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130493, - "download_count": 3, - "created_at": "2024-02-26T02:45:43Z", - "updated_at": "2024-02-26T02:45:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-x64-0.4.7.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555541", - "id": 153555541, - "node_id": "RA_kwDOKIBx0s4JJxJV", - "name": "jan-mac-x64-0.4.7.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 119095882, - "download_count": 328, - "created_at": "2024-02-26T02:45:59Z", - "updated_at": "2024-02-26T02:46:04Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-x64-0.4.7.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555542", - "id": 153555542, - "node_id": "RA_kwDOKIBx0s4JJxJW", - "name": "jan-mac-x64-0.4.7.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 125044, - "download_count": 7, - "created_at": "2024-02-26T02:45:59Z", - "updated_at": "2024-02-26T02:45:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-mac-x64-0.4.7.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555767", - "id": 153555767, - "node_id": "RA_kwDOKIBx0s4JJxM3", - "name": "jan-win-x64-0.4.7.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 109668960, - "download_count": 14681, - "created_at": "2024-02-26T02:48:10Z", - "updated_at": "2024-02-26T02:48:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-win-x64-0.4.7.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555768", - "id": 153555768, - "node_id": "RA_kwDOKIBx0s4JJxM4", - "name": "jan-win-x64-0.4.7.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116340, - "download_count": 5853, - "created_at": "2024-02-26T02:48:10Z", - "updated_at": "2024-02-26T02:48:10Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/jan-win-x64-0.4.7.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153554848", - "id": 153554848, - "node_id": "RA_kwDOKIBx0s4JJw-g", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 540, - "download_count": 4866, - "created_at": "2024-02-26T02:39:52Z", - "updated_at": "2024-02-26T02:39:52Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555632", - "id": 153555632, - "node_id": "RA_kwDOKIBx0s4JJxKw", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 842, - "download_count": 11436, - "created_at": "2024-02-26T02:47:00Z", - "updated_at": "2024-02-26T02:47:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/153555773", - "id": 153555773, - "node_id": "RA_kwDOKIBx0s4JJxM9", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 35170, - "created_at": "2024-02-26T02:48:12Z", - "updated_at": "2024-02-26T02:48:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.7/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.7", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.7", - "body": "## Changes\r\n\r\n- Release cut v0.4.7 @louis-jan (#2121)\r\n- chore: update models @hahuyhoang411 (#1829)\r\n- add docs for entire advanced settings @hieu-jan (#2063)\r\n- docs: Fix #2040 : added /v1 path to apiBase @ldebs (#2041)\r\n- fix: ui for disabled state of gpu acceleration @namchuai (#2034)\r\n- feat: Initialize POM structure with fixtures on Playwright @Van-QA (#2015)\r\n- Alternative solution for `Thread titles should auto-summarize Topic` @0xgokuz (#1976)\r\n- Update authors.yml Rex @hahuyhoang411 (#1956)\r\n- Update authors.yml Louis @louis-jan (#1955)\r\n- Change env Dockerfile.gpu and update README @hiento09 (#1963)\r\n- chore: Update authors.yml for Van Pham @Van-QA (#1954)\r\n- Sync dev branch to docs branch @hieu-jan (#1948)\r\n- sync current docs branch to dev branch @hieu-jan (#1947)\r\n- feat: Playwright capture screenshot of Electron desktop app (Jan) on failures @Van-QA (#1934)\r\n- Sync main to dev after release 0.4.6 @hiento09 (#1929)\r\n\r\n## 🚀 Features\r\n\r\n- feat: Add nitro vulkan to support AMD GPU/ APU and Intel Arc GPU @hiro-v (#2056)\r\n- fix: flow edit message @urmauur (#2113)\r\n- Feature helmchart and ci jan server @hiento09 (#2106)\r\n- feat: improvementUI GPU acceleration @urmauur (#1990)\r\n- feat: add edit messages users @urmauur (#1974)\r\n- feat: revamp ui dropdown list model option @urmauur (#1977)\r\n- feat: add modal troubleshooting guideline @urmauur (#1968)\r\n- feat: integrate umami script locally @hieu-jan (#1958)\r\n- feat: User Selectable GPUs and GPU-based Model Recommendations @hiento09 (#1730)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: correct vulkan settings @louis-jan (#2128)\r\n- fix: chore UI @louis-jan (#2125)\r\n- Regression: bump nitro to 0.3.13 @hiento09 (#2124)\r\n- Regression: Linux vulkan binary path @hiento09 (#2123)\r\n- fix: revert back menu actions @louis-jan (#2120)\r\n- fix: mismatching between nightly build and version - jan about @louis-jan (#2114)\r\n- fix: flow edit message @urmauur (#2113)\r\n- fix: tools section should be expanded by default @louis-jan (#2110)\r\n- fix: failed to bind port - nitro error message copy @louis-jan (#2101)\r\n- fix: remove caret down icon when tab selected into remote model @urmauur (#2102)\r\n- fix: openai client sdk compatible @louis-jan (#2096)\r\n- Fix bug #2005 docker blank website @hiento09 (#2093)\r\n- fix: check if port is occupied before start local server @namchuai (#2098)\r\n- fix: broken model.json update @louis-jan (#2099)\r\n- fix: make text input scrollable @urmauur (#2083)\r\n- fix: failed to send message blocks thread creation @louis-jan (#2091)\r\n- fix: server crashes on missing module @louis-jan (#2089)\r\n- fix: expand assistant and model settings by default @louis-jan (#2081)\r\n- fix: move jan data folder - error handling for no write permission granted @louis-jan (#2077)\r\n- fix: check for updates should show no update are available on the latest build @louis-jan (#2075)\r\n- fix: infinity showed when haven't get total size @namchuai (#2066)\r\n- fix: should stop running the model when GPU settings are changed @louis-jan (#2067)\r\n- fix: settings page state loop and dark theme @louis-jan (#2065)\r\n- fix: Fix Nitro windows with error 3221225781 @hiro-v (#2057)\r\n- fix: message should only be interrupted when i start another thread @louis-jan (#2053)\r\n- fix: local server start error should not change to started state @louis-jan (#2052)\r\n- fix: update copy of message queue @louis-jan (#2051)\r\n- fix: download mutilple binaries @namchuai (#2043)\r\n- fix: disable gpu drop down box if there's no GPU ready @namchuai (#2046)\r\n- fix: app should generate thread title with length restriction @louis-jan (#2037)\r\n- fix: factory reset not remove jan data folder @namchuai (#2027)\r\n- fix: content setting right panel default to collapse @urmauur (#2026)\r\n- fix: local server blank parameters if there is no thread selected @louis-jan (#2028)\r\n- fix: model path backward compatible @louis-jan (#2018)\r\n- fix: resolve state update loop infinitive rerendering @louis-jan (#2017)\r\n- fix: lack of auto-cleaning mechanism for logs @louis-jan (#2003)\r\n- fix: app stuck regenerating assistant response @louis-jan (#2001)\r\n- fix: decouple thread summary update @louis-jan (#1994)\r\n- fix: app fails gracefully with clear error messages @louis-jan (#1993)\r\n- fix: retrieval stuck at generating response @louis-jan (#1988)\r\n- Fix macos auto update failed on nightly build @hiento09 (#1991)\r\n- fix: model downloads broken on nightly @louis-jan (#1984)\r\n- fix: RAG enhancements @urmauur (#1965)\r\n- Update docs run Jan Server in Docker mode @hiento09 (#1960)\r\n- fix: update conditional check last status message @urmauur (#1951)\r\n- fix: markdown render for chat completion role user @urmauur (#1944)\r\n- fix: avoid users to create so many threads at the same time @urmauur (#1930)\r\n- fix: download model will close panel item hub @urmauur (#1923)\r\n\r\n## 🧰 Maintenance\r\n\r\n- docs: improve integrations guide \\& import model using absolute path @hieu-jan (#2076)\r\n- chore: add app version into log @namchuai (#2116)\r\n- docs: add integration docs Mistral AI API @hieu-jan (#2070)\r\n- docs:add-advanced-settings-https-proxy @hieu-jan (#2054)\r\n- chore: refactor watch system resource hook @louis-jan (#2048)\r\n- docs: Updates Guide Using the Local Server @SamPatt (#1924)\r\n- server install core using link instead of file @hiento09 (#2025)\r\n- chore: prettier fix @louis-jan (#2019)\r\n- chore: bump nitro 0.3.9 @louis-jan (#2016)\r\n- refactor: reduce IPC \\& API handlers - shared node logics @louis-jan (#2011)\r\n- docs: update 03-gpu-not-used with RTX issues @hieu-jan (#1992)\r\n- docs: add Jan installation using Docker @hieu-jan (#1981)\r\n- chore: reduce bundle size @louis-jan (#1970)\r\n- docs: add author.yml @hieu-jan (#1973)\r\n- Update authors.yml hien @hiento09 (#1953)\r\n- chore: server download progress + S3 @louis-jan (#1925)\r\n- chore: add author james @namchuai (#1952)\r\n- chore: Add author - Ashley @imtuyethan (#1950)\r\n- chore: Add Author - Hiro @hiro-v (#1949)\r\n- docs: adding new feature for v0.4.6 to release checklist @Van-QA (#1927)\r\n\r\n## Contributor\r\n\r\n@0xSage, @0xgokuz, @SamPatt, @Van-QA, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @imtuyethan, @jan-service-account, @ldebs, @louis-jan, @namchuai, @urmauur and James\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/143551170/reactions", - "total_count": 12, - "+1": 11, - "-1": 0, - "laugh": 0, - "hooray": 0, - "confused": 0, - "heart": 1, - "rocket": 0, - "eyes": 0 - }, - "mentions_count": 14 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/139867661", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/139867661/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/139867661/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.6", - "id": 139867661, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4IVjYN", - "tag_name": "v0.4.6", - "target_commitish": "ee5a44a799b42bab9e8b291e52c1bf6a4b7dd0e5", - "name": "0.4.6", - "draft": false, - "prerelease": false, - "created_at": "2024-02-05T08:53:11Z", - "published_at": "2024-02-05T09:16:22Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149880406", - "id": 149880406, - "node_id": "RA_kwDOKIBx0s4I7v5W", - "name": "jan-linux-amd64-0.4.6.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122112210, - "download_count": 2420, - "created_at": "2024-02-05T08:58:35Z", - "updated_at": "2024-02-05T08:58:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-linux-amd64-0.4.6.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149880342", - "id": 149880342, - "node_id": "RA_kwDOKIBx0s4I7v4W", - "name": "jan-linux-x86_64-0.4.6.AppImage", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 161255742, - "download_count": 2193, - "created_at": "2024-02-05T08:57:24Z", - "updated_at": "2024-02-05T08:57:27Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-linux-x86_64-0.4.6.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149882151", - "id": 149882151, - "node_id": "RA_kwDOKIBx0s4I7wUn", - "name": "jan-mac-arm64-0.4.6.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 149608360, - "download_count": 5271, - "created_at": "2024-02-05T09:12:39Z", - "updated_at": "2024-02-05T09:13:19Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-arm64-0.4.6.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149882150", - "id": 149882150, - "node_id": "RA_kwDOKIBx0s4I7wUm", - "name": "jan-mac-arm64-0.4.6.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 157046, - "download_count": 14, - "created_at": "2024-02-05T09:12:39Z", - "updated_at": "2024-02-05T09:12:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-arm64-0.4.6.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149882211", - "id": 149882211, - "node_id": "RA_kwDOKIBx0s4I7wVj", - "name": "jan-mac-arm64-0.4.6.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 144942589, - "download_count": 1718, - "created_at": "2024-02-05T09:12:56Z", - "updated_at": "2024-02-05T09:13:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-arm64-0.4.6.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149882210", - "id": 149882210, - "node_id": "RA_kwDOKIBx0s4I7wVi", - "name": "jan-mac-arm64-0.4.6.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 151798, - "download_count": 9, - "created_at": "2024-02-05T09:12:56Z", - "updated_at": "2024-02-05T09:12:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-arm64-0.4.6.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881499", - "id": 149881499, - "node_id": "RA_kwDOKIBx0s4I7wKb", - "name": "jan-mac-x64-0.4.6.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 156182072, - "download_count": 2041, - "created_at": "2024-02-05T09:07:20Z", - "updated_at": "2024-02-05T09:07:25Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-x64-0.4.6.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881500", - "id": 149881500, - "node_id": "RA_kwDOKIBx0s4I7wKc", - "name": "jan-mac-x64-0.4.6.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 164549, - "download_count": 13, - "created_at": "2024-02-05T09:07:20Z", - "updated_at": "2024-02-05T09:07:20Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-x64-0.4.6.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881557", - "id": 149881557, - "node_id": "RA_kwDOKIBx0s4I7wLV", - "name": "jan-mac-x64-0.4.6.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 151601089, - "download_count": 423, - "created_at": "2024-02-05T09:07:54Z", - "updated_at": "2024-02-05T09:07:58Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-x64-0.4.6.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881558", - "id": 149881558, - "node_id": "RA_kwDOKIBx0s4I7wLW", - "name": "jan-mac-x64-0.4.6.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 159770, - "download_count": 16, - "created_at": "2024-02-05T09:07:54Z", - "updated_at": "2024-02-05T09:07:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-mac-x64-0.4.6.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881285", - "id": 149881285, - "node_id": "RA_kwDOKIBx0s4I7wHF", - "name": "jan-win-x64-0.4.6.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 136684856, - "download_count": 29516, - "created_at": "2024-02-05T09:05:31Z", - "updated_at": "2024-02-05T09:05:36Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-win-x64-0.4.6.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881286", - "id": 149881286, - "node_id": "RA_kwDOKIBx0s4I7wHG", - "name": "jan-win-x64-0.4.6.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 145259, - "download_count": 8189, - "created_at": "2024-02-05T09:05:31Z", - "updated_at": "2024-02-05T09:05:31Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/jan-win-x64-0.4.6.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149880413", - "id": 149880413, - "node_id": "RA_kwDOKIBx0s4I7v5d", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 540, - "download_count": 8082, - "created_at": "2024-02-05T08:58:38Z", - "updated_at": "2024-02-05T08:58:38Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149882379", - "id": 149882379, - "node_id": "RA_kwDOKIBx0s4I7wYL", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 842, - "download_count": 18034, - "created_at": "2024-02-05T09:14:20Z", - "updated_at": "2024-02-05T09:14:20Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/149881293", - "id": 149881293, - "node_id": "RA_kwDOKIBx0s4I7wHN", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 61911, - "created_at": "2024-02-05T09:05:37Z", - "updated_at": "2024-02-05T09:05:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.6/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.6", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.6", - "body": "## Changes\r\n\r\n- Regression fix assitant extension codesign @hiento09 (#1918)\r\n- Release cut 0.4.6 @louis-jan (#1888)\r\n- feat: add factory reset feature @namchuai (#1750)\r\n- chore: add react developer tools to electron @Helloyunho (#1858)\r\n- Sync Release 0.4.5 to dev @louis-jan (#1830)\r\n\r\n## 🚀 Features\r\n\r\n- feat: integrate umami @hieu-jan (#1809)\r\n- feat: Add default value for ngl @hiro-v (#1886)\r\n- feat: add start/stop model via http api @namchuai (#1862)\r\n- feat: add snackbar component and update style side banner @urmauur (#1874)\r\n- feat: move open app directory into icon folder @urmauur (#1879)\r\n- chore: Bump nitro to 0.3.3 @hiro-v (#1877)\r\n- feat: put timestamp under thread name in left panel @urmauur (#1820)\r\n- perf: remove unnecessary rerender when user typing input @namchuai (#1818)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: umami analytics send app loaded event @louis-jan (#1928)\r\n- fix: migration loading indicator @louis-jan (#1913)\r\n- fix: broken manual import model with NA fields @louis-jan (#1912)\r\n- fix: openAIEmbedding now requires top level API Key configuration @louis-jan (#1902)\r\n- fix: load model fail overlays thread message error @louis-jan (#1901)\r\n- fix: show generate response on message send @louis-jan (#1895)\r\n- fix: display error message on model load fail @louis-jan (#1894)\r\n- fix: the selected model auto revert back to previous used model with setting mismatch @louis-jan (#1883)\r\n- fix: add dialog confirm when move folder and next dest isn't empty @urmauur (#1880)\r\n- Increase timeout for explore.e2e.spec test @hiento09 (#1844)\r\n- chore: Bump nitro to 0.3.3 @hiro-v (#1877)\r\n- fix: auto collapse retrieval setting while update config @urmauur (#1866)\r\n- fix: loader show while error global when change folder @urmauur (#1870)\r\n- fix: retrieval always ask for api key @louis-jan (#1856)\r\n- fix: all input text box are disabled @namchuai (#1855)\r\n- fix: add loader when user change folder @urmauur (#1850)\r\n- Add code sign step for darwin assistant extension @hiento09 (#1841)\r\n- fix: preserve focused thread when navigating in jan app @namchuai (#1814)\r\n- fix: highlight menu dropdown server options @urmauur (#1831)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: mark RAG as experimental feature @louis-jan (#1882)\r\n- Increase timeout for explore.e2e.spec test @hiento09 (#1844)\r\n- chore: Bump nitro to 0.3.3 @hiro-v (#1877)\r\n- chore: Jan Data Folder setting is no longer an experimental feature @louis-jan (#1847)\r\n- chore: resolve main conflict @louis-jan (#1833)\r\n- Update release url on README to default branch instead of main branch @hiento09 (#1832)\r\n\r\n## Contributor\r\n\r\n@Helloyunho, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @namchuai, @urmauur and James\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/139867661/reactions", - "total_count": 13, - "+1": 7, - "-1": 0, - "laugh": 0, - "hooray": 5, - "confused": 0, - "heart": 0, - "rocket": 1, - "eyes": 0 - }, - "mentions_count": 8 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/138849187", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/138849187/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/138849187/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.5", - "id": 138849187, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4IRquj", - "tag_name": "v0.4.5", - "target_commitish": "dev", - "name": "0.4.5", - "draft": false, - "prerelease": false, - "created_at": "2024-01-29T03:34:09Z", - "published_at": "2024-01-29T05:19:22Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430393", - "id": 148430393, - "node_id": "RA_kwDOKIBx0s4I2N45", - "name": "jan-linux-amd64-0.4.5.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 100526314, - "download_count": 1107, - "created_at": "2024-01-29T04:42:56Z", - "updated_at": "2024-01-29T04:42:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-linux-amd64-0.4.5.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430297", - "id": 148430297, - "node_id": "RA_kwDOKIBx0s4I2N3Z", - "name": "jan-linux-x86_64-0.4.5.AppImage", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 139479533, - "download_count": 991, - "created_at": "2024-01-29T04:41:42Z", - "updated_at": "2024-01-29T04:41:47Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-linux-x86_64-0.4.5.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431736", - "id": 148431736, - "node_id": "RA_kwDOKIBx0s4I2ON4", - "name": "jan-mac-arm64-0.4.5.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127455536, - "download_count": 1481, - "created_at": "2024-01-29T05:04:02Z", - "updated_at": "2024-01-29T05:04:16Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-arm64-0.4.5.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431735", - "id": 148431735, - "node_id": "RA_kwDOKIBx0s4I2ON3", - "name": "jan-mac-arm64-0.4.5.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 133835, - "download_count": 3, - "created_at": "2024-01-29T05:04:02Z", - "updated_at": "2024-01-29T05:04:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-arm64-0.4.5.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431759", - "id": 148431759, - "node_id": "RA_kwDOKIBx0s4I2OOP", - "name": "jan-mac-arm64-0.4.5.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 122951194, - "download_count": 1062, - "created_at": "2024-01-29T05:04:18Z", - "updated_at": "2024-01-29T05:04:23Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-arm64-0.4.5.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431758", - "id": 148431758, - "node_id": "RA_kwDOKIBx0s4I2OOO", - "name": "jan-mac-arm64-0.4.5.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 129367, - "download_count": 3, - "created_at": "2024-01-29T05:04:18Z", - "updated_at": "2024-01-29T05:04:18Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-arm64-0.4.5.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431510", - "id": 148431510, - "node_id": "RA_kwDOKIBx0s4I2OKW", - "name": "jan-mac-x64-0.4.5.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 134030913, - "download_count": 642, - "created_at": "2024-01-29T05:00:45Z", - "updated_at": "2024-01-29T05:00:52Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-x64-0.4.5.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431511", - "id": 148431511, - "node_id": "RA_kwDOKIBx0s4I2OKX", - "name": "jan-mac-x64-0.4.5.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 140125, - "download_count": 4, - "created_at": "2024-01-29T05:00:45Z", - "updated_at": "2024-01-29T05:00:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-x64-0.4.5.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431576", - "id": 148431576, - "node_id": "RA_kwDOKIBx0s4I2OLY", - "name": "jan-mac-x64-0.4.5.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 129562996, - "download_count": 189, - "created_at": "2024-01-29T05:01:35Z", - "updated_at": "2024-01-29T05:01:41Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-x64-0.4.5.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431577", - "id": 148431577, - "node_id": "RA_kwDOKIBx0s4I2OLZ", - "name": "jan-mac-x64-0.4.5.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 135459, - "download_count": 4, - "created_at": "2024-01-29T05:01:35Z", - "updated_at": "2024-01-29T05:01:35Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-mac-x64-0.4.5.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430949", - "id": 148430949, - "node_id": "RA_kwDOKIBx0s4I2OBl", - "name": "jan-win-x64-0.4.5.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 112164048, - "download_count": 9315, - "created_at": "2024-01-29T04:51:58Z", - "updated_at": "2024-01-29T04:52:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-win-x64-0.4.5.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430948", - "id": 148430948, - "node_id": "RA_kwDOKIBx0s4I2OBk", - "name": "jan-win-x64-0.4.5.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 119750, - "download_count": 5169, - "created_at": "2024-01-29T04:51:58Z", - "updated_at": "2024-01-29T04:51:58Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/jan-win-x64-0.4.5.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430399", - "id": 148430399, - "node_id": "RA_kwDOKIBx0s4I2N4_", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 540, - "download_count": 3298, - "created_at": "2024-01-29T04:42:59Z", - "updated_at": "2024-01-29T04:42:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148431765", - "id": 148431765, - "node_id": "RA_kwDOKIBx0s4I2OOV", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 6003, - "created_at": "2024-01-29T05:04:24Z", - "updated_at": "2024-01-29T05:04:24Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/148430954", - "id": 148430954, - "node_id": "RA_kwDOKIBx0s4I2OBq", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 17195, - "created_at": "2024-01-29T04:52:00Z", - "updated_at": "2024-01-29T04:52:01Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.5/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.5", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.5", - "body": "## Changes\r\n\r\n- fix(Wording): #1758 correct text for windows @namchuai (#1768)\r\n- fix(Log): server log is not display in windows @namchuai (#1764)\r\n- Release Cut v0.4.5 @louis-jan (#1752)\r\n- chore(nitro): 0.2.11 -> 0.2.12 @hiro-v (#1754)\r\n- fix: Nitro CPU threads with correct physical/ performance CPU count @hiro-v (#1726)\r\n- fix(Model): #1662 imported model does not use gpu @namchuai (#1723)\r\n- fix(API): #1720 host/port provided in the local API server does not fully applied @namchuai (#1721)\r\n- fix: server API reference @hiro-v (#1670)\r\n- fix(Model): refactor model label @namchuai (#1596)\r\n- docs/postmortem v 0.4.4 @hieu-jan (#1617)\r\n- chore(ShortcutModal): clean up shortcut modal @namchuai (#1614)\r\n- chore(Dependencies): upgrade node-fetch to fix vulnerable issue @namchuai (#1598)\r\n\r\n## 🚀 Features\r\n\r\n- feat: update UI allow user change folder @urmauur (#1738)\r\n- feat: error message when not enough RAM @urmauur (#1706)\r\n- feat: improvement ux for local api server @urmauur (#1704)\r\n- feat: allow user to move jan folder @namchuai (#1649)\r\n- feat: HTTP proxy support @markmehere (#1562)\r\n- Feature add schedule clean cloudflare page and r2 @hiento09 (#1653)\r\n- feat: relayout left panel setting page @urmauur (#1648)\r\n- Update CI follow git flow @hiento09 (#1625)\r\n- feat: Implement UI page API server dashboard @urmauur (#1636)\r\n- fix: #1545 long thread title @lucido-simon (#1605)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: model selection does not show in API settings page @louis-jan (#1828)\r\n- fix: user can't view model setting in local api server @namchuai (#1807)\r\n- fix: cannot change jan data folder @namchuai (#1805)\r\n- fix: model selection does not show in API settings page @louis-jan (#1802)\r\n- fix: user can't use a model in model hub @namchuai (#1801)\r\n- fix: stop openai inference raises something amiss @louis-jan (#1799)\r\n- regression fix: input disabled darkmode @urmauur (#1800)\r\n- fix: clean last message when user clean thread message @namchuai (#1793)\r\n- fix: app log not being printed @namchuai (#1790)\r\n- fix: api settings are not applied on changes @louis-jan (#1789)\r\n- fix: could not delete model @louis-jan (#1779)\r\n- fix: can not start model when server is not enabled from model settings page @louis-jan (#1774)\r\n- regression fix: input port not accept alphabets @urmauur (#1772)\r\n- Correct bash script syntax in ci @hiento09 (#1769)\r\n- Hotfix CI pre-release not trigger @hiento09 (#1757)\r\n- fix: bring back open app directory @louis-jan (#1756)\r\n- fix: input port have range validation @urmauur (#1741)\r\n- Fix error nightly build schedule run failed @hiento09 (#1736)\r\n- fix: active model when start server @urmauur (#1719)\r\n- fix: Change to fixed `localhost` instead of using host variable @hiro-v (#1729)\r\n- Fix autoupdater nightly build error @hiento09 (#1727)\r\n- Correct download url readme @hiento09 (#1724)\r\n- fix: API chat/completion is blocked by CORS @louis-jan (#1705)\r\n- fix: Jan server - v1/chat/completions is throwing ERR\\_REQUIRE\\_ESM @louis-jan (#1703)\r\n- fix: Jan server is showing blank page @louis-jan (#1702)\r\n- fix: switching loader from remote to local model from thread right panel @urmauur (#1692)\r\n- fix: hot-fix algolia search @hieu-jan (#1700)\r\n- fix: disable api key field while server is running @urmauur (#1694)\r\n- fix: stoping model show starting model @urmauur (#1693)\r\n- fix bug #1650 hogging resources @hiento09 (#1663)\r\n- fix: auto select text when collapse panel @urmauur (#1645)\r\n- fix: wrong selected model ref @louis-jan (#1638)\r\n- fix: enable check for update on all supported platforms @louis-jan (#1626)\r\n- fix: correct footer @hieu-jan (#1628)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Docs publish to github page trigger on push to docs branch @hiento09 (#1783)\r\n- Correct bash script syntax in ci @hiento09 (#1769)\r\n- Combine 2 ci pipeline pre-release and nightly into one @hiento09 (#1767)\r\n- Hotfix CI pre-release not trigger @hiento09 (#1757)\r\n- Fix error nightly build schedule run failed @hiento09 (#1736)\r\n- docs: add troubleshoot unexpected token @hieu-jan (#1711)\r\n- docs: fix about pages @0xSage (#1699)\r\n- refactor: deprecate extension type implementation @louis-jan (#1677)\r\n- refactor: file prefix replace utils \\& add unit test @louis-jan (#1676)\r\n- Correct ref branch for update url on README.md file @hiento09 (#1672)\r\n- docs: update 02-somethings-amiss @hieu-jan (#1668)\r\n- Cherrypick cicd to main branch to apply new gitflow @hiento09 (#1665)\r\n- docs: add user and developer guides for extensions @hieu-jan (#1657)\r\n- docs: add QA Script @hieu-jan (#1660)\r\n- chore: Bump nitro to 0.2.11 @hiro-v (#1655)\r\n- chore: Bump version nitro to 0.2.10 @hiro-v (#1644)\r\n- docs: add antivirus compatibility testing @hieu-jan (#1641)\r\n- refactor: introduce node module in nitro extension @louis-jan (#1630)\r\n- Update 02-somethings-amiss.mdx @Ssstars (#1634)\r\n- docs: add integration AzureOpenAI @hieu-jan (#1632)\r\n- docs: add troubleshooting permission denied @hieu-jan (#1631)\r\n\r\n## Contributor\r\n\r\n@0xSage, @Ssstars, @hiento09, @hientominh, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @lucido-simon, @markmehere, @namchuai and @urmauur\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/138849187/reactions", - "total_count": 10, - "+1": 6, - "-1": 0, - "laugh": 0, - "hooray": 0, - "confused": 0, - "heart": 0, - "rocket": 3, - "eyes": 1 - }, - "mentions_count": 12 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/137134422", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/137134422/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/137134422/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.4", - "id": 137134422, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4ILIFW", - "tag_name": "v0.4.4", - "target_commitish": "e3a06aad3e158be0919478f5893108f71557649d", - "name": "0.4.4", - "draft": false, - "prerelease": false, - "created_at": "2024-01-15T08:52:00Z", - "published_at": "2024-01-16T01:55:43Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145769193", - "id": 145769193, - "node_id": "RA_kwDOKIBx0s4IsELp", - "name": "jan-linux-amd64-0.4.4.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 100113418, - "download_count": 2704, - "created_at": "2024-01-16T01:43:11Z", - "updated_at": "2024-01-16T01:43:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-linux-amd64-0.4.4.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145768983", - "id": 145768983, - "node_id": "RA_kwDOKIBx0s4IsEIX", - "name": "jan-linux-x86_64-0.4.4.AppImage", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 139077362, - "download_count": 2501, - "created_at": "2024-01-16T01:41:56Z", - "updated_at": "2024-01-16T01:41:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-linux-x86_64-0.4.4.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770452", - "id": 145770452, - "node_id": "RA_kwDOKIBx0s4IsEfU", - "name": "jan-mac-arm64-0.4.4.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127211966, - "download_count": 4863, - "created_at": "2024-01-16T01:52:32Z", - "updated_at": "2024-01-16T01:52:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-arm64-0.4.4.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770451", - "id": 145770451, - "node_id": "RA_kwDOKIBx0s4IsEfT", - "name": "jan-mac-arm64-0.4.4.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 132898, - "download_count": 6, - "created_at": "2024-01-16T01:52:32Z", - "updated_at": "2024-01-16T01:52:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-arm64-0.4.4.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770459", - "id": 145770459, - "node_id": "RA_kwDOKIBx0s4IsEfb", - "name": "jan-mac-arm64-0.4.4.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 122737615, - "download_count": 1061, - "created_at": "2024-01-16T01:52:40Z", - "updated_at": "2024-01-16T01:52:44Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-arm64-0.4.4.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770458", - "id": 145770458, - "node_id": "RA_kwDOKIBx0s4IsEfa", - "name": "jan-mac-arm64-0.4.4.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 129515, - "download_count": 5, - "created_at": "2024-01-16T01:52:40Z", - "updated_at": "2024-01-16T01:52:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-arm64-0.4.4.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770231", - "id": 145770231, - "node_id": "RA_kwDOKIBx0s4IsEb3", - "name": "jan-mac-x64-0.4.4.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 133785404, - "download_count": 1929, - "created_at": "2024-01-16T01:49:55Z", - "updated_at": "2024-01-16T01:50:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-x64-0.4.4.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770232", - "id": 145770232, - "node_id": "RA_kwDOKIBx0s4IsEb4", - "name": "jan-mac-x64-0.4.4.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 140010, - "download_count": 5, - "created_at": "2024-01-16T01:49:55Z", - "updated_at": "2024-01-16T01:49:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-x64-0.4.4.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770132", - "id": 145770132, - "node_id": "RA_kwDOKIBx0s4IsEaU", - "name": "jan-mac-x64-0.4.4.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 129349430, - "download_count": 274, - "created_at": "2024-01-16T01:48:29Z", - "updated_at": "2024-01-16T01:48:35Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-x64-0.4.4.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770133", - "id": 145770133, - "node_id": "RA_kwDOKIBx0s4IsEaV", - "name": "jan-mac-x64-0.4.4.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 135543, - "download_count": 5, - "created_at": "2024-01-16T01:48:29Z", - "updated_at": "2024-01-16T01:48:29Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-mac-x64-0.4.4.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770178", - "id": 145770178, - "node_id": "RA_kwDOKIBx0s4IsEbC", - "name": "jan-win-x64-0.4.4.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 111766336, - "download_count": 23199, - "created_at": "2024-01-16T01:49:06Z", - "updated_at": "2024-01-16T01:49:10Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-win-x64-0.4.4.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770185", - "id": 145770185, - "node_id": "RA_kwDOKIBx0s4IsEbJ", - "name": "jan-win-x64-0.4.4.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 118550, - "download_count": 7013, - "created_at": "2024-01-16T01:49:11Z", - "updated_at": "2024-01-16T01:49:11Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/jan-win-x64-0.4.4.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145769198", - "id": 145769198, - "node_id": "RA_kwDOKIBx0s4IsELu", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 540, - "download_count": 6803, - "created_at": "2024-01-16T01:43:13Z", - "updated_at": "2024-01-16T01:43:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770487", - "id": 145770487, - "node_id": "RA_kwDOKIBx0s4IsEf3", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 10714, - "created_at": "2024-01-16T01:52:44Z", - "updated_at": "2024-01-16T01:52:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/145770186", - "id": 145770186, - "node_id": "RA_kwDOKIBx0s4IsEbK", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 25722, - "created_at": "2024-01-16T01:49:12Z", - "updated_at": "2024-01-16T01:49:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.4/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.4", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.4", - "body": "## Changes\r\n\r\n- Update 2023-11-05-hello-world.md @Ssstars (#1587)\r\n- fix(API): #1511 update swagger page @namchuai (#1572)\r\n- fix(Thread): #1212 thread.json not created when user change thread settings @namchuai (#1570)\r\n- fix(Thread): #1336 not allow creating too many unfinished thread @namchuai (#1538)\r\n- Update 01-how-to-get-involved-and-FAQ.mdx @Ssstars (#1555)\r\n- Update 01-how-to-get-involved-and-FAQ.mdx @Ssstars (#1553)\r\n- Update 02-embracing-pod-structure.mdx @Ssstars (#1550)\r\n- Update 01-how-we-hire.mdx @Ssstars (#1551)\r\n- Update 01-how-we-hire.mdx @Ssstars (#1524)\r\n- fix(InferenceExtension): #1067 sync the nitro process state @namchuai (#1493)\r\n- fix(Messages): #1434 create message via api does not display on app correctly @namchuai (#1479)\r\n- Docs for the Integration of Continue and Jan in VSCode @0xgokuz (#1467)\r\n- Chore: Update model.json for UI @hahuyhoang411 (#1448)\r\n- Docs for Installing Models from Hub @0xgokuz (#1450)\r\n- Update about.md @Ssstars (#1436)\r\n- feat(UI): #1404 make left side bar collapsible by hot key @namchuai (#1420)\r\n- docs: Typo in 06-hardware.md @akaMrNagar (#1408)\r\n- fix(API): #1409 fix wrong prefix for threads api @namchuai (#1410)\r\n- Update model hub @hahuyhoang411 (#1383)\r\n- fix(Model): remove unsupported default model setting params @namchuai (#1382)\r\n- fix(trinity): update cover path for trinity v1.2 @hahuyhoang411 (#1380)\r\n- Chore/update model hub @hahuyhoang411 (#1342)\r\n- Update about.md @Ssstars (#1359)\r\n- fix(JanHub): #1158 sort model list @namchuai (#1257)\r\n- fix(Message): open link with external browser @namchuai (#1339)\r\n- feat(Model): #1028 made model.json optional @namchuai (#1314)\r\n- docs: Update onboarding.md @Diane0111 (#1293)\r\n- fix: clean resource on exit @louis-jan (#1290)\r\n- fix: posthog configuration @hieu-jan (#1283)\r\n- docs: update README.md @eltociear (#1277)\r\n- Enable scrolling in the message chat box @Gri-ffin (#1280)\r\n- chore: Update README.md @sr-albert (#1263)\r\n- Adding new model to the Hub @hahuyhoang411 (#1213)\r\n- Feature GPU detection for Jan on Windows and Linux @hiento09 (#1242)\r\n- fix(Thread): #1168 fix newly created thread cannot select model after restart @namchuai (#1176)\r\n\r\n## 🚀 Features\r\n\r\n- feat: add compatibility tag to model selection in right panel @urmauur (#1552)\r\n- Feature integrate antivirus scanner to ci @hiento09 (#1529)\r\n- feat: [hub] update compatibility tags colors @urmauur (#1516)\r\n- feat: hub recommendation labels @urmauur (#1440)\r\n- Feature linux support app image format @hiento09 (#1442)\r\n- fix: render external links @urmauur (#1441)\r\n- fix: add icon collapsible left panel and update keyboard shortcut page @urmauur (#1439)\r\n- feat(UI): update UI footer @urmauur (#1424)\r\n- Fix Bug for Chat Reply Goes off Screen @mishrababhishek (#1393)\r\n- feat: move social media from left panel into footer @urmauur (#1325)\r\n- feat: implementation new UI thread settings @urmauur (#1301)\r\n- Bring social media links @Gri-ffin (#1295)\r\n- feat: added keyboard shortcut list in setting page @urmauur (#1275)\r\n- feat: add swagger /docs to localhost:1337 @louis-jan (#1268)\r\n- feat: update posthog configuration @hieu-jan (#1258)\r\n- feat: Deprecate model.json ready state in favor of .download ext @louis-jan (#1238)\r\n- feat: add engine settings @namchuai (#1199)\r\n- feat: users should be able to switch models mid-thread @louis-jan (#1226)\r\n- feat: temporary link how to import model @urmauur (#1209)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: #1594 - Model settings - change thread model - go back does not see according settings @louis-jan (#1595)\r\n- fix: #1548 - duplicate command shortcut instruction @louis-jan (#1600)\r\n- fix: switch model caused app crash @louis-jan (#1597)\r\n- fix: #1559 Inference Parameters displayed on new thread with Openai GPT Model @louis-jan (#1588)\r\n- fix: enable user set value manually model setting from input @urmauur (#1585)\r\n- fix: #1569 - Does not apply thread settings when loading model @louis-jan (#1576)\r\n- fix: could not change model params settings @louis-jan (#1547)\r\n- fix: gpu check module export does not work in extension @louis-jan (#1536)\r\n- fix: adjust calculation hub labels using total RAM instead remaining RAM @urmauur (#1522)\r\n- Feature integrate antivirus scanner to ci @hiento09 (#1529)\r\n- fix: allow users to set max tokens variably @urmauur (#1513)\r\n- fix: stop word update @louis-jan (#1457)\r\n- Revert nitro to 0.2.6 @hiento09 (#1491)\r\n- fix: enable text selection codeblock @urmauur (#1466)\r\n- fix: suppress all main node JS error message dialog @louis-jan (#1460)\r\n- Correct AppImage path @hiento09 (#1446)\r\n- fix: render external links @urmauur (#1441)\r\n- fix: add icon collapsible left panel and update keyboard shortcut page @urmauur (#1439)\r\n- fix: GET /models does not work due to new default model dir @louis-jan (#1392)\r\n- fix: model migration stopped working @louis-jan (#1378)\r\n- fix: wrong condition for displaying error message @louis-jan (#1376)\r\n- fix: show hide section engine params @urmauur (#1374)\r\n- fix: copy stream tooltip and hide section when no params setting @urmauur (#1373)\r\n- bugs: fix stop streaming when user delete or clean thread @urmauur (#1347)\r\n- fix: show a proper error message on download failure @louis-jan (#1345)\r\n- Add detect cuda version jan app @hiento09 (#1351)\r\n- fix: Error occurred: Unexpected token \"d\", \"data: ...\" is not a valid JSON @louis-jan (#1332)\r\n- fix: app getting stuck at downloading 99% while downloading model @louis-jan (#1320)\r\n- correct type utf-8 @hiento09 (#1311)\r\n- Fix memory on mac included cached and swap @hiento09 (#1298)\r\n- fix: should check app dir before spawning log @louis-jan (#1297)\r\n- fix: disable process logging from server @louis-jan (#1296)\r\n- fix: user should be able to access Swagger docs from localhost:1337 @louis-jan (#1292)\r\n- Switch from Gigabyte to Gibibyte - System monitor @hiento09 (#1286)\r\n- Switch from systeminformation to os-utils to resolve Bitdefender false positive and memory leak issue @hiento09 (#1282)\r\n- fix: swagger CSP issue @louis-jan (#1284)\r\n- fix: support markdown break line @urmauur (#1274)\r\n- fix ci test run failed @hiento09 (#1267)\r\n- Fix wrong linux nitro path @hiento09 (#1266)\r\n- fix: enable command enter on dialog confirmation clean thread @urmauur (#1261)\r\n- fix: input message duplicated due with some input sources @louis-jan (#1259)\r\n- fix: mac users should not see GPU settings @louis-jan (#1255)\r\n- fix: remove redundant gpu detection prompt event @louis-jan (#1254)\r\n- fix: engine settings GUI - feature toggle @louis-jan (#1252)\r\n- Fix bug #1178 high ram on windows @hiento09 (#1241)\r\n- fix: #1183 Reveal in finder does not work on windows @namchuai (#1239)\r\n- fix: remove delay tooltip and click event @urmauur (#1217)\r\n- fix: enable enter command on dialog confirmation delete thread @urmauur (#1218)\r\n- fix: Cleared thread last message is not updated @louis-jan (#1225)\r\n- Fix switch thread crash nitro windows linux @hiento09 (#1214)\r\n- fix: darkmode broken color @urmauur (#1186)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: typo model.json @louis-jan (#1599)\r\n- docs: add 04-how-to-get-error-logs.mdx @hieu-jan (#1580)\r\n- chore: teach how to attach logs @0xSage (#1578)\r\n- chore: issues should auto close with PRs through template @0xSage (#1577)\r\n- chore: Update issue templates @0xSage (#1568)\r\n- docs: fix x handles @0xSage (#1532)\r\n- Docs to integrate OpenRouter with Jan without UI/UX @0xgokuz (#1495)\r\n- chore: fix darkmode docs @hieu-jan (#1520)\r\n- docs: fix algolia configuration @hieu-jan (#1518)\r\n- docs: fix algolia configuration @hieu-jan (#1517)\r\n- Revert URL release in readme to version 0.4.3 @hiento09 (#1502)\r\n- refactor: add app and nitro log - resolve dependencies issue @louis-jan (#1447)\r\n- chore: enable agolia @hieu-jan (#1497)\r\n- docs: update troubleshooting and redirects old pages @hieu-jan (#1492)\r\n- docs: minor fix @hieu-jan (#1478)\r\n- docs: initial handbook structure @hieu-jan (#1477)\r\n- Bump nitro to 0.2.8 and change Jan App to support cuda >= 11.7 @hiento09 (#1476)\r\n- Chore update docs jan - add AppImage instruction to docusaurus @hiento09 (#1480)\r\n- Bump nitro to 0.2.7 @hiento09 (#1474)\r\n- chore: error message update @louis-jan (#1473)\r\n- docs: Update 02-import-manually.mdx @0xSage (#1469)\r\n- docs: Update about.md @0xSage (#1465)\r\n- Bump nitro version to 0.2.6 @hiento09 (#1458)\r\n- docs: adding customize engine settings @hieu-jan (#1455)\r\n- docs: add-missing-path @hieu-jan (#1454)\r\n- docs: resize gif @hieu-jan (#1453)\r\n- docs: revenue philosophy @0xSage (#1443)\r\n- docs: jan framework principles @0xSage (#1438)\r\n- docs: fix typo in docs @hieu-jan (#1419)\r\n- chore: clean up use os hook @namchuai (#1418)\r\n- docs: explain each docs page intent @0xSage (#1417)\r\n- docs: Update 01-server.md @0xSage (#1416)\r\n- Update warning url from github md file to jan.ai docs site @hiento09 (#1414)\r\n- docs: improve gpu not used guide @hieu-jan (#1405)\r\n- chore: update README.md @eltociear (#1406)\r\n- Update USAGE docs for linux @hiento09 (#1401)\r\n- docs: gpu not detected @0xSage (#1399)\r\n- docs: Troubleshoot Failed To Fetch @gabrielle-ong (#1398)\r\n- docs: improve docs syntax @hieu-jan (#1394)\r\n- docs: add-install-nightly-guide @hieu-jan (#1390)\r\n- docs: correct href link @hieu-jan (#1338)\r\n- docs: fix chat payload and cURL @hieu-jan (#1360)\r\n- docs: add Chatting Guide @hieu-jan (#1184)\r\n- Chore add docs usage how to switch run mode jan app @hiento09 (#1353)\r\n- docs: configure index page @hieu-jan (#1330)\r\n- docs: Update product.md @0xSage (#1326)\r\n- docs: Update 01-server.md @0xSage (#1327)\r\n- refactor: deprecate the appVersion IPC and use the predefined VERSION @louis-jan (#1309)\r\n- docs: update using models documentation @hieu-jan (#1288)\r\n- docs: update pm handbook @0xSage (#1307)\r\n- docs: contributor docs overview @0xSage (#1305)\r\n- chore: github PR template @0xSage (#1304)\r\n- Fix memory on mac included cached and swap @hiento09 (#1298)\r\n- Enrich discord message for nightly build url @hiento09 (#1294)\r\n- Refactor CI by create shared jobs output @hiento09 (#1287)\r\n- docs: update README.md @hieu-jan (#1281)\r\n- docs: Update README.md @0xSage (#1248)\r\n- feat: Jan Server, API and decoupled clients @louis-jan (#948)\r\n- docs: improve 02-import-manually @hieu-jan (#1222)\r\n- chore: Update issue templates @0xSage (#1229)\r\n- docs: Update 02-import-manually.mdx @0xSage (#1197)\r\n- add sleep 500ms if platform is windows before starting nitro process @hiento09 (#1215)\r\n- docs: improve troubleshoot documentation @hieu-jan (#1173)\r\n- docs: update bug report template @hieu-jan (#1180)\r\n- docs: add troubleshooting @hieu-jan (#1169)\r\n- chore: copy fixes @0xSage (#1167)\r\n- docs: Update 01-start-thread.md @0xSage (#1122)\r\n\r\n## Contributor\r\n\r\n@0xSage, @0xgokuz, @Diane0111, @Gri-ffin, @Ssstars, @akaMrNagar, @eltociear, @gabrielle-ong, @hahuyhoang411, @hiento09, @hieu-jan, @jan-service-account, @louis-jan, @mishrababhishek, @namchuai, @sr-albert, @urmauur and Abhishek Mishra\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/137134422/reactions", - "total_count": 18, - "+1": 13, - "-1": 0, - "laugh": 0, - "hooray": 3, - "confused": 0, - "heart": 0, - "rocket": 2, - "eyes": 0 - }, - "mentions_count": 17 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/134782366", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/134782366/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/134782366/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.3", - "id": 134782366, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4ICJ2e", - "tag_name": "v0.4.3", - "target_commitish": "75e0342c9fa2debeb238d15dc76514383401bb9d", - "name": "0.4.3", - "draft": false, - "prerelease": false, - "created_at": "2023-12-21T14:02:37Z", - "published_at": "2023-12-21T14:20:48Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141813723", - "id": 141813723, - "node_id": "RA_kwDOKIBx0s4Ic-fb", - "name": "jan-linux-amd64-0.4.3.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 95840002, - "download_count": 5036, - "created_at": "2023-12-21T14:11:45Z", - "updated_at": "2023-12-21T14:11:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-linux-amd64-0.4.3.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814855", - "id": 141814855, - "node_id": "RA_kwDOKIBx0s4Ic-xH", - "name": "jan-mac-arm64-0.4.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121463938, - "download_count": 9215, - "created_at": "2023-12-21T14:19:40Z", - "updated_at": "2023-12-21T14:19:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-arm64-0.4.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814856", - "id": 141814856, - "node_id": "RA_kwDOKIBx0s4Ic-xI", - "name": "jan-mac-arm64-0.4.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 126494, - "download_count": 15, - "created_at": "2023-12-21T14:19:40Z", - "updated_at": "2023-12-21T14:19:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-arm64-0.4.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814864", - "id": 141814864, - "node_id": "RA_kwDOKIBx0s4Ic-xQ", - "name": "jan-mac-arm64-0.4.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 117347980, - "download_count": 127, - "created_at": "2023-12-21T14:19:44Z", - "updated_at": "2023-12-21T14:19:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-arm64-0.4.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814863", - "id": 141814863, - "node_id": "RA_kwDOKIBx0s4Ic-xP", - "name": "jan-mac-arm64-0.4.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 120628, - "download_count": 7, - "created_at": "2023-12-21T14:19:43Z", - "updated_at": "2023-12-21T14:19:44Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-arm64-0.4.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814507", - "id": 141814507, - "node_id": "RA_kwDOKIBx0s4Ic-rr", - "name": "jan-mac-x64-0.4.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 128025547, - "download_count": 3360, - "created_at": "2023-12-21T14:16:54Z", - "updated_at": "2023-12-21T14:17:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-x64-0.4.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814508", - "id": 141814508, - "node_id": "RA_kwDOKIBx0s4Ic-rs", - "name": "jan-mac-x64-0.4.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 132736, - "download_count": 8, - "created_at": "2023-12-21T14:16:54Z", - "updated_at": "2023-12-21T14:16:54Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-x64-0.4.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814538", - "id": 141814538, - "node_id": "RA_kwDOKIBx0s4Ic-sK", - "name": "jan-mac-x64-0.4.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 123959766, - "download_count": 83, - "created_at": "2023-12-21T14:17:03Z", - "updated_at": "2023-12-21T14:17:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-x64-0.4.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814537", - "id": 141814537, - "node_id": "RA_kwDOKIBx0s4Ic-sJ", - "name": "jan-mac-x64-0.4.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 128011, - "download_count": 8, - "created_at": "2023-12-21T14:17:03Z", - "updated_at": "2023-12-21T14:17:03Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-mac-x64-0.4.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814690", - "id": 141814690, - "node_id": "RA_kwDOKIBx0s4Ic-ui", - "name": "jan-win-x64-0.4.3.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 105609992, - "download_count": 28147, - "created_at": "2023-12-21T14:18:19Z", - "updated_at": "2023-12-21T14:18:22Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-win-x64-0.4.3.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814698", - "id": 141814698, - "node_id": "RA_kwDOKIBx0s4Ic-uq", - "name": "jan-win-x64-0.4.3.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 110786, - "download_count": 4082, - "created_at": "2023-12-21T14:18:23Z", - "updated_at": "2023-12-21T14:18:23Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/jan-win-x64-0.4.3.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141813777", - "id": 141813777, - "node_id": "RA_kwDOKIBx0s4Ic-gR", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 5273, - "created_at": "2023-12-21T14:11:49Z", - "updated_at": "2023-12-21T14:11:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814872", - "id": 141814872, - "node_id": "RA_kwDOKIBx0s4Ic-xY", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 15929, - "created_at": "2023-12-21T14:19:49Z", - "updated_at": "2023-12-21T14:19:50Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/141814704", - "id": 141814704, - "node_id": "RA_kwDOKIBx0s4Ic-uw", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 29750, - "created_at": "2023-12-21T14:18:24Z", - "updated_at": "2023-12-21T14:18:24Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.3/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.3", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.3", - "body": "## Changes\r\n\r\n- Hotfix Prompt template for models on the Hub @hahuyhoang411 (#1159)\r\n- Update model list for new release @hahuyhoang411 (#1143)\r\n- fix(Thread): #1119 focus on the first thread to prevent blank chat screen @namchuai (#1127)\r\n- fix(Thread): #1064 message being added to wrong thread if switching thread @namchuai (#1108)\r\n- fix(Thread): #1042 allow create new thread by clicking Use in Jan Hub @namchuai (#1103)\r\n- feat(ModelSetting): #1065 update state of model setting between threads @namchuai (#1090)\r\n- Update model version @hahuyhoang411 (#1086)\r\n- fix: cache hallucinations and failed to load model due to race condition @louis-jan (#1071)\r\n- fix(thread): #1043 default model to prefer active model @namchuai (#1070)\r\n- Update issue templates @0xSage (#1058)\r\n- Update ctx\\_len and max\\_tokens @hahuyhoang411 (#1035)\r\n\r\n## 🚀 Features\r\n\r\n- feat: Add codeQL analysis for push main and pr main @hiro-v (#1128)\r\n- Feature autoupdater for nightly build @hiento09 (#1068)\r\n- feat: copy button for code block @urmauur (#1062)\r\n- Enhancements to Dependency Installation and App Testing @hiento09 (#965)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: error road map url @hieu-jan (#1153)\r\n- Fix token speed slow in machine has multi gpus @hiento09 (#1157)\r\n- fix: added dialog confirmation clean thread @urmauur (#1142)\r\n- fix: remove remote model from shortcut models dialog @urmauur (#1124)\r\n- fix: ui issue - all models are activated @louis-jan (#1120)\r\n- fix: should not hide empty message away @louis-jan (#1116)\r\n- fix: added tooltip for user cannot change model after starting thread @urmauur (#1115)\r\n- fix: remote model always active badges @urmauur (#1113)\r\n- fix: handle chat completion state with enter button @louis-jan (#1114)\r\n- fix: model active indicator only show when model activated @urmauur (#1110)\r\n- fix: #1096 yield error message upon thread switching @louis-jan (#1109)\r\n- fix: toaster success deleted thread showing id instead of active model @urmauur (#1111)\r\n- fix: update copy setting page @urmauur (#1105)\r\n- fix: search recommended model @urmauur (#1106)\r\n- fix: #1097 streaming response is replaced by error message @louis-jan (#1099)\r\n- Fix auto update windows Bug @hiento09 (#1102)\r\n- fix: added dialog confirmation when delete thread @urmauur (#1093)\r\n- fix: system monitor broken layout when responsive @urmauur (#1085)\r\n- bug: chatbox doesn't resize back down @urmauur (#1084)\r\n- fix: thread is broken after deleted first generated message @louis-jan (#1061)\r\n\r\n## 🧰 Maintenance\r\n\r\n- feat: Add codeQL analysis for push main and pr main @hiro-v (#1128)\r\n- docs: refactor dev docs, guides and specs @0xSage (#1092)\r\n- Correct jq command cause ci nightly build run failed @hiento09 (#1104)\r\n- Fix nightly build autoupdater @hiento09 (#1073)\r\n- Feature autoupdater for nightly build @hiento09 (#1068)\r\n- docs: Update product.md @0xSage (#1066)\r\n- Posthog disable click event and increase timeout for nitro load modelâ€Ļ @hiento09 (#1060)\r\n- docs: improve quickstart docs @0xSage (#1047)\r\n\r\n## Contributor\r\n\r\n@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @namchuai and @urmauur\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/134782366/reactions", - "total_count": 7, - "+1": 6, - "-1": 0, - "laugh": 0, - "hooray": 1, - "confused": 0, - "heart": 0, - "rocket": 0, - "eyes": 0 - }, - "mentions_count": 9 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/134100003", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/134100003/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/134100003/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.2", - "id": 134100003, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4H_jQj", - "tag_name": "v0.4.2", - "target_commitish": "f62b0ca4ef41ed4f4ba3895f6f0bdc0f3fb2142a", - "name": "0.4.2", - "draft": false, - "prerelease": false, - "created_at": "2023-12-15T14:10:26Z", - "published_at": "2023-12-15T14:30:06Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140857832", - "id": 140857832, - "node_id": "RA_kwDOKIBx0s4IZVHo", - "name": "jan-linux-amd64-0.4.2.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 95879008, - "download_count": 118, - "created_at": "2023-12-15T14:14:29Z", - "updated_at": "2023-12-15T14:14:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-linux-amd64-0.4.2.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859550", - "id": 140859550, - "node_id": "RA_kwDOKIBx0s4IZVie", - "name": "jan-mac-arm64-0.4.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 119581861, - "download_count": 138, - "created_at": "2023-12-15T14:27:06Z", - "updated_at": "2023-12-15T14:27:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-arm64-0.4.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859551", - "id": 140859551, - "node_id": "RA_kwDOKIBx0s4IZVif", - "name": "jan-mac-arm64-0.4.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 125700, - "download_count": 2, - "created_at": "2023-12-15T14:27:06Z", - "updated_at": "2023-12-15T14:27:07Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-arm64-0.4.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859676", - "id": 140859676, - "node_id": "RA_kwDOKIBx0s4IZVkc", - "name": "jan-mac-arm64-0.4.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 115488941, - "download_count": 13, - "created_at": "2023-12-15T14:28:07Z", - "updated_at": "2023-12-15T14:28:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-arm64-0.4.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859675", - "id": 140859675, - "node_id": "RA_kwDOKIBx0s4IZVkb", - "name": "jan-mac-arm64-0.4.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 120796, - "download_count": 1, - "created_at": "2023-12-15T14:28:07Z", - "updated_at": "2023-12-15T14:28:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-arm64-0.4.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140858769", - "id": 140858769, - "node_id": "RA_kwDOKIBx0s4IZVWR", - "name": "jan-mac-x64-0.4.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 126174829, - "download_count": 35, - "created_at": "2023-12-15T14:21:56Z", - "updated_at": "2023-12-15T14:22:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-x64-0.4.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140858770", - "id": 140858770, - "node_id": "RA_kwDOKIBx0s4IZVWS", - "name": "jan-mac-x64-0.4.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 131844, - "download_count": 2, - "created_at": "2023-12-15T14:21:56Z", - "updated_at": "2023-12-15T14:21:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-x64-0.4.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859027", - "id": 140859027, - "node_id": "RA_kwDOKIBx0s4IZVaT", - "name": "jan-mac-x64-0.4.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 122100717, - "download_count": 5, - "created_at": "2023-12-15T14:22:45Z", - "updated_at": "2023-12-15T14:22:50Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-x64-0.4.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859025", - "id": 140859025, - "node_id": "RA_kwDOKIBx0s4IZVaR", - "name": "jan-mac-x64-0.4.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 128437, - "download_count": 2, - "created_at": "2023-12-15T14:22:45Z", - "updated_at": "2023-12-15T14:22:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-mac-x64-0.4.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140858450", - "id": 140858450, - "node_id": "RA_kwDOKIBx0s4IZVRS", - "name": "jan-win-x64-0.4.2.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 103875992, - "download_count": 373, - "created_at": "2023-12-15T14:19:37Z", - "updated_at": "2023-12-15T14:19:41Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-win-x64-0.4.2.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140858472", - "id": 140858472, - "node_id": "RA_kwDOKIBx0s4IZVRo", - "name": "jan-win-x64-0.4.2.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/xml", - "state": "uploaded", - "size": 110511, - "download_count": 217, - "created_at": "2023-12-15T14:19:41Z", - "updated_at": "2023-12-15T14:19:42Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/jan-win-x64-0.4.2.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140857842", - "id": 140857842, - "node_id": "RA_kwDOKIBx0s4IZVHy", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 152, - "created_at": "2023-12-15T14:14:32Z", - "updated_at": "2023-12-15T14:14:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140859687", - "id": 140859687, - "node_id": "RA_kwDOKIBx0s4IZVkn", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 315, - "created_at": "2023-12-15T14:28:14Z", - "updated_at": "2023-12-15T14:28:14Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140858478", - "id": 140858478, - "node_id": "RA_kwDOKIBx0s4IZVRu", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 536, - "created_at": "2023-12-15T14:19:43Z", - "updated_at": "2023-12-15T14:19:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.2/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.2", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.2", - "body": "## Changes\r\n\r\n- Hotfix model hub @hahuyhoang411 (#1033)\r\n- Update Model.json @hahuyhoang411 (#1005)\r\n\r\n## 🚀 Features\r\n\r\n- feat: app theme depend on local storage instead native theme electron @urmauur (#1014)\r\n- feat: move stop inference button into the send button @urmauur (#1011)\r\n- feat: loader when starting model @urmauur (#945)\r\n- fix: enable download app linux @urmauur (#993)\r\n- fix: remove coming soon windows @urmauur (#986)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: migrate new models @louis-jan (#1034)\r\n- fix: add input for api key remote model @urmauur (#1031)\r\n- fix bug #1013, enable posthog for release app version only @hiento09 (#1019)\r\n- fix: delete first message then regenerate again will break the thread @louis-jan (#1015)\r\n- fix: #995 - Fix onboarding state and model sorting @louis-jan (#1009)\r\n- fix: limit analytics events capture @louis-jan (#1012)\r\n- fix: wrong selected model right panel @urmauur (#1001)\r\n- fix: review finder and view as json @louis-jan (#1000)\r\n- fix: enable download app linux @urmauur (#993)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: remigrate if there is no models dir @louis-jan (#1038)\r\n- bump nitro version to 0.1.30 @hiento09 (#1036)\r\n- chore: in app copy fixes @0xSage (#1032)\r\n- Separate posthog project for jan app and docs @hiento09 (#1029)\r\n- Update posthog capture url list @hiento09 (#1022)\r\n- docs: second half of \"import model docs\" PR @0xSage (#1021)\r\n- docs: how to import models @0xSage (#1020)\r\n- fix bug #1013, enable posthog for release app version only @hiento09 (#1019)\r\n\r\n## Contributor\r\n\r\n@0xSage, @hahuyhoang411, @hiento09, @jan-service-account, @louis-jan and @urmauur\r\n", - "mentions_count": 6 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/133838092", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/133838092/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/133838092/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.1", - "id": 133838092, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4H-jUM", - "tag_name": "v0.4.1", - "target_commitish": "596f40f20255ac554f2d4d644b92ea426be31cba", - "name": "0.4.1", - "draft": false, - "prerelease": false, - "created_at": "2023-12-14T02:31:54Z", - "published_at": "2023-12-14T03:19:44Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580290", - "id": 140580290, - "node_id": "RA_kwDOKIBx0s4IYRXC", - "name": "jan-linux-amd64-0.4.1.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 93269080, - "download_count": 42, - "created_at": "2023-12-14T02:35:58Z", - "updated_at": "2023-12-14T02:36:01Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-linux-amd64-0.4.1.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140581049", - "id": 140581049, - "node_id": "RA_kwDOKIBx0s4IYRi5", - "name": "jan-mac-arm64-0.4.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116601237, - "download_count": 33, - "created_at": "2023-12-14T02:44:08Z", - "updated_at": "2023-12-14T02:44:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-arm64-0.4.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140581050", - "id": 140581050, - "node_id": "RA_kwDOKIBx0s4IYRi6", - "name": "jan-mac-arm64-0.4.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121458, - "download_count": 1, - "created_at": "2023-12-14T02:44:08Z", - "updated_at": "2023-12-14T02:44:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-arm64-0.4.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140581100", - "id": 140581100, - "node_id": "RA_kwDOKIBx0s4IYRjs", - "name": "jan-mac-arm64-0.4.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 112560272, - "download_count": 8, - "created_at": "2023-12-14T02:45:00Z", - "updated_at": "2023-12-14T02:45:04Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-arm64-0.4.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140581101", - "id": 140581101, - "node_id": "RA_kwDOKIBx0s4IYRjt", - "name": "jan-mac-arm64-0.4.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 118119, - "download_count": 1, - "created_at": "2023-12-14T02:45:00Z", - "updated_at": "2023-12-14T02:45:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-arm64-0.4.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580839", - "id": 140580839, - "node_id": "RA_kwDOKIBx0s4IYRfn", - "name": "jan-mac-x64-0.4.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 123218066, - "download_count": 9, - "created_at": "2023-12-14T02:41:40Z", - "updated_at": "2023-12-14T02:41:44Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-x64-0.4.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580838", - "id": 140580838, - "node_id": "RA_kwDOKIBx0s4IYRfm", - "name": "jan-mac-x64-0.4.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130326, - "download_count": 2, - "created_at": "2023-12-14T02:41:40Z", - "updated_at": "2023-12-14T02:41:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-x64-0.4.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580908", - "id": 140580908, - "node_id": "RA_kwDOKIBx0s4IYRgs", - "name": "jan-mac-x64-0.4.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 119172042, - "download_count": 3, - "created_at": "2023-12-14T02:42:31Z", - "updated_at": "2023-12-14T02:42:36Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-x64-0.4.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580907", - "id": 140580907, - "node_id": "RA_kwDOKIBx0s4IYRgr", - "name": "jan-mac-x64-0.4.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 124617, - "download_count": 1, - "created_at": "2023-12-14T02:42:31Z", - "updated_at": "2023-12-14T02:42:31Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-mac-x64-0.4.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580903", - "id": 140580903, - "node_id": "RA_kwDOKIBx0s4IYRgn", - "name": "jan-win-x64-0.4.1.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 100741136, - "download_count": 108, - "created_at": "2023-12-14T02:42:30Z", - "updated_at": "2023-12-14T02:42:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-win-x64-0.4.1.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580912", - "id": 140580912, - "node_id": "RA_kwDOKIBx0s4IYRgw", - "name": "jan-win-x64-0.4.1.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/xml", - "state": "uploaded", - "size": 106791, - "download_count": 40, - "created_at": "2023-12-14T02:42:33Z", - "updated_at": "2023-12-14T02:42:34Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/jan-win-x64-0.4.1.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580294", - "id": 140580294, - "node_id": "RA_kwDOKIBx0s4IYRXG", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 30, - "created_at": "2023-12-14T02:36:02Z", - "updated_at": "2023-12-14T02:36:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140581104", - "id": 140581104, - "node_id": "RA_kwDOKIBx0s4IYRjw", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 99, - "created_at": "2023-12-14T02:45:04Z", - "updated_at": "2023-12-14T02:45:04Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/140580916", - "id": 140580916, - "node_id": "RA_kwDOKIBx0s4IYRg0", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 125, - "created_at": "2023-12-14T02:42:34Z", - "updated_at": "2023-12-14T02:42:35Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.1/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.1", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.1", - "body": "## Changes\r\n\r\n- Update README.md @imtuyethan (#903)\r\n\r\n## 🚀 Features\r\n\r\n- feat: Kill nitro process with API - nitro 0.1.27 @vuonghoainam (#975)\r\n- feat: Inference Nitro with Prompt Template @hahuyhoang411 (#952)\r\n- feat: Add NVIDIA triton trt-llm extension @vuonghoainam (#888)\r\n- feat: Hotfit for Nitro loading on CPU with hyper-threading support @vuonghoainam (#931)\r\n- feat: adding model params @namchuai (#886)\r\n- feat: Multiple inference engines for nitro and openai @vuonghoainam (#814)\r\n- docs: add json schema for engine and model parameters @tikikun (#840)\r\n- feat: improve SEO keywords @hieu-jan (#894)\r\n- enhancement: fix spacing landing page responsive @urmauur (#891)\r\n- bug: added label coming soon for windows and linux @urmauur (#881)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: 963 can not run openai models on windows @louis-jan (#974)\r\n- fix: Inference engine Nitro with Windows with/ without CUDA @vuonghoainam (#950)\r\n- Fix error Jan app linux crash @hiento09 (#958)\r\n- fix: windows bug - control buttons close,max,min hidden @linhtran174 (#949)\r\n- bug: fix ui landing page @urmauur (#937)\r\n- fix: model parameters for inference extensions @vuonghoainam (#935)\r\n- [bug] Fix floating border outside card right panel @urmauur (#934)\r\n- fix: import\\_typescript.default.isTokenKind is not a function @louis-jan (#923)\r\n- bug: fix syntax formatting @urmauur (#899)\r\n- bug: update metadata title and desc @urmauur (#884)\r\n- fix: download button text color is blending into the background @louis-jan (#883)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: add desktop app analytics @louis-jan (#978)\r\n- refactor: clean types and interfaces @0xSage (#966)\r\n- docs: scaffold dev docs @0xSage (#856)\r\n- chore: Bump nitro to 0.1.26 @vuonghoainam (#960)\r\n- Update update-release-url.yml @hiento09 (#951)\r\n- Fix update release url pipeline run failed @hiento09 (#947)\r\n- chore: Bumpt nitro bin version to version 0.1.23 @vuonghoainam (#942)\r\n- Fix update release url pipeline @hiento09 (#941)\r\n- CI automatically update Update README with Nightly Build Information and stable download URL @hiento09 (#940)\r\n- refactor: deprecate invokers - auto proxying apis - strict types @louis-jan (#924)\r\n- docs: standardize yaml files @hieu-jan (#933)\r\n- chore: universal module definition @louis-jan (#902)\r\n- docs: add assistants api reference @hieu-jan (#801)\r\n- docs: add json schema for engine and model parameters @tikikun (#840)\r\n\r\n## Contributor\r\n\r\n@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @imtuyethan, @jan-service-account, @linhtran174, @louis-jan, @namchuai, @tikikun, @urmauur and @vuonghoainam\r\n", - "mentions_count": 12 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/132810439", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/132810439/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/132810439/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.0", - "id": 132810439, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4H6obH", - "tag_name": "v0.4.0", - "target_commitish": "004b7b8a6409cb35b690f67c16a2e63cbe9894a9", - "name": "0.4.0", - "draft": false, - "prerelease": false, - "created_at": "2023-12-06T09:42:43Z", - "published_at": "2023-12-06T12:01:45Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139225188", - "id": 139225188, - "node_id": "RA_kwDOKIBx0s4ITGhk", - "name": "jan-linux-amd64-0.4.0.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 91395002, - "download_count": 31, - "created_at": "2023-12-06T09:46:23Z", - "updated_at": "2023-12-06T09:46:26Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-linux-amd64-0.4.0.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226339", - "id": 139226339, - "node_id": "RA_kwDOKIBx0s4ITGzj", - "name": "jan-mac-arm64-0.4.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 111557710, - "download_count": 80, - "created_at": "2023-12-06T09:55:15Z", - "updated_at": "2023-12-06T09:55:20Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-arm64-0.4.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226340", - "id": 139226340, - "node_id": "RA_kwDOKIBx0s4ITGzk", - "name": "jan-mac-arm64-0.4.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116975, - "download_count": 1, - "created_at": "2023-12-06T09:55:15Z", - "updated_at": "2023-12-06T09:55:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-arm64-0.4.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226407", - "id": 139226407, - "node_id": "RA_kwDOKIBx0s4ITG0n", - "name": "jan-mac-arm64-0.4.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 107609646, - "download_count": 4, - "created_at": "2023-12-06T09:55:55Z", - "updated_at": "2023-12-06T09:56:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-arm64-0.4.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226406", - "id": 139226406, - "node_id": "RA_kwDOKIBx0s4ITG0m", - "name": "jan-mac-arm64-0.4.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 114156, - "download_count": 1, - "created_at": "2023-12-06T09:55:55Z", - "updated_at": "2023-12-06T09:55:56Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-arm64-0.4.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226063", - "id": 139226063, - "node_id": "RA_kwDOKIBx0s4ITGvP", - "name": "jan-mac-x64-0.4.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116732954, - "download_count": 22, - "created_at": "2023-12-06T09:52:25Z", - "updated_at": "2023-12-06T09:52:31Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-x64-0.4.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226064", - "id": 139226064, - "node_id": "RA_kwDOKIBx0s4ITGvQ", - "name": "jan-mac-x64-0.4.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121418, - "download_count": 1, - "created_at": "2023-12-06T09:52:25Z", - "updated_at": "2023-12-06T09:52:25Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-x64-0.4.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226211", - "id": 139226211, - "node_id": "RA_kwDOKIBx0s4ITGxj", - "name": "jan-mac-x64-0.4.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 112914573, - "download_count": 2, - "created_at": "2023-12-06T09:53:20Z", - "updated_at": "2023-12-06T09:53:25Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-x64-0.4.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226210", - "id": 139226210, - "node_id": "RA_kwDOKIBx0s4ITGxi", - "name": "jan-mac-x64-0.4.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 119771, - "download_count": 1, - "created_at": "2023-12-06T09:53:20Z", - "updated_at": "2023-12-06T09:53:20Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-mac-x64-0.4.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226182", - "id": 139226182, - "node_id": "RA_kwDOKIBx0s4ITGxG", - "name": "jan-win-x64-0.4.0.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 89974264, - "download_count": 119, - "created_at": "2023-12-06T09:53:10Z", - "updated_at": "2023-12-06T09:53:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-win-x64-0.4.0.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226192", - "id": 139226192, - "node_id": "RA_kwDOKIBx0s4ITGxQ", - "name": "jan-win-x64-0.4.0.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/xml", - "state": "uploaded", - "size": 94542, - "download_count": 17, - "created_at": "2023-12-06T09:53:14Z", - "updated_at": "2023-12-06T09:53:14Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/jan-win-x64-0.4.0.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139225200", - "id": 139225200, - "node_id": "RA_kwDOKIBx0s4ITGhw", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 24, - "created_at": "2023-12-06T09:46:26Z", - "updated_at": "2023-12-06T09:46:26Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226418", - "id": 139226418, - "node_id": "RA_kwDOKIBx0s4ITG0y", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 130, - "created_at": "2023-12-06T09:56:03Z", - "updated_at": "2023-12-06T09:56:03Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/139226194", - "id": 139226194, - "node_id": "RA_kwDOKIBx0s4ITGxS", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 95, - "created_at": "2023-12-06T09:53:15Z", - "updated_at": "2023-12-06T09:53:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.0/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.0", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.0", - "body": "## Changes\r\n\r\n- bug: fix tag description showing a title and fix card right panel @urmauur (#878)\r\n- fix/no-assistant-available-fresh-install @louis-jan (#876)\r\n- Model.json update @hahuyhoang411 (#870)\r\n- Hotfix desc for openhermes @hahuyhoang411 (#864)\r\n- Openhermes update v1 @hahuyhoang411 (#863)\r\n- update deepseek 1.3b @hahuyhoang411 (#858)\r\n- Update tags @hahuyhoang411 (#857)\r\n- Update model hub @hahuyhoang411 (#829)\r\n- hotfix: fix typo @tikikun (#836)\r\n- chore: pre-populate Jan's /models folder with model.jsons @hahuyhoang411 (#775)\r\n- chore: clarification changes to the model settings and model parameters @tikikun (#742)\r\n\r\n## 🚀 Features\r\n\r\n- feat: revamp landing page @urmauur (#745)\r\n- feat : add cover image model hub screen @urmauur (#872)\r\n- feat: boilerplate for express server localhost 1337 @linhtran174 (#803)\r\n- enhancement: revamp hub screen @urmauur (#825)\r\n- feat: revamp thread screen @urmauur (#802)\r\n- docs/update-api-reference @hieu-jan (#739)\r\n- refactor: model plugin to follow new specs @namchuai (#682)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: Nitro interface update to prevent warning @vuonghoainam (#877)\r\n- fix: delete message break the entire thread @louis-jan (#869)\r\n- fix: can not download multiple models at once @louis-jan (#867)\r\n- fix: production CI workflow does not populate models @louis-jan (#862)\r\n- fix: update wrong main view state when use a model @namchuai (#861)\r\n- fix: handle crash issue on hljs highlighting @louis-jan (#859)\r\n- fix: empty assistant instruction by default @louis-jan (#855)\r\n- bug: fix broken banner position hub screen @urmauur (#846)\r\n- fix: not update active model when using resend button @namchuai (#834)\r\n- Hotfix jan windows download nitro failed @hiento09 (#838)\r\n- Switch to download nitro .tar.gz file instead of .zip file on windows @hiento09 (#832)\r\n- fix/docusaurus-seo @hieu-jan (#818)\r\n- fix: CI script - reorder copy models action @louis-jan (#819)\r\n- fix: messages sync is not threadsafe @louis-jan (#784)\r\n- Fix Makefile Indentation Issue @hiento09 (#788)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: update model ranking @louis-jan (#874)\r\n- Bump nitro version to 0.1.21 - nitro has windows codesign @hiento09 (#843)\r\n- Hotfix jan windows download nitro failed @hiento09 (#838)\r\n- 810 docs add modeljson and revamp models specs page @tikikun (#816)\r\n- Add document for nightly build and update message for manual build @hiento09 (#831)\r\n- chore: Bump nitro to 0.1.20 @vuonghoainam (#830)\r\n- Refactor build:extension command @hiento09 (#822)\r\n- feat: pre-populate Jan's /models folder @namchuai (#796)\r\n- chore: fix pr auto labeling @0xSage (#812)\r\n- chore: add gi automations @0xSage (#809)\r\n- refactor: jan extensions @louis-jan (#799)\r\n- Remove .zip in artifact name @hiento09 (#800)\r\n- docs/update-api-reference @hieu-jan (#739)\r\n- Add nightly build ci @hiento09 (#794)\r\n- Fix Makefile Indentation Issue @hiento09 (#788)\r\n- Switch from .zip to .tar.gz for nitro url inference plugin @hiento09 (#781)\r\n\r\n## Contributor\r\n\r\n@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @linhtran174, @louis-jan, @namchuai, @tikikun, @urmauur and @vuonghoainam\r\n", - "mentions_count": 10 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/131748097", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/131748097/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/131748097/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.3.3", - "id": 131748097, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4H2lEB", - "tag_name": "v0.3.3", - "target_commitish": "a990fa6c07e08e54821a4d257c071977436bbf45", - "name": "0.3.3", - "draft": false, - "prerelease": false, - "created_at": "2023-11-28T14:22:12Z", - "published_at": "2023-11-28T15:12:02Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845132", - "id": 137845132, - "node_id": "RA_kwDOKIBx0s4IN1mM", - "name": "jan-linux-amd64-0.3.3.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 82300876, - "download_count": 33, - "created_at": "2023-11-28T14:33:55Z", - "updated_at": "2023-11-28T14:33:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-linux-amd64-0.3.3.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846505", - "id": 137846505, - "node_id": "RA_kwDOKIBx0s4IN17p", - "name": "jan-mac-arm64-0.3.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 102358840, - "download_count": 34, - "created_at": "2023-11-28T14:43:02Z", - "updated_at": "2023-11-28T14:43:07Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-arm64-0.3.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846504", - "id": 137846504, - "node_id": "RA_kwDOKIBx0s4IN17o", - "name": "jan-mac-arm64-0.3.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 106938, - "download_count": 3, - "created_at": "2023-11-28T14:43:02Z", - "updated_at": "2023-11-28T14:43:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-arm64-0.3.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846831", - "id": 137846831, - "node_id": "RA_kwDOKIBx0s4IN2Av", - "name": "jan-mac-arm64-0.3.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 98581298, - "download_count": 11, - "created_at": "2023-11-28T14:43:53Z", - "updated_at": "2023-11-28T14:43:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-arm64-0.3.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846832", - "id": 137846832, - "node_id": "RA_kwDOKIBx0s4IN2Aw", - "name": "jan-mac-arm64-0.3.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 104552, - "download_count": 2, - "created_at": "2023-11-28T14:43:53Z", - "updated_at": "2023-11-28T14:43:53Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-arm64-0.3.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845885", - "id": 137845885, - "node_id": "RA_kwDOKIBx0s4IN1x9", - "name": "jan-mac-x64-0.3.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 107582920, - "download_count": 17, - "created_at": "2023-11-28T14:40:08Z", - "updated_at": "2023-11-28T14:40:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-x64-0.3.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845884", - "id": 137845884, - "node_id": "RA_kwDOKIBx0s4IN1x8", - "name": "jan-mac-x64-0.3.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 113751, - "download_count": 3, - "created_at": "2023-11-28T14:40:08Z", - "updated_at": "2023-11-28T14:40:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-x64-0.3.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846301", - "id": 137846301, - "node_id": "RA_kwDOKIBx0s4IN14d", - "name": "jan-mac-x64-0.3.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 103886222, - "download_count": 4, - "created_at": "2023-11-28T14:41:16Z", - "updated_at": "2023-11-28T14:41:21Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-x64-0.3.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846302", - "id": 137846302, - "node_id": "RA_kwDOKIBx0s4IN14e", - "name": "jan-mac-x64-0.3.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 110645, - "download_count": 3, - "created_at": "2023-11-28T14:41:16Z", - "updated_at": "2023-11-28T14:41:16Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-mac-x64-0.3.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845387", - "id": 137845387, - "node_id": "RA_kwDOKIBx0s4IN1qL", - "name": "jan-win-x64-0.3.3.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 81157168, - "download_count": 101, - "created_at": "2023-11-28T14:35:42Z", - "updated_at": "2023-11-28T14:35:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-win-x64-0.3.3.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845403", - "id": 137845403, - "node_id": "RA_kwDOKIBx0s4IN1qb", - "name": "jan-win-x64-0.3.3.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/xml", - "state": "uploaded", - "size": 85522, - "download_count": 16, - "created_at": "2023-11-28T14:35:46Z", - "updated_at": "2023-11-28T14:35:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/jan-win-x64-0.3.3.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845141", - "id": 137845141, - "node_id": "RA_kwDOKIBx0s4IN1mV", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 31, - "created_at": "2023-11-28T14:33:58Z", - "updated_at": "2023-11-28T14:33:58Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137846845", - "id": 137846845, - "node_id": "RA_kwDOKIBx0s4IN2A9", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 798, - "download_count": 146, - "created_at": "2023-11-28T14:43:57Z", - "updated_at": "2023-11-28T14:43:58Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/137845404", - "id": 137845404, - "node_id": "RA_kwDOKIBx0s4IN1qc", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 121, - "created_at": "2023-11-28T14:35:47Z", - "updated_at": "2023-11-28T14:35:47Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.3/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.3.3", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.3.3", - "body": "## Changes\r\n\r\n- docs: cleanup @0xSage (#719)\r\n- docs: threads and messages @0xSage (#681)\r\n- Updating Onboarding Kit @Diane0111 (#675)\r\n- Update issue templates @0xSage (#685)\r\n- docs: polish models spec @0xSage (#680)\r\n- Feature: Preview URL for each PR and add pre-release.jan.ai as staging of Jan Docs @hiento09 (#669)\r\n- Migrate Model definitions to Swagger/OpenAPI @dan-jan (#659)\r\n- [docs] Add Introduction and refactor Models Spec @dan-jan (#657)\r\n- docs: Add model methods to swagger @0xSage (#660)\r\n- Models Spec: Delete broken Markdown links @dan-jan (#648)\r\n- docs: assistants and threads specs @0xSage (#646)\r\n\r\n## 🚀 Features\r\n\r\n- improvement: styling message action toolbar @urmauur (#737)\r\n- experimental: allow user to give instruction for the conversation @louis-jan (#714)\r\n- docs/enable-seo-docusaurus @hieu-jan (#725)\r\n- Add windows code sign to CI @hiento09 (#712)\r\n- docs: update installation guide @hieu-jan (#664)\r\n- chore: Update based on team discussion on Nov 20 @vuonghoainam (#673)\r\n- docs: add OpenAI swagger file @hieu-jan (#623)\r\n- Update landing page Jan @urmauur (#638)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- chore: open app data should lead user to jan root @louis-jan (#749)\r\n- fix: cancel download does not work @louis-jan (#746)\r\n- fix: error when switching between threads @louis-jan (#736)\r\n- chore: app raises error when attempting to start a model that is already starting @louis-jan (#721)\r\n- bug: fix filter list menu from command base on search type and make a symbol base on OS @urmauur (#723)\r\n- bug: fix clickable small download button on chat screen @urmauur (#722)\r\n- fix: incorrect update progress bar visibility check @louis-jan (#713)\r\n- fix: app shows wrong performance tag, all say not enough ram on windows @louis-jan (#699)\r\n- bug: fix padding quotations and numbering list @urmauur (#695)\r\n- fix: local npm module update does not reflect web app @louis-jan (#677)\r\n- [bug] fix markdown todo items shifted to the left and remove the dots @urmauur (#694)\r\n- bug: fix footer and section spacing landing page @urmauur (#683)\r\n- bug: fix anchor link sidebar openapi @urmauur (#668)\r\n- refactor: remove unused hooks and resolve no-explicit-any @louis-jan (#647)\r\n- bug: fix titles should have spaces in between @urmauur (#652)\r\n- bug: fix compatibility content not fully display @urmauur (#653)\r\n\r\n## 🧰 Maintenance\r\n\r\n- chore: fix app grammar @0xSage (#750)\r\n- chore: bumb nitro version @louis-jan (#740)\r\n- chore: fs module should not cover app logic @louis-jan (#720)\r\n- API Reference for Models, Messages, Threads @hahuyhoang411 (#679)\r\n- docs: upgrade mdx-js package @hieu-jan (#705)\r\n- [docs] Update Docusaurus to 3.0 and fix closing tag issue in Handbook @dan-jan (#704)\r\n- Fix error docs pipeline run failed @hiento09 (#702)\r\n- Revert docs CICD trigger on push to main instead of tag-based @hiento09 (#698)\r\n- fix: local npm module update does not reflect web app @louis-jan (#677)\r\n- Chore: refactor to makefile @hiento09 (#691)\r\n- Add Instruction to publish docs @hiento09 (#687)\r\n- chore/add-mermaid @hieu-jan (#672)\r\n- chore/update package docs @hieu-jan (#670)\r\n- Enhance Cross-Platform Argument Handling for Nitro Startup Scripts @hiento09 (#674)\r\n- refactor: remove unused hooks and resolve no-explicit-any @louis-jan (#647)\r\n- docs: add OpenAI swagger file @hieu-jan (#623)\r\n- Preliminary Restructure of Docs @dan-jan (#655)\r\n- Model specs @vuonghoainam (#641)\r\n- refactor: refactor app entities @louis-jan (#626)\r\n- refactor: move file to jan root @namchuai (#598)\r\n- Add run-script-os @linhtran174 (#620)\r\n- Refactor Jan Documentation @dan-jan (#625)\r\n\r\n## 📖 Documentaion\r\n\r\n- docs: update specs/product @0xSage (#744)\r\n- docs/enable-seo-docusaurus @hieu-jan (#725)\r\n- docs: assistant spec @vuonghoainam (#707)\r\n- docs: Refactor Jan Site Structure @dan-jan (#706)\r\n- docs/improve install docs @hieu-jan (#708)\r\n- API Reference for Models, Messages, Threads @hahuyhoang411 (#679)\r\n- [docs] Update Docusaurus to 3.0 and fix closing tag issue in Handbook @dan-jan (#704)\r\n- docs: update installation guide @hieu-jan (#664)\r\n- chore: Update based on team discussion on Nov 20 @vuonghoainam (#673)\r\n- docs: add OpenAI swagger file @hieu-jan (#623)\r\n- Preliminary Restructure of Docs @dan-jan (#655)\r\n- Fix: specs revision @vuonghoainam (#649)\r\n- Model specs @vuonghoainam (#641)\r\n- Update README.md @imtuyethan (#629)\r\n- Refactor Jan Documentation @dan-jan (#625)\r\n\r\n## Contributor\r\n\r\n@0xSage, @Diane0111, @dan-jan, @hahuyhoang411, @hiento09, @hieu-jan, @imtuyethan, @linhtran174, @louis-jan, @namchuai, @urmauur, @vuonghoainam and Le Tra Mi\r\n", - "mentions_count": 12 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/129492652", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/129492652/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/129492652/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.3.2", - "id": 129492652, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4Ht-as", - "tag_name": "v0.3.2", - "target_commitish": "main", - "name": "0.3.2", - "draft": false, - "prerelease": false, - "created_at": "2023-11-15T06:29:59Z", - "published_at": "2023-11-23T12:57:14Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613074", - "id": 135613074, - "node_id": "RA_kwDOKIBx0s4IFUqS", - "name": "jan-linux-amd64-0.3.2.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 81940296, - "download_count": 21, - "created_at": "2023-11-15T06:33:57Z", - "updated_at": "2023-11-15T06:33:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-linux-amd64-0.3.2.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613444", - "id": 135613444, - "node_id": "RA_kwDOKIBx0s4IFUwE", - "name": "jan-mac-arm64-0.3.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 102275617, - "download_count": 27, - "created_at": "2023-11-15T06:38:49Z", - "updated_at": "2023-11-15T06:38:54Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-arm64-0.3.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613446", - "id": 135613446, - "node_id": "RA_kwDOKIBx0s4IFUwG", - "name": "jan-mac-arm64-0.3.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 106299, - "download_count": 1, - "created_at": "2023-11-15T06:38:49Z", - "updated_at": "2023-11-15T06:38:49Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-arm64-0.3.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613469", - "id": 135613469, - "node_id": "RA_kwDOKIBx0s4IFUwd", - "name": "jan-mac-arm64-0.3.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 98501600, - "download_count": 9, - "created_at": "2023-11-15T06:39:01Z", - "updated_at": "2023-11-15T06:40:11Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-arm64-0.3.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613468", - "id": 135613468, - "node_id": "RA_kwDOKIBx0s4IFUwc", - "name": "jan-mac-arm64-0.3.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 104215, - "download_count": 1, - "created_at": "2023-11-15T06:39:00Z", - "updated_at": "2023-11-15T06:39:01Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-arm64-0.3.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613290", - "id": 135613290, - "node_id": "RA_kwDOKIBx0s4IFUtq", - "name": "jan-mac-x64-0.3.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 107523862, - "download_count": 8, - "created_at": "2023-11-15T06:36:29Z", - "updated_at": "2023-11-15T06:36:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-x64-0.3.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613291", - "id": 135613291, - "node_id": "RA_kwDOKIBx0s4IFUtr", - "name": "jan-mac-x64-0.3.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 113475, - "download_count": 1, - "created_at": "2023-11-15T06:36:29Z", - "updated_at": "2023-11-15T06:36:29Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-x64-0.3.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613322", - "id": 135613322, - "node_id": "RA_kwDOKIBx0s4IFUuK", - "name": "jan-mac-x64-0.3.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 103806500, - "download_count": 3, - "created_at": "2023-11-15T06:36:56Z", - "updated_at": "2023-11-15T06:37:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-x64-0.3.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613321", - "id": 135613321, - "node_id": "RA_kwDOKIBx0s4IFUuJ", - "name": "jan-mac-x64-0.3.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 110226, - "download_count": 2, - "created_at": "2023-11-15T06:36:56Z", - "updated_at": "2023-11-15T06:36:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-mac-x64-0.3.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613198", - "id": 135613198, - "node_id": "RA_kwDOKIBx0s4IFUsO", - "name": "jan-win-x64-0.3.2.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 81017298, - "download_count": 73, - "created_at": "2023-11-15T06:35:18Z", - "updated_at": "2023-11-15T06:35:21Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-win-x64-0.3.2.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613199", - "id": 135613199, - "node_id": "RA_kwDOKIBx0s4IFUsP", - "name": "jan-win-x64-0.3.2.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 85408, - "download_count": 8, - "created_at": "2023-11-15T06:35:18Z", - "updated_at": "2023-11-15T06:35:19Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/jan-win-x64-0.3.2.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613081", - "id": 135613081, - "node_id": "RA_kwDOKIBx0s4IFUqZ", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 9, - "created_at": "2023-11-15T06:33:59Z", - "updated_at": "2023-11-15T06:34:00Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613552", - "id": 135613552, - "node_id": "RA_kwDOKIBx0s4IFUxw", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 798, - "download_count": 69, - "created_at": "2023-11-15T06:40:12Z", - "updated_at": "2023-11-15T06:40:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/135613202", - "id": 135613202, - "node_id": "RA_kwDOKIBx0s4IFUsS", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 54, - "created_at": "2023-11-15T06:35:21Z", - "updated_at": "2023-11-15T06:35:22Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.2/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.3.2", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.3.2", - "body": "## Changes\r\n\r\n- fix: disabled required env @urmauur (#612)\r\n- Install Posthog snippet @imtuyethan (#573)\r\n- web: google tag manager @urmauur (#562)\r\n- docs: fix syntax highlighting @0xSage (#602)\r\n- chore: remove past event @0xSage (#600)\r\n- docs: new docs @0xSage (#599)\r\n- [chore]: Update docs @dan-jan (#597)\r\n\r\n## 🚀 Features\r\n\r\n- refactor: main electron with managers and handlers @louis-jan (#610)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Fix: Failed to load model - unload model nitro @louis-jan (#616)\r\n- Restore cpx nitro step in yarn script @hiento09 (#617)\r\n- fix(#591): prevent duplicate message id issue @namchuai (#595)\r\n- bug: cancelling a model download should be delete the model file on user data @urmauur (#613)\r\n- bug: fix weird padding vertical snippet code @urmauur (#608)\r\n- bug: Fix button download detect intel or apple silicon @urmauur (#609)\r\n- bug: enable delete conversation after deleted model @urmauur (#594)\r\n- bug: download modal should truncate model name @urmauur (#592)\r\n- bug: support multiple line input chat using Textarea instead @urmauur (#593)\r\n\r\n## 🧰 Maintenance\r\n\r\n- refactor: main electron with managers and handlers @louis-jan (#610)\r\n- Chore/refactor yarn script @hiento09 (#615)\r\n- fix: line height and update typography component @urmauur (#611)\r\n\r\n## Contributor\r\n\r\n@0xSage, @dan-jan, @hiento09, @imtuyethan, @jan-service-account, @louis-jan, @namchuai and @urmauur\r\n", - "mentions_count": 8 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/128887162", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/128887162/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/128887162/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.3.1", - "id": 128887162, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4Hrql6", - "tag_name": "v0.3.1", - "target_commitish": "main", - "name": "0.3.1", - "draft": false, - "prerelease": false, - "created_at": "2023-11-10T10:23:06Z", - "published_at": "2023-11-10T10:38:09Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134885595", - "id": 134885595, - "node_id": "RA_kwDOKIBx0s4ICjDb", - "name": "jan-linux-amd64-0.3.1.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 88473890, - "download_count": 19, - "created_at": "2023-11-10T10:32:29Z", - "updated_at": "2023-11-10T10:32:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-linux-amd64-0.3.1.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886493", - "id": 134886493, - "node_id": "RA_kwDOKIBx0s4ICjRd", - "name": "jan-mac-arm64-0.3.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 111212160, - "download_count": 39, - "created_at": "2023-11-10T10:37:02Z", - "updated_at": "2023-11-10T10:37:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-arm64-0.3.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886494", - "id": 134886494, - "node_id": "RA_kwDOKIBx0s4ICjRe", - "name": "jan-mac-arm64-0.3.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116917, - "download_count": 2, - "created_at": "2023-11-10T10:37:02Z", - "updated_at": "2023-11-10T10:37:03Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-arm64-0.3.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886543", - "id": 134886543, - "node_id": "RA_kwDOKIBx0s4ICjSP", - "name": "jan-mac-arm64-0.3.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 107422060, - "download_count": 11, - "created_at": "2023-11-10T10:37:15Z", - "updated_at": "2023-11-10T10:37:22Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-arm64-0.3.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886544", - "id": 134886544, - "node_id": "RA_kwDOKIBx0s4ICjSQ", - "name": "jan-mac-arm64-0.3.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 114462, - "download_count": 2, - "created_at": "2023-11-10T10:37:15Z", - "updated_at": "2023-11-10T10:37:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-arm64-0.3.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886072", - "id": 134886072, - "node_id": "RA_kwDOKIBx0s4ICjK4", - "name": "jan-mac-x64-0.3.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 116468631, - "download_count": 7, - "created_at": "2023-11-10T10:34:56Z", - "updated_at": "2023-11-10T10:35:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-x64-0.3.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886071", - "id": 134886071, - "node_id": "RA_kwDOKIBx0s4ICjK3", - "name": "jan-mac-x64-0.3.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121262, - "download_count": 2, - "created_at": "2023-11-10T10:34:56Z", - "updated_at": "2023-11-10T10:34:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-x64-0.3.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886107", - "id": 134886107, - "node_id": "RA_kwDOKIBx0s4ICjLb", - "name": "jan-mac-x64-0.3.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 112726975, - "download_count": 5, - "created_at": "2023-11-10T10:35:07Z", - "updated_at": "2023-11-10T10:35:12Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-x64-0.3.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886108", - "id": 134886108, - "node_id": "RA_kwDOKIBx0s4ICjLc", - "name": "jan-mac-x64-0.3.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 119995, - "download_count": 1, - "created_at": "2023-11-10T10:35:07Z", - "updated_at": "2023-11-10T10:35:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-mac-x64-0.3.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134885339", - "id": 134885339, - "node_id": "RA_kwDOKIBx0s4ICi_b", - "name": "jan-win-x64-0.3.1.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 81029196, - "download_count": 93, - "created_at": "2023-11-10T10:30:51Z", - "updated_at": "2023-11-10T10:30:56Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-win-x64-0.3.1.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134885340", - "id": 134885340, - "node_id": "RA_kwDOKIBx0s4ICi_c", - "name": "jan-win-x64-0.3.1.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 85734, - "download_count": 8, - "created_at": "2023-11-10T10:30:51Z", - "updated_at": "2023-11-10T10:30:51Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/jan-win-x64-0.3.1.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134885607", - "id": 134885607, - "node_id": "RA_kwDOKIBx0s4ICjDn", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 12, - "created_at": "2023-11-10T10:32:33Z", - "updated_at": "2023-11-10T10:32:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134886557", - "id": 134886557, - "node_id": "RA_kwDOKIBx0s4ICjSd", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 216, - "created_at": "2023-11-10T10:37:23Z", - "updated_at": "2023-11-10T10:37:23Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/134885348", - "id": 134885348, - "node_id": "RA_kwDOKIBx0s4ICi_k", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 68, - "created_at": "2023-11-10T10:30:56Z", - "updated_at": "2023-11-10T10:30:57Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.1/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.3.1", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.3.1", - "body": "## Changes\r\n\r\n- fix: preformatted text indents the first line strangely @louis-jan (#580)\r\n- fix: failed to package app since core and uikit are not being built @louis-jan (#575)\r\n- cleanup: remove component folder and cleanup conversation screen @urmauur (#574)\r\n- bug: update convo state when user change model @urmauur (#571)\r\n- fix(#566): jan cannot retrieve the conversations @namchuai (#570)\r\n- bug: Toast messages shows [object object] @urmauur (#569)\r\n- ui: improve state of welcome screen @urmauur (#563)\r\n- chore: fixed an issue where app does not yield message result @louis-jan (#561)\r\n- Update readme @urmauur (#560)\r\n- ui: standalone UIKit and refactor @urmauur (#557)\r\n- Small description changes @dan-jan (#558)\r\n- add 'change download button based on OS' feature @Vikram-2004 (#551)\r\n- feat: revamp plugin architecture @louis-jan (#535)\r\n- Fix mobile padding @imtuyethan (#550)\r\n- chore: Update Readme @dan-jan (#549)\r\n- Update Homepage and README with 1-line pitch @dan-jan (#548)\r\n- docs: Add About, Events, Blog @dan-jan (#546)\r\n- Ashley/update website content @imtuyethan (#545)\r\n- Add guides @hahuyhoang411 (#488)\r\n- Structure Docs @dan-jan (#536)\r\n- Update README.md @imtuyethan (#533)\r\n- Chore: Setup \"Jan Improvements Proposal\" workflow @dan-jan (#534)\r\n- Update website tag line @imtuyethan (#527)\r\n- fix: #396 - allow user to cancel a model download @louis-jan (#530)\r\n- fix: #479 - Toggle plugin is now experimental feature @louis-jan (#531)\r\n- chore: disable app update on test @louis-jan (#521)\r\n- bug: chat UI is not consistent @urmauur (#520)\r\n- refactor: plugin manager and execution as ts @louis-jan (#504)\r\n- fix: app toolbar is gone on windows @louis-jan (#503)\r\n- Chore: refactor code, hide plugin menu in web @ghost (#502)\r\n- fix: dest.end is not a function @louis-jan (#501)\r\n- #255: Jan cloud native @ghost (#320)\r\n- bug: download new version should show in status bar @urmauur (#500)\r\n- feat: add New Conversation button on the conversation sidebar @urmauur (#499)\r\n- chore: update plugin readme @louis-jan (#497)\r\n- chore: update plugins license @louis-jan (#496)\r\n- #255: Read plugins manifest from CDN @ghost (#495)\r\n- chore: update plugin sdk - add appDataPath @louis-jan (#492)\r\n- chore: enable back bot function for edge-release @louis-jan (#474)\r\n- chore: attempt to kill Nitro subprocesses @louis-jan (#484)\r\n- docs: new dev hub @0xSage (#450)\r\n\r\n## 🚀 Features\r\n\r\n- feat: Experimental Feature Toggle @louis-jan (#525)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Add rebuild leveldown for arm on mac intel @hiento09 (#487)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Bump nitro version from 0.1.4 to 0.1.6 @hiento09 (#581)\r\n- Add set yarn network timeout for uikit @hiento09 (#579)\r\n- Fix error CI e2e run failed on windows @hiento09 (#578)\r\n- Fix build plugins macos codesiging error @hiento09 (#576)\r\n- Add install nitro mac intel inference plugin build locally @hiento09 (#542)\r\n- Bump nitro version to 0.1.4 @hiento09 (#532)\r\n- Chore/update yarn dev script @hiento09 (#529)\r\n- Inference Plugin pull nitro binary from release @hiento09 (#524)\r\n- Correct version and license @hiento09 (#498)\r\n\r\n## Contributor\r\n\r\n@0xSage, @Vikram-2004, @dan-jan, @hahuyhoang411, @hiento09, @imtuyethan, @jan-service-account, @louis-jan, @namchuai, @tikikun, @urmauur, Han, James, John and nam-john-ho\r\n", - "mentions_count": 12 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/126905705", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/126905705/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/126905705/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.3.0", - "id": 126905705, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4HkG1p", - "tag_name": "v0.3.0", - "target_commitish": "main", - "name": "0.3.0", - "draft": false, - "prerelease": false, - "created_at": "2023-10-27T07:43:43Z", - "published_at": "2023-10-27T09:02:52Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132611284", - "id": 132611284, - "node_id": "RA_kwDOKIBx0s4H53zU", - "name": "jan-linux-amd64-0.3.0.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 95795282, - "download_count": 14, - "created_at": "2023-10-27T08:26:42Z", - "updated_at": "2023-10-27T08:26:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-linux-amd64-0.3.0.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612852", - "id": 132612852, - "node_id": "RA_kwDOKIBx0s4H54L0", - "name": "jan-mac-arm64-0.3.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122527047, - "download_count": 46, - "created_at": "2023-10-27T08:39:24Z", - "updated_at": "2023-10-27T08:39:29Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-arm64-0.3.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612853", - "id": 132612853, - "node_id": "RA_kwDOKIBx0s4H54L1", - "name": "jan-mac-arm64-0.3.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130885, - "download_count": 2, - "created_at": "2023-10-27T08:39:24Z", - "updated_at": "2023-10-27T08:39:25Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-arm64-0.3.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612932", - "id": 132612932, - "node_id": "RA_kwDOKIBx0s4H54NE", - "name": "jan-mac-arm64-0.3.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 118596061, - "download_count": 14, - "created_at": "2023-10-27T08:39:50Z", - "updated_at": "2023-10-27T08:39:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-arm64-0.3.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612931", - "id": 132612931, - "node_id": "RA_kwDOKIBx0s4H54ND", - "name": "jan-mac-arm64-0.3.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 124846, - "download_count": 2, - "created_at": "2023-10-27T08:39:50Z", - "updated_at": "2023-10-27T08:39:50Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-arm64-0.3.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612509", - "id": 132612509, - "node_id": "RA_kwDOKIBx0s4H54Gd", - "name": "jan-mac-x64-0.3.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127747523, - "download_count": 24, - "created_at": "2023-10-27T08:36:45Z", - "updated_at": "2023-10-27T08:36:51Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-x64-0.3.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612510", - "id": 132612510, - "node_id": "RA_kwDOKIBx0s4H54Ge", - "name": "jan-mac-x64-0.3.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 134480, - "download_count": 2, - "created_at": "2023-10-27T08:36:45Z", - "updated_at": "2023-10-27T08:36:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-x64-0.3.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612398", - "id": 132612398, - "node_id": "RA_kwDOKIBx0s4H54Eu", - "name": "jan-mac-x64-0.3.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 123901017, - "download_count": 6, - "created_at": "2023-10-27T08:35:56Z", - "updated_at": "2023-10-27T08:36:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-x64-0.3.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612397", - "id": 132612397, - "node_id": "RA_kwDOKIBx0s4H54Et", - "name": "jan-mac-x64-0.3.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 131343, - "download_count": 2, - "created_at": "2023-10-27T08:35:56Z", - "updated_at": "2023-10-27T08:35:56Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-mac-x64-0.3.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132611781", - "id": 132611781, - "node_id": "RA_kwDOKIBx0s4H537F", - "name": "jan-win-x64-0.3.0.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 98469954, - "download_count": 52, - "created_at": "2023-10-27T08:30:52Z", - "updated_at": "2023-10-27T08:30:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-win-x64-0.3.0.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132611782", - "id": 132611782, - "node_id": "RA_kwDOKIBx0s4H537G", - "name": "jan-win-x64-0.3.0.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 103165, - "download_count": 8, - "created_at": "2023-10-27T08:30:52Z", - "updated_at": "2023-10-27T08:30:53Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/jan-win-x64-0.3.0.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132611292", - "id": 132611292, - "node_id": "RA_kwDOKIBx0s4H53zc", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 79, - "created_at": "2023-10-27T08:26:45Z", - "updated_at": "2023-10-27T08:26:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132612949", - "id": 132612949, - "node_id": "RA_kwDOKIBx0s4H54NV", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 305, - "created_at": "2023-10-27T08:39:55Z", - "updated_at": "2023-10-27T08:39:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132611787", - "id": 132611787, - "node_id": "RA_kwDOKIBx0s4H537L", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 114, - "created_at": "2023-10-27T08:30:55Z", - "updated_at": "2023-10-27T08:30:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.3.0/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.3.0", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.3.0", - "body": "## Changes\r\n\r\n- fix: hide preferences section if empty @louis-jan (#482)\r\n- chore: fix conversation summary @louis-jan (#480)\r\n- chore: missing create conversation button when there is no conversation is selected @louis-jan (#478)\r\n- fix: download now change state immediately @namchuai (#475)\r\n- chore: add required app version to edge release plugin @louis-jan (#471)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- add rebuild for mac x64 @hiento09 (#473)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Add build deps for data-plugin in CI @hiento09 (#472)\r\n\r\n## Contributor\r\n\r\n@hiento09, @hientominh, @jan-service-account, @louis-jan and @namchuai\r\n", - "mentions_count": 5 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/126900705", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/126900705/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/126900705/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.2.3", - "id": 126900705, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4HkFnh", - "tag_name": "v0.2.3", - "target_commitish": "main", - "name": "0.2.3", - "draft": false, - "prerelease": false, - "created_at": "2023-10-27T07:43:43Z", - "published_at": "2023-10-27T08:08:46Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132606886", - "id": 132606886, - "node_id": "RA_kwDOKIBx0s4H52um", - "name": "jan-linux-amd64-0.2.3.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 95796132, - "download_count": 2, - "created_at": "2023-10-27T07:52:29Z", - "updated_at": "2023-10-27T07:52:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-linux-amd64-0.2.3.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132608260", - "id": 132608260, - "node_id": "RA_kwDOKIBx0s4H53EE", - "name": "jan-mac-arm64-0.2.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122527352, - "download_count": 12, - "created_at": "2023-10-27T08:04:29Z", - "updated_at": "2023-10-27T08:04:35Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-arm64-0.2.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132608261", - "id": 132608261, - "node_id": "RA_kwDOKIBx0s4H53EF", - "name": "jan-mac-arm64-0.2.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130923, - "download_count": 3, - "created_at": "2023-10-27T08:04:30Z", - "updated_at": "2023-10-27T08:04:30Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-arm64-0.2.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132608404", - "id": 132608404, - "node_id": "RA_kwDOKIBx0s4H53GU", - "name": "jan-mac-arm64-0.2.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 118596651, - "download_count": 11, - "created_at": "2023-10-27T08:05:09Z", - "updated_at": "2023-10-27T08:05:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-arm64-0.2.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132608405", - "id": 132608405, - "node_id": "RA_kwDOKIBx0s4H53GV", - "name": "jan-mac-arm64-0.2.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 125183, - "download_count": 2, - "created_at": "2023-10-27T08:05:09Z", - "updated_at": "2023-10-27T08:05:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-arm64-0.2.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607792", - "id": 132607792, - "node_id": "RA_kwDOKIBx0s4H528w", - "name": "jan-mac-x64-0.2.3.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127748199, - "download_count": 3, - "created_at": "2023-10-27T08:00:23Z", - "updated_at": "2023-10-27T08:00:31Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-x64-0.2.3.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607790", - "id": 132607790, - "node_id": "RA_kwDOKIBx0s4H528u", - "name": "jan-mac-x64-0.2.3.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 134400, - "download_count": 3, - "created_at": "2023-10-27T08:00:23Z", - "updated_at": "2023-10-27T08:00:23Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-x64-0.2.3.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607895", - "id": 132607895, - "node_id": "RA_kwDOKIBx0s4H52-X", - "name": "jan-mac-x64-0.2.3.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 123901593, - "download_count": 2, - "created_at": "2023-10-27T08:01:37Z", - "updated_at": "2023-10-27T08:01:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-x64-0.2.3.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607894", - "id": 132607894, - "node_id": "RA_kwDOKIBx0s4H52-W", - "name": "jan-mac-x64-0.2.3.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 131642, - "download_count": 2, - "created_at": "2023-10-27T08:01:37Z", - "updated_at": "2023-10-27T08:01:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-mac-x64-0.2.3.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607282", - "id": 132607282, - "node_id": "RA_kwDOKIBx0s4H520y", - "name": "jan-win-x64-0.2.3.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 98472254, - "download_count": 11, - "created_at": "2023-10-27T07:55:16Z", - "updated_at": "2023-10-27T07:55:19Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-win-x64-0.2.3.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607284", - "id": 132607284, - "node_id": "RA_kwDOKIBx0s4H5200", - "name": "jan-win-x64-0.2.3.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 102940, - "download_count": 9, - "created_at": "2023-10-27T07:55:16Z", - "updated_at": "2023-10-27T07:55:17Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/jan-win-x64-0.2.3.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132606889", - "id": 132606889, - "node_id": "RA_kwDOKIBx0s4H52up", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 2, - "created_at": "2023-10-27T07:52:33Z", - "updated_at": "2023-10-27T07:52:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132608421", - "id": 132608421, - "node_id": "RA_kwDOKIBx0s4H53Gl", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 22, - "created_at": "2023-10-27T08:05:15Z", - "updated_at": "2023-10-27T08:05:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132607291", - "id": 132607291, - "node_id": "RA_kwDOKIBx0s4H5207", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 10, - "created_at": "2023-10-27T07:55:19Z", - "updated_at": "2023-10-27T07:55:19Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.3/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.2.3", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.2.3", - "body": "## Changes\r\n\r\n- fix: hide preferences section if empty @louis-jan (#482)\r\n- chore: fix conversation summary @louis-jan (#480)\r\n- chore: missing create conversation button when there is no conversation is selected @louis-jan (#478)\r\n- fix: download now change state immediately @namchuai (#475)\r\n- chore: add required app version to edge release plugin @louis-jan (#471)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- add rebuild for mac x64 @hiento09 (#473)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Add build deps for data-plugin in CI @hiento09 (#472)\r\n\r\n## Contributor\r\n\r\n@hiento09, @hientominh, @jan-service-account, @louis-jan and @namchuai\r\n", - "mentions_count": 5 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/126752541", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/126752541/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/126752541/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.2.2", - "id": 126752541, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4Hjhcd", - "tag_name": "v0.2.2", - "target_commitish": "main", - "name": "0.2.2", - "draft": false, - "prerelease": false, - "created_at": "2023-10-26T10:41:40Z", - "published_at": "2023-10-26T12:01:49Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446198", - "id": 132446198, - "node_id": "RA_kwDOKIBx0s4H5Pf2", - "name": "jan-linux-amd64-0.2.2.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 95810320, - "download_count": 16, - "created_at": "2023-10-26T10:47:31Z", - "updated_at": "2023-10-26T10:47:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-linux-amd64-0.2.2.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132447114", - "id": 132447114, - "node_id": "RA_kwDOKIBx0s4H5PuK", - "name": "jan-mac-arm64-0.2.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122505953, - "download_count": 15, - "created_at": "2023-10-26T10:55:21Z", - "updated_at": "2023-10-26T10:55:27Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-arm64-0.2.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132447113", - "id": 132447113, - "node_id": "RA_kwDOKIBx0s4H5PuJ", - "name": "jan-mac-arm64-0.2.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 130321, - "download_count": 3, - "created_at": "2023-10-26T10:55:21Z", - "updated_at": "2023-10-26T10:55:22Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-arm64-0.2.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132447151", - "id": 132447151, - "node_id": "RA_kwDOKIBx0s4H5Puv", - "name": "jan-mac-arm64-0.2.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 118590874, - "download_count": 7, - "created_at": "2023-10-26T10:55:40Z", - "updated_at": "2023-10-26T10:55:47Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-arm64-0.2.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132447152", - "id": 132447152, - "node_id": "RA_kwDOKIBx0s4H5Puw", - "name": "jan-mac-arm64-0.2.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 124759, - "download_count": 3, - "created_at": "2023-10-26T10:55:40Z", - "updated_at": "2023-10-26T10:55:41Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-arm64-0.2.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446857", - "id": 132446857, - "node_id": "RA_kwDOKIBx0s4H5PqJ", - "name": "jan-mac-x64-0.2.2.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 127735305, - "download_count": 4, - "created_at": "2023-10-26T10:52:32Z", - "updated_at": "2023-10-26T10:52:38Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-x64-0.2.2.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446858", - "id": 132446858, - "node_id": "RA_kwDOKIBx0s4H5PqK", - "name": "jan-mac-x64-0.2.2.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 134230, - "download_count": 2, - "created_at": "2023-10-26T10:52:32Z", - "updated_at": "2023-10-26T10:52:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-x64-0.2.2.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446906", - "id": 132446906, - "node_id": "RA_kwDOKIBx0s4H5Pq6", - "name": "jan-mac-x64-0.2.2.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 123895826, - "download_count": 4, - "created_at": "2023-10-26T10:53:03Z", - "updated_at": "2023-10-26T10:53:09Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-x64-0.2.2.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446905", - "id": 132446905, - "node_id": "RA_kwDOKIBx0s4H5Pq5", - "name": "jan-mac-x64-0.2.2.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 131354, - "download_count": 2, - "created_at": "2023-10-26T10:53:03Z", - "updated_at": "2023-10-26T10:53:04Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-mac-x64-0.2.2.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446798", - "id": 132446798, - "node_id": "RA_kwDOKIBx0s4H5PpO", - "name": "jan-win-x64-0.2.2.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 98467481, - "download_count": 7, - "created_at": "2023-10-26T10:52:08Z", - "updated_at": "2023-10-26T10:52:10Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-win-x64-0.2.2.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446797", - "id": 132446797, - "node_id": "RA_kwDOKIBx0s4H5PpN", - "name": "jan-win-x64-0.2.2.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 103420, - "download_count": 6, - "created_at": "2023-10-26T10:52:08Z", - "updated_at": "2023-10-26T10:52:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/jan-win-x64-0.2.2.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446207", - "id": 132446207, - "node_id": "RA_kwDOKIBx0s4H5Pf_", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 32, - "created_at": "2023-10-26T10:47:33Z", - "updated_at": "2023-10-26T10:47:34Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132447165", - "id": 132447165, - "node_id": "RA_kwDOKIBx0s4H5Pu9", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 67, - "created_at": "2023-10-26T10:55:47Z", - "updated_at": "2023-10-26T10:55:47Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132446812", - "id": 132446812, - "node_id": "RA_kwDOKIBx0s4H5Ppc", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 31, - "created_at": "2023-10-26T10:52:10Z", - "updated_at": "2023-10-26T10:52:11Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.2/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.2.2", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.2.2", - "body": "## Changes\r\n\r\n- chore: plugin and app version dependency @louis-jan (#469)\r\n- bug: showing a modal when user start conf but model not active @urmauur (#466)\r\n- fix: duplicated modal and loading state @louis-jan (#465)\r\n- bug: fix overflow scroll horizontal message @urmauur (#464)\r\n- bug: avoid chat body scroll horizontal @urmauur (#462)\r\n- bug: fix logic plugin update plugin and show installed version @urmauur (#459)\r\n- bug: chat view drops enumeration @urmauur (#456)\r\n- fix: allow switching models when switch between conversations @namchuai (#458)\r\n- fix: CI run fails on windows @louis-jan (#463)\r\n- fix: failed to build electron app @louis-jan (#461)\r\n- fix: correct app version display @louis-jan (#452)\r\n- fix: enable link color blue on docusaurus markdown @urmauur (#449)\r\n\r\n## 🚀 Features\r\n\r\n- feat: Add ADR-008 for extensible Jan @vuonghoainam (#431)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- data-plugin force leveldown to 6.1.1 @hiento09 (#453)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Use electron-rebuild to build leveldown@5.6.0 for darwin arm64 @hiento09 (#455)\r\n- data-plugin force leveldown back to 5.6.0 and rebuild for darwin arm64 @hiento09 (#454)\r\n- data-plugin force leveldown to 6.1.1 @hiento09 (#453)\r\n\r\n## Contributor\r\n\r\n@hiento09, @jan-service-account, @louis-jan, @namchuai, @urmauur and @vuonghoainam\r\n", - "mentions_count": 6 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/126564105", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/126564105/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/126564105/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.2.1", - "id": 126564105, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4HizcJ", - "tag_name": "v0.2.1", - "target_commitish": "main", - "name": "0.2.1", - "draft": false, - "prerelease": false, - "created_at": "2023-10-25T08:56:36Z", - "published_at": "2023-10-25T09:17:04Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132253645", - "id": 132253645, - "node_id": "RA_kwDOKIBx0s4H4gfN", - "name": "jan-linux-amd64-0.2.1.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 97793320, - "download_count": 13, - "created_at": "2023-10-25T09:02:35Z", - "updated_at": "2023-10-25T09:02:38Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-linux-amd64-0.2.1.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255435", - "id": 132255435, - "node_id": "RA_kwDOKIBx0s4H4g7L", - "name": "jan-mac-arm64-0.2.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 120490638, - "download_count": 12, - "created_at": "2023-10-25T09:15:35Z", - "updated_at": "2023-10-25T09:15:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-arm64-0.2.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255436", - "id": 132255436, - "node_id": "RA_kwDOKIBx0s4H4g7M", - "name": "jan-mac-arm64-0.2.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 125173, - "download_count": 3, - "created_at": "2023-10-25T09:15:35Z", - "updated_at": "2023-10-25T09:15:41Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-arm64-0.2.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255505", - "id": 132255505, - "node_id": "RA_kwDOKIBx0s4H4g8R", - "name": "jan-mac-arm64-0.2.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 116580462, - "download_count": 4, - "created_at": "2023-10-25T09:15:58Z", - "updated_at": "2023-10-25T09:16:02Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-arm64-0.2.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255504", - "id": 132255504, - "node_id": "RA_kwDOKIBx0s4H4g8Q", - "name": "jan-mac-arm64-0.2.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122252, - "download_count": 2, - "created_at": "2023-10-25T09:15:58Z", - "updated_at": "2023-10-25T09:15:58Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-arm64-0.2.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255104", - "id": 132255104, - "node_id": "RA_kwDOKIBx0s4H4g2A", - "name": "jan-mac-x64-0.2.1.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 125739334, - "download_count": 4, - "created_at": "2023-10-25T09:13:07Z", - "updated_at": "2023-10-25T09:13:14Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-x64-0.2.1.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255105", - "id": 132255105, - "node_id": "RA_kwDOKIBx0s4H4g2B", - "name": "jan-mac-x64-0.2.1.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 132524, - "download_count": 2, - "created_at": "2023-10-25T09:13:07Z", - "updated_at": "2023-10-25T09:13:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-x64-0.2.1.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132254864", - "id": 132254864, - "node_id": "RA_kwDOKIBx0s4H4gyQ", - "name": "jan-mac-x64-0.2.1.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 121885377, - "download_count": 3, - "created_at": "2023-10-25T09:11:35Z", - "updated_at": "2023-10-25T09:11:40Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-x64-0.2.1.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132254865", - "id": 132254865, - "node_id": "RA_kwDOKIBx0s4H4gyR", - "name": "jan-mac-x64-0.2.1.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 129631, - "download_count": 2, - "created_at": "2023-10-25T09:11:35Z", - "updated_at": "2023-10-25T09:11:36Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-mac-x64-0.2.1.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132253894", - "id": 132253894, - "node_id": "RA_kwDOKIBx0s4H4gjG", - "name": "jan-win-x64-0.2.1.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 100456828, - "download_count": 5, - "created_at": "2023-10-25T09:05:10Z", - "updated_at": "2023-10-25T09:05:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-win-x64-0.2.1.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132253895", - "id": 132253895, - "node_id": "RA_kwDOKIBx0s4H4gjH", - "name": "jan-win-x64-0.2.1.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 104940, - "download_count": 4, - "created_at": "2023-10-25T09:05:10Z", - "updated_at": "2023-10-25T09:05:11Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/jan-win-x64-0.2.1.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132253647", - "id": 132253647, - "node_id": "RA_kwDOKIBx0s4H4gfP", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 72, - "created_at": "2023-10-25T09:02:38Z", - "updated_at": "2023-10-25T09:02:38Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132255519", - "id": 132255519, - "node_id": "RA_kwDOKIBx0s4H4g8f", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 103, - "created_at": "2023-10-25T09:16:03Z", - "updated_at": "2023-10-25T09:16:03Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/132253917", - "id": 132253917, - "node_id": "RA_kwDOKIBx0s4H4gjd", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 339, - "download_count": 71, - "created_at": "2023-10-25T09:05:15Z", - "updated_at": "2023-10-25T09:05:15Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.1/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.2.1", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.2.1", - "body": "## Changes\r\n\r\n- fix: model is started but the indicator is not stopped loading @louis-jan (#446)\r\n- fix: bring back install plugin manually function @louis-jan (#448)\r\n- fix: duplicated messages when user switch between conversations @namchuai (#441)\r\n- chore: added loader starting and stopping model @urmauur (#438)\r\n- chore: Change license to AGPL @dan-jan (#442)\r\n- fix: plugin \\& model catalog import cache are not cleared properly @louis-jan (#437)\r\n- fix error codesign @hiento09 (#439)\r\n- fix: app version and cleanup unused code @urmauur (#434)\r\n- chore: update core service - get plugin manifest @louis-jan (#432)\r\n- ui: interface revamp @urmauur (#429)\r\n- fix: scroll on explore models does not work @namchuai (#427)\r\n- feat: adding create bot functionality @namchuai (#368)\r\n- chore: install or update a plugin should not interrupt dev process @louis-jan (#420)\r\n- chore: Update nitro 0.1.2 windows/ linux @vuonghoainam (#421)\r\n- chore: update core service enums @louis-jan (#414)\r\n- feat: chat with documents plugin @louis-jan (#417)\r\n- misc: setup prettier @urmauur (#412)\r\n- adr: 007 - Jan Plugin Catalog @louis-jan (#408)\r\n- adr: 006 - Jan Core Module @louis-jan (#404)\r\n- feat: Support for nitro release 0.1.2 @vuonghoainam (#409)\r\n- feat: explore plugins from the npm repository and install them remotely @louis-jan (#399)\r\n- feat: fix event description @dan-jan (#400)\r\n- fix: high cpu usage @louis-jan (#401)\r\n- docs: model installation ADR @0xSage (#390)\r\n- chore: update core events module @louis-jan (#394)\r\n- feat: Update Social OG Image and Meta Description @dan-jan (#387)\r\n- misc: UI home @urmauur (#392)\r\n- Update hcmc-oct23.md @0xSage (#389)\r\n- chore: remove deprecated extension functions @louis-jan (#388)\r\n- Fix bugs image overlap dropdown button download @urmauur (#384)\r\n- chore: resolve fetch models api limit rate @louis-jan (#383)\r\n- chore: update convo summary @louis-jan (#378)\r\n- Update interface landing page @urmauur (#381)\r\n- Add simple copywriting changes @dan-jan (#382)\r\n- chore: update core services and module export @louis-jan (#376)\r\n- chore: #371 - reference to plugin name and module path as variables @louis-jan (#372)\r\n- feat: Edit event details, hide all unnecessary website sections @dan-jan (#369)\r\n- docs: UI Service ADR @0xSage (#318)\r\n- Feat/issue 255 adr 001 jand cloud native @nam-john-ho (#262)\r\n- Move plugins folder from electron to root folder @hiento09 (#366)\r\n- feature: core plugin support events \\& preferences modules @louis-jan (#365)\r\n- Fix/250 @namchuai (#349)\r\n- Change License and update README @dan-jan (#356)\r\n- Jan 339 @dan-jan (#348)\r\n- feat: Jan 339 @dan-jan (#347)\r\n- Add social og:image @dan-jan (#346)\r\n- feat(ard): Add adr 002 @vuonghoainam (#261)\r\n\r\n## 🚀 Features\r\n\r\n- #357 plugin \\& app can subscribe and emit events @louis-jan (#358)\r\n- feature: @janhq/plugin-core module \\& usage @louis-jan (#321)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Change to load nitron on windows and linux from bash/shell script @hiento09 (#451)\r\n- Fix data-plugin install failed on mac silicon from npm @hiento09 (#413)\r\n- Correct version of plugins @hiento09 (#374)\r\n\r\n## 🧰 Maintenance\r\n\r\n- upgrade leveldown to newest version @hiento09 (#447)\r\n- Update auto-sign plugin by search file permission 664 @hiento09 (#445)\r\n- Change codesign plugin folder in ci @hiento09 (#440)\r\n- Add continue on error for import cert @hiento09 (#436)\r\n- Update code siging for new data plugin @hiento09 (#433)\r\n- Add readme inference plugin @hiento09 (#426)\r\n- Add username to remote origin @hiento09 (#425)\r\n- Add auto create PR to plugin-catalog when a new version of plugin is â€Ļ @hiento09 (#416)\r\n- Fix data-plugin install failed on mac silicon from npm @hiento09 (#413)\r\n- Chore/remove package lock @hiento09 (#398)\r\n- Refactor cicd @hiento09 (#397)\r\n- Correct version of plugins @hiento09 (#374)\r\n- Rename plugin-core to core @hiento09 (#370)\r\n- Fix error check change in plugins folder @hiento09 (#367)\r\n- chore: jan.ai nits @0xSage (#354)\r\n\r\n## Contributor\r\n\r\n@0xSage, @dan-jan, @hiento09, @jan-service-account, @louis-jan, @nam-john-ho, @namchuai, @tikikun, @urmauur, @vuonghoainam and Hien To\r\n", - "mentions_count": 9 - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/124963068", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/124963068/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/124963068/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.2.0", - "id": 124963068, - "author": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "node_id": "RE_kwDOKIBx0s4Hcsj8", - "tag_name": "v0.2.0", - "target_commitish": "main", - "name": "0.2.0", - "draft": false, - "prerelease": false, - "created_at": "2023-10-13T10:30:52Z", - "published_at": "2023-10-13T10:51:19Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418359", - "id": 130418359, - "node_id": "RA_kwDOKIBx0s4Hxga3", - "name": "jan-linux-amd64-0.2.0.deb", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 94500286, - "download_count": 14, - "created_at": "2023-10-13T10:35:34Z", - "updated_at": "2023-10-13T10:35:36Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-linux-amd64-0.2.0.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130419294", - "id": 130419294, - "node_id": "RA_kwDOKIBx0s4Hxgpe", - "name": "jan-mac-arm64-0.2.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 117364184, - "download_count": 36, - "created_at": "2023-10-13T10:42:56Z", - "updated_at": "2023-10-13T10:42:59Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-arm64-0.2.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130419293", - "id": 130419293, - "node_id": "RA_kwDOKIBx0s4Hxgpd", - "name": "jan-mac-arm64-0.2.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 121696, - "download_count": 2, - "created_at": "2023-10-13T10:42:56Z", - "updated_at": "2023-10-13T10:42:56Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-arm64-0.2.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130419318", - "id": 130419318, - "node_id": "RA_kwDOKIBx0s4Hxgp2", - "name": "jan-mac-arm64-0.2.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 113497245, - "download_count": 6, - "created_at": "2023-10-13T10:43:10Z", - "updated_at": "2023-10-13T10:43:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-arm64-0.2.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130419317", - "id": 130419317, - "node_id": "RA_kwDOKIBx0s4Hxgp1", - "name": "jan-mac-arm64-0.2.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 120020, - "download_count": 2, - "created_at": "2023-10-13T10:43:10Z", - "updated_at": "2023-10-13T10:43:10Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-arm64-0.2.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418907", - "id": 130418907, - "node_id": "RA_kwDOKIBx0s4Hxgjb", - "name": "jan-mac-x64-0.2.0.dmg", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 122602134, - "download_count": 9, - "created_at": "2023-10-13T10:40:05Z", - "updated_at": "2023-10-13T10:40:08Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-x64-0.2.0.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418908", - "id": 130418908, - "node_id": "RA_kwDOKIBx0s4Hxgjc", - "name": "jan-mac-x64-0.2.0.dmg.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 129839, - "download_count": 2, - "created_at": "2023-10-13T10:40:05Z", - "updated_at": "2023-10-13T10:40:06Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-x64-0.2.0.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418915", - "id": 130418915, - "node_id": "RA_kwDOKIBx0s4Hxgjj", - "name": "jan-mac-x64-0.2.0.zip", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/zip", - "state": "uploaded", - "size": 118802191, - "download_count": 3, - "created_at": "2023-10-13T10:40:10Z", - "updated_at": "2023-10-13T10:40:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-x64-0.2.0.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418916", - "id": 130418916, - "node_id": "RA_kwDOKIBx0s4Hxgjk", - "name": "jan-mac-x64-0.2.0.zip.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 126330, - "download_count": 2, - "created_at": "2023-10-13T10:40:10Z", - "updated_at": "2023-10-13T10:40:10Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-mac-x64-0.2.0.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418886", - "id": 130418886, - "node_id": "RA_kwDOKIBx0s4HxgjG", - "name": "jan-win-x64-0.2.0.exe", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 97037738, - "download_count": 41, - "created_at": "2023-10-13T10:39:41Z", - "updated_at": "2023-10-13T10:39:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-win-x64-0.2.0.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418888", - "id": 130418888, - "node_id": "RA_kwDOKIBx0s4HxgjI", - "name": "jan-win-x64-0.2.0.exe.blockmap", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "application/octet-stream", - "state": "uploaded", - "size": 102058, - "download_count": 7, - "created_at": "2023-10-13T10:39:41Z", - "updated_at": "2023-10-13T10:39:41Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/jan-win-x64-0.2.0.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418360", - "id": 130418360, - "node_id": "RA_kwDOKIBx0s4Hxga4", - "name": "latest-linux.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 346, - "download_count": 325, - "created_at": "2023-10-13T10:35:36Z", - "updated_at": "2023-10-13T10:35:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130419322", - "id": 130419322, - "node_id": "RA_kwDOKIBx0s4Hxgp6", - "name": "latest-mac.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 799, - "download_count": 395, - "created_at": "2023-10-13T10:43:13Z", - "updated_at": "2023-10-13T10:43:13Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/130418891", - "id": 130418891, - "node_id": "RA_kwDOKIBx0s4HxgjL", - "name": "latest.yml", - "label": "", - "uploader": { - "login": "github-actions[bot]", - "id": 41898282, - "node_id": "MDM6Qm90NDE4OTgyODI=", - "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/github-actions%5Bbot%5D", - "html_url": "https://github.com/apps/github-actions", - "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", - "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", - "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", - "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", - "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", - "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", - "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", - "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", - "type": "Bot", - "site_admin": false - }, - "content_type": "text/yaml", - "state": "uploaded", - "size": 338, - "download_count": 168, - "created_at": "2023-10-13T10:39:45Z", - "updated_at": "2023-10-13T10:39:45Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.2.0/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.2.0", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.2.0", - "body": "## Changes\r\n\r\n- feat: Add Jan Hacker House event page to Docs @dan-jan (#342)\r\n- feat: Hide incomplete Hardware section from Docs site @dan-jan (#341)\r\n- style: better chatbox ui @0xSage (#338)\r\n- feat: allowing user to fetch models from github @namchuai (#319)\r\n- fixes: #247 - inference plugin should check nitro service available @louis-jan (#313)\r\n- Fix icon error for linux app @hiento09 (#316)\r\n- docs: initial hardware content @Its-Alamin-H (#240)\r\n- fixes #277 - bug: memory utilization always at 99% @louis-jan (#309)\r\n- Docusaurus parser string from githubapi to get latest release @hiento09 (#312)\r\n- Footer background, CTA \\& Highlight colors @drakehere (#288)\r\n- Fix CI Test run failed on ubuntu and change release file app name @hiento09 (#307)\r\n- Add docusaurus test build pipeline @hiento09 (#302)\r\n- fix: #271 Cannot read properties of undefined (reading 'map') @louis-jan (#300)\r\n- Fix Docusaurus server side render error @hiento09 (#301)\r\n- fix #283: small ui fixes @namchuai (#299)\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- Fix #290: Add description in package.json and rename to jan @hiento09 (#333)\r\n\r\n## 🧰 Maintenance\r\n\r\n- Add Documentation category to release note template @hiento09 (#332)\r\n- Chore/release note template @hiento09 (#323)\r\n- Add release note template @hiento09 (#322)\r\n\r\n## 📖 Documentaion\r\n\r\n- Add auto update app download url on jan.ai @hiento09 (#311)\r\n- docs: update per v0.1.3 @0xSage (#280)\r\n\r\n## Contributor\r\n\r\n@0xSage, @Its-Alamin-H, @dan-jan, @drakehere, @hiento09, @hientominh, @louis-jan, @namchuai, Hien To and James\r\n", - "mentions_count": 8 - } - ] -} \ No newline at end of file diff --git a/docs/docs/releases/changelog/changelog-v0.2.0.mdx b/docs/docs/releases/changelog/changelog-v0.2.0.mdx deleted file mode 100644 index 55a64bc482..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.2.0.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -sidebar_position: 17 -slug: /changelog/changelog-v0.2.0 ---- -# v0.2.0 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.2.0) - -Highlighted Issue: [Issue #342: feat: Add Jan Hacker House event page to Docs](https://github.com/janhq/jan/pull/342) - -## Changes - -- feat: Add Jan Hacker House event page to Docs @dan-jan (#342) -- feat: Hide incomplete Hardware section from Docs site @dan-jan (#341) -- style: better chatbox ui @0xSage (#338) -- feat: allowing user to fetch models from github @namchuai (#319) -- fixes: #247 - inference plugin should check nitro service available @louis-jan (#313) -- Fix icon error for linux app @hiento09 (#316) -- docs: initial hardware content @Its-Alamin-H (#240) -- fixes #277 - bug: memory utilization always at 99% @louis-jan (#309) -- Docusaurus parser string from githubapi to get latest release @hiento09 (#312) -- Footer background, CTA \& Highlight colors @drakehere (#288) -- Fix CI Test run failed on ubuntu and change release file app name @hiento09 (#307) -- Add docusaurus test build pipeline @hiento09 (#302) -- fix: #271 Cannot read properties of undefined (reading 'map') @louis-jan (#300) -- Fix Docusaurus server side render error @hiento09 (#301) -- fix #283: small ui fixes @namchuai (#299) - -## 🐛 Bug Fixes - -- Fix #290: Add description in package.json and rename to jan @hiento09 (#333) - -## 🧰 Maintenance - -- Add Documentation category to release note template @hiento09 (#332) -- Chore/release note template @hiento09 (#323) -- Add release note template @hiento09 (#322) - -## 📖 Documentaion - -- Add auto update app download url on jan.ai @hiento09 (#311) -- docs: update per v0.1.3 @0xSage (#280) - -## Contributor - -@0xSage, @Its-Alamin-H, @dan-jan, @drakehere, @hiento09, @hientominh, @louis-jan, @namchuai, Hien To and James - diff --git a/docs/docs/releases/changelog/changelog-v0.2.1.mdx b/docs/docs/releases/changelog/changelog-v0.2.1.mdx deleted file mode 100644 index e4e8960f64..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.2.1.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_position: 16 -slug: /changelog/changelog-v0.2.1 ---- -# v0.2.1 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.2.1) - -Highlighted Issue: [Issue #446: fix: model is started but the indicator is not stopped loading](https://github.com/janhq/jan/pull/446) - -## Changes - -- fix: model is started but the indicator is not stopped loading @louis-jan (#446) -- fix: bring back install plugin manually function @louis-jan (#448) -- fix: duplicated messages when user switch between conversations @namchuai (#441) -- chore: added loader starting and stopping model @urmauur (#438) -- chore: Change license to AGPL @dan-jan (#442) -- fix: plugin \& model catalog import cache are not cleared properly @louis-jan (#437) -- fix error codesign @hiento09 (#439) -- fix: app version and cleanup unused code @urmauur (#434) -- chore: update core service - get plugin manifest @louis-jan (#432) -- ui: interface revamp @urmauur (#429) -- fix: scroll on explore models does not work @namchuai (#427) -- feat: adding create bot functionality @namchuai (#368) -- chore: install or update a plugin should not interrupt dev process @louis-jan (#420) -- chore: Update nitro 0.1.2 windows/ linux @vuonghoainam (#421) -- chore: update core service enums @louis-jan (#414) -- feat: chat with documents plugin @louis-jan (#417) -- misc: setup prettier @urmauur (#412) -- adr: 007 - Jan Plugin Catalog @louis-jan (#408) -- adr: 006 - Jan Core Module @louis-jan (#404) -- feat: Support for nitro release 0.1.2 @vuonghoainam (#409) -- feat: explore plugins from the npm repository and install them remotely @louis-jan (#399) -- feat: fix event description @dan-jan (#400) -- fix: high cpu usage @louis-jan (#401) -- docs: model installation ADR @0xSage (#390) -- chore: update core events module @louis-jan (#394) -- feat: Update Social OG Image and Meta Description @dan-jan (#387) -- misc: UI home @urmauur (#392) -- Update hcmc-oct23.md @0xSage (#389) -- chore: remove deprecated extension functions @louis-jan (#388) -- Fix bugs image overlap dropdown button download @urmauur (#384) -- chore: resolve fetch models api limit rate @louis-jan (#383) -- chore: update convo summary @louis-jan (#378) -- Update interface landing page @urmauur (#381) -- Add simple copywriting changes @dan-jan (#382) -- chore: update core services and module export @louis-jan (#376) -- chore: #371 - reference to plugin name and module path as variables @louis-jan (#372) -- feat: Edit event details, hide all unnecessary website sections @dan-jan (#369) -- docs: UI Service ADR @0xSage (#318) -- Feat/issue 255 adr 001 jand cloud native @nam-john-ho (#262) -- Move plugins folder from electron to root folder @hiento09 (#366) -- feature: core plugin support events \& preferences modules @louis-jan (#365) -- Fix/250 @namchuai (#349) -- Change License and update README @dan-jan (#356) -- Jan 339 @dan-jan (#348) -- feat: Jan 339 @dan-jan (#347) -- Add social og:image @dan-jan (#346) -- feat(ard): Add adr 002 @vuonghoainam (#261) - -## 🚀 Features - -- #357 plugin \& app can subscribe and emit events @louis-jan (#358) -- feature: @janhq/plugin-core module \& usage @louis-jan (#321) - -## 🐛 Bug Fixes - -- Change to load nitron on windows and linux from bash/shell script @hiento09 (#451) -- Fix data-plugin install failed on mac silicon from npm @hiento09 (#413) -- Correct version of plugins @hiento09 (#374) - -## 🧰 Maintenance - -- upgrade leveldown to newest version @hiento09 (#447) -- Update auto-sign plugin by search file permission 664 @hiento09 (#445) -- Change codesign plugin folder in ci @hiento09 (#440) -- Add continue on error for import cert @hiento09 (#436) -- Update code siging for new data plugin @hiento09 (#433) -- Add readme inference plugin @hiento09 (#426) -- Add username to remote origin @hiento09 (#425) -- Add auto create PR to plugin-catalog when a new version of plugin is â€Ļ @hiento09 (#416) -- Fix data-plugin install failed on mac silicon from npm @hiento09 (#413) -- Chore/remove package lock @hiento09 (#398) -- Refactor cicd @hiento09 (#397) -- Correct version of plugins @hiento09 (#374) -- Rename plugin-core to core @hiento09 (#370) -- Fix error check change in plugins folder @hiento09 (#367) -- chore: jan.ai nits @0xSage (#354) - -## Contributor - -@0xSage, @dan-jan, @hiento09, @jan-service-account, @louis-jan, @nam-john-ho, @namchuai, @tikikun, @urmauur, @vuonghoainam and Hien To - diff --git a/docs/docs/releases/changelog/changelog-v0.2.2.mdx b/docs/docs/releases/changelog/changelog-v0.2.2.mdx deleted file mode 100644 index 6546033cdf..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.2.2.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_position: 15 -slug: /changelog/changelog-v0.2.2 ---- -# v0.2.2 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.2.2) - -Highlighted Issue: [Issue #469: chore: plugin and app version dependency](https://github.com/janhq/jan/pull/469) - -## Changes - -- chore: plugin and app version dependency @louis-jan (#469) -- bug: showing a modal when user start conf but model not active @urmauur (#466) -- fix: duplicated modal and loading state @louis-jan (#465) -- bug: fix overflow scroll horizontal message @urmauur (#464) -- bug: avoid chat body scroll horizontal @urmauur (#462) -- bug: fix logic plugin update plugin and show installed version @urmauur (#459) -- bug: chat view drops enumeration @urmauur (#456) -- fix: allow switching models when switch between conversations @namchuai (#458) -- fix: CI run fails on windows @louis-jan (#463) -- fix: failed to build electron app @louis-jan (#461) -- fix: correct app version display @louis-jan (#452) -- fix: enable link color blue on docusaurus markdown @urmauur (#449) - -## 🚀 Features - -- feat: Add ADR-008 for extensible Jan @vuonghoainam (#431) - -## 🐛 Bug Fixes - -- data-plugin force leveldown to 6.1.1 @hiento09 (#453) - -## 🧰 Maintenance - -- Use electron-rebuild to build leveldown@5.6.0 for darwin arm64 @hiento09 (#455) -- data-plugin force leveldown back to 5.6.0 and rebuild for darwin arm64 @hiento09 (#454) -- data-plugin force leveldown to 6.1.1 @hiento09 (#453) - -## Contributor - -@hiento09, @jan-service-account, @louis-jan, @namchuai, @urmauur and @vuonghoainam - diff --git a/docs/docs/releases/changelog/changelog-v0.2.3.mdx b/docs/docs/releases/changelog/changelog-v0.2.3.mdx deleted file mode 100644 index e450bffc5b..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.2.3.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -sidebar_position: 14 -slug: /changelog/changelog-v0.2.3 ---- -# v0.2.3 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.2.3) - -Highlighted Issue: [Issue #482: fix: hide preferences section if empty](https://github.com/janhq/jan/pull/482) - -## Changes - -- fix: hide preferences section if empty @louis-jan (#482) -- chore: fix conversation summary @louis-jan (#480) -- chore: missing create conversation button when there is no conversation is selected @louis-jan (#478) -- fix: download now change state immediately @namchuai (#475) -- chore: add required app version to edge release plugin @louis-jan (#471) - -## 🐛 Bug Fixes - -- add rebuild for mac x64 @hiento09 (#473) - -## 🧰 Maintenance - -- Add build deps for data-plugin in CI @hiento09 (#472) - -## Contributor - -@hiento09, @hientominh, @jan-service-account, @louis-jan and @namchuai - diff --git a/docs/docs/releases/changelog/changelog-v0.3.0.mdx b/docs/docs/releases/changelog/changelog-v0.3.0.mdx deleted file mode 100644 index 6ef6acb425..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.3.0.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -sidebar_position: 13 -slug: /changelog/changelog-v0.3.0 ---- -# v0.3.0 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.3.0) - -Highlighted Issue: [Issue #482: fix: hide preferences section if empty](https://github.com/janhq/jan/pull/482) - -## Changes - -- fix: hide preferences section if empty @louis-jan (#482) -- chore: fix conversation summary @louis-jan (#480) -- chore: missing create conversation button when there is no conversation is selected @louis-jan (#478) -- fix: download now change state immediately @namchuai (#475) -- chore: add required app version to edge release plugin @louis-jan (#471) - -## 🐛 Bug Fixes - -- add rebuild for mac x64 @hiento09 (#473) - -## 🧰 Maintenance - -- Add build deps for data-plugin in CI @hiento09 (#472) - -## Contributor - -@hiento09, @hientominh, @jan-service-account, @louis-jan and @namchuai - diff --git a/docs/docs/releases/changelog/changelog-v0.3.1.mdx b/docs/docs/releases/changelog/changelog-v0.3.1.mdx deleted file mode 100644 index b83bc88a73..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.3.1.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -sidebar_position: 12 -slug: /changelog/changelog-v0.3.1 ---- -# v0.3.1 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.3.1) - -Highlighted Issue: [Issue #580: fix: preformatted text indents the first line strangely](https://github.com/janhq/jan/pull/580) - -## Changes - -- fix: preformatted text indents the first line strangely @louis-jan (#580) -- fix: failed to package app since core and uikit are not being built @louis-jan (#575) -- cleanup: remove component folder and cleanup conversation screen @urmauur (#574) -- bug: update convo state when user change model @urmauur (#571) -- fix(#566): jan cannot retrieve the conversations @namchuai (#570) -- bug: Toast messages shows [object object] @urmauur (#569) -- ui: improve state of welcome screen @urmauur (#563) -- chore: fixed an issue where app does not yield message result @louis-jan (#561) -- Update readme @urmauur (#560) -- ui: standalone UIKit and refactor @urmauur (#557) -- Small description changes @dan-jan (#558) -- add 'change download button based on OS' feature @Vikram-2004 (#551) -- feat: revamp plugin architecture @louis-jan (#535) -- Fix mobile padding @imtuyethan (#550) -- chore: Update Readme @dan-jan (#549) -- Update Homepage and README with 1-line pitch @dan-jan (#548) -- docs: Add About, Events, Blog @dan-jan (#546) -- Ashley/update website content @imtuyethan (#545) -- Add guides @hahuyhoang411 (#488) -- Structure Docs @dan-jan (#536) -- Update README.md @imtuyethan (#533) -- Chore: Setup "Jan Improvements Proposal" workflow @dan-jan (#534) -- Update website tag line @imtuyethan (#527) -- fix: #396 - allow user to cancel a model download @louis-jan (#530) -- fix: #479 - Toggle plugin is now experimental feature @louis-jan (#531) -- chore: disable app update on test @louis-jan (#521) -- bug: chat UI is not consistent @urmauur (#520) -- refactor: plugin manager and execution as ts @louis-jan (#504) -- fix: app toolbar is gone on windows @louis-jan (#503) -- Chore: refactor code, hide plugin menu in web @ghost (#502) -- fix: dest.end is not a function @louis-jan (#501) -- #255: Jan cloud native @ghost (#320) -- bug: download new version should show in status bar @urmauur (#500) -- feat: add New Conversation button on the conversation sidebar @urmauur (#499) -- chore: update plugin readme @louis-jan (#497) -- chore: update plugins license @louis-jan (#496) -- #255: Read plugins manifest from CDN @ghost (#495) -- chore: update plugin sdk - add appDataPath @louis-jan (#492) -- chore: enable back bot function for edge-release @louis-jan (#474) -- chore: attempt to kill Nitro subprocesses @louis-jan (#484) -- docs: new dev hub @0xSage (#450) - -## 🚀 Features - -- feat: Experimental Feature Toggle @louis-jan (#525) - -## 🐛 Bug Fixes - -- Add rebuild leveldown for arm on mac intel @hiento09 (#487) - -## 🧰 Maintenance - -- Bump nitro version from 0.1.4 to 0.1.6 @hiento09 (#581) -- Add set yarn network timeout for uikit @hiento09 (#579) -- Fix error CI e2e run failed on windows @hiento09 (#578) -- Fix build plugins macos codesiging error @hiento09 (#576) -- Add install nitro mac intel inference plugin build locally @hiento09 (#542) -- Bump nitro version to 0.1.4 @hiento09 (#532) -- Chore/update yarn dev script @hiento09 (#529) -- Inference Plugin pull nitro binary from release @hiento09 (#524) -- Correct version and license @hiento09 (#498) - -## Contributor - -@0xSage, @Vikram-2004, @dan-jan, @hahuyhoang411, @hiento09, @imtuyethan, @jan-service-account, @louis-jan, @namchuai, @tikikun, @urmauur, Han, James, John and nam-john-ho - diff --git a/docs/docs/releases/changelog/changelog-v0.3.2.mdx b/docs/docs/releases/changelog/changelog-v0.3.2.mdx deleted file mode 100644 index acc19cc1a5..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.3.2.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -sidebar_position: 11 -slug: /changelog/changelog-v0.3.2 ---- -# v0.3.2 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.3.2) - -Highlighted Issue: [Issue #612: fix: disabled required env](https://github.com/janhq/jan/pull/612) - -## Changes - -- fix: disabled required env @urmauur (#612) -- Install Posthog snippet @imtuyethan (#573) -- web: google tag manager @urmauur (#562) -- docs: fix syntax highlighting @0xSage (#602) -- chore: remove past event @0xSage (#600) -- docs: new docs @0xSage (#599) -- [chore]: Update docs @dan-jan (#597) - -## 🚀 Features - -- refactor: main electron with managers and handlers @louis-jan (#610) - -## 🐛 Bug Fixes - -- Fix: Failed to load model - unload model nitro @louis-jan (#616) -- Restore cpx nitro step in yarn script @hiento09 (#617) -- fix(#591): prevent duplicate message id issue @namchuai (#595) -- bug: cancelling a model download should be delete the model file on user data @urmauur (#613) -- bug: fix weird padding vertical snippet code @urmauur (#608) -- bug: Fix button download detect intel or apple silicon @urmauur (#609) -- bug: enable delete conversation after deleted model @urmauur (#594) -- bug: download modal should truncate model name @urmauur (#592) -- bug: support multiple line input chat using Textarea instead @urmauur (#593) - -## 🧰 Maintenance - -- refactor: main electron with managers and handlers @louis-jan (#610) -- Chore/refactor yarn script @hiento09 (#615) -- fix: line height and update typography component @urmauur (#611) - -## Contributor - -@0xSage, @dan-jan, @hiento09, @imtuyethan, @jan-service-account, @louis-jan, @namchuai and @urmauur - diff --git a/docs/docs/releases/changelog/changelog-v0.3.3.mdx b/docs/docs/releases/changelog/changelog-v0.3.3.mdx deleted file mode 100644 index bdf4d1ec34..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.3.3.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -sidebar_position: 10 -slug: /changelog/changelog-v0.3.3 ---- -# v0.3.3 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.3.3) - -Highlighted Issue: [Issue #719: docs: cleanup](https://github.com/janhq/jan/pull/719) - -## Changes - -- docs: cleanup @0xSage (#719) -- docs: threads and messages @0xSage (#681) -- Updating Onboarding Kit @Diane0111 (#675) -- Update issue templates @0xSage (#685) -- docs: polish models spec @0xSage (#680) -- Feature: Preview URL for each PR and add pre-release.jan.ai as staging of Jan Docs @hiento09 (#669) -- Migrate Model definitions to Swagger/OpenAPI @dan-jan (#659) -- [docs] Add Introduction and refactor Models Spec @dan-jan (#657) -- docs: Add model methods to swagger @0xSage (#660) -- Models Spec: Delete broken Markdown links @dan-jan (#648) -- docs: assistants and threads specs @0xSage (#646) - -## 🚀 Features - -- improvement: styling message action toolbar @urmauur (#737) -- experimental: allow user to give instruction for the conversation @louis-jan (#714) -- docs/enable-seo-docusaurus @hieu-jan (#725) -- Add windows code sign to CI @hiento09 (#712) -- docs: update installation guide @hieu-jan (#664) -- chore: Update based on team discussion on Nov 20 @vuonghoainam (#673) -- docs: add OpenAI swagger file @hieu-jan (#623) -- Update landing page Jan @urmauur (#638) - -## 🐛 Bug Fixes - -- chore: open app data should lead user to jan root @louis-jan (#749) -- fix: cancel download does not work @louis-jan (#746) -- fix: error when switching between threads @louis-jan (#736) -- chore: app raises error when attempting to start a model that is already starting @louis-jan (#721) -- bug: fix filter list menu from command base on search type and make a symbol base on OS @urmauur (#723) -- bug: fix clickable small download button on chat screen @urmauur (#722) -- fix: incorrect update progress bar visibility check @louis-jan (#713) -- fix: app shows wrong performance tag, all say not enough ram on windows @louis-jan (#699) -- bug: fix padding quotations and numbering list @urmauur (#695) -- fix: local npm module update does not reflect web app @louis-jan (#677) -- [bug] fix markdown todo items shifted to the left and remove the dots @urmauur (#694) -- bug: fix footer and section spacing landing page @urmauur (#683) -- bug: fix anchor link sidebar openapi @urmauur (#668) -- refactor: remove unused hooks and resolve no-explicit-any @louis-jan (#647) -- bug: fix titles should have spaces in between @urmauur (#652) -- bug: fix compatibility content not fully display @urmauur (#653) - -## 🧰 Maintenance - -- chore: fix app grammar @0xSage (#750) -- chore: bumb nitro version @louis-jan (#740) -- chore: fs module should not cover app logic @louis-jan (#720) -- API Reference for Models, Messages, Threads @hahuyhoang411 (#679) -- docs: upgrade mdx-js package @hieu-jan (#705) -- [docs] Update Docusaurus to 3.0 and fix closing tag issue in Handbook @dan-jan (#704) -- Fix error docs pipeline run failed @hiento09 (#702) -- Revert docs CICD trigger on push to main instead of tag-based @hiento09 (#698) -- fix: local npm module update does not reflect web app @louis-jan (#677) -- Chore: refactor to makefile @hiento09 (#691) -- Add Instruction to publish docs @hiento09 (#687) -- chore/add-mermaid @hieu-jan (#672) -- chore/update package docs @hieu-jan (#670) -- Enhance Cross-Platform Argument Handling for Nitro Startup Scripts @hiento09 (#674) -- refactor: remove unused hooks and resolve no-explicit-any @louis-jan (#647) -- docs: add OpenAI swagger file @hieu-jan (#623) -- Preliminary Restructure of Docs @dan-jan (#655) -- Model specs @vuonghoainam (#641) -- refactor: refactor app entities @louis-jan (#626) -- refactor: move file to jan root @namchuai (#598) -- Add run-script-os @linhtran174 (#620) -- Refactor Jan Documentation @dan-jan (#625) - -## 📖 Documentaion - -- docs: update specs/product @0xSage (#744) -- docs/enable-seo-docusaurus @hieu-jan (#725) -- docs: assistant spec @vuonghoainam (#707) -- docs: Refactor Jan Site Structure @dan-jan (#706) -- docs/improve install docs @hieu-jan (#708) -- API Reference for Models, Messages, Threads @hahuyhoang411 (#679) -- [docs] Update Docusaurus to 3.0 and fix closing tag issue in Handbook @dan-jan (#704) -- docs: update installation guide @hieu-jan (#664) -- chore: Update based on team discussion on Nov 20 @vuonghoainam (#673) -- docs: add OpenAI swagger file @hieu-jan (#623) -- Preliminary Restructure of Docs @dan-jan (#655) -- Fix: specs revision @vuonghoainam (#649) -- Model specs @vuonghoainam (#641) -- Update README.md @imtuyethan (#629) -- Refactor Jan Documentation @dan-jan (#625) - -## Contributor - -@0xSage, @Diane0111, @dan-jan, @hahuyhoang411, @hiento09, @hieu-jan, @imtuyethan, @linhtran174, @louis-jan, @namchuai, @urmauur, @vuonghoainam and Le Tra Mi - diff --git a/docs/docs/releases/changelog/changelog-v0.4.0.mdx b/docs/docs/releases/changelog/changelog-v0.4.0.mdx deleted file mode 100644 index c0225cc251..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.0.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -sidebar_position: 9 -slug: /changelog/changelog-v0.4.0 ---- -# v0.4.0 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.0) - -Highlighted Issue: [Issue #878: bug: fix tag description showing a title and fix card right panel](https://github.com/janhq/jan/pull/878) - -## Changes - -- bug: fix tag description showing a title and fix card right panel @urmauur (#878) -- fix/no-assistant-available-fresh-install @louis-jan (#876) -- Model.json update @hahuyhoang411 (#870) -- Hotfix desc for openhermes @hahuyhoang411 (#864) -- Openhermes update v1 @hahuyhoang411 (#863) -- update deepseek 1.3b @hahuyhoang411 (#858) -- Update tags @hahuyhoang411 (#857) -- Update model hub @hahuyhoang411 (#829) -- hotfix: fix typo @tikikun (#836) -- chore: pre-populate Jan's /models folder with model.jsons @hahuyhoang411 (#775) -- chore: clarification changes to the model settings and model parameters @tikikun (#742) - -## 🚀 Features - -- feat: revamp landing page @urmauur (#745) -- feat : add cover image model hub screen @urmauur (#872) -- feat: boilerplate for express server localhost 1337 @linhtran174 (#803) -- enhancement: revamp hub screen @urmauur (#825) -- feat: revamp thread screen @urmauur (#802) -- docs/update-api-reference @hieu-jan (#739) -- refactor: model plugin to follow new specs @namchuai (#682) - -## 🐛 Fixes - -- fix: Nitro interface update to prevent warning @vuonghoainam (#877) -- fix: delete message break the entire thread @louis-jan (#869) -- fix: can not download multiple models at once @louis-jan (#867) -- fix: production CI workflow does not populate models @louis-jan (#862) -- fix: update wrong main view state when use a model @namchuai (#861) -- fix: handle crash issue on hljs highlighting @louis-jan (#859) -- fix: empty assistant instruction by default @louis-jan (#855) -- bug: fix broken banner position hub screen @urmauur (#846) -- fix: not update active model when using resend button @namchuai (#834) -- Hotfix jan windows download nitro failed @hiento09 (#838) -- Switch to download nitro .tar.gz file instead of .zip file on windows @hiento09 (#832) -- fix/docusaurus-seo @hieu-jan (#818) -- fix: CI script - reorder copy models action @louis-jan (#819) -- fix: messages sync is not threadsafe @louis-jan (#784) -- Fix Makefile Indentation Issue @hiento09 (#788) - -## 🧰 Maintenance - -- chore: update model ranking @louis-jan (#874) -- Bump nitro version to 0.1.21 - nitro has windows codesign @hiento09 (#843) -- Hotfix jan windows download nitro failed @hiento09 (#838) -- 810 docs add modeljson and revamp models specs page @tikikun (#816) -- Add document for nightly build and update message for manual build @hiento09 (#831) -- chore: Bump nitro to 0.1.20 @vuonghoainam (#830) -- Refactor build:extension command @hiento09 (#822) -- feat: pre-populate Jan's /models folder @namchuai (#796) -- chore: fix pr auto labeling @0xSage (#812) -- chore: add gi automations @0xSage (#809) -- refactor: jan extensions @louis-jan (#799) -- Remove .zip in artifact name @hiento09 (#800) -- docs/update-api-reference @hieu-jan (#739) -- Add nightly build ci @hiento09 (#794) -- Fix Makefile Indentation Issue @hiento09 (#788) -- Switch from .zip to .tar.gz for nitro url inference plugin @hiento09 (#781) - -## Contributor - -@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @linhtran174, @louis-jan, @namchuai, @tikikun, @urmauur and @vuonghoainam - diff --git a/docs/docs/releases/changelog/changelog-v0.4.1.mdx b/docs/docs/releases/changelog/changelog-v0.4.1.mdx deleted file mode 100644 index 9e0300a4bd..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.1.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -sidebar_position: 8 -slug: /changelog/changelog-v0.4.1 ---- -# v0.4.1 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.1) - -Highlighted Issue: [Issue #903: Update README.md](https://github.com/janhq/jan/pull/903) - -## Changes - -- Update README.md @imtuyethan (#903) - -## 🚀 Features - -- feat: Kill nitro process with API - nitro 0.1.27 @vuonghoainam (#975) -- feat: Inference Nitro with Prompt Template @hahuyhoang411 (#952) -- feat: Add NVIDIA triton trt-llm extension @vuonghoainam (#888) -- feat: Hotfit for Nitro loading on CPU with hyper-threading support @vuonghoainam (#931) -- feat: adding model params @namchuai (#886) -- feat: Multiple inference engines for nitro and openai @vuonghoainam (#814) -- docs: add json schema for engine and model parameters @tikikun (#840) -- feat: improve SEO keywords @hieu-jan (#894) -- enhancement: fix spacing landing page responsive @urmauur (#891) -- bug: added label coming soon for windows and linux @urmauur (#881) - -## 🐛 Fixes - -- fix: 963 can not run openai models on windows @louis-jan (#974) -- fix: Inference engine Nitro with Windows with/ without CUDA @vuonghoainam (#950) -- Fix error Jan app linux crash @hiento09 (#958) -- fix: windows bug - control buttons close,max,min hidden @linhtran174 (#949) -- bug: fix ui landing page @urmauur (#937) -- fix: model parameters for inference extensions @vuonghoainam (#935) -- [bug] Fix floating border outside card right panel @urmauur (#934) -- fix: import\_typescript.default.isTokenKind is not a function @louis-jan (#923) -- bug: fix syntax formatting @urmauur (#899) -- bug: update metadata title and desc @urmauur (#884) -- fix: download button text color is blending into the background @louis-jan (#883) - -## 🧰 Maintenance - -- chore: add desktop app analytics @louis-jan (#978) -- refactor: clean types and interfaces @0xSage (#966) -- docs: scaffold dev docs @0xSage (#856) -- chore: Bump nitro to 0.1.26 @vuonghoainam (#960) -- Update update-release-url.yml @hiento09 (#951) -- Fix update release url pipeline run failed @hiento09 (#947) -- chore: Bumpt nitro bin version to version 0.1.23 @vuonghoainam (#942) -- Fix update release url pipeline @hiento09 (#941) -- CI automatically update Update README with Nightly Build Information and stable download URL @hiento09 (#940) -- refactor: deprecate invokers - auto proxying apis - strict types @louis-jan (#924) -- docs: standardize yaml files @hieu-jan (#933) -- chore: universal module definition @louis-jan (#902) -- docs: add assistants api reference @hieu-jan (#801) -- docs: add json schema for engine and model parameters @tikikun (#840) - -## Contributor - -@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @imtuyethan, @jan-service-account, @linhtran174, @louis-jan, @namchuai, @tikikun, @urmauur and @vuonghoainam - diff --git a/docs/docs/releases/changelog/changelog-v0.4.2.mdx b/docs/docs/releases/changelog/changelog-v0.4.2.mdx deleted file mode 100644 index 7b2a1b81c0..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.2.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -sidebar_position: 7 -slug: /changelog/changelog-v0.4.2 ---- -# v0.4.2 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.2) - -Highlighted Issue: [Issue #1033: Hotfix model hub](https://github.com/janhq/jan/pull/1033) - -## Changes - -- Hotfix model hub @hahuyhoang411 (#1033) -- Update Model.json @hahuyhoang411 (#1005) - -## 🚀 Features - -- feat: app theme depend on local storage instead native theme electron @urmauur (#1014) -- feat: move stop inference button into the send button @urmauur (#1011) -- feat: loader when starting model @urmauur (#945) -- fix: enable download app linux @urmauur (#993) -- fix: remove coming soon windows @urmauur (#986) - -## 🐛 Fixes - -- fix: migrate new models @louis-jan (#1034) -- fix: add input for api key remote model @urmauur (#1031) -- fix bug #1013, enable posthog for release app version only @hiento09 (#1019) -- fix: delete first message then regenerate again will break the thread @louis-jan (#1015) -- fix: #995 - Fix onboarding state and model sorting @louis-jan (#1009) -- fix: limit analytics events capture @louis-jan (#1012) -- fix: wrong selected model right panel @urmauur (#1001) -- fix: review finder and view as json @louis-jan (#1000) -- fix: enable download app linux @urmauur (#993) - -## 🧰 Maintenance - -- chore: remigrate if there is no models dir @louis-jan (#1038) -- bump nitro version to 0.1.30 @hiento09 (#1036) -- chore: in app copy fixes @0xSage (#1032) -- Separate posthog project for jan app and docs @hiento09 (#1029) -- Update posthog capture url list @hiento09 (#1022) -- docs: second half of "import model docs" PR @0xSage (#1021) -- docs: how to import models @0xSage (#1020) -- fix bug #1013, enable posthog for release app version only @hiento09 (#1019) - -## Contributor - -@0xSage, @hahuyhoang411, @hiento09, @jan-service-account, @louis-jan and @urmauur - diff --git a/docs/docs/releases/changelog/changelog-v0.4.3.mdx b/docs/docs/releases/changelog/changelog-v0.4.3.mdx deleted file mode 100644 index 5703dbb6e0..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.3.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -sidebar_position: 6 -slug: /changelog/changelog-v0.4.3 ---- -# v0.4.3 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.3) - -Highlighted Issue: [Issue #1159: Hotfix Prompt template for models on the Hub](https://github.com/janhq/jan/pull/1159) - -## Changes - -- Hotfix Prompt template for models on the Hub @hahuyhoang411 (#1159) -- Update model list for new release @hahuyhoang411 (#1143) -- fix(Thread): #1119 focus on the first thread to prevent blank chat screen @namchuai (#1127) -- fix(Thread): #1064 message being added to wrong thread if switching thread @namchuai (#1108) -- fix(Thread): #1042 allow create new thread by clicking Use in Jan Hub @namchuai (#1103) -- feat(ModelSetting): #1065 update state of model setting between threads @namchuai (#1090) -- Update model version @hahuyhoang411 (#1086) -- fix: cache hallucinations and failed to load model due to race condition @louis-jan (#1071) -- fix(thread): #1043 default model to prefer active model @namchuai (#1070) -- Update issue templates @0xSage (#1058) -- Update ctx\_len and max\_tokens @hahuyhoang411 (#1035) - -## 🚀 Features - -- feat: Add codeQL analysis for push main and pr main @hiro-v (#1128) -- Feature autoupdater for nightly build @hiento09 (#1068) -- feat: copy button for code block @urmauur (#1062) -- Enhancements to Dependency Installation and App Testing @hiento09 (#965) - -## 🐛 Fixes - -- fix: error road map url @hieu-jan (#1153) -- Fix token speed slow in machine has multi gpus @hiento09 (#1157) -- fix: added dialog confirmation clean thread @urmauur (#1142) -- fix: remove remote model from shortcut models dialog @urmauur (#1124) -- fix: ui issue - all models are activated @louis-jan (#1120) -- fix: should not hide empty message away @louis-jan (#1116) -- fix: added tooltip for user cannot change model after starting thread @urmauur (#1115) -- fix: remote model always active badges @urmauur (#1113) -- fix: handle chat completion state with enter button @louis-jan (#1114) -- fix: model active indicator only show when model activated @urmauur (#1110) -- fix: #1096 yield error message upon thread switching @louis-jan (#1109) -- fix: toaster success deleted thread showing id instead of active model @urmauur (#1111) -- fix: update copy setting page @urmauur (#1105) -- fix: search recommended model @urmauur (#1106) -- fix: #1097 streaming response is replaced by error message @louis-jan (#1099) -- Fix auto update windows Bug @hiento09 (#1102) -- fix: added dialog confirmation when delete thread @urmauur (#1093) -- fix: system monitor broken layout when responsive @urmauur (#1085) -- bug: chatbox doesn't resize back down @urmauur (#1084) -- fix: thread is broken after deleted first generated message @louis-jan (#1061) - -## 🧰 Maintenance - -- feat: Add codeQL analysis for push main and pr main @hiro-v (#1128) -- docs: refactor dev docs, guides and specs @0xSage (#1092) -- Correct jq command cause ci nightly build run failed @hiento09 (#1104) -- Fix nightly build autoupdater @hiento09 (#1073) -- Feature autoupdater for nightly build @hiento09 (#1068) -- docs: Update product.md @0xSage (#1066) -- Posthog disable click event and increase timeout for nitro load modelâ€Ļ @hiento09 (#1060) -- docs: improve quickstart docs @0xSage (#1047) - -## Contributor - -@0xSage, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @namchuai and @urmauur - diff --git a/docs/docs/releases/changelog/changelog-v0.4.4.mdx b/docs/docs/releases/changelog/changelog-v0.4.4.mdx deleted file mode 100644 index e21359e676..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.4.mdx +++ /dev/null @@ -1,198 +0,0 @@ ---- -sidebar_position: 5 -slug: /changelog/changelog-v0.4.4 ---- -# v0.4.4 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.4) - -Highlighted Issue: [Issue #1587: Update 2023-11-05-hello-world.md](https://github.com/janhq/jan/pull/1587) - -## Changes - -- Update 2023-11-05-hello-world.md @Ssstars (#1587) -- fix(API): #1511 update swagger page @namchuai (#1572) -- fix(Thread): #1212 thread.json not created when user change thread settings @namchuai (#1570) -- fix(Thread): #1336 not allow creating too many unfinished thread @namchuai (#1538) -- Update 01-how-to-get-involved-and-FAQ.mdx @Ssstars (#1555) -- Update 01-how-to-get-involved-and-FAQ.mdx @Ssstars (#1553) -- Update 02-embracing-pod-structure.mdx @Ssstars (#1550) -- Update 01-how-we-hire.mdx @Ssstars (#1551) -- Update 01-how-we-hire.mdx @Ssstars (#1524) -- fix(InferenceExtension): #1067 sync the nitro process state @namchuai (#1493) -- fix(Messages): #1434 create message via api does not display on app correctly @namchuai (#1479) -- Docs for the Integration of Continue and Jan in VSCode @0xgokuz (#1467) -- Chore: Update model.json for UI @hahuyhoang411 (#1448) -- Docs for Installing Models from Hub @0xgokuz (#1450) -- Update about.md @Ssstars (#1436) -- feat(UI): #1404 make left side bar collapsible by hot key @namchuai (#1420) -- docs: Typo in 06-hardware.md @akaMrNagar (#1408) -- fix(API): #1409 fix wrong prefix for threads api @namchuai (#1410) -- Update model hub @hahuyhoang411 (#1383) -- fix(Model): remove unsupported default model setting params @namchuai (#1382) -- fix(trinity): update cover path for trinity v1.2 @hahuyhoang411 (#1380) -- Chore/update model hub @hahuyhoang411 (#1342) -- Update about.md @Ssstars (#1359) -- fix(JanHub): #1158 sort model list @namchuai (#1257) -- fix(Message): open link with external browser @namchuai (#1339) -- feat(Model): #1028 made model.json optional @namchuai (#1314) -- docs: Update onboarding.md @Diane0111 (#1293) -- fix: clean resource on exit @louis-jan (#1290) -- fix: posthog configuration @hieu-jan (#1283) -- docs: update README.md @eltociear (#1277) -- Enable scrolling in the message chat box @Gri-ffin (#1280) -- chore: Update README.md @sr-albert (#1263) -- Adding new model to the Hub @hahuyhoang411 (#1213) -- Feature GPU detection for Jan on Windows and Linux @hiento09 (#1242) -- fix(Thread): #1168 fix newly created thread cannot select model after restart @namchuai (#1176) - -## 🚀 Features - -- feat: add compatibility tag to model selection in right panel @urmauur (#1552) -- Feature integrate antivirus scanner to ci @hiento09 (#1529) -- feat: [hub] update compatibility tags colors @urmauur (#1516) -- feat: hub recommendation labels @urmauur (#1440) -- Feature linux support app image format @hiento09 (#1442) -- fix: render external links @urmauur (#1441) -- fix: add icon collapsible left panel and update keyboard shortcut page @urmauur (#1439) -- feat(UI): update UI footer @urmauur (#1424) -- Fix Bug for Chat Reply Goes off Screen @mishrababhishek (#1393) -- feat: move social media from left panel into footer @urmauur (#1325) -- feat: implementation new UI thread settings @urmauur (#1301) -- Bring social media links @Gri-ffin (#1295) -- feat: added keyboard shortcut list in setting page @urmauur (#1275) -- feat: add swagger /docs to localhost:1337 @louis-jan (#1268) -- feat: update posthog configuration @hieu-jan (#1258) -- feat: Deprecate model.json ready state in favor of .download ext @louis-jan (#1238) -- feat: add engine settings @namchuai (#1199) -- feat: users should be able to switch models mid-thread @louis-jan (#1226) -- feat: temporary link how to import model @urmauur (#1209) - -## 🐛 Fixes - -- fix: #1594 - Model settings - change thread model - go back does not see according settings @louis-jan (#1595) -- fix: #1548 - duplicate command shortcut instruction @louis-jan (#1600) -- fix: switch model caused app crash @louis-jan (#1597) -- fix: #1559 Inference Parameters displayed on new thread with Openai GPT Model @louis-jan (#1588) -- fix: enable user set value manually model setting from input @urmauur (#1585) -- fix: #1569 - Does not apply thread settings when loading model @louis-jan (#1576) -- fix: could not change model params settings @louis-jan (#1547) -- fix: gpu check module export does not work in extension @louis-jan (#1536) -- fix: adjust calculation hub labels using total RAM instead remaining RAM @urmauur (#1522) -- Feature integrate antivirus scanner to ci @hiento09 (#1529) -- fix: allow users to set max tokens variably @urmauur (#1513) -- fix: stop word update @louis-jan (#1457) -- Revert nitro to 0.2.6 @hiento09 (#1491) -- fix: enable text selection codeblock @urmauur (#1466) -- fix: suppress all main node JS error message dialog @louis-jan (#1460) -- Correct AppImage path @hiento09 (#1446) -- fix: render external links @urmauur (#1441) -- fix: add icon collapsible left panel and update keyboard shortcut page @urmauur (#1439) -- fix: GET /models does not work due to new default model dir @louis-jan (#1392) -- fix: model migration stopped working @louis-jan (#1378) -- fix: wrong condition for displaying error message @louis-jan (#1376) -- fix: show hide section engine params @urmauur (#1374) -- fix: copy stream tooltip and hide section when no params setting @urmauur (#1373) -- bugs: fix stop streaming when user delete or clean thread @urmauur (#1347) -- fix: show a proper error message on download failure @louis-jan (#1345) -- Add detect cuda version jan app @hiento09 (#1351) -- fix: Error occurred: Unexpected token "d", "data: ..." is not a valid JSON @louis-jan (#1332) -- fix: app getting stuck at downloading 99% while downloading model @louis-jan (#1320) -- correct type utf-8 @hiento09 (#1311) -- Fix memory on mac included cached and swap @hiento09 (#1298) -- fix: should check app dir before spawning log @louis-jan (#1297) -- fix: disable process logging from server @louis-jan (#1296) -- fix: user should be able to access Swagger docs from localhost:1337 @louis-jan (#1292) -- Switch from Gigabyte to Gibibyte - System monitor @hiento09 (#1286) -- Switch from systeminformation to os-utils to resolve Bitdefender false positive and memory leak issue @hiento09 (#1282) -- fix: swagger CSP issue @louis-jan (#1284) -- fix: support markdown break line @urmauur (#1274) -- fix ci test run failed @hiento09 (#1267) -- Fix wrong linux nitro path @hiento09 (#1266) -- fix: enable command enter on dialog confirmation clean thread @urmauur (#1261) -- fix: input message duplicated due with some input sources @louis-jan (#1259) -- fix: mac users should not see GPU settings @louis-jan (#1255) -- fix: remove redundant gpu detection prompt event @louis-jan (#1254) -- fix: engine settings GUI - feature toggle @louis-jan (#1252) -- Fix bug #1178 high ram on windows @hiento09 (#1241) -- fix: #1183 Reveal in finder does not work on windows @namchuai (#1239) -- fix: remove delay tooltip and click event @urmauur (#1217) -- fix: enable enter command on dialog confirmation delete thread @urmauur (#1218) -- fix: Cleared thread last message is not updated @louis-jan (#1225) -- Fix switch thread crash nitro windows linux @hiento09 (#1214) -- fix: darkmode broken color @urmauur (#1186) - -## 🧰 Maintenance - -- chore: typo model.json @louis-jan (#1599) -- docs: add 04-how-to-get-error-logs.mdx @hieu-jan (#1580) -- chore: teach how to attach logs @0xSage (#1578) -- chore: issues should auto close with PRs through template @0xSage (#1577) -- chore: Update issue templates @0xSage (#1568) -- docs: fix x handles @0xSage (#1532) -- Docs to integrate OpenRouter with Jan without UI/UX @0xgokuz (#1495) -- chore: fix darkmode docs @hieu-jan (#1520) -- docs: fix algolia configuration @hieu-jan (#1518) -- docs: fix algolia configuration @hieu-jan (#1517) -- Revert URL release in readme to version 0.4.3 @hiento09 (#1502) -- refactor: add app and nitro log - resolve dependencies issue @louis-jan (#1447) -- chore: enable agolia @hieu-jan (#1497) -- docs: update troubleshooting and redirects old pages @hieu-jan (#1492) -- docs: minor fix @hieu-jan (#1478) -- docs: initial handbook structure @hieu-jan (#1477) -- Bump nitro to 0.2.8 and change Jan App to support cuda >= 11.7 @hiento09 (#1476) -- Chore update docs jan - add AppImage instruction to docusaurus @hiento09 (#1480) -- Bump nitro to 0.2.7 @hiento09 (#1474) -- chore: error message update @louis-jan (#1473) -- docs: Update 02-import-manually.mdx @0xSage (#1469) -- docs: Update about.md @0xSage (#1465) -- Bump nitro version to 0.2.6 @hiento09 (#1458) -- docs: adding customize engine settings @hieu-jan (#1455) -- docs: add-missing-path @hieu-jan (#1454) -- docs: resize gif @hieu-jan (#1453) -- docs: revenue philosophy @0xSage (#1443) -- docs: jan framework principles @0xSage (#1438) -- docs: fix typo in docs @hieu-jan (#1419) -- chore: clean up use os hook @namchuai (#1418) -- docs: explain each docs page intent @0xSage (#1417) -- docs: Update 01-server.md @0xSage (#1416) -- Update warning url from github md file to jan.ai docs site @hiento09 (#1414) -- docs: improve gpu not used guide @hieu-jan (#1405) -- chore: update README.md @eltociear (#1406) -- Update USAGE docs for linux @hiento09 (#1401) -- docs: gpu not detected @0xSage (#1399) -- docs: Troubleshoot Failed To Fetch @gabrielle-ong (#1398) -- docs: improve docs syntax @hieu-jan (#1394) -- docs: add-install-nightly-guide @hieu-jan (#1390) -- docs: correct href link @hieu-jan (#1338) -- docs: fix chat payload and cURL @hieu-jan (#1360) -- docs: add Chatting Guide @hieu-jan (#1184) -- Chore add docs usage how to switch run mode jan app @hiento09 (#1353) -- docs: configure index page @hieu-jan (#1330) -- docs: Update product.md @0xSage (#1326) -- docs: Update 01-server.md @0xSage (#1327) -- refactor: deprecate the appVersion IPC and use the predefined VERSION @louis-jan (#1309) -- docs: update using models documentation @hieu-jan (#1288) -- docs: update pm handbook @0xSage (#1307) -- docs: contributor docs overview @0xSage (#1305) -- chore: github PR template @0xSage (#1304) -- Fix memory on mac included cached and swap @hiento09 (#1298) -- Enrich discord message for nightly build url @hiento09 (#1294) -- Refactor CI by create shared jobs output @hiento09 (#1287) -- docs: update README.md @hieu-jan (#1281) -- docs: Update README.md @0xSage (#1248) -- feat: Jan Server, API and decoupled clients @louis-jan (#948) -- docs: improve 02-import-manually @hieu-jan (#1222) -- chore: Update issue templates @0xSage (#1229) -- docs: Update 02-import-manually.mdx @0xSage (#1197) -- add sleep 500ms if platform is windows before starting nitro process @hiento09 (#1215) -- docs: improve troubleshoot documentation @hieu-jan (#1173) -- docs: update bug report template @hieu-jan (#1180) -- docs: add troubleshooting @hieu-jan (#1169) -- chore: copy fixes @0xSage (#1167) -- docs: Update 01-start-thread.md @0xSage (#1122) - -## Contributor - -@0xSage, @0xgokuz, @Diane0111, @Gri-ffin, @Ssstars, @akaMrNagar, @eltociear, @gabrielle-ong, @hahuyhoang411, @hiento09, @hieu-jan, @jan-service-account, @louis-jan, @mishrababhishek, @namchuai, @sr-albert, @urmauur and Abhishek Mishra - diff --git a/docs/docs/releases/changelog/changelog-v0.4.5.mdx b/docs/docs/releases/changelog/changelog-v0.4.5.mdx deleted file mode 100644 index 370d37cc73..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.5.mdx +++ /dev/null @@ -1,103 +0,0 @@ ---- -sidebar_position: 4 -slug: /changelog/changelog-v0.4.5 ---- -# v0.4.5 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.5) - -Highlighted Issue: [Issue #1758: bug: Correct text for Windows](https://github.com/janhq/jan/issues/1758) - -## Changes - -- fix(Wording): #1758 correct text for windows @namchuai (#1768) -- fix(Log): server log is not display in windows @namchuai (#1764) -- Release Cut v0.4.5 @louis-jan (#1752) -- chore(nitro): 0.2.11 -> 0.2.12 @hiro-v (#1754) -- fix: Nitro CPU threads with correct physical/ performance CPU count @hiro-v (#1726) -- fix(Model): #1662 imported model does not use gpu @namchuai (#1723) -- fix(API): #1720 host/port provided in the local API server does not fully applied @namchuai (#1721) -- fix: server API reference @hiro-v (#1670) -- fix(Model): refactor model label @namchuai (#1596) -- docs/postmortem v 0.4.4 @hieu-jan (#1617) -- chore(ShortcutModal): clean up shortcut modal @namchuai (#1614) -- chore(Dependencies): upgrade node-fetch to fix vulnerable issue @namchuai (#1598) - -## 🚀 Features - -- feat: update UI allow user change folder @urmauur (#1738) -- feat: error message when not enough RAM @urmauur (#1706) -- feat: improvement ux for local api server @urmauur (#1704) -- feat: allow user to move jan folder @namchuai (#1649) -- feat: HTTP proxy support @markmehere (#1562) -- Feature add schedule clean cloudflare page and r2 @hiento09 (#1653) -- feat: relayout left panel setting page @urmauur (#1648) -- Update CI follow git flow @hiento09 (#1625) -- feat: Implement UI page API server dashboard @urmauur (#1636) -- fix: #1545 long thread title @lucido-simon (#1605) - -## 🐛 Fixes - -- fix: model selection does not show in API settings page @louis-jan (#1828) -- fix: user can't view model setting in local api server @namchuai (#1807) -- fix: cannot change jan data folder @namchuai (#1805) -- fix: model selection does not show in API settings page @louis-jan (#1802) -- fix: user can't use a model in model hub @namchuai (#1801) -- fix: stop openai inference raises something amiss @louis-jan (#1799) -- regression fix: input disabled darkmode @urmauur (#1800) -- fix: clean last message when user clean thread message @namchuai (#1793) -- fix: app log not being printed @namchuai (#1790) -- fix: api settings are not applied on changes @louis-jan (#1789) -- fix: could not delete model @louis-jan (#1779) -- fix: can not start model when server is not enabled from model settings page @louis-jan (#1774) -- regression fix: input port not accept alphabets @urmauur (#1772) -- Correct bash script syntax in ci @hiento09 (#1769) -- Hotfix CI pre-release not trigger @hiento09 (#1757) -- fix: bring back open app directory @louis-jan (#1756) -- fix: input port have range validation @urmauur (#1741) -- Fix error nightly build schedule run failed @hiento09 (#1736) -- fix: active model when start server @urmauur (#1719) -- fix: Change to fixed `localhost` instead of using host variable @hiro-v (#1729) -- Fix autoupdater nightly build error @hiento09 (#1727) -- Correct download url readme @hiento09 (#1724) -- fix: API chat/completion is blocked by CORS @louis-jan (#1705) -- fix: Jan server - v1/chat/completions is throwing ERR\_REQUIRE\_ESM @louis-jan (#1703) -- fix: Jan server is showing blank page @louis-jan (#1702) -- fix: switching loader from remote to local model from thread right panel @urmauur (#1692) -- fix: hot-fix algolia search @hieu-jan (#1700) -- fix: disable api key field while server is running @urmauur (#1694) -- fix: stoping model show starting model @urmauur (#1693) -- fix bug #1650 hogging resources @hiento09 (#1663) -- fix: auto select text when collapse panel @urmauur (#1645) -- fix: wrong selected model ref @louis-jan (#1638) -- fix: enable check for update on all supported platforms @louis-jan (#1626) -- fix: correct footer @hieu-jan (#1628) - -## 🧰 Maintenance - -- Docs publish to github page trigger on push to docs branch @hiento09 (#1783) -- Correct bash script syntax in ci @hiento09 (#1769) -- Combine 2 ci pipeline pre-release and nightly into one @hiento09 (#1767) -- Hotfix CI pre-release not trigger @hiento09 (#1757) -- Fix error nightly build schedule run failed @hiento09 (#1736) -- docs: add troubleshoot unexpected token @hieu-jan (#1711) -- docs: fix about pages @0xSage (#1699) -- refactor: deprecate extension type implementation @louis-jan (#1677) -- refactor: file prefix replace utils \& add unit test @louis-jan (#1676) -- Correct ref branch for update url on README.md file @hiento09 (#1672) -- docs: update 02-somethings-amiss @hieu-jan (#1668) -- Cherrypick cicd to main branch to apply new gitflow @hiento09 (#1665) -- docs: add user and developer guides for extensions @hieu-jan (#1657) -- docs: add QA Script @hieu-jan (#1660) -- chore: Bump nitro to 0.2.11 @hiro-v (#1655) -- chore: Bump version nitro to 0.2.10 @hiro-v (#1644) -- docs: add antivirus compatibility testing @hieu-jan (#1641) -- refactor: introduce node module in nitro extension @louis-jan (#1630) -- Update 02-somethings-amiss.mdx @Ssstars (#1634) -- docs: add integration AzureOpenAI @hieu-jan (#1632) -- docs: add troubleshooting permission denied @hieu-jan (#1631) - -## Contributor - -@0xSage, @Ssstars, @hiento09, @hientominh, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @lucido-simon, @markmehere, @namchuai and @urmauur - diff --git a/docs/docs/releases/changelog/changelog-v0.4.6.mdx b/docs/docs/releases/changelog/changelog-v0.4.6.mdx deleted file mode 100644 index d836551e76..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.6.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -sidebar_position: 3 -slug: /changelog/changelog-v0.4.6 ---- -# v0.4.6 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.6) - -Highlighted Issue: [Issue #1918: Regression fix assistant extension codesign](https://github.com/janhq/jan/pull/1918) - -## Changes - -- Regression fix assitant extension codesign @hiento09 (#1918) -- Release cut 0.4.6 @louis-jan (#1888) -- feat: add factory reset feature @namchuai (#1750) -- chore: add react developer tools to electron @Helloyunho (#1858) -- Sync Release 0.4.5 to dev @louis-jan (#1830) - -## 🚀 Features - -- feat: integrate umami @hieu-jan (#1809) -- feat: Add default value for ngl @hiro-v (#1886) -- feat: add start/stop model via http api @namchuai (#1862) -- feat: add snackbar component and update style side banner @urmauur (#1874) -- feat: move open app directory into icon folder @urmauur (#1879) -- chore: Bump nitro to 0.3.3 @hiro-v (#1877) -- feat: put timestamp under thread name in left panel @urmauur (#1820) -- perf: remove unnecessary rerender when user typing input @namchuai (#1818) - -## 🐛 Fixes - -- fix: umami analytics send app loaded event @louis-jan (#1928) -- fix: migration loading indicator @louis-jan (#1913) -- fix: broken manual import model with NA fields @louis-jan (#1912) -- fix: openAIEmbedding now requires top level API Key configuration @louis-jan (#1902) -- fix: load model fail overlays thread message error @louis-jan (#1901) -- fix: show generate response on message send @louis-jan (#1895) -- fix: display error message on model load fail @louis-jan (#1894) -- fix: the selected model auto revert back to previous used model with setting mismatch @louis-jan (#1883) -- fix: add dialog confirm when move folder and next dest isn't empty @urmauur (#1880) -- Increase timeout for explore.e2e.spec test @hiento09 (#1844) -- chore: Bump nitro to 0.3.3 @hiro-v (#1877) -- fix: auto collapse retrieval setting while update config @urmauur (#1866) -- fix: loader show while error global when change folder @urmauur (#1870) -- fix: retrieval always ask for api key @louis-jan (#1856) -- fix: all input text box are disabled @namchuai (#1855) -- fix: add loader when user change folder @urmauur (#1850) -- Add code sign step for darwin assistant extension @hiento09 (#1841) -- fix: preserve focused thread when navigating in jan app @namchuai (#1814) -- fix: highlight menu dropdown server options @urmauur (#1831) - -## 🧰 Maintenance - -- chore: mark RAG as experimental feature @louis-jan (#1882) -- Increase timeout for explore.e2e.spec test @hiento09 (#1844) -- chore: Bump nitro to 0.3.3 @hiro-v (#1877) -- chore: Jan Data Folder setting is no longer an experimental feature @louis-jan (#1847) -- chore: resolve main conflict @louis-jan (#1833) -- Update release url on README to default branch instead of main branch @hiento09 (#1832) - -## Contributor - -@Helloyunho, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @namchuai, @urmauur and James - diff --git a/docs/docs/releases/changelog/changelog-v0.4.7.mdx b/docs/docs/releases/changelog/changelog-v0.4.7.mdx deleted file mode 100644 index b73ea828c5..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.7.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -sidebar_position: 2 -slug: /changelog/changelog-v0.4.7 ---- -# v0.4.7 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.7) - -Highlighted Issue: [Issue #2121: Release cut v0.4.7](https://github.com/janhq/jan/pull/2121) - -## Changes - -- Release cut v0.4.7 @louis-jan (#2121) -- chore: update models @hahuyhoang411 (#1829) -- add docs for entire advanced settings @hieu-jan (#2063) -- docs: Fix #2040 : added /v1 path to apiBase @ldebs (#2041) -- fix: ui for disabled state of gpu acceleration @namchuai (#2034) -- feat: Initialize POM structure with fixtures on Playwright @Van-QA (#2015) -- Alternative solution for `Thread titles should auto-summarize Topic` @0xgokuz (#1976) -- Update authors.yml Rex @hahuyhoang411 (#1956) -- Update authors.yml Louis @louis-jan (#1955) -- Change env Dockerfile.gpu and update README @hiento09 (#1963) -- chore: Update authors.yml for Van Pham @Van-QA (#1954) -- Sync dev branch to docs branch @hieu-jan (#1948) -- sync current docs branch to dev branch @hieu-jan (#1947) -- feat: Playwright capture screenshot of Electron desktop app (Jan) on failures @Van-QA (#1934) -- Sync main to dev after release 0.4.6 @hiento09 (#1929) - -## 🚀 Features - -- feat: Add nitro vulkan to support AMD GPU/ APU and Intel Arc GPU @hiro-v (#2056) -- fix: flow edit message @urmauur (#2113) -- Feature helmchart and ci jan server @hiento09 (#2106) -- feat: improvementUI GPU acceleration @urmauur (#1990) -- feat: add edit messages users @urmauur (#1974) -- feat: revamp ui dropdown list model option @urmauur (#1977) -- feat: add modal troubleshooting guideline @urmauur (#1968) -- feat: integrate umami script locally @hieu-jan (#1958) -- feat: User Selectable GPUs and GPU-based Model Recommendations @hiento09 (#1730) - -## 🐛 Fixes - -- fix: correct vulkan settings @louis-jan (#2128) -- fix: chore UI @louis-jan (#2125) -- Regression: bump nitro to 0.3.13 @hiento09 (#2124) -- Regression: Linux vulkan binary path @hiento09 (#2123) -- fix: revert back menu actions @louis-jan (#2120) -- fix: mismatching between nightly build and version - jan about @louis-jan (#2114) -- fix: flow edit message @urmauur (#2113) -- fix: tools section should be expanded by default @louis-jan (#2110) -- fix: failed to bind port - nitro error message copy @louis-jan (#2101) -- fix: remove caret down icon when tab selected into remote model @urmauur (#2102) -- fix: openai client sdk compatible @louis-jan (#2096) -- Fix bug #2005 docker blank website @hiento09 (#2093) -- fix: check if port is occupied before start local server @namchuai (#2098) -- fix: broken model.json update @louis-jan (#2099) -- fix: make text input scrollable @urmauur (#2083) -- fix: failed to send message blocks thread creation @louis-jan (#2091) -- fix: server crashes on missing module @louis-jan (#2089) -- fix: expand assistant and model settings by default @louis-jan (#2081) -- fix: move jan data folder - error handling for no write permission granted @louis-jan (#2077) -- fix: check for updates should show no update are available on the latest build @louis-jan (#2075) -- fix: infinity showed when haven't get total size @namchuai (#2066) -- fix: should stop running the model when GPU settings are changed @louis-jan (#2067) -- fix: settings page state loop and dark theme @louis-jan (#2065) -- fix: Fix Nitro windows with error 3221225781 @hiro-v (#2057) -- fix: message should only be interrupted when i start another thread @louis-jan (#2053) -- fix: local server start error should not change to started state @louis-jan (#2052) -- fix: update copy of message queue @louis-jan (#2051) -- fix: download mutilple binaries @namchuai (#2043) -- fix: disable gpu drop down box if there's no GPU ready @namchuai (#2046) -- fix: app should generate thread title with length restriction @louis-jan (#2037) -- fix: factory reset not remove jan data folder @namchuai (#2027) -- fix: content setting right panel default to collapse @urmauur (#2026) -- fix: local server blank parameters if there is no thread selected @louis-jan (#2028) -- fix: model path backward compatible @louis-jan (#2018) -- fix: resolve state update loop infinitive rerendering @louis-jan (#2017) -- fix: lack of auto-cleaning mechanism for logs @louis-jan (#2003) -- fix: app stuck regenerating assistant response @louis-jan (#2001) -- fix: decouple thread summary update @louis-jan (#1994) -- fix: app fails gracefully with clear error messages @louis-jan (#1993) -- fix: retrieval stuck at generating response @louis-jan (#1988) -- Fix macos auto update failed on nightly build @hiento09 (#1991) -- fix: model downloads broken on nightly @louis-jan (#1984) -- fix: RAG enhancements @urmauur (#1965) -- Update docs run Jan Server in Docker mode @hiento09 (#1960) -- fix: update conditional check last status message @urmauur (#1951) -- fix: markdown render for chat completion role user @urmauur (#1944) -- fix: avoid users to create so many threads at the same time @urmauur (#1930) -- fix: download model will close panel item hub @urmauur (#1923) - -## 🧰 Maintenance - -- docs: improve integrations guide \& import model using absolute path @hieu-jan (#2076) -- chore: add app version into log @namchuai (#2116) -- docs: add integration docs Mistral AI API @hieu-jan (#2070) -- docs:add-advanced-settings-https-proxy @hieu-jan (#2054) -- chore: refactor watch system resource hook @louis-jan (#2048) -- docs: Updates Guide Using the Local Server @SamPatt (#1924) -- server install core using link instead of file @hiento09 (#2025) -- chore: prettier fix @louis-jan (#2019) -- chore: bump nitro 0.3.9 @louis-jan (#2016) -- refactor: reduce IPC \& API handlers - shared node logics @louis-jan (#2011) -- docs: update 03-gpu-not-used with RTX issues @hieu-jan (#1992) -- docs: add Jan installation using Docker @hieu-jan (#1981) -- chore: reduce bundle size @louis-jan (#1970) -- docs: add author.yml @hieu-jan (#1973) -- Update authors.yml hien @hiento09 (#1953) -- chore: server download progress + S3 @louis-jan (#1925) -- chore: add author james @namchuai (#1952) -- chore: Add author - Ashley @imtuyethan (#1950) -- chore: Add Author - Hiro @hiro-v (#1949) -- docs: adding new feature for v0.4.6 to release checklist @Van-QA (#1927) - -## Contributor - -@0xSage, @0xgokuz, @SamPatt, @Van-QA, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @imtuyethan, @jan-service-account, @ldebs, @louis-jan, @namchuai, @urmauur and James - diff --git a/docs/docs/releases/changelog/changelog-v0.4.8.mdx b/docs/docs/releases/changelog/changelog-v0.4.8.mdx deleted file mode 100644 index d5bb266fb5..0000000000 --- a/docs/docs/releases/changelog/changelog-v0.4.8.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -sidebar_position: 1 -slug: /changelog/changelog-v0.4.8 ---- -# v0.4.8 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.8) - -Highlighted Issue: [Issue #2267: Release cut v0.4.8](https://github.com/janhq/jan/pull/2267) - -## Changes - -- Release cut v0.4.8 @louis-jan (#2267) -- Add modify notary team in CI @hiento09 (#2265) -- Chore: Update new models to model hub @hahuyhoang411 (#2192) -- Macos Notarize migrage to new Team ID @hiento09 (#2228) -- docs: update API Reference assistants\_id endpoint from DevDocs @avb-is-me (#2195) -- docs: update API Reference assistants endpoint from DevDocs @avb-is-me (#2194) -- docs: update API Reference threads endpoint from DevDocs @avb-is-me (#2182) -- fix: wrong profile parameter in docker command @mooncool (#2159) -- Sync release 0.4.7 to dev @louis-jan (#2151) -- docs: add upstream acknowledgements @hieu-jan (#2136) -- Sync dev branch to docs branch @hieu-jan (#2131) - -## 🚀 Features - -- feat: prompt user to download an update manually @louis-jan (#2261) -- feat: Jan can see @hiro-v (#2069) -- Revert feat: temporary remove dark mode @urmauur (#2221) -- feat: add turborepo @louis-jan (#2220) -- fix: change button import model on hub page @urmauur (#2178) -- feat: temporary remove dark mode :( @urmauur (#2168) -- feat: add import model feature @namchuai (#2104) -- feat: restore docusaurus style @urmauur (#2152) -- feat: add a simple way to convert Hugging Face model to GGUF @Helloyunho (#1972) - -## 🐛 Fixes - -- codesign script force sign @hiento09 (#2291) -- fix: should not attach error messages to the completion request @louis-jan (#2258) -- fix: image upload button and drag event are not enabled @louis-jan (#2248) -- fix: error message being sent along with conversation when inference @namchuai (#2242) -- fix: replaced user path from app log @namchuai (#2238) -- fix: drag and drop support image format to support vision model @urmauur (#2237) -- fix: re-configure changelog sections @hieu-jan (#2230) -- fix: import from HuggingFace with random string is causing app crash @louis-jan (#2214) -- fix: comment from QA regarding import model @namchuai (#2213) -- fix: download model error does not reset state in model hub @namchuai (#2199) -- fix: minor ui missing secondary background @urmauur (#2198) -- docs: update docker command @hieu-jan (#2180) -- fix: some bugs for import model @namchuai (#2181) -- fix: change button import model on hub page @urmauur (#2178) -- fix space between progress bar and title list of gpu @urmauur (#2177) -- fix: disabled prompt user using dangerouslySetInnerHTML @urmauur (#2176) -- fix: style list of gpus on system monitor @urmauur (#2172) -- fix: system monitor expand overlap tooltip ribbon @urmauur (#2158) -- Huggingface extension add codesign step for building on darwin @hiento09 (#2166) -- Add run codesign for huggingface extension @hiento09 (#2163) -- fix: system monitor ui @urmauur (#2135) - -## 🧰 Maintenance - -- chore: temporary remove convert model @namchuai (#2266) -- docs: sync slug fix from dev branch to docs branch @hieu-jan (#2264) -- docs: Update broken link and fix the slug @aindrajaya (#2260) -- docs: Fix navbar issues. Keep stay when clicked other menu items from the sidebar @aindrajaya (#2253) -- docs: sync docs hub fixes from dev to docs branch @hieu-jan (#2247) -- docs: Update content for Hub page and Guides section @aindrajaya (#2245) -- docs: Fix Dark Mode on the Hub page and Update the Navbar functionality @aindrajaya (#2243) -- chore: sync dev branch to docs branch @hieu-jan (#2239) -- Chore: add prefix latest for task clean r2 bucket @hiento09 (#2233) -- fix: re-configure changelog sections @hieu-jan (#2230) -- docs: add command run API server without frontend @hieu-jan (#2231) -- docs: revamp entire Jan guides @hieu-jan (#2139) -- chore: clean up some redundant code @namchuai (#2215) -- docs: update API Reference chatCompletions from DevDocs @avb-is-me (#2171) -- docs: update API Reference download model from DevDocs @avb-is-me (#2170) -- docs: update API Reference model\_id from DevDocs @avb-is-me (#2169) -- docs: update API Reference listModel from DevDocs @avb-is-me (#2161) -- docs: Update 08-antivirus-compatibility-testing.md @0xSage (#2186) -- docs: adding new feature for v0.4.7 to release checklist @Van-QA (#2189) -- docs: Update 01-integrate-continue.mdx @0xSage (#2187) -- chore: bump nitro 0.3.14 @louis-jan (#2183) -- docs: Sync dev branch to docs branch @hieu-jan (#2185) -- docs: update docker command @hieu-jan (#2180) -- docs: update wall of love @hieu-jan (#2179) -- docs: add Jan newsletter @hieu-jan (#2174) -- chore: make convert gguf as experimental feature @namchuai (#2156) -- docs: update acknowledgements @hieu-jan (#2147) -- feat: restore docusaurus style @urmauur (#2152) -- docs: update run Jan in Docker mode @hieu-jan (#2150) -- Docs pena team - Add Quickstart Docs @aindrajaya (#2138) -- docs: hide incomplete pages @hieu-jan (#2127) - -## Contributor - -@0xSage, @Helloyunho, @Van-QA, @aindrajaya, @avb-is-me, @hahuyhoang411, @hiento09, @hieu-jan, @hiro-v, @jan-service-account, @louis-jan, @mooncool, @namchuai and @urmauur - diff --git a/docs/docs/server-suite/admin-console.md b/docs/docs/server-suite/admin-console.md deleted file mode 100644 index e2da5c0963..0000000000 --- a/docs/docs/server-suite/admin-console.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Admin Console ---- \ No newline at end of file diff --git a/docs/docs/server-suite/audit-compliance.md b/docs/docs/server-suite/audit-compliance.md deleted file mode 100644 index af46848995..0000000000 --- a/docs/docs/server-suite/audit-compliance.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Audit & Compliance ---- \ No newline at end of file diff --git a/docs/docs/server-suite/enterprise.md b/docs/docs/server-suite/enterprise.md deleted file mode 100644 index 565c14fdee..0000000000 --- a/docs/docs/server-suite/enterprise.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Jan Enterprise -slug: /enterprise -description: Built for Enterprise Deployments -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -# Customize and run AI across your organization - -Jan can professional backend to create, customize and run AIs at scale, for production-grade data centers. - -:::warning - -The server suite is actively under development and lacking documentation. -You can find the source code [here](https://github.com/janhq/jan/tree/dev/server) and [here](https://github.com/janhq/jan/blob/dev/docker-compose.yml). - -It is free to use. Your feedback is appreciated 🙏. - -::: - -## Own your AI. Own your data. Own your IP. - -Over time, we expect more teams and organizations to turn to running their own AIs on-prem. - -**Why?** - -- Prevent shadow data -- Avoid vendor lock-in -- Keep your IP in house -- Uptime and support predictability -- Eliminate monthly API bills - use your existing hardware -- Full control over your AI - you can open it up and see what's going on - -## Why Jan Enterprise - -### Fast deployment - -- **1 click deployment**. Immediately serve, customize, and scale models and assistants across your org. Scale your AI team so they can focus on the IP instead of fixing plumbing across every computer. -- **Scale across infrastructures**: on premise, with cloud providers, or as a hybrid deployment. Run Jan in completely air-gapped environments. -- **Optimized for datacenter-grade GPUs**: Can run on Nvidia, AMD Hardware, or even normal CPUs. Use TensorRT-LLM for more speedups on A6000s and above. - -### Full customization - -- Runs custom models or popular LLMs like Llama2, Mistral at production scale -- API that is fully OpenAI-compatible, i.e. can be a drop-in migration -- Powerful Agent framework to customize LLMs using RAG or Enterprise Data integrations. - -:::tip - -Not a Jan fan but convinced about local AI? No worries, here's a list of [awesome local ai](https://github.com/janhq/awesome-local-ai) alternatives that you can use in your team. - -::: - -## Supported Extensions - -The SDK and current implemention accomodate the following potential extensions. - -### Admin console - -Integrate SAML, OAUTH, OIDC - - - -### Identity access management - -Grant roles, groups and general ACL - - - -### Audit compliance - -Plug in Guardrails, LLMGuard, your custom rules engine and more - - - -### Observability - -Plug in Langfuse, Langsmith, Openllmetry and more - - - -## Enterprise support SLA - -Our core team and AI solutions partners are to help. - -Email us at: `inquiries@jan.ai` for: - -- Priority case routing -- Proactive case monitoring -- 24-hour support response diff --git a/docs/docs/server-suite/home-server.md b/docs/docs/server-suite/home-server.md deleted file mode 100644 index 97f3afbc78..0000000000 --- a/docs/docs/server-suite/home-server.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Jan Home Server -slug: /home-server -description: Built for Home Servers -keywords: - [ - Jan AI, - Jan, - ChatGPT alternative, - local AI, - private AI, - conversational AI, - no-subscription fee, - large language model, - ] ---- - -# Customize and run AI across all of your devices - -Self-host and access your AI from anywhere with Jan server suite. - -:::warning - -Jan's server suite is actively under development and lacking documentation. -You can find the source code [here](https://github.com/janhq/jan/tree/dev/server) and [here](https://github.com/janhq/jan/blob/dev/docker-compose.yml). - -It is free to use. Your feedback is appreciated 🙏. - -::: - -## Why Home Servers - -We built [Jan Desktop](/desktop) for our personal use. We're now building Server Suite, for our team & community use. - -Our goal is to help teams, like ours, move past cobbling together demo apps to use AI at work. We should be able to customize and collaborate with AIs that are usable on a daily basis. - -**Check out [Server Suite](https://github.com/janhq/jan/tree/dev/server) if you need to:** - -- Self-host Jan, with multi client sync -- Customize it with Personal Data Connectors -- Simple Authentication (username / pw) -- Scales across Consumer-grade Hardware, including GPUs -- Everyone has admin level visibility and can see all conversations -- Create assistants that has access to the same knowledge base - -:::tip - -Not a Jan fan but convinced about running AI locally? No worries, here's a list of [awesome local ai](https://github.com/janhq/awesome-local-ai) alternatives that you can use in your home server. - -::: diff --git a/docs/docs/server-suite/identity-access-management.md b/docs/docs/server-suite/identity-access-management.md deleted file mode 100644 index bdeafa9bdf..0000000000 --- a/docs/docs/server-suite/identity-access-management.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Identity & Access Control ---- \ No newline at end of file diff --git a/docs/docs/server-suite/observability.md b/docs/docs/server-suite/observability.md deleted file mode 100644 index 6371a62876..0000000000 --- a/docs/docs/server-suite/observability.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Observability ---- \ No newline at end of file diff --git a/docs/docs/solutions/ai-employees.md b/docs/docs/solutions/ai-employees.md deleted file mode 100644 index 53f425ab5d..0000000000 --- a/docs/docs/solutions/ai-employees.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: AI Employees -tags: [use-cases] ---- \ No newline at end of file diff --git a/docs/docs/solutions/ai-pc.md b/docs/docs/solutions/ai-pc.md deleted file mode 100644 index 415dadef91..0000000000 --- a/docs/docs/solutions/ai-pc.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: AI PC -tags: [use-cases] ---- \ No newline at end of file diff --git a/docs/docs/solutions/chatgpt-alternative.md b/docs/docs/solutions/chatgpt-alternative.md deleted file mode 100644 index 84ec2a59b9..0000000000 --- a/docs/docs/solutions/chatgpt-alternative.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Self-hosted alternative to OpenAI's Platform -tags: [use-cases] ---- \ No newline at end of file diff --git a/docs/docs/solutions/consultants.md b/docs/docs/solutions/consultants.md deleted file mode 100644 index 085a849540..0000000000 --- a/docs/docs/solutions/consultants.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Software Consultants -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/docs/solutions/developers.md b/docs/docs/solutions/developers.md deleted file mode 100644 index e912365bf6..0000000000 --- a/docs/docs/solutions/developers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Developers -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/docs/solutions/enterprises.md b/docs/docs/solutions/enterprises.md deleted file mode 100644 index 0a219ee740..0000000000 --- a/docs/docs/solutions/enterprises.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Enterprises -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/docs/solutions/finance.md b/docs/docs/solutions/finance.md deleted file mode 100644 index dde66d6185..0000000000 --- a/docs/docs/solutions/finance.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Finance -tags: [industries] ---- \ No newline at end of file diff --git a/docs/docs/solutions/government.md b/docs/docs/solutions/government.md deleted file mode 100644 index cb52f5d716..0000000000 --- a/docs/docs/solutions/government.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Government -tags: [industries] ---- \ No newline at end of file diff --git a/docs/docs/solutions/healthcare.md b/docs/docs/solutions/healthcare.md deleted file mode 100644 index 1cd85463b8..0000000000 --- a/docs/docs/solutions/healthcare.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Healthcare -tags: [industries] ---- \ No newline at end of file diff --git a/docs/docs/solutions/legal.md b/docs/docs/solutions/legal.md deleted file mode 100644 index 6cc88372cc..0000000000 --- a/docs/docs/solutions/legal.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Legal -tags: [industries] ---- \ No newline at end of file diff --git a/docs/docs/solutions/startups.md b/docs/docs/solutions/startups.md deleted file mode 100644 index 23cdb5bbe6..0000000000 --- a/docs/docs/solutions/startups.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Startups -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/docs/studio/studio.md b/docs/docs/studio/studio.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/docs/support/support.md b/docs/docs/support/support.md deleted file mode 100644 index 5a1ec20970..0000000000 --- a/docs/docs/support/support.md +++ /dev/null @@ -1,6 +0,0 @@ -# Support - -- Bugs & requests: file a GitHub ticket [here](https://github.com/janhq/jan/issues) -- For discussion: join our Discord [here](https://discord.gg/FTk2MvZwJH) -- For business inquiries: email hello@jan.ai -- For jobs: please email hr@jan.ai diff --git a/docs/docs/team/contributor-program.md b/docs/docs/team/contributor-program.md deleted file mode 100644 index cacdfa047e..0000000000 --- a/docs/docs/team/contributor-program.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Contributor Program ---- \ No newline at end of file diff --git a/docs/docs/team/join-us.md b/docs/docs/team/join-us.md deleted file mode 100644 index 84b8c263cb..0000000000 --- a/docs/docs/team/join-us.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Join us ---- - -- [ ] Explain Core Team, Contributors and Open Source approach - - -[Careers on Bamboo](https://janai.bamboohr.com/careers) - -### Careers - -Jan has a culture of ownership, independent thought, and lightning fast execution. If you'd like to join us, we have open positions on our [careers page](https://janai.bamboohr.com/careers). \ No newline at end of file diff --git a/docs/docs/team/team.md b/docs/docs/team/team.md deleted file mode 100644 index 7d5e07cfb9..0000000000 --- a/docs/docs/team/team.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Who we are ---- - -What's Jan the company about? -We aim to build the cognitive framework for future robots - -### Open Source - -Jan is a startup with an open source business model. We believe in the need for an open source AI ecosystem, and are committed to building it. - -- [Jan Framework](https://github.com/janhq/jan) (AGPLv3) -- [Jan Desktop Client & Local server](https://jan.ai) (AGPLv3, built on Jan Framework) -- [Nitro: run Local AI](https://github.com/janhq/nitro) (AGPLv3) - - -### Bootstrapped - -Jan is currently a bootstrapped startup. - -We balance technical invention with the search for a sustainable business model. Thus, we appreciate any business inquiries that can balance growth with cashflow. - -**We invite you to join us on our journey to find PMF**. Join our [Discord here](https://discord.gg/BnHRr3Q7Ms) - -## Our Team - -- Contributors -- Core Team \ No newline at end of file diff --git a/docs/docs/template/QA_script.md b/docs/docs/template/QA_script.md deleted file mode 100644 index 9c7eeaf186..0000000000 --- a/docs/docs/template/QA_script.md +++ /dev/null @@ -1,193 +0,0 @@ -# Regression test - -**Release Version:** v0.4.7 - -**Operating System:** MacOS - ---- - -## A. Installation, Update, and Uninstallation - -### 1. Users install app - -- [ ] Check that the installation package is not corrupted and passes all security checks. -- [ ] :key: Confirm that the app launches successfully after installation. - -### 2. Users update app - -- [ ] :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. -- [ ] 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). - -### 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. Shortcut key, memory usage / CPU usage - -- [ ] :key: Test each shortcut key to confirm it works as described (My models, navigating, opening, closing, etc.). -- [ ] :key: Ensure that the interface presents the correct numbers for memory and CPU usage. - -### 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 - -- [ ] :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). -- [ ] 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, 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 - -- [ ] 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: Ensure that users switch between threads with different models, the app can handle it. - -### 3. Model dropdown -- [ ] :key: Model list should highlight recommended based on user RAM -- [ ] Model size should display (for both installed and imported models) - -### 4. Users can click on a history thread -- [ ] 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. -- [ ] Confirm that changing the title of the thread updates correctly. - -### 5. Users can config 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: Check for the ability to reset instructions to default or clear them completely. -- [ ] :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. - - -## D. Hub - -### 1. Users can discover recommended models (Jan ships with a few preconfigured model.json files) - -- [ ] :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. - -### 2. Users can download models suitable for their devices, e.g. compatible with their RAM - -- [ ] Display the best model for their RAM at the top. -- [ ] :key: Ensure that models are labeled with RAM requirements and compatibility. -- [ ] :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) - -- [ ] :key: Have the warning/status when the user enters the URL. -- [ ] :key: Check the progress bar reflects the right process. -- [ ] Validate the error handling for invalid or inaccessible URLs. - -### 4. Users can import new models to the Hub - -- [ ] :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. - -### 5. Users can use the model as they want - -- [ ] :key: Check `start` / `stop` / `delete` button response exactly what it does. -- [ ] Check if starting another model stops the other model entirely. -- [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. - -### 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 -- [ ] Users can use the remote model properly - -## E. System Monitor - -### 1. Users can see disk and RAM utilization - -- [ ] :key: Verify that the RAM and VRAM utilization graphs display accurate information. -- [ ] :key: Check that the CPU usage is accurately reported in real time. -- [ ] :key: Validate that the utilization percentages reflect the actual usage compared to the system's total available resources. -- [ ] :key: Ensure that the system monitors updates dynamically as the models run and stop. - -### 2. Users can start and stop models based on system health - -- [ ] :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. -- [ ] Confirm that any changes in model status (start/stop) are logged or reported to the user for transparency. - -## F. Settings - -### 1. Appearance - -- [ ] :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. Extensions [TBU] - -- [ ] Confirm that the `Extensions` tab lists all available plugins. -- [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 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. -- [ ] 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 - -### 1. Local Server Usage with Server Options -- [ ] :key: Explore API Reference: Swagger API for sending/receiving requests - - [ ] Use default server option - - [ ] Configure and use custom server options -- [ ] Test starting/stopping the local API server with different Model/Model settings -- [ ] Server logs captured with correct Server Options provided -- [ ] Verify functionality of Open logs/Clear feature -- [ ] Ensure that threads and other functions impacting the model are disabled while the local server is running diff --git a/docs/docs/wall-of-love.md b/docs/docs/wall-of-love.md deleted file mode 100644 index f6bfe79d8c..0000000000 --- a/docs/docs/wall-of-love.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Wall of Love ❤ī¸ ---- - -## Twitter - -Check out our amazing users and what they are saying about Jan! - -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -Please share your love for Jan on Twitter and tag us [@janframework](https://twitter.com/janframework)! We would love to hear from you! - -## YouTube - -Watch these amazing videos to see how Jan is being used and loved by the community! - -### Run Any Chatbot FREE Locally on Your Computer - -
- -
- -

- -### Jan AI: Run Open Source LLM 100% Local with OpenAI endpoints - -
- -
- -

- -### Setup Tutorial on Jan.ai. JAN AI: Run open source LLM on local Windows PC. 100% offline LLM and AI. - -
- -
- -

- -### Jan.ai: Like Offline ChatGPT on Your Computer 💡 - -
- -
- -

- -### Jan: Bring AI to your Desktop With 100% Offline AI - -
- -
- -

- -### AI on Your Local PC: Install JanAI (ChatGPT alternative) for Enhanced Privacy - -
- -
- -

- -### Install Jan to Run LLM Offline and Local First - -
- -
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js deleted file mode 100644 index 4e7e91baf1..0000000000 --- a/docs/docusaurus.config.js +++ /dev/null @@ -1,409 +0,0 @@ -// @ts-check -// Note: type annotations allow type checking and IDEs autocompletion -require('dotenv').config() - -const darkCodeTheme = require('prism-react-renderer/themes/dracula') -const path = require('path') - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: 'Jan', - tagline: 'Run your own AI', - favicon: 'img/favicon.ico', - - // Set the production url of your site here - url: 'https://jan.ai', - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' - baseUrl: '/', - - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: 'janhq', // Usually your GitHub org/user name. - projectName: 'jan', // Usually your repo name. - - onBrokenLinks: 'warn', - onBrokenMarkdownLinks: 'warn', - trailingSlash: true, - // Even if you don't use internalization, you can use this field to set useful - // metadata like html lang. For example, if your site is Chinese, you may want - // to replace "en" with "zh-Hans". - i18n: { - defaultLocale: 'en', - locales: ['en'], - }, - - markdown: { - mermaid: true, - }, - - noIndex: false, - - // Plugins we added - plugins: [ - 'docusaurus-plugin-sass', - async function myPlugin(context, options) { - return { - name: 'docusaurus-tailwindcss', - configurePostCss(postcssOptions) { - // Appends TailwindCSS and AutoPrefixer. - postcssOptions.plugins.push(require('tailwindcss')) - postcssOptions.plugins.push(require('autoprefixer')) - return postcssOptions - }, - } - }, - [ - 'posthog-docusaurus', - { - apiKey: process.env.POSTHOG_PROJECT_API_KEY || 'XXX', - appUrl: process.env.POSTHOG_APP_URL || 'XXX', // optional - enableInDevelopment: false, // optional - }, - ], - [ - '@docusaurus/plugin-client-redirects', - { - redirects: [ - { - from: '/troubleshooting/failed-to-fetch', - to: '/guides/error-codes/something-amiss/', - }, - { - from: '/guides/troubleshooting/gpu-not-used/', - to: '/guides/common-error/not-using-gpu/', - }, - { - from: '/guides/troubleshooting/', - to: '/guides/error-codes/', - }, - { - from: '/troubleshooting/stuck-on-broken-build/', - to: '/guides/common-error/broken-build/', - }, - { - from: '/guides/troubleshooting/', - to: '/guides/error-codes/', - }, - { - from: '/troubleshooting/somethings-amiss/', - to: '/guides/error-codes/something-amiss/', - }, - { - from: '/troubleshooting/how-to-get-error-logs/', - to: '/guides/error-codes/how-to-get-error-logs/', - }, - { - from: '/troubleshooting/permission-denied/', - to: '/guides/error-codes/permission-denied/', - }, - { - from: '/troubleshooting/unexpected-token/', - to: '/guides/error-codes/unexpected-token/', - }, - { - from: '/troubleshooting/undefined-issue/', - to: '/guides/error-codes/undefined-issue/', - }, - { - from: '/install/', - to: '/guides/install/', - }, - { - from: '/guides/using-models/', - to: '/guides/models-setup/', - }, - { - from: '/guides/using-extensions/', - to: '/guides/extensions/', - }, - ], - }, - ], - - //To input custom Plugin - path.resolve(__dirname, 'plugins', 'changelog-plugin'), - [ - '@scalar/docusaurus', - { - label: '', - route: '/api-reference', - configuration: { - spec: { - url: 'https://raw.githubusercontent.com/janhq/jan/dev/docs/openapi/jan.json', - }, - }, - }, - ], - ], - - // The classic preset will relay each option entry to the respective sub plugin/theme. - presets: [ - [ - '@docusaurus/preset-classic', - { - // Will be passed to @docusaurus/plugin-content-docs (false to disable) - docs: { - routeBasePath: '/', - sidebarPath: require.resolve('./sidebars.js'), - editUrl: 'https://github.com/janhq/jan/tree/dev/docs', - showLastUpdateAuthor: true, - showLastUpdateTime: true, - }, - // Will be passed to @docusaurus/plugin-content-sitemap (false to disable) - sitemap: { - changefreq: 'daily', - priority: 1.0, - ignorePatterns: ['/tags/**'], - filename: 'sitemap.xml', - }, - // Will be passed to @docusaurus/plugin-content-blog (false to disable) - blog: { - blogSidebarTitle: 'All Posts', - blogSidebarCount: 'ALL', - }, - // Will be passed to @docusaurus/theme-classic. - theme: { - customCss: require.resolve('./src/styles/main.scss'), - }, - // GTM is always inactive in development and only active in production to avoid polluting the analytics statistics. - googleTagManager: { - containerId: process.env.GTM_ID || 'XXX', - }, - // Will be passed to @docusaurus/plugin-content-pages (false to disable) - // pages: {}, - }, - ], - // Redoc preset - [ - 'redocusaurus', - { - specs: [ - { - spec: 'openapi/jan.yaml', // can be local file, url, or parsed json object - route: '/api-reference-1.0/', // path where to render docs - }, - ], - theme: { - primaryColor: '#1a73e8', - primaryColorDark: '#1a73e8', - options: { - requiredPropsFirst: true, - noAutoAuth: true, - hideDownloadButton: true, - }, - }, - }, - ], - ], - - // Docs: https://docusaurus.io/docs/api/themes/configuration - themeConfig: { - image: 'img/og-image.png', - // Only for react live - liveCodeBlock: { - playgroundPosition: 'bottom', - }, - docs: { - sidebar: { - hideable: true, - autoCollapseCategories: false, - }, - }, - // Algolia Search Configuration - algolia: { - appId: process.env.ALGOLIA_APP_ID || 'XXX', - apiKey: process.env.ALGOLIA_API_KEY || 'XXX', - indexName: 'jan_docs', - contextualSearch: true, - insights: true, - }, - // SEO Docusarus - metadata: [ - { - name: 'description', - content: - 'Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable.', - }, - { - name: 'keywords', - content: - 'Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ', - }, - { name: 'robots', content: 'index, follow' }, - { - property: 'og:title', - content: 'Jan | Open-source ChatGPT Alternative', - }, - { - property: 'og:description', - content: - 'Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable.', - }, - { - property: 'og:image', - content: 'https://jan.ai/img/og-image.png', - }, - { property: 'og:type', content: 'website' }, - { property: 'twitter:card', content: 'summary_large_image' }, - { property: 'twitter:site', content: '@janframework' }, - { - property: 'twitter:title', - content: 'Jan | Open-source ChatGPT Alternative', - }, - { - property: 'twitter:description', - content: - 'Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable.', - }, - { - property: 'twitter:image', - content: 'https://jan.ai/img/og-image.png', - }, - ], - headTags: [ - // Declare a preconnect tag - { - tagName: 'link', - attributes: { - rel: 'preconnect', - href: 'https://jan.ai/', - }, - }, - // Declare some json-ld structured data - { - tagName: 'script', - attributes: { - type: 'application/ld+json', - }, - innerHTML: JSON.stringify({ - '@context': 'https://schema.org/', - '@type': 'localAI', - 'name': 'Jan', - 'description': - 'Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable.', - 'keywords': - 'Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ', - 'applicationCategory': 'BusinessApplication', - 'operatingSystem': 'Multiple', - 'url': 'https://jan.ai/', - }), - }, - ], - navbar: { - title: 'Jan', - logo: { - alt: 'Jan Logo', - src: 'img/logo.svg', - }, - items: [ - // Navbar Left - // { - // type: "docSidebar", - // sidebarId: "aboutSidebar", - // position: "left", - // label: "About", - // }, - { - type: 'dropdown', - label: 'About', - position: 'left', - items: [ - { - type: 'doc', - label: 'What is Jan?', - docId: 'about/about', - }, - { - type: 'doc', - label: 'Who we are', - docId: 'team/team', - }, - { - type: 'doc', - label: 'Wall of love', - docId: 'wall-of-love', - }, - ], - }, - { - type: 'docSidebar', - sidebarId: 'productSidebar', - positionL: 'left', - label: 'Product', - }, - { - type: 'docSidebar', - sidebarId: 'ecosystemSidebar', - position: 'left', - label: 'Ecosystem', - }, - // { - // type: "docSidebar", - // sidebarId: "pricingSidebar", - // positionL: "left", - // label: "Pricing", - // }, - // Navbar right - { - type: 'dropdown', - label: 'Docs', - to: 'docs', - position: 'right', - items: [ - { - type: 'docSidebar', - sidebarId: 'guidesSidebar', - label: 'Guides', - }, - { - type: 'docSidebar', - sidebarId: 'developerSidebar', - label: 'Developer', - }, - { - to: '/api-reference', - label: 'API Reference', - }, - { - type: 'docSidebar', - sidebarId: 'releasesSidebar', - label: 'Changelog', - }, - // { - // type: "docSidebar", - // sidebarId: "docsSidebar", - // label: "Framework", - // }, - ], - }, - { - to: 'blog', - label: 'Blog', - position: 'right', - }, - ], - }, - prism: { - theme: darkCodeTheme, - darkTheme: darkCodeTheme, - additionalLanguages: [ - 'python', - 'powershell', - 'bash', - 'json', - 'javascript', - 'jsx', - ], - }, - colorMode: { - defaultMode: 'light', - disableSwitch: false, - respectPrefersColorScheme: false, - }, - }, - - themes: ['@docusaurus/theme-live-codeblock', '@docusaurus/theme-mermaid'], -} - -module.exports = config diff --git a/docs/docs/foundry/foundry.md b/docs/openapi/.gitkeep similarity index 100% rename from docs/docs/foundry/foundry.md rename to docs/openapi/.gitkeep diff --git a/docs/openapi/jan.json b/docs/openapi/jan.json index 5cca598139..844a8f7ce8 100644 --- a/docs/openapi/jan.json +++ b/docs/openapi/jan.json @@ -42,27 +42,18 @@ "x-tagGroups": [ { "name": "Endpoints", - "tags": [ - "Models", - "Chat" - ] + "tags": ["Models", "Chat"] }, { "name": "Chat", - "tags": [ - "Assistants", - "Messages", - "Threads" - ] + "tags": ["Assistants", "Messages", "Threads"] } ], "paths": { "/chat/completions": { "post": { "operationId": "createChatCompletion", - "tags": [ - "Chat" - ], + "tags": ["Chat"], "summary": "Create chat completion\n", "description": "Creates a model response for the given chat conversation. Equivalent to OpenAI's create chat completion. \n", "requestBody": { @@ -91,9 +82,7 @@ "/models": { "get": { "operationId": "listModels", - "tags": [ - "Models" - ], + "tags": ["Models"], "summary": "List models", "description": "Lists the currently available models, and provides basic information about each one such as the owner and availability. Equivalent to OpenAI's list model. \n", "responses": { @@ -113,9 +102,7 @@ "/models/download/{model_id}": { "get": { "operationId": "downloadModel", - "tags": [ - "Models" - ], + "tags": ["Models"], "summary": "Download a specific model.", "description": "Download a model.\n", "parameters": [ @@ -147,9 +134,7 @@ "/models/{model_id}": { "get": { "operationId": "retrieveModel", - "tags": [ - "Models" - ], + "tags": ["Models"], "summary": "Retrieve model", "description": "Get a model instance, providing basic information about the model such as the owner and permissioning. Equivalent to OpenAI's retrieve model. \n", "parameters": [ @@ -179,9 +164,7 @@ }, "delete": { "operationId": "deleteModel", - "tags": [ - "Models" - ], + "tags": ["Models"], "summary": "Delete model", "description": "Delete a model. Equivalent to OpenAI's delete model. \n", "parameters": [ @@ -213,9 +196,7 @@ "/threads": { "post": { "operationId": "createThread", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "summary": "Create thread", "description": "Create a thread. Equivalent to OpenAI's create thread. \n", "requestBody": { @@ -243,9 +224,7 @@ }, "get": { "operationId": "listThreads", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "summary": "List threads", "description": "Retrieves a list of all threads available in the system.\n", "responses": { @@ -263,9 +242,7 @@ "id": "thread_abc123", "object": "thread", "created_at": 1699014083, - "assistants": [ - "assistant-001" - ], + "assistants": ["assistant-001"], "metadata": {}, "messages": [] }, @@ -273,10 +250,7 @@ "id": "thread_abc456", "object": "thread", "created_at": 1699014083, - "assistants": [ - "assistant-002", - "assistant-003" - ], + "assistants": ["assistant-002", "assistant-003"], "metadata": {} } ] @@ -290,9 +264,7 @@ "/threads/{thread_id}": { "get": { "operationId": "getThread", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "summary": "Retrieve thread", "description": "Retrieves detailed information about a specific thread using its thread_id. Equivalent to OpenAI's retrieve thread. \n", "parameters": [ @@ -321,9 +293,7 @@ }, "patch": { "operationId": "modifyThread", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "summary": "Modify thread", "description": "Modifies a thread. Equivalent to OpenAI's modify thread. \n", "parameters": [ @@ -371,9 +341,7 @@ }, "delete": { "operationId": "deleteThread", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "summary": "Delete thread", "description": "Delete a thread. Equivalent to OpenAI's delete thread. \n", "parameters": [ @@ -404,9 +372,7 @@ "/assistants": { "get": { "operationId": "listAssistants", - "tags": [ - "Assistants" - ], + "tags": ["Assistants"], "summary": "List assistants", "description": "Return a list of assistants. Equivalent to OpenAI's list assistants. \n", "responses": { @@ -540,9 +506,7 @@ "/assistants/{assistant_id}": { "get": { "operationId": "getAssistant", - "tags": [ - "Assistants" - ], + "tags": ["Assistants"], "summary": "Retrieve assistant", "description": "Retrieves an assistant. Equivalent to OpenAI's retrieve assistants. \n", "parameters": [ @@ -574,9 +538,7 @@ "/threads/{thread_id}/messages": { "get": { "operationId": "listMessages", - "tags": [ - "Messages" - ], + "tags": ["Messages"], "summary": "List messages", "description": "Retrieves all messages from the given thread. Equivalent to OpenAI's list messages. \n", "parameters": [ @@ -605,9 +567,7 @@ }, "post": { "operationId": "createMessage", - "tags": [ - "Messages" - ], + "tags": ["Messages"], "summary": "Create message", "description": "Create a message. Equivalent to OpenAI's list messages. \n", "parameters": [ @@ -632,10 +592,7 @@ "type": "string", "description": "Role of the sender, either 'user' or 'assistant'.\n", "example": "user", - "enum": [ - "user", - "assistant" - ] + "enum": ["user", "assistant"] }, "content": { "type": "string", @@ -643,10 +600,7 @@ "example": "How does AI work? Explain it in simple terms." } }, - "required": [ - "role", - "content" - ] + "required": ["role", "content"] } } } @@ -668,9 +622,7 @@ "/threads/{thread_id}/messages/{message_id}": { "get": { "operationId": "retrieveMessage", - "tags": [ - "Messages" - ], + "tags": ["Messages"], "summary": "Retrieve message", "description": "Retrieve a specific message from a thread using its thread_id and message_id. Equivalent to OpenAI's retrieve messages. \n", "parameters": [ @@ -714,9 +666,7 @@ "summary": "The model object", "description": "Describe a model offering that can be used with the API. Equivalent to OpenAI's model object. \n", "operationId": "ModelObject", - "tags": [ - "Models" - ], + "tags": ["Models"], "requestBody": { "content": { "application/json": { @@ -733,9 +683,7 @@ "summary": "The assistant object", "description": "Build assistants that can call models and use tools to perform tasks. Equivalent to OpenAI's assistants object. \n", "operationId": "AssistantObjects", - "tags": [ - "Assistants" - ], + "tags": ["Assistants"], "requestBody": { "content": { "application/json": { @@ -752,9 +700,7 @@ "summary": "The message object", "description": "Information about a message in the thread. Equivalent to OpenAI's message object. \n", "operationId": "MessageObject", - "tags": [ - "Messages" - ], + "tags": ["Messages"], "requestBody": { "content": { "application/json": { @@ -771,9 +717,7 @@ "summary": "The thread object", "description": "Represents a thread that contains messages. Equivalent to OpenAI's thread object. ", "operationId": "ThreadObject", - "tags": [ - "Threads" - ], + "tags": ["Threads"], "requestBody": { "content": { "application/json": { @@ -875,9 +819,7 @@ "type": "string" }, "description": "List of assistants involved in the thread.", - "example": [ - "assistant-001" - ] + "example": ["assistant-001"] }, "metadata": { "type": "object", @@ -990,10 +932,7 @@ "role": { "type": "string", "description": "\"Role of the sender, either 'user' or 'assistant'.\"\n", - "enum": [ - "user", - "assistant" - ] + "enum": ["user", "assistant"] }, "content": { "type": "string", @@ -1059,9 +998,7 @@ "properties": { "object": { "type": "string", - "enum": [ - "list" - ] + "enum": ["list"] }, "data": { "type": "array", @@ -1070,10 +1007,7 @@ } } }, - "required": [ - "object", - "data" - ] + "required": ["object", "data"] }, "Model": { "type": "object", @@ -1167,11 +1101,7 @@ "items": { "type": "string" }, - "example": [ - "7B", - "Merged", - "Featured" - ] + "example": ["7B", "Merged", "Featured"] }, "size": { "type": "integer", @@ -1308,11 +1238,7 @@ "items": { "type": "string" }, - "example": [ - "7B", - "Featured", - "Foundation Model" - ] + "example": ["7B", "Featured", "Foundation Model"] }, "size": { "example": 4370000000, @@ -1369,11 +1295,7 @@ "example": "running" } }, - "required": [ - "id", - "object", - "state" - ] + "required": ["id", "object", "state"] }, "StopModelResponse": { "type": "object", @@ -1394,11 +1316,7 @@ "example": "stopped" } }, - "required": [ - "id", - "object", - "state" - ] + "required": ["id", "object", "state"] }, "DownloadModelResponse": { "type": "object", @@ -1440,10 +1358,7 @@ }, "role": { "type": "string", - "enum": [ - "user", - "assistant" - ], + "enum": ["user", "assistant"], "description": "Role of the sender, either 'user' or 'assistant'.\n" }, "content": { @@ -1858,9 +1773,7 @@ "type": "string" }, "description": "Defines specific tokens or phrases at which the model will stop generating further output.", - "example": [ - "hello" - ] + "example": ["hello"] }, "frequency_penalty": { "type": "number", @@ -1938,9 +1851,7 @@ "type": "string" }, "description": "Defines specific tokens or phrases at which the model will stop generating further output.\n", - "example": [ - "hello" - ] + "example": ["hello"] }, "frequency_penalty": { "type": "number", @@ -2483,4 +2394,4 @@ } } } -} \ No newline at end of file +} diff --git a/docs/openapi/jan.yaml b/docs/openapi/jan.yaml index f45db7d2da..35fd431753 100644 --- a/docs/openapi/jan.yaml +++ b/docs/openapi/jan.yaml @@ -58,7 +58,7 @@ paths: schema: $ref: specs/chat.yaml#/components/schemas/ChatCompletionRequest responses: - "200": + '200': description: OK content: application/json: @@ -207,7 +207,7 @@ paths: = "https://platform.openai.com/docs/api-reference/models/list"> Equivalent to OpenAI's list model. responses: - "200": + '200': description: OK content: application/json: @@ -247,7 +247,7 @@ paths: headers = {'Accept': 'application/json'} response = requests.get(url, headers=headers) data = response.json() - "/models/download/{model_id}": + '/models/download/{model_id}': get: operationId: downloadModel tags: @@ -265,7 +265,7 @@ paths: description: | The ID of the model to use for this request. responses: - "200": + '200': description: OK content: application/json: @@ -305,7 +305,7 @@ paths: response = requests.get('http://localhost:1337/v1/models/download/{model_id}', headers={'accept': 'application/json'}) data = response.json() - "/models/{model_id}": + '/models/{model_id}': get: operationId: retrieveModel tags: @@ -326,7 +326,7 @@ paths: description: | The ID of the model to use for this request. responses: - "200": + '200': description: OK content: application/json: @@ -392,7 +392,7 @@ paths: description: | The model id to delete responses: - "200": + '200': description: OK content: application/json: @@ -454,7 +454,7 @@ paths: schema: $ref: specs/threads.yaml#/components/schemas/CreateThreadObject responses: - "200": + '200': description: Thread created successfully content: application/json: @@ -550,7 +550,7 @@ paths: description: | Retrieves a list of all threads available in the system. responses: - "200": + '200': description: List of threads retrieved successfully content: application/json: @@ -605,7 +605,7 @@ paths: response = requests.get(url, headers=headers) print(response.json()) - "/threads/{thread_id}": + '/threads/{thread_id}': get: operationId: getThread tags: @@ -625,7 +625,7 @@ paths: description: | The ID of the thread to retrieve. responses: - "200": + '200': description: Thread details retrieved successfully content: application/json: @@ -665,7 +665,7 @@ paths: items: $ref: specs/threads.yaml#/components/schemas/ThreadMessageObject responses: - "200": + '200': description: Thread modified successfully content: application/json: @@ -704,7 +704,7 @@ paths: description: | The ID of the thread to be deleted. responses: - "200": + '200': description: Thread deleted successfully content: application/json: @@ -725,7 +725,7 @@ paths: "https://platform.openai.com/docs/api-reference/assistants/listAssistants"> Equivalent to OpenAI's list assistants. responses: - "200": + '200': description: List of assistants retrieved successfully content: application/json: @@ -791,7 +791,7 @@ paths: headers = {'Content-Type': 'application/json'} response = requests.get(url, headers=headers) - "/assistants/{assistant_id}": + '/assistants/{assistant_id}': get: operationId: getAssistant tags: @@ -811,7 +811,7 @@ paths: description: | The ID of the assistant to retrieve. responses: - "200": + '200': description: null content: application/json: @@ -855,7 +855,7 @@ paths: response = requests.get(f'http://localhost:1337/v1/assistants/{assistant_id}', headers={'Content-Type': 'application/json'}) - "/threads/{thread_id}/messages": + '/threads/{thread_id}/messages': get: operationId: listMessages tags: @@ -874,7 +874,7 @@ paths: description: | The ID of the thread from which to retrieve messages. responses: - "200": + '200': description: List of messages retrieved successfully content: application/json: @@ -926,7 +926,7 @@ paths: - role - content responses: - "200": + '200': description: Message created successfully content: application/json: @@ -941,7 +941,7 @@ paths: "role": "user", "content": "How does AI work? Explain it in simple terms." }' - "/threads/{thread_id}/messages/{message_id}": + '/threads/{thread_id}/messages/{message_id}': get: operationId: retrieveMessage tags: @@ -968,7 +968,7 @@ paths: description: | The ID of the message to retrieve. responses: - "200": + '200': description: OK content: application/json: diff --git a/docs/openapi/specs/chat.yaml b/docs/openapi/specs/chat.yaml index cfa3915982..c9358d7962 100644 --- a/docs/openapi/specs/chat.yaml +++ b/docs/openapi/specs/chat.yaml @@ -9,14 +9,15 @@ components: description: | Contains input data or prompts for the model to process. example: - - content: "Hello there :wave:" + - content: 'Hello there :wave:' role: assistant - content: Can you write a long story role: user stream: type: boolean default: true - description: Enables continuous output generation, allowing for streaming of + description: + Enables continuous output generation, allowing for streaming of model responses. model: type: string @@ -25,23 +26,27 @@ components: max_tokens: type: number default: 2048 - description: The maximum number of tokens the model will generate in a single + description: + The maximum number of tokens the model will generate in a single response. stop: type: arrays example: - hello - description: Defines specific tokens or phrases at which the model will stop + description: + Defines specific tokens or phrases at which the model will stop generating further output/ frequency_penalty: type: number default: 0 - description: Adjusts the likelihood of the model repeating words or phrases in + description: + Adjusts the likelihood of the model repeating words or phrases in its output. presence_penalty: type: number default: 0 - description: Influences the generation of new and varied concepts in the model's + description: + Influences the generation of new and varied concepts in the model's output. temperature: type: number diff --git a/docs/openapi/specs/messages.yaml b/docs/openapi/specs/messages.yaml index 6f5fe1a58f..22d82b787b 100644 --- a/docs/openapi/specs/messages.yaml +++ b/docs/openapi/specs/messages.yaml @@ -205,7 +205,7 @@ components: data: type: array items: - $ref: "#/components/schemas/ListMessageObject" + $ref: '#/components/schemas/ListMessageObject' first_id: type: string description: Identifier of the first message in the list. @@ -310,4 +310,4 @@ components: data: type: array items: - $ref: "#/components/schemas/MessageFileObject" + $ref: '#/components/schemas/MessageFileObject' diff --git a/docs/openapi/specs/models.yaml b/docs/openapi/specs/models.yaml index 40e6abaaff..ff2040bb59 100644 --- a/docs/openapi/specs/models.yaml +++ b/docs/openapi/specs/models.yaml @@ -11,7 +11,7 @@ components: data: type: array items: - $ref: "#/components/schemas/Model" + $ref: '#/components/schemas/Model' required: - object - data @@ -38,7 +38,7 @@ components: example: Trinity-v1.2 7B Q4 version: type: string - default: "1.0" + default: '1.0' description: The version number of the model. description: type: string @@ -141,7 +141,7 @@ components: example: Mistral Instruct 7B Q4 version: type: string - default: "1.0" + default: '1.0' description: The version number of the model. description: type: string @@ -162,7 +162,7 @@ components: example: 4096 prompt_template: type: string - example: "[INST] {prompt} [/INST]" + example: '[INST] {prompt} [/INST]' additionalProperties: false parameters: type: object diff --git a/docs/openapi/specs/threads.yaml b/docs/openapi/specs/threads.yaml index 40b2463fa5..285fcc82d7 100644 --- a/docs/openapi/specs/threads.yaml +++ b/docs/openapi/specs/threads.yaml @@ -22,7 +22,7 @@ components: example: funny physics joke assistants: type: array - description: "" + description: '' items: properties: assistant_id: @@ -35,7 +35,7 @@ components: properties: id: type: string - description: "" + description: '' example: ... settings: type: object diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index eb386d7837..0000000000 --- a/docs/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "docs", - "version": "0.0.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start --port 3001", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" - }, - "dependencies": { - "@docsearch/js": "3", - "@docsearch/react": "3", - "@docusaurus/core": "^3.0.0", - "@docusaurus/plugin-client-redirects": "^3.0.0", - "@docusaurus/plugin-content-docs": "^3.0.0", - "@docusaurus/preset-classic": "^3.0.0", - "@docusaurus/theme-live-codeblock": "^3.0.0", - "@docusaurus/theme-mermaid": "^3.0.0", - "@headlessui/react": "^1.7.17", - "@heroicons/react": "^2.0.18", - "@mdx-js/react": "^3.0.0", - "@redocly/cli": "^1.4.1", - "@scalar/docusaurus": "^0.1.3", - "autoprefixer": "^10.4.16", - "axios": "^1.5.1", - "clsx": "^1.2.1", - "docusaurus-plugin-redoc": "^2.0.0", - "docusaurus-plugin-sass": "^0.2.5", - "docusaurus-theme-redoc": "^2.0.0", - "js-yaml": "^4.1.0", - "postcss": "^8.4.30", - "posthog-docusaurus": "^2.0.0", - "prism-react-renderer": "^1.3.5", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^4.11.0", - "redocusaurus": "^2.0.0", - "sass": "^1.69.3", - "tailwind-merge": "^2.1.0", - "tailwindcss": "^3.3.3" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^3.0.0", - "dotenv": "^16.3.1", - "tailwindcss-animate": "^1.0.7" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "engines": { - "node": ">=16.14" - } -} diff --git a/docs/plugins/changelog-plugin/fetchData.js b/docs/plugins/changelog-plugin/fetchData.js deleted file mode 100644 index 7c3620a537..0000000000 --- a/docs/plugins/changelog-plugin/fetchData.js +++ /dev/null @@ -1,136 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const fetch = require('node-fetch'); - -async function fetchData(siteConfig, forceRefresh = false) { - const owner = siteConfig.organizationName; - const repo = siteConfig.projectName; - const apiUrl = `https://api.github.com/repos/${owner}/${repo}/releases`; - - const outputDirectory = path.join(__dirname, '../../docs/releases/changelog'); - - if (!fs.existsSync(outputDirectory)) { - fs.mkdirSync(outputDirectory); - } - - let counter = 1; - const cacheFilePath = path.join(outputDirectory, 'cache.json'); - - let cachedData = {}; - if (fs.existsSync(cacheFilePath) && !forceRefresh) { - cachedData = JSON.parse(fs.readFileSync(cacheFilePath, 'utf-8')); - } - - // Function to retrieve issue details from GitHub API - async function getIssueDetails(issueNumber) { - const issueApiUrl = `https://api.github.com/repos/${owner}/${repo}/issues/${issueNumber}`; - const response = await fetch(issueApiUrl, { - method: 'GET', - headers: { - 'Accept': 'application/vnd.github.v3+json', - }, - }); - - if (!response.ok) { - throw new Error(`HTTP error! Status: ${response.status}`); - } - - return response.json(); - } - - // Fetch releases from GitHub API or load from cache - let releases = []; - try { - if (cachedData.releases && !forceRefresh) { - console.log('Loading releases from cache...'); - releases = cachedData.releases; - } else { - console.log('Fetching releases from GitHub API...'); - const response = await fetch(apiUrl, { - method: 'GET', - headers: { - 'Accept': 'application/vnd.github+json', - }, - }); - - if (!response.ok) { - throw new Error(`HTTP error! Status: ${response.status}`); - } - - releases = await response.json(); - // Cache the fetched releases - cachedData.releases = releases; - fs.writeFileSync(cacheFilePath, JSON.stringify(cachedData, null, 2), 'utf-8'); - console.log(`Fetched releases saved to cache: ${cacheFilePath}`); - } - } catch (error) { - console.error('Error fetching GitHub releases:', error.message); - return; - } - - // Check if there are new releases - const newReleases = releases.filter(release => { - const version = release.tag_name; - const existingChangelogPath = path.join(outputDirectory, `changelog-${version}.mdx`); - return !fs.existsSync(existingChangelogPath); - }); - - // If there are new releases, update existing changelog files' sidebar positions - if (newReleases.length > 0) { - console.log(`Updating sidebar positions for ${newReleases.length} new releases...`); - const existingChangelogFiles = fs.readdirSync(outputDirectory) - .filter(file => file.startsWith('changelog-')); - - existingChangelogFiles.forEach((filename, index) => { - const version = filename.substring(10, filename.length - 4); - const existingChangelogPath = path.join(outputDirectory, filename); - const content = fs.readFileSync(existingChangelogPath, 'utf-8'); - const sidebarPositionMatch = content.match(/sidebar_position: (\d+)/); - let sidebarPosition = index + 1; - - if (sidebarPositionMatch) { - sidebarPosition = parseInt(sidebarPositionMatch[1]); - } - - const updatedContent = content.replace(/sidebar_position: (\d+)/, `sidebar_position: ${sidebarPosition}`); - fs.writeFileSync(existingChangelogPath, updatedContent, 'utf-8'); - console.log(`Sidebar position updated for changelog-${version}`); - }); - } - - // Process the GitHub releases data here - for (const release of releases) { - const version = release.tag_name; - - // Check if the changelog file already exists for the current version - const existingChangelogPath = path.join(outputDirectory, `changelog-${version}.mdx`); - if (fs.existsSync(existingChangelogPath)) { - console.log(`Changelog for version ${version} already exists. Skipping...`); - continue; - } - - const releaseUrl = release.html_url; - const issueNumberMatch = release.body.match(/#(\d+)/); - const issueNumber = issueNumberMatch ? parseInt(issueNumberMatch[1], 10) : null; - - let issueLink = ''; - if (issueNumber) { - const issueDetails = await getIssueDetails(issueNumber); - issueLink = ` [Issue #${issueNumber}: ${issueDetails.title}](${issueDetails.html_url})`; - } - - const changes = release.body; - - let markdownContent = `---\nsidebar_position: ${counter}\nslug: /changelog/changelog-${version}\n---\n# ${version}\n\nFor more details, [GitHub Issues](${releaseUrl})\n\nHighlighted Issue: ${issueLink}\n\n${changes}\n`; - - // Write to a separate markdown file for each version - const outputFilePath = path.join(outputDirectory, `changelog-${version}.mdx`); - fs.writeFileSync(outputFilePath, markdownContent, 'utf-8'); - - console.log(`Changelog for version ${version} has been exported to: ${outputFilePath}`); - - counter++; - } -} - -module.exports = fetchData; diff --git a/docs/plugins/changelog-plugin/index.js b/docs/plugins/changelog-plugin/index.js deleted file mode 100644 index 574b582e50..0000000000 --- a/docs/plugins/changelog-plugin/index.js +++ /dev/null @@ -1,30 +0,0 @@ -const fetchData = require('./fetchData'); - -module.exports = function (context, options) { - const { siteConfig, isBuild } = context; - - // Fetch GitHub releases and generate markdown files - fetchData(siteConfig) - .then(() => { - console.log('Changelog data fetched successfully.'); - }) - .catch((error) => { - console.error('Error fetching GitHub releases:', error.message); - }); - - // Hook into Docusaurus lifecycle events - return { - name: 'changelog-plugin', - async onPreBuild() { - if (isBuild) { - // Fetch GitHub releases and generate markdown files during the build - // await fetchData(siteConfig); - } - }, - - async onPostBuild() { - // If you need additional actions after the build, you can include them here. - await fetchData(siteConfig, true); - }, - }; -}; diff --git a/docs/redocly.yaml b/docs/redocly.yaml deleted file mode 100644 index 3f07f9b999..0000000000 --- a/docs/redocly.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# NOTE: Only supports options marked as "Supported in Redoc CE" -# See https://redocly.com/docs/cli/configuration/ for more information. - -extends: - - recommended - -rules: - no-unused-components: error - -theme: - openapi: - schemaExpansionLevel: 2 - generateCodeSamples: - languages: - - lang: curl - - lang: Python - - lang: JavaScript - - lang: Node.js \ No newline at end of file diff --git a/docs/sidebars.js b/docs/sidebars.js deleted file mode 100644 index ad09d670aa..0000000000 --- a/docs/sidebars.js +++ /dev/null @@ -1,323 +0,0 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars are explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - aboutSidebar: [ - { - type: "category", - label: "What is Jan?", - link: { type: "doc", id: "about/about" }, - items: [ - //"about/roadmap", - "community/community", - ], - }, - { - type: "category", - label: "Who we are", - link: { type: "doc", id: "team/team" }, - items: ["team/join-us", "team/contributor-program"], - }, - "wall-of-love", - { - type: "category", - label: "How We Work", - link: { type: "doc", id: "how-we-work" }, - items: [ - "how-we-work/strategy/strategy", - "how-we-work/project-management/project-management", - { - type: "category", - label: "Engineering", - link: { type: "doc", id: "how-we-work/engineering/engineering" }, - items: [ - "how-we-work/engineering/ci-cd", - "how-we-work/engineering/qa", - ], - }, - "how-we-work/product-design/product-design", - "how-we-work/analytics/analytics", - "how-we-work/website-docs/website-docs", - ], - }, - "acknowledgements", - { - type: "category", - label: "FAQ", - link: { type: "doc", id: "about/faq" }, - items: - [], - }, - ], - productSidebar: [ - { - type: "category", - label: "Platforms", - collapsible: false, - items: [ - "platforms/desktop", - "server-suite/home-server", - // "server-suite/enterprise", - // "platforms/mobile", - // "platforms/hub", - ], - }, - { - type: "category", - collapsible: true, - collapsed: false, - label: "Features", - link: { type: "doc", id: "features/features" }, - items: [ - "features/local", - "features/remote", - "features/api-server", - "features/extensions-framework", - "features/agents-framework", - "features/data-security", - ], - }, - // NOTE: Jan Server Suite will be torn out into it's own section in the future - // { - // type: "category", - // label: "Jan Server Suite", - // link: { type: "doc", id: "server-suite/server-suite" }, - // items: [ - // "server-suite/admin-console", - // "server-suite/identity-access-management", - // "server-suite/audit-compliance", - // "server-suite/observability", - // ], - // }, - ], - solutionSidebar: [ - { - type: "category", - label: "Use Cases", - collapsed: true, - collapsible: true, - items: ["solutions/ai-pc", "solutions/chatgpt-alternative"], - }, - { - type: "category", - label: "Sectors", - collapsed: true, - collapsible: true, - items: [ - "solutions/finance", - "solutions/healthcare", - "solutions/legal", - "solutions/government", - ], - }, - { - type: "category", - label: "Organization Type", - collapsed: true, - collapsible: true, - items: [ - "solutions/developers", - "solutions/consultants", - "solutions/startups", - "solutions/enterprises", - ], - }, - ], - - pricingSidebar: ["pricing/pricing"], - ecosystemSidebar: [ - "ecosystem/ecosystem", - { - type: "category", - label: "Partners", - link: { type: "doc", id: "partners/partners" }, - collapsible: true, - items: ["partners/become-a-partner"], - }, - { - type: "category", - label: "Integrations", - link: { type: "doc", id: "integrations" }, - items: [ - { - type: "autogenerated", - dirName: "integrations", - }, - ], - }, - ], - // guidesSidebar: [ - // { - // type: "autogenerated", - // dirName: "guides", - // }, - // ], - guidesSidebar: [ - { - type: "category", - label: "Get Started", - collapsible: false, - className: "head_Menu", - items: [ - "guides/quickstart", - "guides/install", - "guides/start-server", - "guides/models-list" - ] - }, - { - type: "category", - label: "Guides", - collapsible: false, - className: "head_Menu", - items: [ - "guides/best-practices", - "guides/thread", - ] - }, - { - type: "category", - label: "Advanced Features", - collapsible: false, - className: "head_Menu", - items: [ - { - type: "category", - label: "Advanced Settings", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/advanced-settings/advanced-settings", - }, - items: [ - "guides/advanced-settings/http-proxy", - ] - }, - { - type: "category", - label: "Advanced Model Setup", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/models/README", - }, - items: [ - "guides/models/customize-engine", - "guides/models/import-models", - "guides/models/integrate-remote", - ] - }, - { - type: "category", - label: "Inference Providers", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/providers/README", - }, - items: [ - "guides/providers/llama-cpp", - "guides/providers/tensorrt-llm", - ] - }, - { - type: "category", - label: "Extensions", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/extensions/README", - }, - items: [ - "guides/extensions/import-ext", - "guides/extensions/setup-ext", - ] - }, - { - type: "category", - label: "Integrations", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/integration/README", - }, - items: [ - "guides/integration/azure", - "guides/integration/discord", - "guides/integration/groq", - "guides/integration/lmstudio", - "guides/integration/mistral", - "guides/integration/ollama", - "guides/integration/openinterpreter", - "guides/integration/openrouter", - "guides/integration/raycast", - "guides/integration/vscode", - ] - }, - ] - }, - { - type: "category", - label: "Troubleshooting", - collapsible: false, - className: "head_Menu", - items: [ - { - type: "category", - label: "Error Codes", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/error-codes/README", - }, - items: [ - "guides/error-codes/how-to-get-error-logs", - "guides/error-codes/permission-denied", - "guides/error-codes/something-amiss", - "guides/error-codes/undefined-issue", - "guides/error-codes/unexpected-token", - ] - }, - { - type: "category", - label: "Common Error", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/common-error/README", - }, - items: [ - "guides/common-error/broken-build", - "guides/common-error/not-using-gpu", - ] - }, - "guides/faq" - ] - }, - ], - developerSidebar: [ - { - type: "autogenerated", - dirName: "developer", - }, - ], - releasesSidebar: [ - { - type: "autogenerated", - dirName: "releases", - }, - ] -}; - -module.exports = sidebars; diff --git a/docs/src/components/HomepagePrimaryFeatures/index.js b/docs/src/components/HomepagePrimaryFeatures/index.js deleted file mode 100644 index a9762c4e54..0000000000 --- a/docs/src/components/HomepagePrimaryFeatures/index.js +++ /dev/null @@ -1,34 +0,0 @@ -export default function HomepagePrimaryFeatures() { - return ( -
-
-
-
-
-

Installation

-

Install Jan across multiple platforms.

-
- -
- {"Card -
-
-
-
-

Models

-

Discover the pre-configured AI models available for use.

-
-
- Support -
-
- {"Card -
-
-
-
-
- ); -} diff --git a/docs/src/components/HomepageSecondaryFeatures/index.js b/docs/src/components/HomepageSecondaryFeatures/index.js deleted file mode 100644 index 37bac0a133..0000000000 --- a/docs/src/components/HomepageSecondaryFeatures/index.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react' - -export default function HomepageSecondaryFeatures() { - return ( -
-
-
- - - -
-
-
- ) -} - -function FeatureCard({ imgSrc, title, description, href }) { - return ( -
-
-
- {'Feature -
-
-

{title}

-

{description}

-
-
- -
- ) -} diff --git a/docs/src/components/HomepageTerinaryFeatures/index.js b/docs/src/components/HomepageTerinaryFeatures/index.js deleted file mode 100644 index ec959332e5..0000000000 --- a/docs/src/components/HomepageTerinaryFeatures/index.js +++ /dev/null @@ -1,114 +0,0 @@ -export default function HomepageTerinaryFeatures() { - return ( -
-
-
-
-
- {"Icon"} -
Get Started
-
-
-

Easily kick off your journey with Jan by installing your AI locally.

- -
-
-
-
- {"Icon"} -
Settings
-
-
-

Discover how to manage Jan and configure your installed AI.

- -
-
-
-
- {"Icon"} -
Features
-
-
-

Explore key features designed to enhance your experience with Jan.

- -
-
-
-
- {"Icon"} -
Troubleshooting
-
-
-

Find solutions to common issues, including error codes, and FAQs.

- -
-
-
-
-
- ); -} \ No newline at end of file diff --git a/docs/src/containers/Banner/index.js b/docs/src/containers/Banner/index.js deleted file mode 100644 index 07622c63d7..0000000000 --- a/docs/src/containers/Banner/index.js +++ /dev/null @@ -1,84 +0,0 @@ -import React from "react"; - -import { useAppStars } from "@site/src/hooks/useAppStars"; -import { useAppRelease } from "@site/src/hooks/useAppRelease"; - -import { AiOutlineGithub, AiOutlineTwitter } from "react-icons/ai"; -import { BiLogoDiscordAlt } from "react-icons/bi"; - -const socials = [ - { - icon: , - href: "https://twitter.com/janframework", - }, - { - icon: , - href: "https://discord.com/invite/FTk2MvZwJH", - }, - { - icon: , - href: "https://github.com/janhq/jan", - }, -]; - -export default function AnnoncementBanner() { - const { stargazers } = useAppStars(); - const { release } = useAppRelease(); - - return ( - - ); -} diff --git a/docs/src/containers/DownloadApp/index.js b/docs/src/containers/DownloadApp/index.js deleted file mode 100644 index d1b586698c..0000000000 --- a/docs/src/containers/DownloadApp/index.js +++ /dev/null @@ -1,135 +0,0 @@ -import React, { useState, useEffect } from "react"; -import axios from "axios"; -import { FaWindows, FaApple, FaLinux } from "react-icons/fa"; -import { twMerge } from "tailwind-merge"; - -const systemsTemplate = [ - { - name: "Mac M1, M2, M3", - logo: FaApple, - fileFormat: "{appname}-mac-arm64-{tag}.dmg", - comingSoon: false, - }, - { - name: "Mac (Intel)", - logo: FaApple, - fileFormat: "{appname}-mac-x64-{tag}.dmg", - comingSoon: false, - }, - { - name: "Windows", - logo: FaWindows, - fileFormat: "{appname}-win-x64-{tag}.exe", - }, - { - name: "Linux (AppImage)", - logo: FaLinux, - fileFormat: "{appname}-linux-x86_64-{tag}.AppImage", - }, - { - name: "Linux (deb)", - logo: FaLinux, - fileFormat: "{appname}-linux-amd64-{tag}.deb", - }, -]; - -export default function DownloadApp() { - const [systems, setSystems] = useState(systemsTemplate); - - const getLatestReleaseInfo = async (repoOwner, repoName) => { - const url = `https://api.github.com/repos/${repoOwner}/${repoName}/releases/latest`; - try { - const response = await axios.get(url); - return response.data; - } catch (error) { - console.error(error); - return null; - } - }; - - const extractAppName = (fileName) => { - // Extract appname using a regex that matches the provided file formats - const regex = /^(.*?)-(?:mac|win|linux)-(?:arm64|x64|amd64|x86_64)-.*$/; - const match = fileName.match(regex); - return match ? match[1] : null; - }; - - useEffect(() => { - const updateDownloadLinks = async () => { - try { - const releaseInfo = await getLatestReleaseInfo("janhq", "jan"); - - // Extract appname from the first asset name - const firstAssetName = releaseInfo.assets[0].name; - const appname = extractAppName(firstAssetName); - - if (!appname) { - console.error( - "Failed to extract appname from file name:", - firstAssetName - ); - - return; - } - - // Remove 'v' at the start of the tag_name - const tag = releaseInfo.tag_name.startsWith("v") - ? releaseInfo.tag_name.substring(1) - : releaseInfo.tag_name; - - const updatedSystems = systems.map((system) => { - const downloadUrl = system.fileFormat - .replace("{appname}", appname) - .replace("{tag}", tag); - return { - ...system, - href: `https://github.com/janhq/jan/releases/download/${releaseInfo.tag_name}/${downloadUrl}`, - }; - }); - - setSystems(updatedSystems); - } catch (error) { - console.error("Failed to update download links:", error); - } - }; - - updateDownloadLinks(); - }, []); - - return ( -
-
- - Download for PC - -
- 🚧 - Warning: - - Jan is in the process of being built. Expect bugs! - -
-
- -
- ); -} diff --git a/docs/src/containers/Elements/dropdown.js b/docs/src/containers/Elements/dropdown.js deleted file mode 100644 index 91115c811f..0000000000 --- a/docs/src/containers/Elements/dropdown.js +++ /dev/null @@ -1,175 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { Fragment } from "react"; -import { Menu, Transition } from "@headlessui/react"; -import { ChevronDownIcon } from "@heroicons/react/20/solid"; -import axios from "axios"; -import { FaWindows, FaApple, FaLinux } from "react-icons/fa"; - -const systemsTemplate = [ - { - name: "Download for Mac (M1/M2/M3)", - logo: FaApple, - fileFormat: "{appname}-mac-arm64-{tag}.dmg", - }, - { - name: "Download for Mac (Intel)", - logo: FaApple, - fileFormat: "{appname}-mac-x64-{tag}.dmg", - }, - { - name: "Download for Windows", - logo: FaWindows, - fileFormat: "{appname}-win-x64-{tag}.exe", - }, - { - name: "Download for Linux (AppImage)", - logo: FaLinux, - fileFormat: "{appname}-linux-x86_64-{tag}.AppImage", - }, - { - name: "Download for Linux (deb)", - logo: FaLinux, - fileFormat: "{appname}-linux-amd64-{tag}.deb", - } -]; - -function classNames(...classes) { - return classes.filter(Boolean).join(" "); -} - -export default function Dropdown() { - const [systems, setSystems] = useState(systemsTemplate); - const [defaultSystem, setDefaultSystem] = useState(systems[0]); - - const getLatestReleaseInfo = async (repoOwner, repoName) => { - const url = `https://api.github.com/repos/${repoOwner}/${repoName}/releases/latest`; - try { - const response = await axios.get(url); - return response.data; - } catch (error) { - console.error(error); - return null; - } - }; - - const extractAppName = (fileName) => { - // Extract appname using a regex that matches the provided file formats - const regex = /^(.*?)-(?:mac|win|linux)-(?:arm64|x64|x86_64|amd64)-.*$/; - const match = fileName.match(regex); - return match ? match[1] : null; - }; - - const changeDefaultSystem = async (systems) => { - const userAgent = navigator.userAgent; - - if (userAgent.includes("Windows")) { - // windows user - setDefaultSystem(systems[2]); - } else if (userAgent.includes("Linux")) { - // linux user - setDefaultSystem(systems[3]); - } else if (userAgent.includes("Mac OS")) { - setDefaultSystem(systems[0]); - } else { - setDefaultSystem(systems[1]); - } - }; - - useEffect(() => { - const updateDownloadLinks = async () => { - try { - const releaseInfo = await getLatestReleaseInfo("janhq", "jan"); - - // Extract appname from the first asset name - const firstAssetName = releaseInfo.assets[0].name; - const appname = extractAppName(firstAssetName); - - if (!appname) { - console.error( - "Failed to extract appname from file name:", - firstAssetName - ); - changeDefaultSystem(systems); - return; - } - - // Remove 'v' at the start of the tag_name - const tag = releaseInfo.tag_name.startsWith("v") - ? releaseInfo.tag_name.substring(1) - : releaseInfo.tag_name; - - const updatedSystems = systems.map((system) => { - const downloadUrl = system.fileFormat - .replace("{appname}", appname) - .replace("{tag}", tag); - return { - ...system, - href: `https://github.com/janhq/jan/releases/download/${releaseInfo.tag_name}/${downloadUrl}`, - }; - }); - - setSystems(updatedSystems); - changeDefaultSystem(updatedSystems); - } catch (error) { - console.error("Failed to update download links:", error); - } - }; - - updateDownloadLinks(); - }, []); - - return ( -
- - - {defaultSystem.name} - - - - Open OS options - - - -
- {systems.map((system) => ( - setDefaultSystem(system)} - > - {({ active }) => ( - - - - {system.name} - - - )} - - ))} -
-
-
-
-
- ); -} diff --git a/docs/src/containers/Footer/index.js b/docs/src/containers/Footer/index.js deleted file mode 100644 index 3e62f579a9..0000000000 --- a/docs/src/containers/Footer/index.js +++ /dev/null @@ -1,166 +0,0 @@ -import React from "react"; - -import { AiOutlineGithub, AiOutlineTwitter } from "react-icons/ai"; -import { BiLogoDiscordAlt, BiLogoLinkedin } from "react-icons/bi"; - -const socials = [ - { - icon: , - href: "https://twitter.com/janframework", - }, - { - icon: , - href: "https://discord.com/invite/FTk2MvZwJH", - }, - { - icon: , - href: "https://github.com/janhq/jan", - }, - { - icon: , - href: "https://www.linkedin.com/company/janframework/", - } -]; - -const menus = [ - { - name: "For Developers", - child: [ - { - menu: "Documentation", - path: "/developer", - }, - { - menu: "Hardware", - path: "/hardware", - }, - { - menu: "API Reference", - path: "/api-reference", - }, - { - menu: "Changelog", - path: "https://github.com/janhq/jan/releases", - external: true, - }, - ], - }, - { - name: "Community", - child: [ - { - menu: "Github", - path: "https://github.com/janhq/jan", - external: true, - }, - { - menu: "Discord", - path: "https://discord.gg/FTk2MvZwJH", - external: true, - }, - { - menu: "Twitter", - path: "https://twitter.com/janframework", - external: true, - }, - { - menu: "LinkedIn", - path: "https://www.linkedin.com/company/janframework/", - external: true, - } - ], - }, - { - name: "Company", - child: [ - { - menu: "About", - path: "/about", - }, - { - menu: "Blog", - path: "/blog", - }, - { - menu: "Careers", - path: "https://janai.bamboohr.com/careers", - external: true, - }, - { - menu: "Newsletter", - path: "/community#newsletter", - } - ], - }, -]; - -const getCurrentYear = new Date().getFullYear(); - -export default function Footer() { - return ( -
-
-
-
-
- Jan Logo -

Jan

-
-
-

- Jan is the open-source, self-hosted  -
-  alternative to ChatGPT. -

- -
-
- {socials.map((social, i) => { - return ( - - {social.icon} - - ); - })} -
-
-
-
- {menus.map((menu, i) => { - return ( -
-

{menu.name}

- -
- ); - })} -
-
-
- - ©{getCurrentYear} Jan AI Pte Ltd. - -
-
- ); -} diff --git a/docs/src/containers/SocialButton/index.js b/docs/src/containers/SocialButton/index.js deleted file mode 100644 index 572c2210fa..0000000000 --- a/docs/src/containers/SocialButton/index.js +++ /dev/null @@ -1,47 +0,0 @@ -import React from "react"; -import { FaGithub, FaDiscord } from "react-icons/fa"; -import { RiStarSFill } from "react-icons/ri"; -import { useAppStars } from "@site/src/hooks/useAppStars"; -import { useDiscordWidget } from "@site/src/hooks/useDiscordWidget"; - -export default function SocialButton() { - const { stargazers } = useAppStars(); - const { data } = useDiscordWidget(); - - return ( -
- - - - -
-

Github

-

- - {stargazers.count} stars -

-
-
- - - - - - ); -} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css deleted file mode 100644 index deab47c88c..0000000000 --- a/docs/src/css/custom.css +++ /dev/null @@ -1,56 +0,0 @@ -/* Hide descriptions in cards without a description */ -.DocCardList--no-description .card p { - display: none; -} - -/* For dark theme */ -[data-theme='dark'] .DocSearch { - --docsearch-hit-active-color: #090a11; /* Keep the color unchanged */ -} -/* Sidebar styles based on Docusaurus light theme */ -[data-theme='light'] .head_Menu div { - font-weight: bold; - background-color: var(--ifm-background-color); - margin-left: 0.7rem; - font-size: larger; - color: var(--ifm-font-color-base); -} - -[data-theme='light'] .head_Menu li { - font-weight: normal; - background-color: var(--ifm-background-color); - margin-bottom: 5px; - color: var(--ifm-font-color-base); -} - -[data-theme='light'] .head_SubMenu div { - font-weight: normal; - background-color: var(--ifm-background-color); - margin-left: 0rem; - font-size: medium; - color: var(--ifm-font-color-base); -} - -/* Dark mode styles based on Docusaurus dark theme */ -[data-theme='dark'] .head_Menu div { - font-weight: bold; - background-color: var(--ifm-background-color); - color: var(--ifm-font-color-base); - margin-left: 0.7rem; - font-size: larger; -} - -[data-theme='dark'] .head_Menu li { - font-weight: normal; - background-color: var(--ifm-background-color); - margin-bottom: 5px; - color: var(--ifm-font-color-base); -} - -[data-theme='dark'] .head_SubMenu div { - font-weight: normal; - background-color: var(--ifm-background-color); - color: var(--ifm-font-color-base); - margin-left: 0rem; - font-size: medium; -} diff --git a/docs/src/css/custom_toc.css b/docs/src/css/custom_toc.css deleted file mode 100644 index 2410f7a06c..0000000000 --- a/docs/src/css/custom_toc.css +++ /dev/null @@ -1,5 +0,0 @@ -.custom-toc-title { - font-weight: bold; - margin-bottom: 16px; - margin-top: -20px; -} \ No newline at end of file diff --git a/docs/src/hooks/useAppRelease.js b/docs/src/hooks/useAppRelease.js deleted file mode 100644 index 2a02ea00ac..0000000000 --- a/docs/src/hooks/useAppRelease.js +++ /dev/null @@ -1,31 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import axios from "axios"; - -import { isAxiosError } from "axios"; - -export const useAppRelease = () => { - const [release, setRelease] = useState({ - tagVersion: "", - }); - - useEffect(() => { - const updateStargazers = async () => { - try { - const { data } = await axios.get( - "https://api.github.com/repos/janhq/jan/releases/latest" - ); - setRelease({ - tagVersion: data.tag_name, - }); - } catch (error) { - if (isAxiosError(error)) { - console.error("Failed to get stargazers:", error); - } - } - }; - updateStargazers(); - }, []); - - return { release }; -}; diff --git a/docs/src/hooks/useAppStars.js b/docs/src/hooks/useAppStars.js deleted file mode 100644 index 671e78b1a4..0000000000 --- a/docs/src/hooks/useAppStars.js +++ /dev/null @@ -1,30 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import axios from "axios"; -import { isAxiosError } from "axios"; - -export const useAppStars = () => { - const [stargazers, setStargazers] = useState({ - count: 0, - }); - - useEffect(() => { - const updateStargazers = async () => { - try { - const { data } = await axios.get( - "https://api.github.com/repos/janhq/jan" - ); - setStargazers({ - count: data.stargazers_count, - }); - } catch (error) { - if (isAxiosError(error)) { - console.error("Failed to get stargazers:", error); - } - } - }; - updateStargazers(); - }, []); - - return { stargazers }; -}; diff --git a/docs/src/hooks/useDiscordWidget.js b/docs/src/hooks/useDiscordWidget.js deleted file mode 100644 index b85303f8bf..0000000000 --- a/docs/src/hooks/useDiscordWidget.js +++ /dev/null @@ -1,28 +0,0 @@ -import React, { useEffect, useState } from "react"; - -import axios from "axios"; -import { isAxiosError } from "axios"; - -export const useDiscordWidget = () => { - const [data, setData] = useState({}); - - useEffect(() => { - const updateData = async () => { - try { - const { data } = await axios.get( - "https://discord.com/api/guilds/1107178041848909847/widget.json" - ); - setData({ - ...data, - }); - } catch (error) { - if (isAxiosError(error)) { - console.error("Failed to get stargazers:", error); - } - } - }; - updateData(); - }, []); - - return { data }; -}; diff --git a/docs/src/js/custom_toc.js b/docs/src/js/custom_toc.js deleted file mode 100644 index 7cda4e86a2..0000000000 --- a/docs/src/js/custom_toc.js +++ /dev/null @@ -1,9 +0,0 @@ -document.addEventListener('DOMContentLoaded', function () { - const toc = document.querySelector('.table-of-contents'); - if (toc) { - const title = document.createElement('div'); - title.className = 'custom-toc-title'; - title.innerText = 'On this page'; - toc.insertBefore(title, toc.firstChild); - } -}); \ No newline at end of file diff --git a/docs/src/pages/docs.js b/docs/src/pages/docs.js deleted file mode 100644 index 934d9471fe..0000000000 --- a/docs/src/pages/docs.js +++ /dev/null @@ -1,57 +0,0 @@ -import React from 'react'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Layout from '@theme/Layout'; -import Heading from '@theme/Heading'; -import { DocSearch } from '@docsearch/react'; -import HomepagePrimaryFeatures from '../components/HomepagePrimaryFeatures'; -import HomepageSecondaryFeatures from '../components/HomepageSecondaryFeatures'; -import HomepageTerinaryFeatures from '../components/HomepageTerinaryFeatures'; - -import styles from './docs.module.css' - -function HomepageHeader() { - const { siteConfig } = useDocusaurusContext(); - - return ( -
-
-
- - Hello, how can we help? - -
- -
- -

- Open-source ChatGPT alternative that runs 100% offline on your computer. -

-
-
- ); -} - -export default function Home() { - const { siteConfig } = useDocusaurusContext(); - return ( - -
- -
- - - -
-
-
- ); -} diff --git a/docs/src/pages/docs.module.css b/docs/src/pages/docs.module.css deleted file mode 100644 index 009ff29309..0000000000 --- a/docs/src/pages/docs.module.css +++ /dev/null @@ -1,46 +0,0 @@ -.searchBar { - background-color: white; - max-width: 580px; - height: 50px; - margin-left: auto; - margin-right: auto; - border-radius: 25px; - display: flex; - margin-bottom: 4rem; -} - -.searchBar svg { - width: 20px; - height: 20px; - align-self: center; - margin-left: 16px; - margin-right: 8px; - color: #b8c2c8; -} - -.searchBar input { - flex: auto; - border: none; - outline: none; - margin: 6px 8px 6px 6px; -} - -.searchBar input:focus { - border: none; - outline: none; -} - -.searchBar input::placeholder { - color: #b8c2c8; -} - -.searchBar button { - height: 40px; - width: 100%; - border-radius: 20px; - background-color: white; - color: gray; - align-self: center; - padding: 0px 5px; - margin: 0px 10px; -} diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js deleted file mode 100644 index b5cd6ee80f..0000000000 --- a/docs/src/pages/index.js +++ /dev/null @@ -1,340 +0,0 @@ -import React from "react"; -import DownloadApp from "@site/src/containers/DownloadApp"; - -import useBaseUrl from "@docusaurus/useBaseUrl"; -import Layout from "@theme/Layout"; -import Banner from "@site/src/containers/Banner"; - -import ThemedImage from "@theme/ThemedImage"; - -import SocialButton from "@site/src/containers/SocialButton"; - -import { IoArrowDown } from "react-icons/io5"; - -import Dropdown from "@site/src/containers/Elements/dropdown"; - -import useIsBrowser from "@docusaurus/useIsBrowser"; - -export default function Home() { - const isBrowser = useIsBrowser(); - - const handleAnchorLink = () => { - document - .getElementById("download-section") - .scrollIntoView({ behavior: "smooth" }); - }; - - const userAgent = isBrowser && navigator.userAgent; - const isBrowserChrome = isBrowser && userAgent.includes("Chrome"); - - return ( - <> - - -
-
-
- Element blur -
- Jan Logo - - Meet Jan - -
-

- Bringing AI to
your Desktop{" "} - - Element hero heading - -

-

- Open-source ChatGPT alternative that runs{" "} -
100% offline on your - computer. -

-
-
- {!isBrowserChrome ? ( -
handleAnchorLink()} - className="inline-flex px-4 py-3 rounded-lg text-lg font-semibold cursor-pointer justify-center items-center space-x-2 dark:bg-white dark:text-black bg-black text-white dark:hover:text-black hover:text-white scroll-smooth" - > - Download Jan for PC -
- ) : ( - - )} -
- -
handleAnchorLink()} - className="hidden lg:inline-block cursor-pointer" - > -
-

Find out more

- -
-
-
- -
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- Element Open Source BG -
-
- -
-
-

100% open source

-

- Our core team believes that AI should be open source, and - Jan is built in public. -

-
- -
-
-
-
-
-
- -
-
-
-
-
-

- Desktop App -

-

- - 10x productivity - {" "} - with customizable AI
{" "} - assistants, global hotkeys, and in-line AI. -

-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-

- Mobile App -

- - Coming Soon - -
-

- Take your AI assistants on the go.{" "} -
Seamless integration - into your  - - mobile
workflows -
-   with elegant features. -

-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
- Icon Offline - Icon Offline - Icon Offline -
-
-

- Offline and Local First -

-

- Conversations, preferences, and model usage stay on{" "} -
your computer—secure, - exportable, and can be deleted at any time. -

- -
-
-
-

- OpenAI Compatible -

-

- Jan provides an OpenAI-equivalent API{" "} -
server at  - localhost:  - - 1337 - {" "} - that can be used as a drop-in replacement with - compatible apps. -

- -
-
-
-

- /chats/completions -

-
-
-
-
-

- Local server and API -

-
-
-
-
-

- - Assistants framework - - - Coming Soon - -

-
-
-
-
-
-
-
- Element status -
-
-
-
-
-
-
-
-
-
- - ); -} diff --git a/docs/src/styles/components/base.scss b/docs/src/styles/components/base.scss deleted file mode 100644 index 41af09c123..0000000000 --- a/docs/src/styles/components/base.scss +++ /dev/null @@ -1,67 +0,0 @@ -@layer base { - html[data-theme="light"] { - --custom-radial-blur: #e1e7fd; - --ifm-background-color: #fff; - --ifm-color-primary: #2563eb; /* New Primary Blue */ - --ifm-color-primary-dark: #204fcf; /* Darker Blue */ - --ifm-color-primary-darker: #1b45b7; /* Even Darker Blue */ - --ifm-color-primary-darkest: #163c9d; /* Darkest Blue */ - --ifm-color-primary-light: #2974ff; /* Light Blue */ - --ifm-color-primary-lighter: #3280ff; /* Lighter Blue */ - --ifm-color-primary-lightest: #3a8bff; /* Lightest Blue */ - --ifm-code-font-size: 95%; - --ifm-navbar-link-hover-color: inherit; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - } - - html[data-theme="dark"] { - --custom-radial-blur: #1d1b48; - --ifm-background-color: #18181b; - --ifm-color-primary: #ffffff; /* New Primary Blue */ - --ifm-color-primary-dark: #204fcf; /* Darker Blue */ - --ifm-color-primary-darker: #1b45b7; /* Even Darker Blue */ - --ifm-color-primary-darkest: #163c9d; /* Darkest Blue */ - --ifm-color-primary-light: #2974ff; /* Light Blue */ - --ifm-color-primary-lighter: #3280ff; /* Lighter Blue */ - --ifm-color-primary-lightest: #3a8bff; /* Lightest Blue */ - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); - } - - pre, - code { - @apply text-sm; - } - - body { - @apply text-base; - @apply antialiased; - @apply bg-white dark:bg-[#18181B]; - } - - img { - pointer-events: none; - } - - a { - &:hover { - color: inherit; - text-decoration: none; - } - } - compatible-label { - display: inline-block; - padding: 2px 8px; - margin: 0; - background-color: #228b22; - color: #000; - font-size: 13px; - vertical-align: middle; - line-height: 1.6; - border-radius: 4px; - font-weight: var(--ifm-font-weight-bold); - } - - .btn-shadow { - box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05); - } -} diff --git a/docs/src/styles/components/card.scss b/docs/src/styles/components/card.scss deleted file mode 100644 index 0bd29b3c4a..0000000000 --- a/docs/src/styles/components/card.scss +++ /dev/null @@ -1,47 +0,0 @@ -@layer components { - .card-gradient { - background: radial-gradient( - 58.83% 95.12% at 62.37% 97.91%, - rgba(238, 203, 255, 0.59) 0%, - rgba(255, 255, 255, 0) 100% - ), - linear-gradient( - 155deg, - rgba(50, 107, 255, 0.8) 68.16%, - rgba(194, 226, 255, 0.8) 94.33% - ); - - backdrop-filter: blur(7.174633026123047px); - } - - .card-link-bg { - background: linear-gradient(180deg, #fafafa 0%, #ededed 100%); - box-shadow: - 0px 4px 12px 0px rgba(0, 0, 0, 0.12), - 0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset, - 0px 1px 1px 0px #fff inset; - } - - .card-link-bg-dark { - background: var(--color-bg-elevated, #27272a); - box-shadow: - 0px 4px 12px 0px rgba(0, 0, 0, 0.12), - 0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset, - 0px 1px 1px 0px #4c4c4c inset; - } - .card { - @apply rounded-xl border bg-gray-50 border-gray-50 dark:border-[#202231] dark:bg-[#111217]/50; - - &-link { - display: inline-flex; - padding: 8px 16px; - flex-direction: column; - justify-content: center; - align-items: center; - gap: 8px; - border-radius: 16px; - font-size: 14px; - cursor: pointer; - } - } -} diff --git a/docs/src/styles/components/typography.scss b/docs/src/styles/components/typography.scss deleted file mode 100644 index c8b85a3fb7..0000000000 --- a/docs/src/styles/components/typography.scss +++ /dev/null @@ -1,30 +0,0 @@ -h1, -.h1 { - font-size: 40px; - @apply font-bold text-black dark:text-white; -} -h2, -.h2 { - font-size: 32px; - @apply font-bold text-black dark:text-white; -} -h3, -.h3 { - font-size: 28px; - @apply font-bold text-black dark:text-white; -} -h4, -.h4 { - font-size: 24px; - @apply font-bold text-black dark:text-white; -} -h5, -.h5 { - font-size: 20px; - @apply font-bold text-black dark:text-white; -} -h6, -.h6 { - font-size: 16px; - @apply font-bold text-black dark:text-white; -} diff --git a/docs/src/styles/main.scss b/docs/src/styles/main.scss deleted file mode 100644 index 4c6fc71511..0000000000 --- a/docs/src/styles/main.scss +++ /dev/null @@ -1,15 +0,0 @@ -@import "tailwindcss/base"; -@import "tailwindcss/components"; -@import "tailwindcss/utilities"; - -@import "./components/base.scss"; -@import "./components/typography.scss"; -@import "./components/card.scss"; - -@import "./tweaks/navbar.scss"; -@import "./tweaks/breadcrumb.scss"; -@import "./tweaks/markdown.scss"; -@import "./tweaks/redocusaurus.scss"; -@import "./tweaks/sidebar.scss"; - -@import "../css/custom.css"; \ No newline at end of file diff --git a/docs/src/styles/tweaks/breadcrumb.scss b/docs/src/styles/tweaks/breadcrumb.scss deleted file mode 100644 index 9091f83866..0000000000 --- a/docs/src/styles/tweaks/breadcrumb.scss +++ /dev/null @@ -1,18 +0,0 @@ -.breadcrumbs { - @apply mb-8; - - &__item { - position: relative; - &:first-child { - .breadcrumbs__link { - vertical-align: middle; - margin-top: -2px; - } - } - } - - &__link { - padding-top: 2px; - padding-bottom: 2px; - } -} diff --git a/docs/src/styles/tweaks/markdown.scss b/docs/src/styles/tweaks/markdown.scss deleted file mode 100644 index 7ae2772d22..0000000000 --- a/docs/src/styles/tweaks/markdown.scss +++ /dev/null @@ -1,58 +0,0 @@ -.theme-doc-markdown, -.markdown { - a, - p, - span, - li { - @apply leading-relaxed; - } - a { - @apply text-blue-600 dark:text-blue-400; - } - ul { - list-style: revert; - } - ol { - list-style: decimal; - } - ul, - ol { - padding-left: 28px; - li { - p { - margin-bottom: 0; - } - } - } - p { - @apply mb-2; - } - h1 { - &:first-child { - @apply mb-4; - } - } - - h1, - h2, - h3 { - @apply mb-2; - } - - table { - width: 100%; - display: table; - } - - p { - margin-bottom: 16px; - } -} - -.task-list-item { - list-style: none; -} - -blockquote { - margin-bottom: 12px; -} diff --git a/docs/src/styles/tweaks/navbar.scss b/docs/src/styles/tweaks/navbar.scss deleted file mode 100644 index 789c2f48af..0000000000 --- a/docs/src/styles/tweaks/navbar.scss +++ /dev/null @@ -1,25 +0,0 @@ -.navbar { - @apply bg-transparent py-0 shadow-none px-0; - - &__inner { - @apply border border-gray-200 dark:border-gray-800 bg-white/80 dark:bg-[#09090B]/50 backdrop-blur-md flex items-center h-14 px-4 lg:px-8 relative; - } - - &__logo { - @apply flex items-center; - } - - &__brand { - &:hover { - @apply dark:text-white text-black; - } - } - - &__title { - font-size: 18px; - } - - [class*="searchBox_"] { - display: none; - } -} diff --git a/docs/src/styles/tweaks/redocusaurus.scss b/docs/src/styles/tweaks/redocusaurus.scss deleted file mode 100644 index debebf6186..0000000000 --- a/docs/src/styles/tweaks/redocusaurus.scss +++ /dev/null @@ -1,33 +0,0 @@ -.redocusaurus { - .menu-content { - top: 80px !important; - background-color: transparent; - } - - .redoc-markdown { - margin-top: 8px; - } - - .scrollbar-container { - ul > li > label { - margin-bottom: 4px; - background-color: transparent; - padding-top: 4px; - padding-bottom: 4px; - font-size: 16px; - font-weight: 700; - color: var(--ifm-menu-color); - } - - ul > li > ul > li > label { - background-color: transparent; - font-weight: 500; - &:hover { - @apply dark:bg-gray-800/50 bg-gray-100; - } - &.active { - @apply dark:bg-gray-800/50 bg-gray-100; - } - } - } -} diff --git a/docs/src/styles/tweaks/sidebar.scss b/docs/src/styles/tweaks/sidebar.scss deleted file mode 100644 index 02fed8ce88..0000000000 --- a/docs/src/styles/tweaks/sidebar.scss +++ /dev/null @@ -1,53 +0,0 @@ -// * Classname from Docusaurus template -// * We just overide the styling with applied class from tailwind - -[class*='docSidebarContainer_'] { - margin-top: 0 !important; - @apply dark:border-gray-800 border-gray-300; -} - -[class*='sidebar_'] { - padding-top: 0px !important; -} - -.navbar-sidebar__back { - padding-top: 20px !important; -} - -[class*='sidebarViewport_'] { - top: 80px !important; - // height: unset !important; -} - -[class*='docItemCol_'] { - @apply lg:px-8; -} - -// * Including custom sidebar table of content -.table-of-contents { - @apply text-sm py-0 dark:border-gray-800 border-gray-300; -} - -.menu__caret:before { - background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem; -} - -[class*='codeBlockContainer_'] { - margin: 4px; -} - -[class*='codeBlockTitle_'] { - border-bottom: 1px solid #52525a !important; -} - -[class*='iconExternalLink_'] { - display: none; -} - -[class*='docMainContainer'] { - @media (min-width: 1440px) { - .container { - max-width: var(--ifm-container-width-xl); - } - } -} diff --git a/docs/src/theme/DocCard/assets/amiss.png b/docs/src/theme/DocCard/assets/amiss.png deleted file mode 100644 index 662d3d8892..0000000000 Binary files a/docs/src/theme/DocCard/assets/amiss.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/azure.png b/docs/src/theme/DocCard/assets/azure.png deleted file mode 100644 index df6f6cd8bf..0000000000 Binary files a/docs/src/theme/DocCard/assets/azure.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/broken.png b/docs/src/theme/DocCard/assets/broken.png deleted file mode 100644 index d669db2b38..0000000000 Binary files a/docs/src/theme/DocCard/assets/broken.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/continueint.png b/docs/src/theme/DocCard/assets/continueint.png deleted file mode 100644 index 8421c84072..0000000000 Binary files a/docs/src/theme/DocCard/assets/continueint.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/denied.png b/docs/src/theme/DocCard/assets/denied.png deleted file mode 100644 index 0f41f4a297..0000000000 Binary files a/docs/src/theme/DocCard/assets/denied.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/discord.png b/docs/src/theme/DocCard/assets/discord.png deleted file mode 100644 index e545b3fcf6..0000000000 Binary files a/docs/src/theme/DocCard/assets/discord.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/engine.png b/docs/src/theme/DocCard/assets/engine.png deleted file mode 100644 index a18faa1ce5..0000000000 Binary files a/docs/src/theme/DocCard/assets/engine.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/gpu.png b/docs/src/theme/DocCard/assets/gpu.png deleted file mode 100644 index 83e357d74d..0000000000 Binary files a/docs/src/theme/DocCard/assets/gpu.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/import.png b/docs/src/theme/DocCard/assets/import.png deleted file mode 100644 index c1995e0919..0000000000 Binary files a/docs/src/theme/DocCard/assets/import.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/issue.png b/docs/src/theme/DocCard/assets/issue.png deleted file mode 100644 index 6658fcd470..0000000000 Binary files a/docs/src/theme/DocCard/assets/issue.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/lm.png b/docs/src/theme/DocCard/assets/lm.png deleted file mode 100644 index ce703ece33..0000000000 Binary files a/docs/src/theme/DocCard/assets/lm.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/logs-error.png b/docs/src/theme/DocCard/assets/logs-error.png deleted file mode 100644 index f161c7baba..0000000000 Binary files a/docs/src/theme/DocCard/assets/logs-error.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/manual.png b/docs/src/theme/DocCard/assets/manual.png deleted file mode 100644 index 1d74b4cad2..0000000000 Binary files a/docs/src/theme/DocCard/assets/manual.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/mistral.png b/docs/src/theme/DocCard/assets/mistral.png deleted file mode 100644 index 1a64414d71..0000000000 Binary files a/docs/src/theme/DocCard/assets/mistral.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/ollama.png b/docs/src/theme/DocCard/assets/ollama.png deleted file mode 100644 index 5f5fd4c8f3..0000000000 Binary files a/docs/src/theme/DocCard/assets/ollama.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/openinter.png b/docs/src/theme/DocCard/assets/openinter.png deleted file mode 100644 index 955f7cfb95..0000000000 Binary files a/docs/src/theme/DocCard/assets/openinter.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/openrouter.png b/docs/src/theme/DocCard/assets/openrouter.png deleted file mode 100644 index 17090d2b29..0000000000 Binary files a/docs/src/theme/DocCard/assets/openrouter.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/raycast.png b/docs/src/theme/DocCard/assets/raycast.png deleted file mode 100644 index 88a20d3ecb..0000000000 Binary files a/docs/src/theme/DocCard/assets/raycast.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/remote.png b/docs/src/theme/DocCard/assets/remote.png deleted file mode 100644 index a52cbf46a5..0000000000 Binary files a/docs/src/theme/DocCard/assets/remote.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/setup.png b/docs/src/theme/DocCard/assets/setup.png deleted file mode 100644 index a230704dc9..0000000000 Binary files a/docs/src/theme/DocCard/assets/setup.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/token.png b/docs/src/theme/DocCard/assets/token.png deleted file mode 100644 index 6de7d942b0..0000000000 Binary files a/docs/src/theme/DocCard/assets/token.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.2.0.png b/docs/src/theme/DocCard/assets/v0.2.0.png deleted file mode 100644 index a08219e027..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.2.0.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.2.1.png b/docs/src/theme/DocCard/assets/v0.2.1.png deleted file mode 100644 index 2883bf8e89..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.2.1.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.2.2.png b/docs/src/theme/DocCard/assets/v0.2.2.png deleted file mode 100644 index f510e58eca..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.2.2.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.2.3.png b/docs/src/theme/DocCard/assets/v0.2.3.png deleted file mode 100644 index 92312d4a00..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.2.3.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.3.0.png b/docs/src/theme/DocCard/assets/v0.3.0.png deleted file mode 100644 index 0f86d3596b..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.3.0.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.3.1.png b/docs/src/theme/DocCard/assets/v0.3.1.png deleted file mode 100644 index 9721c42b67..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.3.1.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.3.2.png b/docs/src/theme/DocCard/assets/v0.3.2.png deleted file mode 100644 index ba8b0cdc89..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.3.2.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.3.3.png b/docs/src/theme/DocCard/assets/v0.3.3.png deleted file mode 100644 index ab7131077c..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.3.3.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.0.png b/docs/src/theme/DocCard/assets/v0.4.0.png deleted file mode 100644 index 7b474aee7e..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.0.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.1.png b/docs/src/theme/DocCard/assets/v0.4.1.png deleted file mode 100644 index 7b39350454..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.1.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.2.png b/docs/src/theme/DocCard/assets/v0.4.2.png deleted file mode 100644 index 390dd3acf3..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.2.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.3.png b/docs/src/theme/DocCard/assets/v0.4.3.png deleted file mode 100644 index 61add950b0..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.3.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.4.png b/docs/src/theme/DocCard/assets/v0.4.4.png deleted file mode 100644 index 1989a47d37..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.4.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.5.png b/docs/src/theme/DocCard/assets/v0.4.5.png deleted file mode 100644 index 677b548ea7..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.5.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.6.png b/docs/src/theme/DocCard/assets/v0.4.6.png deleted file mode 100644 index 5f31b48ecd..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.6.png and /dev/null differ diff --git a/docs/src/theme/DocCard/assets/v0.4.7.png b/docs/src/theme/DocCard/assets/v0.4.7.png deleted file mode 100644 index e5f09c00d9..0000000000 Binary files a/docs/src/theme/DocCard/assets/v0.4.7.png and /dev/null differ diff --git a/docs/src/theme/DocCard/index.js b/docs/src/theme/DocCard/index.js deleted file mode 100644 index b0723058b3..0000000000 --- a/docs/src/theme/DocCard/index.js +++ /dev/null @@ -1,206 +0,0 @@ -import React from 'react'; -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; -import { - findFirstSidebarItemLink, - useDocById, -} from '@docusaurus/theme-common/internal'; -import isInternalUrl from '@docusaurus/isInternalUrl'; -import {translate} from '@docusaurus/Translate'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; -import engine from './assets/engine.png'; -import remote from './assets/remote.png'; -import manual from './assets/manual.png'; -import v047 from './assets/v0.4.7.png'; -import v046 from './assets/v0.4.6.png'; -import v045 from './assets/v0.4.5.png'; -import v044 from './assets/v0.4.4.png'; -import v043 from './assets/v0.4.3.png'; -import v042 from './assets/v0.4.2.png'; -import v041 from './assets/v0.4.1.png'; -import v040 from './assets/v0.4.0.png'; -import v033 from './assets/v0.3.3.png'; -import v032 from './assets/v0.3.2.png'; -import v031 from './assets/v0.3.1.png'; -import v030 from './assets/v0.3.0.png'; -import v023 from './assets/v0.2.3.png'; -import v022 from './assets/v0.2.2.png'; -import v021 from './assets/v0.2.1.png'; -import v020 from './assets/v0.2.0.png'; -import setup from './assets/setup.png'; -import importex from './assets/import.png'; -import continueint from './assets/continueint.png'; -import discord from './assets/discord.png'; -import raycast from './assets/raycast.png'; -import azure from './assets/azure.png'; -import openinter from './assets/openinter.png'; -import openrouter from './assets/openrouter.png'; -import denied from './assets/denied.png'; -import token from './assets/token.png'; -import issue from './assets/issue.png'; -import amiss from './assets/amiss.png'; -import broken from './assets/broken.png'; -import gpu from './assets/gpu.png'; -import mistral from './assets/mistral.png'; -import lm from './assets/lm.png'; -import ollama from './assets/ollama.png'; -import logsError from './assets/logs-error.png'; - -function CardContainer({href, children}) { - return ( - - {children} - - ); -} -function CardLayout({href, icon, title, description}) { - return ( - - - {icon} {title} - - {description && ( -

- {description} -

- )} -
- ); -} -function CardCategory({item}) { - const href = findFirstSidebarItemLink(item); - // Unexpected: categories that don't have a link have been filtered upfront - if (!href) { - return null; - } - return ( - - ); -} -function CardLink({item}) { - // const icon = isInternalUrl(item.href) ? '📄ī¸' : '🔗'; - const icon = (item.label === "Customize Engine Settings") ? ( - Logo - ) : (item.label === "Remote Server Integration") ? ( - Logo - ) : (item.label === "Manual Import") ? ( - Logo - ) : (item.label === "v0.4.7") ? ( - Logo - ) : (item.label === "v0.4.6") ? ( - Logo - ) : (item.label === "v0.4.5") ? ( - Logo - ) : (item.label === "v0.4.4") ? ( - Logo - ) : (item.label === "v0.4.3") ? ( - Logo - ) : (item.label === "v0.4.2") ? ( - Logo - ) : (item.label === "v0.4.1") ? ( - Logo - ) : (item.label === "v0.4.0") ? ( - Logo - ) : (item.label === "v0.3.3") ? ( - Logo - ) : (item.label === "v0.3.2") ? ( - Logo - ) : (item.label === "v0.3.1") ? ( - Logo - ) : (item.label === "v0.3.0") ? ( - Logo - ) : (item.label === "v0.2.3") ? ( - Logo - ) : (item.label === "v0.2.2") ? ( - Logo - ) : (item.label === "v0.2.1") ? ( - Logo - ) : (item.label === "v0.2.0") ? ( - Logo - ) : (item.label === "Extension Setup") ? ( - Logo - ) : (item.label === "Import Extensions") ? ( - Logo - ) : (item.label === "Continue") ? ( - Logo - ) : (item.label === "OpenRouter") ? ( - Logo - ) : (item.label === "Azure OpenAI") ? ( - Logo - ) : (item.label === "Raycast") ? ( - Logo - ) : (item.label === "Discord") ? ( - Logo - ) : (item.label === "Open Interpreter") ? ( - Logo - ) : (item.label === "Permission Denied") ? ( - Logo - ) : (item.label === "Unexpected Token") ? ( - Logo - ) : (item.label === "Undefined Issue") ? ( - Logo - ) : (item.label === "Something's Amiss") ? ( - Logo - ) : (item.label === "Broken Build") ? ( - Logo - ) : (item.label === "Troubleshooting NVIDIA GPU") ? ( - Logo - ) : (item.label === "Mistral AI") ? ( - Logo - ) : (item.label === "LM Studio") ? ( - Logo - ) : (item.label === "Ollama") ? ( - Logo - ) : (item.label === "How to Get Error Logs") ? ( - Logo - ) : ( - // If not "Customize Engine Settings", use default icon - '📄ī¸' - ); - - - - const doc = useDocById(item.docId ?? undefined); - return ( - - ); -} -export default function DocCard({item}) { - switch (item.type) { - case 'link': - return ; - case 'category': - return ; - default: - throw new Error(`unknown item type ${JSON.stringify(item)}`); - } -} \ No newline at end of file diff --git a/docs/src/theme/DocCard/styles.module.css b/docs/src/theme/DocCard/styles.module.css deleted file mode 100644 index 6868fd4366..0000000000 --- a/docs/src/theme/DocCard/styles.module.css +++ /dev/null @@ -1,30 +0,0 @@ -.cardContainer { - --ifm-link-color: var(--ifm-color-emphasis-800); - --ifm-link-hover-color: var(--ifm-color-emphasis-700); - --ifm-link-hover-decoration: none; - - box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%); - border: 1px solid var(--ifm-color-emphasis-200); - transition: all var(--ifm-transition-fast) ease; - transition-property: border, box-shadow; - height: 150px; -} - -.cardContainer:hover { - border-color: var(--ifm-color-primary); - box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%); -} - -.cardContainer *:last-child { - margin-bottom: 0; -} - -.cardTitle { - font-size: 1.2rem; - display: flex; - align-items: center; -} - -.cardDescription { - font-size: 0.8rem; -} diff --git a/docs/src/theme/Layout/Provider/index.js b/docs/src/theme/Layout/Provider/index.js deleted file mode 100644 index 1940672e24..0000000000 --- a/docs/src/theme/Layout/Provider/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { composeProviders } from "@docusaurus/theme-common"; -import { - ColorModeProvider, - AnnouncementBarProvider, - DocsPreferredVersionContextProvider, - ScrollControllerProvider, - NavbarProvider, - PluginHtmlClassNameProvider, -} from "@docusaurus/theme-common/internal"; -const Provider = composeProviders([ - ColorModeProvider, - AnnouncementBarProvider, - ScrollControllerProvider, - DocsPreferredVersionContextProvider, - PluginHtmlClassNameProvider, - NavbarProvider, -]); -export default function LayoutProvider({ children }) { - return {children}; -} diff --git a/docs/src/theme/Layout/index.js b/docs/src/theme/Layout/index.js deleted file mode 100644 index 9c2ae32dbd..0000000000 --- a/docs/src/theme/Layout/index.js +++ /dev/null @@ -1,69 +0,0 @@ -import React from "react"; -import clsx from "clsx"; -import ErrorBoundary from "@docusaurus/ErrorBoundary"; -import { - PageMetadata, - SkipToContentFallbackId, - ThemeClassNames, -} from "@docusaurus/theme-common"; -import { useKeyboardNavigation } from "@docusaurus/theme-common/internal"; -import SkipToContent from "@theme/SkipToContent"; -import AnnouncementBar from "@theme/AnnouncementBar"; -import Navbar from "@theme/Navbar"; -import Footer from "@site/src/containers/Footer"; -import LayoutProvider from "@theme/Layout/Provider"; -import ErrorPageContent from "@theme/ErrorPageContent"; -import styles from "./styles.module.scss"; -import NavBarExtension from "../NavbarExtension"; -import { useLocation } from "react-router-dom"; - -const allowedPaths = ["/docs/", "/developer/", "/api-reference/", "/guides/", "/guides", "/docs", "/developer", "/api-reference", "/changelog"]; - -export default function Layout(props) { - const { - children, - noFooter, - wrapperClassName, - // Not really layout-related, but kept for convenience/retro-compatibility - title, - description, - } = props; - useKeyboardNavigation(); - - const location = useLocation(); - - const isAllowedPath = allowedPaths.some(path => location.pathname.startsWith(path)); - - return ( - - - - - - - - - - {isAllowedPath ? : ""} - - {/* {console.log("Is allowed path?", location.pathname)} */} - - -
- }> - {children} - -
- - {!noFooter &&