diff --git a/llm_team_ui.py b/llm_team_ui.py
index 1726904..c8dbeec 100644
--- a/llm_team_ui.py
+++ b/llm_team_ui.py
@@ -5050,8 +5050,15 @@ ADMIN_HTML = r"""
-
Free Models on OpenRouter
-
+
Models on OpenRouter
+
+
+
+
Click "Fetch Models" to load the list.
@@ -5322,21 +5329,50 @@ async function fetchORModels() {
function renderORModels() {
const q = (document.getElementById('or-search').value || '').toLowerCase();
- const filtered = q ? orModels.filter(m => m.name.toLowerCase().includes(q) || m.id.toLowerCase().includes(q)) : orModels;
+ const tier = document.getElementById('or-filter').value;
+ let filtered = orModels;
+ if (q) filtered = filtered.filter(m => m.name.toLowerCase().includes(q) || m.id.toLowerCase().includes(q));
+ if (tier === 'free') filtered = filtered.filter(m => m.free);
+ if (tier === 'paid') filtered = filtered.filter(m => !m.free);
const el = document.getElementById('or-model-list');
- if (!filtered.length) { el.innerHTML = 'No models found.
'; return; }
+ if (!filtered.length) { el.textContent = 'No models found.'; return; }
const existing = new Set((config.cloud_models||[]).map(m=>m.id));
- el.innerHTML = filtered.map(m => {
+ el.textContent = '';
+ filtered.forEach(function(m) {
const added = existing.has('openrouter::'+m.id);
const ctx = m.context_length ? (m.context_length/1000).toFixed(0)+'K' : '?';
- return `