Skip to content

Runtime-neutral ModexAI and an agent-first site - #8

Merged
abhishek085 merged 2 commits into
mainfrom
runtime-neutral
Oct 10, 2026
Merged

abhishek085 merged 2 commits into
mainfrom
runtime-neutral

Conversation

@abhishek085

Copy link
Copy Markdown
Owner

Summary

Runtime-neutral: the agent runs the model, ModexAI measures it

  • Listings name their weights. A new weights block gives the Hugging Face repos per format (safetensors, GGUF, MLX, NVFP4, plus a gated flag). All 29 listings are filled from repos checked against the Hugging Face API.
  • runtimes.py detects what's serving on localhost (Ollama, llama.cpp, MLX-LM, vLLM, LM Studio, osj). It also builds the command to serve each model per runtime, with the machine's native runtime first: MLX on Apple Silicon, vLLM on NVIDIA, llama.cpp anywhere, Ollama as the fallback.
  • New how_to_run MCP tool and modexai how-to-run command. install_model still pulls into Ollama; with any other runtime, or for a decision model, it returns how_to_run instead.
  • The default backend is now auto: it uses the runtime the agent started, and falls back to Ollama. New shortcuts: --backend mlx-lm | llama.cpp | vllm | lm-studio.
  • Models resolve by any name a runtime serves them under (Qwen/Qwen3-1.7B, mlx-community/…-4bit, ggml-org/…-GGUF:Q4_K_M), and requests use the right name for each engine.
  • Recipes record model.format and the real runtime.engine, so the same model can be compared across runtimes. try_recipe reproduces on whatever is serving.

Agent-first site

  • The hero describes the exchange for agents, next to a Set up your agent panel: a tab per client, the connect command and the brief, all copyable. The brief is published as agents.json, generated from agents.py.
  • An If you are an AI agent reading this section: get connected, read the brief, and ask your user whether to star the repo, only starring with their OK. llms.txt carries the same request.
  • A page per model (#/models/<id>), modelled on the reference page's structure: facts, a copyable prompt for your agent, measured scores with their source, run commands per runtime, weights, notes and recipes.
  • Agent talk moves up, with start-thread and reply prompts. The leaderboard is folded into "Measured scores".
  • Copy buttons now work (the old hero button had no handler), and long commands wrap on phones.

Test plan

  • uv run ruff check .: clean
  • uv run pytest -q: 78 passed (new tests/test_runtimes.py: weights validation, name resolution across formats, run-option ordering per platform, gated notes, auto backend selection, an MLX benchmark that records format and engine)
  • modexai registry --check: 29 models, 96 recipes, 0 notes
  • modexai how-to-run / doctor on a real Mac: MLX first, and it detected the running Ollama
  • Site rendered in WebKit at 1280px and 390px, light and dark: home, the Qwen3 1.7B page, the spark-s1 page

🤖 Generated with Claude Code

abhishek085 and others added 2 commits October 10, 2026 07:32
…res it

- Listings name their weights: a `weights` block with the Hugging Face repos per format (safetensors,
  gguf, mlx, nvfp4, plus gated). All 29 filled from verified repos.
- runtimes.py: detects what is serving on localhost (Ollama, llama.cpp, MLX-LM, vLLM, LM Studio, osj)
  and builds the command to serve each model per runtime, native runtime first (MLX on Apple Silicon,
  vLLM on NVIDIA, llama.cpp anywhere, Ollama as the fallback).
- how_to_run MCP tool and `modexai how-to-run`. install_model still pulls into Ollama, but with any other
  runtime (or for decision models) it returns how_to_run — ModexAI downloads nothing else itself.
- Backend "auto" is the default: use the runtime the agent started, else Ollama. Shortcuts --backend
  mlx-lm / llama.cpp / vllm / lm-studio; OpenAI-compatible servers report their engine by port.
- Models resolve by any name a runtime serves them under (Qwen/Qwen3-1.7B, mlx-community/...-4bit,
  ggml-org/...-GGUF:Q4_K_M), and requests use the right name for the engine.
- Recipes record model.format and the real runtime.engine, so the same model compares across runtimes;
  try_recipe reproduces on whatever is serving. recommend tests what a non-Ollama server serves and
  suggests others with their run commands.
- The built registry carries each model's run options for every platform. Brief and docs updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lded away

- Hero says what the exchange is for agents, beside a "Set up your agent" panel: a tab per client
  (Claude Code, Cursor, Codex, VS Code, Hermes, OpenClaw) with the connect command and the brief,
  both copyable. The brief comes from agents.json, built from agents.py like `modexai prompt`.
- "If you are an AI agent reading this": get connected, read the brief, and ask your user whether to
  star the repo — only with their OK. Same request in llms.txt.
- A page per model (#/models/<id>): facts, a copyable prompt for your agent, measured scores with
  their source, run commands per runtime, weights, notes and recipes.
- Agent talk moves up, with prompts to start a thread or reply. The leaderboard is folded into
  "Measured scores" instead of being the landing visual.
- Copy buttons work (the old hero button never did); long commands wrap on phones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@abhishek085
abhishek085 merged commit efa707f into main Oct 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant