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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居本 session 没有 similarity 数据 —— 这个 batch 没有计算 pairs。
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=device-width, initial-scale=1.0">
<title>Weather Card</title>
<style>
:root {
--bg-a: #1b2f63;
--bg-b: #513ca4;
--bg-c: #f1915b;
--surface-a: rgba(255, 255, 255, 0.20);
--surface-b: rgba(255, 255, 255, 0.07);
--surface-c: rgba(10, 20, 44, 0.32);
--text-main: #f5f8ff;
--text-soft: rgba(235, 241, 255, 0.84);
--text-faint: rgba(222, 230, 248, 0.72);
--glow: rgba(255, 221, 150, 0.55);
--bar-a: #ffd66e;
--bar-b: #ff9d48;
--icon-color: #fff4d0;
}
* {
box-sizing: border-box;
}
html, body {
width: 100%;
height: 100%;
margin: 0;
}
body {
min-width: 1280px;
min-height: 800px;
display: grid;
place-items: center;
overflow: hidden;
font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: var(--text-main);
background:
radial-gradient(1100px 620px at 10% 0%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 68%),
radial-gradient(850px 500px at 88% 100%, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 70%),
linear-gradient(140deg, var(--bg-a) 0%, var(--bg-b) 50%, var(--bg-c) 100%);
transition: background 0.4s ease;
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background:
linear-gradient(transparent 0%, rgba(8, 16, 35, 0.25) 100%),
radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0) 35%),
radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 35%);
}
.stage {
width: 1280px;
height: 800px;
padding: 34px;
}
.weather-card {
width: 100%;
height: 100%;
border-radius: 30px;
padding: 40px 42px 28px;
display: grid;
grid-template-rows: auto auto 1fr auto;
gap: 22px;
position: relative;
overflow: hidden;
background: linear-gradient(145deg, var(--surface-a) 0%, var(--surface-b) 100%);
border: 1px solid rgba(255, 255, 255, 0.30);
box-shadow:
0 36px 72px rgba(6, 12, 32, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.30);
backdrop-filter: blur(12px);
animation: card-enter 700ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.weather-card::after {
content: "";
position: absolute;
width: 380px;
height: 380px;
border-radius: 50%;
top: -150px;
right: -80px;
background: radial-gradient(circle, var(--glow) 0%, rgba(255, 255, 255, 0) 70%);
pointer-events: none;
filter: blur(4px);
}
.top-row {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 22px;
min-height: 186px;
z-index: 1;
}
.location-kicker {
margin: 0;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--text-faint);
font-weight: 600;
}
.location-name {
margin: 10px 0 8px;
max-width: 770px;
font-size: 66px;
font-weight: 750;
line-height: 0.94;
letter-spacing: -0.02em;
text-wrap: balance;
}
.location-date {
margin: 0;
font-size: 22px;
line-height: 1.25;
color: var(--text-soft);
font-weight: 520;
}
.location-coords {
margin: 8px 0 0;
font-size: 14px;
letter-spacing: 0.04em;
color: rgba(233, 239, 252, 0.75);
text-transform: uppercase;
font-weight: 520;
}
.condition-panel {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 12px;
text-align: right;
}
.condition-icon {
width: 96px;
height: 96px;
border-radius: 24px;
display: grid;
place-items: center;
color: var(--icon-color);
background: linear-gradient(145deg, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.08));
border: 1px solid rgba(255, 255, 255, 0.35);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.30),
0 12px 24px rgba(10, 18, 40, 0.22);
}
.condition-icon svg {
width: 72px;
height: 72px;
display: block;
}
.condition-label {
margin: 0;
max-width: 260px;
font-size: 24px;
line-height: 1.18;
color: rgba(247, 250, 255, 0.97);
font-weight: 640;
text-wrap: balance;
}
.metrics {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
z-index: 1;
}
.metric {
min-height: 124px;
border-radius: 20px;
padding: 16px 20px;
background: linear-gradient(150deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08));
border: 1px solid rgba(255, 255, 255, 0.26);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
display: flex;
flex-direction: column;
justify-content: center;
}
.metric-name {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.18em;
color: rgba(239, 244, 255, 0.78);
font-weight: 610;
}
.metric-value {
margin-top: 10px;
font-size: 58px;
line-height: 0.95;
font-weight: 760;
letter-spacing: -0.03em;
color: #ffffff;
}
.hourly-panel {
min-height: 0;
border-radius: 22px;
padding: 16px 16px 14px;
background: linear-gradient(160deg, rgba(12, 22, 48, 0.34), rgba(10, 19, 38, 0.52));
border: 1px solid rgba(255, 255, 255, 0.18);
display: grid;
grid-template-rows: auto 1fr;
gap: 12px;
z-index: 1;
}
.hourly-title {
margin: 0;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.15em;
color: rgba(235, 242, 255, 0.80);
font-weight: 620;
}
.hourly-grid {
min-height: 0;
display: grid;
align-items: end;
gap: 7px;
}
.hour-item {
min-width: 0;
border-radius: 14px;
padding: 8px 4px 7px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
border: 1px solid rgba(255, 255, 255, 0.16);
display: grid;
grid-template-rows: auto 1fr auto;
gap: 7px;
transition: transform 180ms ease, background 180ms ease;
}
.hour-item:hover {
transform: translateY(-2px);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.08));
}
.hour-time {
text-align: center;
font-size: 11px;
letter-spacing: 0.06em;
color: rgba(229, 236, 250, 0.86);
font-weight: 560;
}
.bar-track {
height: 122px;
border-radius: 9px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02));
box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.10);
overflow: hidden;
display: flex;
align-items: flex-end;
}
.bar-fill {
width: 100%;
border-radius: 9px;
background: linear-gradient(180deg, var(--bar-a) 0%, var(--bar-b) 100%);
box-shadow:
0 8px 16px rgba(0, 0, 0, 0.22),
inset 0 1px 0 rgba(255, 255, 255, 0.28);
transition: height 220ms ease-out, opacity 220ms ease-out;
}
.hour-temp {
text-align: center;
font-size: 12px;
color: #ffffff;
font-weight: 640;
letter-spacing: 0.02em;
}
.hourly-empty {
align-self: center;
justify-self: center;
font-size: 18px;
color: rgba(232, 239, 255, 0.78);
font-weight: 520;
letter-spacing: 0.01em;
padding: 18px;
}
.status {
margin: 0;
min-height: 20px;
border-radius: 12px;
padding: 10px 12px;
background: rgba(10, 18, 40, 0.30);
border: 1px solid rgba(255, 255, 255, 0.18);
color: rgba(236, 242, 255, 0.92);
font-size: 15px;
font-weight: 520;
letter-spacing: 0.01em;
z-index: 1;
}
.status.error {
background: rgba(110, 24, 24, 0.36);
border-color: rgba(255, 150, 150, 0.45);
color: #ffe9e9;
}
@keyframes card-enter {
from {
transform: translateY(20px);
opacity: 0.35;
}
to {
transform: translateY(0);
opacity: 1;
}
}
</style>
</head>
<body>
<main class="stage">
<section class="weather-card" role="region" aria-label="Weather card">
<header class="top-row">
<div>
<p class="location-kicker">Weather Snapshot</p>
<h1 id="locationName" class="location-name">Berlin</h1>
<p id="locationDate" class="location-date">Loading date...</p>
<p id="locationCoords" class="location-coords"></p>
</div>
<div class="condition-panel">
<div class="condition-icon" aria-hidden="true">
<svg id="conditionIcon" viewBox="0 0 96 96" fill="none"></svg>
</div>
<p id="conditionText" class="condition-label">Loading weather...</p>
</div>
</header>
<section class="metrics" aria-label="Daily temperature">
<article class="metric">
<div class="metric-name">Maximum</div>
<div id="maxTemp" class="metric-value">--</div>
</article>
<article class="metric">
<div class="metric-name">Minimum</div>
<div id="minTemp" class="metric-value">--</div>
</article>
</section>
<section class="hourly-panel" aria-label="Hourly temperatures">
<p class="hourly-title">Hourly Temperatures (UTC)</p>
<div id="hourlyGrid" class="hourly-grid"></div>
</section>
<p id="statusMessage" class="status" aria-live="polite">Loading weather data...</p>
</section>
</main>
<script>
(() => {
"use strict";
const DEFAULTS = {
lat: 52.52,
lon: 13.405,
name: "Berlin"
};
const THEMES = {
sunny: {
bgA: "#1b2f63",
bgB: "#5d3ea7",
bgC: "#f39a60",
glow: "rgba(255, 221, 150, 0.58)",
barA: "#ffd66e",
barB: "#ff9d48",
iconColor: "#fff4d0"
},
cloudy: {
bgA: "#1d2a46",
bgB: "#385781",
bgC: "#6f7f98",
glow: "rgba(198, 220, 255, 0.50)",
barA: "#bcd7ff",
barB: "#7da6df",
iconColor: "#e7f0ff"
},
fog: {
bgA: "#273346",
bgB: "#4b6076",
bgC: "#77879a",
glow: "rgba(235, 245, 255, 0.45)",
barA: "#d5e1ea",
barB: "#9cb3c8",
iconColor: "#edf4ff"
},
rain: {
bgA: "#152440",
bgB: "#1f5175",
bgC: "#3d7ea4",
glow: "rgba(145, 219, 255, 0.50)",
barA: "#9be1ff",
barB: "#4da6df",
iconColor: "#dff6ff"
},
snow: {
bgA: "#1a2f47",
bgB: "#3d628d",
bgC: "#7aa6c8",
glow: "rgba(240, 247, 255, 0.56)",
barA: "#dceeff",
barB: "#8fc6ff",
iconColor: "#f3f9ff"
},
storm: {
bgA: "#191631",
bgB: "#3b2f69",
bgC: "#5e4b92",
glow: "rgba(212, 188, 255, 0.52)",
barA: "#d0b8ff",
barB: "#8a6fe6",
iconColor: "#efe4ff"
}
};
const elements = {
locationName: document.getElementById("locationName"),
locationDate: document.getElementById("locationDate"),
locationCoords: document.getElementById("locationCoords"),
conditionIcon: document.getElementById("conditionIcon"),
conditionText: document.getElementById("conditionText"),
maxTemp: document.getElementById("maxTemp"),
minTemp: document.getElementById("minTemp"),
hourlyGrid: document.getElementById("hourlyGrid"),
statusMessage: document.getElementById("statusMessage")
};
const params = new URLSearchParams(window.location.search);
const todayUtc = new Date().toISOString().slice(0, 10);
const latitude = normalizeNumber(params.get("lat"), DEFAULTS.lat, -90, 90);
const longitude = normalizeNumber(params.get("lon"), DEFAULTS.lon, -180, 180);
const locationName = normalizeText(params.get("name"), DEFAULTS.name);
const requestedDate = normalizeDate(params.get("date"), todayUtc);
elements.locationName.textContent = locationName;
elements.locationDate.textContent = formatDateLabel(requestedDate);
elements.locationCoords.textContent = "Lat " + latitude.toFixed(3) + " | Lon " + longitude.toFixed(3);
elements.conditionIcon.innerHTML = weatherIcon("cloudy");
applyTheme("cloudy");
loadWeather(latitude, longitude, requestedDate, todayUtc);
async function loadWeather(lat, lon, date, today) {
const endpoint = date < today ? "/api/om/archive" : "/api/om/forecast";
const query = new URLSearchParams({
latitude: String(lat),
longitude: String(lon),
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: date,
end_date: date
});
setStatus("Loading weather data...", false);
try {
const response = await fetch(endpoint + "?" + query.toString());
if (!response.ok) {
throw new Error("Request failed: " + response.status);
}
const payload = await response.json();
const weatherData = parsePayload(payload, date);
const weatherMeta = describeWeather(weatherData.weatherCode);
applyTheme(weatherMeta.theme);
elements.conditionIcon.innerHTML = weatherIcon(weatherMeta.theme);
elements.conditionText.textContent = weatherMeta.label;
elements.maxTemp.textContent = formatTemp(weatherData.maxTemp);
elements.minTemp.textContent = formatTemp(weatherData.minTemp);
renderHourly(weatherData.hourlyRows);
setStatus("", false);
} catch (error) {
console.error(error);
applyTheme("storm");
elements.conditionIcon.innerHTML = weatherIcon("storm");
elements.conditionText.textContent = "Unavailable";
elements.maxTemp.textContent = "--";
elements.minTemp.textContent = "--";
renderHourly([]);
setStatus("Weather data could not be loaded.", true);
}
}
function parsePayload(payload, date) {
const daily = payload && payload.daily;
const hourly = payload && payload.hourly;
if (!daily || !hourly) {
throw new Error("Missing daily or hourly data.");
}
const dailyTimes = Array.isArray(daily.time) ? daily.time : [];
let dayIndex = dailyTimes.indexOf(date);
if (dayIndex < 0) {
dayIndex = 0;
}
const maxTemp = pickNumber(daily.temperature_2m_max, dayIndex);
const minTemp = pickNumber(daily.temperature_2m_min, dayIndex);
const weatherCode = pickNumber(daily.weather_code, dayIndex);
if (maxTemp === null || minTemp === null || weatherCode === null) {
throw new Error("Daily values missing.");
}
const hourlyRows = buildHourlyRows(hourly, date);
if (hourlyRows.length === 0) {
throw new Error("Hourly values missing.");
}
return {
maxTemp: maxTemp,
minTemp: minTemp,
weatherCode: weatherCode,
hourlyRows: hourlyRows
};
}
function buildHourlyRows(hourly, date) {
const times = Array.isArray(hourly.time) ? hourly.time : [];
const temps = Array.isArray(hourly.temperature_2m) ? hourly.temperature_2m : [];
const total = Math.min(times.length, temps.length);
const rows = [];
for (let i = 0; i < total; i += 1) {
const timeValue = times[i];
const tempValue = Number(temps[i]);
if (typeof timeValue !== "string" || !Number.isFinite(tempValue)) {
continue;
}
if (timeValue.slice(0, 10) === date) {
rows.push({
hour: hourLabel(timeValue),
temp: tempValue
});
}
}
if (rows.length > 0) {
return rows;
}
for (let i = 0; i < total; i += 1) {
const timeValue = times[i];
const tempValue = Number(temps[i]);
if (typeof timeValue !== "string" || !Number.isFinite(tempValue)) {
continue;
}
rows.push({
hour: hourLabel(timeValue),
temp: tempValue
});
}
return rows;
}
function renderHourly(rows) {
elements.hourlyGrid.textContent = "";
if (!rows.length) {
elements.hourlyGrid.style.gridTemplateColumns = "1fr";
const empty = document.createElement("div");
empty.className = "hourly-empty";
empty.textContent = "No hourly data available.";
elements.hourlyGrid.appendChild(empty);
return;
}
elements.hourlyGrid.style.gridTemplateColumns = "repeat(" + rows.length + ", minmax(0, 1fr))";
const values = rows.map((row) => row.temp);
const low = Math.min.apply(null, values);
const high = Math.max.apply(null, values);
const spread = Math.max(high - low, 1);
for (let i = 0; i < rows.length; i += 1) {
const row = rows[i];
const ratio = (row.temp - low) / spread;
const barHeight = 24 + ratio * 96;
const item = document.createElement("article");
item.className = "hour-item";
const hour = document.createElement("div");
hour.className = "hour-time";
hour.textContent = row.hour;
const track = document.createElement("div");
track.className = "bar-track";
const fill = document.createElement("div");
fill.className = "bar-fill";
fill.style.height = barHeight.toFixed(1) + "px";
fill.style.opacity = (0.66 + ratio * 0.34).toFixed(2);
track.appendChild(fill);
const temp = document.createElement("div");
temp.className = "hour-temp";
temp.textContent = Math.round(row.temp) + "\u00B0";
item.appendChild(hour);
item.appendChild(track);
item.appendChild(temp);
elements.hourlyGrid.appendChild(item);
}
}
function describeWeather(code) {
const c = Math.round(code);
if (c === 0) return { label: "Clear sky", theme: "sunny" };
if (c === 1) return { label: "Mainly clear", theme: "sunny" };
if (c === 2) return { label: "Partly cloudy", theme: "cloudy" };
if (c === 3) return { label: "Overcast", theme: "cloudy" };
if (c === 45 || c === 48) return { label: "Fog", theme: "fog" };
if ([51, 53, 55].indexOf(c) >= 0) return { label: "Drizzle", theme: "rain" };
if ([56, 57].indexOf(c) >= 0) return { label: "Freezing drizzle", theme: "rain" };
if ([61, 63, 65].indexOf(c) >= 0) return { label: "Rain", theme: "rain" };
if ([66, 67].indexOf(c) >= 0) return { label: "Freezing rain", theme: "rain" };
if ([71, 73, 75].indexOf(c) >= 0) return { label: "Snow fall", theme: "snow" };
if (c === 77) return { label: "Snow grains", theme: "snow" };
if ([80, 81, 82].indexOf(c) >= 0) return { label: "Rain showers", theme: "rain" };
if ([85, 86].indexOf(c) >= 0) return { label: "Snow showers", theme: "snow" };
if (c === 95) return { label: "Thunderstorm", theme: "storm" };
if (c === 96 || c === 99) return { label: "Thunderstorm with hail", theme: "storm" };
return { label: "Unknown conditions", theme: "cloudy" };
}
function applyTheme(themeKey) {
const palette = THEMES[themeKey] || THEMES.cloudy;
const root = document.documentElement.style;
root.setProperty("--bg-a", palette.bgA);
root.setProperty("--bg-b", palette.bgB);
root.setProperty("--bg-c", palette.bgC);
root.setProperty("--glow", palette.glow);
root.setProperty("--bar-a", palette.barA);
root.setProperty("--bar-b", palette.barB);
root.setProperty("--icon-color", palette.iconColor);
}
function weatherIcon(theme) {
if (theme === "sunny") {
return '<g stroke="currentColor" stroke-width="4" stroke-linecap="round" fill="none">' +
'<circle cx="48" cy="48" r="16"></circle>' +
'<line x1="48" y1="10" x2="48" y2="22"></line>' +
'<line x1="48" y1="74" x2="48" y2="86"></line>' +
'<line x1="10" y1="48" x2="22" y2="48"></line>' +
'<line x1="74" y1="48" x2="86" y2="48"></line>' +
'<line x1="20" y1="20" x2="28" y2="28"></line>' +
'<line x1="68" y1="68" x2="76" y2="76"></line>' +
'<line x1="20" y1="76" x2="28" y2="68"></line>' +
'<line x1="68" y1="28" x2="76" y2="20"></line>' +
'</g>';
}
if (theme === "rain") {
return '<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M28 56h38a14 14 0 0 0 0-28 19 19 0 0 0-36-5 13 13 0 0 0-2 33z"></path>' +
'<line x1="36" y1="64" x2="32" y2="76"></line>' +
'<line x1="50" y1="64" x2="46" y2="78"></line>' +
'<line x1="64" y1="64" x2="60" y2="76"></line>' +
'</g>';
}
if (theme === "snow") {
return '<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M28 56h38a14 14 0 0 0 0-28 19 19 0 0 0-36-5 13 13 0 0 0-2 33z"></path>' +
'<line x1="40" y1="72" x2="40" y2="82"></line>' +
'<line x1="35" y1="77" x2="45" y2="77"></line>' +
'<line x1="52" y1="68" x2="52" y2="80"></line>' +
'<line x1="46" y1="74" x2="58" y2="74"></line>' +
'<line x1="64" y1="72" x2="64" y2="82"></line>' +
'<line x1="59" y1="77" x2="69" y2="77"></line>' +
'</g>';
}
if (theme === "fog") {
return '<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M28 52h38a14 14 0 0 0 0-28 19 19 0 0 0-36-5 13 13 0 0 0-2 33z"></path>' +
'<line x1="24" y1="66" x2="72" y2="66"></line>' +
'<line x1="28" y1="76" x2="68" y2="76"></line>' +
'</g>';
}
if (theme === "storm") {
return '<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M28 54h38a14 14 0 0 0 0-28 19 19 0 0 0-36-5 13 13 0 0 0-2 33z"></path>' +
'<path d="M52 60l-10 16h10l-4 12 14-20h-10l4-8z"></path>' +
'</g>';
}
return '<g fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M28 56h38a14 14 0 0 0 0-28 19 19 0 0 0-36-5 13 13 0 0 0-2 33z"></path>' +
'</g>';
}
function normalizeNumber(raw, fallback, min, max) {
if (raw === null) return fallback;
const text = String(raw).trim();
if (!text) return fallback;
const value = Number(text);
if (!Number.isFinite(value)) return fallback;
return Math.min(max, Math.max(min, value));
}
function normalizeText(raw, fallback) {
if (raw === null) return fallback;
const text = String(raw).trim();
return text || fallback;
}
function normalizeDate(raw, fallback) {
if (raw === null) return fallback;
const text = String(raw).trim();
if (!/^\d{4}-\d{2}-\d{2}$/.test(text)) return fallback;
const parts = text.split("-");
const year = Number(parts[0]);
const month = Number(parts[1]);
const day = Number(parts[2]);
const date = new Date(Date.UTC(year, month - 1, day));
if (
date.getUTCFullYear() !== year ||
date.getUTCMonth() !== month - 1 ||
date.getUTCDate() !== day
) {
return fallback;
}
return text;
}
function formatDateLabel(dateString) {
const date = new Date(dateString + "T00:00:00Z");
const formatted = new Intl.DateTimeFormat(undefined, {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
timeZone: "UTC"
}).format(date);
return formatted + " UTC";
}
function pickNumber(values, index) {
if (!Array.isArray(values) || values.length === 0) return null;
const safeIndex = index >= 0 && index < values.length ? index : 0;
const parsed = Number(values[safeIndex]);
return Number.isFinite(parsed) ? parsed : null;
}
function hourLabel(timeString) {
const match = /T(\d{2}:\d{2})/.exec(timeString);
if (match) return match[1];
if (timeString.length >= 5) return timeString.slice(-5);
return "--:--";
}
function formatTemp(value) {
return Math.round(value) + "\u00B0C";
}
function setStatus(message, isError) {
if (!message) {
elements.statusMessage.hidden = true;
elements.statusMessage.classList.remove("error");
elements.statusMessage.textContent = "";
return;
}
elements.statusMessage.hidden = false;
elements.statusMessage.textContent = message;
elements.statusMessage.classList.toggle("error", Boolean(isError));
}
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 26,155 | html / css / js | 1,673 / 8,299 / 16,183 |
|---|---|---|---|
| dom 节点 | 31 | dom 深度 | 8 |
| css 规则 | 36 | 含 js | 是 |
| brightness | 96.8 | contrast | 30.9 |
| colorfulness | 33.8 | 留白 | 31.0% |
该 slot 的 telemetry
| prompt tokens | 1,929 | completion tokens | 19,614 |
|---|---|---|---|
| total tokens | 21,543 | wall | 158.7 s |
| cost | — | request id | — |
config.json577 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "gpt-5.3-codex-eff-xhigh--cli--cursor--dev",
"effort": "xhigh",
"family": "gpt",
"m": {
"min": 2,
"q": 2
},
"model_id": "gpt-5.3-codex",
"protocol": "cli",
"served_model": "gpt-5.3-codex-xhigh",
"telemetry": {
"completion_tokens": 55964,
"cost_usd": null,
"prompt_tokens": 35356,
"total_tokens": 91320,
"wall_ms": 468268
},
"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": "gpt-5.3-codex-eff-xhigh--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T16:56:17.510797+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:53:38.829124+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-12T16:57:47.586008+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:56:24.065669+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-12T16:59:20.029530+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:57:51.387207+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-12T17:01:40.456691+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T16:59:23.018757+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
}
}
}