diff --git a/.env b/.env new file mode 100644 index 00000000..4048b604 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +GTM_ID=xxxx \ No newline at end of file diff --git a/.env.example b/.env.example index 66b9c4fb..4048b604 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1 @@ -GTM_ID=xxxx -ALGOLIA_API_KEY=xxxx -ALGOLIA_APP_ID=xxxx \ No newline at end of file +GTM_ID=xxxx \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..bffb357a --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.github/workflows/jan-docs.yml b/.github/workflows/jan-docs.yml index d8ee39a5..108b9ebd 100644 --- a/.github/workflows/jan-docs.yml +++ b/.github/workflows/jan-docs.yml @@ -5,8 +5,6 @@ on: branches: - main pull_request: - branches: - - main # 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 @@ -47,7 +45,7 @@ jobs: - name: Install dependencies run: yarn install - name: Build website - run: sed -i '/process.env.DEBUG = namespaces;/c\// process.env.DEBUG = namespaces;' ./node_modules/debug/src/node.js && yarn build + run: export NODE_ENV=production && yarn build && cp _redirects out/_redirects - name: Publish to Cloudflare Pages PR Preview and Staging if: github.event_name == 'pull_request' @@ -56,7 +54,7 @@ jobs: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} projectName: ${{ env.CLOUDFLARE_PROJECT_NAME }} - directory: ./build + directory: ./out # Optional: Enable this if you want to have GitHub Deployments triggered gitHubToken: ${{ secrets.GITHUB_TOKEN }} id: deployCloudflarePages @@ -67,23 +65,14 @@ jobs: message: | Preview URL: ${{ steps.deployCloudflarePages.outputs.url }} - - name: Add Custome Domain file + - name: Publish to Cloudflare Pages Production if: github.event_name == 'push' && github.ref == 'refs/heads/main' && github.event.pull_request.head.repo.full_name != github.repository - run: echo "${{ vars.DOCUSAURUS_DOMAIN }}" > ./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/main' && github.event.pull_request.head.repo.full_name != github.repository - uses: peaceiris/actions-gh-pages@v3 + uses: cloudflare/pages-action@v1 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - # Build output to publish to the `gh-pages` branch: - publish_dir: ./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 + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + projectName: ${{ env.CLOUDFLARE_PROJECT_NAME }} + directory: ./out + branch: main + # Optional: Enable this if you want to have GitHub Deployments triggered + gitHubToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index b2d6de30..00bba9bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,37 @@ -# Dependencies +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies /node_modules +/.pnp +.pnp.js +.yarn/install-state.gz -# Production -/build +# testing +/coverage -# Generated files -.docusaurus -.cache-loader +# next.js +/.next/ +/out/ + +# production +/build -# Misc +# misc .DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local +*.pem +# debug npm-debug.log* yarn-debug.log* yarn-error.log* + +# local env files +.env*.local +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..fc8972f9 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +.next/ +node_modules/ +dist/ +*.mdx +*.hbs \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..a4207953 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "semi": false, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "es5", + "endOfLine": "auto" +} diff --git a/README.md b/README.md index 35eed96b..11b68f26 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Website & Docs -This website is built using [Docusaurus 3.0](https://docusaurus.io/), a modern static website generator. +This website is built using [Nextra](https://nextra.site/), a modern static website generator. ### Information Architecture @@ -16,19 +16,6 @@ We try to **keep routes consistent** to maintain SEO. - **`/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/main/CONTRIBUTING.md) for more comprehensive information on how to contribute to the Jan project. @@ -43,7 +30,7 @@ Refer to the [Contributing Guide](https://github.com/janhq/jan/blob/main/CONTRIB ```bash cd jan/docs yarn install -yarn start +yarn dev ``` This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. @@ -76,11 +63,4 @@ If you are using GitHub pages for hosting, this command is a convenient way to b - 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. +- The documentation will then be published to [https://jan.ai/](https://jan.ai/) when the pull request is merged to `main`. diff --git a/_redirects b/_redirects new file mode 100644 index 00000000..ddce52b9 --- /dev/null +++ b/_redirects @@ -0,0 +1,275 @@ +/team /about/teams 302 +/docs/troubleshooting/failed-to-fetch /docs/troubleshooting 302 +/guides/troubleshooting/gpu-not-used /docs/troubleshooting 302 +/guides/troubleshooting /docs/troubleshootin 302 +/docs/troubleshooting/stuck-on-broken-build /docs/troubleshooting 302 +/docs/troubleshooting/somethings-amiss /docs/troubleshooting 302 +/docs/troubleshooting/how-to-get-error-logs /docs/troubleshooting 302 +/docs/troubleshooting/permission-denied /docs/troubleshooting 302 +/docs/troubleshooting/unexpected-token /docs/troubleshooting 302 +/docs/troubleshooting/undefined-issue /docs/troubleshooting 302 +/getting-started/troubleshooting /docs/troubleshooting 302 +/docs/troubleshooting/gpu-not-used /docs/troubleshooting 302 +/guides/integrations/openrouter /docs/integrations/openroute, 302 +/docs/integrations /docs/integratis/ 302 +/guides/integrations/continue /docs/integrations/vscode 302 +/docs/extension-capabilities /docs/extensions 302 +/guides/using-extensions /docs/extensions 302 +/docs/extension-guides /docs/extensions 302 +/features/extensions /docs/extensions 302 +/integrations/tensorrt /docs/engines-localensorrt 302 +/guides/using-models/integrate-with-remote-server /docs/engines-remote/remote-server-integration, 302 +/guides/using-models/customize-engine-settings /docs/engines-local/llamacpp/ 302 +/guides/troubleshooting/gpu-not-used /docs/engines-local/ollama/ 302 +/developers/plugins/azure-openai /docs/inferences/openai 302 +/docs/api-reference/assistants /api-reference#tag/assistants 302 +/docs/api-reference/models/list /api-reference#tag/models 302 +/docs/api-reference/threads /api-reference#tag/chat/post/chat/completions 302 +/docs/api-reference/messages /api-reference#tag/messages 302 +/docs/api-reference/models /api-reference#tag/models 302 +/chat /docs/threads/ 302 +/guides/chatting/manage-history /docs/threads/ 302 +/guides/chatting/start-thread /docs/threads/ 302 +/guides/using-server /docs/local-api/ 302 +/guides/using-server/server /docs/local-api#step-2-srt-and-use-the-built-in-api-server 302 +/docs/local-api /docs/local-i/ 302 +/guides/server /docs/localpi/ 302 +/docs/get-started /docs 302 +/guides/how-jan-works /docs/quickstart 302 +/acknowledgements /about/acknowledgements 302 +/community /about/community 302 +/faq /about/faq 302 +/how-we-work /about/how-we-work 302 +/wall-of-love /about/wall-of-love 302 +/guides/troubleshooting/failed-to-fetch /docs/troubleshooting 302 +/guides/troubleshooting/gpu-not-used /docs/troubleshooting 302 +/docs/troubleshooting/gpu-not-used /docs/troubleshooting 302 +/docs/troubleshooting/failed-to-fetch /docs/troubleshooting 302 +/guides/ /docs 302 +/guides/quickstart/ /docs/quickstart 302 +/guides/models/ /docs/models 302 +/guides/threads/ /docs/threads 302 +/guides/local-api/ /docs/local-api 302 +/guides/advanced/ /docs/advanced 302 +/guides/engines/llamacpp/ /docs/inferences/llamacpp 302 +/guides/engines/tensorrt-llm/ /docs/inferences/tensorrtllm 302 +/guides/engines/lmstudio/ /docs/inferences/lmstudio 302 +/guides/engines/ollama/ /docs/inferences/ollama 302 +/guides/engines/groq/ /docs/inferences/groq 302 +/guides/engines/mistral/ /docs/inferences/mistralai 302 +/guides/engines/openai/ /docs/inferences/openai 302 +/guides/engines/remote-server/ /docs/inferences/remote-server-integration 302 +/extensions/ /docs/extensions 302 +/integrations/discord/ /docs/integrations/discord 302 +/integrations/interpreter/ /docs/integrations/interpreter 302 +/integrations/raycast/ /docs/integrations/raycast 302 +/integrations/openrouter/ /docs/integrations/router 302 +/integrations/continue/ /docs/integrations/vscode 302 +/troubleshooting/ /docs/troubleshooting 302 +/changelog/changelog-v0.4.9/ /changelog 302 +/changelog/changelog-v0.4.8/ /changelog 302 +/changelog/changelog-v0.4.7/ /changelog 302 +/changelog/changelog-v0.4.6/ /changelog 302 +/changelog/changelog-v0.4.5/ /changelog 302 +/changelog/changelog-v0.4.4/ /changelog 302 +/changelog/changelog-v0.4.3/ /changelog 302 +/changelog/changelog-v0.4.2/ /changelog 302 +/changelog/changelog-v0.4.1/ /changelog 302 +/changelog/changelog-v0.4.0/ /changelog 302 +/changelog/changelog-v0.3.3/ /changelog 302 +/changelog/changelog-v0.3.2/ /changelog 302 +/changelog/changelog-v0.3.1/ /changelog 302 +/changelog/changelog-v0.3.0/ /changelog 302 +/changelog/changelog-v0.2.3/ /changelog 302 +/changelog/changelog-v0.2.2/ /changelog 302 +/changelog/changelog-v0.2.1/ /changelog 302 +/changelog/changelog-v0.2.0/ /changelog 302 +/team/ /about/teams 302 +/team/contributor-program/ /about/teams/contributor-program 302 +/team/join-us/ /about/teams/join-us 302 +/how-we-work/ /about/how-we-work 302 +/how-we-work/strategy/ /about/how-we-work/strategy 302 +/how-we-work/project-management/ /about/how-we-work/project-management 302 +/engineering/ /about/how-we-work/engineering 302 +/engineering/ci-cd/ /about/how-we-work/engineering/ci-cd 302 +/engineering/qa/ /about/how-we-work/engineering/qa 302 +/how-we-work/product-design/ /about/how-we-work/product-design 302 +/how-we-work/analytics/ /about/how-we-work/analytics 302 +/how-we-work/website-docs/ /about/how-we-work/website-docs 302 +/blog/postmortems/january-10-2024-bitdefender-false-positive-flag/ /post/bitdefender 302 +/guides/error-codes/something-amiss/ /docs/troubleshooting#somethings-amiss 302 +/guides/error-codes/how-to-get-error-logs/ /docs/troubleshooting#how-to-get-error-logs 302 +/guides/chatting/ /docs/threads 302 +/guides/integration/openinterpreter/ /docs/integrations/interpreter 302 +/developer/build-assistant/ /docs/assistants 302 +/guides/integrations/ /docs/integrations 302 +/specs/hub/ /developer/framework/product/hub 302 +/install/windows/ /docs/installation/desktop 302 +/install/linux/ /docs/installation/desktop 302 +/install/nightly/ /docs/installation/desktop 302 +/docs/engineering/fine-tuning/ /developer/framework/engineering/fine-tuning 302 +/developer/assistant/ /docs/assistants 302 +/guides/common-error/broken-build/ /docs/troubleshooting#broken-build 302 +/guides/using-server/using-server/ /docs/local-api 302 +/guides/integrations/azure-openai-service/ /docs/inferences/openai 302 +/specs/messages/ /developer/framework/engineering/messages 302 +/docs/engineering/models/ /developer/framework/engineering/models 302 +/docs/specs/assistants/ /developer/framework/engineering/assistants 302 +/docs/engineering/chats/ /developer/framework/engineering/chats 302 +/guides/using-extensions/extension-settings/ /docs/extensions 302 +/guides/models/customize-engine/ /docs/models 302 +/guides/integration/mistral/ /docs/inferences/mistralai 302 +/guides/common-error/ /docs/troubleshooting 302 +/guides/integrations/ollama/ /docs/inferences/ollama 302 +/server-suite/ /api-reference 302 +/guides/integrations/lmstudio/ /docs/inferences/lmstudio 302 +/guides/integrations/mistral-ai/ /docs/inferences/mistralai 302 +/guides/start-server/ /docs/local-api 302 +/guides/changelog/ /changelog 302 +/guides/models-list/ /docs/models 302 +/guides/thread/ /docs/threads 302 +/docs/engineering/messages/ /developer/framework/engineering/messages 302 +/guides/faqs/ /about/faq 302 +/docs/integrations/openrouter/ /docs/integrations/router 302 +/guides/windows /docs/installation/desktop 302 +/docs/integrations/ollama/ /docs/inferences/ollama 302 +/api/overview/ /api-reference 302 +/docs/extension-guides/ /docs/extensions 302 +/specs/settings/ /developer/framework/product/settings 302 +/docs/UI/ /developer/user-interface 302 +/guides/using-models/import-models-using-absolute-filepath/ /docs/models 302 +/install/docker/ /docs/installation/server 302 +/v1/models /docs/models 302 +/guides/using-models/import-manually/ /docs/models 302 +/docs/team/contributor-program/ /about/teams/contributor-program 302 +/docs/modules/models /docs/models 302 +/getting-started/install/linux /docs/installation/desktop 302 +/guides/chatting/start-thread/ /docs/threads 302 +/api/files/ /developer/framework/engineering/files 302 +/specs/threads/ /developer/framework/engineering/threads 302 +/about/brand-assets /about 302 +/guides/chatting/upload-images/ /docs/threads 302 +/guides/using-models/customize-models/ /docs/models 302 +/docs/modules/models/ /docs/models 302 +/getting-started/install/linux/ /docs/installation/desktop 302 +/specs/chats/ /developer/framework/engineering/chats 302 +/specs/engine/ /developer/framework/engineering/engine 302 +/specs/data-structures /developer/file-based 302 +/docs/extension-capabilities/ /docs/extensions 302 +/docs/get-started/use-local-server/ /docs/local-api 302 +/guides/how-jan-works/ /about/how-we-work 302 +/guides/install/cloud-native /docs/installation/server 302 +/guides/windows/ /docs/installation/desktop 302 +/specs/ /developer/framework 302 +/docs/get-started/build-extension/ /docs/extensions 302 +/specs/files/ /developer/framework/engineering/files 302 +/guides/using-models/package-models/ /docs/models 302 +/install/overview/ /docs/installation/desktop 302 +/docs/get-started/extension-anatomy/ /docs/extensions 302 +/docs/get-started/ /docs 302 +/guides/mac/ /docs/installation/desktop 302 +/intro/ /about 302 +/specs/fine-tuning/ /developer/framework/engineering/fine-tuning 302 +/guides/server/ /docs/installation/server 302 +/specs/file-based/ /developer/file-based 302 +/docs/extension-guides/monitoring/ /docs/extensions 302 +/api/ /api-reference 302 +/getting-started/build-an-app /docs/quickstart 302 +/features/ai-models/ /docs/models 302 +/reference/store/ /api-reference 302 +/tutorials/build-chat-app /docs/quickstart 302 +/features/acceleration /docs/inferences/llamacpp 302 +/getting-started/install/mac /docs/installation/desktop 302 +docs/guides/fine-tuning/what-models-can-be-fine-tuned /developer/framework/engineering/fine-tuning 302 +/docs/specs/threads /developer/framework/engineering/threads 302 +/docs/api-reference/fine-tuning /api-reference 302 +/docs/guides/speech-to-text/prompting /docs/quickstart 302 +/docs/guides/legacy-fine-tuning/analyzing-your-fine-tuned-model /developer/framework/engineering/fine-tuning 302 +/getting-started/install/windows /docs/installation/desktop 302 +/docs/modules/assistants /docs/assistants 302 +/docs/modules/chats /docs/threads 302 +/docs/specs/chats /developer/framework/engineering/chats 302 +/docs/modules/files /developer/framework/engineering/files 302 +/tutorials/build-rag-app /docs/use-to 302 +/docs/models/model-endpoint-compatibility /docs/models 302 +/docs/guides/legacy-fine-tuning/creating-training-data /developer/framework/engineering/fine-tuning 302 +/docs/specs/models /developer/framework/engineering/models 302 +/docs/guides/safety-best-practices/end-user-ids /docs/quickstart 302 +/docs/modules/assistants/ /developer/framework/engineering/assistants 302 +/docs/models/overview /docs/models 302 +/docs/api-reference/files /api-reference 302 +/docs/models/tts /docs/models 302 +/docs/guides/fine-tuning /developer/framework/engineering/fine-tuning 302 +/docs/specs/files /developer/framework/engineering/files 302 +/docs/modules/threads /docs/threads 302 +/guides/linux /docs/installation/desktop 302 +/developer/build-engine/engine-anatomy/ /developer 302 +/developer/engine/ /developer 302 +/docs/product/system-monitor/ /developer/framework/product/system-monitor 302 +/docs/product/settings/ /developer/framework/product/settings 302 +/developer/build-assistant/your-first-assistant/ /developer 302 +/engineering/research/ /developer/framework/engineering 302 +/guides/troubleshooting/gpu-not-used/ /docs/troubleshooting#troubleshooting-nvidia-gpu 302 +/docs/integrations/langchain/ /docs/integrations 302 +/onboarding/ /docs/quickstart 302 +/installation/hardware/ /docs/installation/desktop 302 +/docs/features/load-unload /docs 302 +/guides/chatting/upload-docs/ /docs/threads 302 +/developer/build-extension/package-your-assistant/ /developer 302 +/blog/hello-world /blog 302 +/docs/get-started/build-on-mobile/ /docs/quickstart 302 +/ai/anything-v4 /docs 302 +/nitro /docs 302 +/tokenizer /docs 302 +/hardware/examples/3090x1-@dan-jan /docs 302 +/guides/concepts/ /about 302 +/platform/ /docs 302 +/hardware/examples/AMAZON-LINK-HERE /docs 302 +/guides/threads/?productId=openai&prompt=What /docs 302 +/guides/threads/?productId=openjourney&prompt=realistic%20portrait%20of%20an%20gray%20dog,%20bright%20eyes,%20radiant%20and%20ethereal%20intricately%20detailed%20photography,%20cinematic%20lighting,%2050mm%20lens%20with%20bokeh /docs 302 +/guides/threads/?productId=openjourney&prompt=old,%20female%20robot,%20metal,%20rust,%20wisible%20wires,%20destroyed,%20sad,%20dark,%20dirty,%20looking%20at%20viewer,%20portrait,%20photography,%20detailed%20skin,%20realistic,%20photo-realistic,%208k,%20highly%20detailed,%20full%20length%20frame,%20High%20detail%20RAW%20color%20art,%20piercing,%20diffused%20soft%20lighting,%20shallow%20depth%20of%20field,%20sharp%20focus,%20hyperrealism,%20cinematic%20lighting /docs 302 +/guides/threads/?productId=openjourney&prompt=a%20young%20caucasian%20man%20holding%20his%20chin.pablo%20picasso%20style,%20acrylic%20painting,%20trending%20on%20pixiv%20fanbox,%20palette%20knife%20and%20brush.%20strokes, /docs 302 +/guides/threads/?productId=airoboros&prompt=Let%27s%20role%20play.%20You%20are%20a%20robot%20in%20a%20post-apocalyptic%20world. /docs 302 +/chat?productId=pirsus-epic-realism /docs 302 +/chat?productId=ether-blu-mix /docs 302 +/chat?productId=deliberate /docs 302 +/chat?productId=wizard_vicuna /docs 302 +/chat?productId=disneypixar /docs 302 +/chat?productId=meina-mix /docs 302 +/chat?productId=anything-v4 /docs 302 +/chat?productId=airoboros /docs 302 +/chat?productId=ghost-mix /docs 302 +/ai/toonyou /docs 302 +/chat?productId=xrica-mix /docs 302 +/ai/openai /docs 302 +/chat?productId=been-you /docs 302 +/chat?productId=toonyou /docs 302 +/handbook/product-and-community/ /about/community 302 +/handbook/contributing-to-jan/how-to-get-involved-and-faq/ /about 302 +/handbook/engineering-exellence/one-the-tools-what-we-use-and-why/ /about 302 +/handbook/from-spaghetti-flinging-to-strategy/how-we-gtm/ /about/how-we-work/strategy 302 +/handbook/product-and-community/our-okrs/ /about 302 +/products-and-innovations/philosophy-behind-product-development/ /about 302 +/handbook/core-contributors/ /about/teams 302 +/handbook/contributing-to-jan/feedback-channels/ /about/how-we-work 302 +/handbook/meet-jan/ /docs 302 +/handbook/engineering-exellence/ /about 302 +/blog/tags/hello/ /blog 302 +/about/community/events/nvidia-llm-day-nov-23/ /about 302 +/guides/gpus-and-vram /docs 302 +/careers/ /about/teams/join-us 302 +/handbook/engineering/ /about/teams 302 +/handbook/products-and-innovations/ /about 302 +/handbook/contributing-to-jan/ /about 302 +/handbook/meet-jan/vision-and-mission/ /about 302 +/handbook/products-and-innovations/roadmap-present-and-future-directions/ /about 302 +/handbook/what-we-do/ /about/teams 302 +/handbook/onboarding/ /docs 302 +/handbook/products-and-innovations/overview-of-jan-framework-and-its-applications/ /developer/framework/product 302 +/handbook/product/ /developer/framework/product 302 +/running /docs 302 +/running?model=Open%20Journey%20SD /docs 302 +/privacy-policy /about/faq 302 +/ai/been-you /about 302 +/tokenizer?view=bpe /docs 302 +/docs/engineering/ /developer/framework/engineering 302 \ No newline at end of file diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e00595da..00000000 --- a/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/bar.js b/bar.js deleted file mode 100644 index 8842fe85..00000000 --- a/bar.js +++ /dev/null @@ -1,278 +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: "category", - label: "Get Started", - collapsible: false, - className: "head_Menu", - items: [ - "guides/get-started/overview", - "guides/get-started/quickstart" - ] - }, - { - type: "category", - label: "User Guides", - collapsible: false, - className: "head_Menu", - items: [ - "guides/user-guides/manage-threads", - "guides/user-guides/local-server", - "guides/user-guides/advanced-settings" - ] - }, - { - type: "category", - label: "Inference Engines", - collapsible: false, - className: "head_Menu", - items: [ - { - type: "category", - label: "Local Engines", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/local-providers/README", - }, - items: [ - "guides/local-providers/llamacpp", - "guides/local-providers/lmstudio", - "guides/local-providers/ollama", - "guides/local-providers/tensorrt", - ] - }, - { - type: "category", - label: "Remote Engines", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/remote-providers/README", - }, - items: [ - "guides/remote-providers/groq", - "guides/remote-providers/mistral", - "guides/remote-providers/openai", - "guides/remote-providers/remote-server-integration" - ] - }, - ] - }, - { - type: "category", - label: "Extensions", - collapsible: false, - className: "head_Menu", - items: [ - "guides/extensions/extensions", - ] - }, - { - type: "category", - label: "Integrations", - collapsible: false, - className: "head_Menu", - items: [ - { - type: "category", - label: "Integrations", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/integrations/README", - }, - items: [ - "guides/integrations/discord", - "guides/integrations/interpreter", - "guides/integrations/raycast", - "guides/integrations/router", - "guides/integrations/vscode" - ] - }, - ] - }, - { - type: "category", - label: "Troubleshooting", - collapsible: false, - className: "head_Menu", - items: [ - "guides/troubleshooting", - ] - }, - ], - developerSidebar: [ - { - type: "autogenerated", - dirName: "developer", - }, - ], - releasesSidebar: [ - { - type: "autogenerated", - dirName: "releases", - }, - ] - }; - - module.exports = sidebars; - \ No newline at end of file diff --git a/blog/2024-03-19-TensorRT-LLM.md b/blog/2024-03-19-TensorRT-LLM.md deleted file mode 100644 index 03afb217..00000000 --- a/blog/2024-03-19-TensorRT-LLM.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: Benchmarking TensorRT-LLM vs. llama.cpp -description: Jan has added support for the TensorRT-LLM Inference Engine, as an alternative to llama.cpp. We provide a performance benchmark that shows the head-to-head comparison of the two Inference Engine and model formats, with TensorRT-LLM providing better performance but consumes significantly more VRAM and RAM. -tags: [Nvidia, TensorRT-LLM, llama.cpp, 3090, 4090, "inference engine"] -unlisted: true ---- - -Jan has added support [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) as an alternative to the default [llama.cpp](https://github.com/ggerganov/llama.cpp) inference engine. TensorRT-LLM allows Nvidia GPU owners to run blazing fast LLM inference as a hardware-optimized LLM inference engine that compiles models to [run extremely fast on Nvidia GPUs](https://blogs.nvidia.com/blog/tensorrt-llm-windows-stable-diffusion-rtx/). - -You can follow our [TensorRT-LLM Guide](/guides/providers/tensorrt-llm) to try it out today. We've also added a few TensorRT-LLM models to Jan's Model Hub for download: - -- Mistral 7b -- TinyLlama-1.1b -- TinyJensen-1.1b 😂 - -:::tip - -TensorRT-LLM support is available in [v0.4.9](https://github.com/janhq/jan/releases/tag/v0.4.9), but should be considered an experimental feature. - -Please report bugs on [Github](https://github.com/janhq/jan) or on our Discord's [#tensorrt-llm](https://discord.com/channels/1107178041848909847/1201832734704795688) channel. - -::: - -## Performance Benchmarks - - -We were really curious to see how TensorRT-LLM would perform vs. llama.cpp on consumer-grade GPUs. TensorRT-LLM has previously been shown by Nvidia to reach performance of up to [10,000 tokens/s](https://nvidia.github.io/TensorRT-LLM/blogs/H100vsA100.html) on datacenter-grade GPUs. As most of Jan's users are proud card carrying members of the [GPU Poor](https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini#the-gpu-poor), we wanted to see how the two inference engine performed on the same hardware. - -:::info - -An interesting aside: Jan actually started out in June 2023 building on [FastTransformer](https://github.com/NVIDIA/FasterTransformer), the precursor library to TensorRT-LLM. TensorRT-LLM was released in September 2023, making it a very young library. We're excited to see it's roadmap develop! - -::: - -### Test Setup - -We picked 3 hardware platforms to run the test on, based on Jan's userbase's self-reported common hardware platforms. - -| NVIDIA GPU | VRAM Used (GB) | CUDA Cores | Tensor Cores | Memory Bus Width (bit) | Memory Bandwidth (GB/s) | -| ------------------------- | -------------- | ---------- | ------------ | ---------------------- | ----------------------- | -| RTX 4090 Desktop (Ada) | 24 | 16,384 | 512 | 384 | ~1000 | -| RTX 3090 Desktop (Ampere) | 24 | 10,496 | 328 | 384 | 935.8 | -| RTX 4060 Laptop (Ada) | 8 | 3,072 | 96 | 128 | 272 | - -:::warning[Low-spec Machines?] - -We didn't bother including low-spec machines: TensorRT-LLM is meant for performance, and simply doesn't work on lower grade Nvidia GPUs, or computers without GPUs. - -TensorRT-LLM provides blazing fast performance at the cost of [memory usage](https://nvidia.github.io/TensorRT-LLM/memory.html). This means that the performance improvements only show up in higher-range GPUs with larger VRAMs. - -We've found that [llama.cpp](https://github.com/ggerganov/llama.cpp) does an incredible job of democratizing inference to the [GPU Poor](https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini#the-gpu-poor) with CPU-only or lower-range GPUs. Huge shout outs to the [llama.cpp maintainers](https://github.com/ggerganov/llama.cpp/graphs/contributors) and the [ggml.ai](https://ggml.ai/) team. - -::: - -We chose the popular Mistral 7b model to run on both GGUF and TensorRT-LLM, picking comparable quantizations. - -#### llama.cpp Setup -- For llama.cpp, we used `Mistral-7b-q4_k_m` -- [ ] Fill in `ngl` params, GPU offload etc - -#### TensorRT-LLM Setup -- For TensorRT-LLM, we used `Mistral-7b-int4 AWQ` -- We ran TensorRT-LLM with `free_gpu_memory_fraction` to test it with the lowest VRAM consumption (performance may be affected) -- Note: We picked AWQ for TensorRT-LLM as a handicap as AWQ supposedly sacrifices performance for quality - -#### Experiment Setup -We ran the experiment using a standardized inference request in a sandboxed environment on the same machine: -- We ran tests 5 times for each inference engine, on a baremetal PC with no other applications open -- Each inference request was of `batch_size` 1 and `input_len` 2048, `output_len` 512 as a realistic test case -- CPU and Memory usage were obtained from.... Windows Task Manager 😱 -- GPU usage was obtained from `nvtop`, `htop`, and `nvidia-smi` - -## Results - -Our biggest takeaway: TensorRT-LLM is faster than llama.cpp on 4090s and 3090s with larger VRAMs. However, on smaller GPUs (e.g. Laptop 4060 GPUs), - -| | 4090 Desktop | 3090 Desktop | 4060 Laptop | -| ------------ | ------------ | ------------ | ----------- | -| TensorRT-LLM | ✅ 159t/s | ✅ 140.27t/s | ❌ 19t/s | -| llama.cpp | 101.3t/s | 90t/s | 22t/s | - -### RTX-4090 Desktop - -:::info[Hardware Details] - -- CPU: Intel 13th series -- GPU: NVIDIA GPU 4090 (Ampere - sm 86) -- RAM: 32GB -- OS: Windows 11 Pro on Proxmox - -::: - -Nvidia's RTX-4090 is their top-of-the-line consumer GPU, and retails for [approximately $2,000](https://www.amazon.com/rtx-4090/s?k=rtx+4090). - -#### Mistral-7b int4 - -| Metrics | GGUF (using GPU) | TensorRT-LLM | Difference | -| -------------------- | -------------------- | ------------ | -------------- | -| Throughput (token/s) | 101.3 | 159 | ✅ 57% faster | -| VRAM Used (GB) | 5.5 | 6.3 | 🤔 14% more | -| RAM Used (GB) | 0.54 | 0.42 | 🤯 20% less | -| Disk Size (GB) | 4.07 | 3.66 | 🤯 10% smaller | - - -### RTX-3090 Desktop - -:::info[Hardware Details] - -- CPU: Intel 13th series -- GPU: NVIDIA GPU 3090 (Ampere - sm 86) -- RAM: 64GB -- OS: Windows - -::: - -#### Mistral-7b int4 - -| Metrics | GGUF (using GPU) | TensorRT-LLM | Difference | -| -------------------- | -------------------- | ------------ | ------------ | -| Throughput (token/s) | 90 | ✅ 140.27 | ✅ 55% faster | -| VRAM Used (GB) | 6.0 | 6.8 | 🤔 13% more | -| RAM Used (GB) | 0.54 | 0.42 | 🤯 22% less | -| Disk Size (GB) | 4.07 | 3.66 | 🤯 10% less | - -### RTX-4060 Laptop - -- [ ] Dan to re-run perf tests and fill in details - -:::info[Hardware Details] - -- Manufacturer: Acer Nitro 16 Phenix -- CPU: Ryzen 7000 -- RAM: 16GB -- GPU: NVIDIA Laptop GPU 4060 (Ada) - -::: - -#### Mistral-7b int4 - -| Metrics | GGUF (using the GPU) | TensorRT-LLM | Difference | -| -------------------- | -------------------- | ------------ | ---------- | -| Throughput (token/s) | 22 | ❌ 19 | | -| VRAM Used (GB) | 2.1 | 7.7 | | -| RAM Used (GB) | 0.3 | 13.5 | | -| Disk Size (GB) | 4.07 | 4.07 | | \ No newline at end of file diff --git a/docs/about/2035.mdx b/docs/about/2035.mdx deleted file mode 100644 index 3af7a319..00000000 --- a/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/about/about.md b/docs/about/about.md deleted file mode 100644 index 0a905dbb..00000000 --- a/docs/about/about.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: About Jan -slug: /about -description: Jan is a desktop application that turns computers into thinking machines. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - about Jan, - desktop application, - thinking machine, - ] ---- - -Jan turns computers into thinking machines. - -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/about/assets/solar-punk.webp b/docs/about/assets/solar-punk.webp deleted file mode 100644 index 20829fea..00000000 Binary files a/docs/about/assets/solar-punk.webp and /dev/null differ diff --git a/docs/about/assets/vision-1.webp b/docs/about/assets/vision-1.webp deleted file mode 100644 index 66e41b54..00000000 Binary files a/docs/about/assets/vision-1.webp and /dev/null differ diff --git a/docs/about/faq.md b/docs/about/faq.md deleted file mode 100644 index 505ab3c6..00000000 --- a/docs/about/faq.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Frequently Asked Questions (FAQ) - Jan ---- - -# Frequently Asked Questions (FAQ) - -## What is Jan? - -Jan runs and trains models (LLMs) on your laptop or desktop computers. - -## How do I use Jan? - -Download Jan Desktop on your computer, download a compatible LLM, or connect to a remote AI with the API key, and just start chatting. You can switch between models as needed. - -## Is Jan compatible with my operating system? - -Jan is available for Mac, Windows, and Linux, and via Docker/Helm ensuring wide compatibility. - -GPU wise, Jan supports Nvidia, AMD (through Vulkan), and Intel. - -## Do you use my data? - -No. Not even a little. Your usage data is fully local, private, and never leaves your computer. - -We also don't track IP or other identifying information. - -:::caution -If you use Jan in remote/api mode, ie. chatting with ChatGPT, they may still collect your info. -::: - -## Do you sell my data? - -No, and we never will. - -## How does Jan ensure my data remains private? - -Jan prioritizes your privacy by running open-source AI models 100% offline on your computer. Conversations, documents, and files stay private. You can find your own user data at `~/jan` on your local filesystem. - -## What does "Jan" stand for? - -Jan stands for “Just a Name". We are, admittedly, bad at marketing 😂. - -## Can I use Jan without an internet connection? - -Yes, Jan defaults to running locally, without an internet connection. - -## 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 through Jan's Hub or import any model of your choice directly from HuggingFace. - -## How do I customize Jan using the programmable API? - -Jan is built like VSCode and Obsidian. It supports 3rd party extensions. In fact, most of the UI level features were built with extensions in a few lines of code. - -## 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 make pull requests. No need to ask for permission, we're fully open source! - -## 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/about/roadmap.md b/docs/about/roadmap.md deleted file mode 100644 index 82b4fa34..00000000 --- a/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) diff --git a/docs/about/vision.md b/docs/about/vision.md deleted file mode 100644 index 7c3ffac6..00000000 --- a/docs/about/vision.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Jan's Vision -slug: /vision -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 vision, - ] ---- - -## Jan's vision is to shape a future where humans and machines collaborate, continuing our legacy as toolmakers - -Throughout history, humanity has thrived by mastering tools, from [controlling fire](https://en.wikipedia.org/wiki/Control_of_fire_by_early_humans) to [inventing the wheel](https://en.wikipedia.org/wiki/Wheel). These leaps weren't just about survival, they were foundational to our civilization. - -Today, we stand on the brink of a new frontier with artificial intelligence. AI is not merely another tool, it represents a new form of collaboration between humans and machines - promising to enhance our creativity, augment our lives, and deepen our understanding of the world. - -![jan ai shapes the future](./assets/vision-1.webp) - -In the future we envision, AI will be as integral to our lives as fire and the wheel once were, with each individual having their own machines/robots. Mastering AI, like mastering fire, will require understanding its potential, respecting its power, and learning to control it for the betterment of humanity. - -### Inspired by Science Fiction, Grounded in Optimism - -Our vision is influenced by the harmonious coexistence of humans and machines in science fiction. From the helpful companionship of [C3PO](https://tr.wikipedia.org/wiki/C-3PO) and [Jarvis](https://en.wikipedia.org/wiki/J.A.R.V.I.S.) to the strategic alliances in [Halo](https://www.imdb.com/title/tt2934286/), these stories showcase a future where technology amplifies human potential. - -### Jan's Role in Shaping the Future - -Jan is our contribution to this future - a tool designed to augment human capabilities, not replace them. We are committed to developing AI that works for humanity, enhancing our creativity, productivity, and well-being. With Jan, we aim to empower individuals and communities to achieve more, together. - -Our vision is not just a dream, it's a blueprint for a future where technology and humanity harmonize to unlock unprecedented possibilities. - -## How we imagine the world in the future - -We are fundamentally optimistic about the future. Jan aligns with the [Solarpunk movement](https://en.wikipedia.org/wiki/Solarpunk), which envisions a world where technology and nature coexist and flourish together. We reject the notion of climate doomerism and instead, focus on the positive impact we can make with AI. - -![solarpunk and jan](./assets/solar-punk.webp) - -Imagine a world where every individual is empowered by their own robots, where machines are not just tools but partners in our journey. This is the future Jan is striving to create. - -Now, let's take a glimpse into this future through a day in the life of Emre, a reflection of how Jan's vision manifests in everyday life. - -## A Day in the Life of Emre in 2050 - -> In 2050, Emre wakes up to the gentle sound of birds chirping, a soothing alarm created by **his own AI robot, Jan**. As he gets ready for the day, **Jan has already prepared** his schedule, factoring in his preferences and the day's weather. -> -> At breakfast, Emre discusses his upcoming project with **Jan, who offers insights and suggestions**, enhancing Emre's creativity. As he heads to work, his self-driving car, **integrated with Jan**, takes the most scenic and efficient route, allowing Emre to enjoy a moment of tranquility. -> -> In the office, Emre collaborates with colleagues from around the globe in a virtual workspace. **Jan assists** by translating languages in real-time and organizing ideas, making collaboration seamless and productive. -> -> During lunch, Emre decides to explore a new hobby. **Jan quickly curates** a list of resources and connects Emre with a virtual mentor, making learning accessible and enjoyable. -> -> In the afternoon, Emre takes a break to connect with nature. His smart garden, **managed by Jan**, is thriving, blending technology with the natural world in perfect harmony. -> -> As the day winds down, Emre reflects on his accomplishments. **With Jan's help**, he's been able to focus on what truly matters, achieving a balance between work, personal growth, and well-being. -> -> In 2050, Jan is more than just a tool, it's an integral part of Emre's life, **augmenting his abilities** and enabling him to live a more fulfilling life. - -What a day, hah! - ---- - -Jan's vision commits to developing thinking machines that work alongside humans - learning, adapting, and contributing to a broader, smarter society. This journey isn't just about technology. It's about creating a future where humans and machines collaborate. - -Let's build the future together - join the journey! diff --git a/docs/developer/01-overview/02-file-based.md b/docs/developer/01-overview/02-file-based.md deleted file mode 100644 index ec310ae5..00000000 --- a/docs/developer/01-overview/02-file-based.md +++ /dev/null @@ -1,81 +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, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - file based approach, - ] ---- - -:::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/developer/05-framework/image.png b/docs/developer/05-framework/image.png deleted file mode 100644 index d399dfa9..00000000 Binary files a/docs/developer/05-framework/image.png and /dev/null differ diff --git a/docs/ecosystem/ecosystem.md b/docs/ecosystem/ecosystem.md deleted file mode 100644 index 38f939b3..00000000 --- a/docs/ecosystem/ecosystem.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Ecosystem ---- \ No newline at end of file diff --git a/docs/events/hcmc-oct23.md b/docs/events/hcmc-oct23.md deleted file mode 100644 index 18215326..00000000 --- a/docs/events/hcmc-oct23.md +++ /dev/null @@ -1,53 +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 -keywords: [AI, Hacker House, Ho Chi Minh City, HCMC, Jan.ai] ---- - -![](/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/events/nvidia-llm-day-nov-23.md b/docs/events/nvidia-llm-day-nov-23.md deleted file mode 100644 index a57776ef..00000000 --- a/docs/events/nvidia-llm-day-nov-23.md +++ /dev/null @@ -1,20 +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/features/features.md b/docs/features/features.md deleted file mode 100644 index d68e9a7a..00000000 --- a/docs/features/features.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Features ---- \ No newline at end of file diff --git a/docs/foundry/foundry.md b/docs/foundry/foundry.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/guides/assets/janOpenAppDirectory.gif b/docs/guides/assets/janOpenAppDirectory.gif deleted file mode 100644 index c71d1a9c..00000000 Binary files a/docs/guides/assets/janOpenAppDirectory.gif and /dev/null differ diff --git a/docs/guides/assets/janSwitchCPUtoGPU.gif b/docs/guides/assets/janSwitchCPUtoGPU.gif deleted file mode 100644 index 41cc099d..00000000 Binary files a/docs/guides/assets/janSwitchCPUtoGPU.gif and /dev/null differ diff --git a/docs/guides/get-started/hardware-setup.mdx b/docs/guides/get-started/hardware-setup.mdx deleted file mode 100644 index 957880f8..00000000 --- a/docs/guides/get-started/hardware-setup.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Hardware Setup -slug: /guides/hardware -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -sidebar_position: 3 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - hardware requirements, - Nvidia, - AMD, - CPU, - GPU, - ] ---- - -Coming Soon diff --git a/docs/guides/get-started/overview.mdx b/docs/guides/get-started/overview.mdx deleted file mode 100644 index e768f09c..00000000 --- a/docs/guides/get-started/overview.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Overview -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, - ] ---- -## What is Jan Application -Jan application is an open-source platform designed to run AI on your computer locally. It is highly customizable and uses open-source AI models, allowing you to do the following: -- Run open-source Large Language Models (LLMs) locally. -- Connect to cloud AIs like ChatGPT or Google. -- Customize AI with a specific knowledge. -- Integrate the AI with everyday tools. -## How to Use Jan -You can install and start Jan in less than 5 minutes by following these simple steps: -1. Download Jan from our [Discord](https://discord.gg/FTk2MvZwJH) or [GitHub repo](https://github.com/janhq/jan). -2. Install Jan. -3. Open Jan application, select a model in the **Hub** tab. -4. Download the model. -5. Navigate to the **Thread** tab. -6. Configure the model. -7. Start chatting with the model. -:::note -For more detailed quickstart guide, please see [here](quickstart.mdx). -::: -## Jan Extensions -Extensions serve as plugins or add-ons that augment the capabilities of the Jan application. These extensions offer a range of enhancements, including adding new functionalities, better integration with external tools, and customizable options for the models within Jan. Jan application currently includes 9 built-in extensions to improve the user experience. Additionally, users can create and add extensions from third parties. -:::note -For more information regarding the extensions, please see [here](/extensions/). -::: -## Jan Supported Integrations -Jan is a versatile tool that supports a wide range of integrations, enhancing its utility for users. Its unique capability to operate fully offline, along with seamless connectivity with daily tools and platforms, facilitates direct interactions with databases, web services, and various software applications from within Jan. Currently, Jan compatible with 7 integration systems, with plans to expand and update these integrations over time, ensuring continuous improvement and adaptability to user needs. -:::note -For more information regarding the integration, please see [here](/integrations/). -::: \ No newline at end of file diff --git a/docs/guides/get-started/quickstart.mdx b/docs/guides/get-started/quickstart.mdx deleted file mode 100644 index d33b197f..00000000 --- a/docs/guides/get-started/quickstart.mdx +++ /dev/null @@ -1,359 +0,0 @@ ---- -title: Quickstart -slug: /guides/quickstart -description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting. -sidebar_position: 2 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - quickstart, - getting started, - using AI model, - installation, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import download from './asset/download.gif'; -import gpt from './asset/gpt.gif'; -import model from './asset/model.gif'; - -## Step 1: Install Jan Desktop - - - - - #### 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](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](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](/troubleshooting/#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](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](/troubleshooting/#broken-build) section of Common Errors. - -::: - - - - - To install Jan from source, follow the steps below: - -### Pre-requisites - -Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system: - -- Node.js version 20.0.0 or higher -- Yarn version 1.22.0 or higher - -### Install Jan Development Build - -1. Clone the Jan repository from GitHub by using the following command: - -```bash -git clone https://github.com/janhq/jan -git checkout DESIRED_BRANCH -cd jan -``` - -2. Install the required dependencies by using the following Yarn command: - -```bash -yarn install - -# Build core module -yarn build:core - -# Packing base plugins -yarn build:plugins - -# Packing uikit -yarn build:uikit -``` - -3. Run the development server. - -```bash -yarn dev -``` - -This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click **OK** and **Next** to continue. - -### Install Jan Production Build - -1. Clone the Jan repository from GitHub by using the following command: - -```bash -git clone https://github.com/janhq/jan -cd jan -``` - -2. Install the required dependencies by using the following Yarn command: - -```bash -yarn install - -# Build core module -yarn build:core - -# Packing base plugins -yarn build:plugins - -# Packing uikit -yarn build:uikit -``` - -3. Run the production server. - -```bash -yarn -``` - -This completes the installation process for Jan from source. The production-ready app for macOS can be found in the dist folder. - - -:::warning - -If you are stuck in a broken build, go to the [Broken Build](/troubleshooting/#broken-build) section of Common Errors. - -::: - - - - - -## Step 2: Download a Model - -Jan provides a variety of local AI models tailored to different needs, ready for download. These models are installed and run directly on the user's device. - -1. Go to the **Hub**. -2. Select the models that you would like to install, to see a model details click the dropdown button. -3. Click the **Download** button. - -
- -
- Download a Model -
- -
- -:::note - -Ensure you select the appropriate model size by balancing performance, cost, and resource considerations in line with your task's specific requirements and hardware specifications. -::: - -## Step 3: Connect to ChatGPT (Optional) - -Jan also provides access to remote models hosted on external servers, requiring an API key for connectivity. For example, to use the ChatGPT model with Jan, you must input your API key by following these steps: - -1. Go to the **Thread** tab. -2. Under the Model dropdown menu, select the ChatGPT model. -3. Fill in your ChatGPT API Key that you can get in your [OpenAI platform](https://platform.openai.com/account/api-keys). - -
- -
- Connect to ChatGPT -
- -
- -## Step 4: Chat with Models - -After downloading and configuring your model, you can immediately use it in the **Thread** tab. - -
- -
- Chat with a model -
- -
- -## Best Practices - -This section 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 above is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan quickly. Even, if you are inexperienced in AI. - -### Select the Right Models - -Jan offers a range of pre-configured AI models that are suited for different purposes. 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](/guides/advanced) article for a complete list of Jan's configurations and instructions on how to configure them. - -### Integrations - -Jan can work with many different systems and tools. Whether you are incorporating Jan 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 - -## Pre-configured Models - -To see the full list of Jan's pre-configured models, please see our official GitHub [here](https://github.com/janhq/jan). diff --git a/docs/guides/get-started/settingup-gpu.mdx b/docs/guides/get-started/settingup-gpu.mdx deleted file mode 100644 index 02f6657b..00000000 --- a/docs/guides/get-started/settingup-gpu.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Setting Up GPU -slug: /guides/hardware/gpu -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -sidebar_position: 1 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -Coming Soon diff --git a/docs/guides/inference/overview-inference.mdx b/docs/guides/inference/overview-inference.mdx deleted file mode 100644 index 08a0c1ea..00000000 --- a/docs/guides/inference/overview-inference.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Overview -slug: /guides/engines -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -sidebar_position: 12 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -Coming Soon diff --git a/docs/guides/installation/README.mdx b/docs/guides/installation/README.mdx deleted file mode 100644 index 45491f60..00000000 --- a/docs/guides/installation/README.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Installation -sidebar_position: 4 -slug: /guides/install/ -hide_table_of_contents: true -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -## Jan Device Compatible - -Jan is compatible with macOS, Windows, and Linux, making it accessible for a wide range of users. This compatibility allows users to leverage Jan's AI tools effectively, regardless of their device or operating system. - -:::note -For detailed system requirements and setup instructions, refer to our [Hardware Setup](/guides/hardware/) guide. -::: - -import DocCardList from "@theme/DocCardList"; - -## Install Server-Side - -To install Jan from source, follow the steps below: - -### Pre-requisites - -Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system: - -- Node.js version 20.0.0 or higher -- Yarn version 1.22.0 or higher - -### Install Jan Development Build - -1. Clone the Jan repository from GitHub by using the following command: - -```bash -git clone https://github.com/janhq/jan -git checkout DESIRED_BRANCH -cd jan -``` - -2. Install the required dependencies by using the following Yarn command: - -```bash -yarn install - -# Build core module -yarn build:core - -# Packing base plugins -yarn build:plugins - -# Packing uikit -yarn build:uikit -``` - -3. Run the development server. - -```bash -yarn dev -``` - -This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click **OK** and **Next** to continue. - -### Install Jan Production Build - -1. Clone the Jan repository from GitHub by using the following command: - -```bash -git clone https://github.com/janhq/jan -cd jan -``` - -2. Install the required dependencies by using the following Yarn command: - -```bash -yarn install - -# Build core module -yarn build:core - -# Packing base plugins -yarn build:plugins - -# Packing uikit -yarn build:uikit -``` - -3. Run the production server. - -```bash -yarn -``` - -This completes the installation process for Jan from source. The production-ready app for macOS can be found in the dist folder. diff --git a/docs/guides/installation/docker.mdx b/docs/guides/installation/docker.mdx deleted file mode 100644 index e871cad7..00000000 --- a/docs/guides/installation/docker.mdx +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Install with Docker -sidebar_position: 4 -slug: /guides/install/server -hide_table_of_contents: true -description: A step-by-step guide to install Jan using Docker. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Install on Docker, - Docker, - Helm, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -### 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](/troubleshooting/#broken-build) section of Common Errors. - -::: diff --git a/docs/guides/installation/linux.mdx b/docs/guides/installation/linux.mdx deleted file mode 100644 index 46ef4c2a..00000000 --- a/docs/guides/installation/linux.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Install on Linux -sidebar_position: 3 -slug: /guides/install/linux -hide_table_of_contents: true -description: A step-by-step guide to install Jan on your Linux. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Install on Linux, - Linux, - ] ---- - -Coming soon diff --git a/docs/guides/installation/mac.mdx b/docs/guides/installation/mac.mdx deleted file mode 100644 index 981b1728..00000000 --- a/docs/guides/installation/mac.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Install on Mac -sidebar_position: 1 -slug: /guides/install/mac -hide_table_of_contents: true -description: A step-by-step guide to install Jan on your Mac. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - MacOs, - Install on Mac, - Apple devices, - ] ---- - -Coming soon diff --git a/docs/guides/installation/windows.mdx b/docs/guides/installation/windows.mdx deleted file mode 100644 index f8e39b6a..00000000 --- a/docs/guides/installation/windows.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Install on Windows -sidebar_position: 2 -slug: /guides/install/windows -hide_table_of_contents: true -description: A step-by-step guide to install Jan on your Windows. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Windows 10, - Windows 11, - Install on Windows, - Microsoft devices, - ] ---- - -Coming soon diff --git a/docs/guides/integrations/crewai.mdx b/docs/guides/integrations/crewai.mdx deleted file mode 100644 index 4b6de56b..00000000 --- a/docs/guides/integrations/crewai.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: CrewAI -sidebar_position: 19 -description: A step-by-step guide on how to integrate Jan with CrewAI. -slug: /integrations/crewai -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Continue integration, - CrewAI integration, - CrewAI, - ] ---- - -Coming Soon diff --git a/docs/guides/integrations/overview-integration.mdx b/docs/guides/integrations/overview-integration.mdx deleted file mode 100644 index db9839af..00000000 --- a/docs/guides/integrations/overview-integration.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Overview -slug: /integrationss -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -sidebar_position: 1 -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -Coming Soon diff --git a/docs/guides/integrations/unsloth.mdx b/docs/guides/integrations/unsloth.mdx deleted file mode 100644 index e465cfd9..00000000 --- a/docs/guides/integrations/unsloth.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Unsloth -sidebar_position: 20 -slug: /integrations/unsloth -description: A step-by-step guide on how to integrate Jan with Unsloth. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Continue integration, - Unsloth integration, - ] ---- - -Coming Soon diff --git a/docs/guides/local-providers/README.mdx b/docs/guides/local-providers/README.mdx deleted file mode 100644 index 890f098e..00000000 --- a/docs/guides/local-providers/README.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Local Engines -slug: /guides/engines/local -sidebar_position: 13 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/guides/local-providers/assets/azure.png b/docs/guides/local-providers/assets/azure.png deleted file mode 100644 index b5b9dc46..00000000 Binary files a/docs/guides/local-providers/assets/azure.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/cont.png b/docs/guides/local-providers/assets/cont.png deleted file mode 100644 index 4803a6a3..00000000 Binary files a/docs/guides/local-providers/assets/cont.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/discordflow.png b/docs/guides/local-providers/assets/discordflow.png deleted file mode 100644 index 90435494..00000000 Binary files a/docs/guides/local-providers/assets/discordflow.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/interpreter.png b/docs/guides/local-providers/assets/interpreter.png deleted file mode 100644 index c735e33c..00000000 Binary files a/docs/guides/local-providers/assets/interpreter.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/jan-ai-continue-ask.png b/docs/guides/local-providers/assets/jan-ai-continue-ask.png deleted file mode 100644 index 5ccc431d..00000000 Binary files a/docs/guides/local-providers/assets/jan-ai-continue-ask.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/jan-ai-continue-comment.gif b/docs/guides/local-providers/assets/jan-ai-continue-comment.gif deleted file mode 100644 index d7b5a0ec..00000000 Binary files a/docs/guides/local-providers/assets/jan-ai-continue-comment.gif and /dev/null differ diff --git a/docs/guides/local-providers/assets/jan-ai-discord-repo.png b/docs/guides/local-providers/assets/jan-ai-discord-repo.png deleted file mode 100644 index 77ec7019..00000000 Binary files a/docs/guides/local-providers/assets/jan-ai-discord-repo.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/jan-ai-openrouter.gif b/docs/guides/local-providers/assets/jan-ai-openrouter.gif deleted file mode 100644 index fa45ec18..00000000 Binary files a/docs/guides/local-providers/assets/jan-ai-openrouter.gif and /dev/null differ diff --git a/docs/guides/local-providers/assets/lmstudio.png b/docs/guides/local-providers/assets/lmstudio.png deleted file mode 100644 index bffd0a00..00000000 Binary files a/docs/guides/local-providers/assets/lmstudio.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/mistral.png b/docs/guides/local-providers/assets/mistral.png deleted file mode 100644 index 0efeaef8..00000000 Binary files a/docs/guides/local-providers/assets/mistral.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/ollama.png b/docs/guides/local-providers/assets/ollama.png deleted file mode 100644 index 02a3278b..00000000 Binary files a/docs/guides/local-providers/assets/ollama.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/openrouter.png b/docs/guides/local-providers/assets/openrouter.png deleted file mode 100644 index 5f051ee7..00000000 Binary files a/docs/guides/local-providers/assets/openrouter.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/raycast-image.png b/docs/guides/local-providers/assets/raycast-image.png deleted file mode 100644 index c0af0006..00000000 Binary files a/docs/guides/local-providers/assets/raycast-image.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/raycast.png b/docs/guides/local-providers/assets/raycast.png deleted file mode 100644 index 454d81f4..00000000 Binary files a/docs/guides/local-providers/assets/raycast.png and /dev/null differ diff --git a/docs/guides/local-providers/assets/vscode.png b/docs/guides/local-providers/assets/vscode.png deleted file mode 100644 index f361e16a..00000000 Binary files a/docs/guides/local-providers/assets/vscode.png and /dev/null differ diff --git a/docs/guides/local-providers/llamacpp.mdx b/docs/guides/local-providers/llamacpp.mdx deleted file mode 100644 index 4ee2bfc1..00000000 --- a/docs/guides/local-providers/llamacpp.mdx +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Llama.cpp Extension -slug: /guides/engines/llamacpp -sidebar_position: 1 -description: A step-by-step guide on how to customize the LlamaCPP extension. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Llama CPP integration, - LlamaCPP Extension, - ] ---- - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## 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. - -## LlamaCPP Extension - -:::note -Nitro is the default AI engine downloaded with Jan. There is no additional setup needed. -::: - -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. - -::: diff --git a/docs/guides/providers/tensorrt-llm.md b/docs/guides/providers/tensorrt-llm.md deleted file mode 100644 index 7a12a233..00000000 --- a/docs/guides/providers/tensorrt-llm.md +++ /dev/null @@ -1,226 +0,0 @@ ---- -title: TensorRT-LLM -slug: /guides/providers/tensorrt-llm -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - TensorRT-LLM Extension, - TensorRT, - tensorRT, - extension, - ] ---- - -:::info - -TensorRT-LLM support was launched in 0.4.9, and should be regarded as an Experimental feature. - -- Only Windows is supported for now. -- Please report bugs in our Discord's [#tensorrt-llm](https://discord.com/channels/1107178041848909847/1201832734704795688) channel. - -::: - -Jan supports [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) as an alternate Inference Engine, for users who have Nvidia GPUs with large VRAM. TensorRT-LLM allows for blazing fast inference, but requires Nvidia GPUs with [larger VRAM](https://nvidia.github.io/TensorRT-LLM/memory.html). - -## What is TensorRT-LLM? - -[TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) is an hardware-optimized LLM inference engine for Nvidia GPUs, that compiles models to run extremely fast on Nvidia GPUs. - -- Mainly used on Nvidia's Datacenter-grade GPUs like the H100s [to produce 10,000 tok/s](https://nvidia.github.io/TensorRT-LLM/blogs/H100vsA100.html). -- Can be used on Nvidia's workstation (e.g. [A6000](https://www.nvidia.com/en-us/design-visualization/rtx-6000/)) and consumer-grade GPUs (e.g. [RTX 4090](https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4090/)) - -:::tip[Benefits] - -- Our performance testing shows 20-40% faster token/s speeds on consumer-grade GPUs -- On datacenter-grade GPUs, TensorRT-LLM can go up to 10,000 tokens/s -- TensorRT-LLM is a relatively new library, that was [released in Sept 2023](https://github.com/NVIDIA/TensorRT-LLM/graphs/contributors). We anticipate performance and resource utilization improvements in the future. - -::: - -:::warning[Caveats] - -- TensorRT-LLM requires models to be compiled into GPU and OS-specific "Model Engines" (vs. GGUF's "convert once, run anywhere" approach) -- TensorRT-LLM Model Engines tend to utilize larger amount of VRAM and RAM in exchange for performance -- This usually means only people with top-of-the-line Nvidia GPUs can use TensorRT-LLM - -::: - -## Requirements - -### Hardware - -- 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 - -**Compatible GPUs** - -| Architecture | Supported? | Consumer-grade | Workstation-grade | -| ------------ | ---------- | -------------- | ----------------- | -| Ada | ✅ | 4050 and above | RTX A2000 Ada | -| Ampere | ✅ | 3050 and above | A100 | -| Turing | ❌ | Not Supported | Not Supported | - -:::info - -Please ping us in Discord's [#tensorrt-llm](https://discord.com/channels/1107178041848909847/1201832734704795688) channel if you would like Turing support. - -::: - -### Software - -- Jan v0.4.9+ or Jan v0.4.8-321+ (nightly) -- [Nvidia Driver v535+](https://jan.ai/guides/common-error/not-using-gpu/#1-ensure-gpu-mode-requirements) -- [CUDA Toolkit v12.2+](https://jan.ai/guides/common-error/not-using-gpu/#1-ensure-gpu-mode-requirements) - -## Getting Started - -### Install TensorRT-Extension - -1. Go to Settings > Extensions -2. Install the TensorRT-LLM Extension - -:::info -You can check if files have been correctly downloaded: - -```sh -ls ~\jan\extensions\@janhq\tensorrt-llm-extension\dist\bin -# Your Extension Folder should now include `nitro.exe`, among other `.dll` files needed to run TRT-LLM -``` - -::: - -### Download a TensorRT-LLM Model - -Jan's Hub has a few pre-compiled TensorRT-LLM models that you can download, which have a `TensorRT-LLM` label - -- We automatically download the TensorRT-LLM Model Engine for your GPU architecture -- We have made a few 1.1b models available that can run even on Laptop GPUs with 8gb VRAM - -| Model | OS | Ada (40XX) | Ampere (30XX) | Description | -| ------------------- | ------- | ---------- | ------------- | --------------------------------------------------- | -| Llamacorn 1.1b | Windows | ✅ | ✅ | TinyLlama-1.1b, fine-tuned for usability | -| TinyJensen 1.1b | Windows | ✅ | ✅ | TinyLlama-1.1b, fine-tuned on Jensen Huang speeches | -| Mistral Instruct 7b | Windows | ✅ | ✅ | Mistral | - -### Importing Pre-built Models - -You can import a pre-built model, by creating a new folder in Jan's `/models` directory that includes: - -- TensorRT-LLM Engine files (e.g. `tokenizer`, `.engine`, etc) -- `model.json` that registers these files, and specifies `engine` as `nitro-tensorrt-llm` - -:::note[Sample model.json] - -Note the `engine` is `nitro-tensorrt-llm`: this won't work without it! - -```js -{ - "sources": [ - { - "filename": "config.json", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/config.json" - }, - { - "filename": "mistral_float16_tp1_rank0.engine", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/mistral_float16_tp1_rank0.engine" - }, - { - "filename": "tokenizer.model", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/tokenizer.model" - }, - { - "filename": "special_tokens_map.json", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/special_tokens_map.json" - }, - { - "filename": "tokenizer.json", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/tokenizer.json" - }, - { - "filename": "tokenizer_config.json", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/tokenizer_config.json" - }, - { - "filename": "model.cache", - "url": "https://delta.jan.ai/dist/models///tensorrt-llm-v0.7.1/TinyJensen-1.1B-Chat-fp16/model.cache" - } - ], - "id": "tinyjensen-1.1b-chat-fp16", - "object": "model", - "name": "TinyJensen 1.1B Chat FP16", - "version": "1.0", - "description": "Do you want to chat with Jensen Huan? Here you are", - "format": "TensorRT-LLM", - "settings": { - "ctx_len": 2048, - "text_model": false - }, - "parameters": { - "max_tokens": 4096 - }, - "metadata": { - "author": "LLama", - "tags": [ - "TensorRT-LLM", - "1B", - "Finetuned" - ], - "size": 2151000000 - }, - "engine": "nitro-tensorrt-llm" -} -``` - -::: - -### Using a TensorRT-LLM Model - -You can just select and use a TensorRT-LLM model from Jan's Thread interface. - -- Jan will automatically start the TensorRT-LLM model engine in the background -- You may encounter a pop-up from Windows Security, asking for Nitro to allow public and private network access - -:::info[Why does Nitro need network access?] - -- This is because Jan runs TensorRT-LLM using the [Nitro Server](https://github.com/janhq/nitro-tensorrt-llm/) -- Jan makes network calls to the Nitro server running on your computer on a separate port - -::: - -### Configure Settings - -:::note -coming soon -::: - -## Troubleshooting - -## Extension Details - -Jan's TensorRT-LLM Extension is built on top of the open source [Nitro TensorRT-LLM Server](https://github.com/janhq/nitro-tensorrt-llm), a C++ inference server on top of TensorRT-LLM that provides an OpenAI-compatible API. - -### Manual Build - -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). - -### 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. - -## Build your own TensorRT models - -:::info -coming soon -::: diff --git a/docs/guides/remote-providers/README.mdx b/docs/guides/remote-providers/README.mdx deleted file mode 100644 index cba5bd05..00000000 --- a/docs/guides/remote-providers/README.mdx +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Remote Engines -slug: /guides/engines/remote -sidebar_position: 14 -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - build extension, - ] ---- - -import DocCardList from "@theme/DocCardList"; - - diff --git a/docs/guides/remote-providers/assets/azure.png b/docs/guides/remote-providers/assets/azure.png deleted file mode 100644 index b5b9dc46..00000000 Binary files a/docs/guides/remote-providers/assets/azure.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/cont.png b/docs/guides/remote-providers/assets/cont.png deleted file mode 100644 index 4803a6a3..00000000 Binary files a/docs/guides/remote-providers/assets/cont.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/discordflow.png b/docs/guides/remote-providers/assets/discordflow.png deleted file mode 100644 index 90435494..00000000 Binary files a/docs/guides/remote-providers/assets/discordflow.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/interpreter.png b/docs/guides/remote-providers/assets/interpreter.png deleted file mode 100644 index c735e33c..00000000 Binary files a/docs/guides/remote-providers/assets/interpreter.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/jan-ai-continue-ask.png b/docs/guides/remote-providers/assets/jan-ai-continue-ask.png deleted file mode 100644 index 5ccc431d..00000000 Binary files a/docs/guides/remote-providers/assets/jan-ai-continue-ask.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/jan-ai-continue-comment.gif b/docs/guides/remote-providers/assets/jan-ai-continue-comment.gif deleted file mode 100644 index d7b5a0ec..00000000 Binary files a/docs/guides/remote-providers/assets/jan-ai-continue-comment.gif and /dev/null differ diff --git a/docs/guides/remote-providers/assets/jan-ai-discord-repo.png b/docs/guides/remote-providers/assets/jan-ai-discord-repo.png deleted file mode 100644 index 77ec7019..00000000 Binary files a/docs/guides/remote-providers/assets/jan-ai-discord-repo.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/jan-ai-openrouter.gif b/docs/guides/remote-providers/assets/jan-ai-openrouter.gif deleted file mode 100644 index fa45ec18..00000000 Binary files a/docs/guides/remote-providers/assets/jan-ai-openrouter.gif and /dev/null differ diff --git a/docs/guides/remote-providers/assets/lmstudio.png b/docs/guides/remote-providers/assets/lmstudio.png deleted file mode 100644 index bffd0a00..00000000 Binary files a/docs/guides/remote-providers/assets/lmstudio.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/mistral.png b/docs/guides/remote-providers/assets/mistral.png deleted file mode 100644 index 0efeaef8..00000000 Binary files a/docs/guides/remote-providers/assets/mistral.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/ollama.png b/docs/guides/remote-providers/assets/ollama.png deleted file mode 100644 index 02a3278b..00000000 Binary files a/docs/guides/remote-providers/assets/ollama.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/openrouter.png b/docs/guides/remote-providers/assets/openrouter.png deleted file mode 100644 index 5f051ee7..00000000 Binary files a/docs/guides/remote-providers/assets/openrouter.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/raycast-image.png b/docs/guides/remote-providers/assets/raycast-image.png deleted file mode 100644 index c0af0006..00000000 Binary files a/docs/guides/remote-providers/assets/raycast-image.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/raycast.png b/docs/guides/remote-providers/assets/raycast.png deleted file mode 100644 index 454d81f4..00000000 Binary files a/docs/guides/remote-providers/assets/raycast.png and /dev/null differ diff --git a/docs/guides/remote-providers/assets/vscode.png b/docs/guides/remote-providers/assets/vscode.png deleted file mode 100644 index f361e16a..00000000 Binary files a/docs/guides/remote-providers/assets/vscode.png and /dev/null differ diff --git a/docs/guides/remote-providers/claude.mdx b/docs/guides/remote-providers/claude.mdx deleted file mode 100644 index 76ec7a75..00000000 --- a/docs/guides/remote-providers/claude.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Claude -sidebar_position: 6 -slug: /guides/engines/claude -description: A step-by-step guide on how to integrate Jan with LM Studio. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - Claude integration, - claude, - ] ---- - -Coming Soon diff --git a/docs/guides/user-guides/overview-guides.mdx b/docs/guides/user-guides/overview-guides.mdx deleted file mode 100644 index 64315be1..00000000 --- a/docs/guides/user-guides/overview-guides.mdx +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Overview -slug: /guides/overview -description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -Coming Soon diff --git a/docs/hardware/community.md b/docs/hardware/community.md deleted file mode 100644 index 0f885767..00000000 --- a/docs/hardware/community.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Hardware Examples -description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -## 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. diff --git a/docs/hardware/concepts/chassis.md b/docs/hardware/concepts/chassis.md deleted file mode 100644 index 1eae76db..00000000 --- a/docs/hardware/concepts/chassis.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Chassis ---- \ No newline at end of file diff --git a/docs/hardware/concepts/concepts-images/GPU.png b/docs/hardware/concepts/concepts-images/GPU.png deleted file mode 100644 index 775a5ec6..00000000 Binary files a/docs/hardware/concepts/concepts-images/GPU.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/GPU_Image.png b/docs/hardware/concepts/concepts-images/GPU_Image.png deleted file mode 100644 index 67df1278..00000000 Binary files a/docs/hardware/concepts/concepts-images/GPU_Image.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/PCIex16.png b/docs/hardware/concepts/concepts-images/PCIex16.png deleted file mode 100644 index 3be8ae7a..00000000 Binary files a/docs/hardware/concepts/concepts-images/PCIex16.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/Power.png b/docs/hardware/concepts/concepts-images/Power.png deleted file mode 100644 index c91cd602..00000000 Binary files a/docs/hardware/concepts/concepts-images/Power.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/RAM-VRAM.png b/docs/hardware/concepts/concepts-images/RAM-VRAM.png deleted file mode 100644 index 3b57e6b2..00000000 Binary files a/docs/hardware/concepts/concepts-images/RAM-VRAM.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/VRAM-Image.png b/docs/hardware/concepts/concepts-images/VRAM-Image.png deleted file mode 100644 index 22566026..00000000 Binary files a/docs/hardware/concepts/concepts-images/VRAM-Image.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts-images/slot.png b/docs/hardware/concepts/concepts-images/slot.png deleted file mode 100644 index 3d6479f7..00000000 Binary files a/docs/hardware/concepts/concepts-images/slot.png and /dev/null differ diff --git a/docs/hardware/concepts/concepts.md b/docs/hardware/concepts/concepts.md deleted file mode 100644 index 8c7444c0..00000000 --- a/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/hardware/concepts/cpu-and-ram.md b/docs/hardware/concepts/cpu-and-ram.md deleted file mode 100644 index 9ff6d392..00000000 --- a/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/hardware/concepts/gpu-and-vram.md b/docs/hardware/concepts/gpu-and-vram.md deleted file mode 100644 index 57387e8d..00000000 --- a/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/hardware/concepts/motherboard.md b/docs/hardware/concepts/motherboard.md deleted file mode 100644 index 0a1e0948..00000000 --- a/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/hardware/concepts/network.md b/docs/hardware/concepts/network.md deleted file mode 100644 index d14982be..00000000 --- a/docs/hardware/concepts/network.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Network ---- \ No newline at end of file diff --git a/docs/hardware/concepts/power.md b/docs/hardware/concepts/power.md deleted file mode 100644 index 304d71ba..00000000 --- a/docs/hardware/concepts/power.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Power Supply ---- \ No newline at end of file diff --git a/docs/hardware/concepts/storage.md b/docs/hardware/concepts/storage.md deleted file mode 100644 index 701f5d39..00000000 --- a/docs/hardware/concepts/storage.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Storage ---- \ No newline at end of file diff --git a/docs/hardware/examples/4090x2-@dan-jan.md b/docs/hardware/examples/4090x2-@dan-jan.md deleted file mode 100644 index 3fb3f08a..00000000 --- a/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/hardware/examples/_category_.json b/docs/hardware/examples/_category_.json deleted file mode 100644 index 2a3d9c51..00000000 --- a/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/hardware/hardware.md b/docs/hardware/hardware.md deleted file mode 100644 index 8c501655..00000000 --- a/docs/hardware/hardware.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -sidebar_position: 1 -title: Introduction ---- diff --git a/docs/hardware/overview/cloud-vs-self-hosting.md b/docs/hardware/overview/cloud-vs-self-hosting.md deleted file mode 100644 index 0d34bb1a..00000000 --- a/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/hardware/overview/cpu-vs-gpu.md b/docs/hardware/overview/cpu-vs-gpu.md deleted file mode 100644 index f0f20d8d..00000000 --- a/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/hardware/recommendations/by-budget.md b/docs/hardware/recommendations/by-budget.md deleted file mode 100644 index 9e640fbc..00000000 --- a/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/hardware/recommendations/by-hardware.md b/docs/hardware/recommendations/by-hardware.md deleted file mode 100644 index ee80a290..00000000 --- a/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/hardware/recommendations/by-model.md b/docs/hardware/recommendations/by-model.md deleted file mode 100644 index 99d1ca8a..00000000 --- a/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/hardware/recommendations/by-usecase.md b/docs/hardware/recommendations/by-usecase.md deleted file mode 100644 index 2ae0cb90..00000000 --- a/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/how-we-work.md b/docs/how-we-work.md deleted file mode 100644 index a7807a57..00000000 --- a/docs/how-we-work.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: How We Work -slug: /how-we-work -description: How we work at Jan -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - build in public, - remote team, - 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/how-we-work/engineering/assets/01-get-help.png b/docs/how-we-work/engineering/assets/01-get-help.png deleted file mode 100644 index ea347432..00000000 Binary files a/docs/how-we-work/engineering/assets/01-get-help.png and /dev/null differ diff --git a/docs/how-we-work/engineering/ci-cd.md b/docs/how-we-work/engineering/ci-cd.md deleted file mode 100644 index 34454e85..00000000 --- a/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/how-we-work/engineering/qa.mdx b/docs/how-we-work/engineering/qa.mdx deleted file mode 100644 index e01c568d..00000000 --- a/docs/how-we-work/engineering/qa.mdx +++ /dev/null @@ -1,81 +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, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -### 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/integrations.md b/docs/integrations.md deleted file mode 100644 index 0884d224..00000000 --- a/docs/integrations.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Integrations ---- \ No newline at end of file diff --git a/docs/integrations/langchain.md b/docs/integrations/langchain.md deleted file mode 100644 index aef6d6f9..00000000 --- a/docs/integrations/langchain.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Langchain ---- - -:::caution -WIP -::: diff --git a/docs/integrations/llamacpp.md b/docs/integrations/llamacpp.md deleted file mode 100644 index 2764187c..00000000 --- a/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/integrations/ollama.md b/docs/integrations/ollama.md deleted file mode 100644 index eb909789..00000000 --- a/docs/integrations/ollama.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Ollama ---- - -:::caution -Requested, committed, but not started -::: diff --git a/docs/integrations/openai.md b/docs/integrations/openai.md deleted file mode 100644 index 2205bbce..00000000 --- a/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/integrations/openrouter.md b/docs/integrations/openrouter.md deleted file mode 100644 index 856ca33e..00000000 --- a/docs/integrations/openrouter.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: OpenRouter ---- - -:::caution -Requested, committed, but not started -::: diff --git a/docs/partners/become-a-partner.md b/docs/partners/become-a-partner.md deleted file mode 100644 index dce93e87..00000000 --- a/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/partners/partners.md b/docs/partners/partners.md deleted file mode 100644 index 1c5eaa0f..00000000 --- a/docs/partners/partners.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Partners ---- \ No newline at end of file diff --git a/docs/pending-content/blogpost/02-surpassing-chatgpt-with-open-source-alternatives.mdx b/docs/pending-content/blogpost/02-surpassing-chatgpt-with-open-source-alternatives.mdx deleted file mode 100644 index 8c72b10e..00000000 --- a/docs/pending-content/blogpost/02-surpassing-chatgpt-with-open-source-alternatives.mdx +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: 'Rag Is Not Enough: Lessons from Beating GPT-3.5 on Specialized Tasks with Mistral 7B' -description: 'Creating Open Source Alternatives to Outperform ChatGPT' -slug: /blog/surpassing-chatgpt-with-open-source-alternatives -tags: [Open Source ChatGPT Alternatives, Outperform ChatGPT] -authors: [hahuyhoang411, 0xsage, automaticcat] -date: 2024-03-17 ---- - -## Abstract - -We present a straightforward approach to adapting small, open-source models for specialized use cases, that can surpass GPT 3.5 performance with RAG. With it, we were able to get superior results on Q&A over [technical documentation](https://nitro.jan.ai/docs) describing a small [codebase](https://github.com/janhq/nitro). - -In short, (3) extending a general foundation model like [Mistral](https://huggingface.co/mistralai/Mistral-7B-v0.1) with strong math and coding, and (7) training it over a high-quality, synthetic dataset generated from the intended corpus, and (2) adding RAG capabilities, can lead to significant accuracy improvements. - -Problems still arise with catastrophic forgetting in general tasks, commonly observed during specialized domain fine-tuning. In our case, this is likely exacerbated by our lack of access to Mistral’s original training dataset and various compression techniques used in our approach to keep the model small. - -## Selecting a Strong Foundation Model - -[Mistral 7B](https://huggingface.co/mistralai/Mistral-7B-v0.1) outshines both [Meta's Llama-2 7B](https://huggingface.co/meta-llama/Llama-2-7b) and [Google's Gemma 7B](https://huggingface.co/google/gemma-7b) in key benchmarks, making it our choice for a base model. Starting with a strong foundation like Mistral allowed us to achieve greater accuracy in our specialized adaptations. - -![Mistral vs LLama vs Gemma](assets/mistral-comparasion.png) - -_Figure 1._ Mistral 7B excels in benchmarks, ranking among the top foundational models. - -_Note: we are not sponsored by the Mistral team. Though many folks in their community do like to run Mistral locally using our desktop client - [Jan](https://jan.ai/)._ - -## Cost-Effectively Improving the Base Model - -Mistral alone has known, poor math capabilities, which we needed for our highly technical use case. Thus, we tested all model variants on top of Mistral, from foundation models to finetunes to model merges, in order to find a stronger base model to receive our own finetuning. - -![Merged model vs finetuned models](assets/stealth-comparasion.png) - -_Figure 2._ The merged model, Stealth, doubles the mathematical capabilities of its foundational model while retaining the performance in other tasks. - -We found merging models is quick and cost-effective, enabling fast adjustments based on the result of each iteration. - -We ended up with [Stealth 7B v1.1](https://huggingface.co/jan-hq/stealth-v1.1), a [SLERP](https://github.com/Digitous/LLM-SLERP-Merge) merge of Mistral with the following: - -- [WizardMath](https://huggingface.co/WizardLM/WizardMath-7B-V1.1) for its math capabilities. -- [WizardCoder](https://huggingface.co/WizardLM/WizardCoder-Python-7B-V1.0) for its coding capabilities. -- Our own [Trinity](https://huggingface.co/jan-hq/trinity-v1.2) model for its versatility across general tasks. - -This particular combination yielded the best tradeoff across mathematical & technical reasoning while retaining the most pre-merge performance on general tasks. - -## DPO Finetuning - -Merging different LLMs can lead to a mixed answering style because each model was originally trained on different types of data. - -Thus, we applied Direct Preference Optimization ([DPO](https://arxiv.org/abs/2305.18290)) using the [Intel's Orca DPO pairs](https://huggingface.co/datasets/Intel/orca_dpo_pairs) dataset, chosen for its helpful answering style in general, math and coding concentration. - -This approach results in a final model - [Stealth 7B v1.2](https://huggingface.co/jan-hq/stealth-v1.2), with minimal loss, and realign to our technical preferences. - -## Using Our Technical Documentation - -With the base model ready, we started on our specific use case. - -Jan is an open-source & bootstrapped project - at one point during our unanticipated growth, we received 1 customer support ticket per minute, with no one to handle customer service. - -So, we directed our efforts toward training a model to answer user questions based on existing technical documentation. - -Specifically, we trained it on Nitro [docs](https://nitro.jan.ai/docs). For context, Nitro is the default inference engine for Jan. It’s a serious server implementation of LlamaCPP, written in C++, with multimodal, queues, and other production-level server capabilities. - -It made an interesting corpus because it was rife with post-2023 technical jargon, edge cases, and poor informational layout. - -## Generating a Training Dataset for GPT-4 - -The first step was to transform Nitro’s unstructured format into a synthetic Q&A dataset designed for [instruction tuning](https://arxiv.org/pdf/2109.01652.pdf). - -The text was split into chunks of 300-token segments with 30-token overlaps. This helped to avoid a [lost-in-the-middle](https://arxiv.org/abs/2307.03172) problem where LLM can’t use context efficiently to answer given questions. - -The chunks were then given to GPT-4 with 8k context length to generate 3800 Q&A pairs. The [training dataset](https://huggingface.co/datasets/jan-hq/nitro_binarized_v2) is available on HuggingFace. - -## Training - -The training was done with supervised finetuning (SFT) from the [Hugging Face's alignment handbook](https://github.com/huggingface/alignment-handbook) based on the [Huggingface's Zephyr Beta](https://github.com/huggingface/alignment-handbook/tree/main/recipes/zephyr-7b-beta) guidelines. - -We used consumer-grade, dual Nvidia RTX 4090s for the training. The end-to-end training took 18 minutes. We found optimal hyperparameters in LoRA for this specific task to be `r = 256` and `alpha = 512`. - -This final model is publicly available at https://huggingface.co/jan-hq/nitro-v1.2-e3. - -![Using LLM locally](assets/nitro-on-jan.png) - -_Figure 3._ Using the new finetuned model in [Jan](https://jan.ai/). - -## Improving Results With Rag - -As an additional step, we also added [Retrieval Augmented Generation (RAG)](https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/) as an experiment parameter. - -A simple RAG setup was done using **[Llamaindex](https://www.llamaindex.ai/)** and the **[bge-en-base-v1.5 embedding](https://huggingface.co/BAAI/bge-base-en-v1.5)** model for efficient documentation retrieval and question-answering. The RAG implementation is publicly available at at https://github.com/janhq/open-foundry/blob/main/rag-is-not-enough/rag/nitro_rag.ipynb - -## Benchmarking the Results - -We curated a new set of [50 multiple-choice questions](https://github.com/janhq/open-foundry/blob/main/rag-is-not-enough/rag/mcq_nitro.csv) (MCQ) based on the Nitro docs. The questions had varying levels of difficulty and had trick components that challenged the model's ability to discern misleading information. - -![Opensource model outperforms GPT](assets/rag-comparasion.png) - -_Figure 4._ Comparison between fine-tuned model and OpenAI's GPT. - -_Table 1._ Result of Benchmarking Different Model With RAG. -| Approach | Performance | -| ----------------------------------------------------------------------------------- | ----------- | -| GPT-3.5 with RAG | 56.7% | -| GPT-4 with RAG | 64.3% | -| Merged 7B Model ([Stealth 7B](https://huggingface.co/jan-hq/stealth-v1.3)) with RAG | 47.7% | -| Finetuned 7B Model (Nitro 7B) with RAG | 57.8% | - -This indicates that with task-specific training, we can improve an open-source, Small Language Model to the level of GPT-3.5 on domain knowledge. - -Notably, the finetuned with RAG approach also demonstrated more consistency across benchmarking, as indicated by its lower standard deviation. - -## Conclusion - -We conclude that this combination of model merging finetuning and RAG yields promise. This finding is relevant for teams and individuals that need specialized, technical SLMs that need to run in resource-constrained or highly secured environments, where GPT may not be an option. - -Anecdotally, we’ve had some success using this model in practice to onboard new team members to the Nitro codebase. - -A full research report with more statistics can be found at https://github.com/janhq/open-foundry/blob/main/rag-is-not-enough/README.md. - -## References - -[1] Jason Wei, Maarten Bosma, Vincent Y. Zhao, Kelvin Guu, Adams Wei Yu, Brian Lester, Nan Du, Andrew M. Dai, Quoc V. Le. Finetuned Language Models Are Zero-Shot Learners. _arXiv preprint arXiv:2109.01652_, 2021. URL: https://arxiv.org/abs/2109.01652 - -[2] Haipeng Luo, Qingfeng Sun, Can Xu, Pu Zhao, Jianguang Lou, Chongyang Tao, Xiubo Geng, Qingwei Lin, Shifeng Chen, Dongmei Zhang. WizardMath: Empowering Mathematical Reasoning for Large Language Models via Reinforced Evol-Instruct. _arXiv preprint arXiv:2308.09583_, 2023. URL: https://arxiv.org/abs/2308.09583 - -[3] Luo, Y., Yang, Z., Meng, F., Li, Y., Zhou, J., & Zhang, Y. An Empirical Study of Catastrophic Forgetting in Large Language Models During Continual Fine-tuning. _arXiv preprint arXiv:2308.08747_,2023 URL: https://arxiv.org/abs/2308.08747 - -[4] Ziyang Luo, Can Xu, Pu Zhao, Qingfeng Sun, Xiubo Geng, Wenxiang Hu, Chongyang Tao, Jing Ma, Qingwei Lin, Daxin Jiang. WizardCoder: Empowering Code Large Language Models with Evol-Instruct., _arXiv preprint arXiv:2306.08568_, 2023. URL: https://arxiv.org/abs/2306.08568 - -[5] SciPhi-AI, Agent Search. GitHub. URL: https://github.com/SciPhi-AI/agent-search - -[6] Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, Percy Liang. "Lost in the Middle: How Language Models Use Long Contexts." _arXiv preprint arXiv:2307.03172_, 2023. URL: https://arxiv.org/abs/2307.03172 - -[7] Luo, H., Sun, Q., Xu, C., Zhao, P., Lou, J., Tao, C., Geng, X., Lin, Q., Chen, S., & Zhang, D. WizardMath: Empowering Mathematical Reasoning for Large Language Models via Reinforced Evol-Instruct. _arXiv preprint arXiv:2308.09583_, 2023. URL: https://arxiv.org/abs/2308.09583 - -[8] nlpxucan et al., WizardLM. GitHub. URL: https://github.com/nlpxucan/WizardLM diff --git a/docs/pending-content/blogpost/assets/mistral-comparasion.png b/docs/pending-content/blogpost/assets/mistral-comparasion.png deleted file mode 100644 index efe99398..00000000 Binary files a/docs/pending-content/blogpost/assets/mistral-comparasion.png and /dev/null differ diff --git a/docs/pending-content/blogpost/assets/nitro-on-jan.png b/docs/pending-content/blogpost/assets/nitro-on-jan.png deleted file mode 100644 index 0122f271..00000000 Binary files a/docs/pending-content/blogpost/assets/nitro-on-jan.png and /dev/null differ diff --git a/docs/pending-content/blogpost/assets/rag-comparasion.png b/docs/pending-content/blogpost/assets/rag-comparasion.png deleted file mode 100644 index 196f46dc..00000000 Binary files a/docs/pending-content/blogpost/assets/rag-comparasion.png and /dev/null differ diff --git a/docs/pending-content/blogpost/assets/stealth-comparasion.png b/docs/pending-content/blogpost/assets/stealth-comparasion.png deleted file mode 100644 index 67427d5c..00000000 Binary files a/docs/pending-content/blogpost/assets/stealth-comparasion.png and /dev/null differ diff --git a/docs/pending-content/blogpost/finetune-with-docs.mdx b/docs/pending-content/blogpost/finetune-with-docs.mdx deleted file mode 100644 index 064608e9..00000000 --- a/docs/pending-content/blogpost/finetune-with-docs.mdx +++ /dev/null @@ -1,302 +0,0 @@ ---- -title: How to Fine-tune Large Language Models - A Tutorial -description: Guide on Finetuning Large Language Models with Personal Dataset -slug: /tutorial/how-to-fine-tune-llms -tags: [Large Language Models, Finetune LLM, Retrieval Augmented Generation, Personal Dataset, Customzied Dataset, Fine Tuning Tutorial] -keywords: [ - Large Language Models, Finetune LLM, Retrieval Augmented Generation, Personal Dataset, Customzied Dataset, Fine Tuning Tutorial -] -authors: - - 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 - - name: Ed - - 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 ---- - -Large Language Models (LLMs) are all the rage nowadays, with people using them more and more on a daily basis. As our usage increases, many use cases require the LLM to understand our data, and there are two main approaches we can use: - -1. Fine-tuning -2. Retrieval Augmented Generation (RAG) - -This blog will investigate the first approach to see how fine-tuning performs in understanding some technical product documentation. In detail, you will learn how to: - -1. Create a Question and Answer dataset from unstructured data -2. Fine-tune a model using the dataset -3. Run the fine-tuned model using Jan - -Let’s get started! - -## 1. Environment setup - -Our first step is to install the Hugging Face libraries, which provide the backbone for running large language models (LLMs). Additionally, we'll use LangChain as our go-to tool for efficiently handling and processing our data. - -```js title="Install libraries" -# Install Hugging Face libraries -pip install --upgrade \ - "transformers==4.36.2" \ - "datasets==2.16.1" \ - "accelerate==0.26.1" \ - "evaluate==0.4.1" \ - "bitsandbytes==0.42.0" - -# Install libraries for generating data -pip install --upgrade \ - "llama-cpp-python" \ - "pydantic==1.10.11" \ - "sentence-transformers" \ - "chromadb" \ - "langchain" \ - "tiktoken" \ - "openai==0.28" -``` - -In this guide, we'll utilize ChatGPT to create our training dataset. To leverage Hugging Face and OpenAI resources, we first sign into these platforms using the commands below: - -```python title="Setting up credential keys" -# Import libaries -from huggingface_hub import login -import openai - -# Setting up credential keys -OPENAI_KEY_FILE = "YOUR_KEY_HERE" -HUGGINGFACE_KEY_FILE = "YOUR_KEY_HERE" - -openai.api_key = open_file(OPENAI_KEY_FILE) -login(token=HUGGINGFACE_KEY_FILE) -``` - -## **2. Data generation** - -In this tutorial, the “data” we will use will be the [Nitro documentation](https://nitro.jan.ai/). Nitro is an open-source, lightweight (3 MB) inference server to supercharge apps with local AI. - -![About Nitro](img/about-nitro.png) - -**Fig 1. Example of Nitro's documentation.** - -At a basic level, documentation is just pages filled with just words. If we give these words to the LLM as they are, it can confuse the model about what is important. Moreover, the unstructured nature of plain text doesn't provide the contextual clues that LLMs need to understand and generate meaningful responses. - -To teach it, we will use a method called [**"Instruction tuning"**](#what-is-instruction-tuning), which involves refining the model's ability to comprehend and execute text-based instructions more effectively. - -But how do we change the text from the documentation into the right data? We need to make pairs of questions and answers. - -The main idea is that we will break the documents into smaller pieces. Then, we use the LLM to help us develop questions and answers from those pieces. - -*Note: We also open-source the [**Nitro’s documentation training dataset**](https://huggingface.co/datasets/jan-hq/nitro_binarized) in our [**Hugging Face Hub**](https://huggingface.co/jan-hq).* - -**Table 1. Example of Question and Answer pairs** - -| User | Assistant | -|------|-----------| -| Is Nitro an open-source tool? | Yes, Nitro is an open-source tool. | -| What does the `max_tokens` parameter in the prompt request do? | The `max_tokens` parameter in the prompt request is used to specify the maximum number of tokens that the response should contain. A token can be as small as one character or as large as one word. For example, if `max_tokens` is set to 100, the response will contain no more than 100 tokens. | -| What operating systems does the Nitro library support? | The Nitro library supports multiple operating systems including Windows, MacOS, and Linux. This cross-platform compatibility allows it to cater to a wide range of users using different OS. | -| Is Nitro compatible with OpenAI? | Yes, Nitro is compatible with OpenAI. This means that it can work seamlessly with models and applications built using OpenAI's technology. | -| What is the endpoint '/v1/chat/completions' used for in the curl command? | The '/v1/chat/completions' endpoint in the curl command is the specific location in the server where the request is being sent. The purpose of this endpoint is to handle chat completions, likely returning the next predicted response(s) from the chat assistant based on the sent message. | - -You can create your dataset by using the following example code. - -First, we need to define some helper functions to process the raw documents into QnA pairs. - -```python title="Define helper functions" -# Reads and returns the content of a file. -def read_file(filepath): - with open(filepath, 'r', encoding='utf-8') as file: - return file.read() - -# Generates a response from the ChatGPT model -def generate_chatgpt_response(messages, temperature=0.5, model="gpt-3.5-turbo", max_tokens=4096): - response = openai.ChatCompletion.create( - model=model, messages=messages, temperature=temperature, max_tokens=max_tokens - ) - return response['choices'][0]['message']['content'] - -# Process Markdown files -def process_markdown_file(file_path, markdown_splitter, text_splitter): - with open(file_path, 'r') as file: - markdown_document = file.read() - md_header_splits = markdown_splitter.split_text(markdown_document) - return [chunk for split in md_header_splits for chunk in text_splitter.split_documents([split])] - -# Extracts question and answer pairs from a given text -def extract_qa_pairs(text): - qa_pairs = [] - current_pair = {} - lines = text.split('\n') - for line in lines: - if line.startswith('"question": '): - current_pair['question'] = line.split('"question": ')[1].strip(' ",') - elif line.startswith('"answer": '): - current_pair['answer'] = line.split('"answer": ')[1].strip(' ",') - qa_pairs.append(current_pair) - current_pair = {} - return qa_pairs - -# Parse QnA pairs as JSON -def parse_response(response): - try: - parsed_data = json.loads(response) - return parsed_data['qa_pairs'] - except json.JSONDecodeError: - return extract_qa_pairs(response) - -# Create new column in the dataset -def create_message(row): - return [{"content": row['question'], "role": "user"}, {"content": row['answer'], "role": "assistant"}] -``` - -In this case, we're using the Langchain framework to streamline our work, which gives us different ways to handle the processing step with just a few lines of code. Most of our documents are written in a Markdown format, so we'll use the `MarkdownHeaderTextSplitter` function combined with the `TokenTextSplitter` function to ensure we give the LLM the right amount of text to create questions and answers. - -We chose a chunk size of 300 tokens to ensure that when we generate QnA pairs, the generation won't be out of context with the token length of the LLM (normally, it’s capped at 4096 tokens). Also, we applied the overlap technique so that each chunk will contain the context from the previous chunk to make the chunk coherent. - -```python title="Create logic for processing raw data" -# Chunking settings -HEADERS_TO_SPLIT_ON = [("#", "Header 1"), ("##", "Header 2"), ("###", "Header 3")] - -# Main Script Logic -markdown_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=HEADERS_TO_SPLIT_ON) -text_splitter = TokenTextSplitter(chunk_size=300, chunk_overlap=30) -``` - -For generating QnA pairs, we need to set up the prompt for the LLM to generate the model. For this task, we used GPT-4 to generate QnA pairs but you can also try with any other Local LLMs with a little bit of tweaking on the system prompt. - -``` -You are a curious assistant. Your task is to make 10 pairs of questions and answers using the given context delimited by triple quotation marks. You are extremely critical and can ask questions at different difficulty levels. You will be more generic and unique and focus on the Nitro library (the given context is from Nitro library). And you can also answer with the code block. Your `answer` must be detailed, comprehensive and step by step guide. Let's think step by step. It's really important to my project. Strictly follow the JSON format for output with 1 field `qa_pairs` and `question`, `answer`. -``` - -To generate a diverse dataset, we'll configure the LLM to produce 10 QnA pairs per iteration. We'll execute this process three times to enrich the dataset's variety. After setting everything up, let's generate a training dataset. - -```python title -# Set up directory -ROOT_DIR = "PATH/TO/YOUR/DATA/FOLDER" -CSV_FILE_PATH = "PATH/TO/SAVE/OUTPUT/CSV/FILE" -REPO_NAME = "YOUR/HUGGINGFACE/REPO" - -# Initialize data frame -all_chunks = [] -master_df = pd.DataFrame(columns=['question', 'answer', 'raw']) - -# Split raw text into chunks -for subdir, dirs, files in os.walk(ROOT_DIR): - for file in files: - if file.endswith('.md'): - file_path = os.path.join(subdir, file) - file_chunks = process_markdown_file(file_path, - markdown_splitter, - text_splitter) - all_chunks.extend(file_chunks) - -# Generating QnA pairs with GPT -for _ in range(3): - for chunk in all_chunks: - conversation = [{'role': 'system', 'content': open_file(SYSTEM_FILE_PATH)}, - {'role': 'user', 'content': str(chunk)}] - response_verification = chatgpt_completion(conversation) - qa_pairs = extract_qa_pairs_from_response(response_verification) - qa_df = pd.DataFrame(qa_pairs) - qa_df['raw'] = [chunk] * len(qa_df) - master_df = pd.concat([master_df, qa_df], ignore_index=True) -master_df.to_csv(CSV_FILE_PATH, index=False, encoding='utf-8') - -# Deduplication -df = pd.read_csv(CSV_FILE_PATH) -df_deduplicated = df.drop_duplicates() -df_deduplicated['messages'] = df_deduplicated.apply(create_message, axis=1) - -# Convert data frame to Huggingface dataset format -messages = df_deduplicated['message'].tolist() -rejected = df_deduplicated['rejected'].tolist() -hf_dataset = Dataset.from_dict({'messages': messages, 'chosen': messages, 'rejected': rejected}) - -# Split train and test -split_dataset = hf_dataset.train_test_split(test_size=0.1) - -# Push to Hugging Face Hub -split_dataset.push_to_hub(REPO_NAME) -``` - -Please refer to **Table 1** for samples of the generated dataset. - -## **3. Finetuning** - -We use the [alignment-handbook](https://github.com/huggingface/alignment-handbook) from Hugging Face for the training code. This is a well-written library that explains in detail everything about finetuning LLMs. It also provides cutting-edge technology implementation like [LORA/QLoRA](#what-is-lora) or [Flash Attention](#what-is-flash-attention) for efficient training on customer GPUs. - -For installing the alignment-handbook, please follow their [installation guide](https://github.com/huggingface/alignment-handbook?tab=readme-ov-file#installation-instructions). - -In our training setup, we selected the [Stealth v1.3](https://huggingface.co/jan-hq/stealth-v1.3) model as the foundation. We explored different configurations of LoRA/QLoRA, focusing on the parameters `r` and `alpha`. The `r` parameter, denoting the rank in low-rank adaptation, influences the model's learning capacity and complexity, with higher values offering more flexibility at the risk of overfitting. The `alpha` parameter scales the adaptation's effect, balancing new learning and existing knowledge retention. We found `r = 256` and `alpha = 512` to be effective settings. For more details, see our sample YAML configuration file. - -For training the model after installing the repository, you can run the following command: - -```js title="Command to train LLM with alignment handbook" -ACCELERATE_LOG_LEVEL=info \ -accelerate launch \ - --config_file recipes/accelerate_configs/multi_gpu.yaml \ - --num_processes=1 \ - scripts/run_sft.py recipes/nitro/sft/config_lora.yaml -``` - -**Table 2. Training result of Nitro models.** - -| Model | r | alpha | Loss | Time | -|--------------|-----|-------|-------|------| -| Nitro E1 LoRA | 16 | 32 | 1.185 | 3m | -| Nitro E3 LoRA | 16 | 32 | 0.853 | 10m | -| Nitro E1 QLoRA | 256 | 512 | 0.6513| 6m | -| Nitro E3 QLoRA | 256 | 512 | 0.3123| 18m | - -*E: epochs, m: minutes* -*Note: Training times can vary based on hardware specifications. The provided times are for reference purposes only.* - -## **4. Test the model** - -After training the model, it can be tested locally in the GGUF format using [Jan](https://jan.ai/). To convert the fine-tuned model to GGUF, you can utilize this convenient [Google Colab notebook by Maxime Labonne](https://colab.research.google.com/github/mlabonne/llm-course/blob/main/Quantize_Llama_2_models_using_GGUF_and_llama_cpp.ipynb). - -![Finetuned Nitro Respond](img/finetuned-response.png) - -**Fig 2. Using Jan to run a new fine-tuned model.** - -![Finetuned Nitro Respond 2](img/finetuned-respond-2.png) - -**Fig 3. Model answers a technical question related to Nitro.** - -As shown in `Fig 2`, the model successfully learned new information from Nitro's documentation. This indicates that it accurately understands details about Nitro. - -## Limitations - -With this straightforward approach, we show that the model is capable of acquiring new knowledge. However, there's a potential risk of [catastrophic forgetting](https://en.wikipedia.org/wiki/Catastrophic_interference), leading to the model only being good at answering information about Nitro documentation and losing some other abilities. - -In our next blog post, we will further discuss this problem and its solution. - -## **Conclusions** - -In the blog post, we learn how to fine-tune an open-source model using LoRA/QLoRA with documentation of Nitro’s repository on a local machine. We’ve learned: - -- Data generation using LangChain to chunk the documentation and use LLM to make QnA pairs from unstructured data. -- Finetuning the model on generated data using QLoRA with high r and alpha setting. -- Test the model using Jan. - -Combining all those steps, we can train our model on every documentation to create our chatbot. - -## Terminology - -### What is Instruction tuning? - -[Instruction tuning](https://openai.com/research/instruction-following) in LLMs involves refining the model's ability to comprehend and execute text-based instructions more effectively. By training on a diverse set of tasks presented as instructions, the model learns to generalize and apply its knowledge across a wide range of requests, enhancing its responsiveness and accuracy in fulfilling user commands. This process fine-tunes the model on a curated dataset where the inputs are explicit instructions and the desired outputs are model-generated responses, leading to improved performance on instruction-following tasks and a better alignment with user expectations. - -### What is LoRA? - -[Low-Rank Adaptation](https://arxiv.org/abs/2106.09685) (LoRA) is a method that makes fine-tuning large language models more efficient. It breaks down the model's large weight matrices into smaller, trainable matrices. These smaller matrices are the only parts that get updated, leaving the original weights unchanged. This approach significantly reduces the number of parameters that need training, leading to faster and less memory-intensive tuning. Essentially, LoRA is a new way of training LLMs with limited resources but with a little trade-off in performance. - -### What is Langchain? - -[LangChain](https://www.langchain.com/) is an open-source framework designed to simplify the creation of applications powered by large language models (LLMs), such as chatbots and agents. Exactly like its name, it's a chaining language for developers to easily apply advanced prompt techniques to get the most out of it. It also provides developers with a standardized interface and pre-built components, making advanced language understanding and generation more accessible. By abstracting the complexities of LLM integration, LangChain enables the rapid development of intelligent, context-aware applications. Its collaborative ecosystem encourages innovation, leveraging the community's collective expertise to expand the possibilities of AI-driven solutions. - -### What is Flash Attention? - -[Flash Attention](https://github.com/Dao-AILab/flash-attention) is an algorithm that speeds up the core attention mechanism in Transformer language models by restructuring computations. It uses techniques like tiling and recomputation to reduce the high memory costs of attention, enabling models to process longer text sequences. \ No newline at end of file diff --git a/docs/pending-content/blogpost/img/about-nitro.png b/docs/pending-content/blogpost/img/about-nitro.png deleted file mode 100644 index 83c5b02b..00000000 Binary files a/docs/pending-content/blogpost/img/about-nitro.png and /dev/null differ diff --git a/docs/pending-content/blogpost/img/finetuned-respond-2.png b/docs/pending-content/blogpost/img/finetuned-respond-2.png deleted file mode 100644 index 8168fc16..00000000 Binary files a/docs/pending-content/blogpost/img/finetuned-respond-2.png and /dev/null differ diff --git a/docs/pending-content/blogpost/img/finetuned-response.png b/docs/pending-content/blogpost/img/finetuned-response.png deleted file mode 100644 index 90aba7d4..00000000 Binary files a/docs/pending-content/blogpost/img/finetuned-response.png and /dev/null differ diff --git a/docs/platforms/hub.md b/docs/platforms/hub.md deleted file mode 100644 index 9d816761..00000000 --- a/docs/platforms/hub.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Jan Hub ---- \ No newline at end of file diff --git a/docs/platforms/mobile.md b/docs/platforms/mobile.md deleted file mode 100644 index 0dea1e99..00000000 --- a/docs/platforms/mobile.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Jan Mobile -slug: /mobile -description: Jan Mobile allows you to bring your AI on the go -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- diff --git a/docs/pricing/pricing.md b/docs/pricing/pricing.md deleted file mode 100644 index 8b734616..00000000 --- a/docs/pricing/pricing.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Pricing -slug: /pricing -description: Pricing for Jan -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - pricing, - ] ---- - -| $0 | $1 | Enterprise | -| ---------------- | ---------------- | ----------------------- | -| Free | Premium | TBA | -| ✅ Core features | ✅ Discord badge | ✅ Enterprise-level SLA | -| ✅ free forever | | | diff --git a/docs/privacy/privacy.md b/docs/privacy/privacy.md deleted file mode 100644 index 329a57ab..00000000 --- a/docs/privacy/privacy.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Privacy - Jan ---- - -# Privacy Policy - -❗This privacy policy only pertains to the DEPRECATED Jan Mobile Application in the iOS and Android app store. -❗❗Jan Desktop DOES NOT collect identifying data at all. - -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/releases/changelog/cache.json b/docs/releases/changelog/cache.json deleted file mode 100644 index 13bb08d6..00000000 --- a/docs/releases/changelog/cache.json +++ /dev/null @@ -1,9598 +0,0 @@ -{ - "releases": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/147163406", - "assets_url": "https://api.github.com/repos/janhq/jan/releases/147163406/assets", - "upload_url": "https://uploads.github.com/repos/janhq/jan/releases/147163406/assets{?name,label}", - "html_url": "https://github.com/janhq/jan/releases/tag/v0.4.9", - "id": 147163406, - "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_kwDOKIBx0s4IxYkO", - "tag_name": "v0.4.9", - "target_commitish": "3a3bceb0c01bfe69d71156891f169e39bca7ebb7", - "name": "0.4.9", - "draft": false, - "prerelease": false, - "created_at": "2024-03-19T03:06:47Z", - "published_at": "2024-03-19T04:45:39Z", - "assets": [ - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157403858", - "id": 157403858, - "node_id": "RA_kwDOKIBx0s4JYcrS", - "name": "jan-linux-amd64-0.4.9.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": 118201794, - "download_count": 94, - "created_at": "2024-03-19T04:08:03Z", - "updated_at": "2024-03-19T04:08:06Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-amd64-0.4.9.deb" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157403802", - "id": 157403802, - "node_id": "RA_kwDOKIBx0s4JYcqa", - "name": "jan-linux-x86_64-0.4.9.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": 156697166, - "download_count": 98, - "created_at": "2024-03-19T04:06:51Z", - "updated_at": "2024-03-19T04:06:55Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-x86_64-0.4.9.AppImage" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157403986", - "id": 157403986, - "node_id": "RA_kwDOKIBx0s4JYctS", - "name": "jan-mac-arm64-0.4.9.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": 132665337, - "download_count": 135, - "created_at": "2024-03-19T04:10:15Z", - "updated_at": "2024-03-19T04:10:26Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157403987", - "id": 157403987, - "node_id": "RA_kwDOKIBx0s4JYctT", - "name": "jan-mac-arm64-0.4.9.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": 139167, - "download_count": 1, - "created_at": "2024-03-19T04:10:15Z", - "updated_at": "2024-03-19T04:10:16Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404007", - "id": 157404007, - "node_id": "RA_kwDOKIBx0s4JYctn", - "name": "jan-mac-arm64-0.4.9.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": 128089843, - "download_count": 222, - "created_at": "2024-03-19T04:10:32Z", - "updated_at": "2024-03-19T04:10:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404006", - "id": 157404006, - "node_id": "RA_kwDOKIBx0s4JYctm", - "name": "jan-mac-arm64-0.4.9.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": 134845, - "download_count": 1, - "created_at": "2024-03-19T04:10:31Z", - "updated_at": "2024-03-19T04:10:32Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404722", - "id": 157404722, - "node_id": "RA_kwDOKIBx0s4JYc4y", - "name": "jan-mac-x64-0.4.9.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": 139245048, - "download_count": 39, - "created_at": "2024-03-19T04:17:33Z", - "updated_at": "2024-03-19T04:17:37Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.dmg" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404721", - "id": 157404721, - "node_id": "RA_kwDOKIBx0s4JYc4x", - "name": "jan-mac-x64-0.4.9.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": 147376, - "download_count": 2, - "created_at": "2024-03-19T04:17:33Z", - "updated_at": "2024-03-19T04:17:33Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.dmg.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404738", - "id": 157404738, - "node_id": "RA_kwDOKIBx0s4JYc5C", - "name": "jan-mac-x64-0.4.9.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": 134752189, - "download_count": 40, - "created_at": "2024-03-19T04:17:52Z", - "updated_at": "2024-03-19T04:17:56Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.zip" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404739", - "id": 157404739, - "node_id": "RA_kwDOKIBx0s4JYc5D", - "name": "jan-mac-x64-0.4.9.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": 141832, - "download_count": 2, - "created_at": "2024-03-19T04:17:52Z", - "updated_at": "2024-03-19T04:17:52Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.zip.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404826", - "id": 157404826, - "node_id": "RA_kwDOKIBx0s4JYc6a", - "name": "jan-win-x64-0.4.9.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": 129440528, - "download_count": 1078, - "created_at": "2024-03-19T04:18:43Z", - "updated_at": "2024-03-19T04:18:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-win-x64-0.4.9.exe" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404825", - "id": 157404825, - "node_id": "RA_kwDOKIBx0s4JYc6Z", - "name": "jan-win-x64-0.4.9.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": 136498, - "download_count": 570, - "created_at": "2024-03-19T04:18:43Z", - "updated_at": "2024-03-19T04:18:43Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/jan-win-x64-0.4.9.exe.blockmap" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157403860", - "id": 157403860, - "node_id": "RA_kwDOKIBx0s4JYcrU", - "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": 321, - "created_at": "2024-03-19T04:08:06Z", - "updated_at": "2024-03-19T04:08:06Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/latest-linux.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404835", - "id": 157404835, - "node_id": "RA_kwDOKIBx0s4JYc6j", - "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": 743, - "created_at": "2024-03-19T04:18:53Z", - "updated_at": "2024-03-19T04:18:53Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/latest-mac.yml" - }, - { - "url": "https://api.github.com/repos/janhq/jan/releases/assets/157404832", - "id": 157404832, - "node_id": "RA_kwDOKIBx0s4JYc6g", - "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": 1890, - "created_at": "2024-03-19T04:18:46Z", - "updated_at": "2024-03-19T04:18:46Z", - "browser_download_url": "https://github.com/janhq/jan/releases/download/v0.4.9/latest.yml" - } - ], - "tarball_url": "https://api.github.com/repos/janhq/jan/tarball/v0.4.9", - "zipball_url": "https://api.github.com/repos/janhq/jan/zipball/v0.4.9", - "body": "## Changes\r\n\r\n- Release/v0.4.9 @namchuai (#2421)\r\n- Release cut 0.4.9 @louis-jan (#2398)\r\n- Update models.json @louis-jan (#2382)\r\n- docs: add about/faq @eckartal (#2329)\r\n- Update docs 14th mar @dan-jan (#2362)\r\n- feat: Nitro-Tensorrt-LLM Extension @louis-jan (#2280)\r\n- Sync release 0.4.8 to dev @louis-jan (#2297)\r\n\r\n## 🚀 Features\r\n\r\n- feat: quick ask support dark mode @urmauur (#2316)\r\n\r\n## 🐛 Fixes\r\n\r\n- fix: move tensorrt executable to engine @namchuai (#2400)\r\n- fix: unable to start web with quick ask @namchuai (#2402)\r\n- fix: fail-fast would cancel matrix jobs as soon as one job fails @louis-jan (#2401)\r\n- fix: clean working dir with long space support on Windows @louis-jan (#2399)\r\n- fix: line height typography blog and docs @urmauur (#2390)\r\n- fix: some regressions for tensorrt nightly build @namchuai (#2380)\r\n- fix: use model from model hub not load correct model in thread screen @namchuai (#2368)\r\n- fix: wrong engine handling @louis-jan (#2363)\r\n- fix: incompatible GPU error message @louis-jan (#2357)\r\n- fix: app does not recognize GPU first launch @louis-jan (#2350)\r\n- fix: disable rag \\& stream settings from tensorrt llm model.json @louis-jan (#2351)\r\n- fix: badge or progress tensorRtExtensionItem @urmauur (#2349)\r\n- fix: ts error when declar var in case @namchuai (#2348)\r\n- fix: some costmetic issues: badges corner, recommended for tensorrt models @namchuai (#2346)\r\n- Add icon file contain image size in file name to fix linux icon @hiento09 (#2344)\r\n- fix: put quick ask feature toggle under experimental feature @louis-jan (#2338)\r\n- fix: do not migrate extensions from quick ask window @louis-jan (#2336)\r\n- fix: existing changelog @hieu-jan (#2330)\r\n- fix: gate quick ask with feature toggle @louis-jan (#2331)\r\n- fix: quick app windows, tray and dock behaviors @louis-jan (#2327)\r\n- fix: jan app tray blocks app update @louis-jan (#2319)\r\n- fix: quick ask not show @louis-jan (#2315)\r\n- fix: quick ask blocks app update @louis-jan (#2310)\r\n- fix: message from quick ask not get the selected model @namchuai (#2307)\r\n- fix: replace robotjs by nutjs (#2295) @louis-jan (#2302)\r\n\r\n## 🧰 Maintenance\r\n\r\n- docs: Update sidebar and content for http proxy and import model @aindrajaya (#2328)\r\n- chore: temporary remove linux from tensorrt support @namchuai (#2386)\r\n- docs: Update broken-build.mdx @0xSage (#2385)\r\n- docs: sync updated content to main page @hieu-jan (#2384)\r\n- docs: fix broken link by redirecting to the right paths @aindrajaya (#2381)\r\n- docs: api reference 2.0 @aindrajaya (#2367)\r\n- docs: bump changelog v0.4.8 @hieu-jan (#2366)\r\n- docs: trt-llm extension guides @0xSage (#2353)\r\n- docs: enhance autogenerate changelog configuration @hieu-jan (#2289)\r\n- docs: update website-docs content @hieu-jan (#2287)\r\n- docs: update slogan @hieu-jan (#2282)\r\n- docs: sync updated content from dev to docs branch @hieu-jan (#2283)\r\n- docs: Fix install slug and fix navbar style in darkmode @aindrajaya (#2306)\r\n\r\n## Contributor\r\n\r\n@0xSage, @aindrajaya, @dan-jan, @eckartal, @hiento09, @hieu-jan, @jan-service-account, @louis-jan, @namchuai and @urmauur\r\n", - "reactions": { - "url": "https://api.github.com/repos/janhq/jan/releases/147163406/reactions", - "total_count": 1, - "+1": 1, - "-1": 0, - "laugh": 0, - "hooray": 0, - "confused": 0, - "heart": 0, - "rocket": 0, - "eyes": 0 - }, - "mentions_count": 10 - }, - { - "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": 852, - "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": 735, - "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": 1258, - "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": 3, - "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": 1167, - "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": 478, - "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": 3, - "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": 201, - "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": 7280, - "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": 3195, - "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": 2719, - "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": 5959, - "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": 15868, - "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": 8, - "+1": 0, - "-1": 0, - "laugh": 0, - "hooray": 0, - "confused": 0, - "heart": 8, - "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": 1494, - "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": 1329, - "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": 2658, - "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": 5, - "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": 1569, - "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": 5, - "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": 4, - "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": 329, - "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": 14695, - "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": 6509, - "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": 4867, - "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": 11437, - "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": 2421, - "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": 2197, - "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": 15, - "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": 1719, - "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": 10, - "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": 2042, - "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": 14, - "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": 29522, - "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": 8542, - "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": 8083, - "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": 18035, - "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": 61912, - "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": 1108, - "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": 4, - "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": 1063, - "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": 4, - "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": 643, - "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": 190, - "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": 5, - "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": 9316, - "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": 5239, - "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": 6004, - "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": 17196, - "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": 2705, - "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": 2502, - "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": 4864, - "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": 7, - "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": 1930, - "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": 6, - "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": 275, - "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": 6, - "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": 23208, - "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": 7136, - "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": 6804, - "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": 10715, - "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": 25723, - "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": 5037, - "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": 9217, - "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": 128, - "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": 8, - "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": 3363, - "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": 9, - "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": 84, - "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": 9, - "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": 28157, - "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": 4150, - "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": 5274, - "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": 15930, - "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": 29751, - "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": 119, - "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": 139, - "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": 14, - "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": 2, - "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": 6, - "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": 374, - "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": 221, - "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": 153, - "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": 316, - "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": 537, - "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": 43, - "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": 34, - "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": 2, - "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": 2, - "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": 2, - "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": 109, - "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": 100, - "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": 126, - "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": 120, - "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": 18, - "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": 35, - "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": 12, - "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": 3, - "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": 18, - "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": 5, - "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": 102, - "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": 17, - "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": 32, - "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": 122, - "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": 22, - "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": 28, - "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": 2, - "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": 10, - "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": 2, - "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": 9, - "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": 2, - "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": 3, - "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": 10, - "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": 70, - "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": 55, - "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": 3, - "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": 12, - "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": 3, - "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": 8, - "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": 3, - "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": 6, - "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": 2, - "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": 94, - "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": 9, - "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": 13, - "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": 217, - "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": 69, - "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": 15, - "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": 47, - "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": 3, - "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": 15, - "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": 3, - "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": 25, - "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": 3, - "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": 3, - "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": 53, - "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": 9, - "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": 80, - "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": 306, - "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": 115, - "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": 3, - "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": 13, - "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": 3, - "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": 3, - "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": 3, - "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": 12, - "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": 10, - "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": 3, - "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": 17, - "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": 16, - "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": 3, - "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": 3, - "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": 8, - "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": 33, - "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": 68, - "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": 14, - "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": 13, - "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": 5, - "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": 3, - "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": 5, - "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": 3, - "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": 4, - "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": 3, - "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": 6, - "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": 73, - "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": 104, - "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": 72, - "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": 15, - "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": 37, - "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": 3, - "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": 3, - "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": 10, - "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": 3, - "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": 3, - "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": 42, - "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": 8, - "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": 326, - "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": 396, - "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/releases/changelog/changelog-v0.2.0.mdx b/docs/releases/changelog/changelog-v0.2.0.mdx deleted file mode 100644 index 0a4f3271..00000000 --- a/docs/releases/changelog/changelog-v0.2.0.mdx +++ /dev/null @@ -1,47 +0,0 @@ ---- -sidebar_position: 18 -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/releases/changelog/changelog-v0.2.1.mdx b/docs/releases/changelog/changelog-v0.2.1.mdx deleted file mode 100644 index ca2df537..00000000 --- a/docs/releases/changelog/changelog-v0.2.1.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -sidebar_position: 17 -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/releases/changelog/changelog-v0.2.2.mdx b/docs/releases/changelog/changelog-v0.2.2.mdx deleted file mode 100644 index 27bf3ec3..00000000 --- a/docs/releases/changelog/changelog-v0.2.2.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -sidebar_position: 16 -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/releases/changelog/changelog-v0.2.3.mdx b/docs/releases/changelog/changelog-v0.2.3.mdx deleted file mode 100644 index 07e0107a..00000000 --- a/docs/releases/changelog/changelog-v0.2.3.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -sidebar_position: 15 -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/releases/changelog/changelog-v0.3.0.mdx b/docs/releases/changelog/changelog-v0.3.0.mdx deleted file mode 100644 index f42c045e..00000000 --- a/docs/releases/changelog/changelog-v0.3.0.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -sidebar_position: 14 -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/releases/changelog/changelog-v0.3.1.mdx b/docs/releases/changelog/changelog-v0.3.1.mdx deleted file mode 100644 index 80497695..00000000 --- a/docs/releases/changelog/changelog-v0.3.1.mdx +++ /dev/null @@ -1,78 +0,0 @@ ---- -sidebar_position: 13 -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/releases/changelog/changelog-v0.3.2.mdx b/docs/releases/changelog/changelog-v0.3.2.mdx deleted file mode 100644 index fdb939e9..00000000 --- a/docs/releases/changelog/changelog-v0.3.2.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -sidebar_position: 12 -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/releases/changelog/changelog-v0.3.3.mdx b/docs/releases/changelog/changelog-v0.3.3.mdx deleted file mode 100644 index 0a0c434a..00000000 --- a/docs/releases/changelog/changelog-v0.3.3.mdx +++ /dev/null @@ -1,101 +0,0 @@ ---- -sidebar_position: 11 -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/releases/changelog/changelog-v0.4.0.mdx b/docs/releases/changelog/changelog-v0.4.0.mdx deleted file mode 100644 index 4799cee8..00000000 --- a/docs/releases/changelog/changelog-v0.4.0.mdx +++ /dev/null @@ -1,75 +0,0 @@ ---- -sidebar_position: 10 -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/releases/changelog/changelog-v0.4.1.mdx b/docs/releases/changelog/changelog-v0.4.1.mdx deleted file mode 100644 index e8b06146..00000000 --- a/docs/releases/changelog/changelog-v0.4.1.mdx +++ /dev/null @@ -1,62 +0,0 @@ ---- -sidebar_position: 9 -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/releases/changelog/changelog-v0.4.2.mdx b/docs/releases/changelog/changelog-v0.4.2.mdx deleted file mode 100644 index 097ca7ef..00000000 --- a/docs/releases/changelog/changelog-v0.4.2.mdx +++ /dev/null @@ -1,50 +0,0 @@ ---- -sidebar_position: 8 -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/releases/changelog/changelog-v0.4.3.mdx b/docs/releases/changelog/changelog-v0.4.3.mdx deleted file mode 100644 index 191ba9ec..00000000 --- a/docs/releases/changelog/changelog-v0.4.3.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -sidebar_position: 7 -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/releases/changelog/changelog-v0.4.4.mdx b/docs/releases/changelog/changelog-v0.4.4.mdx deleted file mode 100644 index 956e9897..00000000 --- a/docs/releases/changelog/changelog-v0.4.4.mdx +++ /dev/null @@ -1,198 +0,0 @@ ---- -sidebar_position: 6 -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/releases/changelog/changelog-v0.4.5.mdx b/docs/releases/changelog/changelog-v0.4.5.mdx deleted file mode 100644 index 4666c942..00000000 --- a/docs/releases/changelog/changelog-v0.4.5.mdx +++ /dev/null @@ -1,103 +0,0 @@ ---- -sidebar_position: 5 -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/releases/changelog/changelog-v0.4.6.mdx b/docs/releases/changelog/changelog-v0.4.6.mdx deleted file mode 100644 index d9984f39..00000000 --- a/docs/releases/changelog/changelog-v0.4.6.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -sidebar_position: 4 -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/releases/changelog/changelog-v0.4.7.mdx b/docs/releases/changelog/changelog-v0.4.7.mdx deleted file mode 100644 index 52664569..00000000 --- a/docs/releases/changelog/changelog-v0.4.7.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -sidebar_position: 3 -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/releases/changelog/changelog-v0.4.8.mdx b/docs/releases/changelog/changelog-v0.4.8.mdx deleted file mode 100644 index 5da728b5..00000000 --- a/docs/releases/changelog/changelog-v0.4.8.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -sidebar_position: 2 -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/releases/changelog/changelog-v0.4.9.mdx b/docs/releases/changelog/changelog-v0.4.9.mdx deleted file mode 100644 index 898f621d..00000000 --- a/docs/releases/changelog/changelog-v0.4.9.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -sidebar_position: 1 -slug: /changelog/changelog-v0.4.9 ---- -# v0.4.9 - -For more details, [GitHub Issues](https://github.com/janhq/jan/releases/tag/v0.4.9) - -Highlighted Issue: [Issue #2421: Release/v0.4.9](https://github.com/janhq/jan/pull/2421) - -## Changes - -- Release/v0.4.9 @namchuai (#2421) -- Release cut 0.4.9 @louis-jan (#2398) -- Update models.json @louis-jan (#2382) -- docs: add about/faq @eckartal (#2329) -- Update docs 14th mar @dan-jan (#2362) -- feat: Nitro-Tensorrt-LLM Extension @louis-jan (#2280) -- Sync release 0.4.8 to dev @louis-jan (#2297) - -## 🚀 Features - -- feat: quick ask support dark mode @urmauur (#2316) - -## 🐛 Fixes - -- fix: move tensorrt executable to engine @namchuai (#2400) -- fix: unable to start web with quick ask @namchuai (#2402) -- fix: fail-fast would cancel matrix jobs as soon as one job fails @louis-jan (#2401) -- fix: clean working dir with long space support on Windows @louis-jan (#2399) -- fix: line height typography blog and docs @urmauur (#2390) -- fix: some regressions for tensorrt nightly build @namchuai (#2380) -- fix: use model from model hub not load correct model in thread screen @namchuai (#2368) -- fix: wrong engine handling @louis-jan (#2363) -- fix: incompatible GPU error message @louis-jan (#2357) -- fix: app does not recognize GPU first launch @louis-jan (#2350) -- fix: disable rag \& stream settings from tensorrt llm model.json @louis-jan (#2351) -- fix: badge or progress tensorRtExtensionItem @urmauur (#2349) -- fix: ts error when declar var in case @namchuai (#2348) -- fix: some costmetic issues: badges corner, recommended for tensorrt models @namchuai (#2346) -- Add icon file contain image size in file name to fix linux icon @hiento09 (#2344) -- fix: put quick ask feature toggle under experimental feature @louis-jan (#2338) -- fix: do not migrate extensions from quick ask window @louis-jan (#2336) -- fix: existing changelog @hieu-jan (#2330) -- fix: gate quick ask with feature toggle @louis-jan (#2331) -- fix: quick app windows, tray and dock behaviors @louis-jan (#2327) -- fix: jan app tray blocks app update @louis-jan (#2319) -- fix: quick ask not show @louis-jan (#2315) -- fix: quick ask blocks app update @louis-jan (#2310) -- fix: message from quick ask not get the selected model @namchuai (#2307) -- fix: replace robotjs by nutjs (#2295) @louis-jan (#2302) - -## 🧰 Maintenance - -- docs: Update sidebar and content for http proxy and import model @aindrajaya (#2328) -- chore: temporary remove linux from tensorrt support @namchuai (#2386) -- docs: Update broken-build.mdx @0xSage (#2385) -- docs: sync updated content to main page @hieu-jan (#2384) -- docs: fix broken link by redirecting to the right paths @aindrajaya (#2381) -- docs: api reference 2.0 @aindrajaya (#2367) -- docs: bump changelog v0.4.8 @hieu-jan (#2366) -- docs: trt-llm extension guides @0xSage (#2353) -- docs: enhance autogenerate changelog configuration @hieu-jan (#2289) -- docs: update website-docs content @hieu-jan (#2287) -- docs: update slogan @hieu-jan (#2282) -- docs: sync updated content from dev to docs branch @hieu-jan (#2283) -- docs: Fix install slug and fix navbar style in darkmode @aindrajaya (#2306) - -## Contributor - -@0xSage, @aindrajaya, @dan-jan, @eckartal, @hiento09, @hieu-jan, @jan-service-account, @louis-jan, @namchuai and @urmauur - diff --git a/docs/server-suite/admin-console.md b/docs/server-suite/admin-console.md deleted file mode 100644 index e2da5c09..00000000 --- a/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/server-suite/audit-compliance.md b/docs/server-suite/audit-compliance.md deleted file mode 100644 index af468489..00000000 --- a/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/server-suite/enterprise.md b/docs/server-suite/enterprise.md deleted file mode 100644 index d2e231be..00000000 --- a/docs/server-suite/enterprise.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Jan Enterprise -slug: /enterprise -description: Built for Enterprise Deployments -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - ] ---- - -# 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/server-suite/identity-access-management.md b/docs/server-suite/identity-access-management.md deleted file mode 100644 index bdeafa9b..00000000 --- a/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/server-suite/observability.md b/docs/server-suite/observability.md deleted file mode 100644 index 6371a628..00000000 --- a/docs/server-suite/observability.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Observability ---- \ No newline at end of file diff --git a/docs/solutions/ai-employees.md b/docs/solutions/ai-employees.md deleted file mode 100644 index 53f425ab..00000000 --- a/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/solutions/ai-pc.md b/docs/solutions/ai-pc.md deleted file mode 100644 index 415dadef..00000000 --- a/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/solutions/chatgpt-alternative.md b/docs/solutions/chatgpt-alternative.md deleted file mode 100644 index 84ec2a59..00000000 --- a/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/solutions/consultants.md b/docs/solutions/consultants.md deleted file mode 100644 index 085a8495..00000000 --- a/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/solutions/developers.md b/docs/solutions/developers.md deleted file mode 100644 index e912365b..00000000 --- a/docs/solutions/developers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Developers -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/solutions/enterprises.md b/docs/solutions/enterprises.md deleted file mode 100644 index 0a219ee7..00000000 --- a/docs/solutions/enterprises.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Enterprises -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/solutions/finance.md b/docs/solutions/finance.md deleted file mode 100644 index dde66d61..00000000 --- a/docs/solutions/finance.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Finance -tags: [industries] ---- \ No newline at end of file diff --git a/docs/solutions/government.md b/docs/solutions/government.md deleted file mode 100644 index cb52f5d7..00000000 --- a/docs/solutions/government.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Government -tags: [industries] ---- \ No newline at end of file diff --git a/docs/solutions/healthcare.md b/docs/solutions/healthcare.md deleted file mode 100644 index 1cd85463..00000000 --- a/docs/solutions/healthcare.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Healthcare -tags: [industries] ---- \ No newline at end of file diff --git a/docs/solutions/legal.md b/docs/solutions/legal.md deleted file mode 100644 index 6cc88372..00000000 --- a/docs/solutions/legal.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Legal -tags: [industries] ---- \ No newline at end of file diff --git a/docs/solutions/startups.md b/docs/solutions/startups.md deleted file mode 100644 index 23cdb5bb..00000000 --- a/docs/solutions/startups.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Startups -tags: [audiences] ---- \ No newline at end of file diff --git a/docs/studio/studio.md b/docs/studio/studio.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/support/support.md b/docs/support/support.md deleted file mode 100644 index 36895017..00000000 --- a/docs/support/support.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Support - Jan ---- - -# 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/team/contributor-program.md b/docs/team/contributor-program.md deleted file mode 100644 index cacdfa04..00000000 --- a/docs/team/contributor-program.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Contributor Program ---- \ No newline at end of file diff --git a/docs/template/QA_script.md b/docs/template/QA_script.md deleted file mode 100644 index de006c62..00000000 --- a/docs/template/QA_script.md +++ /dev/null @@ -1,196 +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/wall-of-love.md b/docs/wall-of-love.md deleted file mode 100644 index a12e5689..00000000 --- a/docs/wall-of-love.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: Wall of Love ❤️ -slug: /wall-of-love -description: Check out what our amazing users are saying about Jan! -keywords: - [ - Jan, - Customizable Intelligence, LLM, - local AI, - privacy focus, - free and open source, - private and offline, - conversational AI, - no-subscription fee, - large language models, - 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/docusaurus.config.js b/docusaurus.config.js deleted file mode 100644 index 7265fdfd..00000000 --- a/docusaurus.config.js +++ /dev/null @@ -1,738 +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 | Rethink the Computer', - 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: 'docs', // 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: '/troubleshooting/', - }, - { - from: '/guides/troubleshooting/gpu-not-used/', - to: '/troubleshooting/', - }, - { - from: '/guides/troubleshooting/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/stuck-on-broken-build/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/somethings-amiss/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/how-to-get-error-logs/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/permission-denied/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/unexpected-token/', - to: '/troubleshooting/', - }, - { - from: '/troubleshooting/undefined-issue/', - to: '/troubleshooting/', - }, - // { - // from: '/install/', - // to: '/guides/install/', - // }, - { - from: '/guides/using-models/', - to: '/guides/models/', - }, - { - from: '/guides/using-extensions/', - to: '/extensions/', - }, - { - from: '/integrations/tensorrt', - to: '/guides/providers/tensorrt-llm', - }, - // { - // from: '/install/mac/', - // to: '/guides/install/mac/', - // }, - { - from: '/guides/using-models/integrate-with-remote-server/', - to: '/guides/engines/remote-server/', - }, - { - from: '/guides/chatting/manage-history/', - to: '/guides/threads/', - }, - { - from: '/guides/using-server/', - to: '/guides/local-api/', - }, - { - from: '/guides/using-models/customize-engine-settings/', - to: '/guides/engines/llamacpp/', - }, - { - from: '/guides/integrations/openrouter/', - to: '/integrations/openrouter/', - }, - { - from: '/docs/integrations/', - to: '/integrations/', - }, - { - from: '/docs/product/chat/', - to: '/developer/framework/product/chat/', - }, - // { - // from: '/install/windows/', - // to: '/guides/install/windows/', - // }, - { - from: '/api/overview/', - to: '/api-reference/', - }, - // { - // from: '/install/linux/', - // to: '/guides/install/linux/', - // }, - // { - // from: '/install/from-source/', - // to: '/guides/install/#install-server-side', - // }, - { - from: '/troubleshooting/gpu-not-used/', - to: '/troubleshooting/#troubleshooting-nvidia-gpu', - }, - { - from: '/guides/using-server/server/', - to: '/guides/local-api/#step-2-start-and-use-the-built-in-api-server', - }, - { - from: '/docs/integrations/openrouter/', - to: '/integrations/openrouter/', - }, - { - from: '/docs/integrations/ollama/', - to: '/guides/engines/ollama/', - }, - { - from: '/guides/using-models/install-from-hub/', - to: '/guides/models/', - }, - { - from: '/guides/integrations/continue/', - to: '/integrations/continue/', - }, - { - from: '/docs/engineering/assistants/', - to: '/developer/framework/engineering/assistants/', - }, - { - from: '/guides/install/hardware/', - to: '/guides/hardware/', - }, - { - from: '/docs/engineering/files/', - to: '/developer/framework/engineering/files/', - }, - { - from: '/features/acceleration/', - to: '/guides/advanced/#enable-the-gpu-acceleration', - }, - { - from: '/docs/extension-guides/', - to: '/extensions/', - }, - { - from: '/specs/settings/', - to: '/developer/framework/product/settings/', - }, - { - from: '/guides/using-models/import-models-using-absolute-filepath/', - to: '/guides/models/', - }, - // { - // from: '/install/docker/', - // to: '/guides/install/server/', - // }, - { - from: '/guides/using-models/import-manually/', - to: '/guides/models/', - }, - { - from: '/v1/models', - to: '/guides/models/', - }, - { - from: '/docs/team/contributor-program/', - to: '/team/contributor-program/', - }, - { - from: '/guides/installation/hardware/', - to: '/guides/hardware/', - }, - { - from: '/guides/chatting/start-thread/', - to: '/guides/threads/', - }, - { - from: '/api/files/', - to: '/developer/framework/engineering/files/#file-api', - }, - { - from: '/specs/threads/', - to: '/developer/framework/engineering/threads/', - }, - { - from: '/guides/using-models/customize-models/', - to: '/guides/models/', - }, - { - from: '/docs/modules/models/', - to: '/guides/models/', - }, - // { - // from: '/developer/build-extension/package-your-assistant/', - // to: '/developer/extension/package-your-extension/', - // }, - // { - // from: '/getting-started/install/linux/', - // to: '/guides/install/linux/', - // }, - { - from: '/features/extensions', - to: '/extensions/', - }, - { - from: '/specs/chats/', - to: '/developer/framework/engineering/chats/', - }, - { - from: '/specs/engine/', - to: '/developer/framework/engineering/engine/', - }, - { - from: '/docs/extension-capabilities/', - to: '/extensions/', - }, - { - from: '/docs/get-started/use-local-server/', - to: '/guides/local-api/', - }, - { - from: '/guides/how-jan-works/', - to: '/guides/', - }, - // { - // from: '/guides/windows/', - // to: '/guides/install/windows/', - // }, - { - from: '/specs/', - to: '/developer/framework/', - }, - // { - // from: '/docs/get-started/build-extension/', - // to: '/developer/extension/', - // }, - { - from: '/specs/files/', - to: '/developer/framework/engineering/files/', - }, - { - from: '/guides/using-models/package-models/', - to: '/guides/models/', - }, - // { - // from: '/install/overview/', - // to: '/guides/install/', - // }, - // { - // from: '/docs/get-started/extension-anatomy/', - // to: '/developer/extension/extension-anatomy/', - // }, - { - from: '/docs/get-started/', - to: '/guides/', - }, - // { - // from: '/guides/mac/', - // to: '/guides/install/mac/', - // }, - // { - // from: '/specs/fine-tuning/', - // to: '/developer/framework/engineering/fine-tuning/', - // }, - { - from: '/guides/server/', - to: '/guides/local-api/', - }, - { - from: '/specs/file-based/', - to: '/developer/file-based/', - }, - { - from: '/developers/', - to: '/developer/', - }, - { - from: '/api/', - to: '/api-reference/', - }, - // { - // from: '/products/desktop', - // to: '/desktop/', - // }, - { - from: '/developers/plugins/azure-openai', - to: '/guides/engines/openai/', - }, - // { - // from: '/getting-started/install/mac', - // to: '/guides/install/mac/', - // }, - // { - // from: '/guides/fine-tuning/what-models-can-be-fine-tuned', - // to: '/developer/framework/engineering/fine-tuning/', - // }, - // { - // from: '/guides/linux/', - // to: '/guides/install/linux/', - // }, - { - from: '/docs/specs/threads', - to: '/developer/framework/engineering/threads/', - }, - { - from: '/docs/api-reference/models/list', - to: '/api-reference#tag/models/get/models', - }, - { - from: '/docs/api-reference/threads', - to: '/api-reference/#tag/chat/post/chat/completions', - }, - { - from: '/getting-started/troubleshooting', - to: '/troubleshooting/', - }, - // { - // from: '/getting-started/install/windows', - // to: '/guides/install/windows/', - // }, - { - from: '/docs/api-reference/messages', - to: '/api-reference#tag/messages/get/threads/{thread_id}/messages', - }, - { - from: '/docs/modules/chats', - to: '/developer/framework/engineering/chats/', - }, - { - from: '/docs/specs/chats', - to: '/developer/framework/engineering/chats/', - }, - { - from: '/docs/api-reference/assistants', - to: '/api-reference/#tag/assistants/get/assistants', - }, - { - from: '/docs/modules/files', - to: '/developer/framework/engineering/files/', - }, - { - from: '/features/ai-models', - to: '/guides/models/', - }, - { - from: '/docs/specs/models', - to: '/developer/framework/engineering/models/', - }, - { - from: '/docs/models/overview', - to: '/developer/framework/engineering/models/', - }, - { - from: '/docs/api-reference/models', - to: '/api-reference#tag/models/get/models', - }, - // { - // from: '/docs/guides/fine-tuning', - // to: '/developer/framework/engineering/fine-tuning/', - // }, - { - from: '/docs/specs/files', - to: '/developer/framework/engineering/files/', - }, - { - from: '/docs/modules/threads', - to: '/developer/framework/engineering/threads/', - }, - { - from: '/hardware/examples/3090x1-@dan-jan', - to: '/guides/hardware/', - }, - { - from: '/chat', - to: '/guides/threads/', - }, - { - from: '/docs/engineering/', - to: '/developer/engineering/', - }, - // { - // from: '/docs/modules/assistants', - // to: '/developer/assistant/', - // }, - ], - }, - ], - - //To input custom Plugin - path.resolve(__dirname, 'plugins', 'changelog-plugin'), - [ - '@scalar/docusaurus', - { - label: '', - route: '/api-reference', - configuration: { - spec: { - url: 'https://raw.githubusercontent.com/janhq/docs/main/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/docs/tree/main', - 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 turns your computer into an AI machine by running LLMs locally on your computer. It's a privacy-focus, local-first, open-source solution.`, - }, - { - name: 'keywords', - content: - 'Jan, Rethink the Computer, LLM, local AI, privacy focus, free and open source, private and offline, conversational AI, no-subscription fee, large language models', - }, - { name: 'robots', content: 'index, follow' }, - { - property: 'og:title', - content: 'Jan | Rethink the Computer', - }, - { - property: 'og:description', - content: `Jan turns your computer into an AI machine by running LLMs locally on your computer. It's a privacy-focus, local-first, open-source solution.`, - }, - { - 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 | Rethink the Computer', - }, - { - property: 'twitter:description', - content: `Jan turns your computer into an AI machine by running LLMs locally on your computer. It's a privacy-focus, local-first, open-source solution.`, - }, - { - 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': 'Organization', - name: 'Jan', - url: 'https://jan.ai/', - logo: 'https://jan.ai/img/og-image.png', - }), - }, - ], - 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', - // position: 'left', - // label: 'Product', - // }, - // { - // type: 'docSidebar', - // sidebarId: 'ecosystemSidebar', - // position: 'left', - // label: 'Ecosystem', - // }, - { - to: 'download', - position: 'left', - label: 'Download', - }, - // { - // 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/next-sitemap.config.js b/next-sitemap.config.js new file mode 100644 index 00000000..d3c5d3e2 --- /dev/null +++ b/next-sitemap.config.js @@ -0,0 +1,7 @@ +/** @type {import('next-sitemap').IConfig} */ +module.exports = { + siteUrl: 'https://jan.ai/', + generateRobotsTxt: true, + changefreq: 'daily', + priority: 1.0, +} diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 00000000..8ac7052c --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,37 @@ +/** @type {import('next').NextConfig} */ + +import nextra from 'nextra' +import { remarkCodeHike } from '@code-hike/mdx' + +const withNextra = nextra({ + theme: 'nextra-theme-docs', + themeConfig: './theme.config.tsx', + defaultShowCopyCode: true, + latex: true, + mdxOptions: { + remarkPlugins: [ + [ + remarkCodeHike, + { + theme: 'dark-plus', + showCopyButton: true, + skipLanguages: ['mermaid'], + }, + ], + ], + }, +}) + +const nextConfig = { + reactStrictMode: true, + output: 'export', + images: { + unoptimized: true, + }, + env: { + GTM_ID: process.env.GTM_ID, + }, + transpilePackages: ['@scalar', 'react-tweet'], +} + +export default withNextra(nextConfig) diff --git a/openapi/jan.json b/openapi/jan.json deleted file mode 100644 index 4ccee276..00000000 --- a/openapi/jan.json +++ /dev/null @@ -1,2489 +0,0 @@ -{ - "openapi": "3.0.0", - "info": { - "title": "API Reference", - "description": "# Introduction\nJan API is compatible with the [OpenAI API](https://platform.openai.com/docs/api-reference).\n", - "version": "0.1.8", - "contact": { - "name": "Jan Discord", - "url": "https://discord.gg/7EcEz7MrvA" - }, - "license": { - "name": "AGPLv3", - "url": "https://github.com/janhq/nitro/blob/main/LICENSE" - } - }, - "servers": [ - { - "url": "http://localhost:1337/v1" - } - ], - "tags": [ - { - "name": "Model", - "description": "List and describe the various models available in the API." - }, - { - "name": "Chat", - "description": "Given a list of messages comprising a conversation, the model will return a response.\n" - }, - { - "name": "Messages", - "description": "Messages capture a conversation's content. This can include the content from LLM responses and other metadata from [chat completions](/specs/chats).\n" - }, - { - "name": "Threads" - }, - { - "name": "Assistants", - "description": "Configures and utilizes different AI assistants for varied tasks" - } - ], - "x-tagGroups": [ - { - "name": "Endpoints", - "tags": [ - "Model", - "Chat" - ] - }, - { - "name": "Chat", - "tags": [ - "Assistants", - "Messages", - "Threads" - ] - } - ], - "paths": { - "/chat/completions": { - "post": { - "operationId": "createChatCompletion", - "tags": [ - "Chat" - ], - "summary": "Create chat completion\n", - "description": "Creates a model response for the given chat conversation. The API limits stop words to a maximum of 4. If more are specified, only the first 4 will be accepted. Equivalent to OpenAI's create chat completion. \n", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ChatCompletionRequest" - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ChatCompletionResponse" - } - } - } - } - } - } - }, - "/models": { - "get": { - "operationId": "listModels", - "tags": [ - "Model" - ], - "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": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListModelsResponse" - } - } - } - } - } - } - }, - "/models/download/{model_id}": { - "get": { - "operationId": "downloadModel", - "tags": [ - "Model" - ], - "summary": "Download a specific model.", - "description": "Download a model.\n", - "parameters": [ - { - "in": "path", - "name": "model_id", - "required": true, - "schema": { - "type": "string", - "example": "mistral-ins-7b-q4" - }, - "description": "The ID of the model to use for this request.\n" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DownloadModelResponse" - } - } - } - } - } - } - }, - "/models/{model_id}": { - "get": { - "operationId": "retrieveModel", - "tags": [ - "Model" - ], - "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": [ - { - "in": "path", - "name": "model_id", - "required": true, - "schema": { - "type": "string", - "example": "mistral-ins-7b-q4" - }, - "description": "The ID of the model to use for this request.\n" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetModelResponse" - } - } - } - } - } - }, - "delete": { - "operationId": "deleteModel", - "tags": [ - "Model" - ], - "summary": "Delete model", - "description": "Delete a model. Equivalent to OpenAI's delete model. \n", - "parameters": [ - { - "in": "path", - "name": "model_id", - "required": true, - "schema": { - "type": "string", - "example": "mistral-ins-7b-q4" - }, - "description": "The model id to delete\n" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteModelResponse" - } - } - } - } - } - } - }, - "/threads": { - "post": { - "operationId": "createThread", - "tags": [ - "Threads" - ], - "summary": "Create thread", - "description": "Create a thread. Equivalent to OpenAI's create thread. \n", - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateThreadObject" - } - } - } - }, - "responses": { - "200": { - "description": "Thread created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateThreadResponse" - } - } - } - } - } - }, - "get": { - "operationId": "listThreads", - "tags": [ - "Threads" - ], - "summary": "List threads", - "description": "Retrieves a list of all threads available in the system.\n", - "responses": { - "200": { - "description": "List of threads retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ThreadObject" - }, - "example": [ - { - "id": "thread_abc123", - "object": "thread", - "created_at": 1699014083, - "assistants": [ - "assistant-001" - ], - "metadata": {}, - "messages": [] - }, - { - "id": "thread_abc456", - "object": "thread", - "created_at": 1699014083, - "assistants": [ - "assistant-002", - "assistant-003" - ], - "metadata": {} - } - ] - } - } - } - } - } - } - }, - "/threads/{thread_id}": { - "get": { - "operationId": "getThread", - "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": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread to retrieve.\n" - } - ], - "responses": { - "200": { - "description": "Thread details retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetThreadResponse" - } - } - } - } - } - }, - "patch": { - "operationId": "modifyThread", - "tags": [ - "Threads" - ], - "summary": "Modify thread", - "description": "Modifies a thread. Equivalent to OpenAI's modify thread. \n", - "parameters": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread to be modified.\n" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "description": "Set the title of the thread", - "items": { - "$ref": "#/components/schemas/ThreadMessageObject" - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "Thread modified successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModifyThreadResponse" - } - } - } - } - } - }, - "delete": { - "operationId": "deleteThread", - "tags": [ - "Threads" - ], - "summary": "Delete thread", - "description": "Delete a thread. Equivalent to OpenAI's delete thread. \n", - "parameters": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread to be deleted.\n" - } - ], - "responses": { - "200": { - "description": "Thread deleted successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteThreadResponse" - } - } - } - } - } - } - }, - "/assistants": { - "get": { - "operationId": "listAssistants", - "tags": [ - "Assistants" - ], - "summary": "List assistants", - "description": "Return a list of assistants. Equivalent to OpenAI's list assistants. \n", - "responses": { - "200": { - "description": "List of assistants retrieved successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "object": { - "type": "string" - }, - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "avatar": { - "type": "string", - "format": "uri" - }, - "models": { - "type": "array", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string" - } - } - } - }, - "instructions": { - "type": "string" - }, - "events": { - "type": "object", - "properties": { - "in": { - "type": "array", - "items": {} - }, - "out": { - "type": "array", - "items": {} - } - } - }, - "metadata": { - "type": "object" - }, - "x-codeSamples": { - "type": "object", - "properties": { - "cURL": { - "type": "object", - "properties": { - "lang": { - "type": "string", - "example": "cURL" - }, - "source": { - "type": "string", - "example": "curl http://localhost:1337/v1/assistants \\\n -H \"Content-Type: application/json\"\n" - } - } - }, - "JavaScript": { - "type": "object", - "properties": { - "lang": { - "type": "string", - "example": "JavaScript" - }, - "source": { - "type": "string", - "example": "fetch('http://localhost:1337/v1/assistants', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n})\n" - } - } - }, - "Node.js": { - "type": "object", - "properties": { - "lang": { - "type": "string", - "example": "Node.js" - }, - "source": { - "type": "string", - "example": "const fetch = require('node-fetch');\n\nfetch('http://localhost:1337/v1/assistants', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n})\n" - } - } - }, - "Python": { - "type": "object", - "properties": { - "lang": { - "type": "string", - "example": "Python" - }, - "source": { - "type": "string", - "example": "import requests\n\nurl = 'http://localhost:1337/v1/assistants'\nheaders = {'Content-Type': 'application/json'}\n\nresponse = requests.get(url, headers=headers)\n" - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/assistants/{assistant_id}": { - "get": { - "operationId": "getAssistant", - "tags": [ - "Assistants" - ], - "summary": "Retrieve assistant", - "description": "Retrieves an assistant. Equivalent to OpenAI's retrieve assistants. \n", - "parameters": [ - { - "in": "path", - "name": "assistant_id", - "required": true, - "schema": { - "type": "string", - "example": "jan" - }, - "description": "The ID of the assistant to retrieve.\n" - } - ], - "responses": { - "200": { - "description": "string", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RetrieveAssistantResponse" - } - } - } - } - } - } - }, - "/threads/{thread_id}/messages": { - "get": { - "operationId": "listMessages", - "tags": [ - "Messages" - ], - "summary": "List messages", - "description": "Retrieves all messages from the given thread. Equivalent to OpenAI's list messages. \n", - "parameters": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread from which to retrieve messages.\n" - } - ], - "responses": { - "200": { - "description": "List of messages retrieved successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListMessagesResponse" - } - } - } - } - } - }, - "post": { - "operationId": "createMessage", - "tags": [ - "Messages" - ], - "summary": "Create message", - "description": "Create a message. Equivalent to OpenAI's list messages. \n", - "parameters": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread to which the message will be posted.\n" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "Role of the sender, either 'user' or 'assistant'.\n", - "example": "user", - "enum": [ - "user", - "assistant" - ] - }, - "content": { - "type": "string", - "description": "Text content of the message.\n", - "example": "How does AI work? Explain it in simple terms." - } - }, - "required": [ - "role", - "content" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Message created successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateMessageResponse" - } - } - } - } - } - } - }, - "/threads/{thread_id}/messages/{message_id}": { - "get": { - "operationId": "retrieveMessage", - "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": [ - { - "in": "path", - "name": "thread_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the thread containing the message.\n" - }, - { - "in": "path", - "name": "message_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "The ID of the message to retrieve.\n" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetMessageResponse" - } - } - } - } - } - } - } - }, - "x-webhooks": { - "ModelObject": { - "post": { - "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": [ - "Model" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModelObject" - } - } - } - } - } - }, - "AssistantObject": { - "post": { - "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" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AssistantObject" - } - } - } - } - } - }, - "MessageObject": { - "post": { - "summary": "The message object", - "description": "Information about a message in the thread. Equivalent to OpenAI's message object. \n", - "operationId": "MessageObject", - "tags": [ - "Messages" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": null - } - } - } - } - } - }, - "ThreadObject": { - "post": { - "summary": "The thread object", - "description": "Represents a thread that contains messages. Equivalent to OpenAI's thread object. ", - "operationId": "ThreadObject", - "tags": [ - "Threads" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": null - } - } - } - } - } - } - }, - "components": { - "schemas": { - "ThreadObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the thread, defaults to foldername.\n", - "example": "thread_...." - }, - "object": { - "type": "string", - "description": "Type of the object, defaults to thread.\n", - "example": "thread" - }, - "title": { - "type": "string", - "description": "A brief summary or description of the thread, defaults to an empty string.\n", - "example": "funny physics joke" - }, - "assistants": { - "type": "array", - "description": "", - "items": { - "properties": { - "assistant_id": { - "type": "string", - "description": "The identifier of assistant, defaults to \"jan\"\n", - "example": "jan" - }, - "model": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "", - "example": "..." - }, - "settings": { - "type": "object", - "description": "Defaults to and overrides assistant.json's \"settings\" (and if none, then model.json \"settings\")\n" - }, - "parameters": { - "type": "object", - "description": "Defaults to and overrides assistant.json's \"parameters\" (and if none, then model.json \"parameters\")\n" - } - } - } - } - } - }, - "created": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the thread, defaults to file creation time.\n", - "example": 1231231 - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the thread, defaults to an empty object.\n", - "example": {} - } - } - }, - "GetThreadResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the thread.", - "example": "thread_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object", - "example": "thread" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the thread.", - "example": 1699014083 - }, - "assistants": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of assistants involved in the thread.", - "example": [ - "assistant-001" - ] - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the thread.", - "example": {} - }, - "messages": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of messages within the thread.", - "example": [] - } - } - }, - "CreateThreadResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the newly created thread.", - "example": "thread_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread.", - "example": "thread" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the thread.", - "example": 1699014083 - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the newly created thread.", - "example": {} - } - } - }, - "CreateThreadObject": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread.", - "example": "thread" - }, - "title": { - "type": "string", - "description": "A brief summary or description of the thread, defaults to an empty string.\n", - "example": "funny physics joke" - }, - "assistants": { - "type": "array", - "description": "assistant involved in the thread", - "items": { - "properties": { - "assistant_id": { - "type": "string", - "description": "The identifier of assistant, defaults to \"jan\"\n", - "example": "jan" - }, - "assistant_name": { - "type": "string", - "description": "The name of assistant, defaults to \"Jan\"\n", - "example": "Jan" - }, - "instructions": { - "type": "string", - "description": "The instruction of assistant, defaults to \"Be my grammar corrector\"\n" - }, - "model": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Model id", - "example": "mistral-ins-7b-q4" - }, - "settings": { - "type": "object", - "description": "Defaults to and overrides assistant.json's \"settings\" (and if none, then model.json \"settings\")\n" - }, - "parameters": { - "type": "object", - "description": "Defaults to and overrides assistant.json's \"parameters\" (and if none, then model.json \"parameters\")\n" - }, - "engine": { - "type": "string", - "description": "Engine id", - "example": "nitro" - } - } - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the thread, defaults to an empty object.\n" - } - } - }, - "ThreadMessageObject": { - "type": "object", - "properties": { - "role": { - "type": "string", - "description": "\"Role of the sender, either 'user' or 'assistant'.\"\n", - "enum": [ - "user", - "assistant" - ] - }, - "content": { - "type": "string", - "description": "\"Text content of the message.\"\n" - }, - "file_ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "\"Array of file IDs associated with the message, if any.\"\n" - } - } - }, - "ModifyThreadResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "\"The identifier of the modified thread.\"\n", - "example": "thread_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread.", - "example": "thread" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the thread.", - "example": 1699014083 - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the modified thread.", - "example": {} - } - } - }, - "DeleteThreadResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the deleted thread.", - "example": "thread_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating the thread has been deleted.", - "example": "thread.deleted" - }, - "deleted": { - "type": "boolean", - "description": "Indicates whether the thread was successfully deleted.", - "example": true - } - } - }, - "ListModelsResponse": { - "type": "object", - "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ] - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Model" - } - } - }, - "required": [ - "object", - "data" - ] - }, - "Model": { - "type": "object", - "properties": { - "source_url": { - "type": "string", - "format": "uri", - "description": "URL to the source of the model.", - "example": "https://huggingface.co/janhq/trinity-v1.2-GGUF/resolve/main/trinity-v1.2.Q4_K_M.gguf" - }, - "id": { - "type": "string", - "description": "Unique identifier used in chat-completions model_name, matches folder name.", - "example": "trinity-v1.2-7b" - }, - "object": { - "type": "string", - "example": "model" - }, - "name": { - "type": "string", - "description": "Name of the model.", - "example": "Trinity-v1.2 7B Q4" - }, - "version": { - "type": "string", - "default": "1.0", - "description": "The version number of the model." - }, - "description": { - "type": "string", - "description": "Description of the model.", - "example": "Trinity is an experimental model merge using the Slerp method. Recommended for daily assistance purposes." - }, - "format": { - "type": "string", - "description": "State format of the model, distinct from the engine.", - "example": "gguf" - }, - "settings": { - "type": "object", - "properties": { - "ctx_len": { - "type": "integer", - "description": "Context length.", - "example": 4096 - }, - "prompt_template": { - "type": "string", - "example": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant" - } - }, - "additionalProperties": false - }, - "parameters": { - "type": "object", - "properties": { - "temperature": { - "example": 0.7 - }, - "top_p": { - "example": 0.95 - }, - "stream": { - "example": true - }, - "max_tokens": { - "example": 4096 - }, - "stop": { - "example": [] - }, - "frequency_penalty": { - "example": 0 - }, - "presence_penalty": { - "example": 0 - } - }, - "additionalProperties": false - }, - "metadata": { - "type": "object", - "properties": { - "author": { - "type": "string", - "example": "Jan" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "7B", - "Merged", - "Featured" - ] - }, - "size": { - "type": "integer", - "example": 4370000000 - }, - "cover": { - "type": "string", - "format": "uri", - "example": "https://raw.githubusercontent.com/janhq/jan/main/models/trinity-v1.2-7b/cover.png" - } - }, - "additionalProperties": false - }, - "engine": { - "example": "nitro" - } - } - }, - "ModelObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the model.\n", - "example": "trinity-v1.2-7b" - }, - "object": { - "type": "string", - "description": "The type of the object, indicating it's a model.\n", - "default": "model" - }, - "created": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the model.\n", - "example": 1253935178 - }, - "owned_by": { - "type": "string", - "description": "The entity that owns the model.\n", - "example": "_" - } - } - }, - "GetModelResponse": { - "type": "object", - "properties": { - "source_url": { - "type": "string", - "format": "uri", - "description": "URL to the source of the model.", - "example": "https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf" - }, - "id": { - "type": "string", - "description": "Unique identifier used in chat-completions model_name, matches folder name.", - "example": "mistral-ins-7b-q4" - }, - "object": { - "type": "string", - "example": "model" - }, - "name": { - "type": "string", - "description": "Name of the model.", - "example": "Mistral Instruct 7B Q4" - }, - "version": { - "type": "string", - "default": "1.0", - "description": "The version number of the model." - }, - "description": { - "type": "string", - "description": "Description of the model.", - "example": "Trinity is an experimental model merge using the Slerp method. Recommended for daily assistance purposes." - }, - "format": { - "type": "string", - "description": "State format of the model, distinct from the engine.", - "example": "gguf" - }, - "settings": { - "type": "object", - "properties": { - "ctx_len": { - "type": "integer", - "description": "Context length.", - "example": 4096 - }, - "prompt_template": { - "type": "string", - "example": "[INST] {prompt} [/INST]" - } - }, - "additionalProperties": false - }, - "parameters": { - "type": "object", - "properties": { - "temperature": { - "example": 0.7 - }, - "top_p": { - "example": 0.95 - }, - "stream": { - "example": true - }, - "max_tokens": { - "example": 4096 - }, - "stop": { - "example": [] - }, - "frequency_penalty": { - "example": 0 - }, - "presence_penalty": { - "example": 0 - } - }, - "additionalProperties": false - }, - "metadata": { - "type": "object", - "properties": { - "author": { - "type": "string", - "example": "MistralAI" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "example": [ - "7B", - "Featured", - "Foundation Model" - ] - }, - "size": { - "example": 4370000000, - "type": "integer" - }, - "cover": { - "example": "https://raw.githubusercontent.com/janhq/jan/main/models/mistral-ins-7b-q4/cover.png", - "type": "string" - } - }, - "additionalProperties": false - }, - "engine": { - "example": "nitro" - } - } - }, - "DeleteModelResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the model that was deleted.", - "example": "mistral-ins-7b-q4" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a model.", - "default": "model" - }, - "deleted": { - "type": "boolean", - "description": "Indicates whether the model was successfully deleted.", - "example": true - } - } - }, - "StartModelResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the model that was started.", - "example": "model-zephyr-7B" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a model.", - "default": "model" - }, - "state": { - "type": "string", - "description": "The current state of the model after the start operation.", - "example": "running" - } - }, - "required": [ - "id", - "object", - "state" - ] - }, - "StopModelResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the model that was started.", - "example": "model-zephyr-7B" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a model.", - "default": "model" - }, - "state": { - "type": "string", - "description": "The current state of the model after the start operation.", - "example": "stopped" - } - }, - "required": [ - "id", - "object", - "state" - ] - }, - "DownloadModelResponse": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "Message indicates Jan starting download corresponding model.", - "example": "Starting download mistral-ins-7b-q4" - } - } - }, - "MessageObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Sequential or UUID identifier of the message.\n", - "example": 0 - }, - "object": { - "type": "string", - "description": "Type of the object, defaults to 'thread.message'.\n", - "example": "thread.message" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the message.\n" - }, - "thread_id": { - "type": "string", - "description": "Identifier of the thread to which this message belongs. Defaults to parent thread.\n", - "example": "thread_asdf" - }, - "assistant_id": { - "type": "string", - "description": "Identifier of the assistant involved in the message. Defaults to parent thread.\n", - "example": "jan" - }, - "role": { - "type": "string", - "enum": [ - "user", - "assistant" - ], - "description": "Role of the sender, either 'user' or 'assistant'.\n" - }, - "content": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of content, e.g., 'text'.\n" - }, - "text": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Text content of the message.\n", - "example": "Hi!?" - }, - "annotations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Annotations for the text content, if any.\n", - "example": [] - } - } - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the message, defaults to an empty object.\n", - "example": {} - } - } - }, - "GetMessageResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the message.", - "example": "msg_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread message.", - "default": "thread.message" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the message.", - "example": 1699017614 - }, - "thread_id": { - "type": "string", - "description": "Identifier of the thread to which this message belongs.", - "example": "thread_abc123" - }, - "role": { - "type": "string", - "description": "Role of the sender, either 'user' or 'assistant'.", - "example": "user" - }, - "content": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of content, e.g., 'text'.", - "example": "text" - }, - "text": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Text content of the message.", - "example": "How does AI work? Explain it in simple terms." - }, - "annotations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Annotations for the text content, if any.", - "example": [] - } - } - } - } - } - }, - "file_ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of file IDs associated with the message, if any.", - "example": [] - }, - "assistant_id": { - "type": "string", - "description": "Identifier of the assistant involved in the message, if applicable.", - "example": null - }, - "run_id": { - "type": "string", - "description": "Run ID associated with the message, if applicable.", - "example": null - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the message.", - "example": {} - } - } - }, - "CreateMessageResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the created message.", - "example": "msg_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread message.", - "example": "thread.message" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the message.", - "example": 1699017614 - }, - "thread_id": { - "type": "string", - "description": "Identifier of the thread to which this message belongs.", - "example": "thread_abc123" - }, - "role": { - "type": "string", - "description": "Role of the sender, either 'user' or 'assistant'.", - "example": "user" - }, - "content": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of content, e.g., 'text'.", - "example": "text" - }, - "text": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Text content of the message.", - "example": "How does AI work? Explain it in simple terms." - }, - "annotations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Annotations for the text content, if any.", - "example": [] - } - } - } - } - } - }, - "file_ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of file IDs associated with the message, if any.", - "example": [] - }, - "assistant_id": { - "type": "string", - "description": "Identifier of the assistant involved in the message, if applicable.", - "example": null - }, - "run_id": { - "type": "string", - "description": "Run ID associated with the message, if applicable.", - "example": null - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the message.", - "example": {} - } - } - }, - "ListMessagesResponse": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of the object, indicating it's a list.", - "default": "list" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ListMessageObject" - } - }, - "first_id": { - "type": "string", - "description": "Identifier of the first message in the list.", - "example": "msg_abc123" - }, - "last_id": { - "type": "string", - "description": "Identifier of the last message in the list.", - "example": "msg_abc456" - }, - "has_more": { - "type": "boolean", - "description": "Indicates whether there are more messages to retrieve.", - "example": false - } - } - }, - "ListMessageObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the message.", - "example": "msg_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread message.", - "example": "thread.message" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the message.", - "example": 1699017614 - }, - "thread_id": { - "type": "string", - "description": "Identifier of the thread to which this message belongs.", - "example": "thread_abc123" - }, - "role": { - "type": "string", - "description": "Role of the sender, either 'user' or 'assistant'.", - "example": "user" - }, - "content": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of content, e.g., 'text'." - }, - "text": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "Text content of the message.", - "example": "How does AI work? Explain it in simple terms." - }, - "annotations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Annotations for the text content, if any." - } - } - } - } - } - }, - "file_ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of file IDs associated with the message, if any.", - "example": [] - }, - "assistant_id": { - "type": "string", - "description": "Identifier of the assistant involved in the message, if applicable.", - "example": null - }, - "run_id": { - "type": "string", - "description": "Run ID associated with the message, if applicable.", - "example": null - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the message.", - "example": {} - } - } - }, - "MessageFileObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the file.", - "example": "file-abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's a thread message file.", - "example": "thread.message.file" - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the file.", - "example": 1699061776 - }, - "message_id": { - "type": "string", - "description": "Identifier of the message to which this file is associated.", - "example": "msg_abc123" - } - } - }, - "ListMessageFilesResponse": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of the object, indicating it's a list.", - "default": "list" - }, - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MessageFileObject" - } - } - } - }, - "ChatObject": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "description": "Contains input data or prompts for the model to process.\n", - "items": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "role": { - "type": "string" - } - } - }, - "example": [ - { - "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 model responses." - }, - "model": { - "type": "string", - "example": "gpt-3.5-turbo", - "description": "Specifies the model being used for inference or processing tasks." - }, - "max_tokens": { - "type": "number", - "default": 2048, - "description": "The maximum number of tokens the model will generate in a single response." - }, - "stop": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines specific tokens or phrases at which the model will stop generating further output.", - "example": [ - "hello" - ] - }, - "frequency_penalty": { - "type": "number", - "default": 0, - "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 output." - }, - "temperature": { - "type": "number", - "default": 0.7, - "description": "Controls the randomness of the model's output." - }, - "top_p": { - "type": "number", - "default": 0.95, - "description": "Set probability threshold for more relevant outputs." - }, - "cache_prompt": { - "type": "boolean", - "default": true, - "description": "Optimize performance in repeated or similar requests." - } - } - }, - "ChatCompletionRequest": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "description": "Contains input data or prompts for the model to process.\n", - "items": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "role": { - "type": "string" - } - } - }, - "example": [ - { - "content": "You are a helpful assistant.", - "role": "system" - }, - { - "content": "Hello!", - "role": "user" - } - ] - }, - "model": { - "type": "string", - "example": "tinyllama-1.1b", - "description": "Specifies the model being used for inference or processing tasks.\n" - }, - "stream": { - "type": "boolean", - "default": true, - "description": "Enables continuous output generation, allowing for streaming of model responses.\n" - }, - "max_tokens": { - "type": "number", - "default": 2048, - "description": "The maximum number of tokens the model will generate in a single response.\n" - }, - "stop": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Specifies four specific words or phrases that signal the model to stop producing more output.\n", - "example": [ - "hello", - "Hello", - "HELLO", - "hELLO" - ] - }, - "frequency_penalty": { - "type": "number", - "default": 0, - "description": "Adjusts the likelihood of the model repeating words or phrases in its output.\n" - }, - "presence_penalty": { - "type": "number", - "default": 0, - "description": "Influences the generation of new and varied concepts in the model's output.\n" - }, - "temperature": { - "type": "number", - "default": 0.7, - "description": "Controls the randomness of the model's output.\n" - }, - "top_p": { - "type": "number", - "default": 0.95, - "description": "Set probability threshold for more relevant outputs.\n" - } - } - }, - "ChatCompletionResponse": { - "type": "object", - "description": "Description of the response structure", - "properties": { - "choices": { - "type": "array", - "description": "Array of choice objects", - "items": { - "type": "object", - "properties": { - "finish_reason": { - "type": "string", - "nullable": true, - "example": null, - "description": "Reason for finishing the response, if applicable" - }, - "index": { - "type": "integer", - "example": 0, - "description": "Index of the choice" - }, - "message": { - "type": "object", - "properties": { - "content": { - "type": "string", - "example": "Hello user. What can I help you with?", - "description": "Content of the message" - }, - "role": { - "type": "string", - "example": "assistant", - "description": "Role of the sender" - } - } - } - } - } - }, - "created": { - "type": "integer", - "example": 1700193928, - "description": "Timestamp of when the response was created" - }, - "id": { - "type": "string", - "example": "ebwd2niJvJB1Q2Whyvkz", - "description": "Unique identifier of the response" - }, - "model": { - "type": "string", - "nullable": true, - "example": "_", - "description": "Model used for generating the response" - }, - "object": { - "type": "string", - "example": "chat.completion", - "description": "Type of the response object" - }, - "system_fingerprint": { - "type": "string", - "nullable": true, - "example": "_", - "description": "System fingerprint" - }, - "usage": { - "type": "object", - "description": "Information about the usage of tokens", - "properties": { - "completion_tokens": { - "type": "integer", - "example": 500, - "description": "Number of tokens used for completion" - }, - "prompt_tokens": { - "type": "integer", - "example": 33, - "description": "Number of tokens used in the prompt" - }, - "total_tokens": { - "type": "integer", - "example": 533, - "description": "Total number of tokens used" - } - } - } - } - }, - "AssistantObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's an assistant.", - "default": "assistant" - }, - "version": { - "type": "integer", - "description": "Version number of the assistant.", - "example": 1 - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the assistant.", - "example": 1698984975 - }, - "name": { - "type": "string", - "description": "Name of the assistant.", - "example": "Math Tutor" - }, - "description": { - "type": "string", - "description": "Description of the assistant. Can be null.", - "example": null - }, - "avatar": { - "type": "string", - "description": "URL of the assistant's avatar. Jan-specific property.", - "example": "https://pic.png" - }, - "models": { - "type": "array", - "description": "List of models associated with the assistant. Jan-specific property.", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string", - "example": "model_0" - } - } - } - }, - "instructions": { - "type": "string", - "description": "A system prompt for the assistant.", - "example": "Be concise" - }, - "events": { - "type": "object", - "description": "Event subscription settings for the assistant.", - "properties": { - "in": { - "type": "array", - "items": { - "type": "string" - } - }, - "out": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the assistant." - } - } - }, - "ListAssistantsResponse": { - "type": "object" - }, - "CreateAssistantResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's an assistant.", - "default": "assistant" - }, - "version": { - "type": "integer", - "description": "Version number of the assistant.", - "example": 1 - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the assistant.", - "example": 1698984975 - }, - "name": { - "type": "string", - "description": "Name of the assistant.", - "example": "Math Tutor" - }, - "description": { - "type": "string", - "description": "Description of the assistant. Can be null.", - "example": null - }, - "avatar": { - "type": "string", - "description": "URL of the assistant's avatar. Jan-specific property.", - "example": "https://pic.png" - }, - "models": { - "type": "array", - "description": "List of models associated with the assistant. Jan-specific property.", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string", - "example": "model_0" - } - } - } - }, - "instructions": { - "type": "string", - "description": "A system prompt for the assistant.", - "example": "Be concise" - }, - "events": { - "type": "object", - "description": "Event subscription settings for the assistant.", - "properties": { - "in": { - "type": "array", - "items": { - "type": "string" - } - }, - "out": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the assistant." - } - } - }, - "RetrieveAssistantResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's an assistant.", - "default": "assistant" - }, - "version": { - "type": "integer", - "description": "Version number of the assistant.", - "example": 1 - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the assistant.", - "example": 1698984975 - }, - "name": { - "type": "string", - "description": "Name of the assistant.", - "example": "Math Tutor" - }, - "description": { - "type": "string", - "description": "Description of the assistant. Can be null.", - "example": null - }, - "avatar": { - "type": "string", - "description": "URL of the assistant's avatar. Jan-specific property.", - "example": "https://pic.png" - }, - "models": { - "type": "array", - "description": "List of models associated with the assistant. Jan-specific property.", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string", - "example": "model_0" - } - } - } - }, - "instructions": { - "type": "string", - "description": "A system prompt for the assistant.", - "example": "Be concise" - }, - "events": { - "type": "object", - "description": "Event subscription settings for the assistant.", - "properties": { - "in": { - "type": "array", - "items": { - "type": "string" - } - }, - "out": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the assistant." - } - } - }, - "ModifyAssistantObject": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's an assistant.", - "default": "assistant" - }, - "version": { - "type": "integer", - "description": "Version number of the assistant.", - "example": 1 - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the assistant.", - "example": 1698984975 - }, - "name": { - "type": "string", - "description": "Name of the assistant.", - "example": "Math Tutor" - }, - "description": { - "type": "string", - "description": "Description of the assistant. Can be null.", - "example": null - }, - "avatar": { - "type": "string", - "description": "URL of the assistant's avatar. Jan-specific property.", - "example": "https://pic.png" - }, - "models": { - "type": "array", - "description": "List of models associated with the assistant. Jan-specific property.", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string", - "example": "model_0" - } - } - } - }, - "instructions": { - "type": "string", - "description": "A system prompt for the assistant.", - "example": "Be concise" - }, - "events": { - "type": "object", - "description": "Event subscription settings for the assistant.", - "properties": { - "in": { - "type": "array", - "items": { - "type": "string" - } - }, - "out": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the assistant." - } - } - }, - "ModifyAssistantResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating it's an assistant.", - "default": "assistant" - }, - "version": { - "type": "integer", - "description": "Version number of the assistant.", - "example": 1 - }, - "created_at": { - "type": "integer", - "format": "int64", - "description": "Unix timestamp representing the creation time of the assistant.", - "example": 1698984975 - }, - "name": { - "type": "string", - "description": "Name of the assistant.", - "example": "Physics Tutor" - }, - "description": { - "type": "string", - "description": "Description of the assistant. Can be null.", - "example": null - }, - "avatar": { - "type": "string", - "description": "URL of the assistant's avatar. Jan-specific property.", - "example": "https://pic.png" - }, - "models": { - "type": "array", - "description": "List of models associated with the assistant. Jan-specific property.", - "items": { - "type": "object", - "properties": { - "model_id": { - "type": "string", - "example": "model_0" - } - } - } - }, - "instructions": { - "type": "string", - "description": "A system prompt for the assistant.", - "example": "Be concise!" - }, - "events": { - "type": "object", - "description": "Event subscription settings for the assistant.", - "properties": { - "in": { - "type": "array", - "items": { - "type": "string" - } - }, - "out": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "metadata": { - "type": "object", - "description": "Metadata associated with the assistant." - } - } - }, - "DeleteAssistantResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier of the deleted assistant.", - "example": "asst_abc123" - }, - "object": { - "type": "string", - "description": "Type of the object, indicating the assistant has been deleted.", - "example": "assistant.deleted" - }, - "deleted": { - "type": "boolean", - "description": "Indicates whether the assistant was successfully deleted.", - "example": true - } - } - } - } - } -} \ No newline at end of file diff --git a/openapi/jan.yaml b/openapi/jan.yaml deleted file mode 100644 index f45db7d2..00000000 --- a/openapi/jan.yaml +++ /dev/null @@ -1,1043 +0,0 @@ ---- -openapi: 3.0.0 -info: - title: API Reference - description: > - # Introduction - - Jan API is compatible with the [OpenAI API](https://platform.openai.com/docs/api-reference). -version: 0.1.8 -contact: - name: Jan Discord - url: https://discord.gg/7EcEz7MrvA -license: - name: AGPLv3 - url: https://github.com/janhq/nitro/blob/main/LICENSE -servers: - - url: /v1 -tags: - - name: Models - description: List and describe the various models available in the API. - - name: Chat - description: > - Given a list of messages comprising a conversation, the model will - return a response. - - name: Messages - description: > - Messages capture a conversation's content. This can include the - content from LLM responses and other metadata from [chat - completions](/specs/chats). - - name: Threads - - name: Assistants - description: Configures and utilizes different AI assistants for varied tasks -x-tagGroups: - - name: Endpoints - tags: - - Models - - Chat - - name: Chat - tags: - - Assistants - - Messages - - Threads -paths: - /chat/completions: - post: - operationId: createChatCompletion - tags: - - Chat - summary: | - Create chat completion - description: > - Creates a model response for the given chat conversation. - Equivalent to OpenAI's create chat completion. - requestBody: - content: - application/json: - schema: - $ref: specs/chat.yaml#/components/schemas/ChatCompletionRequest - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/chat.yaml#/components/schemas/ChatCompletionResponse - x-codeSamples: - - lang: cURL - source: | - curl -X 'POST' \ - 'http://localhost:1337/v1/chat/completions' \ - -H 'accept: application/json' \ - -H 'Content-Type: application/json' \ - -d '{ - "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 - }' - - lang: JavaScript - source: |- - const data = { - 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 - }; - - fetch('http://localhost:1337/v1/chat/completions', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, - body: JSON.stringify(data) - }) - .then(response => response.json()) - .then(data => console.log(data)); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - const data = { - 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 - }; - - fetch('http://localhost:1337/v1/chat/completions', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, - body: JSON.stringify(data) - }) - .then(response => response.json()) - .then(data => console.log(data)); - - lang: Python - source: >- - import requests - - import json - - - data = { - "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 - } - - - response = requests.post('http://localhost:1337/v1/chat/completions', json=data) - - print(response.json()) - /models: - get: - operationId: listModels - 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. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/models.yaml#/components/schemas/ListModelsResponse - x-codeSamples: - - lang: cURL - source: |- - curl -X 'GET' \ - 'http://localhost:1337/v1/models' \ - -H 'accept: application/json' - - lang: JavaScript - source: |- - const response = await fetch('http://localhost:1337/v1/models', { - method: 'GET', - headers: {Accept: 'application/json'} - }); - const data = await response.json(); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - const url = 'http://localhost:1337/v1/models'; - const options = { - method: 'GET', - headers: { Accept: 'application/json' } - }; - - fetch(url, options) - .then(res => res.json()) - .then(json => console.log(json)); - - lang: Python - source: |- - import requests - - url = 'http://localhost:1337/v1/models' - headers = {'Accept': 'application/json'} - response = requests.get(url, headers=headers) - data = response.json() - "/models/download/{model_id}": - get: - operationId: downloadModel - tags: - - Models - summary: Download a specific model. - description: | - Download a model. - parameters: - - in: path - name: model_id - required: true - schema: - type: string - example: mistral-ins-7b-q4 - description: | - The ID of the model to use for this request. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/models.yaml#/components/schemas/DownloadModelResponse - x-codeSamples: - - lang: cURL - source: |- - curl -X 'GET' \ - 'http://localhost:1337/v1/models/download/{model_id}' \ - -H 'accept: application/json' - - lang: JavaScript - source: >- - const response = await - fetch('http://localhost:1337/v1/models/download/{model_id}', { - method: 'GET', - headers: {accept: 'application/json'} - }); - - - const data = await response.json(); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/models/download/{model_id}', { - method: 'GET', - headers: {accept: 'application/json'} - }) - .then(res => res.json()) - .then(data => console.log(data)); - - lang: Python - source: >- - import requests - - - response = requests.get('http://localhost:1337/v1/models/download/{model_id}', headers={'accept': 'application/json'}) - - data = response.json() - "/models/{model_id}": - get: - operationId: retrieveModel - 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. - parameters: - - in: path - name: model_id - required: true - schema: - type: string - example: mistral-ins-7b-q4 - description: | - The ID of the model to use for this request. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/models.yaml#/components/schemas/GetModelResponse - x-codeSamples: - - lang: cURL - source: |- - curl -X 'GET' \ - 'http://localhost:1337/v1/models/{model_id}' \ - -H 'accept: application/json' - - lang: JavaScript - source: |- - const fetch = require('node-fetch'); - - const modelId = 'mistral-ins-7b-q4'; - - fetch(`http://localhost:1337/v1/models/${modelId}`, { - method: 'GET', - headers: {'accept': 'application/json'} - }) - .then(res => res.json()) - .then(json => console.log(json)); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - const modelId = 'mistral-ins-7b-q4'; - - fetch(`http://localhost:1337/v1/models/${modelId}`, { - method: 'GET', - headers: {'accept': 'application/json'} - }) - .then(res => res.json()) - .then(json => console.log(json)); - - lang: Python - source: >- - import requests - - - model_id = 'mistral-ins-7b-q4' - - - response = requests.get(f'http://localhost:1337/v1/models/{model_id}', headers={'accept': 'application/json'}) - - print(response.json()) - delete: - operationId: deleteModel - tags: - - Models - summary: Delete model - description: > - Delete a model. - Equivalent to OpenAI's delete model. - parameters: - - in: path - name: model_id - required: true - schema: - type: string - example: mistral-ins-7b-q4 - description: | - The model id to delete - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/models.yaml#/components/schemas/DeleteModelResponse - x-codeSamples: - - lang: cURL - source: |- - curl -X 'DELETE' \ - 'http://localhost:1337/v1/models/{model_id}' \ - -H 'accept: application/json' - - lang: JavaScript - source: |- - const fetch = require('node-fetch'); - - const modelId = 'mistral-ins-7b-q4'; - - fetch(`http://localhost:1337/v1/models/${modelId}`, { - method: 'DELETE', - headers: { 'accept': 'application/json' } - }) - .then(res => res.json()) - .then(json => console.log(json)); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - const modelId = 'mistral-ins-7b-q4'; - - fetch(`http://localhost:1337/v1/models/${modelId}`, { - method: 'DELETE', - headers: { 'accept': 'application/json' } - }) - .then(res => res.json()) - .then(json => console.log(json)); - - lang: Python - source: >- - import requests - - - model_id = 'mistral-ins-7b-q4' - - - response = requests.delete(f'http://localhost:1337/v1/models/{model_id}', headers={'accept': 'application/json'}) - /threads: - post: - operationId: createThread - tags: - - Threads - summary: Create thread - description: > - Create a thread. - Equivalent to OpenAI's create thread. - requestBody: - required: false - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/CreateThreadObject - responses: - "200": - description: Thread created successfully - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/CreateThreadResponse - x-codeSamples: - - lang: cURL - source: | - curl -X POST http://localhost:1337/v1/threads \ - -H "Content-Type: application/json" \ - -d '{ - "messages": [{ - "role": "user", - "content": "Hello, what is AI?", - "file_ids": ["file-abc123"] - }, { - "role": "user", - "content": "How does AI work? Explain it in simple terms." - }] - }' - - lang: JavaScript - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/threads', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - messages: [ - { - role: 'user', - content: 'Hello, what is AI?', - file_ids: ['file-abc123'] - }, - { - role: 'user', - content: 'How does AI work? Explain it in simple terms.' - } - ] - }) - }); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/threads', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - messages: [ - { - role: 'user', - content: 'Hello, what is AI?', - file_ids: ['file-abc123'] - }, - { - role: 'user', - content: 'How does AI work? Explain it in simple terms.' - } - ] - }) - }); - - lang: Python - source: |- - import requests - - url = 'http://localhost:1337/v1/threads' - payload = { - 'messages': [ - { - 'role': 'user', - 'content': 'Hello, what is AI?', - 'file_ids': ['file-abc123'] - }, - { - 'role': 'user', - 'content': 'How does AI work? Explain it in simple terms.' - } - ] - } - - response = requests.post(url, json=payload) - print(response.text) - get: - operationId: listThreads - tags: - - Threads - summary: List threads - description: | - Retrieves a list of all threads available in the system. - responses: - "200": - description: List of threads retrieved successfully - content: - application/json: - schema: - type: array - items: - $ref: specs/threads.yaml#/components/schemas/ThreadObject - example: - - id: thread_abc123 - object: thread - created_at: 1699014083 - assistants: - - assistant-001 - metadata: {} - messages: [] - - id: thread_abc456 - object: thread - created_at: 1699014083 - assistants: - - assistant-002 - - assistant-003 - metadata: {} - x-codeSamples: - - lang: cURL - source: |- - curl http://localhost:1337/v1/threads \ - -H "Content-Type: application/json" - - lang: JavaScript - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/threads', { - method: 'GET', - headers: {'Content-Type': 'application/json'} - }).then(res => res.json()) - .then(json => console.log(json)); - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/threads', { - method: 'GET', - headers: {'Content-Type': 'application/json'} - }).then(res => res.json()) - .then(json => console.log(json)); - - lang: Python - source: |- - import requests - - url = 'http://localhost:1337/v1/threads' - headers = {'Content-Type': 'application/json'} - - response = requests.get(url, headers=headers) - print(response.json()) - "/threads/{thread_id}": - get: - operationId: getThread - tags: - - Threads - summary: Retrieve thread - description: > - Retrieves detailed information about a specific thread using its - thread_id. - Equivalent to OpenAI's retrieve thread. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread to retrieve. - responses: - "200": - description: Thread details retrieved successfully - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/GetThreadResponse - x-codeSamples: - - lang: cURL - source: | - curl http://localhost:1337/v1/threads/{thread_id} - patch: - operationId: modifyThread - tags: - - Threads - summary: Modify thread - description: > - Modifies a thread. - Equivalent to OpenAI's modify thread. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread to be modified. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - description: Set the title of the thread - items: - $ref: specs/threads.yaml#/components/schemas/ThreadMessageObject - responses: - "200": - description: Thread modified successfully - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/ModifyThreadResponse - x-codeSamples: - - lang: cURL - source: | - curl -X POST http://localhost:1337/v1/threads/{thread_id} \ - -H "Content-Type: application/json" \ - -d '{ - "messages": [{ - "role": "user", - "content": "Hello, what is AI?", - "file_ids": ["file-abc123"] - }, { - "role": "user", - "content": "How does AI work? Explain it in simple terms." - }] - }' - delete: - operationId: deleteThread - tags: - - Threads - summary: Delete thread - description: > - Delete a thread. - Equivalent to OpenAI's delete thread. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread to be deleted. - responses: - "200": - description: Thread deleted successfully - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/DeleteThreadResponse - x-codeSamples: - - lang: cURL - source: | - curl -X DELETE http://localhost:1337/v1/threads/{thread_id} - /assistants: - get: - operationId: listAssistants - tags: - - Assistants - summary: List assistants - description: > - Return a list of assistants. - Equivalent to OpenAI's list assistants. - responses: - "200": - description: List of assistants retrieved successfully - content: - application/json: - schema: - type: array - example: - - id: asst_abc123 - object: assistant - version: 1 - created_at: 1698984975 - name: Math Tutor - description: null - avatar: https://pic.png - models: - - model_id: model_0 - instructions: Be concise - events: - in: [] - out: [] - metadata: {} - - id: asst_abc456 - object: assistant - version: 1 - created_at: 1698984975 - name: Physics Tutor - description: null - avatar: https://pic.png - models: - - model_id: model_1 - instructions: Be concise! - events: - in: [] - out: [] - metadata: {} - x-codeSamples: - - lang: cURL - source: |- - curl http://localhost:1337/v1/assistants \ - -H "Content-Type: application/json" - - lang: JavaScript - source: |- - fetch('http://localhost:1337/v1/assistants', { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }) - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - fetch('http://localhost:1337/v1/assistants', { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }) - - lang: Python - source: |- - import requests - - url = 'http://localhost:1337/v1/assistants' - headers = {'Content-Type': 'application/json'} - - response = requests.get(url, headers=headers) - "/assistants/{assistant_id}": - get: - operationId: getAssistant - tags: - - Assistants - summary: Retrieve assistant - description: > - Retrieves an assistant. - Equivalent to OpenAI's retrieve assistants. - parameters: - - in: path - name: assistant_id - required: true - schema: - type: string - example: jan - description: | - The ID of the assistant to retrieve. - responses: - "200": - description: null - content: - application/json: - schema: - $ref: specs/assistants.yaml#/components/schemas/RetrieveAssistantResponse - x-codeSamples: - - lang: cURL - source: |- - curl http://localhost:1337/v1/assistants/{assistant_id} \ - -H "Content-Type: application/json" - - lang: JavaScript - source: |- - const fetch = require('node-fetch'); - - let assistantId = 'abc123'; - - fetch(`http://localhost:1337/v1/assistants/${assistantId}`, { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }) - - lang: Node.js - source: |- - const fetch = require('node-fetch'); - - let assistantId = 'abc123'; - - fetch(`http://localhost:1337/v1/assistants/${assistantId}`, { - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }) - - lang: Python - source: >- - import requests - - - assistant_id = 'abc123' - - - response = requests.get(f'http://localhost:1337/v1/assistants/{assistant_id}', headers={'Content-Type': 'application/json'}) - "/threads/{thread_id}/messages": - get: - operationId: listMessages - tags: - - Messages - summary: List messages - description: > - Retrieves all messages from the given thread. - Equivalent to OpenAI's list messages. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread from which to retrieve messages. - responses: - "200": - description: List of messages retrieved successfully - content: - application/json: - schema: - $ref: specs/messages.yaml#/components/schemas/ListMessagesResponse - x-codeSamples: - - lang: cURL - source: | - curl http://localhost:1337/v1/threads/{thread_id}/messages \ - -H "Content-Type: application/json" - post: - operationId: createMessage - tags: - - Messages - summary: Create message - description: > - Create a message. - Equivalent to OpenAI's list messages. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread to which the message will be posted. - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - role: - type: string - description: | - Role of the sender, either 'user' or 'assistant'. - example: user - enum: - - user - - assistant - content: - type: string - description: | - Text content of the message. - example: How does AI work? Explain it in simple terms. - required: - - role - - content - responses: - "200": - description: Message created successfully - content: - application/json: - schema: - $ref: specs/messages.yaml#/components/schemas/CreateMessageResponse - x-codeSamples: - - lang: cURL - source: | - curl -X POST http://localhost:1337/v1/threads/{thread_id}/messages \ - -H "Content-Type: application/json" \ - -d '{ - "role": "user", - "content": "How does AI work? Explain it in simple terms." - }' - "/threads/{thread_id}/messages/{message_id}": - get: - operationId: retrieveMessage - 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. - parameters: - - in: path - name: thread_id - required: true - schema: - type: string - description: | - The ID of the thread containing the message. - - in: path - name: message_id - required: true - schema: - type: string - description: | - The ID of the message to retrieve. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: specs/messages.yaml#/components/schemas/GetMessageResponse - x-codeSamples: - - lang: cURL - source: > - curl http://localhost:1337/v1/threads/{thread_id}/messages/{message_id} - \ - -H "Content-Type: application/json" -x-webhooks: - ModelObject: - post: - summary: The model object - description: > - Describe a model offering that can be used with the API. - Equivalent to OpenAI's model object. - operationId: ModelObject - tags: - - Models - requestBody: - content: - application/json: - schema: - $ref: specs/models.yaml#/components/schemas/ModelObject - AssistantObject: - post: - summary: The assistant object - description: > - Build assistants that can call models and use tools to perform - tasks. Equivalent - to OpenAI's assistants object. - operationId: AssistantObjects - tags: - - Assistants - requestBody: - content: - application/json: - schema: - $ref: specs/assistants.yaml#/components/schemas/AssistantObject - MessageObject: - post: - summary: The message object - description: > - Information about a message in the thread. - Equivalent to OpenAI's message object. - operationId: MessageObject - tags: - - Messages - requestBody: - content: - application/json: - schema: - $ref: specs/messages.yaml#/components/schemas/MessageObject - ThreadObject: - post: - summary: The thread object - description: Represents a thread that contains messages. - Equivalent to OpenAI's thread object. - operationId: ThreadObject - tags: - - Threads - requestBody: - content: - application/json: - schema: - $ref: specs/threads.yaml#/components/schemas/ThreadObject diff --git a/openapi/specs/assistants.yaml b/openapi/specs/assistants.yaml deleted file mode 100644 index 5db1f6a9..00000000 --- a/openapi/specs/assistants.yaml +++ /dev/null @@ -1,319 +0,0 @@ ---- -components: - schemas: - AssistantObject: - type: object - properties: - id: - type: string - description: The identifier of the assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating it's an assistant. - default: assistant - version: - type: integer - description: Version number of the assistant. - example: 1 - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the assistant. - example: 1698984975 - name: - type: string - description: Name of the assistant. - example: Math Tutor - description: - type: string - description: Description of the assistant. Can be null. - example: null - avatar: - type: string - description: URL of the assistant's avatar. Jan-specific property. - example: https://pic.png - models: - type: array - description: List of models associated with the assistant. Jan-specific property. - items: - type: object - properties: - model_id: - type: string - example: model_0 - instructions: - type: string - description: A system prompt for the assistant. - example: Be concise - events: - type: object - description: Event subscription settings for the assistant. - properties: - in: - type: array - items: - type: string - out: - type: array - items: - type: string - metadata: - type: object - description: Metadata associated with the assistant. - ListAssistantsResponse: null - CreateAssistantResponse: - type: object - properties: - id: - type: string - description: The identifier of the assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating it's an assistant. - default: assistant - version: - type: integer - description: Version number of the assistant. - example: 1 - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the assistant. - example: 1698984975 - name: - type: string - description: Name of the assistant. - example: Math Tutor - description: - type: string - description: Description of the assistant. Can be null. - example: null - avatar: - type: string - description: URL of the assistant's avatar. Jan-specific property. - example: https://pic.png - models: - type: array - description: List of models associated with the assistant. Jan-specific property. - items: - type: object - properties: - model_id: - type: string - example: model_0 - instructions: - type: string - description: A system prompt for the assistant. - example: Be concise - events: - type: object - description: Event subscription settings for the assistant. - properties: - in: - type: array - items: - type: string - out: - type: array - items: - type: string - metadata: - type: object - description: Metadata associated with the assistant. - RetrieveAssistantResponse: - type: object - properties: - id: - type: string - description: The identifier of the assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating it's an assistant. - default: assistant - version: - type: integer - description: Version number of the assistant. - example: 1 - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the assistant. - example: 1698984975 - name: - type: string - description: Name of the assistant. - example: Math Tutor - description: - type: string - description: Description of the assistant. Can be null. - example: null - avatar: - type: string - description: URL of the assistant's avatar. Jan-specific property. - example: https://pic.png - models: - type: array - description: List of models associated with the assistant. Jan-specific property. - items: - type: object - properties: - model_id: - type: string - example: model_0 - instructions: - type: string - description: A system prompt for the assistant. - example: Be concise - events: - type: object - description: Event subscription settings for the assistant. - properties: - in: - type: array - items: - type: string - out: - type: array - items: - type: string - metadata: - type: object - description: Metadata associated with the assistant. - ModifyAssistantObject: - type: object - properties: - id: - type: string - description: The identifier of the assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating it's an assistant. - default: assistant - version: - type: integer - description: Version number of the assistant. - example: 1 - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the assistant. - example: 1698984975 - name: - type: string - description: Name of the assistant. - example: Math Tutor - description: - type: string - description: Description of the assistant. Can be null. - example: null - avatar: - type: string - description: URL of the assistant's avatar. Jan-specific property. - example: https://pic.png - models: - type: array - description: List of models associated with the assistant. Jan-specific property. - items: - type: object - properties: - model_id: - type: string - example: model_0 - instructions: - type: string - description: A system prompt for the assistant. - example: Be concise - events: - type: object - description: Event subscription settings for the assistant. - properties: - in: - type: array - items: - type: string - out: - type: array - items: - type: string - metadata: - type: object - description: Metadata associated with the assistant. - ModifyAssistantResponse: - type: object - properties: - id: - type: string - description: The identifier of the assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating it's an assistant. - default: assistant - version: - type: integer - description: Version number of the assistant. - example: 1 - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the assistant. - example: 1698984975 - name: - type: string - description: Name of the assistant. - example: Physics Tutor - description: - type: string - description: Description of the assistant. Can be null. - example: null - avatar: - type: string - description: URL of the assistant's avatar. Jan-specific property. - example: https://pic.png - models: - type: array - description: List of models associated with the assistant. Jan-specific property. - items: - type: object - properties: - model_id: - type: string - example: model_0 - instructions: - type: string - description: A system prompt for the assistant. - example: Be concise! - events: - type: object - description: Event subscription settings for the assistant. - properties: - in: - type: array - items: - type: string - out: - type: array - items: - type: string - metadata: - type: object - description: Metadata associated with the assistant. - DeleteAssistantResponse: - type: object - properties: - id: - type: string - description: The identifier of the deleted assistant. - example: asst_abc123 - object: - type: string - description: Type of the object, indicating the assistant has been deleted. - example: assistant.deleted - deleted: - type: boolean - description: Indicates whether the assistant was successfully deleted. - example: true diff --git a/openapi/specs/chat.yaml b/openapi/specs/chat.yaml deleted file mode 100644 index cfa39159..00000000 --- a/openapi/specs/chat.yaml +++ /dev/null @@ -1,191 +0,0 @@ ---- -components: - schemas: - ChatObject: - type: object - properties: - messages: - type: arrays - description: | - Contains input data or prompts for the model to process. - example: - - 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 - model responses. - model: - type: string - example: gpt-3.5-turbo - description: Specifies the model being used for inference or processing tasks. - max_tokens: - type: number - default: 2048 - 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 - generating further output/ - frequency_penalty: - type: number - default: 0 - 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 - output. - temperature: - type: number - default: 0.7 - min: 0 - max: 1 - description: Controls the randomness of the model's output. - top_p: - type: number - default: 0.95 - min: 0 - max: 1 - description: Set probability threshold for more relevant outputs. - cache_prompt: - type: boolean - default: true - description: Optimize performance in repeated or similar requests. - ChatCompletionRequest: - type: object - properties: - messages: - type: arrays - description: | - Contains input data or prompts for the model to process. - example: - - content: You are a helpful assistant. - role: system - - content: Hello! - role: user - model: - type: string - example: tinyllama-1.1b - description: | - Specifies the model being used for inference or processing tasks. - stream: - type: boolean - default: true - description: > - Enables continuous output generation, allowing for streaming of - model responses. - max_tokens: - type: number - default: 2048 - 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 - generating further output. - frequency_penalty: - type: number - default: 0 - 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 - output. - temperature: - type: number - default: 0.7 - min: 0 - max: 1 - description: | - Controls the randomness of the model's output. - top_p: - type: number - default: 0.95 - min: 0 - max: 1 - description: | - Set probability threshold for more relevant outputs. - ChatCompletionResponse: - type: object - description: Description of the response structure - properties: - choices: - type: array - description: Array of choice objects - items: - type: object - properties: - finish_reason: - type: string - nullable: true - example: null - description: Reason for finishing the response, if applicable - index: - type: integer - example: 0 - description: Index of the choice - message: - type: object - properties: - content: - type: string - example: Hello user. What can I help you with? - description: Content of the message - role: - type: string - example: assistant - description: Role of the sender - created: - type: integer - example: 1700193928 - description: Timestamp of when the response was created - id: - type: string - example: ebwd2niJvJB1Q2Whyvkz - description: Unique identifier of the response - model: - type: string - nullable: true - example: _ - description: Model used for generating the response - object: - type: string - example: chat.completion - description: Type of the response object - system_fingerprint: - type: string - nullable: true - example: _ - description: System fingerprint - usage: - type: object - description: Information about the usage of tokens - properties: - completion_tokens: - type: integer - example: 500 - description: Number of tokens used for completion - prompt_tokens: - type: integer - example: 33 - description: Number of tokens used in the prompt - total_tokens: - type: integer - example: 533 - description: Total number of tokens used diff --git a/openapi/specs/messages.yaml b/openapi/specs/messages.yaml deleted file mode 100644 index 6f5fe1a5..00000000 --- a/openapi/specs/messages.yaml +++ /dev/null @@ -1,313 +0,0 @@ ---- -components: - schemas: - MessageObject: - type: object - properties: - id: - type: string - description: | - Sequential or UUID identifier of the message. - example: 0 - object: - type: string - description: | - Type of the object, defaults to 'thread.message'. - example: thread.message - created_at: - type: integer - format: int64 - description: | - Unix timestamp representing the creation time of the message. - thread_id: - type: string - description: > - Identifier of the thread to which this message belongs. Defaults to - parent thread. - example: thread_asdf - assistant_id: - type: string - description: > - Identifier of the assistant involved in the message. Defaults to - parent thread. - example: jan - role: - type: string - enum: - - user - - assistant - description: | - Role of the sender, either 'user' or 'assistant'. - content: - type: array - items: - type: object - properties: - type: - type: string - description: | - Type of content, e.g., 'text'. - text: - type: object - properties: - value: - type: string - description: | - Text content of the message. - example: Hi!? - annotations: - type: array - items: - type: string - description: | - Annotations for the text content, if any. - example: [] - metadata: - type: object - description: | - Metadata associated with the message, defaults to an empty object. - example: {} - GetMessageResponse: - type: object - properties: - id: - type: string - description: The identifier of the message. - example: msg_abc123 - object: - type: string - description: Type of the object, indicating it's a thread message. - default: thread.message - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the message. - example: 1699017614 - thread_id: - type: string - description: Identifier of the thread to which this message belongs. - example: thread_abc123 - role: - type: string - description: Role of the sender, either 'user' or 'assistant'. - example: user - content: - type: array - items: - type: object - properties: - type: - type: string - description: Type of content, e.g., 'text'. - example: text - text: - type: object - properties: - value: - type: string - description: Text content of the message. - example: How does AI work? Explain it in simple terms. - annotations: - type: array - items: - type: string - description: Annotations for the text content, if any. - example: [] - file_ids: - type: array - items: - type: string - description: Array of file IDs associated with the message, if any. - example: [] - assistant_id: - type: string - description: Identifier of the assistant involved in the message, if applicable. - example: null - run_id: - type: string - description: Run ID associated with the message, if applicable. - example: null - metadata: - type: object - description: Metadata associated with the message. - example: {} - CreateMessageResponse: - type: object - properties: - id: - type: string - description: The identifier of the created message. - example: msg_abc123 - object: - type: string - description: Type of the object, indicating it's a thread message. - example: thread.message - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the message. - example: 1699017614 - thread_id: - type: string - description: Identifier of the thread to which this message belongs. - example: thread_abc123 - role: - type: string - description: Role of the sender, either 'user' or 'assistant'. - example: user - content: - type: array - items: - type: object - properties: - type: - type: string - description: Type of content, e.g., 'text'. - example: text - text: - type: object - properties: - value: - type: string - description: Text content of the message. - example: How does AI work? Explain it in simple terms. - annotations: - type: array - items: - type: string - description: Annotations for the text content, if any. - example: [] - file_ids: - type: array - items: - type: string - description: Array of file IDs associated with the message, if any. - example: [] - assistant_id: - type: string - description: Identifier of the assistant involved in the message, if applicable. - example: null - run_id: - type: string - description: Run ID associated with the message, if applicable. - example: null - metadata: - type: object - description: Metadata associated with the message. - example: {} - ListMessagesResponse: - type: object - properties: - object: - type: string - description: Type of the object, indicating it's a list. - default: list - data: - type: array - items: - $ref: "#/components/schemas/ListMessageObject" - first_id: - type: string - description: Identifier of the first message in the list. - example: msg_abc123 - last_id: - type: string - description: Identifier of the last message in the list. - example: msg_abc456 - has_more: - type: boolean - description: Indicates whether there are more messages to retrieve. - example: false - ListMessageObject: - type: object - properties: - id: - type: string - description: The identifier of the message. - example: msg_abc123 - object: - type: string - description: Type of the object, indicating it's a thread message. - example: thread.message - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the message. - example: 1699017614 - thread_id: - type: string - description: Identifier of the thread to which this message belongs. - example: thread_abc123 - role: - type: string - description: Role of the sender, either 'user' or 'assistant'. - example: user - content: - type: array - items: - type: object - properties: - type: - type: string - description: Type of content, e.g., 'text'. - text: - type: object - properties: - value: - type: string - description: Text content of the message. - example: How does AI work? Explain it in simple terms. - annotations: - type: array - items: - type: string - description: Annotations for the text content, if any. - file_ids: - type: array - items: - type: string - description: Array of file IDs associated with the message, if any. - example: [] - assistant_id: - type: string - description: Identifier of the assistant involved in the message, if applicable. - example: null - run_id: - type: string - description: Run ID associated with the message, if applicable. - example: null - metadata: - type: object - description: Metadata associated with the message. - example: {} - MessageFileObject: - type: object - properties: - id: - type: string - description: The identifier of the file. - example: file-abc123 - object: - type: string - description: Type of the object, indicating it's a thread message file. - example: thread.message.file - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the file. - example: 1699061776 - message_id: - type: string - description: Identifier of the message to which this file is associated. - example: msg_abc123 - ListMessageFilesResponse: - type: object - properties: - object: - type: string - description: Type of the object, indicating it's a list. - default: list - data: - type: array - items: - $ref: "#/components/schemas/MessageFileObject" diff --git a/openapi/specs/models.yaml b/openapi/specs/models.yaml deleted file mode 100644 index 40e6abaa..00000000 --- a/openapi/specs/models.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -components: - schemas: - ListModelsResponse: - type: object - properties: - object: - type: string - enum: - - list - data: - type: array - items: - $ref: "#/components/schemas/Model" - required: - - object - - data - Model: - type: object - properties: - source_url: - type: string - format: uri - description: URL to the source of the model. - example: https://huggingface.co/janhq/trinity-v1.2-GGUF/resolve/main/trinity-v1.2.Q4_K_M.gguf - id: - type: string - description: - Unique identifier used in chat-completions model_name, matches - folder name. - example: trinity-v1.2-7b - object: - type: string - example: model - name: - type: string - description: Name of the model. - example: Trinity-v1.2 7B Q4 - version: - type: string - default: "1.0" - description: The version number of the model. - description: - type: string - description: Description of the model. - example: - Trinity is an experimental model merge using the Slerp method. - Recommended for daily assistance purposes. - format: - type: string - description: State format of the model, distinct from the engine. - example: gguf - settings: - type: object - properties: - ctx_len: - type: integer - description: Context length. - example: 4096 - prompt_template: - type: string - example: "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant" - additionalProperties: false - parameters: - type: object - properties: - temperature: - example: 0.7 - top_p: - example: 0.95 - stream: - example: true - max_tokens: - example: 4096 - stop: - example: [] - frequency_penalty: - example: 0 - presence_penalty: - example: 0 - additionalProperties: false - metadata: - author: - type: string - example: Jan - tags: - example: - - 7B - - Merged - - Featured - size: - example: 4370000000, - cover: - example: https://raw.githubusercontent.com/janhq/jan/main/models/trinity-v1.2-7b/cover.png - engine: - example: nitro - ModelObject: - type: object - properties: - id: - type: string - description: | - The identifier of the model. - example: trinity-v1.2-7b - object: - type: string - description: | - The type of the object, indicating it's a model. - default: model - created: - type: integer - format: int64 - description: | - Unix timestamp representing the creation time of the model. - example: 1253935178 - owned_by: - type: string - description: | - The entity that owns the model. - example: _ - GetModelResponse: - type: object - properties: - source_url: - type: string - format: uri - description: URL to the source of the model. - example: https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf - id: - type: string - description: - Unique identifier used in chat-completions model_name, matches - folder name. - example: mistral-ins-7b-q4 - object: - type: string - example: model - name: - type: string - description: Name of the model. - example: Mistral Instruct 7B Q4 - version: - type: string - default: "1.0" - description: The version number of the model. - description: - type: string - description: Description of the model. - example: - Trinity is an experimental model merge using the Slerp method. - Recommended for daily assistance purposes. - format: - type: string - description: State format of the model, distinct from the engine. - example: gguf - settings: - type: object - properties: - ctx_len: - type: integer - description: Context length. - example: 4096 - prompt_template: - type: string - example: "[INST] {prompt} [/INST]" - additionalProperties: false - parameters: - type: object - properties: - temperature: - example: 0.7 - top_p: - example: 0.95 - stream: - example: true - max_tokens: - example: 4096 - stop: - example: [] - frequency_penalty: - example: 0 - presence_penalty: - example: 0 - additionalProperties: false - metadata: - author: - type: string - example: MistralAI - tags: - example: - - 7B - - Featured - - Foundation Model - size: - example: 4370000000, - cover: - example: https://raw.githubusercontent.com/janhq/jan/main/models/mistral-ins-7b-q4/cover.png - engine: - example: nitro - DeleteModelResponse: - type: object - properties: - id: - type: string - description: The identifier of the model that was deleted. - example: mistral-ins-7b-q4 - object: - type: string - description: Type of the object, indicating it's a model. - default: model - deleted: - type: boolean - description: Indicates whether the model was successfully deleted. - example: true - StartModelResponse: - type: object - properties: - id: - type: string - description: The identifier of the model that was started. - example: model-zephyr-7B - object: - type: string - description: Type of the object, indicating it's a model. - default: model - state: - type: string - description: The current state of the model after the start operation. - example: running - required: - - id - - object - - state - StopModelResponse: - type: object - properties: - id: - type: string - description: The identifier of the model that was started. - example: model-zephyr-7B - object: - type: string - description: Type of the object, indicating it's a model. - default: model - state: - type: string - description: The current state of the model after the start operation. - example: stopped - required: - - id - - object - - state - DownloadModelResponse: - type: object - properties: - message: - type: string - description: Message indicates Jan starting download corresponding model. - example: Starting download mistral-ins-7b-q4 diff --git a/openapi/specs/threads.yaml b/openapi/specs/threads.yaml deleted file mode 100644 index 40b2463f..00000000 --- a/openapi/specs/threads.yaml +++ /dev/null @@ -1,227 +0,0 @@ ---- -components: - schemas: - ThreadObject: - type: object - properties: - id: - type: string - description: | - The identifier of the thread, defaults to foldername. - example: thread_.... - object: - type: string - description: | - Type of the object, defaults to thread. - example: thread - title: - type: string - description: > - A brief summary or description of the thread, defaults to an empty - string. - example: funny physics joke - assistants: - type: array - description: "" - items: - properties: - assistant_id: - type: string - description: | - The identifier of assistant, defaults to "jan" - example: jan - model: - type: object - properties: - id: - type: string - description: "" - example: ... - settings: - type: object - description: > - Defaults to and overrides assistant.json's "settings" (and if none, - then model.json "settings") - parameters: - type: object - description: > - Defaults to and overrides assistant.json's "parameters" (and if - none, then model.json "parameters") - created: - type: integer - format: int64 - description: > - Unix timestamp representing the creation time of the thread, - defaults to file creation time. - example: 1231231 - metadata: - type: object - description: | - Metadata associated with the thread, defaults to an empty object. - example: {} - GetThreadResponse: - type: object - properties: - id: - type: string - description: The identifier of the thread. - example: thread_abc123 - object: - type: string - description: Type of the object - example: thread - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the thread. - example: 1699014083 - assistants: - type: array - items: - type: string - description: List of assistants involved in the thread. - example: - - assistant-001 - metadata: - type: object - description: Metadata associated with the thread. - example: {} - messages: - type: array - items: - type: string - description: List of messages within the thread. - example: [] - CreateThreadResponse: - type: object - properties: - id: - type: string - description: The identifier of the newly created thread. - example: thread_abc123 - object: - type: string - description: Type of the object, indicating it's a thread. - example: thread - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the thread. - example: 1699014083 - metadata: - type: object - description: Metadata associated with the newly created thread. - example: {} - CreateThreadObject: - type: object - properties: - object: - type: string - description: Type of the object, indicating it's a thread. - example: thread - title: - type: string - description: > - A brief summary or description of the thread, defaults to an empty - string. - example: funny physics joke - assistants: - type: array - description: assistant involved in the thread - items: - properties: - assistant_id: - type: string - description: | - The identifier of assistant, defaults to "jan" - example: jan - assistant_name: - type: string - description: | - The name of assistant, defaults to "Jan" - example: Jan - instructions: - type: string - description: > - The instruction of assistant, defaults to "Be my grammar corrector" - model: - type: object - properties: - id: - type: string - description: Model id - example: mistral-ins-7b-q4 - settings: - type: object - description: > - Defaults to and overrides assistant.json's "settings" (and if none, - then model.json "settings") - parameters: - type: object - description: > - Defaults to and overrides assistant.json's "parameters" (and if - none, then model.json "parameters") - engine: - type: string - description: Engine id - example: nitro - metadata: - type: object - description: | - Metadata associated with the thread, defaults to an empty object. - ThreadMessageObject: - type: object - properties: - role: - type: string - description: | - "Role of the sender, either 'user' or 'assistant'." - enum: - - user - - assistant - content: - type: string - description: | - "Text content of the message." - file_ids: - type: array - items: - type: string - description: | - "Array of file IDs associated with the message, if any." - ModifyThreadResponse: - type: object - properties: - id: - type: string - description: | - "The identifier of the modified thread." - example: thread_abc123 - object: - type: string - description: Type of the object, indicating it's a thread. - example: thread - created_at: - type: integer - format: int64 - description: Unix timestamp representing the creation time of the thread. - example: 1699014083 - metadata: - type: object - description: Metadata associated with the modified thread. - example: {} - DeleteThreadResponse: - type: object - properties: - id: - type: string - description: The identifier of the deleted thread. - example: thread_abc123 - object: - type: string - description: Type of the object, indicating the thread has been deleted. - example: thread.deleted - deleted: - type: boolean - description: Indicates whether the thread was successfully deleted. - example: true diff --git a/package.json b/package.json index b4418453..df807c0a 100644 --- a/package.json +++ b/package.json @@ -1,71 +1,59 @@ { "name": "docs", - "version": "0.0.0", + "version": "0.1.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" + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "create:blogpost": "plop create-blogpost", + "postbuild": "next-sitemap" }, "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", - "lucide-react": "^0.291.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-hook-form": "^7.47.0", - "react-icons": "^4.11.0", + "@code-hike/mdx": "^0.9.0", + "@next/third-parties": "^14.1.4", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-icons": "^1.3.0", + "@scalar/api-reference-react": "^0.1.19", + "@theguild/remark-mermaid": "^0.0.6", + "autoprefixer": "^10.0.1", + "axios": "^1.6.8", + "date-fns": "^3.6.0", + "embla-carousel-auto-height": "^8.0.0", + "embla-carousel-auto-scroll": "^8.0.0", + "embla-carousel-autoplay": "^8.0.0", + "embla-carousel-react": "^8.0.0", + "fs": "^0.0.1-security", + "gray-matter": "^4.0.3", + "lucide-react": "^0.364.0", + "next": "^14.1.4", + "next-seo": "^6.5.0", + "next-sitemap": "^4.2.3", + "nextra": "^2.13.4", + "nextra-theme-docs": "^2.13.4", + "path": "^0.12.7", + "plop": "^4.0.1", + "plop-helper-date": "^1.0.0", + "react": "^18", + "react-dom": "^18", + "react-hook-form": "^7.51.1", + "react-icons": "^5.0.1", + "react-markdown": "^9.0.1", "react-tweet": "^3.2.0", - "redocusaurus": "^2.0.0", - "sass": "^1.69.3", - "tailwind-merge": "^2.1.0", - "tailwindcss": "^3.3.3" + "sass": "^1.72.0", + "sharp": "^0.33.3", + "tailwind-merge": "^2.2.2", + "tailwindcss": "^3.3.0" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.0.0", - "dotenv": "^16.4.5", - "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" + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.1.4", + "postcss": "^8", + "prettier": "^3.2.5", + "typescript": "^5" } } diff --git a/plopfile.js b/plopfile.js new file mode 100644 index 00000000..5f386157 --- /dev/null +++ b/plopfile.js @@ -0,0 +1,64 @@ +const capitalize = (str) => { + return str.charAt(0).toUpperCase() + str.slice(1) +} + +const camelCase = (str) => { + return str.replace(/[-_](\w)/g, (_, c) => c.toUpperCase()) +} + +const categories = ['product-updates', 'building-jan', 'research'] + +/** + * @param {import("plop").NodePlopAPI} plop + */ +module.exports = function main(plop) { + plop.setHelper('capitalize', (text) => { + return capitalize(camelCase(text)) + }) + + plop.load('plop-helper-date') + + plop.setGenerator('create-blogpost', { + description: 'Generates a blog post', + prompts: [ + { + type: 'list', + name: 'categories', + message: 'what is categories of blog post: ', + choices: categories, + }, + { + type: 'input', + name: 'slug', + message: 'Enter slug of blog post: ', + }, + { + type: 'input', + name: 'title', + message: 'Enter title of blog post: ', + }, + { + type: 'input', + name: 'description', + message: 'The description of blog post: ', + }, + ], + + actions(answers) { + const actions = [] + if (!answers) return actions + const { categories, slug, title, description } = answers + + actions.push({ + type: 'addMany', + templateFiles: 'templates/**', + destination: `./src/pages/post`, + globOptions: { dot: true }, + data: { categories, slug, title, description }, + abortOnFail: true, + }) + + return actions + }, + }) +} diff --git a/plugins/changelog-plugin/fetchData.js b/plugins/changelog-plugin/fetchData.js deleted file mode 100644 index 7c3620a5..00000000 --- a/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/plugins/changelog-plugin/index.js b/plugins/changelog-plugin/index.js deleted file mode 100644 index 574b582e..00000000 --- a/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/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..33ad091d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/static/font/PPEditorialNew-Regular.otf b/public/assets/fonts/PPEditorialNew-Regular.otf similarity index 100% rename from static/font/PPEditorialNew-Regular.otf rename to public/assets/fonts/PPEditorialNew-Regular.otf diff --git a/static/font/PPEditorialNew-RegularItalic.otf b/public/assets/fonts/PPEditorialNew-RegularItalic.otf similarity index 100% rename from static/font/PPEditorialNew-RegularItalic.otf rename to public/assets/fonts/PPEditorialNew-RegularItalic.otf diff --git a/static/font/PPEditorialNew-Ultrabold.otf b/public/assets/fonts/PPEditorialNew-Ultrabold.otf similarity index 100% rename from static/font/PPEditorialNew-Ultrabold.otf rename to public/assets/fonts/PPEditorialNew-Ultrabold.otf diff --git a/static/font/PPEditorialNew-UltraboldItalic.otf b/public/assets/fonts/PPEditorialNew-UltraboldItalic.otf similarity index 100% rename from static/font/PPEditorialNew-UltraboldItalic.otf rename to public/assets/fonts/PPEditorialNew-UltraboldItalic.otf diff --git a/static/font/PPEditorialNew-Ultralight.otf b/public/assets/fonts/PPEditorialNew-Ultralight.otf similarity index 100% rename from static/font/PPEditorialNew-Ultralight.otf rename to public/assets/fonts/PPEditorialNew-Ultralight.otf diff --git a/static/font/PPEditorialNew-UltralightItalic.otf b/public/assets/fonts/PPEditorialNew-UltralightItalic.otf similarity index 100% rename from static/font/PPEditorialNew-UltralightItalic.otf rename to public/assets/fonts/PPEditorialNew-UltralightItalic.otf diff --git a/public/assets/images/general/logo-mark.svg b/public/assets/images/general/logo-mark.svg new file mode 100644 index 00000000..188c822f --- /dev/null +++ b/public/assets/images/general/logo-mark.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/static/img/og-image.png b/public/assets/images/general/og-image.png similarity index 100% rename from static/img/og-image.png rename to public/assets/images/general/og-image.png diff --git a/public/assets/images/homepage/app-frame-dark.webp b/public/assets/images/homepage/app-frame-dark.webp new file mode 100644 index 00000000..143c5699 Binary files /dev/null and b/public/assets/images/homepage/app-frame-dark.webp differ diff --git a/public/assets/images/homepage/app-frame-light.webp b/public/assets/images/homepage/app-frame-light.webp new file mode 100644 index 00000000..6ae08ae3 Binary files /dev/null and b/public/assets/images/homepage/app-frame-light.webp differ diff --git a/public/assets/images/homepage/features01.webp b/public/assets/images/homepage/features01.webp new file mode 100644 index 00000000..feb390e9 Binary files /dev/null and b/public/assets/images/homepage/features01.webp differ diff --git a/public/assets/images/homepage/features01dark.webp b/public/assets/images/homepage/features01dark.webp new file mode 100644 index 00000000..164265a4 Binary files /dev/null and b/public/assets/images/homepage/features01dark.webp differ diff --git a/public/assets/images/homepage/features02.webp b/public/assets/images/homepage/features02.webp new file mode 100644 index 00000000..454c96a6 Binary files /dev/null and b/public/assets/images/homepage/features02.webp differ diff --git a/public/assets/images/homepage/features02dark.webp b/public/assets/images/homepage/features02dark.webp new file mode 100644 index 00000000..78a80bba Binary files /dev/null and b/public/assets/images/homepage/features02dark.webp differ diff --git a/public/assets/images/homepage/features03.webp b/public/assets/images/homepage/features03.webp new file mode 100644 index 00000000..2b091029 Binary files /dev/null and b/public/assets/images/homepage/features03.webp differ diff --git a/public/assets/images/homepage/features03dark.webp b/public/assets/images/homepage/features03dark.webp new file mode 100644 index 00000000..c2184c33 Binary files /dev/null and b/public/assets/images/homepage/features03dark.webp differ diff --git a/public/assets/images/homepage/features04.webp b/public/assets/images/homepage/features04.webp new file mode 100644 index 00000000..d1c4f66f Binary files /dev/null and b/public/assets/images/homepage/features04.webp differ diff --git a/public/assets/images/homepage/features04dark.webp b/public/assets/images/homepage/features04dark.webp new file mode 100644 index 00000000..8b866493 Binary files /dev/null and b/public/assets/images/homepage/features04dark.webp differ diff --git a/public/assets/images/homepage/features05.webp b/public/assets/images/homepage/features05.webp new file mode 100644 index 00000000..8422113c Binary files /dev/null and b/public/assets/images/homepage/features05.webp differ diff --git a/public/assets/images/homepage/features05dark.webp b/public/assets/images/homepage/features05dark.webp new file mode 100644 index 00000000..78364282 Binary files /dev/null and b/public/assets/images/homepage/features05dark.webp differ diff --git a/public/assets/images/homepage/mac-system-black.svg b/public/assets/images/homepage/mac-system-black.svg new file mode 100644 index 00000000..0b866815 --- /dev/null +++ b/public/assets/images/homepage/mac-system-black.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/assets/images/homepage/mac-system-white.svg b/public/assets/images/homepage/mac-system-white.svg new file mode 100644 index 00000000..4539db6e --- /dev/null +++ b/public/assets/images/homepage/mac-system-white.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/static/img/homepage/mapbase.webp b/public/assets/images/homepage/mapbase-dark.webp similarity index 100% rename from static/img/homepage/mapbase.webp rename to public/assets/images/homepage/mapbase-dark.webp diff --git a/static/img/homepage/mapbase-light.webp b/public/assets/images/homepage/mapbase-light.webp similarity index 100% rename from static/img/homepage/mapbase-light.webp rename to public/assets/images/homepage/mapbase-light.webp diff --git a/public/assets/images/homepage/testing.mp4 b/public/assets/images/homepage/testing.mp4 new file mode 100644 index 00000000..d97fe2f8 Binary files /dev/null and b/public/assets/images/homepage/testing.mp4 differ diff --git a/static/img/favicon.ico b/public/favicon.ico similarity index 100% rename from static/img/favicon.ico rename to public/favicon.ico diff --git a/public/openapi/jan.json b/public/openapi/jan.json new file mode 100644 index 00000000..78181552 --- /dev/null +++ b/public/openapi/jan.json @@ -0,0 +1,2489 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "API Reference", + "description": "# Introduction\nJan API is compatible with the [OpenAI API](https://platform.openai.com/docs/api-reference).\n", + "version": "0.1.8", + "contact": { + "name": "Jan Discord", + "url": "https://discord.gg/7EcEz7MrvA" + }, + "license": { + "name": "AGPLv3", + "url": "https://github.com/janhq/nitro/blob/main/LICENSE" + } + }, + "servers": [ + { + "url": "http://localhost:1337/v1" + } + ], + "tags": [ + { + "name": "Model", + "description": "List and describe the various models available in the API." + }, + { + "name": "Chat", + "description": "Given a list of messages comprising a conversation, the model will return a response.\n" + }, + { + "name": "Messages", + "description": "Messages capture a conversation's content. This can include the content from LLM responses and other metadata from [chat completions](/specs/chats).\n" + }, + { + "name": "Threads" + }, + { + "name": "Assistants", + "description": "Configures and utilizes different AI assistants for varied tasks" + } + ], + "x-tagGroups": [ + { + "name": "Endpoints", + "tags": [ + "Model", + "Chat" + ] + }, + { + "name": "Chat", + "tags": [ + "Assistants", + "Messages", + "Threads" + ] + } + ], + "paths": { + "/chat/completions": { + "post": { + "operationId": "createChatCompletion", + "tags": [ + "Chat" + ], + "summary": "Create chat completion\n", + "description": "Creates a model response for the given chat conversation. The API limits stop words to a maximum of 4. If more are specified, only the first 4 will be accepted. Equivalent to OpenAI's create chat completion. \n", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChatCompletionRequest" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChatCompletionResponse" + } + } + } + } + } + } + }, + "/models": { + "get": { + "operationId": "listModels", + "tags": [ + "Model" + ], + "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": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListModelsResponse" + } + } + } + } + } + } + }, + "/models/download/{model_id}": { + "get": { + "operationId": "downloadModel", + "tags": [ + "Model" + ], + "summary": "Download a specific model.", + "description": "Download a model.\n", + "parameters": [ + { + "in": "path", + "name": "model_id", + "required": true, + "schema": { + "type": "string", + "example": "mistral-ins-7b-q4" + }, + "description": "The ID of the model to use for this request.\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadModelResponse" + } + } + } + } + } + } + }, + "/models/{model_id}": { + "get": { + "operationId": "retrieveModel", + "tags": [ + "Model" + ], + "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": [ + { + "in": "path", + "name": "model_id", + "required": true, + "schema": { + "type": "string", + "example": "mistral-ins-7b-q4" + }, + "description": "The ID of the model to use for this request.\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetModelResponse" + } + } + } + } + } + }, + "delete": { + "operationId": "deleteModel", + "tags": [ + "Model" + ], + "summary": "Delete model", + "description": "Delete a model. Equivalent to OpenAI's delete model. \n", + "parameters": [ + { + "in": "path", + "name": "model_id", + "required": true, + "schema": { + "type": "string", + "example": "mistral-ins-7b-q4" + }, + "description": "The model id to delete\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteModelResponse" + } + } + } + } + } + } + }, + "/threads": { + "post": { + "operationId": "createThread", + "tags": [ + "Threads" + ], + "summary": "Create thread", + "description": "Create a thread. Equivalent to OpenAI's create thread. \n", + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateThreadObject" + } + } + } + }, + "responses": { + "200": { + "description": "Thread created successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateThreadResponse" + } + } + } + } + } + }, + "get": { + "operationId": "listThreads", + "tags": [ + "Threads" + ], + "summary": "List threads", + "description": "Retrieves a list of all threads available in the system.\n", + "responses": { + "200": { + "description": "List of threads retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ThreadObject" + }, + "example": [ + { + "id": "thread_abc123", + "object": "thread", + "created_at": 1699014083, + "assistants": [ + "assistant-001" + ], + "metadata": {}, + "messages": [] + }, + { + "id": "thread_abc456", + "object": "thread", + "created_at": 1699014083, + "assistants": [ + "assistant-002", + "assistant-003" + ], + "metadata": {} + } + ] + } + } + } + } + } + } + }, + "/threads/{thread_id}": { + "get": { + "operationId": "getThread", + "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": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread to retrieve.\n" + } + ], + "responses": { + "200": { + "description": "Thread details retrieved successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetThreadResponse" + } + } + } + } + } + }, + "patch": { + "operationId": "modifyThread", + "tags": [ + "Threads" + ], + "summary": "Modify thread", + "description": "Modifies a thread. Equivalent to OpenAI's modify thread. \n", + "parameters": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread to be modified.\n" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "Set the title of the thread", + "items": { + "$ref": "#/components/schemas/ThreadMessageObject" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Thread modified successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyThreadResponse" + } + } + } + } + } + }, + "delete": { + "operationId": "deleteThread", + "tags": [ + "Threads" + ], + "summary": "Delete thread", + "description": "Delete a thread. Equivalent to OpenAI's delete thread. \n", + "parameters": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread to be deleted.\n" + } + ], + "responses": { + "200": { + "description": "Thread deleted successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteThreadResponse" + } + } + } + } + } + } + }, + "/assistants": { + "get": { + "operationId": "listAssistants", + "tags": [ + "Assistants" + ], + "summary": "List assistants", + "description": "Return a list of assistants. Equivalent to OpenAI's list assistants. \n", + "responses": { + "200": { + "description": "List of assistants retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "object": { + "type": "string" + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "avatar": { + "type": "string", + "format": "uri" + }, + "models": { + "type": "array", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string" + } + } + } + }, + "instructions": { + "type": "string" + }, + "events": { + "type": "object", + "properties": { + "in": { + "type": "array", + "items": {} + }, + "out": { + "type": "array", + "items": {} + } + } + }, + "metadata": { + "type": "object" + }, + "x-codeSamples": { + "type": "object", + "properties": { + "cURL": { + "type": "object", + "properties": { + "lang": { + "type": "string", + "example": "cURL" + }, + "source": { + "type": "string", + "example": "curl http://localhost:1337/v1/assistants \\\n -H \"Content-Type: application/json\"\n" + } + } + }, + "JavaScript": { + "type": "object", + "properties": { + "lang": { + "type": "string", + "example": "JavaScript" + }, + "source": { + "type": "string", + "example": "fetch('http://localhost:1337/v1/assistants', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n})\n" + } + } + }, + "Node.js": { + "type": "object", + "properties": { + "lang": { + "type": "string", + "example": "Node.js" + }, + "source": { + "type": "string", + "example": "const fetch = require('node-fetch');\n\nfetch('http://localhost:1337/v1/assistants', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n})\n" + } + } + }, + "Python": { + "type": "object", + "properties": { + "lang": { + "type": "string", + "example": "Python" + }, + "source": { + "type": "string", + "example": "import requests\n\nurl = 'http://localhost:1337/v1/assistants'\nheaders = {'Content-Type': 'application/json'}\n\nresponse = requests.get(url, headers=headers)\n" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/assistants/{assistant_id}": { + "get": { + "operationId": "getAssistant", + "tags": [ + "Assistants" + ], + "summary": "Retrieve assistant", + "description": "Retrieves an assistant. Equivalent to OpenAI's retrieve assistants. \n", + "parameters": [ + { + "in": "path", + "name": "assistant_id", + "required": true, + "schema": { + "type": "string", + "example": "jan" + }, + "description": "The ID of the assistant to retrieve.\n" + } + ], + "responses": { + "200": { + "description": "string", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RetrieveAssistantResponse" + } + } + } + } + } + } + }, + "/threads/{thread_id}/messages": { + "get": { + "operationId": "listMessages", + "tags": [ + "Messages" + ], + "summary": "List messages", + "description": "Retrieves all messages from the given thread. Equivalent to OpenAI's list messages. \n", + "parameters": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread from which to retrieve messages.\n" + } + ], + "responses": { + "200": { + "description": "List of messages retrieved successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListMessagesResponse" + } + } + } + } + } + }, + "post": { + "operationId": "createMessage", + "tags": [ + "Messages" + ], + "summary": "Create message", + "description": "Create a message. Equivalent to OpenAI's list messages. \n", + "parameters": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread to which the message will be posted.\n" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "Role of the sender, either 'user' or 'assistant'.\n", + "example": "user", + "enum": [ + "user", + "assistant" + ] + }, + "content": { + "type": "string", + "description": "Text content of the message.\n", + "example": "How does AI work? Explain it in simple terms." + } + }, + "required": [ + "role", + "content" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Message created successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateMessageResponse" + } + } + } + } + } + } + }, + "/threads/{thread_id}/messages/{message_id}": { + "get": { + "operationId": "retrieveMessage", + "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": [ + { + "in": "path", + "name": "thread_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the thread containing the message.\n" + }, + { + "in": "path", + "name": "message_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "The ID of the message to retrieve.\n" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetMessageResponse" + } + } + } + } + } + } + } + }, + "x-webhooks": { + "ModelObject": { + "post": { + "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": [ + "Model" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModelObject" + } + } + } + } + } + }, + "AssistantObject": { + "post": { + "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" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssistantObject" + } + } + } + } + } + }, + "MessageObject": { + "post": { + "summary": "The message object", + "description": "Information about a message in the thread. Equivalent to OpenAI's message object. \n", + "operationId": "MessageObject", + "tags": [ + "Messages" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": null + } + } + } + } + } + }, + "ThreadObject": { + "post": { + "summary": "The thread object", + "description": "Represents a thread that contains messages. Equivalent to OpenAI's thread object. ", + "operationId": "ThreadObject", + "tags": [ + "Threads" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": null + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ThreadObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the thread, defaults to foldername.\n", + "example": "thread_...." + }, + "object": { + "type": "string", + "description": "Type of the object, defaults to thread.\n", + "example": "thread" + }, + "title": { + "type": "string", + "description": "A brief summary or description of the thread, defaults to an empty string.\n", + "example": "funny physics joke" + }, + "assistants": { + "type": "array", + "description": "", + "items": { + "properties": { + "assistant_id": { + "type": "string", + "description": "The identifier of assistant, defaults to \"jan\"\n", + "example": "jan" + }, + "model": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "", + "example": "..." + }, + "settings": { + "type": "object", + "description": "Defaults to and overrides assistant.json's \"settings\" (and if none, then model.json \"settings\")\n" + }, + "parameters": { + "type": "object", + "description": "Defaults to and overrides assistant.json's \"parameters\" (and if none, then model.json \"parameters\")\n" + } + } + } + } + } + }, + "created": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the thread, defaults to file creation time.\n", + "example": 1231231 + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the thread, defaults to an empty object.\n", + "example": {} + } + } + }, + "GetThreadResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the thread.", + "example": "thread_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object", + "example": "thread" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the thread.", + "example": 1699014083 + }, + "assistants": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of assistants involved in the thread.", + "example": [ + "assistant-001" + ] + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the thread.", + "example": {} + }, + "messages": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of messages within the thread.", + "example": [] + } + } + }, + "CreateThreadResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the newly created thread.", + "example": "thread_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread.", + "example": "thread" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the thread.", + "example": 1699014083 + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the newly created thread.", + "example": {} + } + } + }, + "CreateThreadObject": { + "type": "object", + "properties": { + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread.", + "example": "thread" + }, + "title": { + "type": "string", + "description": "A brief summary or description of the thread, defaults to an empty string.\n", + "example": "funny physics joke" + }, + "assistants": { + "type": "array", + "description": "assistant involved in the thread", + "items": { + "properties": { + "assistant_id": { + "type": "string", + "description": "The identifier of assistant, defaults to \"jan\"\n", + "example": "jan" + }, + "assistant_name": { + "type": "string", + "description": "The name of assistant, defaults to \"Jan\"\n", + "example": "Jan" + }, + "instructions": { + "type": "string", + "description": "The instruction of assistant, defaults to \"Be my grammar corrector\"\n" + }, + "model": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Model id", + "example": "mistral-ins-7b-q4" + }, + "settings": { + "type": "object", + "description": "Defaults to and overrides assistant.json's \"settings\" (and if none, then model.json \"settings\")\n" + }, + "parameters": { + "type": "object", + "description": "Defaults to and overrides assistant.json's \"parameters\" (and if none, then model.json \"parameters\")\n" + }, + "engine": { + "type": "string", + "description": "Engine id", + "example": "nitro" + } + } + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the thread, defaults to an empty object.\n" + } + } + }, + "ThreadMessageObject": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "\"Role of the sender, either 'user' or 'assistant'.\"\n", + "enum": [ + "user", + "assistant" + ] + }, + "content": { + "type": "string", + "description": "\"Text content of the message.\"\n" + }, + "file_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "\"Array of file IDs associated with the message, if any.\"\n" + } + } + }, + "ModifyThreadResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "\"The identifier of the modified thread.\"\n", + "example": "thread_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread.", + "example": "thread" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the thread.", + "example": 1699014083 + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the modified thread.", + "example": {} + } + } + }, + "DeleteThreadResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the deleted thread.", + "example": "thread_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating the thread has been deleted.", + "example": "thread.deleted" + }, + "deleted": { + "type": "boolean", + "description": "Indicates whether the thread was successfully deleted.", + "example": true + } + } + }, + "ListModelsResponse": { + "type": "object", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ] + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Model" + } + } + }, + "required": [ + "object", + "data" + ] + }, + "Model": { + "type": "object", + "properties": { + "source_url": { + "type": "string", + "format": "uri", + "description": "URL to the source of the model.", + "example": "https://huggingface.co/janhq/trinity-v1.2-GGUF/resolve/main/trinity-v1.2.Q4_K_M.gguf" + }, + "id": { + "type": "string", + "description": "Unique identifier used in chat-completions model_name, matches folder name.", + "example": "trinity-v1.2-7b" + }, + "object": { + "type": "string", + "example": "model" + }, + "name": { + "type": "string", + "description": "Name of the model.", + "example": "Trinity-v1.2 7B Q4" + }, + "version": { + "type": "string", + "default": "1.0", + "description": "The version number of the model." + }, + "description": { + "type": "string", + "description": "Description of the model.", + "example": "Trinity is an experimental model merge using the Slerp method. Recommended for daily assistance purposes." + }, + "format": { + "type": "string", + "description": "State format of the model, distinct from the engine.", + "example": "gguf" + }, + "settings": { + "type": "object", + "properties": { + "ctx_len": { + "type": "integer", + "description": "Context length.", + "example": 4096 + }, + "prompt_template": { + "type": "string", + "example": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant" + } + }, + "additionalProperties": false + }, + "parameters": { + "type": "object", + "properties": { + "temperature": { + "example": 0.7 + }, + "top_p": { + "example": 0.95 + }, + "stream": { + "example": true + }, + "max_tokens": { + "example": 4096 + }, + "stop": { + "example": [] + }, + "frequency_penalty": { + "example": 0 + }, + "presence_penalty": { + "example": 0 + } + }, + "additionalProperties": false + }, + "metadata": { + "type": "object", + "properties": { + "author": { + "type": "string", + "example": "Jan" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "7B", + "Merged", + "Featured" + ] + }, + "size": { + "type": "integer", + "example": 4370000000 + }, + "cover": { + "type": "string", + "format": "uri", + "example": "https://raw.githubusercontent.com/janhq/jan/main/models/trinity-v1.2-7b/cover.png" + } + }, + "additionalProperties": false + }, + "engine": { + "example": "nitro" + } + } + }, + "ModelObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the model.\n", + "example": "trinity-v1.2-7b" + }, + "object": { + "type": "string", + "description": "The type of the object, indicating it's a model.\n", + "default": "model" + }, + "created": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the model.\n", + "example": 1253935178 + }, + "owned_by": { + "type": "string", + "description": "The entity that owns the model.\n", + "example": "_" + } + } + }, + "GetModelResponse": { + "type": "object", + "properties": { + "source_url": { + "type": "string", + "format": "uri", + "description": "URL to the source of the model.", + "example": "https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf" + }, + "id": { + "type": "string", + "description": "Unique identifier used in chat-completions model_name, matches folder name.", + "example": "mistral-ins-7b-q4" + }, + "object": { + "type": "string", + "example": "model" + }, + "name": { + "type": "string", + "description": "Name of the model.", + "example": "Mistral Instruct 7B Q4" + }, + "version": { + "type": "string", + "default": "1.0", + "description": "The version number of the model." + }, + "description": { + "type": "string", + "description": "Description of the model.", + "example": "Trinity is an experimental model merge using the Slerp method. Recommended for daily assistance purposes." + }, + "format": { + "type": "string", + "description": "State format of the model, distinct from the engine.", + "example": "gguf" + }, + "settings": { + "type": "object", + "properties": { + "ctx_len": { + "type": "integer", + "description": "Context length.", + "example": 4096 + }, + "prompt_template": { + "type": "string", + "example": "[INST] {prompt} [/INST]" + } + }, + "additionalProperties": false + }, + "parameters": { + "type": "object", + "properties": { + "temperature": { + "example": 0.7 + }, + "top_p": { + "example": 0.95 + }, + "stream": { + "example": true + }, + "max_tokens": { + "example": 4096 + }, + "stop": { + "example": [] + }, + "frequency_penalty": { + "example": 0 + }, + "presence_penalty": { + "example": 0 + } + }, + "additionalProperties": false + }, + "metadata": { + "type": "object", + "properties": { + "author": { + "type": "string", + "example": "MistralAI" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "7B", + "Featured", + "Foundation Model" + ] + }, + "size": { + "example": 4370000000, + "type": "integer" + }, + "cover": { + "example": "https://raw.githubusercontent.com/janhq/jan/main/models/mistral-ins-7b-q4/cover.png", + "type": "string" + } + }, + "additionalProperties": false + }, + "engine": { + "example": "nitro" + } + } + }, + "DeleteModelResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the model that was deleted.", + "example": "mistral-ins-7b-q4" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a model.", + "default": "model" + }, + "deleted": { + "type": "boolean", + "description": "Indicates whether the model was successfully deleted.", + "example": true + } + } + }, + "StartModelResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the model that was started.", + "example": "model-zephyr-7B" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a model.", + "default": "model" + }, + "state": { + "type": "string", + "description": "The current state of the model after the start operation.", + "example": "running" + } + }, + "required": [ + "id", + "object", + "state" + ] + }, + "StopModelResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the model that was started.", + "example": "model-zephyr-7B" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a model.", + "default": "model" + }, + "state": { + "type": "string", + "description": "The current state of the model after the start operation.", + "example": "stopped" + } + }, + "required": [ + "id", + "object", + "state" + ] + }, + "DownloadModelResponse": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message indicates Jan starting download corresponding model.", + "example": "Starting download mistral-ins-7b-q4" + } + } + }, + "MessageObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Sequential or UUID identifier of the message.\n", + "example": 0 + }, + "object": { + "type": "string", + "description": "Type of the object, defaults to 'thread.message'.\n", + "example": "thread.message" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the message.\n" + }, + "thread_id": { + "type": "string", + "description": "Identifier of the thread to which this message belongs. Defaults to parent thread.\n", + "example": "thread_asdf" + }, + "assistant_id": { + "type": "string", + "description": "Identifier of the assistant involved in the message. Defaults to parent thread.\n", + "example": "jan" + }, + "role": { + "type": "string", + "enum": [ + "user", + "assistant" + ], + "description": "Role of the sender, either 'user' or 'assistant'.\n" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of content, e.g., 'text'.\n" + }, + "text": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Text content of the message.\n", + "example": "Hi!?" + }, + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Annotations for the text content, if any.\n", + "example": [] + } + } + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the message, defaults to an empty object.\n", + "example": {} + } + } + }, + "GetMessageResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the message.", + "example": "msg_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread message.", + "default": "thread.message" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the message.", + "example": 1699017614 + }, + "thread_id": { + "type": "string", + "description": "Identifier of the thread to which this message belongs.", + "example": "thread_abc123" + }, + "role": { + "type": "string", + "description": "Role of the sender, either 'user' or 'assistant'.", + "example": "user" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of content, e.g., 'text'.", + "example": "text" + }, + "text": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Text content of the message.", + "example": "How does AI work? Explain it in simple terms." + }, + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Annotations for the text content, if any.", + "example": [] + } + } + } + } + } + }, + "file_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of file IDs associated with the message, if any.", + "example": [] + }, + "assistant_id": { + "type": "string", + "description": "Identifier of the assistant involved in the message, if applicable.", + "example": null + }, + "run_id": { + "type": "string", + "description": "Run ID associated with the message, if applicable.", + "example": null + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the message.", + "example": {} + } + } + }, + "CreateMessageResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the created message.", + "example": "msg_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread message.", + "example": "thread.message" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the message.", + "example": 1699017614 + }, + "thread_id": { + "type": "string", + "description": "Identifier of the thread to which this message belongs.", + "example": "thread_abc123" + }, + "role": { + "type": "string", + "description": "Role of the sender, either 'user' or 'assistant'.", + "example": "user" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of content, e.g., 'text'.", + "example": "text" + }, + "text": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Text content of the message.", + "example": "How does AI work? Explain it in simple terms." + }, + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Annotations for the text content, if any.", + "example": [] + } + } + } + } + } + }, + "file_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of file IDs associated with the message, if any.", + "example": [] + }, + "assistant_id": { + "type": "string", + "description": "Identifier of the assistant involved in the message, if applicable.", + "example": null + }, + "run_id": { + "type": "string", + "description": "Run ID associated with the message, if applicable.", + "example": null + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the message.", + "example": {} + } + } + }, + "ListMessagesResponse": { + "type": "object", + "properties": { + "object": { + "type": "string", + "description": "Type of the object, indicating it's a list.", + "default": "list" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ListMessageObject" + } + }, + "first_id": { + "type": "string", + "description": "Identifier of the first message in the list.", + "example": "msg_abc123" + }, + "last_id": { + "type": "string", + "description": "Identifier of the last message in the list.", + "example": "msg_abc456" + }, + "has_more": { + "type": "boolean", + "description": "Indicates whether there are more messages to retrieve.", + "example": false + } + } + }, + "ListMessageObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the message.", + "example": "msg_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread message.", + "example": "thread.message" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the message.", + "example": 1699017614 + }, + "thread_id": { + "type": "string", + "description": "Identifier of the thread to which this message belongs.", + "example": "thread_abc123" + }, + "role": { + "type": "string", + "description": "Role of the sender, either 'user' or 'assistant'.", + "example": "user" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of content, e.g., 'text'." + }, + "text": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Text content of the message.", + "example": "How does AI work? Explain it in simple terms." + }, + "annotations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Annotations for the text content, if any." + } + } + } + } + } + }, + "file_ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of file IDs associated with the message, if any.", + "example": [] + }, + "assistant_id": { + "type": "string", + "description": "Identifier of the assistant involved in the message, if applicable.", + "example": null + }, + "run_id": { + "type": "string", + "description": "Run ID associated with the message, if applicable.", + "example": null + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the message.", + "example": {} + } + } + }, + "MessageFileObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the file.", + "example": "file-abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's a thread message file.", + "example": "thread.message.file" + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the file.", + "example": 1699061776 + }, + "message_id": { + "type": "string", + "description": "Identifier of the message to which this file is associated.", + "example": "msg_abc123" + } + } + }, + "ListMessageFilesResponse": { + "type": "object", + "properties": { + "object": { + "type": "string", + "description": "Type of the object, indicating it's a list.", + "default": "list" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageFileObject" + } + } + } + }, + "ChatObject": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Contains input data or prompts for the model to process.\n", + "items": { + "type": "object", + "properties": { + "content": { + "type": "string" + }, + "role": { + "type": "string" + } + } + }, + "example": [ + { + "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 model responses." + }, + "model": { + "type": "string", + "example": "gpt-3.5-turbo", + "description": "Specifies the model being used for inference or processing tasks." + }, + "max_tokens": { + "type": "number", + "default": 2048, + "description": "The maximum number of tokens the model will generate in a single response." + }, + "stop": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Defines specific tokens or phrases at which the model will stop generating further output.", + "example": [ + "hello" + ] + }, + "frequency_penalty": { + "type": "number", + "default": 0, + "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 output." + }, + "temperature": { + "type": "number", + "default": 0.7, + "description": "Controls the randomness of the model's output." + }, + "top_p": { + "type": "number", + "default": 0.95, + "description": "Set probability threshold for more relevant outputs." + }, + "cache_prompt": { + "type": "boolean", + "default": true, + "description": "Optimize performance in repeated or similar requests." + } + } + }, + "ChatCompletionRequest": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "Contains input data or prompts for the model to process.\n", + "items": { + "type": "object", + "properties": { + "content": { + "type": "string" + }, + "role": { + "type": "string" + } + } + }, + "example": [ + { + "content": "You are a helpful assistant.", + "role": "system" + }, + { + "content": "Hello!", + "role": "user" + } + ] + }, + "model": { + "type": "string", + "example": "tinyllama-1.1b", + "description": "Specifies the model being used for inference or processing tasks.\n" + }, + "stream": { + "type": "boolean", + "default": true, + "description": "Enables continuous output generation, allowing for streaming of model responses.\n" + }, + "max_tokens": { + "type": "number", + "default": 2048, + "description": "The maximum number of tokens the model will generate in a single response.\n" + }, + "stop": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies four specific words or phrases that signal the model to stop producing more output.\n", + "example": [ + "hello", + "Hello", + "HELLO", + "hELLO" + ] + }, + "frequency_penalty": { + "type": "number", + "default": 0, + "description": "Adjusts the likelihood of the model repeating words or phrases in its output.\n" + }, + "presence_penalty": { + "type": "number", + "default": 0, + "description": "Influences the generation of new and varied concepts in the model's output.\n" + }, + "temperature": { + "type": "number", + "default": 0.7, + "description": "Controls the randomness of the model's output.\n" + }, + "top_p": { + "type": "number", + "default": 0.95, + "description": "Set probability threshold for more relevant outputs.\n" + } + } + }, + "ChatCompletionResponse": { + "type": "object", + "description": "Description of the response structure", + "properties": { + "choices": { + "type": "array", + "description": "Array of choice objects", + "items": { + "type": "object", + "properties": { + "finish_reason": { + "type": "string", + "nullable": true, + "example": null, + "description": "Reason for finishing the response, if applicable" + }, + "index": { + "type": "integer", + "example": 0, + "description": "Index of the choice" + }, + "message": { + "type": "object", + "properties": { + "content": { + "type": "string", + "example": "Hello user. What can I help you with?", + "description": "Content of the message" + }, + "role": { + "type": "string", + "example": "assistant", + "description": "Role of the sender" + } + } + } + } + } + }, + "created": { + "type": "integer", + "example": 1700193928, + "description": "Timestamp of when the response was created" + }, + "id": { + "type": "string", + "example": "ebwd2niJvJB1Q2Whyvkz", + "description": "Unique identifier of the response" + }, + "model": { + "type": "string", + "nullable": true, + "example": "_", + "description": "Model used for generating the response" + }, + "object": { + "type": "string", + "example": "chat.completion", + "description": "Type of the response object" + }, + "system_fingerprint": { + "type": "string", + "nullable": true, + "example": "_", + "description": "System fingerprint" + }, + "usage": { + "type": "object", + "description": "Information about the usage of tokens", + "properties": { + "completion_tokens": { + "type": "integer", + "example": 500, + "description": "Number of tokens used for completion" + }, + "prompt_tokens": { + "type": "integer", + "example": 33, + "description": "Number of tokens used in the prompt" + }, + "total_tokens": { + "type": "integer", + "example": 533, + "description": "Total number of tokens used" + } + } + } + } + }, + "AssistantObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's an assistant.", + "default": "assistant" + }, + "version": { + "type": "integer", + "description": "Version number of the assistant.", + "example": 1 + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the assistant.", + "example": 1698984975 + }, + "name": { + "type": "string", + "description": "Name of the assistant.", + "example": "Math Tutor" + }, + "description": { + "type": "string", + "description": "Description of the assistant. Can be null.", + "example": null + }, + "avatar": { + "type": "string", + "description": "URL of the assistant's avatar. Jan-specific property.", + "example": "https://pic.png" + }, + "models": { + "type": "array", + "description": "List of models associated with the assistant. Jan-specific property.", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string", + "example": "model_0" + } + } + } + }, + "instructions": { + "type": "string", + "description": "A system prompt for the assistant.", + "example": "Be concise" + }, + "events": { + "type": "object", + "description": "Event subscription settings for the assistant.", + "properties": { + "in": { + "type": "array", + "items": { + "type": "string" + } + }, + "out": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the assistant." + } + } + }, + "ListAssistantsResponse": { + "type": "object" + }, + "CreateAssistantResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's an assistant.", + "default": "assistant" + }, + "version": { + "type": "integer", + "description": "Version number of the assistant.", + "example": 1 + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the assistant.", + "example": 1698984975 + }, + "name": { + "type": "string", + "description": "Name of the assistant.", + "example": "Math Tutor" + }, + "description": { + "type": "string", + "description": "Description of the assistant. Can be null.", + "example": null + }, + "avatar": { + "type": "string", + "description": "URL of the assistant's avatar. Jan-specific property.", + "example": "https://pic.png" + }, + "models": { + "type": "array", + "description": "List of models associated with the assistant. Jan-specific property.", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string", + "example": "model_0" + } + } + } + }, + "instructions": { + "type": "string", + "description": "A system prompt for the assistant.", + "example": "Be concise" + }, + "events": { + "type": "object", + "description": "Event subscription settings for the assistant.", + "properties": { + "in": { + "type": "array", + "items": { + "type": "string" + } + }, + "out": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the assistant." + } + } + }, + "RetrieveAssistantResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's an assistant.", + "default": "assistant" + }, + "version": { + "type": "integer", + "description": "Version number of the assistant.", + "example": 1 + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the assistant.", + "example": 1698984975 + }, + "name": { + "type": "string", + "description": "Name of the assistant.", + "example": "Math Tutor" + }, + "description": { + "type": "string", + "description": "Description of the assistant. Can be null.", + "example": null + }, + "avatar": { + "type": "string", + "description": "URL of the assistant's avatar. Jan-specific property.", + "example": "https://pic.png" + }, + "models": { + "type": "array", + "description": "List of models associated with the assistant. Jan-specific property.", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string", + "example": "model_0" + } + } + } + }, + "instructions": { + "type": "string", + "description": "A system prompt for the assistant.", + "example": "Be concise" + }, + "events": { + "type": "object", + "description": "Event subscription settings for the assistant.", + "properties": { + "in": { + "type": "array", + "items": { + "type": "string" + } + }, + "out": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the assistant." + } + } + }, + "ModifyAssistantObject": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's an assistant.", + "default": "assistant" + }, + "version": { + "type": "integer", + "description": "Version number of the assistant.", + "example": 1 + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the assistant.", + "example": 1698984975 + }, + "name": { + "type": "string", + "description": "Name of the assistant.", + "example": "Math Tutor" + }, + "description": { + "type": "string", + "description": "Description of the assistant. Can be null.", + "example": null + }, + "avatar": { + "type": "string", + "description": "URL of the assistant's avatar. Jan-specific property.", + "example": "https://pic.png" + }, + "models": { + "type": "array", + "description": "List of models associated with the assistant. Jan-specific property.", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string", + "example": "model_0" + } + } + } + }, + "instructions": { + "type": "string", + "description": "A system prompt for the assistant.", + "example": "Be concise" + }, + "events": { + "type": "object", + "description": "Event subscription settings for the assistant.", + "properties": { + "in": { + "type": "array", + "items": { + "type": "string" + } + }, + "out": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the assistant." + } + } + }, + "ModifyAssistantResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating it's an assistant.", + "default": "assistant" + }, + "version": { + "type": "integer", + "description": "Version number of the assistant.", + "example": 1 + }, + "created_at": { + "type": "integer", + "format": "int64", + "description": "Unix timestamp representing the creation time of the assistant.", + "example": 1698984975 + }, + "name": { + "type": "string", + "description": "Name of the assistant.", + "example": "Physics Tutor" + }, + "description": { + "type": "string", + "description": "Description of the assistant. Can be null.", + "example": null + }, + "avatar": { + "type": "string", + "description": "URL of the assistant's avatar. Jan-specific property.", + "example": "https://pic.png" + }, + "models": { + "type": "array", + "description": "List of models associated with the assistant. Jan-specific property.", + "items": { + "type": "object", + "properties": { + "model_id": { + "type": "string", + "example": "model_0" + } + } + } + }, + "instructions": { + "type": "string", + "description": "A system prompt for the assistant.", + "example": "Be concise!" + }, + "events": { + "type": "object", + "description": "Event subscription settings for the assistant.", + "properties": { + "in": { + "type": "array", + "items": { + "type": "string" + } + }, + "out": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metadata": { + "type": "object", + "description": "Metadata associated with the assistant." + } + } + }, + "DeleteAssistantResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the deleted assistant.", + "example": "asst_abc123" + }, + "object": { + "type": "string", + "description": "Type of the object, indicating the assistant has been deleted.", + "example": "assistant.deleted" + }, + "deleted": { + "type": "boolean", + "description": "Indicates whether the assistant was successfully deleted.", + "example": true + } + } + } + } + } + } \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000..e4d048b6 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,9 @@ +# * +User-agent: * +Allow: / + +# Host +Host: https://jan.ai/ + +# Sitemaps +Sitemap: https://jan.ai/sitemap.xml diff --git a/public/sitemap-0.xml b/public/sitemap-0.xml new file mode 100644 index 00000000..9c573f9e --- /dev/null +++ b/public/sitemap-0.xml @@ -0,0 +1,83 @@ + + +https://jan.ai2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/acknowledgements2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/community2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/faq2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/analytics2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/engineering2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/engineering/ci-cd2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/engineering/qa2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/product-design2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/project-management2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/strategy2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/how-we-work/website-docs2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/teams2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/teams/contributor-program2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/teams/join-us2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/about/wall-of-love2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/api-reference2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/blog2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/changelog2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/architecture2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/file-based2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/assistants2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/chats2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/engine2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/files2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/fine-tuning2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/messages2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/models2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/prompts2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/engineering/threads2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product/chat2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product/hub2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product/jan2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product/settings2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/framework/product/system-monitor2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/install-and-prerequisites2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/developer/user-interface2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/advanced2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/assistants2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/desktop2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/extensions2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/groq2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/llamacpp2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/lmstudio2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/mistralai2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/ollama2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/openai2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/remote-server-integration2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/inferences/tensorrtllm2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations/discord2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations/interpreter2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations/raycast2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations/router2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/integrations/vscode2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/local-api2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/models2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/quickstart2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/server2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/threads2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/troubleshooting2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/docs/use-tools2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/download2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/post/bitdefender2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/agents-framework2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/api-server2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/data-security2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/extensions-framework2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/local2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/features/remote2024-04-01T16:45:21.739Zdaily1 +https://jan.ai/product/home-server2024-04-01T16:45:21.739Zdaily1 + \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 00000000..af0068d2 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,4 @@ + + +https://jan.ai/sitemap-0.xml + \ No newline at end of file diff --git a/redocly.yaml b/redocly.yaml deleted file mode 100644 index 3f07f9b9..00000000 --- a/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/sidebars.js b/sidebars.js deleted file mode 100644 index 335d2797..00000000 --- a/sidebars.js +++ /dev/null @@ -1,434 +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", - // temporary unpublish "about/vision", - "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: "category", - label: "Get Started", - collapsible: false, - className: "head_Menu", - items: [ - "guides/get-started/overview", - "guides/get-started/quickstart", - // { - // type: "category", - // label: "Hardware Setup", - // className: "head_SubMenu", - // link: { - // type: 'doc', - // id: "guides/get-started/hardware-setup", - // }, - // items: [ - // "guides/get-started/settingup-gpu", - // ] - // }, - // { - // type: "category", - // label: "Installation", - // className: "head_SubMenu", - // link: { - // type: 'doc', - // id: "guides/installation/README", - // }, - // items: [ - // "guides/installation/docker", - // "guides/installation/linux", - // "guides/installation/mac", - // "guides/installation/windows" - // ] - // }, - ] - }, - { - type: "category", - label: "User Guides", - collapsible: false, - className: "head_Menu", - items: [ - // "guides/user-guides/overview-guides", - // "guides/user-guides/jan-data-folder", - "guides/user-guides/manage-models", - "guides/user-guides/manage-assistants", - "guides/user-guides/manage-threads", - "guides/user-guides/use-tools", - "guides/user-guides/local-server", - "guides/user-guides/advanced-settings" - ] - }, - { - type: "category", - label: "Inference Engines", - collapsible: false, - className: "head_Menu", - items: [ - // "guides/inference/overview-inference", - { - type: "category", - label: "Local Engines", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/local-providers/README", - }, - items: [ - "guides/local-providers/llamacpp", - "guides/local-providers/tensorrt", - "guides/local-providers/lmstudio", - "guides/local-providers/ollama", - ] - }, - { - type: "category", - label: "Remote Engines", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/remote-providers/README", - }, - items: [ - // "guides/remote-providers/claude", - "guides/remote-providers/groq", - "guides/remote-providers/mistral", - "guides/remote-providers/openai", - "guides/remote-providers/remote-server-integration" - ] - }, - ] - }, - { - type: "category", - label: "Extensions", - collapsible: false, - className: "head_Menu", - items: [ - "guides/extensions/extensions", - ] - }, - { - type: "category", - label: "Integrations", - collapsible: false, - className: "head_Menu", - items: [ - // "guides/integrations/overview-integration", - { - type: "category", - label: "Integrations", - className: "head_SubMenu", - link: { - type: 'doc', - id: "guides/integrations/README", - }, - items: [ - // "guides/integrations/crewai", - "guides/integrations/discord", - "guides/integrations/interpreter", - "guides/integrations/raycast", - "guides/integrations/router", - // "guides/integrations/unsloth", - "guides/integrations/vscode" - ] - }, - ] - }, - { - type: "category", - label: "Troubleshooting", - collapsible: false, - className: "head_Menu", - items: [ - "guides/troubleshooting", - ] - }, - // { - // 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/src/components/APIReference/index.tsx b/src/components/APIReference/index.tsx new file mode 100644 index 00000000..98d80431 --- /dev/null +++ b/src/components/APIReference/index.tsx @@ -0,0 +1,35 @@ +'use client' + +import { ApiReferenceReact } from '@scalar/api-reference-react' +import { useTheme } from 'nextra-theme-docs' +import { useIsomorphicLayoutEffect } from '@/hooks/useIsomorphicLayoutEffect' + +export const APIReference = () => { + const { theme } = useTheme() + + useIsomorphicLayoutEffect(() => { + if (theme === 'dark' || theme === 'system') { + localStorage.setItem('isDark', 'true') + } else { + localStorage.setItem('isDark', 'false') + } + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [theme]) + + return ( + <> + + + ) +} + +export default APIReference diff --git a/src/components/Blog/index.tsx b/src/components/Blog/index.tsx new file mode 100644 index 00000000..6dd41f8a --- /dev/null +++ b/src/components/Blog/index.tsx @@ -0,0 +1,145 @@ +import { useData } from 'nextra/data' +import { format } from 'date-fns' +import { useRouter, useSearchParams } from 'next/navigation' + +import Link from 'next/link' +import { Cards } from 'nextra/components' +import { twMerge } from 'tailwind-merge' + +const Blog = () => { + const blogPost = useData() + const searchParams = useSearchParams() + const search = searchParams?.get('category') + const router = useRouter() + + const staticCategories = [ + { + name: 'Product Updates', + id: 'product-updates', + }, + { + name: 'Building Jan', + id: 'building-jan', + }, + { + name: 'Research', + id: 'research', + }, + ] + + return ( +
+
+

