big-pickle · api

api
config
big-pickle--zen-free--dev
batch
2026-07-19--unified
transport
opencode-zen-free-tier
protocol
api · plan
served model
xiaomi/mimo-v2.5
采集于
2026年7月18日 11:54 · N=2
variant
live
slot 0 · P-q · sandboxed iframe
big-pickle · api P-q slot 0 截图

截图是 similarity 通道测量时的原始像素。运行 live 会在 sandboxed iframe 中重新执行原始输出;渲染结果取决于你的浏览器和字体,不保证与测量像素一致。

similarity 邻居

限于 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=1280">
<title>Weather</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{
  width:1280px;height:800px;overflow:hidden;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  display:flex;justify-content:center;align-items:center;
  background:radial-gradient(ellipse at 30% 40%,#1a1a3e 0%,#0a0a1a 70%);
  color:#fff;
}
.card{
  width:960px;border-radius:28px;overflow:hidden;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,0.5);
}
.card::before{
  content:'';position:absolute;top:0;left:40px;right:40px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.35),transparent);z-index:3;
}
.card::after{
  content:'';position:absolute;inset:0;border-radius:28px;
  border:1px solid rgba(255,255,255,0.1);z-index:3;pointer-events:none;
}
.card-bg{position:absolute;inset:0;z-index:0;transition:background .6s ease}
.card-content{
  position:relative;z-index:1;padding:44px 52px 32px;
  display:flex;flex-direction:column;min-height:620px;
  animation:fadeUp .5s ease both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.loc{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.loc-pin{font-size:18px;opacity:.75}
.loc-name{font-size:22px;font-weight:600;letter-spacing:.3px}
.date{font-size:15px;opacity:.55;margin-bottom:28px;font-weight:400}
.mw{display:flex;align-items:center;gap:40px;margin-bottom:10px}
.w-emoji{font-size:78px;line-height:1;text-shadow:0 0 50px rgba(255,255,255,.15)}
.td{display:flex;flex-direction:column}
.tv{font-size:72px;font-weight:200;line-height:1;letter-spacing:-3px}
.tv sup{font-size:34px;font-weight:300;letter-spacing:0;vertical-align:super;margin-left:2px}
.tr{display:flex;gap:24px;margin-top:10px;font-size:17px;font-weight:500;opacity:.8}
.thi{opacity:1}.tlo{opacity:.5}
.cond{font-size:19px;font-weight:400;opacity:.7;margin-bottom:28px}
.hs{flex:1;display:flex;flex-direction:column}
.hl{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;opacity:.4;margin-bottom:14px}
.cc{
  background:rgba(255,255,255,.07);border-radius:16px;
  padding:14px 14px 0;flex:1;display:flex;flex-direction:column;overflow:hidden;
}
.cw{flex:1;min-height:130px}
.cw canvas{display:block;width:100%;height:100%}
.hg{display:flex;border-top:1px solid rgba(255,255,255,.1);padding:10px 0 4px}
.hc{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}
.hc .ht{font-size:12px;font-weight:600;opacity:.88;line-height:1.2}
.hc .hh{font-size:9px;font-weight:400;opacity:.38;line-height:1.2;margin-bottom:1px}
.ew{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}
.ei{font-size:52px;opacity:.35}
.et{font-size:22px;font-weight:500;opacity:.75}
.ed{font-size:14px;opacity:.4;max-width:420px;line-height:1.6}
.ld{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:.45}
</style>
</head>
<body>
<div class="card" id="card">
  <div class="card-bg" id="cardBg"></div>
  <div class="card-content" id="cardContent"><div class="ld">Loading…</div></div>
</div>
<script>
(function(){
  var p = new URLSearchParams(location.search);
  var lat = parseFloat(p.get('lat')) || 52.52;
  var lon = parseFloat(p.get('lon')) || 13.405;
  var name = p.get('name') || 'Berlin';
  var dp = p.get('date');
  var today = new Date().toISOString().slice(0,10);
  var ds = dp && /^\d{4}-\d{2}-\d{2}$/.test(dp) ? dp : today;
  var isPast = ds < today;
  var api = isPast ? '/api/om/archive' : '/api/om/forecast';
  var url = api + '?latitude=' + lat + '&longitude=' + lon
    + '&daily=temperature_2m_max,temperature_2m_min,weather_code'
    + '&hourly=temperature_2m&timezone=UTC&temperature_unit=celsius'
    + '&start_date=' + ds + '&end_date=' + ds;

  var EMOJI = {
    0:'\u2600\uFE0F',1:'\uD83C\uDF24\uFE0F',2:'\u26C5',3:'\u2601\uFE0F',
    45:'\uD83C\uDF2B\uFE0F',48:'\uD83C\uDF2B\uFE0F',
    51:'\uD83C\uDF26\uFE0F',53:'\uD83C\uDF26\uFE0F',55:'\uD83C\uDF26\uFE0F',
    56:'\uD83C\uDF27\uFE0F',57:'\uD83C\uDF27\uFE0F',
    61:'\uD83C\uDF27\uFE0F',63:'\uD83C\uDF27\uFE0F',65:'\uD83C\uDF27\uFE0F',
    66:'\uD83C\uDF28\uFE0F',67:'\uD83C\uDF28\uFE0F',
    71:'\u2744\uFE0F',73:'\u2744\uFE0F',75:'\u2744\uFE0F',77:'\uD83C\uDF28\uFE0F',
    80:'\uD83C\uDF27\uFE0F',81:'\uD83C\uDF27\uFE0F',82:'\uD83C\uDF27\uFE0F',
    85:'\uD83C\uDF28\uFE0F',86:'\uD83C\uDF28\uFE0F',
    95:'\u26C8\uFE0F',96:'\u26C8\uFE0F',99:'\u26C8\uFE0F'
  };

  var DESCR = {
    0:'Clear Sky',1:'Mainly Clear',2:'Partly Cloudy',3:'Overcast',
    45:'Foggy',48:'Rime Fog',51:'Light Drizzle',53:'Drizzle',55:'Dense Drizzle',
    56:'Freezing Drizzle',57:'Heavy Freezing Drizzle',
    61:'Slight Rain',63:'Moderate Rain',65:'Heavy Rain',
    66:'Light Freezing Rain',67:'Heavy Freezing Rain',
    71:'Slight Snowfall',73:'Moderate Snowfall',75:'Heavy Snowfall',77:'Snow Grains',
    80:'Light Rain Showers',81:'Moderate Rain Showers',82:'Violent Rain Showers',
    85:'Light Snow Showers',86:'Heavy Snow Showers',
    95:'Thunderstorm',96:'Thunderstorm with Hail',99:'Severe Thunderstorm'
  };

  function GRAD(c) {
    if (c === 0)  return 'linear-gradient(135deg,#2193b0,#6dd5ed)';
    if (c <= 2)   return 'linear-gradient(135deg,#1e3c72,#2a5298)';
    if (c === 3)  return 'linear-gradient(135deg,#536976,#292e49)';
    if (c <= 48)  return 'linear-gradient(135deg,#606c88,#3f4c6b)';
    if (c <= 67)  return 'linear-gradient(135deg,#0f2027,#203a43,#2c5364)';
    if (c <= 82)  return 'linear-gradient(135deg,#2c3e50,#3498db)';
    if (c <= 86)  return 'linear-gradient(135deg,#4b6cb7,#182848)';
    if (c >= 95)  return 'linear-gradient(135deg,#0f0c29,#302b63,#24243e)';
    return 'linear-gradient(135deg,#2c3e50,#3498db)';
  }

  function fmtDate(s) {
    var a = s.split('-');
    return new Date(Date.UTC(+a[0], +a[1]-1, +a[2]))
      .toLocaleDateString('en-US', {
        weekday:'long', year:'numeric', month:'long', day:'numeric', timeZone:'UTC'
      });
  }

  fetch(url).then(function(r){
    if (!r.ok) throw new Error('HTTP ' + r.status);
    return r.json();
  }).then(render).catch(function(e){ showError(e.message); });

  function render(d) {
    var bg = document.getElementById('cardBg');
    var ct = document.getElementById('cardContent');
    var mx = d.daily.temperature_2m_max[0];
    var mn = d.daily.temperature_2m_min[0];
    var wc = d.daily.weather_code[0];
    var h  = d.hourly.temperature_2m;

    bg.style.background = GRAD(wc);

    var h = '';
    h += '<div class="loc"><span class="loc-pin">\uD83D\uDCCD</span><span class="loc-name">' + name + '</span></div>';
    h += '<div class="date">' + fmtDate(ds) + '</div>';
    h += '<div class="mw">';
    h +=   '<div class="w-emoji">' + (EMOJI[wc] || '\uD83C\uDF21\uFE0F') + '</div>';
    h +=   '<div class="td">';
    h +=     '<div class="tv">' + Math.round(mx) + '<sup>\u00B0C</sup></div>';
    h +=     '<div class="tr">';
    h +=       '<span class="thi">\u25B2 ' + Math.round(mx) + '\u00B0</span>';
    h +=       '<span class="tlo">\u25BC ' + Math.round(mn) + '\u00B0</span>';
    h +=     '</div>';
    h +=   '</div>';
    h += '</div>';
    h += '<div class="cond">' + (DESCR[wc] || 'Unknown') + '</div>';
    h += '<div class="hs"><div class="hl">Hourly Forecast</div>';
    h += '<div class="cc"><div class="cw"><canvas id="hc"></canvas></div>';
    h += '<div class="hg" id="hg"></div></div></div>';
    ct.innerHTML = h;

    var gh = '';
    var n = Math.min(24, d.hourly.temperature_2m.length);
    for (var i = 0; i < n; i++) {
      gh += '<div class="hc"><div class="ht">' + Math.round(d.hourly.temperature_2m[i]) + '\u00B0</div>';
      gh += '<div class="hh">' + String(i).padStart(2,'0') + ':00</div></div>';
    }
    document.getElementById('hg').innerHTML = gh;

    requestAnimationFrame(function(){ drawChart(d.hourly.temperature_2m); });
  }

  function drawChart(temps) {
    var c = document.getElementById('hc');
    if (!c) return;
    var wrap = c.parentElement;
    var rect = wrap.getBoundingClientRect();
    var dpr = window.devicePixelRatio || 1;

    c.width  = rect.width  * dpr;
    c.height = rect.height * dpr;
    c.style.width  = rect.width  + 'px';
    c.style.height = rect.height + 'px';

    var ctx = c.getContext('2d');
    ctx.scale(dpr, dpr);

    var W = rect.width, H = rect.height;
    var mT = 6, mB = 4, mL = 2, mR = 2;
    var cW = W - mL - mR, cH = H - mT - mB;

    var da = [];
    for (var i = 0; i < 24 && i < temps.length; i++) da.push(temps[i]);
    if (da.length < 2) return;

    var lo = Infinity, hi = -Infinity;
    for (var i = 0; i < da.length; i++) {
      if (da[i] < lo) lo = da[i];
      if (da[i] > hi) hi = da[i];
    }
    var pad = Math.max((hi - lo) * 0.18, 1);
    var yLo = lo - pad, yHi = hi + pad, yR = yHi - yLo;

    function gx(i) { return mL + (i / (da.length - 1)) * cW; }
    function gy(t) { return mT + cH - ((t - yLo) / yR) * cH; }

    /* gradient fill under curve */
    var ag = ctx.createLinearGradient(0, mT, 0, mT + cH);
    ag.addColorStop(0,   'rgba(255,255,255,0.24)');
    ag.addColorStop(0.5, 'rgba(255,255,255,0.06)');
    ag.addColorStop(1,   'rgba(255,255,255,0)');

    ctx.beginPath();
    ctx.moveTo(gx(0), mT + cH);
    ctx.lineTo(gx(0), gy(da[0]));
    for (var i = 1; i < da.length; i++) {
      var x0 = gx(i-1), y0 = gy(da[i-1]);
      var x1 = gx(i),   y1 = gy(da[i]);
      var cp = (x0 + x1) / 2;
      ctx.bezierCurveTo(cp, y0, cp, y1, x1, y1);
    }
    ctx.lineTo(gx(da.length - 1), mT + cH);
    ctx.closePath();
    ctx.fillStyle = ag;
    ctx.fill();

    /* smooth line */
    ctx.beginPath();
    ctx.moveTo(gx(0), gy(da[0]));
    for (var i = 1; i < da.length; i++) {
      var x0 = gx(i-1), y0 = gy(da[i-1]);
      var x1 = gx(i),   y1 = gy(da[i]);
      var cp = (x0 + x1) / 2;
      ctx.bezierCurveTo(cp, y0, cp, y1, x1, y1);
    }
    ctx.strokeStyle = 'rgba(255,255,255,0.88)';
    ctx.lineWidth = 2.5;
    ctx.lineJoin = 'round';
    ctx.lineCap = 'round';
    ctx.stroke();

    /* dots */
    ctx.fillStyle = '#fff';
    for (var i = 0; i < da.length; i++) {
      ctx.beginPath();
      ctx.arc(gx(i), gy(da[i]), 2.5, 0, Math.PI * 2);
      ctx.fill();
    }
  }

  function showError(msg) {
    document.getElementById('cardBg').style.background =
      'linear-gradient(135deg,#434343,#1a1a1a)';
    document.getElementById('cardContent').innerHTML =
      '<div class="ew">' +
      '<div class="ei">\u26A0\uFE0F</div>' +
      '<div class="et">Unable to Load Weather Data</div>' +
      '<div class="ed">' + msg + '</div>' +
      '</div>';
  }
})();
</script>
</body>
</html>

L1 —— 廉价的确定性描述量

bytes 总计10,741html / css / js356 / 2,918 / 7,467
dom 节点12dom 深度5
css 规则37含 js
brightness50.8contrast27.2
colorfulness21.4留白43.9%

该 slot 的 telemetry

prompt tokens562completion tokens31,286
total tokens31,848wall397.1 s
costrequest id
config.json548 B
{
  "N": 2,
  "auth": {
    "credential_ref": "WCB_ZEN_KEY",
    "method": "api-key"
  },
  "billing": "plan",
  "config_id": "big-pickle--zen-free--dev",
  "effort": null,
  "family": "opencode",
  "m": {
    "min": 2,
    "q": 2
  },
  "model_id": "big-pickle",
  "protocol": "api",
  "served_model": "xiaomi/mimo-v2.5",
  "telemetry": {
    "completion_tokens": 76549,
    "cost_usd": null,
    "prompt_tokens": 2232,
    "total_tokens": 78781,
    "wall_ms": 1055198
  },
  "transport": "opencode-zen-free-tier",
  "vendor_sanction_ref": null
}
send-log2.4 KB
{
  "N": 2,
  "batch_id": "2026-07-18--dev-zen-free",
  "config_id": "big-pickle--zen-free--dev",
  "positions": [
    {
      "attempts": [
        {
          "attempt_index": 0,
          "backoff_ms": null,
          "charged": true,
          "ended_at": "2026-07-18T00:35:54.735304+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-18T00:29:17.629027+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-18T00:36:42.743530+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-18T00:36:00.270029+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-18T00:37:38.082490+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-18T00:36:45.894746+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-18T00:47:07.752838+00:00",
          "http_status": 200,
          "outcome": "valid",
          "reached_model": true,
          "reason": "ok",
          "request_id": null,
          "started_at": "2026-07-18T00:37:44.323241+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
    }
  }
}