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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
gpt-5.6-luna @low · cursor0.76gpt-5.6-luna @low · codex-oauth0.76gpt-5.6-luna @medium · codex-oauth0.75gpt-5.6-luna @high · kiro0.74gpt-5.6-terra @xhigh · cursor0.73最远
qwen3.6-plus · go0.50claude-sonnet-4-6-thinking @medium · cursor0.50deepseek-v4-pro-0812 @medium · api0.51claude-opus-4-6-thinking @max · cursor-xl0.51deepseek-v4-pro · opencode0.52限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempmatch展示值:25
- min tempmatch展示值:16
- hourlymatchcoverage 24/24 · 24 命中 · 0 不符 · 0 未展示
- 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, initial-scale=1.0">
<title>Weather Card</title>
<style>
:root {
--ink: #17324d;
--muted: #6d8498;
--line: rgba(23, 50, 77, .1);
--sky: #dff2ff;
--blue: #5a9ed6;
--navy: #102a43;
--card: rgba(255, 255, 255, .76);
--shadow: 0 24px 70px rgba(43, 90, 125, .18);
}
* { box-sizing: border-box; }
body {
min-width: 1280px;
min-height: 800px;
margin: 0;
color: var(--ink);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background:
radial-gradient(circle at 12% 10%, rgba(255,255,255,.85) 0 9%, transparent 30%),
radial-gradient(circle at 90% 15%, rgba(255,255,255,.65) 0 8%, transparent 28%),
linear-gradient(135deg, #cbeeff 0%, #eaf8ff 46%, #b9e0f4 100%);
overflow: hidden;
}
body::before,
body::after {
content: "";
position: fixed;
border-radius: 50%;
pointer-events: none;
filter: blur(2px);
}
body::before {
width: 440px;
height: 440px;
right: -90px;
bottom: -170px;
background: rgba(255, 255, 255, .22);
box-shadow: 0 0 90px rgba(255,255,255,.3);
}
body::after {
width: 260px;
height: 260px;
left: 15%;
bottom: -190px;
background: rgba(86, 164, 207, .14);
}
.shell {
width: 1080px;
height: 680px;
margin: 60px auto;
padding: 34px 38px 30px;
border: 1px solid rgba(255,255,255,.7);
border-radius: 32px;
background: rgba(255, 255, 255, .48);
box-shadow: var(--shadow);
backdrop-filter: blur(18px);
}
header {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: 32px;
}
.eyebrow {
margin: 0 0 8px;
color: var(--blue);
font-size: 12px;
font-weight: 800;
letter-spacing: .18em;
text-transform: uppercase;
}
h1 {
margin: 0;
color: var(--navy);
font-size: 38px;
line-height: 1;
letter-spacing: -.045em;
}
.date-label {
margin: 10px 0 0;
color: var(--muted);
font-size: 15px;
font-weight: 600;
}
.unit {
display: flex;
align-items: center;
gap: 8px;
color: var(--muted);
font-size: 13px;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
}
.unit-mark {
display: grid;
width: 34px;
height: 34px;
place-items: center;
border-radius: 50%;
color: white;
background: var(--navy);
font-size: 15px;
letter-spacing: 0;
}
.hero {
display: grid;
grid-template-columns: 1.03fr .97fr;
gap: 26px;
min-height: 257px;
margin-bottom: 28px;
}
.summary {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
overflow: hidden;
padding: 30px 34px;
border-radius: 24px;
background: linear-gradient(125deg, rgba(255,255,255,.82), rgba(238,249,255,.66));
box-shadow: inset 0 0 0 1px rgba(255,255,255,.78);
}
.summary::after {
content: "";
position: absolute;
width: 270px;
height: 270px;
right: -70px;
bottom: -150px;
border-radius: 50%;
background: rgba(119, 193, 231, .18);
}
.condition {
position: relative;
z-index: 1;
}
.temperature {
margin: 7px 0 2px;
color: var(--navy);
font-size: 88px;
font-weight: 300;
line-height: .95;
letter-spacing: -.08em;
}
.temperature sup {
top: -.7em;
margin-left: 5px;
color: var(--blue);
font-size: 25px;
font-weight: 700;
letter-spacing: 0;
}
.condition-name {
color: var(--ink);
font-size: 21px;
font-weight: 750;
}
.range {
display: flex;
gap: 18px;
margin-top: 18px;
color: var(--muted);
font-size: 14px;
font-weight: 700;
}
.range strong { color: var(--ink); }
.weather-icon {
position: relative;
z-index: 1;
width: 150px;
height: 150px;
margin-right: 4px;
}
.sun {
position: absolute;
top: 4px;
right: 7px;
width: 76px;
height: 76px;
border-radius: 50%;
background: #ffc958;
box-shadow: 0 0 0 13px rgba(255,201,88,.15), 0 0 42px rgba(255,201,88,.42);
}
.sun::before {
content: "";
position: absolute;
inset: -18px;
border: 3px dashed rgba(246,177,48,.65);
border-radius: 50%;
}
.cloud {
position: absolute;
right: 4px;
bottom: 22px;
width: 125px;
height: 51px;
border-radius: 30px;
background: #fff;
box-shadow: 0 11px 20px rgba(89,133,160,.16);
}
.cloud::before,
.cloud::after {
content: "";
position: absolute;
border-radius: 50%;
background: inherit;
}
.cloud::before { width: 62px; height: 62px; left: 18px; bottom: 15px; }
.cloud::after { width: 45px; height: 45px; left: 61px; bottom: 20px; }
.details {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.detail {
display: flex;
flex-direction: column;
justify-content: center;
padding: 24px 22px;
border: 1px solid rgba(255,255,255,.72);
border-radius: 20px;
background: rgba(255,255,255,.48);
}
.detail-label {
color: var(--muted);
font-size: 12px;
font-weight: 800;
letter-spacing: .11em;
text-transform: uppercase;
}
.detail-value {
margin-top: 10px;
color: var(--navy);
font-size: 24px;
font-weight: 750;
letter-spacing: -.03em;
}
.hourly-heading {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 2px 14px;
}
.hourly-heading h2 {
margin: 0;
color: var(--navy);
font-size: 17px;
letter-spacing: -.02em;
}
.hourly-heading span {
color: var(--muted);
font-size: 12px;
font-weight: 700;
}
.hours {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 8px;
}
.hour {
min-width: 0;
padding: 13px 6px 14px;
border: 1px solid rgba(255,255,255,.7);
border-radius: 15px;
text-align: center;
background: rgba(255,255,255,.48);
}
.hour:first-child,
.hour:nth-child(13) {
background: rgba(255,255,255,.78);
box-shadow: 0 6px 18px rgba(75,130,165,.08);
}
.hour-time {
color: var(--muted);
font-size: 11px;
font-weight: 800;
}
.hour-dot {
width: 9px;
height: 9px;
margin: 12px auto;
border-radius: 50%;
background: #f2bd4d;
box-shadow: 0 0 0 5px rgba(242,189,77,.13);
}
.hour-temp {
color: var(--navy);
font-size: 14px;
font-weight: 800;
}
.status {
display: flex;
align-items: center;
justify-content: center;
height: 360px;
color: var(--muted);
font-size: 17px;
font-weight: 700;
}
.error {
color: #a04949;
text-align: center;
}
.hidden { display: none !important; }
</style>
</head>
<body>
<main class="shell">
<header>
<div>
<p class="eyebrow">Daily forecast</p>
<h1 id="location">Berlin</h1>
<p class="date-label" id="dateLabel">Loading date…</p>
</div>
<div class="unit"><span class="unit-mark">°C</span> Celsius</div>
</header>
<section id="content" class="hidden">
<div class="hero">
<article class="summary">
<div class="condition">
<div class="eyebrow">Temperature</div>
<div class="temperature"><span id="mainTemp">—</span><sup>°C</sup></div>
<div class="condition-name" id="condition">—</div>
<div class="range">
<span>High <strong id="high">—</strong>°</span>
<span>Low <strong id="low">—</strong>°</span>
</div>
</div>
<div class="weather-icon" id="weatherIcon" aria-hidden="true">
<div class="sun"></div><div class="cloud"></div>
</div>
</article>
<div class="details">
<div class="detail"><span class="detail-label">Maximum</span><span class="detail-value" id="maxDetail">—</span></div>
<div class="detail"><span class="detail-label">Minimum</span><span class="detail-value" id="minDetail">—</span></div>
<div class="detail"><span class="detail-label">Observation</span><span class="detail-value">UTC</span></div>
<div class="detail"><span class="detail-label">Hourly points</span><span class="detail-value" id="pointCount">—</span></div>
</div>
</div>
<div class="hourly-heading">
<h2>Hourly temperature</h2>
<span>24-hour outlook · UTC</span>
</div>
<div class="hours" id="hours"></div>
</section>
<div id="status" class="status">Preparing forecast…</div>
</main>
<script>
(() => {
const params = new URLSearchParams(location.search);
const latitude = Number(params.get("lat") || "52.52");
const longitude = Number(params.get("lon") || "13.405");
const name = params.get("name") || "Berlin";
const isoToday = new Date().toISOString().slice(0, 10);
const date = /^\d{4}-\d{2}-\d{2}$/.test(params.get("date") || "") ? params.get("date") : isoToday;
const $ = id => document.getElementById(id);
$("location").textContent = name;
const parsedDate = new Date(`${date}T00:00:00Z`);
$("dateLabel").textContent = Number.isNaN(parsedDate.getTime())
? date
: parsedDate.toLocaleDateString("en-US", { weekday: "long", month: "long", day: "numeric", year: "numeric", timeZone: "UTC" });
const conditions = {
0: ["Clear sky", "sun"], 1: ["Mainly clear", "sun"], 2: ["Partly cloudy", "partly"],
3: ["Overcast", "cloud"], 45: ["Foggy", "fog"], 48: ["Rime fog", "fog"],
51: ["Light drizzle", "rain"], 53: ["Drizzle", "rain"], 55: ["Heavy drizzle", "rain"],
56: ["Freezing drizzle", "rain"], 57: ["Freezing drizzle", "rain"],
61: ["Light rain", "rain"], 63: ["Rain", "rain"], 65: ["Heavy rain", "rain"],
66: ["Freezing rain", "rain"], 67: ["Freezing rain", "rain"],
71: ["Light snow", "snow"], 73: ["Snow", "snow"], 75: ["Heavy snow", "snow"],
77: ["Snow grains", "snow"], 80: ["Rain showers", "rain"], 81: ["Rain showers", "rain"],
82: ["Heavy showers", "rain"], 85: ["Snow showers", "snow"], 86: ["Snow showers", "snow"],
95: ["Thunderstorm", "storm"], 96: ["Thunderstorm", "storm"], 99: ["Thunderstorm", "storm"]
};
function icon(type) {
const classes = type === "sun" ? '<div class="sun"></div>' :
type === "partly" ? '<div class="sun"></div><div class="cloud"></div>' :
'<div class="cloud"></div>';
$("weatherIcon").innerHTML = classes;
}
function fmt(value) {
return value == null || Number.isNaN(Number(value)) ? "—" : Math.round(Number(value));
}
async function load() {
if (!Number.isFinite(latitude) || !Number.isFinite(longitude)) throw new Error("Invalid coordinates");
const endpoint = date < isoToday ? "/api/om/archive" : "/api/om/forecast";
const query = new URLSearchParams({
latitude, longitude,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC", temperature_unit: "celsius",
start_date: date, end_date: date
});
const response = await fetch(`${endpoint}?${query}`);
if (!response.ok) throw new Error("Weather request failed");
const data = await response.json();
const daily = data.daily || {};
const hourly = data.hourly || {};
const high = daily.temperature_2m_max?.[0];
const low = daily.temperature_2m_min?.[0];
const code = daily.weather_code?.[0];
const [label, type] = conditions[code] || ["Weather unavailable", "cloud"];
$("mainTemp").textContent = fmt((Number(high) + Number(low)) / 2);
$("high").textContent = fmt(high);
$("low").textContent = fmt(low);
$("maxDetail").textContent = `${fmt(high)}°C`;
$("minDetail").textContent = `${fmt(low)}°C`;
$("condition").textContent = label;
$("pointCount").textContent = `${(hourly.temperature_2m || []).length} readings`;
icon(type);
const times = hourly.time || [];
const temps = hourly.temperature_2m || [];
$("hours").innerHTML = times.map((time, i) => {
const hour = new Date(time).getUTCHours().toString().padStart(2, "0");
return `<div class="hour"><div class="hour-time">${hour}:00</div><div class="hour-dot"></div><div class="hour-temp">${fmt(temps[i])}°</div></div>`;
}).join("");
$("status").classList.add("hidden");
$("content").classList.remove("hidden");
}
load().catch(() => {
$("status").innerHTML = '<div class="error">We couldn’t load weather data for this date.<br>Please try again later.</div>';
});
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 12,681 | html / css / js | 1,979 / 6,759 / 3,943 |
|---|---|---|---|
| dom 节点 | 51 | dom 深度 | 10 |
| css 规则 | 45 | 含 js | 是 |
| brightness | 241.8 | contrast | 17.3 |
| colorfulness | 16.1 | 留白 | 97.0% |
该 slot 的 telemetry
| prompt tokens | 3 | completion tokens | 4,162 |
|---|---|---|---|
| total tokens | 4,165 | wall | 37.1 s |
| cost | — | request id | — |
config.json577 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "gpt-5.6-luna-eff-medium--cli--cursor-xl--dev",
"effort": "medium",
"family": "gpt",
"m": {
"min": 2,
"q": 2
},
"model_id": "gpt-5.6-luna",
"protocol": "cli",
"served_model": "gpt-5.6-luna-medium",
"telemetry": {
"completion_tokens": 15762,
"cost_usd": null,
"prompt_tokens": 12,
"total_tokens": 15774,
"wall_ms": 135495
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-xl-s2",
"config_id": "gpt-5.6-luna-eff-medium--cli--cursor-xl--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T16:19:54.950523+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:19:27.049793+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-13T16:20:35.471067+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:19:58.374114+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-13T16:21:15.257637+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:20:38.921487+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-13T16:21:52.787694+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T16:21:18.622241+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
}
}
}