+ Blog +

+
+

+ The latest updates from Jan. See  + + Changelog + +  for more product updates. +

+
+ +
+
    +
  • { + router.push(`blog/`) + }} + className={twMerge( + 'cursor-pointer py-1 px-2 lg:px-3 rounded-full', + search === null && + 'dark:bg-blue-400 bg-blue-500 font-medium text-white' + )} + > +

    All Categories

    +
  • + {staticCategories.map((cat, i) => { + return ( +
  • { + router.push(`blog/?category=${cat.id}`) + }} + className={twMerge( + 'cursor-pointer py-1 px-2 lg:px-3 rounded-full', + cat.id === search && + 'dark:bg-blue-400 bg-blue-500 font-medium text-white' + )} + > +

    {cat.name}

    +
  • + ) + })} +
+
+ + + {blogPost + .filter((post: BlogPostsThumbnail) => { + if (search) { + return post.categories?.includes(String(search)) + } else { + return post + } + }) + .map((post: BlogPostsThumbnail, i: number) => { + return ( + +
+
+
+ {post.categories?.map((cat, i) => { + return ( +

+ {cat?.replaceAll('-', ' ')} +

+ ) + })} +

+ {format(String(post.date), 'MMMM do, yyyy')} +

+
+
+
+
+
+ {post.title} +
+

+ {post.description} +

+

+ Read more... +

+
+ + ) + })} +
+
+
+ ) +} + +export default Blog diff --git a/src/components/Changelog/index.tsx b/src/components/Changelog/index.tsx new file mode 100644 index 00000000..0e965314 --- /dev/null +++ b/src/components/Changelog/index.tsx @@ -0,0 +1,118 @@ +import { format } from 'date-fns' + +import { useData } from 'nextra/data' + +import Markdown from 'react-markdown' +import { useState } from 'react' +import { useBodyClass } from '@/hooks/useBodyClass' +import { useClickOutside } from '@/hooks/useClickOutside' +import { Cross2Icon } from '@radix-ui/react-icons' +import { twMerge } from 'tailwind-merge' + +const Changelog = () => { + const { releases } = useData() + const [detailChangelog, setDetailChangelog] = useState(null) + + useBodyClass(detailChangelog ? 'overflow-hidden' : 'overflow-y-scroll') + const refDialogContent = useClickOutside(() => setDetailChangelog(null)) + + return ( +
+
+
+

+ Changelog +

+
+

+ Latest release updates from the Jan team. Check out our  + + Roadmap + +  {`to see what's next.`} +

+
+
+
+ {releases?.map((log: Release, i: number) => { + return ( +
+
+

+ {format(log.published_at, 'MMMM do, yyyy')} +

+
+
{ + setDetailChangelog(log.tag_name) + }} + className="border-l dark:nx-border-neutral-800 w-full cursor-pointer" + key={i} + > +
+
+
+
+
+
{log.tag_name}
+

+ New release Jan App -{' '} + {format(log.published_at, 'MMMM do, yyyy')} +

+
+ +
+
+
+
+
+ ) + })} +
+
+ x.tag_name === detailChangelog)} + className={twMerge( + 'fixed bg-black/80 dark:bg-black/40 z-50 w-full top-0 left-0 h-screen py-8 px-4 lg:px-8 backdrop-blur-lg', + releases.some((x: any) => x.tag_name === detailChangelog) && 'flex' + )} + > +
+ setDetailChangelog(null)} + /> + {releases + .filter((x: any) => x.tag_name === detailChangelog) + .map((detail: any, i: number) => { + return ( +
+
{detail.tag_name}
+

+ New release Jan App -{' '} + {format(detail.published_at, 'MMMM do, yyyy')} +

+ + {detail.body} + +
+ ) + })} +
+
+
+ ) +} + +export default Changelog diff --git a/src/containers/DownloadApp/index.js b/src/components/Download/CardDownload.tsx similarity index 78% rename from src/containers/DownloadApp/index.js rename to src/components/Download/CardDownload.tsx index e3e5b6d4..83524ad7 100644 --- a/src/containers/DownloadApp/index.js +++ b/src/components/Download/CardDownload.tsx @@ -1,10 +1,22 @@ import React, { useState, useEffect } from 'react' -import axios from 'axios' +import { IconType } from 'react-icons/lib' import { FaWindows, FaApple, FaLinux } from 'react-icons/fa' import { twMerge } from 'tailwind-merge' import { DownloadIcon } from 'lucide-react' -const systemsTemplate = [ +type Props = { + lastRelease: any +} + +type SystemType = { + name: string + label: string + logo: IconType + fileFormat: string + href?: string +} + +const systemsTemplate: SystemType[] = [ { name: 'Mac M1, M2, M3', label: 'Apple Silicon', @@ -43,22 +55,10 @@ const groupTemnplate = [ { label: 'Linux', name: 'linux', logo: FaLinux }, ] -export default function DownloadApp() { +export default function CardDownload({ lastRelease }: Props) { 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 extractAppName = (fileName: string) => { const regex = /^(.*?)-(?:mac|win|linux)-(?:arm64|x64|amd64|x86_64)-.*$/ const match = fileName.match(regex) return match ? match[1] : null @@ -67,10 +67,8 @@ export default function DownloadApp() { 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 firstAssetName = lastRelease.assets[0].name const appname = extractAppName(firstAssetName) if (!appname) { @@ -83,9 +81,9 @@ export default function DownloadApp() { } // 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 tag = lastRelease.tag_name.startsWith('v') + ? lastRelease.tag_name.substring(1) + : lastRelease.tag_name const updatedSystems = systems.map((system) => { const downloadUrl = system.fileFormat @@ -93,7 +91,7 @@ export default function DownloadApp() { .replace('{tag}', tag) return { ...system, - href: `https://github.com/janhq/jan/releases/download/${releaseInfo.tag_name}/${downloadUrl}`, + href: `https://github.com/janhq/jan/releases/download/${lastRelease.tag_name}/${downloadUrl}`, } }) @@ -104,9 +102,10 @@ export default function DownloadApp() { } updateDownloadLinks() + // eslint-disable-next-line react-hooks/exhaustive-deps }, []) - const renderDownloadLink = (group) => { + const renderDownloadLink = (group: string) => { return ( <> {systems @@ -119,8 +118,7 @@ export default function DownloadApp() { {system.label} @@ -143,7 +141,7 @@ export default function DownloadApp() { >
-
+
{item.label}
diff --git a/src/components/Download/index.tsx b/src/components/Download/index.tsx new file mode 100644 index 00000000..ef7d6224 --- /dev/null +++ b/src/components/Download/index.tsx @@ -0,0 +1,37 @@ +import { useData } from 'nextra/data' +import CardDownload from './CardDownload' + +const Download = () => { + const { lastRelease } = useData() + return ( +
+ ) +} + +export default Download diff --git a/src/components/DropdownDownload/index.tsx b/src/components/DropdownDownload/index.tsx new file mode 100644 index 00000000..a574c1d0 --- /dev/null +++ b/src/components/DropdownDownload/index.tsx @@ -0,0 +1,154 @@ +import { useEffect, useState } from 'react' +import { FaWindows, FaApple, FaLinux } from 'react-icons/fa' +import { IconType } from 'react-icons/lib' +import { IoChevronDownOutline } from 'react-icons/io5' +import { useClickOutside } from '@/hooks/useClickOutside' +import { twMerge } from 'tailwind-merge' + +type Props = { + lastRelease: any +} + +type SystemType = { + name: string + logo: IconType + fileFormat: string + href?: string +} + +const systemsTemplate: SystemType[] = [ + { + 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', + }, +] + +const extractAppName = (fileName: string) => { + const regex = /^(.*?)-(?:mac|win|linux)-(?:arm64|x64|x86_64|amd64)-.*$/ + const match = fileName.match(regex) + return match ? match[1] : null +} + +const DropdownDownload = ({ lastRelease }: Props) => { + const [systems, setSystems] = useState(systemsTemplate) + const [defaultSystem, setDefaultSystem] = useState(systems[0]) + const [open, setOpen] = useState(false) + + const changeDefaultSystem = async (systems: SystemType[]) => { + 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 firstAssetName = await lastRelease.assets[0]?.name + const appname = extractAppName(firstAssetName) + if (!appname) { + console.error( + 'Failed to extract appname from file name:', + firstAssetName + ) + changeDefaultSystem(systems) + return + } + const tag = lastRelease.tag_name.startsWith('v') + ? lastRelease.tag_name.substring(1) + : lastRelease.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/${lastRelease.tag_name}/${downloadUrl}`, + } + }) + setSystems(updatedSystems) + changeDefaultSystem(updatedSystems) + } catch (error) { + console.error('Failed to update download links:', error) + } + } + + updateDownloadLinks() + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) + + const [menu, setMenu] = useState(null) + + const [refDropdownContent, setRefDropdownContent] = + useState(null) + useClickOutside(() => setOpen(false), null, [menu, refDropdownContent]) + + return ( +
+ + + {open && ( +
+ {systems.map((system) => ( + + ))} +
+ )} +
+ ) +} + +export default DropdownDownload diff --git a/src/components/FaqBox/index.tsx b/src/components/FaqBox/index.tsx new file mode 100644 index 00000000..3e561d8b --- /dev/null +++ b/src/components/FaqBox/index.tsx @@ -0,0 +1,21 @@ +import React, { PropsWithChildren } from 'react' + +type Props = { + title: string +} & PropsWithChildren + +const FAQBox = ({ title, children }: Props) => { + return ( +
+ + {title} + +
{children}
+
+ ) +} + +export default FAQBox diff --git a/src/components/FooterMenu/index.tsx b/src/components/FooterMenu/index.tsx new file mode 100644 index 00000000..0facb597 --- /dev/null +++ b/src/components/FooterMenu/index.tsx @@ -0,0 +1,251 @@ +import React, { useState } from 'react' + +import { AiOutlineGithub, AiOutlineTwitter } from 'react-icons/ai' +import { BiLogoDiscordAlt } from 'react-icons/bi' +import { useForm } from 'react-hook-form' +import LogoMark from '@/components/LogoMark' +import { FaLinkedin } from 'react-icons/fa' + +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: 'Product', + child: [ + { + menu: 'Download', + path: '/download', + }, + { + menu: 'Changelog', + path: '/changelog', + }, + ], + }, + { + name: 'For Developers', + child: [ + { + menu: 'Guides', + path: '/guides', + }, + { + menu: 'Product', + path: '/product', + }, + { + menu: 'API Reference', + path: '/api-reference', + }, + ], + }, + { + 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, + }, + ], + }, +] + +const getCurrentYear = new Date().getFullYear() + +export default function Footer() { + const { register, handleSubmit, reset } = useForm({ + defaultValues: { + email: '', + }, + }) + + const [formMessage, setFormMessage] = useState('') + + const onSubmit = (data: { email: string }) => { + const { email } = data + const options = { + method: 'POST', + + body: JSON.stringify({ + updateEnabled: false, + email, + listIds: [13], + }), + } + + if (email) { + fetch('https://brevo.jan.ai/', options) + .then((response) => response.json()) + .then((response) => { + if (response.id) { + setFormMessage('You have successfully joined our newsletter') + } else { + setFormMessage(response.message) + } + reset() + setTimeout(() => { + setFormMessage('') + }, 5000) + }) + .catch((err) => console.error(err)) + } + } + + return ( +
+
+
+
+ +

+ Jan +

+
+
+
+ The Soul of a New Machine +
+

+ Subscribe to our newsletter on AI  +
+ research and building Jan: +

+ +
+
+ + +
+ {formMessage &&

{formMessage}

} +
+
+
+ {menus.map((menu, i) => { + return ( +
+

+ {menu.name} +

+ +
+ ) + })} +
+
+
+ ©{getCurrentYear} Jan AI Pte Ltd. +
+ {socials.map((social, i) => { + return ( + + {social.icon} + + ) + })} +
+
+
+
+ ) +} diff --git a/src/components/Home/APIStructure/index.tsx b/src/components/Home/APIStructure/index.tsx new file mode 100644 index 00000000..cbbc71bd --- /dev/null +++ b/src/components/Home/APIStructure/index.tsx @@ -0,0 +1,100 @@ +import React from 'react' +import { BsArrowRight } from 'react-icons/bs' + +const endpoints = [ + { + name: '/threads', + status: '100% complete', + }, + { + name: '/messages', + status: '100% complete', + }, + { + name: '/models', + status: '90% complete', + }, + { + name: '/chat/completions', + status: '70% complete', + }, + { + name: '/assistants', + status: '30% complete', + }, + { + name: '/fine-tuning', + status: 'comming soon', + }, + { + name: '/files', + status: 'comming soon', + }, + { + name: '/...', + status: 'comming soon', + }, +] + +const renderDot = (status: string) => { + switch (status) { + case 'comming soon': + return
+ + case '100% complete': + return
+ + default: + return
+ } +} + +const APIStructure = () => { + return ( +
+
+

+ Fully OpenAI-Equivalent API +

+
+

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

+
+
+ +
+ {endpoints.map((item, i) => { + return ( +
+
+ {renderDot(item.status)} +
{item.name}
+
+

{item.status}

+
+ ) + })} +
+
+ ) +} + +export default APIStructure diff --git a/src/components/Home/BuiltWithLove/index.tsx b/src/components/Home/BuiltWithLove/index.tsx new file mode 100644 index 00000000..f196f7b4 --- /dev/null +++ b/src/components/Home/BuiltWithLove/index.tsx @@ -0,0 +1,141 @@ +import { IoMapOutline } from 'react-icons/io5' +import { FaGithub, FaDiscord } from 'react-icons/fa' +import { RiStarSFill } from 'react-icons/ri' +import { useDiscordWidget } from '@/hooks/useDiscordWidget' +import { useData } from 'nextra/data' + +const BuiltWithLove = () => { + const { data: discordWidget } = useDiscordWidget() + const { stars } = useData() + + return ( +
+ + ) +} + +export default BuiltWithLove diff --git a/src/components/Home/CTADownload/index.tsx b/src/components/Home/CTADownload/index.tsx new file mode 100644 index 00000000..9db94947 --- /dev/null +++ b/src/components/Home/CTADownload/index.tsx @@ -0,0 +1,31 @@ +import DropdownDownload from '@/components/DropdownDownload' +import { useData } from 'nextra/data' + +const CTADownload = () => { + const { lastRelease } = useData() + + return ( +
+
+
+
+

+ Turn your computer
into an AI + computer +

+
+
+
+ +
+

+ 600K+ Downloads | Free & Open Source +

+
+
+
+
+ ) +} + +export default CTADownload diff --git a/src/components/Home/CTANewsletter/index.tsx b/src/components/Home/CTANewsletter/index.tsx new file mode 100644 index 00000000..711ae95a --- /dev/null +++ b/src/components/Home/CTANewsletter/index.tsx @@ -0,0 +1,93 @@ +import { useForm } from 'react-hook-form' +import ThemeImage from '@/components/ThemeImage' +import { useState } from 'react' + +const CTANewsletter = () => { + const { register, handleSubmit, reset } = useForm({ + defaultValues: { + email: '', + }, + }) + + const [formMessage, setFormMessage] = useState('') + + const onSubmit = (data: { email: string }) => { + const { email } = data + const options = { + method: 'POST', + + body: JSON.stringify({ + updateEnabled: false, + email, + listIds: [13], + }), + } + + if (email) { + fetch('https://brevo.jan.ai/', options) + .then((response) => response.json()) + .then((response) => { + if (response.id) { + setFormMessage('You have successfully joined our newsletter') + } else { + setFormMessage(response.message) + } + reset() + setTimeout(() => { + setFormMessage('') + }, 5000) + }) + .catch((err) => console.error(err)) + } + } + + return ( +
+
+
+
+
+ +

+ The Soul of a New Machine +

+

+ Follow our AI research and journey in building Jan +

+ +
+
+ + +
+ {formMessage &&

{formMessage}

} +
+
+
+
+
+
+ ) +} + +export default CTANewsletter diff --git a/src/components/Home/Feature/index.tsx b/src/components/Home/Feature/index.tsx new file mode 100644 index 00000000..0d31d891 --- /dev/null +++ b/src/components/Home/Feature/index.tsx @@ -0,0 +1,165 @@ +import ThemeImage from '@/components/ThemeImage' +import { useState } from 'react' +// import { BsArrowRight } from 'react-icons/bs' +import { twMerge } from 'tailwind-merge' + +const features = [ + { + title: 'Local', + description: + 'Run AI models like Llama or Mistral directly on your device for enhanced privacy. No need for an internet connection- keep all your data and processing locally.', + }, + { + title: 'Remote API', + description: `Connect to remote APIs, like ChatGPT, Gemini, or Claude. Access AI capabilities without needing advanced hardware, with all processing handled in the cloud.`, + }, + { + title: '100% offline', + description: `Conversations, preferences, and model usage stay on your computer. It's secure, exportable, and can be deleted at any time.`, + }, + { + title: 'Cross Platform', + description: `Jan is optimized for any device, from PCs to multi-GPU clusters. It's fast on NVIDIA GPUs and Apple M-series, supporting Apple Intel, Linux Debian, and Windows x64.`, + }, + { + title: 'Extensions', + description: `Customize Jan with Extensions to meet your specific needs, enhancing your AI experience to be uniquely yours.`, + }, +] + +const Feature = () => { + const [activeFeature, setActiveFeature] = useState(0) + + return ( + <> +
+
+
+
+

+ Features +

+
+
+ {/* Temporary hidden since doesn't have docs for feature */} + {/* + View Our Features + */} +
+
+ +
+
+ {features.map((feature, i) => { + const isActive = activeFeature === i + return ( +
setActiveFeature(i)} + > +
+

+ 0{i + 1} +

+
+
{feature.title}
+

+ {feature.description} +

+
+
+
+ ) + })} +
+ +
+ {activeFeature === 0 && ( + + )} + {activeFeature === 1 && ( + + )} + {activeFeature === 2 && ( + + )} + {activeFeature === 3 && ( + + )} + {activeFeature === 4 && ( + + )} +
+
+
+
+ + ) +} + +export default Feature diff --git a/src/components/Home/Hero/index.tsx b/src/components/Home/Hero/index.tsx new file mode 100644 index 00000000..980d2448 --- /dev/null +++ b/src/components/Home/Hero/index.tsx @@ -0,0 +1,71 @@ +import DropdownDownload from '@/components/DropdownDownload' +import ThemeImage from '@/components/ThemeImage' +import Link from 'next/link' +import { useData } from 'nextra/data' +import { useEffect, useState } from 'react' + +const Hero = () => { + const { lastVersion, lastRelease } = useData() + const [isChrome, setIsChrome] = useState(false) + useEffect(() => { + if (navigator.userAgent.includes('Chrome')) { + setIsChrome(true) + } + }, []) + + return ( +
+
+ +
+
+ new +
+  ✨  {lastVersion} is now live on + GitHub. Check it out! +
+ +

+ Rethink the Computer +

+

+ Turn your computer into an AI machine +

+
+ {isChrome ? ( + + ) : ( + + Download Jan for PC + + )} +
+

+ 600K+ Downloads | Free & Open Source +

+
+ +
+
+
+ ) +} + +export default Hero diff --git a/src/components/Home/Principles/index.tsx b/src/components/Home/Principles/index.tsx new file mode 100644 index 00000000..7d3bb8aa --- /dev/null +++ b/src/components/Home/Principles/index.tsx @@ -0,0 +1,293 @@ +import LogoMark from '@/components/LogoMark' + +const Principles = () => { + return ( +
+
+
+

+ Our Principles +

+

+ Jan is opinionated software on what AI should be + + + + + + + + + + + + + + + + + + + +

+
+
+ + + + + + + + +
Local-first
+

+ {`We believe your conversations and files should remain yours + alone. That's why we prioritize local-first AI, running + open-source models directly on your computer.`} +

+
+
+ + + + + + + + + + + + + + +
User-owned
+

+ Your data, your rules. Jan stores everything on your device in + universal formats, giving you total freedom to move your data + without tricks or traps. +

+
+
+ + + + + + + + + + + + + + + + + + + + +
+ Fully Customizable +
+

+ You can endlessly customize the experience with 3rd party + extensions. You can adjust alignment, moderation, and censorship + levels to your needs. +

+
+
+
+
+
+ ) +} + +export default Principles diff --git a/src/components/Home/Statistic/index.tsx b/src/components/Home/Statistic/index.tsx new file mode 100644 index 00000000..5d059e08 --- /dev/null +++ b/src/components/Home/Statistic/index.tsx @@ -0,0 +1,50 @@ +import ThemeImage from '@/components/ThemeImage' + +const Statistic = () => { + return ( +
+
+
+
+
+

13

+

+ Core team +

+
+
+

39+

+

+ Contributors +

+
+
+

2416+

+

+ Pull Requests +

+
+
+

600K+

+

+ Downloads +

+
+
+
+ +
+
+ ) +} + +export default Statistic diff --git a/src/components/Home/WallOfLove/ArrowButton.tsx b/src/components/Home/WallOfLove/ArrowButton.tsx new file mode 100644 index 00000000..83d6d6b4 --- /dev/null +++ b/src/components/Home/WallOfLove/ArrowButton.tsx @@ -0,0 +1,98 @@ +import React, { + PropsWithChildren, + useCallback, + useEffect, + useState, +} from 'react' +import { EmblaCarouselType } from 'embla-carousel' + +type UsePrevNextButtonsType = { + prevBtnDisabled: boolean + nextBtnDisabled: boolean + onPrevButtonClick: () => void + onNextButtonClick: () => void +} + +export const usePrevNextButtons = ( + emblaApi: EmblaCarouselType | undefined +): UsePrevNextButtonsType => { + const [prevBtnDisabled, setPrevBtnDisabled] = useState(true) + const [nextBtnDisabled, setNextBtnDisabled] = useState(true) + + const onPrevButtonClick = useCallback(() => { + if (!emblaApi) return + emblaApi.scrollPrev() + }, [emblaApi]) + + const onNextButtonClick = useCallback(() => { + if (!emblaApi) return + emblaApi.scrollNext() + }, [emblaApi]) + + const onSelect = useCallback((emblaApi: EmblaCarouselType) => { + setPrevBtnDisabled(!emblaApi.canScrollPrev()) + setNextBtnDisabled(!emblaApi.canScrollNext()) + }, []) + + useEffect(() => { + if (!emblaApi) return + + onSelect(emblaApi) + emblaApi.on('reInit', onSelect) + emblaApi.on('select', onSelect) + }, [emblaApi, onSelect]) + + return { + prevBtnDisabled, + nextBtnDisabled, + onPrevButtonClick, + onNextButtonClick, + } +} + +type PropType = PropsWithChildren< + React.DetailedHTMLProps< + React.ButtonHTMLAttributes, + HTMLButtonElement + > +> + +export const PrevButton: React.FC = (props) => { + const { children, ...restProps } = props + + return ( + + ) +} + +export const NextButton: React.FC = (props) => { + const { children, ...restProps } = props + + return ( + + ) +} diff --git a/src/components/Home/WallOfLove/ArrowButtonMobile.tsx b/src/components/Home/WallOfLove/ArrowButtonMobile.tsx new file mode 100644 index 00000000..df9f7935 --- /dev/null +++ b/src/components/Home/WallOfLove/ArrowButtonMobile.tsx @@ -0,0 +1,97 @@ +import React, { + PropsWithChildren, + useCallback, + useEffect, + useState, +} from 'react' +import { EmblaCarouselType } from 'embla-carousel' + +type UsePrevNextButtonsType = { + prevBtnDisabled: boolean + nextBtnDisabled: boolean + onPrevButtonClick: () => void + onNextButtonClick: () => void +} + +export const usePrevNextButtons = ( + emblaApiMobile: EmblaCarouselType | undefined +): UsePrevNextButtonsType => { + const [prevBtnDisabled, setPrevBtnDisabled] = useState(true) + const [nextBtnDisabled, setNextBtnDisabled] = useState(true) + + const onPrevButtonClick = useCallback(() => { + if (!emblaApiMobile) return + emblaApiMobile.scrollPrev() + }, [emblaApiMobile]) + + const onNextButtonClick = useCallback(() => { + if (!emblaApiMobile) return + emblaApiMobile.scrollNext() + }, [emblaApiMobile]) + + const onSelect = useCallback((emblaApiMobile: EmblaCarouselType) => { + setPrevBtnDisabled(!emblaApiMobile.canScrollPrev()) + setNextBtnDisabled(!emblaApiMobile.canScrollNext()) + }, []) + + useEffect(() => { + if (!emblaApiMobile) return + onSelect(emblaApiMobile) + emblaApiMobile.on('reInit', onSelect) + emblaApiMobile.on('select', onSelect) + }, [emblaApiMobile, onSelect]) + + return { + prevBtnDisabled, + nextBtnDisabled, + onPrevButtonClick, + onNextButtonClick, + } +} + +type PropType = PropsWithChildren< + React.DetailedHTMLProps< + React.ButtonHTMLAttributes, + HTMLButtonElement + > +> + +export const PrevButton: React.FC = (props) => { + const { children, ...restProps } = props + + return ( + + ) +} + +export const NextButton: React.FC = (props) => { + const { children, ...restProps } = props + + return ( + + ) +} diff --git a/src/components/Home/WallOfLove/SliderMobile.tsx b/src/components/Home/WallOfLove/SliderMobile.tsx new file mode 100644 index 00000000..10d4fdd8 --- /dev/null +++ b/src/components/Home/WallOfLove/SliderMobile.tsx @@ -0,0 +1,120 @@ +import Autoplay from 'embla-carousel-autoplay' +import AutoScroll from 'embla-carousel-auto-scroll' +import AutoHeight from 'embla-carousel-auto-height' +import useEmblaCarousel from 'embla-carousel-react' +import { PrevButton, NextButton, usePrevNextButtons } from './ArrowButtonMobile' +import { Tweet } from 'react-tweet' + +const slideForMobile = [ + { + type: 'tweet', + id: '1742843063938994469', + }, + { + type: 'youtube', + id: 'zkafOIyQM8s', + }, + + { + type: 'youtube', + id: 'QpMQgJL4AZA', + }, + { + type: 'tweet', + id: '1744729548074459310', + }, + { + type: 'youtube', + id: '7JpzE-_cKo4', + }, + { + type: 'tweet', + id: '1757504717519749292', + }, + { + type: 'youtube', + id: 'ZCiEQVOjH5U', + }, + { + type: 'tweet', + id: '1757500111629025788', + }, + { + type: 'tweet', + id: '1742993414986068423', + }, + { + type: 'youtube', + id: '9ta2S425Zu8', + }, + + { + type: 'youtube', + id: 'ES021_sY6WQ', + }, + { + type: 'youtube', + id: 'CbJGxNmdWws', + }, +] + +const SliderMobile = () => { + const [emblaRefMobile, emblaApiMobile] = useEmblaCarousel( + { slidesToScroll: 'auto', loop: true }, + [AutoHeight(), Autoplay(), AutoScroll({ playOnInit: false })] + ) + + const { + prevBtnDisabled, + nextBtnDisabled, + onPrevButtonClick, + onNextButtonClick, + } = usePrevNextButtons(emblaApiMobile) + + return ( + <> +
+
+ + +
+
+
+
+ {slideForMobile.map((item, i) => { + return ( +
+ <> + {item.type === 'tweet' && ( +
+ +
+ )} + {item.type === 'youtube' && ( +
+