Files
LocalAI/website/data/ecosystem.yaml
Ettore Di Giacinto e6b235baf2 fix(website): wrap the timeline, run integrations as a reel, fix blog cards
The timeline set six 15rem columns in a flex row with overflow-x:auto, which
needs 90rem and so scrolled sideways on any normal laptop. It is a wrapping
grid now, and the rule that carries the dots moves from the container onto
each item so a wrapped row still gets a line above it. Column gap is zero and
the items carry their own right padding, so the rule stays continuous.

Integrations move from a card grid to a reel. Any single integration is a weak
signal and the whole moving line is the strong one, so the count is doing the
argument. It pauses on hover and on keyboard focus, since the names are links.
The list grows from 8 to 26: Open WebUI, Dify, LibreChat, RAGFlow, Continue,
big-AGI, Nextcloud, Frigate, promptfoo, Mods, TypingMind, baibot, k8sgpt-
operator and others. Each was admitted only after opening that project's own
repository or docs and reading the line that names LocalAI. The ones that
failed that test are listed in the data file so nobody re-adds them.

The blog cards were hand-written, which is how one of them came to advertise
"Porting vLLM to C++", a post that does not exist, and how all three linked to
the blog index instead of an article. They range over the posts now.

The section intro used the "a changelog tells you what moved, these posts show
you what it does" shape, which is the standard machine-written antithesis. It
states what the posts contain instead, including the perplexity regression
that APEX costs, because publishing the price is the actual claim.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude Code:claude-opus-5[1m]
2026-07-31 14:55:16 +00:00

196 lines
10 KiB
YAML

