cursor-grok-4.5 @ low · cursor
cursorlow
- config
- cursor-grok-4.5-eff-low--cli--cursor--dev
- batch
- 2026-07-19--unified
- transport
- cursor-agent-cli-isolated-home
- protocol
- cli · plan
- served model
- cursor-grok-4.5-low
- 采集于
- 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.71cursor-grok-4.5 @medium · cursor-xl0.70cursor-grok-4.5 @high · cursor0.69cursor-grok-4.5 @low · cursor-xl0.68cursor-grok-4.5 @high · cursor-xl0.68最远
qwen3.6-plus · go0.49deepseek-v4-pro · opencode0.49grok-4.3 @low · api0.49grok-4.3 · api0.50deepseek-v4-flash-vision-exp @none · api0.50限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempambiguous展示值:17max-equals-min
- min tempambiguous展示值:17max-equals-min
- hourlyambiguouscoverage · 0 命中 · 0 不符 · 24 未展示
- 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, height=800">
<title>Weather</title>
<style>
:root {
--ink: #0e1a24;
--ink-soft: rgba(14, 26, 36, 0.62);
--line: rgba(14, 26, 36, 0.12);
--glow: rgba(255, 255, 255, 0.55);
--accent: #1f6f7a;
--sky-top: #9ec8d8;
--sky-mid: #c5dde8;
--sky-bot: #e8eef2;
--band: rgba(255, 255, 255, 0.28);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
width: 1280px;
height: 800px;
overflow: hidden;
font-family: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", sans-serif;
color: var(--ink);
background: var(--sky-bot);
}
body {
position: relative;
}
.sky {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 90% 55% at 18% 12%, var(--glow), transparent 55%),
radial-gradient(ellipse 70% 45% at 88% 18%, rgba(255, 220, 170, 0.35), transparent 50%),
linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 42%, var(--sky-bot) 100%);
animation: skyDrift 18s ease-in-out infinite alternate;
}
.sky::after {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.08) 45%, transparent 70%),
repeating-linear-gradient(
-18deg,
transparent 0 14px,
rgba(255, 255, 255, 0.03) 14px 15px
);
pointer-events: none;
}
@keyframes skyDrift {
from { filter: saturate(1) brightness(1); }
to { filter: saturate(1.08) brightness(1.03); }
}
.frame {
position: relative;
z-index: 1;
width: 1280px;
height: 800px;
padding: 64px 80px 56px;
display: grid;
grid-template-rows: auto 1fr auto;
opacity: 0;
transform: translateY(14px);
animation: riseIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards;
}
@keyframes riseIn {
to { opacity: 1; transform: translateY(0); }
}
.top {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 40px;
}
.identity {
max-width: 760px;
}
.location {
font-size: 92px;
line-height: 0.92;
letter-spacing: -0.045em;
font-weight: 600;
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
}
.date {
margin-top: 18px;
font-size: 22px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--ink-soft);
font-weight: 500;
}
.temps {
text-align: right;
padding-top: 10px;
min-width: 280px;
}
.temps .pair {
display: flex;
justify-content: flex-end;
align-items: baseline;
gap: 28px;
}
.temp-block {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.temp-label {
font-size: 13px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ink-soft);
margin-bottom: 6px;
}
.temp-value {
font-size: 64px;
line-height: 1;
letter-spacing: -0.04em;
font-weight: 600;
font-variant-numeric: tabular-nums;
}
.temp-value span {
font-size: 28px;
margin-left: 2px;
opacity: 0.55;
font-weight: 500;
}
.condition-wrap {
display: flex;
flex-direction: column;
justify-content: center;
padding: 24px 0 40px;
}
.condition {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
font-weight: 500;
max-width: 820px;
color: var(--ink);
}
.condition-rule {
width: 72px;
height: 3px;
margin: 28px 0 0;
background: var(--accent);
transform-origin: left center;
animation: ruleGrow 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both;
}
@keyframes ruleGrow {
from { transform: scaleX(0); opacity: 0; }
to { transform: scaleX(1); opacity: 1; }
}
.hourly {
border-top: 1px solid var(--line);
padding-top: 28px;
}
.hourly-head {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 22px;
}
.hourly-title {
font-size: 13px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--ink-soft);
font-weight: 600;
}
.hourly-unit {
font-size: 13px;
color: var(--ink-soft);
letter-spacing: 0.04em;
}
.hours {
display: grid;
grid-template-columns: repeat(24, 1fr);
gap: 6px;
align-items: end;
height: 168px;
}
.hour {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
height: 100%;
gap: 10px;
opacity: 0;
transform: translateY(10px);
animation: hourIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes hourIn {
to { opacity: 1; transform: translateY(0); }
}
.hour-temp {
font-size: 12px;
font-variant-numeric: tabular-nums;
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ink);
}
.hour-bar-wrap {
flex: 1;
width: 100%;
display: flex;
align-items: flex-end;
justify-content: center;
}
.hour-bar {
width: 100%;
max-width: 28px;
border-radius: 3px 3px 0 0;
background: linear-gradient(180deg, rgba(31, 111, 122, 0.85), rgba(31, 111, 122, 0.28));
transform-origin: bottom center;
animation: barRise 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
min-height: 4px;
}
@keyframes barRise {
from { transform: scaleY(0.15); opacity: 0.4; }
to { transform: scaleY(1); opacity: 1; }
}
.hour-label {
font-size: 11px;
color: var(--ink-soft);
font-variant-numeric: tabular-nums;
letter-spacing: 0.02em;
}
.error {
position: relative;
z-index: 1;
width: 1280px;
height: 800px;
display: flex;
flex-direction: column;
justify-content: center;
padding: 80px;
background:
radial-gradient(ellipse 80% 50% at 50% 30%, rgba(255,255,255,0.5), transparent 60%),
linear-gradient(180deg, #b7c4cc 0%, #dfe6ea 100%);
}
.error h1 {
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
font-size: 64px;
letter-spacing: -0.03em;
margin-bottom: 18px;
}
.error p {
font-size: 22px;
color: var(--ink-soft);
max-width: 520px;
line-height: 1.45;
}
body[data-theme="clear"] {
--sky-top: #7eb6d4;
--sky-mid: #b9d7e8;
--sky-bot: #e7f0f4;
--accent: #1a6d8f;
--glow: rgba(255, 245, 220, 0.55);
}
body[data-theme="cloud"] {
--sky-top: #8a9aaa;
--sky-mid: #b8c3cc;
--sky-bot: #e4e8eb;
--accent: #4a5d6a;
--glow: rgba(255, 255, 255, 0.4);
}
body[data-theme="rain"] {
--sky-top: #5f7386;
--sky-mid: #8fa0af;
--sky-bot: #d5dde3;
--accent: #2f5268;
--glow: rgba(190, 210, 230, 0.35);
}
body[data-theme="snow"] {
--sky-top: #9bb0c2;
--sky-mid: #c9d5e0;
--sky-bot: #eef2f5;
--accent: #5a7388;
--glow: rgba(255, 255, 255, 0.7);
}
body[data-theme="storm"] {
--sky-top: #3f4d5c;
--sky-mid: #6d7c8a;
--sky-bot: #c5ced6;
--accent: #243746;
--glow: rgba(180, 200, 220, 0.25);
--ink: #0c141c;
}
body[data-theme="fog"] {
--sky-top: #a8b0b6;
--sky-mid: #c9ced2;
--sky-bot: #e8eaec;
--accent: #667178;
--glow: rgba(255, 255, 255, 0.55);
}
</style>
</head>
<body>
<div class="sky" aria-hidden="true"></div>
<main id="app"></main>
<script>
(function () {
const 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 pad(n) { return String(n).padStart(2, "0"); }
function todayUTC() {
const d = new Date();
return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate());
}
function parseParams() {
const q = new URLSearchParams(location.search);
const lat = parseFloat(q.get("lat"));
const lon = parseFloat(q.get("lon"));
return {
lat: Number.isFinite(lat) ? lat : 52.52,
lon: Number.isFinite(lon) ? lon : 13.405,
name: (q.get("name") || "Berlin").trim() || "Berlin",
date: /^\d{4}-\d{2}-\d{2}$/.test(q.get("date") || "") ? q.get("date") : todayUTC()
};
}
function formatDisplayDate(iso) {
const [y, m, d] = iso.split("-").map(Number);
const dt = new Date(Date.UTC(y, m - 1, d));
return new Intl.DateTimeFormat("en-GB", {
weekday: "long",
day: "numeric",
month: "long",
year: "numeric",
timeZone: "UTC"
}).format(dt);
}
function weatherInfo(code) {
return WMO[code] || ["Unknown conditions", "cloud"];
}
function esc(s) {
return String(s)
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """);
}
function showError(msg) {
document.body.removeAttribute("data-theme");
document.getElementById("app").innerHTML =
'<section class="error"><h1>Weather unavailable</h1><p>' + esc(msg) + "</p></section>";
}
function pickEndpoint(date) {
return date < todayUTC() ? "/api/om/archive" : "/api/om/forecast";
}
async function load() {
const p = parseParams();
const endpoint = pickEndpoint(p.date);
const url = endpoint +
"?latitude=" + encodeURIComponent(p.lat) +
"&longitude=" + encodeURIComponent(p.lon) +
"&daily=temperature_2m_max,temperature_2m_min,weather_code" +
"&hourly=temperature_2m" +
"&timezone=UTC" +
"&temperature_unit=celsius" +
"&start_date=" + encodeURIComponent(p.date) +
"&end_date=" + encodeURIComponent(p.date);
let data;
try {
const res = await fetch(url);
if (!res.ok) throw new Error("Request failed");
data = await res.json();
} catch (e) {
showError("The weather data could not be loaded for this location and date.");
return;
}
const daily = data && data.daily;
const hourly = data && data.hourly;
if (!daily || !daily.time || !daily.time.length ||
daily.temperature_2m_max == null || daily.temperature_2m_min == null ||
!hourly || !hourly.time || !hourly.temperature_2m) {
showError("The weather data could not be loaded for this location and date.");
return;
}
const tmax = daily.temperature_2m_max[0];
const tmin = daily.temperature_2m_min[0];
const code = daily.weather_code[0];
if (tmax == null || tmin == null || code == null) {
showError("The weather data could not be loaded for this location and date.");
return;
}
const [condition, theme] = weatherInfo(code);
document.body.setAttribute("data-theme", theme);
const hours = [];
for (let i = 0; i < hourly.time.length; i++) {
if (hourly.time[i].slice(0, 10) !== p.date) continue;
const t = hourly.temperature_2m[i];
if (t == null) continue;
hours.push({
hour: hourly.time[i].slice(11, 13),
temp: t
});
}
if (!hours.length) {
showError("The weather data could not be loaded for this location and date.");
return;
}
const temps = hours.map(h => h.temp);
const minH = Math.min.apply(null, temps);
const maxH = Math.max.apply(null, temps);
const span = Math.max(maxH - minH, 1);
function fmtTemp(v) {
const n = Math.round(v);
return (n > 0 ? "+" : "") + n;
}
const bars = hours.map(function (h, i) {
const pct = 18 + ((h.temp - minH) / span) * 82;
const delay = (0.35 + i * 0.028).toFixed(3) + "s";
const showLabel = i % 3 === 0 || i === hours.length - 1;
return (
'<div class="hour" style="animation-delay:' + delay + '">' +
'<div class="hour-temp">' + fmtTemp(h.temp) + "°</div>" +
'<div class="hour-bar-wrap"><div class="hour-bar" style="height:' + pct.toFixed(1) + "%;animation-delay:" + delay + '"></div></div>' +
'<div class="hour-label">' + (showLabel ? h.hour : "") + "</div>" +
"</div>"
);
}).join("");
document.getElementById("app").innerHTML =
'<section class="frame">' +
'<header class="top">' +
'<div class="identity">' +
'<h1 class="location">' + esc(p.name) + "</h1>" +
'<p class="date">' + esc(formatDisplayDate(p.date)) + "</p>" +
"</div>" +
'<div class="temps">' +
'<div class="pair">' +
'<div class="temp-block">' +
'<div class="temp-label">High</div>' +
'<div class="temp-value">' + Math.round(tmax) + "<span>°C</span></div>" +
"</div>" +
'<div class="temp-block">' +
'<div class="temp-label">Low</div>' +
'<div class="temp-value">' + Math.round(tmin) + "<span>°C</span></div>" +
"</div>" +
"</div>" +
"</div>" +
"</header>" +
'<div class="condition-wrap">' +
'<p class="condition">' + esc(condition) + "</p>" +
'<div class="condition-rule" aria-hidden="true"></div>' +
"</div>" +
'<section class="hourly">' +
'<div class="hourly-head">' +
'<h2 class="hourly-title">Hourly temperature</h2>' +
'<div class="hourly-unit">UTC · Celsius</div>' +
"</div>" +
'<div class="hours">' + bars + "</div>" +
"</section>" +
"</section>";
}
load();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 14,371 | html / css / js | 272 / 7,183 / 6,916 |
|---|---|---|---|
| dom 节点 | 10 | dom 深度 | 3 |
| css 规则 | 52 | 含 js | 是 |
| brightness | 167.5 | contrast | 28.1 |
| colorfulness | 18.4 | 留白 | 50.0% |
该 slot 的 telemetry
| prompt tokens | 42,784 | completion tokens | 10,969 |
|---|---|---|---|
| total tokens | 53,753 | wall | 133 s |
| cost | — | request id | — |
config.json580 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "cursor-grok-4.5-eff-low--cli--cursor--dev",
"effort": "low",
"family": "grok",
"m": {
"min": 2,
"q": 2
},
"model_id": "cursor-grok-4.5",
"protocol": "cli",
"served_model": "cursor-grok-4.5-low",
"telemetry": {
"completion_tokens": 44100,
"cost_usd": null,
"prompt_tokens": 125678,
"total_tokens": 169778,
"wall_ms": 524644
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-s3",
"config_id": "cursor-grok-4.5-eff-low--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T18:24:53.114842+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:22:40.109437+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-12T18:27:26.673405+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:24:57.048496+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-12T18:29:03.556239+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:27:29.922010+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T18:31:35.305174+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:29:06.923721+00:00"
}
],
"block_index": 1,
"model_reaching_attempt_index": 0,
"slot_index": 1,
"terminal_state": "valid",
"variant": "P-q"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}