deepseek-v4-flash-0731 @ off · dsh
dshoff
- config
- deepseek-v4-flash-0731-eff-off--cli--dsh--dev
- batch
- 2026-07-19--unified
- transport
- dsh-0.1.0-rc.8-headless-isolated-home
- protocol
- cli · api
- served model
- deepseek-v4-flash
- 采集于
- 2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。
similarity 邻居
最近
grok-4.5 @high · api0.70kimi-k3 @low · cursor0.70grok-4.5 · api0.70deepseek-v4-flash @high · api0.70grok-4.5 @low · api0.70最远
north-mini-code-free · api0.50grok-4.6 @medium · grok-cli0.52gpt-6-astra · codex0.52claude-fable-5-1 @max · CC0.53claude-fable-5 @max · cursor-xl0.53限于 session 2026-07-19--unified
similarity 衡量本 session 内的趋同程度 —— 不是质量。
Fidelity —— 卡片展示的数据对不对?
- namematch
- conditionmatch
- datematch
- max tempambiguous展示值:16max-equals-min
- min tempambiguous展示值:16max-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 Card</title>
<style>
:root {
--bg: #101626;
--card-1: #1b2437;
--card-2: #243148;
--accent: #6fb1ff;
--accent-2: #8ee0ff;
--text: #eef3ff;
--muted: #9fb0cc;
--muted-2: #75839f;
--radius: 24px;
--shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.65);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background:
radial-gradient(1200px 800px at 20% 10%, #2a3a5c 0%, transparent 55%),
radial-gradient(1000px 700px at 85% 90%, #1d2b45 0%, transparent 55%),
var(--bg);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: var(--text);
padding: 24px;
}
.card {
width: 560px;
border-radius: var(--radius);
background: linear-gradient(160deg, var(--card-1) 0%, var(--card-2) 100%);
box-shadow: var(--shadow);
border: 1px solid rgba(255, 255, 255, 0.06);
overflow: hidden;
position: relative;
}
/* subtle gradient sheen across top of card */
.card::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(255, 255, 255, 0.04) 0%,
rgba(255, 255, 255, 0) 30%
);
pointer-events: none;
z-index: 1;
}
.card-inner {
position: relative;
z-index: 2;
padding: 28px 28px 24px;
}
.card.loading .content,
.card.error .content { display: none; }
.header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 20px;
}
.location-icon {
width: 44px;
height: 44px;
border-radius: 13px;
background: linear-gradient(140deg, rgba(111, 177, 255, 0.25), rgba(142, 224, 255, 0.12));
border: 1px solid rgba(111, 177, 255, 0.35);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.location-icon svg { width: 24px; height: 24px; }
.title {
font-size: 22px;
font-weight: 700;
letter-spacing: -0.02em;
display: flex;
align-items: center;
gap: 10px;
line-height: 1.25;
}
.title .city { word-break: break-word; }
.date {
margin-top: 5px;
font-size: 14px;
color: var(--muted);
font-weight: 450;
}
.temp-big { font-size: 15px; color: var(--muted-2); margin-top: 6px; }
.weather {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
background: rgba(255, 255, 255, 0.035);
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 20px;
padding: 20px 24px;
margin-bottom: 22px;
}
.weather-main {
display: flex;
align-items: center;
gap: 20px;
}
.weather-icon {
width: 78px;
height: 78px;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-2);
flex-shrink: 0;
}
.weather-icon svg { width: 100%; height: 100%; }
.condition { font-size: 18px; font-weight: 650; line-height: 1.2; }
.condition-sub {
font-size: 13px;
color: var(--muted);
margin-top: 4px;
font-weight: 450;
}
.temps {
text-align: right;
display: flex;
flex-direction: column;
gap: 6px;
}
.temp-line { display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; }
.temp-max {
font-size: 54px;
font-weight: 750;
line-height: 1;
letter-spacing: -0.04em;
}
.temp-min {
font-size: 20px;
font-weight: 550;
color: var(--muted);
letter-spacing: -0.01em;
}
.section-label {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.section-label h3 {
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--muted-2);
}
.hour-chips {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
gap: 10px;
}
.chip {
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 14px;
padding: 10px 6px;
text-align: center;
}
.chip .h-time {
font-size: 12px;
color: var(--muted-2);
font-weight: 550;
letter-spacing: 0.02em;
}
.chip .h-temp {
font-size: 15px;
font-weight: 650;
margin-top: 5px;
}
.chip .h-mini {
display: flex;
align-items: center;
justify-content: center;
margin-top: 4px;
color: var(--muted);
}
.chip svg { width: 18px; height: 18px; }
/* Message states */
.message {
display: none;
flex-direction: column;
align-items: center;
text-align: center;
padding: 48px 20px;
gap: 14px;
}
.card.loading .loading { display: flex; }
.card.error .error { display: flex; }
.msg-icon {
width: 56px;
height: 56px;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent);
background: rgba(111, 177, 255, 0.12);
border: 1px solid rgba(111, 177, 255, 0.24);
}
.msg-icon svg { width: 28px; height: 28px; }
.spinner {
width: 26px;
height: 26px;
border-radius: 50%;
border: 3px solid rgba(111, 177, 255, 0.22);
border-top-color: var(--accent);
animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.message h2 {
font-size: 17px;
font-weight: 650;
}
.message p {
font-size: 13.5px;
color: var(--muted);
max-width: 320px;
line-height: 1.5;
}
.retry {
margin-top: 6px;
background: rgba(111, 177, 255, 0.14);
color: var(--accent-2);
border: 1px solid rgba(111, 177, 255, 0.3);
padding: 9px 18px;
border-radius: 999px;
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: background 0.15s ease;
}
.retry:hover { background: rgba(111, 177, 255, 0.24); }
.footer-note {
margin-top: 18px;
text-align: center;
font-size: 11px;
color: var(--muted-2);
letter-spacing: 0.02em;
}
</style>
</head>
<body>
<div class="card" id="card">
<div class="card-inner">
<!-- Loading -->
<div class="message loading">
<div class="msg-icon"><div class="spinner"></div></div>
<h2>Loading weather…</h2>
<p>Fetching conditions for the requested location and date.</p>
</div>
<!-- Error -->
<div class="message error">
<div class="msg-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="9.5"></circle>
<line x1="12" y1="7.5" x2="12" y2="13"></line>
<line x1="12" y1="16" x2="12" y2="16.2"></line>
</svg>
</div>
<h2>Couldn’t load weather data</h2>
<p id="errorMsg">Something went wrong while fetching the forecast. Please try again.</p>
<button class="retry" id="retryBtn">Try again</button>
</div>
<!-- Content -->
<div class="content">
<div class="header">
<div class="location-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"
stroke-linecap="round" stroke-linejoin="round">
<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"></path>
<circle cx="12" cy="10" r="3"></circle>
</svg>
</div>
<div style="flex:1;min-width:0">
<div class="title">
<span class="city" id="cityName">—</span>
</div>
<div class="date">
<span id="dateDisplay">—</span>
<span class="temp-big" id="tempRangeDisplay">—</span>
</div>
</div>
</div>
<div class="weather">
<div class="weather-main">
<div class="weather-icon" id="weatherIcon"></div>
<div>
<div class="condition" id="conditionText">—</div>
<div class="condition-sub" id="conditionCode">—</div>
</div>
</div>
<div class="temps">
<div class="temp-line">
<span class="temp-max" id="tempMax">—</span>
<span class="temp-max-unit" id="tempMaxUnit">°</span>
</div>
<div class="temp-line">
<span class="temp-min" id="tempMin">—</span>
</div>
</div>
</div>
<div class="section-label">
<h3>Hourly temperature</h3>
<h3 id="timezoneNote">UTC</h3>
</div>
<div class="hour-chips" id="hourly"></div>
<div class="footer-note" id="dateNote"></div>
</div>
</div>
</div>
<script>
(function () {
"use strict";
var card = document.getElementById("card");
// ---------- state ----------
function pad(n) { return n < 10 ? "0" + n : "" + n; }
function todayUTC() {
var d = new Date();
return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate());
}
function parseParams() {
var p = new URLSearchParams(window.location.search);
var date = p.get("date") || todayUTC();
var lat = p.get("lat");
var lon = p.get("lon");
if (lat !== null && lon !== null) {
lat = parseFloat(lat);
lon = parseFloat(lon);
if (isNaN(lat) || isNaN(lon)) { lat = 52.52; lon = 13.405; }
} else {
lat = 52.52;
lon = 13.405;
}
return {
lat: lat,
lon: lon,
name: p.get("name") || "Berlin",
date: /^\d{4}-\d{2}-\d{2}$/.test(date) ? date : todayUTC()
};
}
// ---------- WMO weather codes ----------
var ICONS = {
"01": sun, "02": cloudSun, "03": cloud, "04": cloudHeavy,
"45": fog, "48": fog, "51": drizzle, "53": drizzle, "55": drizzle,
"56": drizzle, "57": drizzle,
"61": rain, "63": rain, "65": rainHeavy, "66": rain, "67": rain,
"71": snow, "73": snow, "75": snowHeavy, "77": snow,
"80": rain, "81": rain, "82": rain,
"85": snow, "86": snowHeavy,
"95": storm, "96": storm, "99": storm
};
function weatherInfo(code) {
if (code <= 1) return { text: "Clear sky", icon: "01" };
if (code === 2) return { text: "Partly cloudy", icon: "02" };
if (code === 3) return { text: "Overcast", icon: "03" };
if (code >= 45 && code <= 48) return { text: "Foggy", icon: "45" };
if (code >= 51 && code <= 57) return { text: "Drizzle", icon: "51" };
if (code >= 61 && code <= 65) return { text: "Rain", icon: "61" };
if (code === 66 || code === 67) return { text: "Freezing rain", icon: "66" };
if (code === 71 || code === 73) return { text: "Snow", icon: "71" };
if (code === 75 || code === 77) return { text: "Heavy snow", icon: "75" };
if (code >= 80 && code < 83) return { text: "Rain showers", icon: "80" };
if (code >= 85 && code < 87) return { text: "Snow showers", icon: "85" };
if (code >= 95) return { text: "Thunderstorm", icon: "95" };
return { text: "Unknown", icon: "03" };
}
// ---------- svg icon template ----------
function sun() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<circle cx="12" cy="12" r="4.4" fill="currentColor" stroke="none"></circle>' +
'<path d="M12 2.5v2.2M12 19.3v2.2M4.9 4.9l1.6 1.6M17.5 17.5l1.6 1.6M2.5 12h2.2M19.3 12h2.2M4.9 19.1l1.6-1.6M17.5 6.5l1.6-1.6"></path></svg>';
}
function cloudSun() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<circle cx="8" cy="8" r="3.6" fill="rgba(255,220,140,0.9)" stroke="none"></circle>' +
'<path d="M8 1.6v1.6M1.6 8h1.6M3.1 3.1l1.1 1.1" opacity="0.8"></path>' +
'<path d="M17 9a3.5 3.5 0 1 1 .6 6.96A3 3 0 0 1 18 14a3 3 0 0 0-3-3 4.5 4.5 0 0 0-1 .1A4.2 4.2 0 0 0 11 11a3.6 3.6 0 0 0 0 7h7a3.5 3.5 0 0 0-1-9Z"></path></svg>';
}
function cloud() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path></svg>';
}
function cloudHeavy() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18.5 9.5a3.5 3.5 0 1 1 .4 6.99H6a3.5 3.5 0 1 1 .3-6.99A4.4 4.4 0 0 1 12 6.4a4.6 4.6 0 0 1 6.5 3.1Z"></path>' +
'<path d="M4 17l-1 1.6M8 17l-1 1.6M12 17l-1 1.6M16 17l-1 1.6" opacity="0.7"></path></svg>';
}
function fog() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 11a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 7.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M7 5h3M14 5h3V5M5 8h2M17 8h2" opacity="0.7"></path></svg>';
}
function drizzle() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M9 15.2l-1 2M12.5 15.2l-1 2M16 15.2l-1 2" opacity="0.8"></path></svg>';
}
function rain() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M9 16l-1.2 3M12.5 16l-1.2 3M16 16l-1.2 3" opacity="0.85"></path></svg>';
}
function rainHeavy() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M9 16l-1.4 3.1M12.5 16l-1.4 3.1M16 16l-1.4 3.1" opacity="0.85"></path></svg>';
}
function snow() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M10 16l-1.4 3M13.5 16l-1.4 3M17 16l-1.4 3" opacity="0.8"></path></svg>';
}
function snowHeavy() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M10 16l-1.7 3M13.7 16l-1.7 3M17.4 16l-1.7 3" opacity="0.8"></path></svg>';
}
function storm() {
return '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">' +
'<path d="M18 10a3.5 3.5 0 1 1 .6 6.96H5.5a3.5 3.5 0 1 1 .3-6.99A4.5 4.5 0 0 1 12 6.5a4.6 4.6 0 0 1 6 3.5Z"></path>' +
'<path d="M12 13l-2 4h3l-1.5 3.5L14.5 15h-3l1.2-2.2" opacity="0.9"></path></svg>';
}
// ---------- date formatting ----------
var MONTHS = ["January","February","March","April","May","June","July",
"August","September","October","November","December"];
var DOW = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
function formatDate(iso) {
var p = iso.split("-");
var y = +p[0], m = +p[1], d = +p[2];
var dt = new Date(Date.UTC(y, m - 1, d));
var dayName = DOW[dt.getUTCDay()];
var ord;
if (d % 100 >= 11 && d % 100 <= 13) ord = "th";
else if (d % 10 === 1) ord = "st";
else if (d % 10 === 2) ord = "nd";
else if (d % 10 === 3) ord = "rd";
else ord = "th";
return dayName + ", " + MONTHS[m - 1] + " " + d + ord + ", " + y;
}
function isToday(iso) {
return iso === todayUTC();
}
function isTheFuture(iso) {
return iso > todayUTC();
}
function isThePast(iso) {
return iso < todayUTC();
}
// ---------- build ----------
function el(id) { return document.getElementById(id); }
function updateView(cfg, data, hourly) {
el("cityName").textContent = cfg.name;
el("dateDisplay").textContent = formatDate(cfg.date);
var daily = data.daily;
var dmax = daily.temperature_2m_max[0];
var dmin = daily.temperature_2m_min[0];
var code = daily.weather_code[0];
var info = weatherInfo(code);
el("tempMax").textContent = Math.round(dmax) + "";
el("tempMin").textContent = "↓ " + Math.round(dmin) + "°C";
el("weatherIcon").innerHTML = ICONS[info.icon] ? ICONS[info.icon]() : ICONS["01"]();
el("conditionText").textContent = info.text;
el("conditionCode").textContent = "code " + code;
// hourly
var times = data.hourly.time;
var vals = data.hourly.temperature_2m;
var container = el("hourly");
container.innerHTML = "";
var hourIsoPrefix = cfg.date + "T";
for (var i = 0; i < times.length; i++) {
if (times[i].indexOf(hourIsoPrefix) !== 0) {
if (times[i] > (cfg.date + "T24")) break;
continue;
}
var hour = parseInt(times[i].substring(11, 13), 10);
var t = Math.round(vals[i]);
var chip = document.createElement("div");
chip.className = "chip";
chip.innerHTML =
'<div class="h-time">' + pad(hour) + ":00</div>" +
'<div class="h-temp">' + t + "°</div>" +
'<div class="h-mini">' + ICONS[info.icon]() + "</div>";
container.appendChild(chip);
}
var note = "Hourly temperatures in °C · ";
if (isToday(cfg.date)) note += "today";
else if (isTheFuture(cfg.date)) note += "forecast";
else note += "historical";
el("dateNote").textContent = note;
card.className = "card";
}
// ---------- fetch ----------
function buildEndpoint(cfg) {
var base, isPast = false;
if (isThePast(cfg.date)) {
base = "/api/om/archive";
isPast = true;
} else {
base = "/api/om/forecast";
}
var q = new URLSearchParams({
latitude: cfg.lat,
longitude: cfg.lon,
daily: "temperature_2m_max,temperature_2m_min,weather_code",
hourly: "temperature_2m",
timezone: "UTC",
temperature_unit: "celsius",
start_date: cfg.date,
end_date: cfg.date
});
// archive endpoint accepts wind_speed_unit/past_days optionally, but we keep it minimal
return base + "?" + q.toString() + (isPast ? "" : "");
}
function fetchWeather(cfg) {
card.className = "card loading";
if (typeof AbortController !== "undefined") {
var controller = new AbortController();
var timeoutId = setTimeout(function () { controller.abort(); }, 15000);
f();
function f() {
fetch(buildEndpoint(cfg), { signal: controller.signal })
.then(function (r) {
if (!r.ok) throw new Error("HTTP " + r.status);
return r.json();
})
.then(function (data) {
clearTimeout(timeoutId);
if (!data || !data.daily || data.daily.temperature_2m_max.length === 0 ||
!data.hourly) {
throw new Error("Missing data");
}
updateView(cfg, data);
})
.catch(function (e) {
clearTimeout(timeoutId);
if (e && e.name === "AbortError") {
el("errorMsg").textContent = "The request timed out. Please try again.";
} else {
el("errorMsg").textContent =
"We couldn’t retrieve weather data for this location and date. " +
"The service may be unavailable — please try again.";
}
card.className = "card error";
});
}
} else {
// fallback without AbortController
fetch(buildEndpoint(cfg))
.then(function (r) { if (!r.ok) throw new Error("HTTP"); return r.json(); })
.then(function (data) { updateView(cfg, data); card.className = "card"; })
.catch(function () {
el("errorMsg").textContent = "We couldn’t retrieve weather data for this location and date.";
card.className = "card error";
});
}
}
// ---------- init ----------
function run() {
var cfg = parseParams();
fetchWeather(cfg);
}
var retry = el("retryBtn");
retry.addEventListener("click", run);
run();
})();
</script>
</body>
</html>L1 —— 廉价的确定性描述量
| bytes 总计 | 20,964 | html / css / js | 2,926 / 6,132 / 11,906 |
|---|---|---|---|
| dom 节点 | 53 | dom 深度 | 9 |
| css 规则 | 45 | 含 js | 是 |
| brightness | 38.6 | contrast | 17.0 |
| colorfulness | 14.3 | 留白 | 54.2% |
该 slot 的 telemetry
| prompt tokens | 8,008 | completion tokens | 15,418 |
|---|---|---|---|
| total tokens | 23,426 | wall | 68.2 s |
| cost | — | request id | — |
config.json601 B
{
"N": 2,
"auth": {
"credential_ref": "WCB_DEEPSEEK_KEY",
"method": "api-key"
},
"billing": "api",
"config_id": "deepseek-v4-flash-0731-eff-off--cli--dsh--dev",
"effort": "off",
"family": "deepseek",
"m": {
"min": 2,
"q": 2
},
"model_id": "deepseek-v4-flash-0731",
"protocol": "cli",
"served_model": "deepseek-v4-flash",
"telemetry": {
"completion_tokens": 48926,
"cost_usd": null,
"prompt_tokens": 38953,
"total_tokens": 87879,
"wall_ms": 260833
},
"transport": "dsh-0.1.0-rc.8-headless-isolated-home",
"vendor_sanction_ref": null
}send-log2.5 KB
{
"N": 2,
"batch_id": "2026-08-21--dsh-s0",
"config_id": "deepseek-v4-flash-0731-eff-off--cli--dsh--dev",
"positions": [
{
"attempts": [
{
"attempt_index": 0,
"backoff_ms": null,
"charged": true,
"ended_at": "2026-08-21T13:19:08.071645+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:18:41.593840+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-21T13:20:19.985436+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:19:11.753353+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-21T13:22:39.923748+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:20:23.472427+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-21T13:23:13.134588+00:00",
"http_status": null,
"outcome": "valid",
"reached_model": true,
"reason": "ok",
"request_id": null,
"started_at": "2026-08-21T13:22:43.453423+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
}
}
}