forked from open-webui/open-webui
		
	feat: about section added
This commit is contained in:
		
							parent
							
								
									d2cb2ed9c0
								
							
						
					
					
						commit
						7a5a29de30
					
				
					 2 changed files with 159 additions and 94 deletions
				
			
		
							
								
								
									
										13
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
										
									
									
									
								
							|  | @ -1,5 +1,14 @@ | ||||||
| # Ollama Web UI: A User-Friendly Web Interface for Chat Interactions 👋 | # Ollama Web UI: A User-Friendly Web Interface for Chat Interactions 👋 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 
 | ||||||
| ChatGPT-Style Web Interface for Ollama 🦙 | ChatGPT-Style Web Interface for Ollama 🦙 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -177,7 +186,9 @@ This project is licensed under the [MIT License](LICENSE) - see the [LICENSE](LI | ||||||
| 
 | 
 | ||||||
| ## Support 💬 | ## Support 💬 | ||||||
| 
 | 
 | ||||||
| If you have any questions, suggestions, or need assistance, please open an issue or join our [Discord community](https://discord.gg/ollama) to connect with us! 🤝 | If you have any questions, suggestions, or need assistance, please open an issue or join our | ||||||
|  | [Ollama Web UI Discord community](https://discord.gg/stz8SsUDcF) or | ||||||
|  | [Ollama Discord community](https://discord.gg/ollama) to connect with us! 🤝 | ||||||
| 
 | 
 | ||||||
| --- | --- | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -338,6 +338,32 @@ | ||||||
| 					</div> | 					</div> | ||||||
| 					<div class=" self-center">Add-ons</div> | 					<div class=" self-center">Add-ons</div> | ||||||
| 				</button> | 				</button> | ||||||
|  | 
 | ||||||
|  | 				<button | ||||||
|  | 					class="px-2.5 py-2.5 min-w-fit rounded-lg flex-1 md:flex-none flex text-right transition {selectedTab === | ||||||
|  | 					'about' | ||||||
|  | 						? 'bg-gray-200 dark:bg-gray-700' | ||||||
|  | 						: ' hover:bg-gray-300 dark:hover:bg-gray-800'}" | ||||||
|  | 					on:click={() => { | ||||||
|  | 						selectedTab = 'about'; | ||||||
|  | 					}} | ||||||
|  | 				> | ||||||
|  | 					<div class=" self-center mr-2"> | ||||||
|  | 						<svg | ||||||
|  | 							xmlns="http://www.w3.org/2000/svg" | ||||||
|  | 							viewBox="0 0 20 20" | ||||||
|  | 							fill="currentColor" | ||||||
|  | 							class="w-4 h-4" | ||||||
|  | 						> | ||||||
|  | 							<path | ||||||
|  | 								fill-rule="evenodd" | ||||||
|  | 								d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z" | ||||||
|  | 								clip-rule="evenodd" | ||||||
|  | 							/> | ||||||
|  | 						</svg> | ||||||
|  | 					</div> | ||||||
|  | 					<div class=" self-center">About</div> | ||||||
|  | 				</button> | ||||||
| 			</div> | 			</div> | ||||||
| 			<div class="flex-1 md:min-h-[300px]"> | 			<div class="flex-1 md:min-h-[300px]"> | ||||||
| 				{#if selectedTab === 'general'} | 				{#if selectedTab === 'general'} | ||||||
|  | @ -453,99 +479,6 @@ | ||||||
| 							</button> | 							</button> | ||||||
| 						</div> | 						</div> | ||||||
| 					</div> | 					</div> | ||||||
| 				{:else if selectedTab === 'models'} |  | ||||||
| 					<div class="flex flex-col space-y-3 text-sm mb-10"> |  | ||||||
| 						<div> |  | ||||||
| 							<div class=" mb-2.5 text-sm font-medium">Pull a model</div> |  | ||||||
| 							<div class="flex w-full"> |  | ||||||
| 								<div class="flex-1 mr-2"> |  | ||||||
| 									<input |  | ||||||
| 										class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" |  | ||||||
| 										placeholder="Enter model tag (e.g. mistral:7b)" |  | ||||||
| 										bind:value={modelTag} |  | ||||||
| 									/> |  | ||||||
| 								</div> |  | ||||||
| 								<button |  | ||||||
| 									class="px-3 text-gray-100 bg-emerald-600 hover:bg-emerald-700 rounded transition" |  | ||||||
| 									on:click={() => { |  | ||||||
| 										pullModelHandler(); |  | ||||||
| 									}} |  | ||||||
| 								> |  | ||||||
| 									<svg |  | ||||||
| 										xmlns="http://www.w3.org/2000/svg" |  | ||||||
| 										viewBox="0 0 20 20" |  | ||||||
| 										fill="currentColor" |  | ||||||
| 										class="w-4 h-4" |  | ||||||
| 									> |  | ||||||
| 										<path |  | ||||||
| 											d="M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z" |  | ||||||
| 										/> |  | ||||||
| 										<path |  | ||||||
| 											d="M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z" |  | ||||||
| 										/> |  | ||||||
| 									</svg> |  | ||||||
| 								</button> |  | ||||||
| 							</div> |  | ||||||
| 
 |  | ||||||
| 							<div class="mt-2 text-xs text-gray-400 dark:text-gray-500"> |  | ||||||
| 								To access the available model names for downloading, <a |  | ||||||
| 									class=" text-gray-500 dark:text-gray-300 font-medium" |  | ||||||
| 									href="https://ollama.ai/library" |  | ||||||
| 									target="_blank">click here.</a |  | ||||||
| 								> |  | ||||||
| 							</div> |  | ||||||
| 
 |  | ||||||
| 							{#if pullProgress !== null} |  | ||||||
| 								<div class="mt-2"> |  | ||||||
| 									<div class=" mb-2 text-xs">Pull Progress</div> |  | ||||||
| 									<div class="w-full rounded-full dark:bg-gray-800"> |  | ||||||
| 										<div |  | ||||||
| 											class="dark:bg-gray-600 text-xs font-medium text-blue-100 text-center p-0.5 leading-none rounded-full" |  | ||||||
| 											style="width: {Math.max(15, pullProgress ?? 0)}%" |  | ||||||
| 										> |  | ||||||
| 											{pullProgress ?? 0}% |  | ||||||
| 										</div> |  | ||||||
| 									</div> |  | ||||||
| 									<div class="mt-1 text-xs dark:text-gray-700" style="font-size: 0.5rem;"> |  | ||||||
| 										{digest} |  | ||||||
| 									</div> |  | ||||||
| 								</div> |  | ||||||
| 							{/if} |  | ||||||
| 						</div> |  | ||||||
| 						<hr class=" dark:border-gray-700" /> |  | ||||||
| 
 |  | ||||||
| 						<div> |  | ||||||
| 							<div class=" mb-2.5 text-sm font-medium">Delete a model</div> |  | ||||||
| 							<div class="flex w-full"> |  | ||||||
| 								<div class="flex-1 mr-2"> |  | ||||||
| 									<input |  | ||||||
| 										class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" |  | ||||||
| 										placeholder="Enter model tag (e.g. mistral:7b)" |  | ||||||
| 										bind:value={deleteModelTag} |  | ||||||
| 									/> |  | ||||||
| 								</div> |  | ||||||
| 								<button |  | ||||||
| 									class="px-3 bg-red-700 hover:bg-red-800 text-gray-100 rounded transition" |  | ||||||
| 									on:click={() => { |  | ||||||
| 										deleteModelHandler(); |  | ||||||
| 									}} |  | ||||||
| 								> |  | ||||||
| 									<svg |  | ||||||
| 										xmlns="http://www.w3.org/2000/svg" |  | ||||||
| 										viewBox="0 0 20 20" |  | ||||||
| 										fill="currentColor" |  | ||||||
| 										class="w-4 h-4" |  | ||||||
| 									> |  | ||||||
| 										<path |  | ||||||
| 											fill-rule="evenodd" |  | ||||||
| 											d="M8.75 1A2.75 2.75 0 006 3.75v.443c-.795.077-1.584.176-2.365.298a.75.75 0 10.23 1.482l.149-.022.841 10.518A2.75 2.75 0 007.596 19h4.807a2.75 2.75 0 002.742-2.53l.841-10.52.149.023a.75.75 0 00.23-1.482A41.03 41.03 0 0014 4.193V3.75A2.75 2.75 0 0011.25 1h-2.5zM10 4c.84 0 1.673.025 2.5.075V3.75c0-.69-.56-1.25-1.25-1.25h-2.5c-.69 0-1.25.56-1.25 1.25v.325C8.327 4.025 9.16 4 10 4zM8.58 7.72a.75.75 0 00-1.5.06l.3 7.5a.75.75 0 101.5-.06l-.3-7.5zm4.34.06a.75.75 0 10-1.5-.06l-.3 7.5a.75.75 0 101.5.06l.3-7.5z" |  | ||||||
| 											clip-rule="evenodd" |  | ||||||
| 										/> |  | ||||||
| 									</svg> |  | ||||||
| 								</button> |  | ||||||
| 							</div> |  | ||||||
| 						</div> |  | ||||||
| 					</div> |  | ||||||
| 				{:else if selectedTab === 'advanced'} | 				{:else if selectedTab === 'advanced'} | ||||||
| 					<div class="flex flex-col h-full justify-between space-y-3 text-sm"> | 					<div class="flex flex-col h-full justify-between space-y-3 text-sm"> | ||||||
| 						<div class=" space-y-3"> | 						<div class=" space-y-3"> | ||||||
|  | @ -658,6 +591,99 @@ | ||||||
| 							</button> | 							</button> | ||||||
| 						</div> | 						</div> | ||||||
| 					</div> | 					</div> | ||||||
|  | 				{:else if selectedTab === 'models'} | ||||||
|  | 					<div class="flex flex-col space-y-3 text-sm mb-10"> | ||||||
|  | 						<div> | ||||||
|  | 							<div class=" mb-2.5 text-sm font-medium">Pull a model</div> | ||||||
|  | 							<div class="flex w-full"> | ||||||
|  | 								<div class="flex-1 mr-2"> | ||||||
|  | 									<input | ||||||
|  | 										class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" | ||||||
|  | 										placeholder="Enter model tag (e.g. mistral:7b)" | ||||||
|  | 										bind:value={modelTag} | ||||||
|  | 									/> | ||||||
|  | 								</div> | ||||||
|  | 								<button | ||||||
|  | 									class="px-3 text-gray-100 bg-emerald-600 hover:bg-emerald-700 rounded transition" | ||||||
|  | 									on:click={() => { | ||||||
|  | 										pullModelHandler(); | ||||||
|  | 									}} | ||||||
|  | 								> | ||||||
|  | 									<svg | ||||||
|  | 										xmlns="http://www.w3.org/2000/svg" | ||||||
|  | 										viewBox="0 0 20 20" | ||||||
|  | 										fill="currentColor" | ||||||
|  | 										class="w-4 h-4" | ||||||
|  | 									> | ||||||
|  | 										<path | ||||||
|  | 											d="M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z" | ||||||
|  | 										/> | ||||||
|  | 										<path | ||||||
|  | 											d="M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z" | ||||||
|  | 										/> | ||||||
|  | 									</svg> | ||||||
|  | 								</button> | ||||||
|  | 							</div> | ||||||
|  | 
 | ||||||
|  | 							<div class="mt-2 text-xs text-gray-400 dark:text-gray-500"> | ||||||
|  | 								To access the available model names for downloading, <a | ||||||
|  | 									class=" text-gray-500 dark:text-gray-300 font-medium" | ||||||
|  | 									href="https://ollama.ai/library" | ||||||
|  | 									target="_blank">click here.</a | ||||||
|  | 								> | ||||||
|  | 							</div> | ||||||
|  | 
 | ||||||
|  | 							{#if pullProgress !== null} | ||||||
|  | 								<div class="mt-2"> | ||||||
|  | 									<div class=" mb-2 text-xs">Pull Progress</div> | ||||||
|  | 									<div class="w-full rounded-full dark:bg-gray-800"> | ||||||
|  | 										<div | ||||||
|  | 											class="dark:bg-gray-600 text-xs font-medium text-blue-100 text-center p-0.5 leading-none rounded-full" | ||||||
|  | 											style="width: {Math.max(15, pullProgress ?? 0)}%" | ||||||
|  | 										> | ||||||
|  | 											{pullProgress ?? 0}% | ||||||
|  | 										</div> | ||||||
|  | 									</div> | ||||||
|  | 									<div class="mt-1 text-xs dark:text-gray-700" style="font-size: 0.5rem;"> | ||||||
|  | 										{digest} | ||||||
|  | 									</div> | ||||||
|  | 								</div> | ||||||
|  | 							{/if} | ||||||
|  | 						</div> | ||||||
|  | 						<hr class=" dark:border-gray-700" /> | ||||||
|  | 
 | ||||||
|  | 						<div> | ||||||
|  | 							<div class=" mb-2.5 text-sm font-medium">Delete a model</div> | ||||||
|  | 							<div class="flex w-full"> | ||||||
|  | 								<div class="flex-1 mr-2"> | ||||||
|  | 									<input | ||||||
|  | 										class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" | ||||||
|  | 										placeholder="Enter model tag (e.g. mistral:7b)" | ||||||
|  | 										bind:value={deleteModelTag} | ||||||
|  | 									/> | ||||||
|  | 								</div> | ||||||
|  | 								<button | ||||||
|  | 									class="px-3 bg-red-700 hover:bg-red-800 text-gray-100 rounded transition" | ||||||
|  | 									on:click={() => { | ||||||
|  | 										deleteModelHandler(); | ||||||
|  | 									}} | ||||||
|  | 								> | ||||||
|  | 									<svg | ||||||
|  | 										xmlns="http://www.w3.org/2000/svg" | ||||||
|  | 										viewBox="0 0 20 20" | ||||||
|  | 										fill="currentColor" | ||||||
|  | 										class="w-4 h-4" | ||||||
|  | 									> | ||||||
|  | 										<path | ||||||
|  | 											fill-rule="evenodd" | ||||||
|  | 											d="M8.75 1A2.75 2.75 0 006 3.75v.443c-.795.077-1.584.176-2.365.298a.75.75 0 10.23 1.482l.149-.022.841 10.518A2.75 2.75 0 007.596 19h4.807a2.75 2.75 0 002.742-2.53l.841-10.52.149.023a.75.75 0 00.23-1.482A41.03 41.03 0 0014 4.193V3.75A2.75 2.75 0 0011.25 1h-2.5zM10 4c.84 0 1.673.025 2.5.075V3.75c0-.69-.56-1.25-1.25-1.25h-2.5c-.69 0-1.25.56-1.25 1.25v.325C8.327 4.025 9.16 4 10 4zM8.58 7.72a.75.75 0 00-1.5.06l.3 7.5a.75.75 0 101.5-.06l-.3-7.5zm4.34.06a.75.75 0 10-1.5-.06l-.3 7.5a.75.75 0 101.5.06l.3-7.5z" | ||||||
|  | 											clip-rule="evenodd" | ||||||
|  | 										/> | ||||||
|  | 									</svg> | ||||||
|  | 								</button> | ||||||
|  | 							</div> | ||||||
|  | 						</div> | ||||||
|  | 					</div> | ||||||
| 				{:else if selectedTab === 'addons'} | 				{:else if selectedTab === 'addons'} | ||||||
| 					<form | 					<form | ||||||
| 						class="flex flex-col h-full justify-between space-y-3 text-sm" | 						class="flex flex-col h-full justify-between space-y-3 text-sm" | ||||||
|  | @ -725,6 +751,34 @@ | ||||||
| 							</button> | 							</button> | ||||||
| 						</div> | 						</div> | ||||||
| 					</form> | 					</form> | ||||||
|  | 				{:else if selectedTab === 'about'} | ||||||
|  | 					<div class="flex flex-col h-full justify-between space-y-3 text-sm"> | ||||||
|  | 						<div class=" space-y-3"> | ||||||
|  | 							<div> | ||||||
|  | 								<div class=" mb-2.5 text-sm font-medium">Ollama Web UI Version</div> | ||||||
|  | 								<div class="flex w-full"> | ||||||
|  | 									<div class="flex-1 text-xs text-gray-700 dark:text-gray-200">v1.0.0-alpha</div> | ||||||
|  | 								</div> | ||||||
|  | 							</div> | ||||||
|  | 
 | ||||||
|  | 							<hr class=" dark:border-gray-700" /> | ||||||
|  | 
 | ||||||
|  | 							<div class="mt-2 text-xs text-gray-400 dark:text-gray-500"> | ||||||
|  | 								Created by <a | ||||||
|  | 									class=" text-gray-500 dark:text-gray-300 font-medium" | ||||||
|  | 									href="https://github.com/tjbck" | ||||||
|  | 									target="_blank">Timothy J. Baek</a | ||||||
|  | 								> | ||||||
|  | 							</div> | ||||||
|  | 
 | ||||||
|  | 							<div> | ||||||
|  | 								<img | ||||||
|  | 									alt="followers" | ||||||
|  | 									src="https://img.shields.io/github/stars/ollama-webui/ollama-webui?style=social&label=Star us on Github" | ||||||
|  | 								/> | ||||||
|  | 							</div> | ||||||
|  | 						</div> | ||||||
|  | 					</div> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</div> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek