deepseek-v4-pro @ max · api
apimax
- config
- deepseek-v4-pro-eff-max--api--official--dev
- batch
- 2026-07-19--unified
- transport
- deepseek-official-api
- protocol
- api · metered
- served model
- deepseek-v4-pro
- 采集于
- 2026年7月18日 11:54 · N=4
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
claude-opus-4-8 @medium · kiro0.59kimi-k2.5 · go0.59kimi-k2.6 · opencode0.59qwen3.6-plus · go0.59hy3-free · api0.58最远
gpt-5.5 @medium · codex-oauth0.45grok-4.3 @medium · api0.47gpt-5.6-terra @medium · kiro0.47glm-5.2-eff-disabled--api--official--dev0.47gemini-3.1-pro-preview @low · api0.47限于 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=device-width, initial-scale=1.0">
<title>Weather Card</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
transition: background 1s ease;
padding: 20px;
}
.weather-card {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(30px);
border: 1px solid rgba(255, 255, 255, 0.6);
border-radius: 28px;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12), 0 10px 30px rgba(0, 0, 0, 0.08);
padding: 44px 48px;
max-width: 760px;
width: 100%;
animation: fadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.weather-card:hover {
transform: translateY(-2px);
box-shadow: 0 35px 70px rgba(0, 0, 0, 0.15), 0 12px 35px rgba(0, 0, 0, 0.1);
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.loading {
text-align: center;
padding: 60px 20px;
color: #666;
}
.spinner {
width: 44px;
height: 44px;
border: 4px solid rgba(0, 0, 0, 0.08);
border-top-color: #4facfe;
border-radius: 50%;
animation: spin 0.7s linear infinite;
margin: 0 auto 20px;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.loading p {
font-size: 1rem;
color: #888;
letter-spacing: 0.3px;
}
.error-state {
text-align: center;
padding: 50px 20px;
}
.error-icon {
font-size: 3.5rem;
margin-bottom: 16px;
}
.error-title {
font-size: 1.3rem;
font-weight: 600;
color: #333;
margin-bottom: 8px;
}
.error-message {
color: #777;
font-size: 0.95rem;
line-height: 1.5;
}
.main-info {
text-align: center;
margin-bottom: 8px;
}
.location {
font-size: 2.4rem;
font-weight: 700;
color: #1a1a2e;
margin-bottom: 2px;
letter-spacing: -0.5px;
line-height: 1.2;
}
.date {
font-size: 1rem;
color: #777;
margin-bottom: 20px;
font-weight: 500;
}
.weather-main {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin-bottom: 18px;
}
.weather-emoji {
font-size: 4.5rem;
line-height: 1;
filter: drop-shadow(0 8px 12px rgba(0,0,0,0.12));
transition: transform 0.3s ease;
}
.weather-emoji:hover {
transform: scale(1.1);
}
.condition-text {
font-size: 1.4rem;
font-weight: 500;
color: #444;
}
.temps {
display: flex;
justify-content: center;
gap: 40px;
margin-bottom: 0;
}
.temp-item {
display: flex;
flex-direction: column;
align-items: center;
}
.temp-label {
font-size: 0.8rem;
color: #999;
text-transform: uppercase;
letter-spacing: 1.5px;
margin-bottom: 4px;
font-weight: 600;
}
.temp-value {
font-size: 2.6rem;
font-weight: 700;
color: #1a1a2e;
line-height: 1;
}
.temp-value.max {
color: #e74c3c;
}
.temp-value.min {
color: #3498db;
}
.divider {
border: none;
height: 1px;
background: linear-gradient(to right, transparent, rgba(0,0,0,0.1), transparent);
margin: 28px 0 24px;
}
.hourly-section {
background: rgba(0, 0, 0, 0.025);
border-radius: 18px;
padding: 22px 24px 18px;
border: 1px solid rgba(0,0,0,0.04);
}
.chart-title {
font-size: 0.8rem;
font-weight: 700;
color: #666;
margin-bottom: 16px;
text-align: center;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.chart-bars-grid {
display: grid;
grid-template-columns: repeat(24, 1fr);
gap: 1px;
height: 140px;
align-items: end;
margin-bottom: 4px;
}
.bar-col {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
height: 100%;
cursor: pointer;
transition: transform 0.15s ease;
}
.bar-col:hover {
transform: scaleY(1.05);
transform-origin: bottom;
}
.bar-temp {
font-size: 8.5px;
color: #555;
margin-bottom: 2px;
line-height: 1;
font-weight: 600;
white-space: nowrap;
opacity: 0.9;
transition: opacity 0.2s ease;
}
.bar-col:hover .bar-temp {
opacity: 1;
font-weight: 700;
}
.bar-fill {
width: 65%;
max-width: 26px;
border-radius: 5px 5px 0 0;
min-height: 4px;
transition: height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1.2), background 0.3s ease, width 0.2s ease;
}
.bar-col:hover .bar-fill {
width: 85%;
max-width: 30px;
}
.chart-labels-grid {
display: grid;
grid-template-columns: repeat(24, 1fr);
gap: 1px;
}
.bar-hour {
font-size: 8.5px;
color: #999;
text-align: center;
line-height: 1;
font-weight: 500;
}
</style>
</head>
<body>
<div class="weather-card" id="weatherCard">
<div class="loading">
<div class="spinner"></div>
<p>Loading weather data…</p>
</div>
</div>
<script>
(function() {
var params = new URLSearchParams(window.location.search);
var lat = parseFloat(params.get('lat')) || 52.52;
var lon = parseFloat(params.get('lon')) || 13.405;
var name = params.get('name') || 'Berlin';
var dateStr = params.get('date');
function getTodayUTC() {
var now = new Date();
var year = now.getUTCFullYear();
var month = String(now.getUTCMonth() + 1).padStart(2, '0');
var day = String(now.getUTCDate()).padStart(2, '0');
return year + '-' + month + '-' + day;
}
function isValidDateStr(str) {
return /^\d{4}-\d{2}-\d{2}$/.test(str) && !isNaN(new Date(str + 'T00:00:00Z').getTime());
}
var date;
if (dateStr && isValidDateStr(dateStr)) {
date = dateStr;
} else {
date = getTodayUTC();
}
var todayUTC = getTodayUTC();
var isPast = date < todayUTC;
var apiPath = isPast ? '/api/om/archive' : '/api/om/forecast';
var apiParams = 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: date,
end_date: date
});
var apiUrl = apiPath + '?' + apiParams.toString();
function getWeatherEmoji(code) {
if (code === 0) return '\u2600\uFE0F';
if (code === 1) return '\uD83C\uDF24\uFE0F';
if (code === 2) return '\u26C5';
if (code === 3) return '\u2601\uFE0F';
if (code >= 45 && code <= 48) return '\uD83C\uDF2B\uFE0F';
if (code >= 51 && code <= 55) return '\uD83C\uDF26\uFE0F';
if (code >= 56 && code <= 57) return '\uD83C\uDF27\uFE0F';
if (code >= 61 && code <= 65) return '\uD83C\uDF27\uFE0F';
if (code >= 66 && code <= 67) return '\uD83C\uDF27\uFE0F';
if (code >= 71 && code <= 77) return '\u2744\uFE0F';
if (code >= 80 && code <= 82) return '\uD83C\uDF26\uFE0F';
if (code >= 85 && code <= 86) return '\uD83C\uDF28\uFE0F';
if (code >= 95) return '\u26C8\uFE0F';
return '\uD83C\uDF21\uFE0F';
}
function getWeatherCondition(code) {
var conditions = {
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 with slight hail',
99: 'Thunderstorm with heavy hail'
};
return conditions[code] || 'Unknown';
}
function getTempColor(temp) {
var minTemp = -15;
var maxTemp = 45;
var clamped = Math.max(minTemp, Math.min(maxTemp, temp));
var fraction = (clamped - minTemp) / (maxTemp - minTemp);
var hue = 220 - fraction * 210;
return 'hsl(' + hue + ', 65%, 60%)';
}
function formatDate(dateString) {
var d = new Date(dateString + 'T00:00:00Z');
return d.toLocaleDateString('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
timeZone: 'UTC'
});
}
function escapeHtml(text) {
var div = document.createElement('div');
div.textContent = text;
return div.innerHTML;
}
var card = document.getElementById('weatherCard');
fetch(apiUrl)
.then(function(response) {
if (!response.ok) throw new Error('HTTP error ' + response.status);
return response.json();
})
.then(function(data) {
if (!data.daily || !data.hourly || !data.daily.temperature_2m_max || data.daily.temperature_2m_max.length === 0) {
throw new Error('Invalid data structure');
}
var maxTemp = Math.round(data.daily.temperature_2m_max[0]);
var minTemp = Math.round(data.daily.temperature_2m_min[0]);
var weatherCode = data.daily.weather_code[0];
var hourlyTimes = data.hourly.time;
var hourlyTemps = data.hourly.temperature_2m;
var conditionText = getWeatherCondition(weatherCode);
var emoji = getWeatherEmoji(weatherCode);
var hMin = Math.min.apply(null, hourlyTemps);
var hMax = Math.max.apply(null, hourlyTemps);
var range = hMax - hMin || 1;
var barsHTML = '';
var labelsHTML = '';
hourlyTemps.forEach(function(temp, i) {
var timeStr = hourlyTimes[i];
var hour = timeStr.split('T')[1].split(':')[0];
var heightPercent = ((temp - hMin) / range) * 100;
var color = getTempColor(temp);
var roundedTemp = Math.round(temp);
barsHTML +=
'<div class="bar-col" title="' + roundedTemp + '\u00B0C at ' + hour + ':00">' +
'<span class="bar-temp">' + roundedTemp + '\u00B0</span>' +
'<div class="bar-fill" style="height: ' + heightPercent + '%; background: ' + color + ';"></div>' +
'</div>';
labelsHTML += '<span class="bar-hour">' + hour + '</span>';
});
var formattedDate = formatDate(date);
card.innerHTML =
'<div class="card-content">' +
'<div class="main-info">' +
'<div class="location">' + escapeHtml(name) + '</div>' +
'<div class="date">' + formattedDate + '</div>' +
'<div class="weather-main">' +
'<div class="weather-emoji">' + emoji + '</div>' +
'<div class="condition-text">' + escapeHtml(conditionText) + '</div>' +
'</div>' +
'<div class="temps">' +
'<div class="temp-item">' +
'<span class="temp-label">High</span>' +
'<span class="temp-value max">' + maxTemp + '\u00B0C</span>' +
'</div>' +
'<div class="temp-item">' +
'<span class="temp-label">Low</span>' +
'<span class="temp-value min">' + minTemp + '\u00B0C</span>' +
'</div>' +
'</div>' +
'</div>' +
'<hr class="divider">' +
'<div class="hourly-section">' +
'<div class="chart-title">Hourly Temperatures</div>' +
'<div class="chart-container">' +
'<div class="chart-bars-grid">' +
barsHTML +
'</div>' +
'<div class="chart-labels-grid">' +
labelsHTML +
'</div>' +
'</div>' +
'</div>' +
'</div>';
updateBackground(weatherCode);
})
.catch(function(error) {
console.error('Weather fetch error:', error);
card.innerHTML =
'<div class="error-state">' +
'<div class="error-icon">\u26A0\uFE0F</div>' +
'<p class="error-title">Unable to load weather data</p>' +
'<p class="error-message">Please check the location and date, or try again later.</p>' +
'</div>';
});
function updateBackground(code) {
var gradient;
if (code === 0) {
gradient = 'linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)';
} else if (code >= 1 && code <= 3) {
gradient = 'linear-gradient(135deg, #8e9eab 0%, #eef2f3 100%)';
} else if (code >= 45 && code <= 48) {
gradient = 'linear-gradient(135deg, #bdc3c7 0%, #ecf0f1 100%)';
} else if (code >= 51 && code <= 67) {
gradient = 'linear-gradient(135deg, #3a7bd5 0%, #3a6073 100%)';
} else if (code >= 71 && code <= 86) {
gradient = 'linear-gradient(135deg, #e6e9f0 0%, #eef1f5 100%)';
} else if (code >= 95) {
gradient = 'linear-gradient(135deg, #232526 0%, #414345 100%)';
} else {
gradient = 'linear-gradient(135deg, #a1c4fd 0%, #c2e9fb 100%)';
}
document.body.style.background = gradient;
}
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 18,080 | html / css / js | 433 / 6,715 / 10,932 |
|---|---|---|---|
| dom 节点 | 12 | dom 深度 | 5 |
| css 规则 | 41 | 含 js | 是 |
| brightness | 155.9 | contrast | 63.2 |
| colorfulness | 66.6 | 留白 | 39.7% |
该 slot 的 telemetry
| prompt tokens | 400 | completion tokens | 31,157 |
|---|---|---|---|
| total tokens | 31,557 | wall | 416 s |
| cost | — | request id | — |
config.json580 B
{
"N": 4,
"auth": {
"credential_ref": "WCB_DEEPSEEK_KEY",
"method": "api-key"
},
"billing": "metered",
"config_id": "deepseek-v4-pro-eff-max--api--official--dev",
"effort": "max",
"family": "deepseek",
"m": {
"min": 4,
"q": 4
},
"model_id": "deepseek-v4-pro",
"protocol": "api",
"served_model": "deepseek-v4-pro",
"telemetry": {
"completion_tokens": 166993,
"cost_usd": null,
"prompt_tokens": 3168,
"total_tokens": 170161,
"wall_ms": 2352631
},
"transport": "deepseek-official-api",
"vendor_sanction_ref": null
}send-log4.7 KB
{
"N": 4,
"batch_id": "2026-07-19--official-deepseek",
"config_id": "deepseek-v4-pro-eff-max--api--official--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-19T08:11:49.531594+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:04:53.489171+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-07-19T08:14:14.198029+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:11:53.285095+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-07-19T08:19:19.412729+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:14:17.823030+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-07-19T08:24:37.868112+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:19:22.924848+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-07-19T08:27:04.751863+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:24:41.604768+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-min"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-19T08:33:32.247940+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:27:08.384933+00:00"
}
],
"block_index": 2,
"model_reaching_attempt_index": 0,
"slot_index": 2,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-19T08:38:55.771073+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:33:35.835552+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-q"
},
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-07-19T08:44:31.737275+00:00",
"http_status": 200,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-07-19T08:38:59.617061+00:00"
}
],
"block_index": 3,
"model_reaching_attempt_index": 0,
"slot_index": 3,
"terminal_state": "valid",
"variant": "P-min"
}
],
"retry_policy": {
"max_unreachable_retries": 5,
"rate_limit_backoff": {
"max_attempts": 4,
"max_total_ms": 60000
}
}
}