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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
gpt-5.6-sol @medium · cursor-xl0.76gpt-5.6-sol @none · cursor-xl0.76gpt-5.6-sol @none · codex-oauth0.75gpt-5.6-sol @low · cursor0.75gpt-5.6-terra @low · cursor0.75最远
north-mini-code-free · api0.50qwen3.6-plus · go0.52qwen3.5-plus · go0.52claude-haiku-4-5 @high · CC0.53claude-sonnet-4 · cursor0.53限于 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=device-width, initial-scale=1.0">
<title>Weather</title>
<style>
* { box-sizing: border-box; }
:root {
color-scheme: dark;
font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body {
margin: 0;
min-width: 320px;
min-height: 100vh;
display: grid;
place-items: center;
overflow: hidden;
color: #f8fbff;
background:
radial-gradient(circle at 17% 15%, rgba(95, 179, 255, .28), transparent 28rem),
radial-gradient(circle at 83% 82%, rgba(92, 75, 196, .28), transparent 30rem),
linear-gradient(145deg, #071322 0%, #10233e 48%, #151936 100%);
}
body::before, body::after {
content: "";
position: fixed;
border-radius: 50%;
filter: blur(2px);
pointer-events: none;
}
body::before {
width: 330px;
height: 330px;
left: -110px;
bottom: -130px;
border: 1px solid rgba(255,255,255,.08);
box-shadow: 0 0 90px rgba(58,164,255,.12) inset;
}
body::after {
width: 240px;
height: 240px;
right: -55px;
top: -70px;
background: rgba(255,255,255,.025);
border: 1px solid rgba(255,255,255,.07);
}
.card {
width: min(1120px, calc(100vw - 80px));
min-height: 650px;
padding: 44px 48px 38px;
position: relative;
overflow: hidden;
border: 1px solid rgba(255,255,255,.15);
border-radius: 34px;
background: linear-gradient(135deg, rgba(28,58,91,.82), rgba(19,25,54,.74));
box-shadow: 0 32px 80px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.12);
backdrop-filter: blur(24px);
}
.card::after {
content: "";
position: absolute;
width: 480px;
height: 480px;
right: -170px;
top: -230px;
border-radius: 50%;
background: radial-gradient(circle, rgba(116,193,255,.2), transparent 66%);
pointer-events: none;
}
header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 32px;
position: relative;
z-index: 1;
}
.eyebrow {
margin: 0 0 10px;
color: #8dcfff;
font-size: 12px;
font-weight: 800;
letter-spacing: .2em;
text-transform: uppercase;
}
h1 {
margin: 0;
max-width: 700px;
font-size: clamp(34px, 4vw, 54px);
line-height: 1.05;
letter-spacing: -.045em;
overflow-wrap: anywhere;
}
.date {
margin-top: 13px;
color: rgba(232,242,255,.68);
font-size: 17px;
font-weight: 500;
}
.status {
display: flex;
align-items: center;
gap: 9px;
margin-top: 4px;
color: rgba(227,240,255,.68);
font-size: 13px;
white-space: nowrap;
}
.status i {
width: 8px;
height: 8px;
border-radius: 50%;
background: #70d8ae;
box-shadow: 0 0 12px #70d8ae;
}
.hero {
min-height: 235px;
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 30px;
position: relative;
z-index: 1;
padding: 25px 2px 26px;
}
.condition-wrap {
display: flex;
align-items: center;
gap: 24px;
min-width: 0;
}
.icon {
width: 118px;
height: 118px;
flex: 0 0 auto;
display: grid;
place-items: center;
border-radius: 32px;
font-size: 67px;
line-height: 1;
background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
border: 1px solid rgba(255,255,255,.14);
box-shadow: inset 0 1px rgba(255,255,255,.12), 0 14px 30px rgba(0,0,0,.14);
}
.condition {
margin: 0 0 7px;
color: #fff;
font-size: 29px;
font-weight: 720;
letter-spacing: -.025em;
}
.summary {
color: rgba(226,239,255,.58);
font-size: 15px;
}
.range {
display: flex;
align-items: center;
gap: 25px;
}
.temp-block {
min-width: 135px;
}
.temp-label {
color: rgba(222,237,255,.58);
font-size: 12px;
font-weight: 750;
letter-spacing: .13em;
text-transform: uppercase;
}
.temp {
margin-top: 3px;
font-size: 60px;
font-weight: 760;
line-height: 1;
letter-spacing: -.065em;
}
.temp sup {
vertical-align: top;
font-size: 24px;
font-weight: 500;
letter-spacing: 0;
}
.divider {
width: 1px;
height: 78px;
background: linear-gradient(transparent, rgba(255,255,255,.2), transparent);
}
.hourly-panel {
position: relative;
z-index: 1;
padding: 23px 22px 19px;
border: 1px solid rgba(255,255,255,.1);
border-radius: 24px;
background: rgba(3,13,31,.24);
}
.panel-heading {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 2px 18px;
}
.panel-heading h2 {
margin: 0;
font-size: 14px;
letter-spacing: .08em;
text-transform: uppercase;
}
.panel-heading span {
color: rgba(220,235,255,.5);
font-size: 12px;
}
.hours {
display: grid;
grid-template-columns: repeat(12, minmax(0, 1fr));
gap: 8px;
}
.hour {
min-width: 0;
padding: 14px 3px 13px;
text-align: center;
border: 1px solid rgba(255,255,255,.075);
border-radius: 15px;
background: rgba(255,255,255,.045);
}
.hour-time {
color: rgba(221,235,252,.52);
font-size: 11px;
font-weight: 650;
}
.hour-temp {
margin-top: 9px;
font-size: 17px;
font-weight: 720;
letter-spacing: -.02em;
}
.loading, .error {
min-height: 475px;
display: grid;
place-items: center;
position: relative;
z-index: 2;
text-align: center;
}
.loading-box, .error-box { max-width: 450px; }
.spinner {
width: 44px;
height: 44px;
margin: 0 auto 22px;
border: 3px solid rgba(255,255,255,.16);
border-top-color: #87ceff;
border-radius: 50%;
animation: spin .8s linear infinite;
}
.loading p, .error p {
margin: 0;
color: rgba(226,239,255,.66);
font-size: 16px;
}
.error-symbol {
margin-bottom: 16px;
font-size: 48px;
}
.error h2 {
margin: 0 0 10px;
font-size: 27px;
}
.hidden { display: none; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 850px) {
body { overflow: auto; padding: 30px 0; }
.card { width: calc(100vw - 30px); padding: 30px 25px; }
.hero { grid-template-columns: 1fr; }
.hours { grid-template-columns: repeat(6, 1fr); }
.status { display: none; }
}
</style>
</head>
<body>
<main class="card">
<section id="loading" class="loading">
<div class="loading-box">
<div class="spinner"></div>
<p>Gathering the forecast…</p>
</div>
</section>
<section id="weather" class="hidden">
<header>
<div>
<p class="eyebrow">Daily weather</p>
<h1 id="location"></h1>
<div id="date" class="date"></div>
</div>
<div class="status"><i></i><span>UTC forecast</span></div>
</header>
<div class="hero">
<div class="condition-wrap">
<div id="icon" class="icon" aria-hidden="true"></div>
<div>
<div id="condition" class="condition"></div>
<div class="summary">Conditions and temperature range</div>
</div>
</div>
<div class="range">
<div class="temp-block">
<div class="temp-label">High</div>
<div id="high" class="temp"></div>
</div>
<div class="divider"></div>
<div class="temp-block">
<div class="temp-label">Low</div>
<div id="low" class="temp"></div>
</div>
</div>
</div>
<section class="hourly-panel">
<div class="panel-heading">
<h2>Hourly temperature</h2>
<span>Every two hours · °C</span>
</div>
<div id="hours" class="hours"></div>
</section>
</section>
<section id="error" class="error hidden">
<div class="error-box">
<div class="error-symbol">☁️</div>
<h2>Weather unavailable</h2>
<p>The weather data could not be loaded. Please check the location and date, then try again.</p>
</div>
</section>
</main>
<script>
(() => {
const params = new URLSearchParams(location.search);
const lat = Number(params.get("lat") ?? 52.52);
const lon = Number(params.get("lon") ?? 13.405);
const name = (params.get("name") || "Berlin").trim() || "Berlin";
const today = new Date().toISOString().slice(0, 10);
const date = params.get("date") || today;
const weatherCodes = {
0: ["Clear sky", "☀️"],
1: ["Mainly clear", "🌤️"],
2: ["Partly cloudy", "⛅"],
3: ["Overcast", "☁️"],
45: ["Fog", "🌫️"],
48: ["Rime fog", "🌫️"],
51: ["Light drizzle", "🌦️"],
53: ["Drizzle", "🌦️"],
55: ["Heavy drizzle", "🌧️"],
56: ["Freezing drizzle", "🌧️"],
57: ["Heavy freezing drizzle", "🌧️"],
61: ["Light rain", "🌦️"],
63: ["Rain", "🌧️"],
65: ["Heavy rain", "🌧️"],
66: ["Freezing rain", "🌧️"],
67: ["Heavy freezing rain", "🌧️"],
71: ["Light snow", "🌨️"],
73: ["Snow", "🌨️"],
75: ["Heavy snow", "❄️"],
77: ["Snow grains", "🌨️"],
80: ["Light showers", "🌦️"],
81: ["Rain showers", "🌧️"],
82: ["Heavy showers", "⛈️"],
85: ["Snow showers", "🌨️"],
86: ["Heavy snow showers", "❄️"],
95: ["Thunderstorm", "⛈️"],
96: ["Thunderstorm with hail", "⛈️"],
99: ["Severe hailstorm", "⛈️"]
};
const formatDate = value => new Intl.DateTimeFormat("en", {
weekday: "long", year: "numeric", month: "long", day: "numeric", timeZone: "UTC"
}).format(new Date(value + "T00:00:00Z"));
const temp = value => `${Math.round(value)}<sup>°</sup>`;
async function load() {
try {
if (!Number.isFinite(lat) || !Number.isFinite(lon) ||
!/^\d{4}-\d{2}-\d{2}$/.test(date) ||
Number.isNaN(Date.parse(date + "T00:00:00Z"))) {
throw new Error("Invalid parameters");
}
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
});
const response = await fetch(`${endpoint}?${query}`);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
const high = data.daily?.temperature_2m_max?.[0];
const low = data.daily?.temperature_2m_min?.[0];
const code = data.daily?.weather_code?.[0];
const times = data.hourly?.time;
const temperatures = data.hourly?.temperature_2m;
if (![high, low, code].every(Number.isFinite) ||
!Array.isArray(times) || !Array.isArray(temperatures) ||
times.length === 0 || times.length !== temperatures.length) {
throw new Error("Incomplete weather data");
}
const [condition, icon] = weatherCodes[code] || ["Unknown conditions", "🌡️"];
document.getElementById("location").textContent = name;
document.getElementById("date").textContent = formatDate(date);
document.getElementById("condition").textContent = condition;
document.getElementById("icon").textContent = icon;
document.getElementById("high").innerHTML = temp(high);
document.getElementById("low").innerHTML = temp(low);
const hours = document.getElementById("hours");
times.forEach((time, index) => {
if (index % 2 !== 0 || !Number.isFinite(temperatures[index])) return;
const item = document.createElement("div");
item.className = "hour";
const hour = time.slice(11, 16);
item.innerHTML =
`<div class="hour-time">${hour}</div>` +
`<div class="hour-temp">${Math.round(temperatures[index])}°</div>`;
hours.appendChild(item);
});
document.getElementById("loading").classList.add("hidden");
document.getElementById("weather").classList.remove("hidden");
} catch (error) {
document.getElementById("loading").classList.add("hidden");
document.getElementById("weather").classList.add("hidden");
document.getElementById("error").classList.remove("hidden");
}
}
load();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 13,508 | html / css / js | 1,972 / 6,800 / 4,736 |
|---|---|---|---|
| dom 节点 | 46 | dom 深度 | 8 |
| css 规则 | 48 | 含 js | 是 |
| brightness | 41.8 | contrast | 20.0 |
| colorfulness | 21.3 | 留白 | 72.4% |
该 slot 的 telemetry
| prompt tokens | 3 | completion tokens | 3,896 |
|---|---|---|---|
| total tokens | 3,899 | wall | 45.6 s |
| cost | — | request id | — |
config.json565 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "gpt-5.6-sol-eff-none--cli--cursor--dev",
"effort": "none",
"family": "gpt",
"m": {
"min": 2,
"q": 2
},
"model_id": "gpt-5.6-sol",
"protocol": "cli",
"served_model": "gpt-5.6-sol-none",
"telemetry": {
"completion_tokens": 13544,
"cost_usd": null,
"prompt_tokens": 12,
"total_tokens": 13556,
"wall_ms": 180282
},
"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": "gpt-5.6-sol-eff-none--cli--cursor--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-12T18:04:19.784866+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:03:38.427079+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:05:09.265244+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:04:23.710784+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:06:06.626968+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:05:13.391328+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-12T18:06:50.723627+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-12T18:06:10.582673+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
}
}
}