diff --git a/.scripts/seed.ts b/.scripts/seed.ts index 393b8e9..8383bcf 100644 --- a/.scripts/seed.ts +++ b/.scripts/seed.ts @@ -2,7 +2,7 @@ import * as toml from 'jsr:@std/toml'; import * as path from 'jsr:@std/path'; import * as collections from "jsr:@std/collections/deep-merge"; -const VERSION = "0.2.23"; +const VERSION = "0.2.24"; type ValueSeed = { // Path relative to the project root diff --git a/RELEASE.md b/RELEASE.md index a905a3f..a2a4a57 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -12,6 +12,12 @@ Includes: deno run -A ./.scripts/seed.ts ``` +### Sync docs to wiki + +```bash +deno run -A ./.scripts/docs.ts +``` + ### Publish to npm ```bash diff --git a/app/package.json b/app/package.json index bbb7055..89c2b94 100644 --- a/app/package.json +++ b/app/package.json @@ -1,7 +1,7 @@ { "name": "@avcodes/harbor-app", "private": true, - "version": "0.2.23", + "version": "0.2.24", "type": "module", "scripts": { "dev": "vite", diff --git a/app/src-tauri/Cargo.toml b/app/src-tauri/Cargo.toml index 79cd017..32b6371 100644 --- a/app/src-tauri/Cargo.toml +++ b/app/src-tauri/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "harbor-app" -version = "0.2.23" +version = "0.2.24" description = "A companion app for Harbor LLM toolkit" authors = ["av"] edition = "2021" [lib] name = "harbor_lib" -crate-type = ["staticlib", "cdylib", "rlib"] +crate-type = ["staticlib","cdylib","rlib"] [build-dependencies.tauri-build] version = "2.0.3" diff --git a/app/src-tauri/tauri.conf.json b/app/src-tauri/tauri.conf.json index 30d4fb1..46d1e6b 100644 --- a/app/src-tauri/tauri.conf.json +++ b/app/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2.0.0-rc", "productName": "Harbor", - "version": "0.2.23", + "version": "0.2.24", "identifier": "com.harbor.app", "build": { "beforeDevCommand": "bun run dev", diff --git a/docs/1.0.-Installing-Harbor.md b/docs/1.0.-Installing-Harbor.md index 3d4a99a..5400091 100644 --- a/docs/1.0.-Installing-Harbor.md +++ b/docs/1.0.-Installing-Harbor.md @@ -3,8 +3,8 @@ > [!NOTE] > Harbor is still a young project (hence the 0.x.x versioning), installation and some features might not work as expected. Please report any issues you encounter. +- [Requirements](#requirements) - [Harbor CLI](#harbor-cli) - - [Requirements](#requirements) - [Unsafe install](#unsafe-install) - [Manual install](#manual-install) - [Harbor App](#harbor-app) @@ -14,16 +14,18 @@ - [MacOS](#macos) - [MacOS Installation Issue](#macos-installation-issue) -### Harbor CLI +### Requirements -#### Requirements +Before installing Harbor's CLI or App, please go through below checklist line-by-line completing every step relevant to your platform and hardware. - On Windows - [enable WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) - All Platforms - [install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) -- All platforms - [install Docker](https://docs.docker.com/engine/install/) +- All Platforms - [install Docker](https://docs.docker.com/engine/install/) - On Linux - complete post-install for [`docker` without `sudo`](httpws://docs.docker.com/engine/install/linux-postinstall/) - - With Nvidia GPU - [install NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation) - On Windows - [enable Docker in WSL2](https://docs.docker.com/desktop/wsl/#enabling-docker-support-in-wsl-2-distros) + - With Nvidia GPU - [install NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation) + - Enables GPU pass-through for supported services + - On Windows - install the Container Toolkit under WSL2 following Linux instructions - All Platforms - [install Docker Compose plugin](https://docs.docker.com/compose/install/) - Harbor requires Docker Compose [2.23.1](https://docs.docker.com/compose/releases/release-notes/#2231) or newer - All Platforms - Bash-compatible shell 3.2 or newer @@ -33,6 +35,10 @@ > [!NOTE] > MacOS: some services do not ship ARM64 images. GPU pass-through is not supported on MacOS. +Once the CLI is installed, you can also use [`harbor doctor`](./3.-Harbor-CLI-Reference#harbor-doctor) command to troubleshoot installation issues. + +### Harbor CLI + #### Installation methods Harbor CLI can be installed in multiple ways that are listed below. @@ -44,6 +50,8 @@ Harbor CLI can be installed in multiple ways that are listed below. #### Package Managers +Please note that installation via package managers is experimental and might differ from the "native" installation via the script or manual method. + **NPM** ```bash diff --git a/docs/3.-Harbor-CLI-Reference.md b/docs/3.-Harbor-CLI-Reference.md index f0932a9..c1361bd 100644 --- a/docs/3.-Harbor-CLI-Reference.md +++ b/docs/3.-Harbor-CLI-Reference.md @@ -333,6 +333,16 @@ ls $(harbor home) ls $(harbor home)/ollama ``` +### `harbor doctor` + +Runs a diagnostic script to check if all requirements are met for Harbor to run properly. + +Will check things like relevant Docker and Docker Compose versions, the presence of required directories, and other things that might prevent Harbor CLI or the Harbor App running as expected. + +```bash +harbor doctor +``` + # Setup Management Commands ### `harbor ollama ` diff --git a/harbor.sh b/harbor.sh index 17282a2..0d78e96 100755 --- a/harbor.sh +++ b/harbor.sh @@ -3890,7 +3890,7 @@ run_kobold_command() { # ======================================================================== # Globals -version="0.2.23" +version="0.2.24" harbor_repo_url="https://github.com/av/harbor.git" harbor_release_url="https://api.github.com/repos/av/harbor/releases/latest" delimiter="|" diff --git a/package.json b/package.json index 14e61f3..fcd9c5c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@avcodes/harbor", - "version": "0.2.23", + "version": "0.2.24", "description": "Effortlessly run LLM backends, APIs, frontends, and services with one command.", "private": false, "author": "av (https://av.codes)", diff --git a/pyproject.toml b/pyproject.toml index 23e1afc..8f97d9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "llm-harbor" -version = "0.2.23" +version = "0.2.24" description = "Effortlessly run LLM backends, APIs, frontends, and services with one command." repository = "https://github.com/av/harbor" documentation = "https://github.com/av/harbor/wiki" @@ -9,7 +9,7 @@ authors = ["av "] license = "Apache-2.0" readme = "README.md" classifiers = ["Topic :: Utilities","Topic :: Scientific/Engineering :: Artificial Intelligence","Environment :: Console","License :: OSI Approved :: Apache Software License"] -include = [".aider.chat.history.md",".editorconfig",".github/FUNDING.yml",".github/workflows/app-release.yml",".github/workflows/bench-docker.yml",".github/workflows/boost-docker.yml",".gitignore",".scripts/scaffold.ts",".scripts/seed.ts",".style.yapf",".vscode/.copilot-instructions.md",".vscode/settings.json","LICENSE","README.md","RELEASE.md","agent/.gitignore","agent/Dockerfile","agent/docker/services.d/agent.sh","agent/override.env","agent/requirements.txt","agent/src/agent.py","agent/src/chat.py","agent/src/chat_node.py","agent/src/config.py","agent/src/format.py","agent/src/llm.py","agent/src/log.py","agent/src/main.py","agent/src/tasks/chat_to_goal.py","agent/src/tasks/direct.py","agent/src/tasks/next_step.py","agent/src/tasks/plan.py","agent/src/tasks/refine.py","aichat/Dockerfile","aichat/configs/aichat.airllm.yml","aichat/configs/aichat.aphrodite.yml","aichat/configs/aichat.config.yml","aichat/configs/aichat.dify.yml","aichat/configs/aichat.ktransformers.yml","aichat/configs/aichat.litellm.yml","aichat/configs/aichat.llamacpp.yml","aichat/configs/aichat.mistralrs.yml","aichat/configs/aichat.ollama.yml","aichat/configs/aichat.sglang.yml","aichat/configs/aichat.tabbyapi.yml","aichat/configs/aichat.vllm.yml","aichat/override.env","aichat/start_aichat.sh","aider/configs/aider.airllm.yml","aider/configs/aider.aphrodite.yml","aider/configs/aider.config.yml","aider/configs/aider.dify.yml","aider/configs/aider.ktransformers.yml","aider/configs/aider.litellm.yml","aider/configs/aider.llamacpp.yml","aider/configs/aider.mistralrs.yml","aider/configs/aider.ollama.yml","aider/configs/aider.sglang.yml","aider/configs/aider.tabbyapi.yml","aider/configs/aider.vllm.yml","aider/override.env","aider/start_aider.sh","airllm/Dockerfile","airllm/override.env","airllm/server.py","anythingllm/override.env","aphrodite/override.env","app/.editorconfig","app/.gitignore","app/README.md","app/app-icon.png","app/bun.lockb","app/index.html","app/package.json","app/postcss.config.js","app/public/tauri.svg","app/public/vite.svg","app/src-tauri/.gitignore","app/src-tauri/Cargo.lock","app/src-tauri/Cargo.toml","app/src-tauri/build.rs","app/src-tauri/capabilities/default.json","app/src-tauri/capabilities/desktop.json","app/src-tauri/icons/128x128.png","app/src-tauri/icons/128x128@2x.png","app/src-tauri/icons/32x32.png","app/src-tauri/icons/Square107x107Logo.png","app/src-tauri/icons/Square142x142Logo.png","app/src-tauri/icons/Square150x150Logo.png","app/src-tauri/icons/Square284x284Logo.png","app/src-tauri/icons/Square30x30Logo.png","app/src-tauri/icons/Square310x310Logo.png","app/src-tauri/icons/Square44x44Logo.png","app/src-tauri/icons/Square71x71Logo.png","app/src-tauri/icons/Square89x89Logo.png","app/src-tauri/icons/StoreLogo.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png","app/src-tauri/icons/icon.icns","app/src-tauri/icons/icon.ico","app/src-tauri/icons/icon.png","app/src-tauri/icons/ios/AppIcon-20x20@1x.png","app/src-tauri/icons/ios/AppIcon-20x20@2x-1.png","app/src-tauri/icons/ios/AppIcon-20x20@2x.png","app/src-tauri/icons/ios/AppIcon-20x20@3x.png","app/src-tauri/icons/ios/AppIcon-29x29@1x.png","app/src-tauri/icons/ios/AppIcon-29x29@2x-1.png","app/src-tauri/icons/ios/AppIcon-29x29@2x.png","app/src-tauri/icons/ios/AppIcon-29x29@3x.png","app/src-tauri/icons/ios/AppIcon-40x40@1x.png","app/src-tauri/icons/ios/AppIcon-40x40@2x-1.png","app/src-tauri/icons/ios/AppIcon-40x40@2x.png","app/src-tauri/icons/ios/AppIcon-40x40@3x.png","app/src-tauri/icons/ios/AppIcon-512@2x.png","app/src-tauri/icons/ios/AppIcon-60x60@2x.png","app/src-tauri/icons/ios/AppIcon-60x60@3x.png","app/src-tauri/icons/ios/AppIcon-76x76@1x.png","app/src-tauri/icons/ios/AppIcon-76x76@2x.png","app/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png","app/src-tauri/src/lib.rs","app/src-tauri/src/main.rs","app/src-tauri/src/tray.rs","app/src-tauri/tauri.conf.json","app/src/App.tsx","app/src/AppContent.tsx","app/src/AppRoutes.tsx","app/src/AppSidebar.tsx","app/src/Button.tsx","app/src/ConfirmModal.tsx","app/src/DataClass.tsx","app/src/HarborLogo.tsx","app/src/IconButton.tsx","app/src/Icons.tsx","app/src/Loading.tsx","app/src/LostSquirrel.tsx","app/src/Modal.tsx","app/src/OverlayContext.tsx","app/src/ScrollToTop.tsx","app/src/SearchInput.tsx","app/src/Section.tsx","app/src/ServiceTags.tsx","app/src/assets/font/Inter-Black.woff2","app/src/assets/font/Inter-BlackItalic.woff2","app/src/assets/font/Inter-Bold.woff2","app/src/assets/font/Inter-BoldItalic.woff2","app/src/assets/font/Inter-ExtraBold.woff2","app/src/assets/font/Inter-ExtraBoldItalic.woff2","app/src/assets/font/Inter-ExtraLight.woff2","app/src/assets/font/Inter-ExtraLightItalic.woff2","app/src/assets/font/Inter-Italic.woff2","app/src/assets/font/Inter-Light.woff2","app/src/assets/font/Inter-LightItalic.woff2","app/src/assets/font/Inter-Medium.woff2","app/src/assets/font/Inter-MediumItalic.woff2","app/src/assets/font/Inter-Regular.woff2","app/src/assets/font/Inter-SemiBold.woff2","app/src/assets/font/Inter-SemiBoldItalic.woff2","app/src/assets/font/Inter-Thin.woff2","app/src/assets/font/Inter-ThinItalic.woff2","app/src/assets/font/InterDisplay-Black.woff2","app/src/assets/font/InterDisplay-BlackItalic.woff2","app/src/assets/font/InterDisplay-Bold.woff2","app/src/assets/font/InterDisplay-BoldItalic.woff2","app/src/assets/font/InterDisplay-ExtraBold.woff2","app/src/assets/font/InterDisplay-ExtraBoldItalic.woff2","app/src/assets/font/InterDisplay-ExtraLight.woff2","app/src/assets/font/InterDisplay-ExtraLightItalic.woff2","app/src/assets/font/InterDisplay-Italic.woff2","app/src/assets/font/InterDisplay-Light.woff2","app/src/assets/font/InterDisplay-LightItalic.woff2","app/src/assets/font/InterDisplay-Medium.woff2","app/src/assets/font/InterDisplay-MediumItalic.woff2","app/src/assets/font/InterDisplay-Regular.woff2","app/src/assets/font/InterDisplay-SemiBold.woff2","app/src/assets/font/InterDisplay-SemiBoldItalic.woff2","app/src/assets/font/InterDisplay-Thin.woff2","app/src/assets/font/InterDisplay-ThinItalic.woff2","app/src/assets/font/InterVariable-Italic.woff2","app/src/assets/font/InterVariable.woff2","app/src/cli/CLI.tsx","app/src/config/Config.tsx","app/src/config/ConfigNameModal.tsx","app/src/config/HarborConfig.ts","app/src/config/HarborConfigEditor.tsx","app/src/config/HarborConfigEntryEditor.tsx","app/src/config/HarborConfigSectionEditor.tsx","app/src/config/useHarborConfig.ts","app/src/configMetadata.tsx","app/src/font.css","app/src/home/Doctor.tsx","app/src/home/Home.tsx","app/src/home/ServiceCard.tsx","app/src/home/ServiceList.tsx","app/src/home/Version.tsx","app/src/home/useServiceList.tsx","app/src/localStorage.ts","app/src/main.css","app/src/main.tsx","app/src/serviceMetadata.tsx","app/src/settings/ProfileSelector.tsx","app/src/settings/Settings.tsx","app/src/squirrel.css","app/src/tags.css","app/src/theme.tsx","app/src/useArrayState.ts","app/src/useAutostart.tsx","app/src/useCalled.tsx","app/src/useDebounceCallback.tsx","app/src/useGlobalKeydown.tsx","app/src/useHarbor.tsx","app/src/useInvoke.tsx","app/src/useSearch.tsx","app/src/useSelectedProfile.tsx","app/src/useSharedState.tsx","app/src/useStoredState.tsx","app/src/useUnmount.ts","app/src/utils.tsx","app/src/vite-env.d.ts","app/tailwind.config.js","app/tsconfig.json","app/tsconfig.node.json","app/vite.config.ts","autogpt/backends/autogpt.ollama.yml","autogpt/override.env","bench/Dockerfile","bench/defaultTasks.yml","bench/override.env","bench/src/bench.ts","bench/src/config.ts","bench/src/deps.ts","bench/src/judge.ts","bench/src/llm.ts","bench/src/log.ts","bench/src/report.ts","bench/src/run.ts","bench/src/runner.ts","bench/src/task.ts","bench/src/tasks.ts","bench/src/tsconfig.json","bench/src/utils.ts","bionicgpt/override.env","bionicgpt/start_envoy.sh","bolt/.env.local","bolt/Dockerfile","bolt/model.ts","bolt/override.env","boost/Dockerfile","boost/override.env","boost/src/chat.py","boost/src/chat_node.py","boost/src/config.py","boost/src/custom_modules/.gitkeep","boost/src/custom_modules/3t.py","boost/src/custom_modules/ambi.py","boost/src/custom_modules/cea.py","boost/src/custom_modules/clarity.py","boost/src/custom_modules/discussurl.py","boost/src/custom_modules/example.py","boost/src/custom_modules/fml.py","boost/src/custom_modules/l33t.py","boost/src/custom_modules/meow.py","boost/src/custom_modules/pad.py","boost/src/custom_modules/recpl.py","boost/src/custom_modules/unstable.py","boost/src/custom_modules/webui_artifact.py","boost/src/custom_modules/wswp.py","boost/src/format.py","boost/src/llm.py","boost/src/log.py","boost/src/main.py","boost/src/mapper.py","boost/src/mods.py","boost/src/modules/eli5.py","boost/src/modules/g1.py","boost/src/modules/klmbr.py","boost/src/modules/mcts.py","boost/src/modules/rcn.py","boost/src/modules/supersummer.py","boost/src/requirements.txt","boost/src/selection.py","chatnio/.gitignore","chatnio/Dockerfile","chatnio/config/config.base.yml","chatnio/config/config.ollama.yml","chatnio/config/config.override.yml","chatnio/config/config.searxng.yml","chatnio/override.env","chatnio/start_chatnio.sh","chatui/configs/chatui.airllm.yml","chatui/configs/chatui.aphrodite.yml","chatui/configs/chatui.config.yml","chatui/configs/chatui.dify.yml","chatui/configs/chatui.litellm.yml","chatui/configs/chatui.llamacpp.yml","chatui/configs/chatui.mistralrs.yml","chatui/configs/chatui.ollama.yml","chatui/configs/chatui.searxng.yml","chatui/configs/chatui.tabbyapi.yml","chatui/configs/chatui.vllm.yml","chatui/envify.js","chatui/override.env","chatui/start_chatui.sh","cmdh/Dockerfile","cmdh/harbor.prompt","cmdh/ollama.ts","cmdh/override.env","cmdh/system.prompt","comfyui/.gitkeep","comfyui/override.env","comfyui/provisioning.sh","compose.agent.yml","compose.aichat.yml","compose.aider.yml","compose.airllm.yml","compose.anythingllm.yml","compose.aphrodite.yml","compose.autogpt.yml","compose.bench.yml","compose.bionicgpt.yml","compose.bolt.yml","compose.boost.yml","compose.cfd.yml","compose.chatnio.yml","compose.chatui.yml","compose.cmdh.yml","compose.comfyui.yml","compose.dify.yml","compose.fabric.yml","compose.flowise.yml","compose.gum.yml","compose.hf.yml","compose.hfdownloader.yml","compose.hollama.yml","compose.jupyter.yml","compose.k6.yml","compose.kobold.yml","compose.ktransformers.yml","compose.langflow.yml","compose.langfuse.yml","compose.librechat.yml","compose.litellm.yml","compose.litlytics.yml","compose.llamacpp.yml","compose.lmdeploy.yml","compose.lmeval.yml","compose.lobechat.yml","compose.mistralrs.yml","compose.n8n.yml","compose.nexa.yml","compose.ol1.yml","compose.ollama.yml","compose.omnichain.yml","compose.omniparser.yml","compose.openhands.yml","compose.opint.yml","compose.optillm.yml","compose.parler.yml","compose.parllama.yml","compose.perplexica.yml","compose.perplexideez.yml","compose.pipelines.yml","compose.plandex.yml","compose.promptfoo.yml","compose.qdrant.yml","compose.qrgen.yml","compose.repopack.yml","compose.searxng.yml","compose.sglang.yml","compose.speaches.yml","compose.stt.yml","compose.tabbyapi.yml","compose.textgrad.yml","compose.tgi.yml","compose.tts.yml","compose.txtairag.yml","compose.vllm.yml","compose.webtop.yml","compose.webui.yml","compose.x.aichat.ktransformers.yml","compose.x.aichat.ollama.yml","compose.x.aider.airllm.yml","compose.x.aider.aphrodite.yml","compose.x.aider.dify.yml","compose.x.aider.ktransformers.yml","compose.x.aider.litellm.yml","compose.x.aider.llamacpp.yml","compose.x.aider.mistralrs.yml","compose.x.aider.nvidia.yml","compose.x.aider.ollama.yml","compose.x.aider.sglang.yml","compose.x.aider.tabbyapi.yml","compose.x.aider.vllm.yml","compose.x.anythingllm.llamacpp.yml","compose.x.anythingllm.ollama.yml","compose.x.anythingllm.searxng.yml","compose.x.aphrodite.nvidia.yml","compose.x.boost.airllm.yml","compose.x.boost.aphrodite.yml","compose.x.boost.dify.yml","compose.x.boost.ktransformers.yml","compose.x.boost.litellm.yml","compose.x.boost.llamacpp.yml","compose.x.boost.mistralrs.yml","compose.x.boost.ollama.yml","compose.x.boost.omnichain.yml","compose.x.boost.sglang.yml","compose.x.boost.tabbyapi.yml","compose.x.boost.vllm.yml","compose.x.chatnio.ollama.yml","compose.x.chatnio.searxng.yml","compose.x.chatui.airllm.yml","compose.x.chatui.aphrodite.yml","compose.x.chatui.dify.yml","compose.x.chatui.litellm.yml","compose.x.chatui.llamacpp.yml","compose.x.chatui.mistralrs.yml","compose.x.chatui.ollama.yml","compose.x.chatui.searxng.yml","compose.x.chatui.tabbyapi.yml","compose.x.chatui.vllm.yml","compose.x.cmdh.harbor.yml","compose.x.cmdh.llamacpp.yml","compose.x.cmdh.ollama.yml","compose.x.cmdh.tgi.yml","compose.x.comfyui.nvidia.yml","compose.x.fabric.ollama.yml","compose.x.jupyter.nvidia.yml","compose.x.kobold.nvidia.yml","compose.x.ktransformers.nvidia.yml","compose.x.langflow.litellm.yml","compose.x.litellm.langfuse.yml","compose.x.litellm.optillm.yml","compose.x.litellm.tgi.yml","compose.x.litellm.vllm.yml","compose.x.llamacpp.nvidia.yml","compose.x.lmdeploy.nvidia.yml","compose.x.lmeval.nvidia.yml","compose.x.lobechat.ollama.yml","compose.x.mistralrs.nvidia.yml","compose.x.nexa.nvidia.yml","compose.x.ollama.nvidia.yml","compose.x.ollama.webui.yml","compose.x.openhands.ollama.yml","compose.x.opint.aphrodite.yml","compose.x.opint.litellm.yml","compose.x.opint.llamacpp.yml","compose.x.opint.mistralrs.yml","compose.x.opint.ollama.yml","compose.x.opint.tabbyapi.yml","compose.x.opint.vllm.yml","compose.x.optillm.airllm.yml","compose.x.optillm.aphrodite.yml","compose.x.optillm.boost.yml","compose.x.optillm.dify.yml","compose.x.optillm.ktransformers.yml","compose.x.optillm.litellm.yml","compose.x.optillm.llamacpp.yml","compose.x.optillm.mistralrs.yml","compose.x.optillm.nexa.yml","compose.x.optillm.nvidia.yml","compose.x.optillm.ollama.yml","compose.x.optillm.omnichain.yml","compose.x.optillm.pipelines.yml","compose.x.optillm.sglang.yml","compose.x.optillm.tabbyapi.yml","compose.x.optillm.vllm.yml","compose.x.parler.nvidia.yml","compose.x.parllama.ollama.yml","compose.x.perplexica.ollama.yml","compose.x.perplexica.searxng.yml","compose.x.perplexideez.mdc.yml","compose.x.perplexideez.ollama.yml","compose.x.perplexideez.searxng.yml","compose.x.plandex.litellm.yml","compose.x.plandex.llamacpp.yml","compose.x.plandex.ollama.yml","compose.x.promptfoo.ollama.yml","compose.x.sglang.nvidia.yml","compose.x.speaches.nvidia.yml","compose.x.stt.nvidia.yml","compose.x.tabbyapi.nvidia.yml","compose.x.textgrad.nvidia.yml","compose.x.tgi.nvidia.yml","compose.x.tts.nvidia.yml","compose.x.txtairag.nvidia.yml","compose.x.txtairag.ollama.yml","compose.x.vllm.nvidia.yml","compose.x.webui.agent.yml","compose.x.webui.airllm.yml","compose.x.webui.aphrodite.yml","compose.x.webui.boost.yml","compose.x.webui.comfyui.yml","compose.x.webui.dify.yml","compose.x.webui.kobold.yml","compose.x.webui.ktransformers.yml","compose.x.webui.litellm.yml","compose.x.webui.llamacpp.yml","compose.x.webui.mistralrs.yml","compose.x.webui.nexa.yml","compose.x.webui.ollama.yml","compose.x.webui.omnichain.yml","compose.x.webui.optillm.yml","compose.x.webui.parler.yml","compose.x.webui.pipelines.yml","compose.x.webui.searxng.ollama.yml","compose.x.webui.searxng.yml","compose.x.webui.sglang.yml","compose.x.webui.speaches.yml","compose.x.webui.stt.yml","compose.x.webui.tabbyapi.yml","compose.x.webui.tts.yml","compose.x.webui.vllm.yml","compose.yml","deno.lock","dify/certbot/README.md","dify/certbot/docker-entrypoint.sh","dify/certbot/update-cert.template.txt","dify/nginx/conf.d/default.conf.template","dify/nginx/docker-entrypoint.sh","dify/nginx/https.conf.template","dify/nginx/nginx.conf.template","dify/nginx/proxy.conf.template","dify/nginx/ssl/.gitkeep","dify/openai/Dockerfile","dify/openai/app.js","dify/openai/package.json","dify/override.env","dify/ssrf_proxy/docker-entrypoint.sh","dify/ssrf_proxy/squid.conf.template","docs/harbor-2.png","fabric/Dockerfile","fabric/override.env","flowise/.gitignore","flowise/override.env","gum/Dockerfile","harbor.sh","harbor/__init__.py","hf/Dockerfile","hf/override.env","hfdownloader/Dockerfile","hfdownloader/override.env","http-catalog/agent.http","http-catalog/airllm.http","http-catalog/aphrodite.http","http-catalog/boost.http","http-catalog/comfyui.http","http-catalog/dify.http","http-catalog/hf.http","http-catalog/kobold.http","http-catalog/ktransformers.http","http-catalog/langfuse.http","http-catalog/litellm.http","http-catalog/llamacpp.http","http-catalog/mistralrs.http","http-catalog/nexa.http","http-catalog/ollama.http","http-catalog/omnichain.http","http-catalog/optillm.http","http-catalog/parler.http","http-catalog/perplexideez.http","http-catalog/plandex.http","http-catalog/sglang.http","http-catalog/speaches.http","http-catalog/stt.http","http-catalog/tabbyapi.http","http-catalog/tgi.http","http-catalog/tts.http","http-catalog/vllm.http","http-catalog/webui.http","install.sh","jupyter/Dockerfile","jupyter/override.env","jupyter/workspace/000-sample.ipynb","k6/.gitignore","k6/dashboards/k6-load-testing-results_rev3.json","k6/dashboards/k6-openai-tokens_rev1.json","k6/docker-compose.yaml","k6/grafana-dashboard.yaml","k6/grafana-datasource.yaml","k6/override.env","k6/scripts/concurrent-prefix-caching.js","k6/scripts/example.js","k6/scripts/helpers/config.js","k6/scripts/helpers/http.js","k6/scripts/helpers/ollamaHttp.js","k6/scripts/helpers/openaiGeneric.js","k6/scripts/helpers/utils.js","k6/scripts/ollama.js","k6/scripts/openai-api-throughput.js","k6/scripts/payloads/completions.js","k6/scripts/payloads/ollama.js","kobold/.gitignore","kobold/override.env","ktransformers/Dockerfile","ktransformers/chat.py","ktransformers/override.env","langflow/.gitignore","langflow/override.env","langfuse/.gitignore","langfuse/.gitkeep","langfuse/override.env","librechat/.env","librechat/.gitkeep","librechat/librechat.yml","librechat/override.env","librechat/start_librechat.sh","litellm/litellm.config.yaml","litellm/litellm.langfuse.yaml","litellm/litellm.optillm.yaml","litellm/litellm.tgi.yaml","litellm/litellm.vllm.yaml","litellm/override.env","litellm/start_litellm.sh","litlytics/override.env","lmeval/Dockerfile","lmeval/override.env","lobechat/override.env","n8n/.gitignore","n8n/backup/credentials/9LdDQI9lblNjIGIZ.json","n8n/backup/workflows/6K7zSSBeRa0z1hi6.json","n8n/override.env","nexa/Dockerfile","nexa/nvidia.sh","nexa/override.env","nexa/proxy.Dockerfile","nexa/proxy_server.py","ol1/Dockerfile","ol1/README.md","ol1/app.py","ol1/override.env","ollama/.gitkeep","ollama/modelfiles/flowaicom-flow-judge.Modelfile","ollama/modelfiles/llama3.1_8b.Modelfile","ollama/modelfiles/llama3.1_q6k_48k.Modelfile","ollama/modelfiles/qwen2.5_7b_q8_32k.Modelfile","ollama/modelfiles/qwen2.5_7b_q8_48k.Modelfile","ollama/modelfiles/qwen2.5_q6k_32k.Modelfile","ollama/override.env","omnichain/Dockerfile","omnichain/custom_nodes/example/example.maker.js","omnichain/entrypoint.sh","omnichain/examples/HarborChat.json","omnichain/files/harbor.prompt","omnichain/openai.ts","omnichain/override.env","omniparser/Dockerfile","omniparser/override.env","open-webui/configs/config.agent.json","open-webui/configs/config.airllm.json","open-webui/configs/config.aphrodite.json","open-webui/configs/config.boost.json","open-webui/configs/config.comfyui.json","open-webui/configs/config.dify.json","open-webui/configs/config.json","open-webui/configs/config.kobold.json","open-webui/configs/config.ktransformers.json","open-webui/configs/config.litellm.json","open-webui/configs/config.llamacpp.json","open-webui/configs/config.mistralrs.json","open-webui/configs/config.nexa.json","open-webui/configs/config.ollama.json","open-webui/configs/config.omnichain.json","open-webui/configs/config.optillm.json","open-webui/configs/config.override.json","open-webui/configs/config.parler.json","open-webui/configs/config.pipelines.json","open-webui/configs/config.searxng.json","open-webui/configs/config.sglang.json","open-webui/configs/config.speaches.json","open-webui/configs/config.stt.json","open-webui/configs/config.tabbyapi.json","open-webui/configs/config.tts.json","open-webui/configs/config.vllm.json","open-webui/configs/config.x.searxng.ollama.json","open-webui/extras/artifact.py","open-webui/extras/mcts.py","open-webui/override.env","open-webui/start_webui.sh","openhands/override.env","openinterpreter/Dockerfile","openinterpreter/override.env","optillm/.gitignore","optillm/override.env","package.json","parler/main.py","parler/override.env","parllama/Dockerfile","parllama/override.env","perplexica/override.env","perplexica/source.config.toml","perplexideez/.gitignore","perplexideez/override.env","pipelines/override.env","plandex/Dockerfile","plandex/override.env","poetry.lock","profiles/default.env","promptfoo/.gitignore","promptfoo/examples/hello-promptfoo/README.md","promptfoo/examples/hello-promptfoo/promptfooconfig.yaml","promptfoo/examples/temp-test/README.md","promptfoo/examples/temp-test/promptfooconfig.yaml","promptfoo/override.env","pyproject.toml","qdrant/override.env","qrgen/Dockerfile","qrgen/gen.ts","repopack/Dockerfile","repopack/override.env","searxng/override.env","searxng/settings.yml","searxng/settings.yml.new","searxng/uwsgi.ini","shared/README.md","shared/json_config_merger.py","shared/yaml_config_merger.js","shared/yaml_config_merger.py","speaches/hf_utils.py","speaches/override.env","stt/override.env","tabbyapi/api_tokens.yml","tabbyapi/config.yml","tabbyapi/override.env","tabbyapi/start_tabbyapi.sh","textgrad/Dockerfile","textgrad/override.env","textgrad/workspace/000-sample.ipynb","tts/config/pre_process_map.yaml","tts/config/voice_to_speaker.yaml","tts/override.env","vllm/Dockerfile","vllm/override.env","webtop/.gitignore","webtop/Dockerfile","webtop/init/create_symlink.sh","webtop/init/fix_desktop_app.sh","webtop/init/provision_docker_groups.sh","webtop/override.env"] +include = [".aider.chat.history.md",".editorconfig",".github/FUNDING.yml",".github/workflows/app-release.yml",".github/workflows/bench-docker.yml",".github/workflows/boost-docker.yml",".gitignore",".scripts/docs.ts",".scripts/scaffold.ts",".scripts/seed.ts",".style.yapf",".vscode/.copilot-instructions.md",".vscode/settings.json","LICENSE","README.md","RELEASE.md","agent/.gitignore","agent/Dockerfile","agent/docker/services.d/agent.sh","agent/override.env","agent/requirements.txt","agent/src/agent.py","agent/src/chat.py","agent/src/chat_node.py","agent/src/config.py","agent/src/format.py","agent/src/llm.py","agent/src/log.py","agent/src/main.py","agent/src/tasks/chat_to_goal.py","agent/src/tasks/direct.py","agent/src/tasks/next_step.py","agent/src/tasks/plan.py","agent/src/tasks/refine.py","aichat/Dockerfile","aichat/configs/aichat.airllm.yml","aichat/configs/aichat.aphrodite.yml","aichat/configs/aichat.config.yml","aichat/configs/aichat.dify.yml","aichat/configs/aichat.ktransformers.yml","aichat/configs/aichat.litellm.yml","aichat/configs/aichat.llamacpp.yml","aichat/configs/aichat.mistralrs.yml","aichat/configs/aichat.ollama.yml","aichat/configs/aichat.sglang.yml","aichat/configs/aichat.tabbyapi.yml","aichat/configs/aichat.vllm.yml","aichat/override.env","aichat/start_aichat.sh","aider/configs/aider.airllm.yml","aider/configs/aider.aphrodite.yml","aider/configs/aider.config.yml","aider/configs/aider.dify.yml","aider/configs/aider.ktransformers.yml","aider/configs/aider.litellm.yml","aider/configs/aider.llamacpp.yml","aider/configs/aider.mistralrs.yml","aider/configs/aider.ollama.yml","aider/configs/aider.sglang.yml","aider/configs/aider.tabbyapi.yml","aider/configs/aider.vllm.yml","aider/override.env","aider/start_aider.sh","airllm/Dockerfile","airllm/override.env","airllm/server.py","anythingllm/override.env","aphrodite/override.env","app/.editorconfig","app/.gitignore","app/README.md","app/app-icon.png","app/bun.lockb","app/index.html","app/package.json","app/postcss.config.js","app/public/tauri.svg","app/public/vite.svg","app/src-tauri/.gitignore","app/src-tauri/Cargo.lock","app/src-tauri/Cargo.toml","app/src-tauri/build.rs","app/src-tauri/capabilities/default.json","app/src-tauri/capabilities/desktop.json","app/src-tauri/icons/128x128.png","app/src-tauri/icons/128x128@2x.png","app/src-tauri/icons/32x32.png","app/src-tauri/icons/Square107x107Logo.png","app/src-tauri/icons/Square142x142Logo.png","app/src-tauri/icons/Square150x150Logo.png","app/src-tauri/icons/Square284x284Logo.png","app/src-tauri/icons/Square30x30Logo.png","app/src-tauri/icons/Square310x310Logo.png","app/src-tauri/icons/Square44x44Logo.png","app/src-tauri/icons/Square71x71Logo.png","app/src-tauri/icons/Square89x89Logo.png","app/src-tauri/icons/StoreLogo.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png","app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png","app/src-tauri/icons/icon.icns","app/src-tauri/icons/icon.ico","app/src-tauri/icons/icon.png","app/src-tauri/icons/ios/AppIcon-20x20@1x.png","app/src-tauri/icons/ios/AppIcon-20x20@2x-1.png","app/src-tauri/icons/ios/AppIcon-20x20@2x.png","app/src-tauri/icons/ios/AppIcon-20x20@3x.png","app/src-tauri/icons/ios/AppIcon-29x29@1x.png","app/src-tauri/icons/ios/AppIcon-29x29@2x-1.png","app/src-tauri/icons/ios/AppIcon-29x29@2x.png","app/src-tauri/icons/ios/AppIcon-29x29@3x.png","app/src-tauri/icons/ios/AppIcon-40x40@1x.png","app/src-tauri/icons/ios/AppIcon-40x40@2x-1.png","app/src-tauri/icons/ios/AppIcon-40x40@2x.png","app/src-tauri/icons/ios/AppIcon-40x40@3x.png","app/src-tauri/icons/ios/AppIcon-512@2x.png","app/src-tauri/icons/ios/AppIcon-60x60@2x.png","app/src-tauri/icons/ios/AppIcon-60x60@3x.png","app/src-tauri/icons/ios/AppIcon-76x76@1x.png","app/src-tauri/icons/ios/AppIcon-76x76@2x.png","app/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png","app/src-tauri/src/lib.rs","app/src-tauri/src/main.rs","app/src-tauri/src/tray.rs","app/src-tauri/tauri.conf.json","app/src/App.tsx","app/src/AppContent.tsx","app/src/AppRoutes.tsx","app/src/AppSidebar.tsx","app/src/Button.tsx","app/src/ConfirmModal.tsx","app/src/DataClass.tsx","app/src/HarborLogo.tsx","app/src/IconButton.tsx","app/src/Icons.tsx","app/src/Loading.tsx","app/src/LostSquirrel.tsx","app/src/Modal.tsx","app/src/OverlayContext.tsx","app/src/ScrollToTop.tsx","app/src/SearchInput.tsx","app/src/Section.tsx","app/src/ServiceTags.tsx","app/src/assets/font/Inter-Black.woff2","app/src/assets/font/Inter-BlackItalic.woff2","app/src/assets/font/Inter-Bold.woff2","app/src/assets/font/Inter-BoldItalic.woff2","app/src/assets/font/Inter-ExtraBold.woff2","app/src/assets/font/Inter-ExtraBoldItalic.woff2","app/src/assets/font/Inter-ExtraLight.woff2","app/src/assets/font/Inter-ExtraLightItalic.woff2","app/src/assets/font/Inter-Italic.woff2","app/src/assets/font/Inter-Light.woff2","app/src/assets/font/Inter-LightItalic.woff2","app/src/assets/font/Inter-Medium.woff2","app/src/assets/font/Inter-MediumItalic.woff2","app/src/assets/font/Inter-Regular.woff2","app/src/assets/font/Inter-SemiBold.woff2","app/src/assets/font/Inter-SemiBoldItalic.woff2","app/src/assets/font/Inter-Thin.woff2","app/src/assets/font/Inter-ThinItalic.woff2","app/src/assets/font/InterDisplay-Black.woff2","app/src/assets/font/InterDisplay-BlackItalic.woff2","app/src/assets/font/InterDisplay-Bold.woff2","app/src/assets/font/InterDisplay-BoldItalic.woff2","app/src/assets/font/InterDisplay-ExtraBold.woff2","app/src/assets/font/InterDisplay-ExtraBoldItalic.woff2","app/src/assets/font/InterDisplay-ExtraLight.woff2","app/src/assets/font/InterDisplay-ExtraLightItalic.woff2","app/src/assets/font/InterDisplay-Italic.woff2","app/src/assets/font/InterDisplay-Light.woff2","app/src/assets/font/InterDisplay-LightItalic.woff2","app/src/assets/font/InterDisplay-Medium.woff2","app/src/assets/font/InterDisplay-MediumItalic.woff2","app/src/assets/font/InterDisplay-Regular.woff2","app/src/assets/font/InterDisplay-SemiBold.woff2","app/src/assets/font/InterDisplay-SemiBoldItalic.woff2","app/src/assets/font/InterDisplay-Thin.woff2","app/src/assets/font/InterDisplay-ThinItalic.woff2","app/src/assets/font/InterVariable-Italic.woff2","app/src/assets/font/InterVariable.woff2","app/src/cli/CLI.tsx","app/src/config/Config.tsx","app/src/config/ConfigNameModal.tsx","app/src/config/HarborConfig.ts","app/src/config/HarborConfigEditor.tsx","app/src/config/HarborConfigEntryEditor.tsx","app/src/config/HarborConfigSectionEditor.tsx","app/src/config/useHarborConfig.ts","app/src/configMetadata.tsx","app/src/font.css","app/src/home/Doctor.tsx","app/src/home/Home.tsx","app/src/home/ServiceCard.tsx","app/src/home/ServiceList.tsx","app/src/home/Version.tsx","app/src/home/useServiceList.tsx","app/src/localStorage.ts","app/src/main.css","app/src/main.tsx","app/src/serviceMetadata.tsx","app/src/settings/ProfileSelector.tsx","app/src/settings/Settings.tsx","app/src/squirrel.css","app/src/tags.css","app/src/theme.tsx","app/src/useArrayState.ts","app/src/useAutostart.tsx","app/src/useCalled.tsx","app/src/useDebounceCallback.tsx","app/src/useGlobalKeydown.tsx","app/src/useHarbor.tsx","app/src/useInvoke.tsx","app/src/useOpen.tsx","app/src/useSearch.tsx","app/src/useSelectedProfile.tsx","app/src/useSharedState.tsx","app/src/useStoredState.tsx","app/src/useUnmount.ts","app/src/utils.tsx","app/src/vite-env.d.ts","app/tailwind.config.js","app/tsconfig.json","app/tsconfig.node.json","app/vite.config.ts","autogpt/backends/autogpt.ollama.yml","autogpt/override.env","bench/Dockerfile","bench/defaultTasks.yml","bench/override.env","bench/src/bench.ts","bench/src/config.ts","bench/src/deps.ts","bench/src/judge.ts","bench/src/llm.ts","bench/src/log.ts","bench/src/report.ts","bench/src/run.ts","bench/src/runner.ts","bench/src/task.ts","bench/src/tasks.ts","bench/src/tsconfig.json","bench/src/utils.ts","bionicgpt/override.env","bionicgpt/start_envoy.sh","bolt/.env.local","bolt/Dockerfile","bolt/model.ts","bolt/override.env","boost/Dockerfile","boost/override.env","boost/src/chat.py","boost/src/chat_node.py","boost/src/config.py","boost/src/custom_modules/.gitkeep","boost/src/custom_modules/3t.py","boost/src/custom_modules/ambi.py","boost/src/custom_modules/cea.py","boost/src/custom_modules/clarity.py","boost/src/custom_modules/discussurl.py","boost/src/custom_modules/example.py","boost/src/custom_modules/fml.py","boost/src/custom_modules/gact.py","boost/src/custom_modules/l33t.py","boost/src/custom_modules/meow.py","boost/src/custom_modules/pad.py","boost/src/custom_modules/recpl.py","boost/src/custom_modules/unstable.py","boost/src/custom_modules/webui_artifact.py","boost/src/custom_modules/wswp.py","boost/src/format.py","boost/src/llm.py","boost/src/log.py","boost/src/main.py","boost/src/mapper.py","boost/src/mods.py","boost/src/modules/eli5.py","boost/src/modules/g1.py","boost/src/modules/klmbr.py","boost/src/modules/mcts.py","boost/src/modules/rcn.py","boost/src/modules/supersummer.py","boost/src/requirements.txt","boost/src/selection.py","chatnio/.gitignore","chatnio/Dockerfile","chatnio/config/config.base.yml","chatnio/config/config.ollama.yml","chatnio/config/config.override.yml","chatnio/config/config.searxng.yml","chatnio/override.env","chatnio/start_chatnio.sh","chatui/configs/chatui.airllm.yml","chatui/configs/chatui.aphrodite.yml","chatui/configs/chatui.config.yml","chatui/configs/chatui.dify.yml","chatui/configs/chatui.litellm.yml","chatui/configs/chatui.llamacpp.yml","chatui/configs/chatui.mistralrs.yml","chatui/configs/chatui.ollama.yml","chatui/configs/chatui.searxng.yml","chatui/configs/chatui.tabbyapi.yml","chatui/configs/chatui.vllm.yml","chatui/envify.js","chatui/override.env","chatui/start_chatui.sh","cmdh/Dockerfile","cmdh/harbor.prompt","cmdh/ollama.ts","cmdh/override.env","cmdh/system.prompt","comfyui/.gitkeep","comfyui/override.env","comfyui/provisioning.sh","compose.agent.yml","compose.aichat.yml","compose.aider.yml","compose.airllm.yml","compose.anythingllm.yml","compose.aphrodite.yml","compose.autogpt.yml","compose.bench.yml","compose.bionicgpt.yml","compose.bolt.yml","compose.boost.yml","compose.cfd.yml","compose.chatnio.yml","compose.chatui.yml","compose.cmdh.yml","compose.comfyui.yml","compose.dify.yml","compose.fabric.yml","compose.flowise.yml","compose.gum.yml","compose.hf.yml","compose.hfdownloader.yml","compose.hollama.yml","compose.jupyter.yml","compose.k6.yml","compose.kobold.yml","compose.ktransformers.yml","compose.langflow.yml","compose.langfuse.yml","compose.librechat.yml","compose.litellm.yml","compose.litlytics.yml","compose.llamacpp.yml","compose.lmdeploy.yml","compose.lmeval.yml","compose.lobechat.yml","compose.mistralrs.yml","compose.n8n.yml","compose.nexa.yml","compose.ol1.yml","compose.ollama.yml","compose.omnichain.yml","compose.omniparser.yml","compose.openhands.yml","compose.opint.yml","compose.optillm.yml","compose.parler.yml","compose.parllama.yml","compose.perplexica.yml","compose.perplexideez.yml","compose.pipelines.yml","compose.plandex.yml","compose.promptfoo.yml","compose.qdrant.yml","compose.qrgen.yml","compose.repopack.yml","compose.searxng.yml","compose.sglang.yml","compose.speaches.yml","compose.stt.yml","compose.tabbyapi.yml","compose.textgrad.yml","compose.tgi.yml","compose.tts.yml","compose.txtairag.yml","compose.vllm.yml","compose.webtop.yml","compose.webui.yml","compose.x.aichat.ktransformers.yml","compose.x.aichat.ollama.yml","compose.x.aider.airllm.yml","compose.x.aider.aphrodite.yml","compose.x.aider.dify.yml","compose.x.aider.ktransformers.yml","compose.x.aider.litellm.yml","compose.x.aider.llamacpp.yml","compose.x.aider.mistralrs.yml","compose.x.aider.nvidia.yml","compose.x.aider.ollama.yml","compose.x.aider.sglang.yml","compose.x.aider.tabbyapi.yml","compose.x.aider.vllm.yml","compose.x.anythingllm.llamacpp.yml","compose.x.anythingllm.ollama.yml","compose.x.anythingllm.searxng.yml","compose.x.aphrodite.nvidia.yml","compose.x.boost.airllm.yml","compose.x.boost.aphrodite.yml","compose.x.boost.dify.yml","compose.x.boost.ktransformers.yml","compose.x.boost.litellm.yml","compose.x.boost.llamacpp.yml","compose.x.boost.mistralrs.yml","compose.x.boost.ollama.yml","compose.x.boost.omnichain.yml","compose.x.boost.sglang.yml","compose.x.boost.tabbyapi.yml","compose.x.boost.vllm.yml","compose.x.chatnio.ollama.yml","compose.x.chatnio.searxng.yml","compose.x.chatui.airllm.yml","compose.x.chatui.aphrodite.yml","compose.x.chatui.dify.yml","compose.x.chatui.litellm.yml","compose.x.chatui.llamacpp.yml","compose.x.chatui.mistralrs.yml","compose.x.chatui.ollama.yml","compose.x.chatui.searxng.yml","compose.x.chatui.tabbyapi.yml","compose.x.chatui.vllm.yml","compose.x.cmdh.harbor.yml","compose.x.cmdh.llamacpp.yml","compose.x.cmdh.ollama.yml","compose.x.cmdh.tgi.yml","compose.x.comfyui.nvidia.yml","compose.x.fabric.ollama.yml","compose.x.jupyter.nvidia.yml","compose.x.kobold.nvidia.yml","compose.x.ktransformers.nvidia.yml","compose.x.langflow.litellm.yml","compose.x.litellm.langfuse.yml","compose.x.litellm.optillm.yml","compose.x.litellm.tgi.yml","compose.x.litellm.vllm.yml","compose.x.llamacpp.nvidia.yml","compose.x.lmdeploy.nvidia.yml","compose.x.lmeval.nvidia.yml","compose.x.lobechat.ollama.yml","compose.x.mistralrs.nvidia.yml","compose.x.nexa.nvidia.yml","compose.x.ollama.nvidia.yml","compose.x.ollama.webui.yml","compose.x.openhands.ollama.yml","compose.x.opint.aphrodite.yml","compose.x.opint.litellm.yml","compose.x.opint.llamacpp.yml","compose.x.opint.mistralrs.yml","compose.x.opint.ollama.yml","compose.x.opint.tabbyapi.yml","compose.x.opint.vllm.yml","compose.x.optillm.airllm.yml","compose.x.optillm.aphrodite.yml","compose.x.optillm.boost.yml","compose.x.optillm.dify.yml","compose.x.optillm.ktransformers.yml","compose.x.optillm.litellm.yml","compose.x.optillm.llamacpp.yml","compose.x.optillm.mistralrs.yml","compose.x.optillm.nexa.yml","compose.x.optillm.nvidia.yml","compose.x.optillm.ollama.yml","compose.x.optillm.omnichain.yml","compose.x.optillm.pipelines.yml","compose.x.optillm.sglang.yml","compose.x.optillm.tabbyapi.yml","compose.x.optillm.vllm.yml","compose.x.parler.nvidia.yml","compose.x.parllama.ollama.yml","compose.x.perplexica.ollama.yml","compose.x.perplexica.searxng.yml","compose.x.perplexideez.mdc.yml","compose.x.perplexideez.ollama.yml","compose.x.perplexideez.searxng.yml","compose.x.plandex.litellm.yml","compose.x.plandex.llamacpp.yml","compose.x.plandex.ollama.yml","compose.x.promptfoo.ollama.yml","compose.x.sglang.nvidia.yml","compose.x.speaches.nvidia.yml","compose.x.stt.nvidia.yml","compose.x.tabbyapi.nvidia.yml","compose.x.textgrad.nvidia.yml","compose.x.tgi.nvidia.yml","compose.x.tts.nvidia.yml","compose.x.txtairag.nvidia.yml","compose.x.txtairag.ollama.yml","compose.x.vllm.nvidia.yml","compose.x.webui.agent.yml","compose.x.webui.airllm.yml","compose.x.webui.aphrodite.yml","compose.x.webui.boost.yml","compose.x.webui.comfyui.yml","compose.x.webui.dify.yml","compose.x.webui.kobold.yml","compose.x.webui.ktransformers.yml","compose.x.webui.litellm.yml","compose.x.webui.llamacpp.yml","compose.x.webui.mistralrs.yml","compose.x.webui.nexa.yml","compose.x.webui.ollama.yml","compose.x.webui.omnichain.yml","compose.x.webui.optillm.yml","compose.x.webui.parler.yml","compose.x.webui.pipelines.yml","compose.x.webui.searxng.ollama.yml","compose.x.webui.searxng.yml","compose.x.webui.sglang.yml","compose.x.webui.speaches.yml","compose.x.webui.stt.yml","compose.x.webui.tabbyapi.yml","compose.x.webui.tts.yml","compose.x.webui.vllm.yml","compose.yml","deno.lock","dify/certbot/README.md","dify/certbot/docker-entrypoint.sh","dify/certbot/update-cert.template.txt","dify/nginx/conf.d/default.conf.template","dify/nginx/docker-entrypoint.sh","dify/nginx/https.conf.template","dify/nginx/nginx.conf.template","dify/nginx/proxy.conf.template","dify/nginx/ssl/.gitkeep","dify/openai/Dockerfile","dify/openai/app.js","dify/openai/package.json","dify/override.env","dify/ssrf_proxy/docker-entrypoint.sh","dify/ssrf_proxy/squid.conf.template","docs/1.-Harbor-User-Guide.md","docs/1.0.-Installing-Harbor.md","docs/1.1-Harbor-App.md","docs/2.-Services.md","docs/2.1.1-Frontend:-Open-WebUI.md","docs/2.1.10-Frontend:-Chat-Nio.md","docs/2.1.2-Frontend:-ComfyUI.md","docs/2.1.3-Frontend:-LibreChat.md","docs/2.1.4-Frontend:-ChatUI.md","docs/2.1.5-Frontend:-Lobe-Chat.md","docs/2.1.6-Frontend:-hollama.md","docs/2.1.7-Frontend:-parllama.md","docs/2.1.8-Frontend:-BionicGPT.md","docs/2.1.9-Frontend:-AnythingLLM.md","docs/2.2.1-Backend:-Ollama.md","docs/2.2.10-Backend:-lmdeploy.md","docs/2.2.11-Backend:-AirLLM.md","docs/2.2.12-Backend:-SGLang.md","docs/2.2.13-Backend:-KTransformers.md","docs/2.2.14-Backend:-Speaches.md","docs/2.2.15-Backend:-Nexa-SDK.md","docs/2.2.16-Backend:-KoboldCpp.md","docs/2.2.2-Backend:-llama.cpp.md","docs/2.2.3-Backend:-vLLM.md","docs/2.2.4-Backend:-TabbyAPI.md","docs/2.2.5-Backend:-Aphrodite-Engine.md","docs/2.2.6-Backend:-mistral.rs.md","docs/2.2.7-Backend:-openedai-speech.md","docs/2.2.8-Backend:-Parler.md","docs/2.2.9-Backend:-text-generation-inference.md","docs/2.3.1-Satellite:-SearXNG.md","docs/2.3.10-Satellite:-fabric.md","docs/2.3.11-Satellite:-txtai-RAG.md","docs/2.3.12-Satellite:-TextGrad.md","docs/2.3.13-Satellite:-aider.md","docs/2.3.14-Satellite:-aichat.md","docs/2.3.15-Satellite:-AutoGPT.md","docs/2.3.16-Satellite:-omnichain.md","docs/2.3.17-Satellite:-lm-evaluation-harness.md","docs/2.3.18-Satellite:-JupyterLab.md","docs/2.3.19-Satellite:-ol1.md","docs/2.3.2-Satellite:-Perplexica.md","docs/2.3.20-Satellite:-OpenHands.md","docs/2.3.21-Satellite:-LitLytics.md","docs/2.3.22-Satellite:-Repopack.md","docs/2.3.23-Satellite:-n8n.md","docs/2.3.24-Satellite:-Bolt.new.md","docs/2.3.25-Satellite:-Open-WebUI-Pipelines.md","docs/2.3.26-Satellite:-Qdrant.md","docs/2.3.27-Satellite:-K6.md","docs/2.3.28-Satellite:-Promptfoo.md","docs/2.3.29-Satellite:-Webtop.md","docs/2.3.3-Satellite:-Dify.md","docs/2.3.30-Satellite:-OmniParser.md","docs/2.3.31-Satellite:-Flowise.md","docs/2.3.32-Satellite:-LangFlow.md","docs/2.3.33-Satellite:-OptiLLM.md","docs/2.3.4-Satellite:-Plandex.md","docs/2.3.5-Satellite:-LiteLLM.md","docs/2.3.6-Satellite:-langfuse.md","docs/2.3.7-Satellite:-Open-Interpreter.md","docs/2.3.8-Satellite:-cloudflared.md","docs/2.3.9-Satellite:-cmdh.md","docs/3.-Harbor-CLI-Reference.md","docs/4.-Compatibility.md","docs/5.1.-Harbor-Bench.md","docs/5.2.-Harbor-Boost-Custom-Modules.md","docs/5.2.-Harbor-Boost.md","docs/6.-Harbor-Compose-Setup.md","docs/7.-Adding-A-New-Service.md","docs/README.md","docs/_Footer.md","docs/anythingllm.png","docs/bench-report.png","docs/bench-superset.png","docs/bionicgpt.png","docs/bolt-local-qwen.png","docs/bolt-openailike.png","docs/boost-custom-example.png","docs/boost-unstable.png","docs/boost.png","docs/chatnio-searxng.png","docs/chatui-searxng.png","docs/dify-harbor.png","docs/dify-ollama.png","docs/dify-sample-webllama.yml","docs/dify-sample-webrag.yml","docs/dify-searxng.png","docs/dify-webui.png","docs/flowise.png","docs/g1-reasoning.png","docs/harbor-2.png","docs/harbor-airllm.png","docs/harbor-app-2.png","docs/harbor-app-3.png","docs/harbor-app-4.png","docs/harbor-app-5.png","docs/harbor-app-6.png","docs/harbor-app-7.png","docs/harbor-app-8.png","docs/harbor-app-macos.png","docs/harbor-app.png","docs/harbor-arch-diag.png","docs/harbor-history.gif","docs/harbor-k6.png","docs/harbor-ollama-models.png","docs/harbor-webtop.png","docs/image.png","docs/ktransformers-webui.png","docs/langflow.png","docs/langfuse.png","docs/litlytics-config.png","docs/litlytics.png","docs/nexa-webui-error.png","docs/nexa-webui-workaround.png","docs/ol1.png","docs/omnichain-import.png","docs/omnichain.png","docs/omniparser.png","docs/openhands-config.png","docs/optillm.png","docs/parllama.png","docs/plandex-exec.png","docs/promptfoo-2.png","docs/promptfoo.png","docs/qr.png","docs/seaxng-webrag.png","docs/tunnels.png","docs/txtairag.png","docs/webui-boost-status.png","docs/webui-pipelines-2.png","docs/webui-pipelines.png","fabric/Dockerfile","fabric/override.env","flowise/.gitignore","flowise/override.env","gum/Dockerfile","harbor.sh","harbor/__init__.py","hf/Dockerfile","hf/override.env","hfdownloader/Dockerfile","hfdownloader/override.env","http-catalog/agent.http","http-catalog/airllm.http","http-catalog/aphrodite.http","http-catalog/boost.http","http-catalog/comfyui.http","http-catalog/dify.http","http-catalog/hf.http","http-catalog/kobold.http","http-catalog/ktransformers.http","http-catalog/langfuse.http","http-catalog/litellm.http","http-catalog/llamacpp.http","http-catalog/mistralrs.http","http-catalog/nexa.http","http-catalog/ollama.http","http-catalog/omnichain.http","http-catalog/optillm.http","http-catalog/parler.http","http-catalog/perplexideez.http","http-catalog/plandex.http","http-catalog/sglang.http","http-catalog/speaches.http","http-catalog/stt.http","http-catalog/tabbyapi.http","http-catalog/tgi.http","http-catalog/tts.http","http-catalog/vllm.http","http-catalog/webui.http","install.sh","jupyter/Dockerfile","jupyter/override.env","jupyter/workspace/000-sample.ipynb","k6/.gitignore","k6/dashboards/k6-load-testing-results_rev3.json","k6/dashboards/k6-openai-tokens_rev1.json","k6/docker-compose.yaml","k6/grafana-dashboard.yaml","k6/grafana-datasource.yaml","k6/override.env","k6/scripts/concurrent-prefix-caching.js","k6/scripts/example.js","k6/scripts/helpers/config.js","k6/scripts/helpers/http.js","k6/scripts/helpers/ollamaHttp.js","k6/scripts/helpers/openaiGeneric.js","k6/scripts/helpers/utils.js","k6/scripts/ollama.js","k6/scripts/openai-api-throughput.js","k6/scripts/payloads/completions.js","k6/scripts/payloads/ollama.js","kobold/.gitignore","kobold/override.env","ktransformers/Dockerfile","ktransformers/chat.py","ktransformers/override.env","langflow/.gitignore","langflow/override.env","langfuse/.gitignore","langfuse/.gitkeep","langfuse/override.env","librechat/.env","librechat/.gitkeep","librechat/librechat.yml","librechat/override.env","librechat/start_librechat.sh","litellm/litellm.config.yaml","litellm/litellm.langfuse.yaml","litellm/litellm.optillm.yaml","litellm/litellm.tgi.yaml","litellm/litellm.vllm.yaml","litellm/override.env","litellm/start_litellm.sh","litlytics/override.env","lmeval/Dockerfile","lmeval/override.env","lobechat/override.env","n8n/.gitignore","n8n/backup/credentials/9LdDQI9lblNjIGIZ.json","n8n/backup/workflows/6K7zSSBeRa0z1hi6.json","n8n/override.env","nexa/Dockerfile","nexa/nvidia.sh","nexa/override.env","nexa/proxy.Dockerfile","nexa/proxy_server.py","ol1/Dockerfile","ol1/README.md","ol1/app.py","ol1/override.env","ollama/.gitkeep","ollama/modelfiles/README.md","ollama/modelfiles/flowaicom-flow-judge.Modelfile","ollama/modelfiles/hargent.Modelfile","ollama/modelfiles/llama3.1_8b.Modelfile","ollama/modelfiles/llama3.1_q6k_48k.Modelfile","ollama/modelfiles/qwen2.5_7b_q8_32k.Modelfile","ollama/modelfiles/qwen2.5_7b_q8_48k.Modelfile","ollama/modelfiles/qwen2.5_q6k_32k.Modelfile","ollama/override.env","omnichain/Dockerfile","omnichain/custom_nodes/example/example.maker.js","omnichain/entrypoint.sh","omnichain/examples/HarborChat.json","omnichain/files/harbor.prompt","omnichain/openai.ts","omnichain/override.env","omniparser/Dockerfile","omniparser/override.env","open-webui/configs/config.agent.json","open-webui/configs/config.airllm.json","open-webui/configs/config.aphrodite.json","open-webui/configs/config.boost.json","open-webui/configs/config.comfyui.json","open-webui/configs/config.dify.json","open-webui/configs/config.json","open-webui/configs/config.kobold.json","open-webui/configs/config.ktransformers.json","open-webui/configs/config.litellm.json","open-webui/configs/config.llamacpp.json","open-webui/configs/config.mistralrs.json","open-webui/configs/config.nexa.json","open-webui/configs/config.ollama.json","open-webui/configs/config.omnichain.json","open-webui/configs/config.optillm.json","open-webui/configs/config.override.json","open-webui/configs/config.parler.json","open-webui/configs/config.pipelines.json","open-webui/configs/config.searxng.json","open-webui/configs/config.sglang.json","open-webui/configs/config.speaches.json","open-webui/configs/config.stt.json","open-webui/configs/config.tabbyapi.json","open-webui/configs/config.tts.json","open-webui/configs/config.vllm.json","open-webui/configs/config.x.searxng.ollama.json","open-webui/extras/artifact.py","open-webui/extras/mcts.py","open-webui/override.env","open-webui/start_webui.sh","openhands/override.env","openinterpreter/Dockerfile","openinterpreter/override.env","optillm/.gitignore","optillm/override.env","package.json","parler/main.py","parler/override.env","parllama/Dockerfile","parllama/override.env","perplexica/override.env","perplexica/source.config.toml","perplexideez/.gitignore","perplexideez/override.env","pipelines/override.env","plandex/Dockerfile","plandex/override.env","poetry.lock","profiles/default.env","promptfoo/.gitignore","promptfoo/examples/hello-promptfoo/README.md","promptfoo/examples/hello-promptfoo/promptfooconfig.yaml","promptfoo/examples/temp-test/README.md","promptfoo/examples/temp-test/promptfooconfig.yaml","promptfoo/override.env","pyproject.toml","qdrant/override.env","qrgen/Dockerfile","qrgen/gen.ts","repopack/Dockerfile","repopack/override.env","searxng/override.env","searxng/settings.yml","searxng/settings.yml.new","searxng/uwsgi.ini","shared/README.md","shared/json_config_merger.py","shared/yaml_config_merger.js","shared/yaml_config_merger.py","speaches/hf_utils.py","speaches/override.env","stt/override.env","tabbyapi/api_tokens.yml","tabbyapi/config.yml","tabbyapi/override.env","tabbyapi/start_tabbyapi.sh","textgrad/Dockerfile","textgrad/override.env","textgrad/workspace/000-sample.ipynb","tts/config/pre_process_map.yaml","tts/config/voice_to_speaker.yaml","tts/override.env","vllm/Dockerfile","vllm/override.env","webtop/.gitignore","webtop/Dockerfile","webtop/init/create_symlink.sh","webtop/init/fix_desktop_app.sh","webtop/init/provision_docker_groups.sh","webtop/override.env"] [[tool.poetry.packages]] include = "harbor"