# Who shows up around LocalAI, and the evidence for each claim.
#
# Three lists, three different strengths of evidence. Keep them separate: a
# person fixing a typo is not their employer adopting the project, and saying
# so invites a takedown request.
#
# contributors someone with commits in this repository whose public GitHub
# profile names that employer. Evidence is the commit history
# plus a self-declared field, so the claim is about the person.
# integrations the other project's own repository or documentation
# references LocalAI. Checkable by anyone, needs no permission.
# press somebody else published a piece about LocalAI.
#
# Companies that want to say they use LocalAI add themselves to ADOPTERS.md at
# the repository root. That pull request is the permission, which is why the
# adopters list is kept apart from this file.
#
# Refreshed on 2026-07-31. Contribution counts are from the GitHub API.
contributors:
note: "Engineers whose public profile names these employers have commits in the repository."
# The landing page prints the names only, not the per-company counts: a "1
# commit" stamp next to a large employer reads as weakness even though the
# claim is exactly as true. The counts stay here because they are the
# provenance for the list, and anyone re-checking it needs them.
companies:
- { name: "Microsoft", people: 3, commits: 20 }
- { name: "Spectro Cloud", people: 3, commits: 11 }
- { name: "VictoriaMetrics", people: 1, commits: 5 }
- { name: "Acronis", people: 1, commits: 5 }
- { name: "BearingPoint", people: 1, commits: 4 }
- { name: "Zendesk", people: 1, commits: 3 }
- { name: "Nextcloud", people: 1, commits: 2 }
- { name: "Scaleway", people: 1, commits: 2 }
- { name: "Kubermatic", people: 1, commits: 2 }
- { name: "Avanade", people: 1, commits: 2 }
- { name: "IBM", people: 1, commits: 1 }
- { name: "Ableton", people: 1, commits: 1 }
- { name: "Atlassian", people: 1, commits: 1 }
- { name: "TikTok", people: 1, commits: 1 }
- { name: "CockroachDB", people: 1, commits: 1 }
- { name: "MediaTek", people: 1, commits: 1 }
- { name: "Samsung SDS", people: 1, commits: 1 }
- { name: "Ant Group", people: 1, commits: 1 }
- { name: "Deloitte", people: 1, commits: 1 }
- { name: "solo.io", people: 1, commits: 1 }
- { name: "Qonto", people: 1, commits: 1 }
academia:
- MIT
- University of Edinburgh
- RMIT
- Rochester Institute of Technology
- University of Miami
- USC
integrations:
note: "These projects reference LocalAI in their own repository or documentation."
# Admission rule: the project's OWN repository or official docs must name
# LocalAI as a provider, backend or integration. A blog post saying so is not
# enough, and neither is a generic "any OpenAI-compatible server" line that
# never names us. Every entry below was opened and read before being added,
# and the quote that justifies it is in the pull request that added it.
#
# Deliberately excluded after checking: LiteLLM, n8n, Home Assistant core,
# BionicGPT, Semantic Kernel, Spring AI, Jan, CrewAI, Haystack, Onyx,
# SillyTavern, Portkey and Kong all have zero mentions in their own repos.
# PrivateGPT and Langflow name us only in passing comparisons or a tooltip.
# Tools4AI has a LocalAI processor whose methods return null.
projects:
- name: AnythingLLM
by: Mintplex Labs
url: https://github.com/Mintplex-Labs/anything-llm
what: "Runs LocalAI as a model provider for its chat and document workspaces."
- name: LangChain
url: https://python.langchain.com/docs/integrations/providers/localai/
what: "Documents LocalAI as a provider in the Python integrations."
- name: LlamaIndex
url: https://docs.llamaindex.ai/en/stable/examples/llm/localai/
what: "Documents LocalAI as an OpenAI-compatible LLM you can point it at."
- name: Open WebUI
url: https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-openai-compatible
what: "Connects to LocalAI as an OpenAI-compatible local server."
- name: Dify
by: LangGenius
url: https://marketplace.dify.ai/plugin/langgenius/localai
what: "Ships an official LocalAI plugin for inference and embeddings."
- name: LibreChat
url: https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/speech
what: "Uses LocalAI as a speech provider for text to speech."
- name: RAGFlow
by: InfiniFlow
url: https://ragflow.io/docs/supported_models
what: "Lists LocalAI as a model provider, and ships a driver for it including rerank."
- name: Flowise
by: FlowiseAI
url: https://github.com/FlowiseAI/Flowise
what: "Offers LocalAI as a node for chat and embeddings in its visual builder."
- name: Continue
url: https://docs.continue.dev/customize/model-providers/top-level/openai
what: "Lists LocalAI among the OpenAI-compatible providers the editor can target."
- name: big-AGI
url: https://github.com/enricoros/big-AGI/blob/main/docs/config-local-localai.md
what: "Adds LocalAI as a model source, with its own setup page and env vars."
- name: K8sGPT
by: CNCF Sandbox
url: https://docs.k8sgpt.ai/reference/providers/backend/
what: "Lists LocalAI as an analysis backend, alongside Bedrock and Azure OpenAI."
- name: k8sgpt-operator
by: k8sgpt-ai
url: https://github.com/k8sgpt-ai/k8sgpt-operator
what: "Sets LocalAI as the backend on the K8sGPT custom resource, with no OpenAI secret."
- name: Nextcloud
url: https://apps.nextcloud.com/apps/integration_openai
what: "Points its text, image and speech features at a self-hosted LocalAI."
- name: Frigate
url: https://github.com/blakeblackshear/frigate/blob/dev/docs/docs/configuration/genai/config.md
what: "Names LocalAI as a server for its generative AI features."
# Present in the dev branch docs source; not yet on the published site.
- name: Kairos
url: https://github.com/kairos-io/kairos
what: "Ships LocalAI as part of its immutable Linux distribution."
- name: AIKit
by: Sertac Ozercan
url: https://github.com/sozercan/aikit
what: "Builds fine-tuned models into images that serve through LocalAI."
- name: langchain4j
url: https://github.com/langchain4j/langchain4j
what: "Ships a LocalAI module, so JVM applications can target it directly."
- name: promptfoo
url: https://www.promptfoo.dev/docs/providers/localai/
what: "Provides a localai: prefix so evals run against chat, completion and embeddings."
- name: Mods
by: Charm
url: https://github.com/charmbracelet/mods
what: "Reads a LocalAI endpoint from its config, so the CLI pipes shell output to a local model."
- name: TypingMind
url: https://docs.typingmind.com/manage-and-connect-ai-models/local-ai
what: "Documents pointing a custom model endpoint at a LocalAI server."
- name: baibot
by: etke.cc
url: https://github.com/etkecc/baibot/blob/main/docs/providers.md
what: "Has a first-class localai provider for text, speech to text and text to speech."
- name: LLM Vision
by: Home Assistant
url: https://github.com/valentinfrlch/ha-llmvision
what: "Lists LocalAI as a provider for analysing camera images and video feeds."
- name: VoxInput
url: https://github.com/richiejp/VoxInput
what: "Sends desktop voice input to LocalAI for transcription and a realtime assistant."
- name: Obsidian BMO Chatbot
url: https://github.com/longy2k/obsidian-bmo-chatbot
what: "Lists LocalAI as a self-hosted endpoint for the note-taking chat plugin."
- name: ShellOracle
url: https://github.com/djcopley/ShellOracle
what: "Ships a LocalAI provider for turning natural language into shell commands."
- name: QA-Pilot
url: https://github.com/reid41/QA-Pilot
what: "Runs its repository chat against a LocalAI base URL."
press:
note: "Written about LocalAI, by people who do not work on it."
# One card per outlet. SUSE published four posts, and listing them as four
# entries made a single vendor look like the whole of the coverage; as one
# series entry the repetition becomes the point instead of the problem.
#
# Every entry here has been opened and checked to confirm it is about this
# project. Two earlier "coverage" links were not: a modelslab.com piece that
# reviewed Frikallo/parakeet.cpp, an unrelated project of the same name, and
# a snailtext.app benchmark of Parakeet through ONNX Runtime that never
# mentioned LocalAI at all. Verify before adding.
articles:
- outlet: Pulumi
title: "Deploy low-code LLM apps on AWS with Flowise and LocalAI"
author: "Engin Diri"
date: "2024-02-26"
url: https://www.pulumi.com/blog/low-code-llm-apps-with-local-ai-flowise-and-pulumi/
what: "A full EKS deployment, with LocalAI doing inference and no GPU in the cluster."
- outlet: Semaphore
title: "LocalAI: replacing OpenAI API with open-source"
author: "Tomas Fernandez"
date: "2023-12-19"
url: https://semaphore.io/blog/localai
what: "Swapping an existing OpenAI integration over to LocalAI, endpoint by endpoint."
- outlet: Spectro Cloud
title: "K8sGPT + LocalAI: unlock Kubernetes superpowers for free"
author: "Tyler Gillson"
date: "2023-04-29"
url: https://www.spectrocloud.com/blog/k8sgpt-localai-unlock-kubernetes-superpowers-for-free
what: "Cluster diagnosis through K8sGPT, answered by a model running on CPU."
- outlet: SUSE
title: "A four-part series on running AI locally"
author: "Christian Huller"
date: "2025-11-24"
url: https://www.suse.com/c/running-ai-locally/
what: "Install on openSUSE and drive it from VS Code, add your own documents with RAG, put a Confluence space behind a local model, then train a LoRA and serve it."