cursor-grok-4.5 @ high · cursor
cursorhigh
- config
- cursor-grok-4.5-eff-high--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- cursor-grok-4.5-high
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
cursor-grok-4.5 @medium · cursor0.73cursor-grok-4.5 @medium · cursor-xl0.72cursor-grok-4.5 @low · cursor-xl0.71cursor-grok-4.5 @high · cursor-xl0.70cursor-grok-4.5 @low · cursor0.69最远
grok-4.3 @low · api0.50grok-4.3 · api0.50grok-4.3 @medium · api0.50minimax-m2.7 · opencode0.50claude-opus-4-6-thinking @max · cursor-xl0.51限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmismatch展示值:17
- min tempmatch展示值:16
- hourlymismatchcoverage 7/24 · 7 命中 · 1 不符 · 16 未展示
- request sidematch0 处违规
extractor fidelity-extractor-v1+Berlin-2026-07-15
源码 —— 原始模型输出,一字节未改
下载 card.html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=1280">
<title>Weather</title>
<style>
:root {
--ink: #1a2332;
--ink-soft: #4a5568;
--paper: #e8eef4;
--paper-2: #f4f7fa;
--line: rgba(26, 35, 50, 0.12);
--accent: #c45c26;
--accent-soft: rgba(196, 92, 38, 0.14);
--sky-top: #9eb8d0;
--sky-mid: #c5d4e0;
--sky-bot: #e8eef4;
--chart: #2a4a6a;
--good: #1a2332;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
width: 1280px;
height: 800px;
overflow: hidden;
}
body {
font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
color: var(--ink);
background:
radial-gradient(ellipse 90% 60% at 78% -10%, rgba(255, 255, 255, 0.55), transparent 55%),
radial-gradient(ellipse 50% 40% at 8% 90%, rgba(196, 92, 38, 0.08), transparent 50%),
linear-gradient(165deg, var(--sky-top) 0%, var(--sky-mid) 42%, var(--sky-bot) 100%);
position: relative;
}
body::before {
content: "";
position: absolute;
inset: 0;
background-image:
repeating-linear-gradient(
-18deg,
transparent,
transparent 11px,
rgba(26, 35, 50, 0.015) 11px,
rgba(26, 35, 50, 0.015) 12px
);
pointer-events: none;
opacity: 0.9;
}
.stage {
position: relative;
z-index: 1;
width: 1280px;
height: 800px;
padding: 56px 72px 48px;
display: grid;
grid-template-rows: auto 1fr auto;
gap: 28px;
}
.top {
display: grid;
grid-template-columns: 1fr auto;
align-items: end;
gap: 40px;
opacity: 0;
transform: translateY(14px);
animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
}
.place {
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
font-size: 72px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 0.95;
max-width: 14ch;
}
.meta {
text-align: right;
padding-bottom: 8px;
}
.date {
font-size: 22px;
font-weight: 500;
letter-spacing: 0.04em;
color: var(--ink-soft);
}
.coords {
margin-top: 8px;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--ink-soft);
opacity: 0.75;
}
.main {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 48px;
align-items: stretch;
min-height: 0;
}
.temps {
display: flex;
flex-direction: column;
justify-content: center;
gap: 20px;
opacity: 0;
transform: translateY(18px);
animation: rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
}
.range {
display: flex;
align-items: baseline;
gap: 28px;
}
.hi, .lo {
display: flex;
flex-direction: column;
gap: 6px;
}
.label {
font-size: 12px;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ink-soft);
}
.hi .value {
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
font-size: 168px;
font-weight: 700;
line-height: 0.85;
letter-spacing: -0.04em;
}
.lo .value {
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
font-size: 88px;
font-weight: 600;
line-height: 0.9;
letter-spacing: -0.03em;
color: var(--ink-soft);
}
.unit {
font-size: 0.28em;
font-weight: 500;
vertical-align: super;
margin-left: 2px;
letter-spacing: 0;
}
.condition {
display: inline-flex;
align-items: center;
gap: 14px;
margin-top: 8px;
padding: 12px 0 0;
border-top: 1px solid var(--line);
max-width: 420px;
}
.cond-mark {
width: 10px;
height: 10px;
background: var(--accent);
flex-shrink: 0;
transform: rotate(45deg);
animation: pulse 2.8s ease-in-out infinite;
}
.cond-text {
font-size: 28px;
font-weight: 500;
letter-spacing: -0.01em;
line-height: 1.2;
}
.hourly-panel {
display: flex;
flex-direction: column;
justify-content: flex-end;
min-height: 0;
opacity: 0;
transform: translateY(18px);
animation: rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.34s forwards;
}
.hourly-head {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 16px;
}
.hourly-head .label { color: var(--ink); }
.hourly-hint {
font-size: 13px;
color: var(--ink-soft);
letter-spacing: 0.02em;
}
.chart-wrap {
flex: 1;
min-height: 220px;
max-height: 280px;
position: relative;
border-left: 1px solid var(--line);
border-bottom: 1px solid var(--line);
padding: 12px 0 0 0;
}
#hourlyChart {
width: 100%;
height: 100%;
display: block;
}
.hour-strip {
display: grid;
grid-template-columns: repeat(8, 1fr);
gap: 8px;
margin-top: 18px;
}
.hour-cell {
text-align: center;
padding: 10px 4px;
background: rgba(255, 255, 255, 0.28);
border: 1px solid rgba(26, 35, 50, 0.06);
}
.hour-cell .h {
font-size: 11px;
font-weight: 600;
letter-spacing: 0.06em;
color: var(--ink-soft);
margin-bottom: 6px;
}
.hour-cell .t {
font-family: "Iowan Old Style", Palatino, Georgia, serif;
font-size: 20px;
font-weight: 600;
letter-spacing: -0.02em;
}
.footer {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 18px;
border-top: 1px solid var(--line);
font-size: 12px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--ink-soft);
opacity: 0;
animation: rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.48s forwards;
}
.status-dot {
display: inline-block;
width: 6px;
height: 6px;
background: var(--accent);
margin-right: 8px;
vertical-align: middle;
}
body[data-sky="clear"] {
--sky-top: #7eafd4;
--sky-mid: #b7d0e4;
--sky-bot: #eaf1f6;
--accent: #d97706;
}
body[data-sky="cloud"] {
--sky-top: #8a9aab;
--sky-mid: #b8c4cf;
--sky-bot: #e6ebf0;
--accent: #5b6e82;
}
body[data-sky="fog"] {
--sky-top: #9aa6ae;
--sky-mid: #c5ccd1;
--sky-bot: #e8ebed;
--accent: #6d7a84;
}
body[data-sky="rain"] {
--sky-top: #6a8499;
--sky-mid: #9bb0c0;
--sky-bot: #dce6ee;
--accent: #2f6f8f;
}
body[data-sky="snow"] {
--sky-top: #a8beca;
--sky-mid: #d0dde4;
--sky-bot: #f0f4f7;
--accent: #4a7a94;
}
body[data-sky="storm"] {
--sky-top: #4d5f73;
--sky-mid: #7d8fa0;
--sky-bot: #cdd6de;
--accent: #b45309;
--ink: #121820;
}
.error-state, .loading-state {
grid-column: 1 / -1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
gap: 12px;
min-height: 360px;
}
.error-state .place,
.loading-state .place {
font-size: 48px;
}
.error-msg {
font-size: 22px;
color: var(--ink-soft);
max-width: 36ch;
line-height: 1.4;
}
.hidden { display: none !important; }
@keyframes rise {
to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
0%, 100% { opacity: 1; transform: rotate(45deg) scale(1); }
50% { opacity: 0.55; transform: rotate(45deg) scale(0.85); }
}
@media (prefers-reduced-motion: reduce) {
.top, .temps, .hourly-panel, .footer {
animation: none;
opacity: 1;
transform: none;
}
.cond-mark { animation: none; }
}
</style>
</head>
<body data-sky="cloud">
<div class="stage">
<header class="top">
<h1 class="place" id="placeName">—</h1>
<div class="meta">
<div class="date" id="dateLabel">—</div>
<div class="coords" id="coordsLabel"></div>
</div>
</header>
<div class="main" id="content">
<div class="loading-state" id="loading">
<div class="place">Reading the sky…</div>
<p class="error-msg">Fetching temperatures for this place and day.</p>
</div>
<div class="error-state hidden" id="error">
<div class="place">Weather unavailable</div>
<p class="error-msg" id="errorText">The data could not be loaded for this location and date.</p>
</div>
<div class="temps hidden" id="temps">
<div class="range">
<div class="hi">
<span class="label">High</span>
<span class="value" id="tempMax">—<span class="unit">°C</span></span>
</div>
<div class="lo">
<span class="label">Low</span>
<span class="value" id="tempMin">—<span class="unit">°C</span></span>
</div>
</div>
<div class="condition">
<span class="cond-mark" aria-hidden="true"></span>
<span class="cond-text" id="condition">—</span>
</div>
</div>
<div class="hourly-panel hidden" id="hourlyPanel">
<div class="hourly-head">
<span class="label">Hourly · °C</span>
<span class="hourly-hint" id="hourlyRange">—</span>
</div>
<div class="chart-wrap">
<svg id="hourlyChart" viewBox="0 0 480 240" preserveAspectRatio="none" aria-hidden="true"></svg>
</div>
<div class="hour-strip" id="hourStrip"></div>
</div>
</div>
<footer class="footer">
<span><span class="status-dot" id="statusDot"></span><span id="sourceLabel">Open-Meteo</span></span>
<span>UTC · Celsius</span>
</footer>
</div>
<script>
(function () {
var WMO = {
0: ["Clear sky", "clear"],
1: ["Mainly clear", "clear"],
2: ["Partly cloudy", "cloud"],
3: ["Overcast", "cloud"],
45: ["Fog", "fog"],
48: ["Depositing rime fog", "fog"],
51: ["Light drizzle", "rain"],
53: ["Moderate drizzle", "rain"],
55: ["Dense drizzle", "rain"],
56: ["Light freezing drizzle", "rain"],
57: ["Dense freezing drizzle", "rain"],
61: ["Slight rain", "rain"],
63: ["Moderate rain", "rain"],
65: ["Heavy rain", "rain"],
66: ["Light freezing rain", "rain"],
67: ["Heavy freezing rain", "rain"],
71: ["Slight snow", "snow"],
73: ["Moderate snow", "snow"],
75: ["Heavy snow", "snow"],
77: ["Snow grains", "snow"],
80: ["Slight rain showers", "rain"],
81: ["Moderate rain showers", "rain"],
82: ["Violent rain showers", "rain"],
85: ["Slight snow showers", "snow"],
86: ["Heavy snow showers", "snow"],
95: ["Thunderstorm", "storm"],
96: ["Thunderstorm with slight hail", "storm"],
99: ["Thunderstorm with heavy hail", "storm"]
};
function todayUTC() {
var n = new Date();
var y = n.getUTCFullYear();
var m = String(n.getUTCMonth() + 1).padStart(2, "0");
var d = String(n.getUTCDate()).padStart(2, "0");
return y + "-" + m + "-" + d;
}
function parseParams() {
var q = new URLSearchParams(window.location.search);
var lat = parseFloat(q.get("lat"));
var lon = parseFloat(q.get("lon"));
var name = q.get("name");
var date = q.get("date");
return {
lat: Number.isFinite(lat) ? lat : 52.52,
lon: Number.isFinite(lon) ? lon : 13.405,
name: name && name.trim() ? name.trim() : "Berlin",
date: date && /^\d{4}-\d{2}-\d{2}$/.test(date) ? date : todayUTC()
};
}
function formatDate(iso) {
var parts = iso.split("-");
var dt = new Date(Date.UTC(+parts[0], +parts[1] - 1, +parts[2]));
return dt.toLocaleDateString("en-GB", {
weekday: "long",
day: "numeric",
month: "long",
year: "numeric",
timeZone: "UTC"
});
}
function fmtTemp(v) {
if (v == null || !Number.isFinite(Number(v))) return "—";
return String(Math.round(Number(v)));
}
function isPastDate(dateStr) {
return dateStr < todayUTC();
}
function buildUrl(params) {
var path = isPastDate(params.date) ? "/api/om/archive" : "/api/om/forecast";
var qs = new URLSearchParams({
latitude: String(params.lat),
longitude: String(params.lon),
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: params.date,
end_date: params.date
});
return path + "?" + qs.toString();
}
function showError(msg) {
document.getElementById("loading").classList.add("hidden");
document.getElementById("temps").classList.add("hidden");
document.getElementById("hourlyPanel").classList.add("hidden");
document.getElementById("error").classList.remove("hidden");
document.getElementById("errorText").textContent =
msg || "The data could not be loaded for this location and date.";
document.getElementById("sourceLabel").textContent = "Unavailable";
document.getElementById("statusDot").style.background = "#8a3a2a";
}
function pickHourlyIndices(times, dateStr) {
var idxs = [];
for (var i = 0; i < times.length; i++) {
if (String(times[i]).slice(0, 10) === dateStr) idxs.push(i);
}
return idxs;
}
function drawChart(temps) {
var svg = document.getElementById("hourlyChart");
while (svg.firstChild) svg.removeChild(svg.firstChild);
var w = 480, h = 240;
var padX = 8, padTop = 24, padBot = 16;
var n = temps.length;
if (n < 2) return;
var min = Math.min.apply(null, temps);
var max = Math.max.apply(null, temps);
var span = Math.max(max - min, 1);
function x(i) {
return padX + (i / (n - 1)) * (w - padX * 2);
}
function y(v) {
return padTop + (1 - (v - min) / span) * (h - padTop - padBot);
}
var d = "";
for (var i = 0; i < n; i++) {
d += (i === 0 ? "M" : "L") + x(i).toFixed(1) + "," + y(temps[i]).toFixed(1) + " ";
}
var area = d + " L" + x(n - 1).toFixed(1) + "," + h + " L" + x(0).toFixed(1) + "," + h + " Z";
var ns = "http://www.w3.org/2000/svg";
var areaEl = document.createElementNS(ns, "path");
areaEl.setAttribute("d", area);
areaEl.setAttribute("fill", "rgba(42, 74, 106, 0.12)");
svg.appendChild(areaEl);
var line = document.createElementNS(ns, "path");
line.setAttribute("d", d.trim());
line.setAttribute("fill", "none");
line.setAttribute("stroke", "#2a4a6a");
line.setAttribute("stroke-width", "2.5");
line.setAttribute("stroke-linejoin", "round");
line.setAttribute("stroke-linecap", "round");
line.setAttribute("vector-effect", "non-scaling-stroke");
svg.appendChild(line);
var peakIdx = temps.indexOf(max);
var peak = document.createElementNS(ns, "circle");
peak.setAttribute("cx", x(peakIdx).toFixed(1));
peak.setAttribute("cy", y(temps[peakIdx]).toFixed(1));
peak.setAttribute("r", "4");
peak.setAttribute("fill", getComputedStyle(document.documentElement).getPropertyValue("--accent").trim() || "#c45c26");
svg.appendChild(peak);
}
function renderHourStrip(temps, times) {
var strip = document.getElementById("hourStrip");
strip.innerHTML = "";
var picks = [0, 3, 6, 9, 12, 15, 18, 21];
for (var i = 0; i < picks.length; i++) {
var idx = picks[i];
if (idx >= temps.length) continue;
var cell = document.createElement("div");
cell.className = "hour-cell";
var hour = "00";
if (times[idx]) {
var t = String(times[idx]);
hour = t.length >= 13 ? t.slice(11, 13) : String(idx).padStart(2, "0");
} else {
hour = String(idx).padStart(2, "0");
}
cell.innerHTML =
'<div class="h">' + hour + ":00</div>" +
'<div class="t">' + fmtTemp(temps[idx]) + "°</div>";
strip.appendChild(cell);
}
}
function render(data, params) {
var daily = data.daily || {};
var hourly = data.hourly || {};
var maxArr = daily.temperature_2m_max;
var minArr = daily.temperature_2m_min;
var codeArr = daily.weather_code || daily.weathercode;
var times = hourly.time || [];
var tempsAll = hourly.temperature_2m || [];
if (!maxArr || !minArr || !codeArr || !maxArr.length || !minArr.length || !codeArr.length) {
showError("The data could not be loaded for this location and date.");
return;
}
var dayIdx = 0;
if (daily.time && daily.time.length) {
var found = daily.time.indexOf(params.date);
if (found >= 0) dayIdx = found;
}
var tMax = maxArr[dayIdx];
var tMin = minArr[dayIdx];
var code = Number(codeArr[dayIdx]);
var w = WMO[code] || ["Unknown conditions", "cloud"];
document.body.setAttribute("data-sky", w[1]);
document.getElementById("tempMax").innerHTML = fmtTemp(tMax) + '<span class="unit">°C</span>';
document.getElementById("tempMin").innerHTML = fmtTemp(tMin) + '<span class="unit">°C</span>';
document.getElementById("condition").textContent = w[0];
var idxs = pickHourlyIndices(times, params.date);
if (!idxs.length && tempsAll.length) {
idxs = [];
for (var i = 0; i < tempsAll.length; i++) idxs.push(i);
}
var temps = idxs.map(function (i) { return Number(tempsAll[i]); }).filter(Number.isFinite);
var hourTimes = idxs.map(function (i) { return times[i]; });
if (temps.length) {
var lo = Math.min.apply(null, temps);
var hi = Math.max.apply(null, temps);
document.getElementById("hourlyRange").textContent =
fmtTemp(lo) + "° – " + fmtTemp(hi) + "° across the day";
drawChart(temps);
renderHourStrip(temps, hourTimes);
} else {
document.getElementById("hourlyRange").textContent = "No hourly data";
}
document.getElementById("loading").classList.add("hidden");
document.getElementById("error").classList.add("hidden");
document.getElementById("temps").classList.remove("hidden");
document.getElementById("hourlyPanel").classList.remove("hidden");
document.getElementById("sourceLabel").textContent =
isPastDate(params.date) ? "Archive · Open-Meteo" : "Forecast · Open-Meteo";
}
async function main() {
var params = parseParams();
document.getElementById("placeName").textContent = params.name;
document.getElementById("dateLabel").textContent = formatDate(params.date);
document.getElementById("coordsLabel").textContent =
params.lat.toFixed(2) + "°, " + params.lon.toFixed(2) + "°";
var url = buildUrl(params);
try {
var res = await fetch(url);
if (!res.ok) throw new Error("HTTP " + res.status);
var data = await res.json();
if (data.error) throw new Error(data.reason || "API error");
render(data, params);
} catch (e) {
showError("The data could not be loaded for this location and date.");
}
}
main();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 18,828 | html / css / js | 2,174 / 7,454 / 9,200 |
|---|---|---|---|
| dom 节点 | 46 | dom 深度 | 9 |
| css 规则 | 52 | 含 js | 是 |
| brightness | 176.8 | contrast | 26.0 |
| colorfulness | 15.4 | 留白 | 36.3% |
该 slot 的 telemetry
| prompt tokens | 20,312 | completion tokens | 14,044 |
|---|---|---|---|
| total tokens | 34,356 | wall | 165.6 s |
| cost | — | request id | — |
config.json582 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "cursor-grok-4.5-eff-high--cli--cursor--dev",
"effort": "high",
"family": "grok",
"m": {
"min": 2,
"q": 2
},
"model_id": "cursor-grok-4.5",
"protocol": "cli",
"served_model": "cursor-grok-4.5-high",
"telemetry": {
"completion_tokens": 40693,
"cost_usd": null,
"prompt_tokens": 65935,
"total_tokens": 106628,
"wall_ms": 444162
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-s1",
"config_id": "cursor-grok-4.5-eff-high--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T16:57:29.820538+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:56:51.345530+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T17:00:18.629071+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:57:33.035752+00:00"
}
],
"block_index": 0,
"model_reaching_attempt_index": 0,
"slot_index": 0,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T17:02:50.419781+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T17:00:22.536397+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T17:04:26.654821+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T17:02:54.433154+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}