diff --git a/static/js/cookbook.js b/static/js/cookbook.js index eb7bec40b..ebdc3c5ed 100644 --- a/static/js/cookbook.js +++ b/static/js/cookbook.js @@ -1847,8 +1847,8 @@ function _renderRecipes() { // Tabs html += '
'; - html += ''; - html += ''; + html += ''; + html += ''; html += ''; html += ''; html += '
'; @@ -2063,6 +2063,31 @@ function _renderRecipes() { html += ''; html += ''; html += '

Optional packages that extend Odysseus capabilities.

'; + // Manual install hints (collapsed). Useful when the in-app Install button + // can't run (offline server, custom torch backend, etc.) — three vetted + // recipes the user can copy verbatim into a terminal on the target box. + html += '
'; + html += 'Manual install (vLLM): uv venv · pip/uv · Docker'; + html += '
'; + const _depCmdBlock = (label, body) => + `
` + + `
${label}
` + + `
${body}
` + + `
`; + html += _depCmdBlock( + 'uv (recommended — fast, isolated venv)', + 'uv venv\nsource .venv/bin/activate\nuv pip install -U vllm --torch-backend auto' + ); + html += _depCmdBlock( + 'pip', + 'python -m venv .venv\nsource .venv/bin/activate\npip install -U vllm' + ); + html += _depCmdBlock( + 'Docker', + 'docker pull vllm/vllm-openai:latest' + ); + html += '
'; + html += '
'; html += '
'; html += ''; diff --git a/static/js/cookbookServe.js b/static/js/cookbookServe.js index ac2a33c6e..5da7d81c4 100644 --- a/static/js/cookbookServe.js +++ b/static/js/cookbookServe.js @@ -753,10 +753,6 @@ function _rerenderCachedModels() { panelHtml += `
`; panelHtml += ``; panelHtml += `
`; - // Row 4: Extra args - panelHtml += `
`; - panelHtml += ``; - panelHtml += `
`; // Model-specific optimizations. The checks row always renders for the // vLLM backend so the Speculative (MTP) control is ALWAYS reachable — // even for models the auto-detector doesn't recognize. Expert-parallel, @@ -781,6 +777,11 @@ function _rerenderCachedModels() { } if (_opts2.envVars.length) panelHtml += ``; panelHtml += ``; + // Extra args sits below the vLLM checks (Reasoning Parser + Spec) + // so it reads as "after the advanced toggles, any other flags". + panelHtml += `
`; + panelHtml += ``; + panelHtml += `
`; // ── End Advanced fold ── panelHtml += ``; // Command preview + actions. Wrap the textarea so a floating Copy