Repository navigation
docs: new brand, docs sections, website and README (merge after the release) - #13178
mudler-agent wants to merge 50 commits into
Conversation
|
Pushed fcdbc12: removes the old server-rendered web UI from the main server (model editor and 404 templates, the Go that rendered them, the template renderer setup). /import-model and /models/edit/:name now redirect to the React routes /app/import-model and /app/model-editor/:name. The standalone Explorer server page stays, with the assets it loads, because that server does not serve the React app. Note: the file deletions (4 templates and 41 unused static assets) were staged by mistake and landed in the previous README commit caffe2e, so the removal is split across those two commits. To drop it as one unit, split caffe2e first. Assisted-by: Claude Code:claude-sonnet-5-5 |
|
Old server-rendered web UI: removed in two commits on this branch. The page and static-asset deletions landed inside Assisted-by: Claude Code:claude-sonnet-5-5 |
f0a2e5c to
57675a7
Compare
57675a7 to
cedf871
Compare
Replace wording that promises more than the code delivers. - Drop "any model" and "any hardware". Say "open models on your own hardware" and list the hardware that is supported. - Drop "your data never leaves your infrastructure". Web search, mail and model downloads talk to outside services, so say the server, the models and the files are self-hosted. - Drop "free alternative to OpenAI, Anthropic". Say the API follows the OpenAI and Anthropic formats. - Remove the hard-coded v4.8.0 from the website hero kicker. - Point the release badge, contributor links and the citation at mudler/LocalAI, and close the citation block. Touches the README, the docs head meta description, the docs overview and quickstart intro, and the website description. Assisted-by: Claude Code:claude-sonnet-5-5
Replace the logo and icon files that the repo already ships with the new mark, by file name, so no code changes. The mark is the rounded teal tile with the cream llama, used for the navbar, favicon, app icon and avatar. - core/http/static: logo.png (915 KB to 34 KB), favicon.svg (111 KB to 4.8 KB), apple-touch-icon.png (180 px). - docs/static: the favicon set (svg, ico, 16, 32), apple-touch-icon and the two android-chrome icons. docs/assets/images/logos: logo.png and logo.svg. - website/static/img: logo-mark.png is now square, logo-full.png is the 400 px square tile (it is also the og:image). - cmd/launcher/logo.png: 512 px square instead of 52x70. Not changed: core/http/static/logo_horizontal.png (the new wide lockup has a cream background, so it needs a check on the dark UI first), the docs site.webmanifest, and any og card or social preview, which the repo does not ship at a path yet. Assisted-by: Claude Code:claude-sonnet-5-5
Rebuild the README around what a first-time visitor needs: a banner, three badges, what LocalAI is, a quick start, what you can do, and three news items. It goes from 358 to about 170 lines, and the part before the resources list is about 130. - Add docs/static/images/readme/hero.jpg (1200x630, 90 KB), a banner made with the branding kit "og" preset. The text states only what holds for the current release. - Merge the long feature list and the nine bullets into a short intro and one table with the same links. - Fold the GPU docker commands, the guided tour videos, the table of backends built by the project, and the citation and acknowledgements into collapsed sections. All their links are kept. - Keep the three newest news items and point to the releases and blog. - Remove the X and Trendshift badges, the translation links, the old news list, the past sponsors, the placeholder gist example and the agenthub link. Add links to CONTRIBUTING and SECURITY. - State that the name, logo and mascot art are not under the MIT license. Relative links and image paths were checked to exist. Assisted-by: Claude Code:claude-sonnet-5-5
The docs had a flat tree with 91 hand-set URLs. Group the pages by task: Start here, Concepts, Features, Add-ons, Models and backends, API, Administration, Reference and Contributing. The URL of a page now follows its file path. Every URL that was published before still works. Each moved page lists its old URL under aliases, so Hugo writes a redirect page for it. relref links and in-text links point to the new locations. docs/redirects.txt lists the published URLs. check-docs-redirects.sh checks that each one still serves a page or a redirect that ends on a page, in the docs build and, optionally, in the merged site after gen-redirects.sh. Wording in the home page and the overview no longer says that data never leaves the machine or that LocalAI runs any model. Assisted-by: Claude Code:claude-sonnet-5-5
Replace the zen-dark and neon variants with two generated ones, localai-light and localai-dark. docs/brand/theme-localai.css is a copy of the LocalAI colour tokens, and docs/tools/gen-theme-variants.py writes both Relearn variants from it. The system setting picks the variant. Callouts use the accent, ok, warning and error roles, and code blocks use the chroma style of the active variant instead of a fixed black one. Use the tile logo set: the light and dark lockups in the menu header, and the favicon, touch icon and manifest icons. Titles use the Geist font, which the site now serves itself. Remove files that came from an older docs template and that no page or layout used: a head and header partial, a landing data file, old screenshots, a package file and a Docker setup. Replace the copied tutorial text on the 404 page. Fix the README. State in the quickstart what LocalAI does, without comparing it to a product. Assisted-by: Claude Code:claude-sonnet-5-5
The docs site was only built after a push to master, so a page that broke the build, or a moved page that left a dead link, showed up after the merge. docs-pr.yml builds the site for every pull request that touches docs/, with the Hugo version that the deploy workflow pins. It then checks that every URL in docs/redirects.txt still resolves, in the docs build and in the merged site with the root-level redirects. It also checks every internal link and every anchor, and three broken anchors that it found are fixed. docs-links-external.yml checks links to other sites once a week and keeps the report; it never fails the build. The deploy workflow runs the redirect check before it uploads the site. 22 diagram images used a path that starts at the site root. The images are published under /docs/, so they did not load. Point them there. Assisted-by: Claude Code:claude-sonnet-5-5
…dd-ons New pages, each checked against the code and the docs of the same change: - Files and shared folders, Sandbox and Office documents. - Users and sharing, with the per-user features that are off by default. - Home widgets and live pages: widget kinds, how to add, remove and order them, and how a schedule or a file trigger keeps one current. Pages and triggers must be turned on for a user by an administrator. - Connectors and agents: one agent for each binding, send_files, and collections only when the agent names them. - Add-ons: a user guide, and a tutorial that builds a small add-on, tests it and packs it as a zip. The tutorial code was built, vetted and tested, and the zip was packed, with the repository scripts. - A short docs style guide. Add-ons are marked as add-ons. Sandbox, Simple Office and the connector add-ons are named as development-channel library entries. The Features index lists the new pages. The add-on pages get clearer titles. Doc paths that code, tests and workflow filters read now point to the new locations. The provider guard test lists the core pages by name, because the folders it scanned were split up. Assisted-by: Claude Code:claude-sonnet-5-5
Rewrite the home page as twelve short sections and add Features (nine pages), Get started and Download pages. Light is the default theme, dark follows the system or a toggle. Colours come from the generated brand theme file, fonts are self-hosted subsets, and the logo and mascot art are copied by file name from the branding kit. The old canvas field, the hard-coded counters and the "any model" wording are gone from the home page. Blog, engines and tag pages keep the previous design until they move over. Assisted-by: Claude Code:claude-sonnet-5-5
The 5 minute floor between two runs of a schedule trigger is checked for a schedule set by a model, on the Triggers page and through the API (MinCadence in the studio service). Three pages said it only for schedules proposed in a chat. Say it once, the way the code does, and fix a code comment that still said one hour. Assisted-by: Claude Code:claude-sonnet-5-5
The name, logo and mascot art are all rights reserved. State what people may do with them without asking (articles, talks, community posts that mention LocalAI, unmodified logos) and what they may not, and link the statement from the License section of the README. The code keeps its MIT license. Assisted-by: Claude Code:claude-sonnet-5-5
The script asserted the exact copy of the previous home page: a heading, a testimonial section and an engine list that the new home page does not have. No workflow runs it, so it only fails when someone runs it by hand. Assisted-by: Claude Code:claude-sonnet-5-5
The 32 px favicon and the work scene were copied with the rest of the set but no page, manifest or template uses them. Assisted-by: Claude Code:claude-sonnet-5-5
The table of native engines developed by the project was inside a collapsed block near the end of the page. It is now a visible section before the news, with every row kept. Assisted-by: Claude Code:claude-sonnet-5-5
The React app in core/http/react-ui is the web UI. Two server-rendered pages were still alive on the main server: the model editor and the 404 page. Remove them with the partials only they used, and the Go that rendered them. What changes: - GET /import-model and GET /models/edit/:name now redirect (301) to /app/import-model and /app/model-editor/:name. They keep the admin gate and the reverse-proxy path prefix. - The main server no longer sets up a template renderer. A missing route answers JSON, or the React index for a browser, as before. - Remove GetEditModelPage and its test case. - Remove webui_static.yaml entries for deleted assets and fix the deprecation notes (Makefile gen-assets, dependencies_manager). - go mod tidy: blackfriday is no longer used. - Docs and agent notes point at /app/import-model. Kept: the standalone Explorer server (`local-ai explorer`) still renders views/explorer.html with head, footer and navbar_explorer, and it has no React replacement served by that server. It keeps exactly the static assets those pages load. Its browser 404 is now JSON. /static/logo.png, logo_horizontal.png, favicon and apple-touch-icon stay for the React branding defaults and the Swagger skin. Note: the deletions of 404.html, model-editor.html, navbar.html, inprogress.html and the unused files under core/http/static/assets were staged in this worktree and landed in the previous commit (caffe2e) by mistake. This commit holds the Go, docs and config side. Assisted-by: Claude Code:claude-sonnet-5-5
Assisted-by: Claude Code:claude-sonnet-5-5
Replace the README hero image with the new 1200x630 banner. The headline is "Your own AI, on your own hardware." and the pills name the four pillars: sandboxed agents, documents, team and add-ons. The image keeps its path, so nothing else changes. The alt text describes the new banner. Assisted-by: Claude Code:claude-sonnet-5-5
Sandbox and Add-ons linked to the add-on contract reference, Office to Simple Office, Files to Chats and Team to Authentication. Each now opens the page that explains the feature to a user. The Engines page linked to a backends page that does not exist, so it uses the models backends page. Assisted-by: Claude Code:claude-sonnet-5-5
presenter.mp4 shows a private address in the browser bar. The film, the UI loop, the gallery loop, the old UI screenshot and the other files in this commit are not used by any page, post or script. The blog posts keep their own clips. Assisted-by: Claude Code:claude-sonnet-5-5
Every page now shares one head, one top bar and one footer. The head writes a unique title and description, a canonical link, one Open Graph and Twitter set, the structured data of the home page, and a share card per feature page. The bar has a skip link, visible focus rings and a burger menu below 860 px that opens with the keyboard and closes with Escape. The reveal effect is switched on by the script, so the content is visible without it and with reduced motion. Add robots.txt, a sitemap index for this site and the docs site, and a 404 page with a search box, Get started and the docs home. The install panel adds the helm repo step before helm install so the command runs. Assisted-by: Claude Code:claude-sonnet-5-5
The headline is "Your own AI, on your own hardware." with "Ready to work for you." under it. The hero has a 5.0 pill, Get started, a link to the grid, the install line with copy, and links for macOS, Docker and Kubernetes. The mascot scene stays as the hero visual. There is no film and no play button. A facts strip, eight feature sections in the order of the proposal, the Everything in 5.0 grid of ten cards that link to the docs, the install tabs and a one-line end card follow. Each section shows a coded, generic illustration inside a demo-slot figure. Setting one field in data/home.yaml swaps it for a muted loop. The README documents the slot. Assisted-by: Claude Code:claude-sonnet-5-5
Each feature page shows an illustration in a demo slot instead of a mascot scene, so the missing sandbox scene no longer breaks the page. Add a Collections page, order the list, give each card an icon and make the Read more link name the feature. Remove the inline styles. The download and get-started pages link to the install, quickstart and GPU pages directly instead of through a redirect. Assisted-by: Claude Code:claude-sonnet-5-5
These pages kept the previous dark design with its own header, footer, fonts and style sheet, and four header anchors that pointed nowhere. They now use the same shell, tokens and light and dark themes as the rest of the site, and the engines clips have posters so they do not show an empty box before they play. Remove the previous design: its style sheet, script, partials, the Sora and Fredoka fonts, the old logo images and the depth field image. Fix a decision-models link that went through a redirect. Assisted-by: Claude Code:claude-sonnet-5-5
The labels sit in rows so close releases do not overlap. The new body size made them taller than the row step, so the third label ran into the leader line of the next one. Widen the step and the label width. Assisted-by: Claude Code:claude-sonnet-5-5
Each item was checked against the code before the change. - Use `--auth-enabled`, not `--auth`, for distributed mode. - Use the flag names that kong derives from the struct fields, checked with kong v1.15: --disable-web-ui, --collections-apiurl, --git-hub-client-id, --external-base-url, --peer-2-peer-network-id, --nats-worker-jwtttl, --nats-tlsca and --mitmca-dir. - Remove the CUDA 11 tags and the v1.40.0 image pins, which are not published. CI builds cuda-12 and cuda-13 only. - Replace gallery names and files that do not exist: qwen3-4b instead of hermes-2-theta-llama-3-8b, localai@stable-diffusion-3-medium instead of gallery/stablediffusion.yaml, and drop base.yaml and gpt4all-j.yaml. - Document the transformers backend with type SentenceTransformer for Hugging Face embeddings. There is no sentencetransformers backend. - Remove REBUILD, DISABLE_AUTODETECT and other startup variables that no code reads. - Run MLX distributed with the native binary. No metal image exists. - Remove the claim that the macOS DMG is not signed. The release workflow signs and notarizes it. - Remove the Intel Mac line from the compatibility table. The release has no darwin/amd64 binary. - Give the Kubernetes page one path: helm repo add first. - Rename the roadmap heading, drop future promises and the old backstory, mark placeholder names, and remove the docker stub page (its URLs stay as aliases of the containers page). Assisted-by: Claude Code:claude-sonnet-5-5
Features are now in seven task groups (chats and agents, files and documents, text, audio, images and video, engines, training). Every page keeps its old URL through the url front matter, so no link breaks. Structure - Merge simple-office into office, connectors-and-agents into chats-connectors, and agents into chats-migration. The old URLs stay as aliases and are in the redirect list. - Order the top level as Start, Use (features), Run (models, add-ons, administration) and Build (API, reference, contributing). - Fix the Hugo 0.166 config warnings (locale, label, author, search) and use hugo.Data in the version shortcode. Shortcodes - Replace the notice shortcode with callout, tab name with title, and relref with angle brackets with the percent form. - Update the shortcode rule in the coding style guide. Content - Install page: one recommendation (install script on Linux and macOS, container elsewhere), the script variables, no video. - Quickstart: script first, cuda-13 in the image table, a "You should see" line for each step, the security notice moved to the end, and a link to the first agent. - Remove the old-UI screenshots from the models index, GPT Vision, reranker, OpenAI functions and image generation pages, and the YouTube walkthrough. Replace the macOS badge with a text link. The docs build now has one warning instead of 63. Assisted-by: Claude Code:claude-sonnet-5-5
- Docs home: three steps with copyable commands, ten capability rows tagged Add-on, Built in or Admin on (each checked against the docs and the feature defaults), and a Go further row. - What's new in 5.0 replaces the pointer page with a summary of ten capabilities, each with a link and a tag. - Theme: sidebar group labels (Start, Use, Run, Build), a link back to localai.io in the top bar, one page footer with the site links and Edit this page, a branded 404, visible focus, code language labels, tables that scroll on phones. - One Open Graph and Twitter set per page (the theme writes it, the share image is a site parameter), a canonical link, keywords in the search index, and the site title separator. Assisted-by: Claude Code:claude-sonnet-5-5
… pass - Add a unique description and keywords to 30 top pages so a search for team, install, add-on, sandbox or office finds the right page first. - Fix heading jumps (h1 to h3, h2 to h4) and a second h1 on five pages. - Rewrite the overview, the start index and the architecture intro in short sentences, with the same install advice as the install page. - Remove filler words from the pages that had them. Assisted-by: Claude Code:claude-sonnet-5-5
One stylesheet with the LocalAI brand tokens, local Geist fonts and a Chrome script that renders each diagram as a light and a dark PNG, with no network access. Assisted-by: Claude Code:claude-sonnet-5-5
Redo all diagrams on the shared style. Fix ds4 layer ownership, the voice forget route, the fine-tuning route and job states, the SmartRouter disk check, the MCP loop limit and the distributed label overflow. Remove LocalAGI boxes and the unused fine-tune recipe. Add the 5.0 story, the request flow and the add-ons and permissions diagrams. Assisted-by: Claude Code:claude-sonnet-5-5
Rewrite the intro and bullets, lead the install with the script, drop the old videos and the unsigned DMG warning, point the links to the current docs pages, and leave a marked place for the 5.0 news entry. Assisted-by: Claude Code:claude-sonnet-5-5
The docs embedded one PNG per diagram, so a dark page showed a light image. A diagram shortcode now emits both pictures and the CSS shows the one that matches the system setting or the theme variant picked in the menu. Add the new diagrams to their pages, and write alt texts that describe the redrawn diagrams. Assisted-by: Claude Code:claude-sonnet-5-5
The README, the website install partial, the download page, the docs install index and the quickstart now list the install methods in the same order, and say which platforms the script supports. The docs install index gains a macOS app section. Assisted-by: Claude Code:claude-sonnet-5-5
The script printed a getting-started/build link that no longer exists. Assisted-by: Claude Code:claude-sonnet-5-5
free-splatter.cpp and voxtral-tts.c have no backend or gallery entry here, so the engines page and the home page no longer list them. The engine counts are computed from the data and now read 17. Assisted-by: Claude Code:claude-sonnet-5-5
The style guide told writers to use the old headline, and the models page used it as a lede. Both now agree with the 5.0 product line. Assisted-by: Claude Code:claude-sonnet-5-5
The text "Page: <title>" was raw HTML, so browsers opened a title element and hid the rest of the page, including the anchors that other pages link to. Put it in code formatting. Assisted-by: Claude Code:claude-sonnet-5-5
…ai.io The website footer now ends with the same row as the docs page footer: licence, localai.io, GitHub, Discord and Edit this page. The docs menu footer links back to localai.io. Assisted-by: Claude Code:claude-sonnet-5-5
The theme sets display on every image, so both pictures showed. Use !important on the swap rules. Assisted-by: Claude Code:claude-sonnet-5-5
Assisted-by: Claude Code:claude-sonnet-5-5
The core and assistant pictures did not name MCP. Add an MCP client and server cell to the core in the composable-core and architecture diagrams, and MCP tools (built in) and Tables (add-on) to the assistant story. The MCP diagram said the tool loop stops after 10 steps; that is the API default, chats stop after 40. Extend the alt texts to match. Assisted-by: Claude Code:claude-sonnet-5-5
The banner pills now read Sandboxed agents, MCP, Documents, Team and Add-ons. Pill text is 18 px so that five fit in one row clear of the circle. The intro bullet names MCP servers next to the tools of an agent. Assisted-by: Claude Code:claude-sonnet-5-5
Core pages stay under Features in five groups. The media pages, the engines and the training pages move under Models and backends. The pages that are an add-on move under Add-ons. Every old address stays as an alias, and the links inside the docs point at the new places. Several pages get a short task-first title. Assisted-by: Claude Code:claude-sonnet-5-5
Each add-on in the library gets a page that says what it adds, who installs it and who turns it on, with a link to its guide. The guides of the pure add-ons carry the same block at the top. The facts come from the add-on manifests and the existing guides. The fine-tuning page said fine-tuning is always enabled. The route is gated by the add-ons feature, so the text now says what is in the core and what is in the add-on. Assisted-by: Claude Code:claude-sonnet-5-5
The summary table had an empty header row. Assisted-by: Claude Code:claude-sonnet-5-5
Features is now a short front door with five task groups and a tag for each page: built in, add-on or admin on. What models can do and the add-on catalogue get the same kind of front door. The sidebar order is Start here, Concepts, Features, Add-ons, Models and backends, Administration, API, Reference and Contributing, and the Start, Use, Run and Build labels stay. Assisted-by: Claude Code:claude-sonnet-5-5
The README, the website and the docs home link straight to the new pages, so no link passes a redirect. The new addresses join the list of published URLs that CI checks. Paths of docs pages in tests, CI path filters, code comments and the contributor guides now name the files where they are. Several of them were already out of date. Assisted-by: Claude Code:claude-sonnet-5-5
Assisted-by: Claude Code:claude-sonnet-5-5
The rebase onto master dropped the lockup SVG tweaks and the JPEG share card of the docs and the website, because master already carries the shared parts of the same brand work. Restore the branch versions: the transparent horizontal lockups for both sites and og-card-1200x630.jpg, which the docs config and the website head template reference. Assisted-by: Claude Code:claude-sonnet-5-5
Master added the paired clients page and new links in the old page layout. Move the page into the add-ons section, keep its public URL, list it in the add-ons index, and point every relref that master added at the new locations of the chats, pages, runtime settings, model configuration and add-on pages. Assisted-by: Claude Code:claude-sonnet-5-5
cedf871 to
32299d6
Compare
This is the docs, website and README part of the new brand. Merge it after the release. The web UI and code part is already merged (#13187). This branch was rebased on master after that merge and holds only docs, website, README and the path references that follow the docs move.
Description
A new look for LocalAI across the README, the docs and the website: one logo teal, a cream light theme with a matching dark theme, the new logo set, and rewritten copy that only says what the code does. The docs are also regrouped into nine sections, with every old URL kept.
What changed
BRAND-USAGE.md.logo.pnggoes from 915 KB to 34 KB,favicon.svgfrom 111 KB to under 5 KB.docs/redirects.txtlist of 122 old URLs and a check script, the Relearn theme with light and dark variants generated from the token file, a docs build workflow for pull requests (build, redirect and link checks), and new pages for Files and shared folders, Sandbox, Office, Users and sharing, Home widgets, Connectors, add-ons for users and an add-on author tutorial.Logo and mascot rules
BRAND-USAGE.mdsays what people may do without asking.Review first
adacf8c2d), since it moves most pages.docs/redirects.txtand the new docs build workflow.BRAND-USAGE.mdand the License section.Things to know
test.yml, add-on workflows). It deletes old-theme leftovers (old logos, screenshots and a head partial)..github/ci/test-website-review-143.sh: it asserted the exact copy of the old home page and no workflow runs it.Verified
After the split
go vetand the tests of the packages that read doc paths pass.Not verified
netlify.tomlstill pins an older Hugo.Assisted-by: Claude Code:claude-sonnet-5-5