jan/app/public/icons/ic_on_device_ai.svg
Louis 20dbc02c03
Refactor Jan into an Electron app (#175)
* hackathon: Refactor Jan into an Electron app

* chore: correct NextJS export output path

* chore: build electron app for all production targets

* fix: correct assetPrefix for production build

* chore: preferences shortcut

* chore: refactor

* chore: refactor into ts

* feature/#52-compile-plugin-with-webpack

* chore: introduce renderer <=> plugins <=> main invocation

* chore: suppress errors - deprecate graphql & next-auth

* chore: data plugin functions

* add llm support

Signed-off-by: James <james@jan.ai>

* chore: update plugin

* chore: introduce data-plugin

* chore: plugin invokes main with args and synchronously

* chore: install db plugin should setup db

* feature: Data Driver Plugin - Load conversations and messages from data plugin

* chore: store text message sent

* chore: shared core services

* feature: inference service

* chore: conversations ordering

* adding model management service

Signed-off-by: James <james@jan.ai>

* chore: strict type

* feature: abstract plugin preferences

* chore: abstract plugin preference

* Revert "chore: strict type"

This reverts commit 9be188d827a0b2e081e9e04b192c323799de5bb5.

* chore: base-plugin styling

* feature: create and delete conversation

* chore: fix plugin search & clean messages

* chore: typing indicator

* chore: refactor useSendChatMessage

* chore: persists inserted id to in-memory messages

* chore: search conversation history

* add delete and download model (#189)

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>

* chore: add empty state for conversation list

* chore: prompt missing extension function & fix app crashes

* chore: prompt user to install required plugins

* chore: add launch background

* chore: relaunch app on model downloaded

* Jan app add installation instruction (#191)

Co-authored-by: Hien To <>

* Chore: rename folder web-client to app (#192)

* Chore: rename folder web-client to app
---------

Co-authored-by: Hien To <>

* revert: add pre-install package

* add progress for downloading model

Signed-off-by: James <james@jan.ai>

* feature: production bundle

* add download progress

Signed-off-by: James <james@jan.ai>

* chore: add new chat function

* fix: electron asar unpack modules & dynamic import

* chore: fix unpack

* chore: fix dev pack

* Add instruction to build dmg file to README.md

* init model dynamically

Signed-off-by: James <james@jan.ai>

---------

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
Co-authored-by: NamH <NamNh0122@gmail.com>
Co-authored-by: hiento09 <136591877+hiento09@users.noreply.github.com>
Co-authored-by: Hien To <>
2023-09-24 20:42:58 -07:00

60 lines
4.6 KiB
XML

<svg width="83" height="83" viewBox="0 0 83 83" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="41.5" cy="41.75" r="41" fill="white"/>
<g clip-path="url(#clip0_276_5075)">
<rect x="35.4233" y="17.833" width="35.2193" height="40.4057" rx="6" transform="rotate(23.2955 35.4233 17.833)" fill="url(#paint0_linear_276_5075)"/>
<g filter="url(#filter0_d_276_5075)">
<g filter="url(#filter1_b_276_5075)">
<path d="M32.3333 18.9453C30.665 18.9453 29.3125 20.2978 29.3125 21.9661V61.8411C29.3125 63.5095 30.665 64.862 32.3333 64.862H51.6667C53.335 64.862 54.6875 63.5095 54.6875 61.8411V21.9661C54.6875 20.2978 53.335 18.9453 51.6667 18.9453H32.3333ZM32.3333 15.3203H51.6667C55.3371 15.3203 58.3125 18.2958 58.3125 21.9661V61.8411C58.3125 65.5115 55.3371 68.487 51.6667 68.487H32.3333C28.6629 68.487 25.6875 65.5115 25.6875 61.8411V21.9661C25.6875 18.2958 28.6629 15.3203 32.3333 15.3203ZM35.9583 17.1328H48.0417C48.709 17.1328 49.25 17.6738 49.25 18.3411V20.7578C49.25 21.4252 48.709 21.9661 48.0417 21.9661H35.9583C35.291 21.9661 34.75 21.4252 34.75 20.7578V18.3411C34.75 17.6738 35.291 17.1328 35.9583 17.1328Z" fill="#FE3E3E" fill-opacity="0.35"/>
</g>
<g filter="url(#filter2_bd_276_5075)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.3333 18.9453C30.665 18.9453 29.3125 20.2978 29.3125 21.9661V61.8411C29.3125 63.5095 30.665 64.862 32.3333 64.862H51.6667C53.335 64.862 54.6875 63.5095 54.6875 61.8411V21.9661C54.6875 20.2978 53.335 18.9453 51.6667 18.9453H32.3333Z" fill="url(#paint1_linear_276_5075)"/>
<path d="M29.4125 21.9661C29.4125 20.353 30.7202 19.0453 32.3333 19.0453H51.6667C53.2798 19.0453 54.5875 20.353 54.5875 21.9661V61.8411C54.5875 63.4543 53.2798 64.762 51.6667 64.762H32.3333C30.7202 64.762 29.4125 63.4543 29.4125 61.8411V21.9661Z" stroke="url(#paint2_linear_276_5075)" stroke-opacity="0.5" stroke-width="0.2"/>
</g>
</g>
</g>
<defs>
<filter id="filter0_d_276_5075" x="1.6875" y="-4.67969" width="80.625" height="101.167" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="4"/>
<feGaussianBlur stdDeviation="12"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.958333 0 0 0 0 0.175694 0 0 0 0 0.175694 0 0 0 0.04 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_276_5075"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_276_5075" result="shape"/>
</filter>
<filter id="filter1_b_276_5075" x="1.6875" y="-8.67969" width="80.625" height="101.167" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="12"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_276_5075"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_276_5075" result="shape"/>
</filter>
<filter id="filter2_bd_276_5075" x="14.3125" y="3.94531" width="55.375" height="75.917" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="7.5"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_276_5075"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="5" dy="5"/>
<feGaussianBlur stdDeviation="5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.9 0 0 0 0 0.15375 0 0 0 0 0.15375 0 0 0 0.5 0"/>
<feBlend mode="normal" in2="effect1_backgroundBlur_276_5075" result="effect2_dropShadow_276_5075"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_276_5075" result="shape"/>
</filter>
<linearGradient id="paint0_linear_276_5075" x1="64.4431" y1="34.4444" x2="56.3205" y2="18.0439" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFA78F"/>
<stop offset="1" stop-color="#F23E2C"/>
</linearGradient>
<linearGradient id="paint1_linear_276_5075" x1="49.54" y1="26.0503" x2="26.7968" y2="29.6879" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="white" stop-opacity="0.2"/>
</linearGradient>
<linearGradient id="paint2_linear_276_5075" x1="32.0459" y1="34.3481" x2="53.5933" y2="34.4139" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_276_5075">
<rect width="58" height="58" fill="white" transform="translate(13 13)"/>
</clipPath>
</defs>
</svg>