{"id":"79899e3f-8014-40b2-a461-6ed98e77477e","slug":"fornax","kind":"mcp","name":"fornax","summary":"Run open models locally: chat, images, speech, decisions, and an OpenAI-compatible API.","owner":"earshot-run","repoUrl":"https://github.com/earshot-run/fornax","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-09-21T05:39:31.000Z","addedAt":"2026-10-21T09:43:59.478Z","logoUrl":"https://avatars.githubusercontent.com/u/320843839?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["communication","design-media"],"tags":["ai-studio","gguf","go","huggingface","llm","local-ai"],"runtime":"go","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T07:31:28.508Z","sample":false,"url":"https://conduits.dev/tools/fornax","language":"Go","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"center\"><img src=\"assets/brand/github-banner.png\" alt=\"fornax\" width=\"100%\"></p>\n\n[![ci](https://github.com/earshot-run/fornax/actions/workflows/ci.yml/badge.svg)](https://github.com/earshot-run/fornax/actions/workflows/ci.yml)\n[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![latest release](https://img.shields.io/github/v/release/earshot-run/fornax?label=release)](https://github.com/earshot-run/fornax/releases/latest)\n\n[English](README.md) · [简体中文](README.zh-CN.md) · [Command reference](docs/reference.md) · [Contributing](CONTRIBUTING.md)\n\nfornax runs open models on your own computer. Chat with them, make images,\nvideo and speech, have them make decisions, and keep everything on your\nmachine.\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/earshot-run/fornax/main/install.sh | sh\nfornax studio\n```\n\nInstalls the latest successful `main` build; no Go toolchain needed.\n\n![Chatting with a local model in fornax studio](assets/screens/studio-chat.gif)\n\n## The studio\n\n`fornax studio` opens in your browser. Pick a model, type, and it streams\nback. Drop in a photo if the model can see, or talk to it if it can hear.\nYour chats are saved.\n\n![Making images in fornax studio](assets/screens/studio-image.png)\n\nImage, video and voice work the same way: describe what you want, watch it\ncome in step by step, and find everything later in the gallery. Edit an\nimage by giving it a reference, or clone a voice from a few seconds of audio.\n\n![Voice clips in fornax studio](assets/screens/studio-voice.png)\n\n## Models\n\nOpen **Models** in the studio. Chat, image, voice and video each list the\nmost-downloaded models of that kind on Hugging Face, plus a few picks that\nfit your computer, and either downloads with one click. Search finds any\nother GGUF model and can check its size before you download it. Gated\nmodels like Llama need a Hugging Face token; add yours on the same page.\n\nFrom a terminal it's one line, with any model on Hugging Face or Ollama:\n\n```sh\nfornax pull hf:Qwen/Qwen3-4B-GGUF\nfornax ask hf:Qwen/Qwen3-4B-GGUF \"Explain what a GGUF file is in one sentence.\"\n```\n\nIf Hugging Face is slow or unavailable where you live, set `HF_ENDPOINT` to\nan HTTPS mirror origin (for example `https://hf-mirror.com`). Mirrors do not\nreceive your Hugging Face token,\nso use the official endpoint for gated models. See the\n[download reference](docs/reference.md#downloads-and-hugging-face-tokens).\n\n## Decisions\n\nSome models don't chat. They answer typed questions about a piece of text\nwith calibrated probabilities: yes or no, one of a few options, or a level\non a scale. That's the job behind routing a support ticket, flagging a risky\nmessage or grading an answer, and a local model does it in a fraction of a\nsecond, for nothing.\n\n```sh\nfornax judge kev-4b \\\n  --state \"Customer: I was charged twice this month and nobody has answered my last three emails. If this isn't fixed today, I'm cancelling.\" \\\n  --ask 'escalate|noul|Does this need a human today?' \\\n  --ask 'topic|choice|What is it about?|billing|bug|sales|other' \\\n  --ask 'mood|score|How upset is the customer?|calm|annoyed|angry'\n```\n\n```\n  escalate noul    0.94  ███████████████████░\n  topic    choice  billing\n      billing 0.64  █████████████░░░░░░░\n      other   0.29  ██████░░░░░░░░░░░░░░\n      bug     0.06  █░░░░░░░░░░░░░░░░░░░\n      sales   0.01  ░░░░░░░░░░░░░░░░░░░░\n  mood     score   1.70 → angry\n      angry   0.71  ██████████████░░░░░░\n      annoyed 0.28  ██████░░░░░░░░░░░░░░\n      calm    0.01  ░░░░░░░░░░░░░░░░░░░░\n  179 ms\n```\n\nfornax ships two open families of these: [kev](https://github.com/jaredpalmer/kev),\nJev-style models from 0.8B to 27B, and Convai's smaller\n[laya](https://github.com/NandhaKishorM/laya). Both speak TypeSafe's System\nOne API, so `fornax run kev-4b` gives you a local server the official\nTypeSafe SDK talks to unchanged.\n\n## Not enough GPU?\n\nRun the studio on a bigger machine, a GPU box at home or a rented cloud GPU,\nand use it from your laptop:\n\n```sh\nfornax studio -on me@gpu-box\n```\n\nfornax picks the right build for the hardware (Metal, CUDA, Vulkan or plain\nCPU), and `fornax doctor` tells you which one it chose and why.\n\n## Safe by default\n\nModels only listen on your own machine and need a key that fornax generates\nfor you.\n\n## For scripts and agents\n\nEverything above also works from the terminal: `ask`, `see`, `hear`,\n`imagine`, `say`, `embed`, `judge`, `run` and more, plus an MCP server for agents.\nIn [Earshot](https://earshot.run), the [fornax plugin](plugin) hands that\nserver to every agent you run. The full command reference and how it all works is in\n[docs/reference.md](docs/reference.md).\n\n## License\n\nMIT. Model weights keep their own licenses.\n"}