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

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-4-8 @low · CC0.69qwen3.8-max-preview · qoder0.69claude-opus-4-8-thinking @low · cursor-xl0.69gpt-5.5 @low · cursor0.68claude-opus-4-8-thinking @medium · cursor-xl0.68最远
gpt-6-astra · codex0.52north-mini-code-free · api0.52deepseek-v4-pro-0812 @none · api0.52nemotron-3-ultra-free · api0.53gpt-5.6-terra @max · cursor0.53限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempambiguousno-remaining-candidate
- min tempmatch展示值:16
- 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, initial-scale=1.0">
<title>Weather Card</title>
<style>
:root {
--bg-1: #0f172a;
--bg-2: #1e293b;
--card-bg: rgba(255, 255, 255, 0.08);
--card-border: rgba(255, 255, 255, 0.14);
--text-strong: #f8fafc;
--text-muted: #94a3b8;
--accent: #38bdf8;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
width: 1280px;
height: 800px;
overflow: hidden;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: radial-gradient(1200px 800px at 20% -10%, #1e3a8a 0%, transparent 55%),
radial-gradient(1000px 700px at 100% 100%, #0e7490 0%, transparent 50%),
linear-gradient(135deg, var(--bg-1), var(--bg-2));
color: var(--text-strong);
display: flex;
align-items: center;
justify-content: center;
-webkit-font-smoothing: antialiased;
}
.card {
width: 960px;
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: 28px;
padding: 48px 56px;
backdrop-filter: blur(24px) saturate(160%);
-webkit-backdrop-filter: blur(24px) saturate(160%);
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255,255,255,0.12);
}
.top {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 40px;
}
.location {
font-size: 40px;
font-weight: 700;
letter-spacing: -0.5px;
}
.date {
font-size: 17px;
color: var(--text-muted);
margin-top: 6px;
letter-spacing: 0.3px;
}
.condition-badge {
text-align: right;
}
.icon {
font-size: 68px;
line-height: 1;
}
.condition-text {
font-size: 16px;
color: var(--text-muted);
margin-top: 8px;
}
.temps {
display: flex;
align-items: baseline;
gap: 36px;
margin-bottom: 48px;
}
.temp-max {
font-size: 96px;
font-weight: 700;
letter-spacing: -3px;
line-height: 1;
}
.temp-max .unit { font-size: 44px; color: var(--text-muted); font-weight: 500; }
.temp-min {
font-size: 26px;
color: var(--text-muted);
font-weight: 500;
}
.temp-min .label {
display: block;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 4px;
color: #64748b;
}
.hourly-section h2 {
font-size: 13px;
text-transform: uppercase;
letter-spacing: 2px;
color: var(--text-muted);
margin-bottom: 20px;
font-weight: 600;
}
.chart {
display: flex;
align-items: flex-end;
gap: 4px;
height: 200px;
padding-top: 24px;
}
.hour {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
height: 100%;
justify-content: flex-end;
gap: 8px;
}
.hour .val {
font-size: 11px;
color: var(--text-strong);
font-weight: 600;
white-space: nowrap;
}
.bar {
width: 100%;
max-width: 20px;
border-radius: 6px 6px 3px 3px;
background: linear-gradient(180deg, var(--accent), #0ea5e9);
min-height: 4px;
transition: none;
}
.hour .hr {
font-size: 10px;
color: #64748b;
margin-top: 2px;
}
.message {
text-align: center;
font-size: 20px;
color: var(--text-muted);
padding: 60px 0;
}
.message.error { color: #fca5a5; }
</style>
</head>
<body>
<div class="card" id="card">
<div class="message" id="loading">Loading weather…</div>
</div>
<script>
(function () {
const params = new URLSearchParams(window.location.search);
const lat = params.get("lat") || "52.52";
const lon = params.get("lon") || "13.405";
const name = params.get("name") || "Berlin";
function todayUTC() {
const d = new Date();
const y = d.getUTCFullYear();
const m = String(d.getUTCMonth() + 1).padStart(2, "0");
const day = String(d.getUTCDate()).padStart(2, "0");
return `${y}-${m}-${day}`;
}
const dateStr = params.get("date") || todayUTC();
const WEATHER = {
0: ["Clear sky", "☀️"],
1: ["Mainly clear", "🌤️"],
2: ["Partly cloudy", "⛅"],
3: ["Overcast", "☁️"],
45: ["Fog", "🌫️"],
48: ["Depositing rime fog", "🌫️"],
51: ["Light drizzle", "🌦️"],
53: ["Moderate drizzle", "🌦️"],
55: ["Dense drizzle", "🌦️"],
56: ["Light freezing drizzle", "🌧️"],
57: ["Dense freezing drizzle", "🌧️"],
61: ["Slight rain", "🌧️"],
63: ["Moderate rain", "🌧️"],
65: ["Heavy rain", "🌧️"],
66: ["Light freezing rain", "🌧️"],
67: ["Heavy freezing rain", "🌧️"],
71: ["Slight snow", "🌨️"],
73: ["Moderate snow", "🌨️"],
75: ["Heavy snow", "❄️"],
77: ["Snow grains", "🌨️"],
80: ["Slight rain showers", "🌦️"],
81: ["Moderate rain showers", "🌦️"],
82: ["Violent rain showers", "⛈️"],
85: ["Slight snow showers", "🌨️"],
86: ["Heavy snow showers", "❄️"],
95: ["Thunderstorm", "⛈️"],
96: ["Thunderstorm w/ slight hail", "⛈️"],
99: ["Thunderstorm w/ heavy hail", "⛈️"]
};
function describe(code) {
return WEATHER[code] || ["Unknown", "❓"];
}
function isPast(dStr) {
return dStr < todayUTC();
}
function fmtDate(dStr) {
const parts = dStr.split("-");
const d = new Date(Date.UTC(+parts[0], +parts[1] - 1, +parts[2]));
return d.toLocaleDateString("en-US", {
weekday: "long", year: "numeric", month: "long", day: "numeric", timeZone: "UTC"
});
}
function showError(msg) {
document.getElementById("card").innerHTML =
'<div class="message error">' + msg + '</div>';
}
const base = isPast(dateStr) ? "/api/om/archive" : "/api/om/forecast";
const q = new URLSearchParams({
latitude: lat,
longitude: lon,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: dateStr,
end_date: dateStr
});
fetch(base + "?" + q.toString())
.then(function (res) {
if (!res.ok) throw new Error("Request failed (" + res.status + ")");
return res.json();
})
.then(function (data) {
if (!data || !data.daily || !data.hourly) {
throw new Error("Malformed response");
}
render(data);
})
.catch(function (err) {
showError("Weather data could not be loaded. " + (err.message || ""));
});
function render(data) {
const daily = data.daily;
const hourly = data.hourly;
const tmax = daily.temperature_2m_max && daily.temperature_2m_max[0];
const tmin = daily.temperature_2m_min && daily.temperature_2m_min[0];
const code = daily.weather_code && daily.weather_code[0];
if (tmax == null || tmin == null) {
showError("Weather data could not be loaded.");
return;
}
const [condText, condIcon] = describe(code);
const times = hourly.time || [];
const temps = hourly.temperature_2m || [];
const hours = [];
for (let i = 0; i < times.length; i++) {
if (temps[i] == null) continue;
const hr = times[i].slice(11, 16);
hours.push({ hr: hr, t: temps[i] });
}
let chartHTML = "";
if (hours.length) {
let lo = Infinity, hi = -Infinity;
hours.forEach(function (h) { if (h.t < lo) lo = h.t; if (h.t > hi) hi = h.t; });
const span = hi - lo || 1;
chartHTML = hours.map(function (h) {
const pct = 18 + ((h.t - lo) / span) * 82;
return '<div class="hour">' +
'<div class="val">' + Math.round(h.t) + '°</div>' +
'<div class="bar" style="height:' + pct + '%"></div>' +
'<div class="hr">' + h.hr + '</div>' +
'</div>';
}).join("");
} else {
chartHTML = '<div class="message">No hourly data available.</div>';
}
document.getElementById("card").innerHTML =
'<div class="top">' +
'<div>' +
'<div class="location">' + escapeHTML(name) + '</div>' +
'<div class="date">' + fmtDate(dateStr) + '</div>' +
'</div>' +
'<div class="condition-badge">' +
'<div class="icon">' + condIcon + '</div>' +
'<div class="condition-text">' + condText + '</div>' +
'</div>' +
'</div>' +
'<div class="temps">' +
'<div class="temp-max">' + Math.round(tmax) + '<span class="unit">°C</span></div>' +
'<div class="temp-min">' +
'<span class="label">Low</span>' + Math.round(tmin) + '°C' +
'</div>' +
'</div>' +
'<div class="hourly-section">' +
'<h2>Hourly Temperature</h2>' +
'<div class="chart">' + chartHTML + '</div>' +
'</div>';
}
function escapeHTML(s) {
return String(s).replace(/[&<>"']/g, function (c) {
return { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[c];
});
}
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 9,096 | html / css / js | 322 / 3,306 / 5,468 |
|---|---|---|---|
| dom 节点 | 10 | dom 深度 | 4 |
| css 规则 | 24 | 含 js | 是 |
| brightness | 51.8 | contrast | 26.5 |
| colorfulness | 52.1 | 留白 | 56.4% |
该 slot 的 telemetry
| prompt tokens | 2 | completion tokens | 4,140 |
|---|---|---|---|
| total tokens | 4,142 | wall | 47.1 s |
| cost | — | request id | — |
config.json588 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_NONE",
"method": "oauth-login"
},
"billing": "plan",
"config_id": "claude-opus-4-8-eff-medium--cli--cursor-xl--dev",
"effort": "medium",
"family": "claude",
"m": {
"min": 2,
"q": 2
},
"model_id": "claude-opus-4-8",
"protocol": "cli",
"served_model": "claude-opus-4-8-medium",
"telemetry": {
"completion_tokens": 23558,
"cost_usd": null,
"prompt_tokens": 8,
"total_tokens": 23566,
"wall_ms": 252488
},
"transport": "cursor-agent-cli-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-13--cursor-xl-s1",
"config_id": "claude-opus-4-8-eff-medium--cli--cursor-xl--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-13T10:54:29.402382+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T10:53:42.272810+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-13T10:55:18.728659+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T10:54:33.117464+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-13T10:56:17.689044+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T10:55:21.966277+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-13T10:58:05.194104+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-13T10:56:21.162784+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
}
}
}