@kenz1117/dsh-ui-usage-billing 1.6.8 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -338,7 +338,8 @@ function isBeijingWeekend(timeMs) {
338
338
  *
339
339
  * 编码为空格分隔的 `YYYYMMDD` 列表(按年分组、同年日期连续排列,便于逐年追加):
340
340
  * 每个键长度固定为 8,故 `includes` 不会跨键误匹配;相比「区间 + 运行时展开」
341
- * 省掉一段解析代码——client / index 两个 face 都要过 256 KiB 单文件上限。
341
+ * 省掉一段解析代码——client / index 两个 face 都要过本仓自设的体积成本线
342
+ * (sync.sh 的 256/320 KiB;DSH Store 对插件 JS bundle 本身无审查上限)。
342
343
  */
343
344
  const CHINA_HOLIDAYS = "20260925 20260926 20260927 20261001 20261002 20261003 20261004 20261005 20261006 20261007";
344
345
  /** 北京日期键 YYYYMMDD(与宿主时区无关)。 */
@@ -730,13 +731,22 @@ function formatTokens(value) {
730
731
  //#endregion
731
732
  //#region lib/types/builtin-catalog.js
732
733
  /**
733
- * Built-in catalog of current mainstream models as of 2026-09-29, priced from
734
+ * Built-in catalog of current mainstream models as of 2026-10-23, priced from
734
735
  * each provider's official price page. Domestic providers are OpenAI-API
735
736
  * compatible and publish RMB prices directly; overseas providers publish USD
736
737
  * and convert through the exchange rate at estimate time. Retired models
737
- * (GPT-4o family, Gemini 2.x, GLM-4.x-lite, older Qwen) are deliberately
738
- * absent. DeepSeek keys match the harness stats file so real usage prices
739
- * from the catalog; unknown keys fall back to `other`.
738
+ * (GPT-4o family, GLM-4.x-lite, older Qwen) are deliberately absent. DeepSeek
739
+ * keys match the harness stats file so real usage prices from the catalog;
740
+ * unknown keys fall back to `other`.
741
+ *
742
+ * 2026-10-23 扩容:补录一手厂商当前在售模型 129 条(OpenAI GPT-5.x / 4.1 /
743
+ * o 系列 / Daybreak、Anthropic 4.5 代、Google Gemini 2.5-4 代、xAI Grok 4.20、
744
+ * Meta Muse、Mistral 全系、Cohere Command 变体、智谱 4.5/4.5V/4.6V/4.7-FlashX、
745
+ * 阿里 Qwen3.x、月之暗面 Kimi K2 代、MiniMax M2 代、小米 MiMo 2.5 UltraSpeed、
746
+ * 字节豆包 1.8/1.6 系、阶跃 Step 5)。补录条目的价取 models.dev 实时目录
747
+ * (2026-10-23 快照):海外厂商取原生 USD;国内厂商优先取官方 CN 价
748
+ * (models.dev 的 -cn 目录),该目录缺项时按 USD 价 × 汇率折算。既有条目一律
749
+ * 不动——存量价格的更正走独立的调价节点,不与扩容混在一起。
740
750
  *
741
751
  * Time-of-day billing (peak/off-peak) is now real: DeepSeek V4 officially
742
752
  * splits peak (09:00-12:00 / 14:00-18:00 Beijing) at 2x the off-peak rate
@@ -1275,6 +1285,18 @@ const BUILTIN_MODEL_CATALOG = [
1275
1285
  output: 6
1276
1286
  }
1277
1287
  },
1288
+ {
1289
+ key: "mimo-v2.5-pro-ultraspeed",
1290
+ name: "MiMo V2.5 Pro UltraSpeed",
1291
+ provider: "小米",
1292
+ colorVar: "dsw-static-green-400",
1293
+ price: {
1294
+ currency: "CNY",
1295
+ input: 8.86,
1296
+ cacheHit: .073,
1297
+ output: 17.72
1298
+ }
1299
+ },
1278
1300
  {
1279
1301
  key: "minimax",
1280
1302
  name: "MiniMax-M3",
@@ -1335,6 +1357,42 @@ const BUILTIN_MODEL_CATALOG = [
1335
1357
  output: 8.4
1336
1358
  }
1337
1359
  },
1360
+ {
1361
+ key: "minimax-m2.1",
1362
+ name: "MiniMax-M2.1",
1363
+ provider: "MiniMax",
1364
+ colorVar: "ds-amber",
1365
+ price: {
1366
+ currency: "CNY",
1367
+ input: 2.13,
1368
+ cacheHit: .21,
1369
+ output: 8.52
1370
+ }
1371
+ },
1372
+ {
1373
+ key: "minimax-m2.5",
1374
+ name: "MiniMax-M2.5",
1375
+ provider: "MiniMax",
1376
+ colorVar: "ds-amber",
1377
+ price: {
1378
+ currency: "CNY",
1379
+ input: 2.13,
1380
+ cacheHit: .21,
1381
+ output: 8.52
1382
+ }
1383
+ },
1384
+ {
1385
+ key: "minimax-m2.5-highspeed",
1386
+ name: "MiniMax-M2.5-highspeed",
1387
+ provider: "MiniMax",
1388
+ colorVar: "ds-amber",
1389
+ price: {
1390
+ currency: "CNY",
1391
+ input: 4.26,
1392
+ cacheHit: .21,
1393
+ output: 17.04
1394
+ }
1395
+ },
1338
1396
  {
1339
1397
  key: "u2-flash",
1340
1398
  name: "U2 Flash",
@@ -1448,6 +1506,30 @@ const BUILTIN_MODEL_CATALOG = [
1448
1506
  output: 8.1
1449
1507
  }
1450
1508
  },
1509
+ {
1510
+ key: "step-5-preview",
1511
+ name: "Step 5 Preview",
1512
+ provider: "阶跃星辰",
1513
+ colorVar: "dsw-static-neutral-bluish-400",
1514
+ price: {
1515
+ currency: "CNY",
1516
+ input: 6.79,
1517
+ cacheHit: .68,
1518
+ output: 18.33
1519
+ }
1520
+ },
1521
+ {
1522
+ key: "step-3.5-flash",
1523
+ name: "Step 3.5 Flash",
1524
+ provider: "阶跃星辰",
1525
+ colorVar: "dsw-static-neutral-bluish-400",
1526
+ price: {
1527
+ currency: "CNY",
1528
+ input: .68,
1529
+ cacheHit: .14,
1530
+ output: 2.04
1531
+ }
1532
+ },
1451
1533
  {
1452
1534
  key: "spark",
1453
1535
  name: "Spark 4.0 Ultra",
@@ -1589,377 +1671,1313 @@ const BUILTIN_MODEL_CATALOG = [
1589
1671
  }
1590
1672
  },
1591
1673
  {
1592
- key: "gpt-image-2",
1593
- name: "GPT Image 2",
1674
+ key: "gpt-5",
1675
+ name: "GPT-5",
1594
1676
  provider: "OpenAI",
1595
1677
  colorVar: "ds-green",
1596
1678
  price: {
1597
- currency: "CNY",
1598
- input: 14,
1599
- cacheHit: 5.6,
1600
- output: 84
1679
+ currency: "USD",
1680
+ input: 1.25,
1681
+ cacheHit: .125,
1682
+ output: 10
1601
1683
  }
1602
1684
  },
1603
1685
  {
1604
- key: "gpt-image-2.5-sunburst",
1605
- name: "GPT Image 2.5 Sunburst",
1686
+ key: "gpt-5-mini",
1687
+ name: "GPT-5 Mini",
1606
1688
  provider: "OpenAI",
1607
1689
  colorVar: "ds-green",
1608
1690
  price: {
1609
- currency: "CNY",
1610
- input: 14,
1611
- cacheHit: 5.6,
1612
- output: 84
1691
+ currency: "USD",
1692
+ input: .25,
1693
+ cacheHit: .025,
1694
+ output: 2
1613
1695
  }
1614
1696
  },
1615
1697
  {
1616
- key: "gemini-pro",
1617
- name: "Gemini 3.1 Pro",
1618
- provider: "Google",
1619
- colorVar: "dsw-static-blue-600",
1698
+ key: "gpt-5-nano",
1699
+ name: "GPT-5 Nano",
1700
+ provider: "OpenAI",
1701
+ colorVar: "ds-green",
1620
1702
  price: {
1621
1703
  currency: "USD",
1622
- input: 2,
1623
- cacheHit: .2,
1624
- output: 12,
1625
- offPeak: {
1626
- input: 1,
1627
- cacheHit: .1,
1628
- output: 6
1629
- }
1630
- },
1631
- peakHours: GEMINI_PEAK_HOURS,
1632
- tierSemantics: "latency"
1704
+ input: .05,
1705
+ cacheHit: .005,
1706
+ output: .4
1707
+ }
1633
1708
  },
1634
1709
  {
1635
- key: "gemini-3.8-flash",
1636
- name: "Gemini 3.8 Flash",
1637
- provider: "Google",
1638
- colorVar: "ds-blue",
1710
+ key: "gpt-5-pro",
1711
+ name: "GPT-5 Pro",
1712
+ provider: "OpenAI",
1713
+ colorVar: "ds-green",
1639
1714
  price: {
1640
1715
  currency: "USD",
1641
- input: 1.5,
1642
- cacheHit: .15,
1643
- output: 7.5,
1644
- offPeak: {
1645
- input: .75,
1646
- cacheHit: .075,
1647
- output: 3.75
1648
- }
1649
- },
1650
- promo: {
1651
- factor: .5,
1652
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1653
- note: "introductory 促销至 2026-12-31"
1654
- },
1655
- peakHours: GEMINI_PEAK_HOURS,
1656
- tierSemantics: "latency"
1716
+ input: 15,
1717
+ cacheHit: 0,
1718
+ output: 120
1719
+ }
1657
1720
  },
1658
1721
  {
1659
- key: "gemini-3.7-flash",
1660
- name: "Gemini 3.7 Flash",
1661
- provider: "Google",
1662
- colorVar: "dsw-static-blue-300",
1722
+ key: "gpt-5.1",
1723
+ name: "GPT-5.1",
1724
+ provider: "OpenAI",
1725
+ colorVar: "ds-green",
1663
1726
  price: {
1664
1727
  currency: "USD",
1665
- input: 1.5,
1666
- cacheHit: .15,
1667
- output: 7.5,
1668
- offPeak: {
1669
- input: .75,
1670
- cacheHit: .075,
1671
- output: 3.75
1672
- }
1673
- },
1674
- promo: {
1675
- factor: .5,
1676
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1677
- note: "introductory 促销至 2026-12-31"
1678
- },
1679
- peakHours: GEMINI_PEAK_HOURS,
1680
- tierSemantics: "latency"
1728
+ input: 1.25,
1729
+ cacheHit: .125,
1730
+ output: 10
1731
+ }
1681
1732
  },
1682
1733
  {
1683
- key: "gemini-flash",
1684
- name: "Gemini 3.6 Flash",
1685
- provider: "Google",
1686
- colorVar: "dsw-static-blue-400",
1734
+ key: "gpt-5.2",
1735
+ name: "GPT-5.2",
1736
+ provider: "OpenAI",
1737
+ colorVar: "ds-green",
1687
1738
  price: {
1688
1739
  currency: "USD",
1689
- input: 1.5,
1690
- cacheHit: .15,
1691
- output: 7.5,
1692
- offPeak: {
1693
- input: .75,
1694
- cacheHit: .075,
1695
- output: 3.75
1696
- }
1697
- },
1698
- promo: {
1699
- factor: .5,
1700
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1701
- note: "introductory 促销至 2026-12-31"
1702
- },
1703
- peakHours: GEMINI_PEAK_HOURS,
1704
- tierSemantics: "latency"
1740
+ input: 1.75,
1741
+ cacheHit: .175,
1742
+ output: 14
1743
+ }
1705
1744
  },
1706
1745
  {
1707
- key: "grok-4.7",
1708
- name: "Grok 4.7",
1709
- provider: "xAI",
1710
- colorVar: "dsw-static-neutral-bluish-700",
1746
+ key: "gpt-5.2-pro",
1747
+ name: "GPT-5.2 Pro",
1748
+ provider: "OpenAI",
1749
+ colorVar: "ds-green",
1711
1750
  price: {
1712
1751
  currency: "USD",
1713
- input: 2,
1714
- cacheHit: .5,
1715
- output: 6
1752
+ input: 21,
1753
+ cacheHit: 0,
1754
+ output: 168
1716
1755
  }
1717
1756
  },
1718
1757
  {
1719
- key: "grok",
1720
- name: "Grok 4.6",
1721
- provider: "xAI",
1722
- colorVar: "dsw-static-neutral-bluish-700",
1758
+ key: "gpt-5.3-codex",
1759
+ name: "GPT-5.3 Codex",
1760
+ provider: "OpenAI",
1761
+ colorVar: "ds-green",
1723
1762
  price: {
1724
1763
  currency: "USD",
1725
- input: 2,
1726
- cacheHit: .5,
1727
- output: 6
1764
+ input: 1.75,
1765
+ cacheHit: .175,
1766
+ output: 14
1728
1767
  }
1729
1768
  },
1730
1769
  {
1731
- key: "grok-4.5",
1732
- name: "Grok 4.5",
1733
- provider: "xAI",
1734
- colorVar: "dsw-static-neutral-bluish-700",
1770
+ key: "gpt-5.3-codex-spark",
1771
+ name: "GPT-5.3 Codex Spark",
1772
+ provider: "OpenAI",
1773
+ colorVar: "ds-green",
1735
1774
  price: {
1736
1775
  currency: "USD",
1737
- input: 2,
1738
- cacheHit: .3,
1739
- output: 6
1776
+ input: 1.75,
1777
+ cacheHit: .175,
1778
+ output: 14
1740
1779
  }
1741
1780
  },
1742
1781
  {
1743
- key: "grok-4.3",
1744
- name: "Grok 4.3",
1745
- provider: "xAI",
1746
- colorVar: "dsw-static-neutral-bluish-500",
1782
+ key: "gpt-5.4",
1783
+ name: "GPT-5.4",
1784
+ provider: "OpenAI",
1785
+ colorVar: "ds-green",
1747
1786
  price: {
1748
1787
  currency: "USD",
1749
- input: 1.25,
1750
- cacheHit: .2,
1751
- output: 2.5
1788
+ input: 2.5,
1789
+ cacheHit: .25,
1790
+ output: 15
1752
1791
  }
1753
1792
  },
1754
1793
  {
1755
- key: "grok-build-0.1",
1756
- name: "Grok Build 0.1",
1757
- provider: "xAI",
1758
- colorVar: "dsw-static-neutral-bluish-500",
1794
+ key: "gpt-5.4-mini",
1795
+ name: "GPT-5.4 mini",
1796
+ provider: "OpenAI",
1797
+ colorVar: "ds-green",
1759
1798
  price: {
1760
1799
  currency: "USD",
1761
- input: 1,
1762
- cacheHit: .2,
1763
- output: 2
1800
+ input: .75,
1801
+ cacheHit: .075,
1802
+ output: 4.5
1764
1803
  }
1765
1804
  },
1766
1805
  {
1767
- key: "llama",
1768
- name: "Llama 4 Maverick",
1769
- provider: "Meta",
1770
- colorVar: "ds-red",
1806
+ key: "gpt-5.4-nano",
1807
+ name: "GPT-5.4 nano",
1808
+ provider: "OpenAI",
1809
+ colorVar: "ds-green",
1771
1810
  price: {
1772
1811
  currency: "USD",
1773
1812
  input: .2,
1774
- cacheHit: .05,
1775
- output: .6
1813
+ cacheHit: .02,
1814
+ output: 1.25
1776
1815
  }
1777
1816
  },
1778
1817
  {
1779
- key: "llama-scout",
1780
- name: "Llama 4 Scout",
1781
- provider: "Meta",
1782
- colorVar: "dsw-static-red-400",
1818
+ key: "gpt-5.4-pro",
1819
+ name: "GPT-5.4 Pro",
1820
+ provider: "OpenAI",
1821
+ colorVar: "ds-green",
1783
1822
  price: {
1784
1823
  currency: "USD",
1785
- input: .1,
1786
- cacheHit: .025,
1787
- output: .3
1824
+ input: 30,
1825
+ cacheHit: 0,
1826
+ output: 180
1788
1827
  }
1789
1828
  },
1790
1829
  {
1791
- key: "claude-opus-4-6",
1792
- name: "Claude Opus 4.6",
1793
- provider: "Anthropic",
1794
- colorVar: "ds-red",
1830
+ key: "gpt-5.5-pro",
1831
+ name: "GPT-5.5 Pro",
1832
+ provider: "OpenAI",
1833
+ colorVar: "ds-green",
1795
1834
  price: {
1796
1835
  currency: "USD",
1797
- input: 5,
1798
- cacheHit: .5,
1799
- output: 25
1836
+ input: 30,
1837
+ cacheHit: 0,
1838
+ output: 180
1800
1839
  }
1801
1840
  },
1802
1841
  {
1803
- key: "claude-opus-4-7",
1804
- name: "Claude Opus 4.7",
1805
- provider: "Anthropic",
1806
- colorVar: "ds-red",
1842
+ key: "gpt-5.6",
1843
+ name: "GPT-5.6",
1844
+ provider: "OpenAI",
1845
+ colorVar: "ds-green",
1807
1846
  price: {
1808
1847
  currency: "USD",
1809
- input: 5,
1810
- cacheHit: .5,
1811
- output: 25
1848
+ input: 4,
1849
+ cacheHit: .4,
1850
+ output: 20
1812
1851
  }
1813
1852
  },
1814
1853
  {
1815
- key: "claude-opus-4-8",
1816
- name: "Claude Opus 4.8",
1817
- provider: "Anthropic",
1818
- colorVar: "ds-red",
1854
+ key: "gpt-daybreak-blue-latest",
1855
+ name: "Daybreak Blue",
1856
+ provider: "OpenAI",
1857
+ colorVar: "ds-green",
1819
1858
  price: {
1820
1859
  currency: "USD",
1821
- input: 5,
1822
- cacheHit: .5,
1823
- output: 25
1860
+ input: 4,
1861
+ cacheHit: .4,
1862
+ output: 20
1824
1863
  }
1825
1864
  },
1826
1865
  {
1827
- key: "claude-sonnet-4-6",
1866
+ key: "gpt-daybreak-red-latest",
1867
+ name: "Daybreak Red",
1868
+ provider: "OpenAI",
1869
+ colorVar: "ds-green",
1870
+ price: {
1871
+ currency: "USD",
1872
+ input: 12.5,
1873
+ cacheHit: 1.25,
1874
+ output: 75
1875
+ }
1876
+ },
1877
+ {
1878
+ key: "gpt-4.1",
1879
+ name: "GPT-4.1",
1880
+ provider: "OpenAI",
1881
+ colorVar: "ds-green",
1882
+ price: {
1883
+ currency: "USD",
1884
+ input: 2,
1885
+ cacheHit: .5,
1886
+ output: 8
1887
+ }
1888
+ },
1889
+ {
1890
+ key: "gpt-4.1-mini",
1891
+ name: "GPT-4.1 mini",
1892
+ provider: "OpenAI",
1893
+ colorVar: "ds-green",
1894
+ price: {
1895
+ currency: "USD",
1896
+ input: .4,
1897
+ cacheHit: .1,
1898
+ output: 1.6
1899
+ }
1900
+ },
1901
+ {
1902
+ key: "gpt-4.1-nano",
1903
+ name: "GPT-4.1 nano",
1904
+ provider: "OpenAI",
1905
+ colorVar: "ds-green",
1906
+ price: {
1907
+ currency: "USD",
1908
+ input: .1,
1909
+ cacheHit: .025,
1910
+ output: .4
1911
+ }
1912
+ },
1913
+ {
1914
+ key: "o3",
1915
+ name: "o3",
1916
+ provider: "OpenAI",
1917
+ colorVar: "ds-green",
1918
+ price: {
1919
+ currency: "USD",
1920
+ input: 2,
1921
+ cacheHit: .5,
1922
+ output: 8
1923
+ }
1924
+ },
1925
+ {
1926
+ key: "o3-mini",
1927
+ name: "o3-mini",
1928
+ provider: "OpenAI",
1929
+ colorVar: "ds-green",
1930
+ price: {
1931
+ currency: "USD",
1932
+ input: 1.1,
1933
+ cacheHit: .55,
1934
+ output: 4.4
1935
+ }
1936
+ },
1937
+ {
1938
+ key: "o3-pro",
1939
+ name: "o3-pro",
1940
+ provider: "OpenAI",
1941
+ colorVar: "ds-green",
1942
+ price: {
1943
+ currency: "USD",
1944
+ input: 20,
1945
+ cacheHit: 0,
1946
+ output: 80
1947
+ }
1948
+ },
1949
+ {
1950
+ key: "o4-mini",
1951
+ name: "o4-mini",
1952
+ provider: "OpenAI",
1953
+ colorVar: "ds-green",
1954
+ price: {
1955
+ currency: "USD",
1956
+ input: 1.1,
1957
+ cacheHit: .275,
1958
+ output: 4.4
1959
+ }
1960
+ },
1961
+ {
1962
+ key: "gpt-realtime-2.1",
1963
+ name: "GPT-Realtime-2.1",
1964
+ provider: "OpenAI",
1965
+ colorVar: "ds-green",
1966
+ price: {
1967
+ currency: "USD",
1968
+ input: 4,
1969
+ cacheHit: .4,
1970
+ output: 24
1971
+ }
1972
+ },
1973
+ {
1974
+ key: "gpt-5-chat-latest",
1975
+ name: "GPT-5 Chat Latest",
1976
+ provider: "OpenAI",
1977
+ colorVar: "ds-green",
1978
+ price: {
1979
+ currency: "USD",
1980
+ input: 1.25,
1981
+ cacheHit: 0,
1982
+ output: 10
1983
+ }
1984
+ },
1985
+ {
1986
+ key: "gpt-5.2-chat-latest",
1987
+ name: "GPT-5.2 Chat Latest",
1988
+ provider: "OpenAI",
1989
+ colorVar: "ds-green",
1990
+ price: {
1991
+ currency: "USD",
1992
+ input: 1.75,
1993
+ cacheHit: 0,
1994
+ output: 14
1995
+ }
1996
+ },
1997
+ {
1998
+ key: "gpt-5.3-chat-latest",
1999
+ name: "GPT-5.3 Chat Latest",
2000
+ provider: "OpenAI",
2001
+ colorVar: "ds-green",
2002
+ price: {
2003
+ currency: "USD",
2004
+ input: 1.75,
2005
+ cacheHit: 0,
2006
+ output: 14
2007
+ }
2008
+ },
2009
+ {
2010
+ key: "gpt-image-2",
2011
+ name: "GPT Image 2",
2012
+ provider: "OpenAI",
2013
+ colorVar: "ds-green",
2014
+ price: {
2015
+ currency: "CNY",
2016
+ input: 14,
2017
+ cacheHit: 5.6,
2018
+ output: 84
2019
+ }
2020
+ },
2021
+ {
2022
+ key: "gpt-image-2.5-sunburst",
2023
+ name: "GPT Image 2.5 Sunburst",
2024
+ provider: "OpenAI",
2025
+ colorVar: "ds-green",
2026
+ price: {
2027
+ currency: "CNY",
2028
+ input: 14,
2029
+ cacheHit: 5.6,
2030
+ output: 84
2031
+ }
2032
+ },
2033
+ {
2034
+ key: "gemini-pro",
2035
+ name: "Gemini 3.1 Pro",
2036
+ provider: "Google",
2037
+ colorVar: "dsw-static-blue-600",
2038
+ price: {
2039
+ currency: "USD",
2040
+ input: 2,
2041
+ cacheHit: .2,
2042
+ output: 12,
2043
+ offPeak: {
2044
+ input: 1,
2045
+ cacheHit: .1,
2046
+ output: 6
2047
+ }
2048
+ },
2049
+ peakHours: GEMINI_PEAK_HOURS,
2050
+ tierSemantics: "latency"
2051
+ },
2052
+ {
2053
+ key: "gemini-3.8-flash",
2054
+ name: "Gemini 3.8 Flash",
2055
+ provider: "Google",
2056
+ colorVar: "ds-blue",
2057
+ price: {
2058
+ currency: "USD",
2059
+ input: 1.5,
2060
+ cacheHit: .15,
2061
+ output: 7.5,
2062
+ offPeak: {
2063
+ input: .75,
2064
+ cacheHit: .075,
2065
+ output: 3.75
2066
+ }
2067
+ },
2068
+ promo: {
2069
+ factor: .5,
2070
+ endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
2071
+ note: "introductory 促销至 2026-12-31"
2072
+ },
2073
+ peakHours: GEMINI_PEAK_HOURS,
2074
+ tierSemantics: "latency"
2075
+ },
2076
+ {
2077
+ key: "gemini-3.7-flash",
2078
+ name: "Gemini 3.7 Flash",
2079
+ provider: "Google",
2080
+ colorVar: "dsw-static-blue-300",
2081
+ price: {
2082
+ currency: "USD",
2083
+ input: 1.5,
2084
+ cacheHit: .15,
2085
+ output: 7.5,
2086
+ offPeak: {
2087
+ input: .75,
2088
+ cacheHit: .075,
2089
+ output: 3.75
2090
+ }
2091
+ },
2092
+ promo: {
2093
+ factor: .5,
2094
+ endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
2095
+ note: "introductory 促销至 2026-12-31"
2096
+ },
2097
+ peakHours: GEMINI_PEAK_HOURS,
2098
+ tierSemantics: "latency"
2099
+ },
2100
+ {
2101
+ key: "gemini-flash",
2102
+ name: "Gemini 3.6 Flash",
2103
+ provider: "Google",
2104
+ colorVar: "dsw-static-blue-400",
2105
+ price: {
2106
+ currency: "USD",
2107
+ input: 1.5,
2108
+ cacheHit: .15,
2109
+ output: 7.5,
2110
+ offPeak: {
2111
+ input: .75,
2112
+ cacheHit: .075,
2113
+ output: 3.75
2114
+ }
2115
+ },
2116
+ promo: {
2117
+ factor: .5,
2118
+ endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
2119
+ note: "introductory 促销至 2026-12-31"
2120
+ },
2121
+ peakHours: GEMINI_PEAK_HOURS,
2122
+ tierSemantics: "latency"
2123
+ },
2124
+ {
2125
+ key: "gemini-2.5-pro",
2126
+ name: "Gemini 2.5 Pro",
2127
+ provider: "Google",
2128
+ colorVar: "dsw-static-blue-600",
2129
+ price: {
2130
+ currency: "USD",
2131
+ input: 1.25,
2132
+ cacheHit: .125,
2133
+ output: 10
2134
+ }
2135
+ },
2136
+ {
2137
+ key: "gemini-2.5-flash",
2138
+ name: "Gemini 2.5 Flash",
2139
+ provider: "Google",
2140
+ colorVar: "dsw-static-blue-600",
2141
+ price: {
2142
+ currency: "USD",
2143
+ input: .3,
2144
+ cacheHit: .03,
2145
+ output: 2.5
2146
+ }
2147
+ },
2148
+ {
2149
+ key: "gemini-2.5-flash-lite",
2150
+ name: "Gemini 2.5 Flash-Lite",
2151
+ provider: "Google",
2152
+ colorVar: "dsw-static-blue-600",
2153
+ price: {
2154
+ currency: "USD",
2155
+ input: .1,
2156
+ cacheHit: .01,
2157
+ output: .4
2158
+ }
2159
+ },
2160
+ {
2161
+ key: "gemini-3-flash-preview",
2162
+ name: "Gemini 3 Flash Preview",
2163
+ provider: "Google",
2164
+ colorVar: "dsw-static-blue-600",
2165
+ price: {
2166
+ currency: "USD",
2167
+ input: .5,
2168
+ cacheHit: .05,
2169
+ output: 3
2170
+ }
2171
+ },
2172
+ {
2173
+ key: "gemini-3.1-pro-preview",
2174
+ name: "Gemini 3.1 Pro Preview",
2175
+ provider: "Google",
2176
+ colorVar: "dsw-static-blue-600",
2177
+ price: {
2178
+ currency: "USD",
2179
+ input: 2,
2180
+ cacheHit: .2,
2181
+ output: 12
2182
+ }
2183
+ },
2184
+ {
2185
+ key: "gemini-3.1-pro-preview-customtools",
2186
+ name: "Gemini 3.1 Pro Preview (Custom Tools)",
2187
+ provider: "Google",
2188
+ colorVar: "dsw-static-blue-600",
2189
+ price: {
2190
+ currency: "USD",
2191
+ input: 2,
2192
+ cacheHit: .2,
2193
+ output: 12
2194
+ }
2195
+ },
2196
+ {
2197
+ key: "gemini-3.1-flash-lite",
2198
+ name: "Gemini 3.1 Flash Lite",
2199
+ provider: "Google",
2200
+ colorVar: "dsw-static-blue-600",
2201
+ price: {
2202
+ currency: "USD",
2203
+ input: .25,
2204
+ cacheHit: .025,
2205
+ output: 1.5
2206
+ }
2207
+ },
2208
+ {
2209
+ key: "gemini-3.1-flash-lite-preview",
2210
+ name: "Gemini 3.1 Flash Lite Preview",
2211
+ provider: "Google",
2212
+ colorVar: "dsw-static-blue-600",
2213
+ price: {
2214
+ currency: "USD",
2215
+ input: .25,
2216
+ cacheHit: .025,
2217
+ output: 1.5
2218
+ }
2219
+ },
2220
+ {
2221
+ key: "gemini-3.5-flash",
2222
+ name: "Gemini 3.5 Flash",
2223
+ provider: "Google",
2224
+ colorVar: "dsw-static-blue-600",
2225
+ price: {
2226
+ currency: "USD",
2227
+ input: 1.5,
2228
+ cacheHit: .15,
2229
+ output: 9
2230
+ }
2231
+ },
2232
+ {
2233
+ key: "gemini-3.5-flash-lite",
2234
+ name: "Gemini 3.5 Flash Lite",
2235
+ provider: "Google",
2236
+ colorVar: "dsw-static-blue-600",
2237
+ price: {
2238
+ currency: "USD",
2239
+ input: .3,
2240
+ cacheHit: .03,
2241
+ output: 2.5
2242
+ }
2243
+ },
2244
+ {
2245
+ key: "gemini-4-argon",
2246
+ name: "Gemini 4 Argon",
2247
+ provider: "Google",
2248
+ colorVar: "dsw-static-blue-600",
2249
+ price: {
2250
+ currency: "USD",
2251
+ input: 2,
2252
+ cacheHit: .1,
2253
+ output: 10
2254
+ }
2255
+ },
2256
+ {
2257
+ key: "gemini-flash-latest",
2258
+ name: "Gemini Flash Latest",
2259
+ provider: "Google",
2260
+ colorVar: "dsw-static-blue-600",
2261
+ price: {
2262
+ currency: "USD",
2263
+ input: .75,
2264
+ cacheHit: .075,
2265
+ output: 3.75
2266
+ }
2267
+ },
2268
+ {
2269
+ key: "gemini-flash-lite-latest",
2270
+ name: "Gemini Flash-Lite Latest",
2271
+ provider: "Google",
2272
+ colorVar: "dsw-static-blue-600",
2273
+ price: {
2274
+ currency: "USD",
2275
+ input: .3,
2276
+ cacheHit: .03,
2277
+ output: 2.5
2278
+ }
2279
+ },
2280
+ {
2281
+ key: "deep-research-preview-04-2026",
2282
+ name: "Deep Research Preview (2026-04)",
2283
+ provider: "Google",
2284
+ colorVar: "dsw-static-blue-600",
2285
+ price: {
2286
+ currency: "USD",
2287
+ input: 2,
2288
+ cacheHit: .2,
2289
+ output: 12
2290
+ }
2291
+ },
2292
+ {
2293
+ key: "deep-research-max-preview-04-2026",
2294
+ name: "Deep Research Max Preview (2026-04)",
2295
+ provider: "Google",
2296
+ colorVar: "dsw-static-blue-600",
2297
+ price: {
2298
+ currency: "USD",
2299
+ input: 2,
2300
+ cacheHit: .2,
2301
+ output: 12
2302
+ }
2303
+ },
2304
+ {
2305
+ key: "gemini-2.5-flash-image",
2306
+ name: "Nano Banana (Gemini 2.5 Flash Image)",
2307
+ provider: "Google",
2308
+ colorVar: "dsw-static-blue-600",
2309
+ price: {
2310
+ currency: "USD",
2311
+ input: .3,
2312
+ cacheHit: .075,
2313
+ output: 30
2314
+ }
2315
+ },
2316
+ {
2317
+ key: "gemini-3-pro-image-preview",
2318
+ name: "Nano Banana Pro (Gemini 3 Pro Image Preview)",
2319
+ provider: "Google",
2320
+ colorVar: "dsw-static-blue-600",
2321
+ price: {
2322
+ currency: "USD",
2323
+ input: 2,
2324
+ cacheHit: 0,
2325
+ output: 120
2326
+ }
2327
+ },
2328
+ {
2329
+ key: "gemini-3.1-flash-image-preview",
2330
+ name: "Nano Banana 2 (Gemini 3.1 Flash Image Preview)",
2331
+ provider: "Google",
2332
+ colorVar: "dsw-static-blue-600",
2333
+ price: {
2334
+ currency: "USD",
2335
+ input: .5,
2336
+ cacheHit: 0,
2337
+ output: 60
2338
+ }
2339
+ },
2340
+ {
2341
+ key: "gemini-3.1-flash-lite-image",
2342
+ name: "Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)",
2343
+ provider: "Google",
2344
+ colorVar: "dsw-static-blue-600",
2345
+ price: {
2346
+ currency: "USD",
2347
+ input: .25,
2348
+ cacheHit: 0,
2349
+ output: 30
2350
+ }
2351
+ },
2352
+ {
2353
+ key: "gemini-3.1-flash-live-preview",
2354
+ name: "Gemini 3.1 Flash Live Preview",
2355
+ provider: "Google",
2356
+ colorVar: "dsw-static-blue-600",
2357
+ price: {
2358
+ currency: "USD",
2359
+ input: .75,
2360
+ cacheHit: 0,
2361
+ output: 4.5
2362
+ }
2363
+ },
2364
+ {
2365
+ key: "gemini-2.5-computer-use-preview-10-2025",
2366
+ name: "Gemini 2.5 Computer Use Preview",
2367
+ provider: "Google",
2368
+ colorVar: "dsw-static-blue-600",
2369
+ price: {
2370
+ currency: "USD",
2371
+ input: 1.25,
2372
+ cacheHit: 0,
2373
+ output: 10
2374
+ }
2375
+ },
2376
+ {
2377
+ key: "grok-4.7",
2378
+ name: "Grok 4.7",
2379
+ provider: "xAI",
2380
+ colorVar: "dsw-static-neutral-bluish-700",
2381
+ price: {
2382
+ currency: "USD",
2383
+ input: 2,
2384
+ cacheHit: .5,
2385
+ output: 6
2386
+ }
2387
+ },
2388
+ {
2389
+ key: "grok",
2390
+ name: "Grok 4.6",
2391
+ provider: "xAI",
2392
+ colorVar: "dsw-static-neutral-bluish-700",
2393
+ price: {
2394
+ currency: "USD",
2395
+ input: 2,
2396
+ cacheHit: .5,
2397
+ output: 6
2398
+ }
2399
+ },
2400
+ {
2401
+ key: "grok-4.5",
2402
+ name: "Grok 4.5",
2403
+ provider: "xAI",
2404
+ colorVar: "dsw-static-neutral-bluish-700",
2405
+ price: {
2406
+ currency: "USD",
2407
+ input: 2,
2408
+ cacheHit: .3,
2409
+ output: 6
2410
+ }
2411
+ },
2412
+ {
2413
+ key: "grok-4.3",
2414
+ name: "Grok 4.3",
2415
+ provider: "xAI",
2416
+ colorVar: "dsw-static-neutral-bluish-500",
2417
+ price: {
2418
+ currency: "USD",
2419
+ input: 1.25,
2420
+ cacheHit: .2,
2421
+ output: 2.5
2422
+ }
2423
+ },
2424
+ {
2425
+ key: "grok-build-0.1",
2426
+ name: "Grok Build 0.1",
2427
+ provider: "xAI",
2428
+ colorVar: "dsw-static-neutral-bluish-500",
2429
+ price: {
2430
+ currency: "USD",
2431
+ input: 1,
2432
+ cacheHit: .2,
2433
+ output: 2
2434
+ }
2435
+ },
2436
+ {
2437
+ key: "grok-4.20-0309-reasoning",
2438
+ name: "Grok 4.20 (Reasoning)",
2439
+ provider: "xAI",
2440
+ colorVar: "dsw-static-neutral-bluish-700",
2441
+ price: {
2442
+ currency: "USD",
2443
+ input: 1.25,
2444
+ cacheHit: .2,
2445
+ output: 2.5
2446
+ }
2447
+ },
2448
+ {
2449
+ key: "grok-4.20-0309-non-reasoning",
2450
+ name: "Grok 4.20 (Non-Reasoning)",
2451
+ provider: "xAI",
2452
+ colorVar: "dsw-static-neutral-bluish-700",
2453
+ price: {
2454
+ currency: "USD",
2455
+ input: 1.25,
2456
+ cacheHit: .2,
2457
+ output: 2.5
2458
+ }
2459
+ },
2460
+ {
2461
+ key: "grok-4.20-multi-agent-0309",
2462
+ name: "Grok 4.20 Multi-Agent",
2463
+ provider: "xAI",
2464
+ colorVar: "dsw-static-neutral-bluish-700",
2465
+ price: {
2466
+ currency: "USD",
2467
+ input: 1.25,
2468
+ cacheHit: .2,
2469
+ output: 2.5
2470
+ }
2471
+ },
2472
+ {
2473
+ key: "llama",
2474
+ name: "Llama 4 Maverick",
2475
+ provider: "Meta",
2476
+ colorVar: "ds-red",
2477
+ price: {
2478
+ currency: "USD",
2479
+ input: .2,
2480
+ cacheHit: .05,
2481
+ output: .6
2482
+ }
2483
+ },
2484
+ {
2485
+ key: "llama-scout",
2486
+ name: "Llama 4 Scout",
2487
+ provider: "Meta",
2488
+ colorVar: "dsw-static-red-400",
2489
+ price: {
2490
+ currency: "USD",
2491
+ input: .1,
2492
+ cacheHit: .025,
2493
+ output: .3
2494
+ }
2495
+ },
2496
+ {
2497
+ key: "muse-spark-1.3",
2498
+ name: "Muse Spark 1.3",
2499
+ provider: "Meta",
2500
+ colorVar: "ds-red",
2501
+ price: {
2502
+ currency: "USD",
2503
+ input: 1.25,
2504
+ cacheHit: .15,
2505
+ output: 4.25
2506
+ }
2507
+ },
2508
+ {
2509
+ key: "muse-spark-1.2",
2510
+ name: "Muse Spark 1.2",
2511
+ provider: "Meta",
2512
+ colorVar: "ds-red",
2513
+ price: {
2514
+ currency: "USD",
2515
+ input: 1.25,
2516
+ cacheHit: .15,
2517
+ output: 4.25
2518
+ }
2519
+ },
2520
+ {
2521
+ key: "muse-spark-1.1",
2522
+ name: "Muse Spark 1.1",
2523
+ provider: "Meta",
2524
+ colorVar: "ds-red",
2525
+ price: {
2526
+ currency: "USD",
2527
+ input: 1.25,
2528
+ cacheHit: .15,
2529
+ output: 4.25
2530
+ }
2531
+ },
2532
+ {
2533
+ key: "muse-wonder-1.0",
2534
+ name: "Muse Wonder 1.0",
2535
+ provider: "Meta",
2536
+ colorVar: "ds-red",
2537
+ price: {
2538
+ currency: "USD",
2539
+ input: 4,
2540
+ cacheHit: .2,
2541
+ output: 20
2542
+ }
2543
+ },
2544
+ {
2545
+ key: "muse-spark-1.3-contributor",
2546
+ name: "Muse Spark 1.3 Contributor",
2547
+ provider: "Meta",
2548
+ colorVar: "ds-red",
2549
+ price: {
2550
+ currency: "USD",
2551
+ input: .1,
2552
+ cacheHit: .002,
2553
+ output: .2
2554
+ }
2555
+ },
2556
+ {
2557
+ key: "muse-spark-1.2-contributor",
2558
+ name: "Muse Spark 1.2 Contributor",
2559
+ provider: "Meta",
2560
+ colorVar: "ds-red",
2561
+ price: {
2562
+ currency: "USD",
2563
+ input: .1,
2564
+ cacheHit: .002,
2565
+ output: .2
2566
+ }
2567
+ },
2568
+ {
2569
+ key: "claude-opus-4-6",
2570
+ name: "Claude Opus 4.6",
2571
+ provider: "Anthropic",
2572
+ colorVar: "ds-red",
2573
+ price: {
2574
+ currency: "USD",
2575
+ input: 5,
2576
+ cacheHit: .5,
2577
+ output: 25
2578
+ }
2579
+ },
2580
+ {
2581
+ key: "claude-opus-4-7",
2582
+ name: "Claude Opus 4.7",
2583
+ provider: "Anthropic",
2584
+ colorVar: "ds-red",
2585
+ price: {
2586
+ currency: "USD",
2587
+ input: 5,
2588
+ cacheHit: .5,
2589
+ output: 25
2590
+ }
2591
+ },
2592
+ {
2593
+ key: "claude-opus-4-8",
2594
+ name: "Claude Opus 4.8",
2595
+ provider: "Anthropic",
2596
+ colorVar: "ds-red",
2597
+ price: {
2598
+ currency: "USD",
2599
+ input: 5,
2600
+ cacheHit: .5,
2601
+ output: 25
2602
+ }
2603
+ },
2604
+ {
2605
+ key: "claude-sonnet-4-6",
1828
2606
  name: "Claude Sonnet 4.6",
1829
2607
  provider: "Anthropic",
1830
2608
  colorVar: "dsw-static-red-400",
1831
2609
  price: {
1832
2610
  currency: "USD",
1833
- input: 3,
1834
- cacheHit: .3,
1835
- output: 15
2611
+ input: 3,
2612
+ cacheHit: .3,
2613
+ output: 15
2614
+ }
2615
+ },
2616
+ {
2617
+ key: "claude-haiku-4-5",
2618
+ name: "Claude Haiku 4.5",
2619
+ provider: "Anthropic",
2620
+ colorVar: "dsw-static-red-300",
2621
+ price: {
2622
+ currency: "USD",
2623
+ input: 1,
2624
+ cacheHit: .1,
2625
+ output: 5
2626
+ }
2627
+ },
2628
+ {
2629
+ key: "claude-opus-5",
2630
+ name: "Claude Opus 5",
2631
+ provider: "Anthropic",
2632
+ colorVar: "ds-red",
2633
+ price: {
2634
+ currency: "USD",
2635
+ input: 5,
2636
+ cacheHit: .5,
2637
+ output: 25
2638
+ }
2639
+ },
2640
+ {
2641
+ key: "claude-sonnet-5",
2642
+ name: "Claude Sonnet 5",
2643
+ provider: "Anthropic",
2644
+ colorVar: "dsw-static-red-400",
2645
+ price: {
2646
+ currency: "USD",
2647
+ input: 2,
2648
+ cacheHit: .2,
2649
+ output: 10
2650
+ }
2651
+ },
2652
+ {
2653
+ key: "claude-fable-5-1",
2654
+ name: "Claude Fable 5.1",
2655
+ provider: "Anthropic",
2656
+ colorVar: "ds-red",
2657
+ price: {
2658
+ currency: "USD",
2659
+ input: 10,
2660
+ cacheHit: .25,
2661
+ output: 50
2662
+ }
2663
+ },
2664
+ {
2665
+ key: "claude-fable-5",
2666
+ name: "Claude Fable 5",
2667
+ provider: "Anthropic",
2668
+ colorVar: "ds-red",
2669
+ price: {
2670
+ currency: "USD",
2671
+ input: 10,
2672
+ cacheHit: 1,
2673
+ output: 50
2674
+ }
2675
+ },
2676
+ {
2677
+ key: "claude-opus-5-5",
2678
+ name: "Claude Opus 5.5",
2679
+ provider: "Anthropic",
2680
+ colorVar: "ds-red",
2681
+ price: {
2682
+ currency: "USD",
2683
+ input: 4,
2684
+ cacheHit: .2,
2685
+ output: 20
2686
+ }
2687
+ },
2688
+ {
2689
+ key: "claude-sonnet-5-5",
2690
+ name: "Claude Sonnet 5.5",
2691
+ provider: "Anthropic",
2692
+ colorVar: "dsw-static-red-400",
2693
+ price: {
2694
+ currency: "USD",
2695
+ input: 2,
2696
+ cacheHit: .2,
2697
+ output: 10
2698
+ }
2699
+ },
2700
+ {
2701
+ key: "claude-haiku-5-5",
2702
+ name: "Claude Haiku 5.5",
2703
+ provider: "Anthropic",
2704
+ colorVar: "dsw-static-red-300",
2705
+ price: {
2706
+ currency: "USD",
2707
+ input: .1,
2708
+ cacheHit: .01,
2709
+ output: .5
2710
+ }
2711
+ },
2712
+ {
2713
+ key: "claude-opus-4-5",
2714
+ name: "Claude Opus 4.5",
2715
+ provider: "Anthropic",
2716
+ colorVar: "ds-red",
2717
+ price: {
2718
+ currency: "USD",
2719
+ input: 5,
2720
+ cacheHit: .5,
2721
+ output: 25
2722
+ }
2723
+ },
2724
+ {
2725
+ key: "claude-sonnet-4-5",
2726
+ name: "Claude Sonnet 4.5",
2727
+ provider: "Anthropic",
2728
+ colorVar: "ds-red",
2729
+ price: {
2730
+ currency: "USD",
2731
+ input: 3,
2732
+ cacheHit: .3,
2733
+ output: 15
2734
+ }
2735
+ },
2736
+ {
2737
+ key: "mistral-large-2512",
2738
+ name: "Mistral Large 3",
2739
+ provider: "Mistral AI",
2740
+ colorVar: "ds-violet",
2741
+ price: {
2742
+ currency: "USD",
2743
+ input: .5,
2744
+ cacheHit: .05,
2745
+ output: 1.5
2746
+ }
2747
+ },
2748
+ {
2749
+ key: "mistral-small-2603",
2750
+ name: "Mistral Small 4",
2751
+ provider: "Mistral AI",
2752
+ colorVar: "dsw-static-violet-400",
2753
+ price: {
2754
+ currency: "USD",
2755
+ input: .15,
2756
+ cacheHit: .015,
2757
+ output: .6
2758
+ }
2759
+ },
2760
+ {
2761
+ key: "ministral-8b-latest",
2762
+ name: "Ministral 8B",
2763
+ provider: "Mistral AI",
2764
+ colorVar: "dsw-static-violet-300",
2765
+ price: {
2766
+ currency: "USD",
2767
+ input: .1,
2768
+ cacheHit: .01,
2769
+ output: .1
2770
+ }
2771
+ },
2772
+ {
2773
+ key: "mistral-large-latest",
2774
+ name: "Mistral Large (latest)",
2775
+ provider: "Mistral AI",
2776
+ colorVar: "ds-violet",
2777
+ price: {
2778
+ currency: "USD",
2779
+ input: .5,
2780
+ cacheHit: .05,
2781
+ output: 1.5
2782
+ }
2783
+ },
2784
+ {
2785
+ key: "mistral-large-4",
2786
+ name: "Mistral Large 4",
2787
+ provider: "Mistral AI",
2788
+ colorVar: "ds-violet",
2789
+ price: {
2790
+ currency: "USD",
2791
+ input: 1.36,
2792
+ cacheHit: .14,
2793
+ output: 4.18
2794
+ }
2795
+ },
2796
+ {
2797
+ key: "mistral-medium-latest",
2798
+ name: "Mistral Medium (latest)",
2799
+ provider: "Mistral AI",
2800
+ colorVar: "ds-violet",
2801
+ price: {
2802
+ currency: "USD",
2803
+ input: 1.5,
2804
+ cacheHit: .15,
2805
+ output: 7.5
2806
+ }
2807
+ },
2808
+ {
2809
+ key: "mistral-medium-2604",
2810
+ name: "Mistral Medium 3.5",
2811
+ provider: "Mistral AI",
2812
+ colorVar: "ds-violet",
2813
+ price: {
2814
+ currency: "USD",
2815
+ input: 1.5,
2816
+ cacheHit: .15,
2817
+ output: 7.5
2818
+ }
2819
+ },
2820
+ {
2821
+ key: "mistral-medium-2508",
2822
+ name: "Mistral Medium 3.1",
2823
+ provider: "Mistral AI",
2824
+ colorVar: "ds-violet",
2825
+ price: {
2826
+ currency: "USD",
2827
+ input: .4,
2828
+ cacheHit: 0,
2829
+ output: 2
1836
2830
  }
1837
2831
  },
1838
2832
  {
1839
- key: "claude-haiku-4-5",
1840
- name: "Claude Haiku 4.5",
1841
- provider: "Anthropic",
1842
- colorVar: "dsw-static-red-300",
2833
+ key: "mistral-small-latest",
2834
+ name: "Mistral Small (latest)",
2835
+ provider: "Mistral AI",
2836
+ colorVar: "ds-violet",
1843
2837
  price: {
1844
2838
  currency: "USD",
1845
- input: 1,
1846
- cacheHit: .1,
1847
- output: 5
2839
+ input: .15,
2840
+ cacheHit: .015,
2841
+ output: .6
1848
2842
  }
1849
2843
  },
1850
2844
  {
1851
- key: "claude-opus-5",
1852
- name: "Claude Opus 5",
1853
- provider: "Anthropic",
1854
- colorVar: "ds-red",
2845
+ key: "mistral-small-2506",
2846
+ name: "Mistral Small 3.2",
2847
+ provider: "Mistral AI",
2848
+ colorVar: "ds-violet",
1855
2849
  price: {
1856
2850
  currency: "USD",
1857
- input: 5,
1858
- cacheHit: .5,
1859
- output: 25
2851
+ input: .1,
2852
+ cacheHit: 0,
2853
+ output: .3
1860
2854
  }
1861
2855
  },
1862
2856
  {
1863
- key: "claude-sonnet-5",
1864
- name: "Claude Sonnet 5",
1865
- provider: "Anthropic",
1866
- colorVar: "dsw-static-red-400",
2857
+ key: "codestral-latest",
2858
+ name: "Codestral (latest)",
2859
+ provider: "Mistral AI",
2860
+ colorVar: "ds-violet",
1867
2861
  price: {
1868
2862
  currency: "USD",
1869
- input: 2,
1870
- cacheHit: .2,
1871
- output: 10
2863
+ input: .3,
2864
+ cacheHit: .03,
2865
+ output: .9
1872
2866
  }
1873
2867
  },
1874
2868
  {
1875
- key: "claude-fable-5-1",
1876
- name: "Claude Fable 5.1",
1877
- provider: "Anthropic",
1878
- colorVar: "ds-red",
2869
+ key: "devstral-latest",
2870
+ name: "Devstral 2 (latest)",
2871
+ provider: "Mistral AI",
2872
+ colorVar: "ds-violet",
1879
2873
  price: {
1880
2874
  currency: "USD",
1881
- input: 10,
1882
- cacheHit: .25,
1883
- output: 50
2875
+ input: .4,
2876
+ cacheHit: 0,
2877
+ output: 2
1884
2878
  }
1885
2879
  },
1886
2880
  {
1887
- key: "claude-fable-5",
1888
- name: "Claude Fable 5",
1889
- provider: "Anthropic",
1890
- colorVar: "ds-red",
2881
+ key: "devstral-2512",
2882
+ name: "Devstral 2",
2883
+ provider: "Mistral AI",
2884
+ colorVar: "ds-violet",
1891
2885
  price: {
1892
2886
  currency: "USD",
1893
- input: 10,
1894
- cacheHit: 1,
1895
- output: 50
2887
+ input: .4,
2888
+ cacheHit: 0,
2889
+ output: 2
1896
2890
  }
1897
2891
  },
1898
2892
  {
1899
- key: "claude-opus-5-5",
1900
- name: "Claude Opus 5.5",
1901
- provider: "Anthropic",
1902
- colorVar: "ds-red",
2893
+ key: "devstral-medium-latest",
2894
+ name: "Devstral Medium (latest)",
2895
+ provider: "Mistral AI",
2896
+ colorVar: "ds-violet",
1903
2897
  price: {
1904
2898
  currency: "USD",
1905
- input: 4,
1906
- cacheHit: .2,
1907
- output: 20
2899
+ input: .4,
2900
+ cacheHit: 0,
2901
+ output: 2
1908
2902
  }
1909
2903
  },
1910
2904
  {
1911
- key: "claude-sonnet-5-5",
1912
- name: "Claude Sonnet 5.5",
1913
- provider: "Anthropic",
1914
- colorVar: "dsw-static-red-400",
2905
+ key: "magistral-medium-latest",
2906
+ name: "Magistral Medium (latest)",
2907
+ provider: "Mistral AI",
2908
+ colorVar: "ds-violet",
1915
2909
  price: {
1916
2910
  currency: "USD",
1917
2911
  input: 2,
1918
- cacheHit: .2,
1919
- output: 10
2912
+ cacheHit: 0,
2913
+ output: 5
1920
2914
  }
1921
2915
  },
1922
2916
  {
1923
- key: "claude-haiku-5-5",
1924
- name: "Claude Haiku 5.5",
1925
- provider: "Anthropic",
1926
- colorVar: "dsw-static-red-300",
2917
+ key: "voxtral-small-latest",
2918
+ name: "Voxtral Small (latest)",
2919
+ provider: "Mistral AI",
2920
+ colorVar: "ds-violet",
1927
2921
  price: {
1928
2922
  currency: "USD",
1929
2923
  input: .1,
1930
- cacheHit: .01,
1931
- output: .5
2924
+ cacheHit: 0,
2925
+ output: .4
1932
2926
  }
1933
2927
  },
1934
2928
  {
1935
- key: "mistral-large-2512",
1936
- name: "Mistral Large 3",
2929
+ key: "ministral-3b-2512",
2930
+ name: "Ministral 3 3B",
1937
2931
  provider: "Mistral AI",
1938
2932
  colorVar: "ds-violet",
1939
2933
  price: {
1940
2934
  currency: "USD",
1941
- input: .5,
1942
- cacheHit: .05,
1943
- output: 1.5
2935
+ input: .1,
2936
+ cacheHit: .01,
2937
+ output: .1
1944
2938
  }
1945
2939
  },
1946
2940
  {
1947
- key: "mistral-small-2603",
1948
- name: "Mistral Small 4",
2941
+ key: "ministral-8b-2512",
2942
+ name: "Ministral 3 8B",
1949
2943
  provider: "Mistral AI",
1950
- colorVar: "dsw-static-violet-400",
2944
+ colorVar: "ds-violet",
1951
2945
  price: {
1952
2946
  currency: "USD",
1953
2947
  input: .15,
1954
2948
  cacheHit: .015,
1955
- output: .6
2949
+ output: .15
1956
2950
  }
1957
2951
  },
1958
2952
  {
1959
- key: "ministral-8b-latest",
1960
- name: "Ministral 8B",
2953
+ key: "ministral-14b-2512",
2954
+ name: "Ministral 3 14B",
1961
2955
  provider: "Mistral AI",
1962
- colorVar: "dsw-static-violet-300",
2956
+ colorVar: "ds-violet",
2957
+ price: {
2958
+ currency: "USD",
2959
+ input: .2,
2960
+ cacheHit: .02,
2961
+ output: .2
2962
+ }
2963
+ },
2964
+ {
2965
+ key: "magistral-small",
2966
+ name: "Magistral Small",
2967
+ provider: "Mistral AI",
2968
+ colorVar: "ds-violet",
2969
+ price: {
2970
+ currency: "USD",
2971
+ input: .5,
2972
+ cacheHit: 0,
2973
+ output: 1.5
2974
+ }
2975
+ },
2976
+ {
2977
+ key: "ministral-3b-latest",
2978
+ name: "Ministral 3B (latest)",
2979
+ provider: "Mistral AI",
2980
+ colorVar: "ds-violet",
1963
2981
  price: {
1964
2982
  currency: "USD",
1965
2983
  input: .1,
@@ -1968,27 +2986,195 @@ const BUILTIN_MODEL_CATALOG = [
1968
2986
  }
1969
2987
  },
1970
2988
  {
1971
- key: "command-a-03-2025",
1972
- name: "Command A",
2989
+ key: "voxtral-small-2507",
2990
+ name: "Voxtral Small 2507",
2991
+ provider: "Mistral AI",
2992
+ colorVar: "ds-violet",
2993
+ price: {
2994
+ currency: "USD",
2995
+ input: .1,
2996
+ cacheHit: 0,
2997
+ output: .4
2998
+ }
2999
+ },
3000
+ {
3001
+ key: "devstral-small-2507",
3002
+ name: "Devstral Small 2507",
3003
+ provider: "Mistral AI",
3004
+ colorVar: "ds-violet",
3005
+ price: {
3006
+ currency: "USD",
3007
+ input: .1,
3008
+ cacheHit: 0,
3009
+ output: .3
3010
+ }
3011
+ },
3012
+ {
3013
+ key: "mistral-medium-2505",
3014
+ name: "Mistral Medium 3",
3015
+ provider: "Mistral AI",
3016
+ colorVar: "ds-violet",
3017
+ price: {
3018
+ currency: "USD",
3019
+ input: .4,
3020
+ cacheHit: 0,
3021
+ output: 2
3022
+ }
3023
+ },
3024
+ {
3025
+ key: "open-mistral-7b",
3026
+ name: "Open Mistral 7B",
3027
+ provider: "Mistral AI",
3028
+ colorVar: "ds-violet",
3029
+ price: {
3030
+ currency: "USD",
3031
+ input: .25,
3032
+ cacheHit: 0,
3033
+ output: .25
3034
+ }
3035
+ },
3036
+ {
3037
+ key: "open-mixtral-8x7b",
3038
+ name: "Open Mixtral 8x7B",
3039
+ provider: "Mistral AI",
3040
+ colorVar: "ds-violet",
3041
+ price: {
3042
+ currency: "USD",
3043
+ input: .7,
3044
+ cacheHit: 0,
3045
+ output: .7
3046
+ }
3047
+ },
3048
+ {
3049
+ key: "open-mixtral-8x22b",
3050
+ name: "Open Mixtral 8x22B",
3051
+ provider: "Mistral AI",
3052
+ colorVar: "ds-violet",
3053
+ price: {
3054
+ currency: "USD",
3055
+ input: 2,
3056
+ cacheHit: 0,
3057
+ output: 6
3058
+ }
3059
+ },
3060
+ {
3061
+ key: "pixtral-12b",
3062
+ name: "Pixtral 12B",
3063
+ provider: "Mistral AI",
3064
+ colorVar: "ds-violet",
3065
+ price: {
3066
+ currency: "USD",
3067
+ input: .15,
3068
+ cacheHit: 0,
3069
+ output: .15
3070
+ }
3071
+ },
3072
+ {
3073
+ key: "pixtral-large-latest",
3074
+ name: "Pixtral Large (latest)",
3075
+ provider: "Mistral AI",
3076
+ colorVar: "ds-violet",
3077
+ price: {
3078
+ currency: "USD",
3079
+ input: 2,
3080
+ cacheHit: 0,
3081
+ output: 6
3082
+ }
3083
+ },
3084
+ {
3085
+ key: "mistral-nemo",
3086
+ name: "Mistral Nemo",
3087
+ provider: "Mistral AI",
3088
+ colorVar: "ds-violet",
3089
+ price: {
3090
+ currency: "USD",
3091
+ input: .15,
3092
+ cacheHit: 0,
3093
+ output: .15
3094
+ }
3095
+ },
3096
+ {
3097
+ key: "command-a-03-2025",
3098
+ name: "Command A",
3099
+ provider: "Cohere",
3100
+ colorVar: "ds-cyan",
3101
+ price: {
3102
+ currency: "USD",
3103
+ input: 2.5,
3104
+ cacheHit: .25,
3105
+ output: 10
3106
+ }
3107
+ },
3108
+ {
3109
+ key: "command-r-08-2024",
3110
+ name: "Command R",
3111
+ provider: "Cohere",
3112
+ colorVar: "dsw-static-cyan-400",
3113
+ price: {
3114
+ currency: "USD",
3115
+ input: .15,
3116
+ cacheHit: .015,
3117
+ output: .6
3118
+ }
3119
+ },
3120
+ {
3121
+ key: "command-a-plus-05-2026",
3122
+ name: "Command A Plus",
3123
+ provider: "Cohere",
3124
+ colorVar: "ds-cyan",
3125
+ price: {
3126
+ currency: "USD",
3127
+ input: 2.5,
3128
+ cacheHit: 0,
3129
+ output: 10
3130
+ }
3131
+ },
3132
+ {
3133
+ key: "command-a-reasoning-08-2025",
3134
+ name: "Command A Reasoning",
3135
+ provider: "Cohere",
3136
+ colorVar: "ds-cyan",
3137
+ price: {
3138
+ currency: "USD",
3139
+ input: 2.5,
3140
+ cacheHit: 0,
3141
+ output: 10
3142
+ }
3143
+ },
3144
+ {
3145
+ key: "command-r-plus-08-2024",
3146
+ name: "Command R+",
1973
3147
  provider: "Cohere",
1974
3148
  colorVar: "ds-cyan",
1975
3149
  price: {
1976
3150
  currency: "USD",
1977
3151
  input: 2.5,
1978
- cacheHit: .25,
3152
+ cacheHit: 0,
1979
3153
  output: 10
1980
3154
  }
1981
3155
  },
1982
3156
  {
1983
- key: "command-r-08-2024",
1984
- name: "Command R",
3157
+ key: "command-r7b-12-2024",
3158
+ name: "Command R7B",
1985
3159
  provider: "Cohere",
1986
- colorVar: "dsw-static-cyan-400",
3160
+ colorVar: "ds-cyan",
1987
3161
  price: {
1988
3162
  currency: "USD",
1989
- input: .15,
1990
- cacheHit: .015,
1991
- output: .6
3163
+ input: .0375,
3164
+ cacheHit: 0,
3165
+ output: .15
3166
+ }
3167
+ },
3168
+ {
3169
+ key: "c4ai-aya-expanse-32b",
3170
+ name: "Aya Expanse 32B",
3171
+ provider: "Cohere",
3172
+ colorVar: "ds-cyan",
3173
+ price: {
3174
+ currency: "USD",
3175
+ input: .5,
3176
+ cacheHit: 0,
3177
+ output: 1.5
1992
3178
  }
1993
3179
  },
1994
3180
  {
@@ -2150,6 +3336,198 @@ const BUILTIN_MODEL_CATALOG = [
2150
3336
  },
2151
3337
  estimated: true
2152
3338
  },
3339
+ {
3340
+ key: "qwen3-max",
3341
+ name: "Qwen3 Max",
3342
+ provider: "阿里通义",
3343
+ colorVar: "dsw-static-orange-400",
3344
+ price: {
3345
+ currency: "CNY",
3346
+ input: 2.44,
3347
+ cacheHit: 0,
3348
+ output: 9.74
3349
+ }
3350
+ },
3351
+ {
3352
+ key: "qwen3.6-flash",
3353
+ name: "Qwen3.6 Flash",
3354
+ provider: "阿里通义",
3355
+ colorVar: "dsw-static-orange-400",
3356
+ price: {
3357
+ currency: "CNY",
3358
+ input: 1.12,
3359
+ cacheHit: .11,
3360
+ output: 6.72
3361
+ }
3362
+ },
3363
+ {
3364
+ key: "qwen3.6-plus",
3365
+ name: "Qwen3.6 Plus",
3366
+ provider: "阿里通义",
3367
+ colorVar: "dsw-static-orange-400",
3368
+ price: {
3369
+ currency: "CNY",
3370
+ input: 1.87,
3371
+ cacheHit: .19,
3372
+ output: 11.21
3373
+ }
3374
+ },
3375
+ {
3376
+ key: "qwen3.6-27b",
3377
+ name: "Qwen3.6 27B",
3378
+ provider: "阿里通义",
3379
+ colorVar: "dsw-static-orange-400",
3380
+ price: {
3381
+ currency: "CNY",
3382
+ input: 4.07,
3383
+ cacheHit: 0,
3384
+ output: 24.44
3385
+ }
3386
+ },
3387
+ {
3388
+ key: "qwen3.6-35b-a3b",
3389
+ name: "Qwen3.6 35B-A3B",
3390
+ provider: "阿里通义",
3391
+ colorVar: "dsw-static-orange-400",
3392
+ price: {
3393
+ currency: "CNY",
3394
+ input: 2.55,
3395
+ cacheHit: 0,
3396
+ output: 15.28
3397
+ }
3398
+ },
3399
+ {
3400
+ key: "qwen3-coder-flash",
3401
+ name: "Qwen3-Coder Flash",
3402
+ provider: "阿里通义",
3403
+ colorVar: "dsw-static-orange-400",
3404
+ price: {
3405
+ currency: "CNY",
3406
+ input: .98,
3407
+ cacheHit: .2,
3408
+ output: 3.9
3409
+ }
3410
+ },
3411
+ {
3412
+ key: "qwen3-coder-30b-a3b-instruct",
3413
+ name: "Qwen3-Coder 30B-A3B Instruct",
3414
+ provider: "阿里通义",
3415
+ colorVar: "dsw-static-orange-400",
3416
+ price: {
3417
+ currency: "CNY",
3418
+ input: 1.47,
3419
+ cacheHit: 0,
3420
+ output: 5.85
3421
+ }
3422
+ },
3423
+ {
3424
+ key: "qwen3-next-80b-a3b-instruct",
3425
+ name: "Qwen3-Next 80B-A3B Instruct",
3426
+ provider: "阿里通义",
3427
+ colorVar: "dsw-static-orange-400",
3428
+ price: {
3429
+ currency: "CNY",
3430
+ input: .98,
3431
+ cacheHit: 0,
3432
+ output: 3.9
3433
+ }
3434
+ },
3435
+ {
3436
+ key: "qwen3-next-80b-a3b-thinking",
3437
+ name: "Qwen3-Next 80B-A3B (Thinking)",
3438
+ provider: "阿里通义",
3439
+ colorVar: "dsw-static-orange-400",
3440
+ price: {
3441
+ currency: "CNY",
3442
+ input: .98,
3443
+ cacheHit: 0,
3444
+ output: 9.74
3445
+ }
3446
+ },
3447
+ {
3448
+ key: "qwen3-vl-235b-a22b",
3449
+ name: "Qwen3-VL 235B-A22B",
3450
+ provider: "阿里通义",
3451
+ colorVar: "dsw-static-orange-400",
3452
+ price: {
3453
+ currency: "CNY",
3454
+ input: 1.95,
3455
+ cacheHit: 0,
3456
+ output: 7.79
3457
+ }
3458
+ },
3459
+ {
3460
+ key: "qwen3-vl-30b-a3b",
3461
+ name: "Qwen3-VL 30B-A3B",
3462
+ provider: "阿里通义",
3463
+ colorVar: "dsw-static-orange-400",
3464
+ price: {
3465
+ currency: "CNY",
3466
+ input: .73,
3467
+ cacheHit: 0,
3468
+ output: 2.93
3469
+ }
3470
+ },
3471
+ {
3472
+ key: "qwen3-vl-plus",
3473
+ name: "Qwen3-VL Plus",
3474
+ provider: "阿里通义",
3475
+ colorVar: "dsw-static-orange-400",
3476
+ price: {
3477
+ currency: "CNY",
3478
+ input: .97,
3479
+ cacheHit: .19,
3480
+ output: 9.73
3481
+ }
3482
+ },
3483
+ {
3484
+ key: "qwen3-omni-flash",
3485
+ name: "Qwen3-Omni Flash",
3486
+ provider: "阿里通义",
3487
+ colorVar: "dsw-static-orange-400",
3488
+ price: {
3489
+ currency: "CNY",
3490
+ input: 1.75,
3491
+ cacheHit: 0,
3492
+ output: 6.72
3493
+ }
3494
+ },
3495
+ {
3496
+ key: "qwen3.8-omni-flash",
3497
+ name: "Qwen3.8 Omni Flash",
3498
+ provider: "阿里通义",
3499
+ colorVar: "dsw-static-orange-400",
3500
+ price: {
3501
+ currency: "CNY",
3502
+ input: .77,
3503
+ cacheHit: .095,
3504
+ output: 2.59
3505
+ }
3506
+ },
3507
+ {
3508
+ key: "qwen-deep-research",
3509
+ name: "Qwen Deep Research",
3510
+ provider: "阿里通义",
3511
+ colorVar: "dsw-static-orange-400",
3512
+ price: {
3513
+ currency: "CNY",
3514
+ input: 52.57,
3515
+ cacheHit: 0,
3516
+ output: 158.66
3517
+ }
3518
+ },
3519
+ {
3520
+ key: "qwq-plus",
3521
+ name: "QwQ Plus",
3522
+ provider: "阿里通义",
3523
+ colorVar: "dsw-static-orange-400",
3524
+ price: {
3525
+ currency: "CNY",
3526
+ input: 1.56,
3527
+ cacheHit: 0,
3528
+ output: 3.9
3529
+ }
3530
+ },
2153
3531
  {
2154
3532
  key: "glm-4.5-x",
2155
3533
  name: "GLM-4.5-X",
@@ -2187,6 +3565,54 @@ const BUILTIN_MODEL_CATALOG = [
2187
3565
  output: 56
2188
3566
  }
2189
3567
  },
3568
+ {
3569
+ key: "glm-4.5",
3570
+ name: "GLM-4.5",
3571
+ provider: "智谱 AI",
3572
+ colorVar: "dsw-static-blue-400",
3573
+ price: {
3574
+ currency: "CNY",
3575
+ input: 4.07,
3576
+ cacheHit: .75,
3577
+ output: 14.94
3578
+ }
3579
+ },
3580
+ {
3581
+ key: "glm-4.5v",
3582
+ name: "GLM-4.5V",
3583
+ provider: "智谱 AI",
3584
+ colorVar: "dsw-static-blue-400",
3585
+ price: {
3586
+ currency: "CNY",
3587
+ input: 4.07,
3588
+ cacheHit: .75,
3589
+ output: 12.22
3590
+ }
3591
+ },
3592
+ {
3593
+ key: "glm-4.6v",
3594
+ name: "GLM-4.6V",
3595
+ provider: "智谱 AI",
3596
+ colorVar: "dsw-static-blue-400",
3597
+ price: {
3598
+ currency: "CNY",
3599
+ input: 2.04,
3600
+ cacheHit: .34,
3601
+ output: 6.11
3602
+ }
3603
+ },
3604
+ {
3605
+ key: "glm-4.7-flashx",
3606
+ name: "GLM-4.7-FlashX",
3607
+ provider: "智谱 AI",
3608
+ colorVar: "dsw-static-blue-400",
3609
+ price: {
3610
+ currency: "CNY",
3611
+ input: .48,
3612
+ cacheHit: .068,
3613
+ output: 2.72
3614
+ }
3615
+ },
2190
3616
  {
2191
3617
  key: "kimi-k3-fast",
2192
3618
  name: "Kimi K3 Fast",
@@ -2263,6 +3689,78 @@ const BUILTIN_MODEL_CATALOG = [
2263
3689
  output: 58
2264
3690
  }
2265
3691
  },
3692
+ {
3693
+ key: "kimi-k2.5",
3694
+ name: "Kimi K2.5",
3695
+ provider: "月之暗面",
3696
+ colorVar: "dsw-static-neutral-bluish-600",
3697
+ price: {
3698
+ currency: "CNY",
3699
+ input: 4.07,
3700
+ cacheHit: 0,
3701
+ output: 20.37
3702
+ }
3703
+ },
3704
+ {
3705
+ key: "kimi-k2-thinking",
3706
+ name: "Kimi K2 Thinking",
3707
+ provider: "月之暗面",
3708
+ colorVar: "dsw-static-neutral-bluish-600",
3709
+ price: {
3710
+ currency: "CNY",
3711
+ input: 4.07,
3712
+ cacheHit: 0,
3713
+ output: 16.98
3714
+ }
3715
+ },
3716
+ {
3717
+ key: "kimi-k2-turbo-preview",
3718
+ name: "Kimi K2 Turbo Preview",
3719
+ provider: "月之暗面",
3720
+ colorVar: "dsw-static-neutral-bluish-600",
3721
+ price: {
3722
+ currency: "CNY",
3723
+ input: 16.3,
3724
+ cacheHit: 0,
3725
+ output: 67.9
3726
+ }
3727
+ },
3728
+ {
3729
+ key: "kimi-k2-0711-preview",
3730
+ name: "Kimi K2 0711 Preview",
3731
+ provider: "月之暗面",
3732
+ colorVar: "dsw-static-neutral-bluish-600",
3733
+ price: {
3734
+ currency: "CNY",
3735
+ input: 4.07,
3736
+ cacheHit: 0,
3737
+ output: 16.98
3738
+ }
3739
+ },
3740
+ {
3741
+ key: "kimi-k2-0905-preview",
3742
+ name: "Kimi K2 0905 Preview",
3743
+ provider: "月之暗面",
3744
+ colorVar: "dsw-static-neutral-bluish-600",
3745
+ price: {
3746
+ currency: "CNY",
3747
+ input: 4.07,
3748
+ cacheHit: 0,
3749
+ output: 16.98
3750
+ }
3751
+ },
3752
+ {
3753
+ key: "kimi-k2.7-code-highspeed",
3754
+ name: "Kimi K2.7 Code HighSpeed",
3755
+ provider: "月之暗面",
3756
+ colorVar: "dsw-static-neutral-bluish-600",
3757
+ price: {
3758
+ currency: "CNY",
3759
+ input: 13.19,
3760
+ cacheHit: 2.64,
3761
+ output: 54.78
3762
+ }
3763
+ },
2266
3764
  {
2267
3765
  key: "doubao-seed-2.0-code",
2268
3766
  name: "Doubao Seed-2.0 Code",
@@ -2287,6 +3785,54 @@ const BUILTIN_MODEL_CATALOG = [
2287
3785
  output: 3.6
2288
3786
  }
2289
3787
  },
3788
+ {
3789
+ key: "doubao-seed-1.8",
3790
+ name: "Doubao Seed-1.8",
3791
+ provider: "字节豆包",
3792
+ colorVar: "ds-red",
3793
+ price: {
3794
+ currency: "CNY",
3795
+ input: .81,
3796
+ cacheHit: .16,
3797
+ output: 8.06
3798
+ }
3799
+ },
3800
+ {
3801
+ key: "doubao-seed-1.6-flash",
3802
+ name: "Doubao Seed-1.6 Flash",
3803
+ provider: "字节豆包",
3804
+ colorVar: "ds-red",
3805
+ price: {
3806
+ currency: "CNY",
3807
+ input: .15,
3808
+ cacheHit: .03,
3809
+ output: 1.51
3810
+ }
3811
+ },
3812
+ {
3813
+ key: "doubao-seed-1.6-vision",
3814
+ name: "Doubao Seed-1.6 Vision",
3815
+ provider: "字节豆包",
3816
+ colorVar: "ds-red",
3817
+ price: {
3818
+ currency: "CNY",
3819
+ input: .81,
3820
+ cacheHit: .16,
3821
+ output: 8.06
3822
+ }
3823
+ },
3824
+ {
3825
+ key: "doubao-seed-character",
3826
+ name: "Doubao Seed Character",
3827
+ provider: "字节豆包",
3828
+ colorVar: "ds-red",
3829
+ price: {
3830
+ currency: "CNY",
3831
+ input: .81,
3832
+ cacheHit: .16,
3833
+ output: 2.02
3834
+ }
3835
+ },
2290
3836
  {
2291
3837
  key: "other",
2292
3838
  name: "其他模型",
@@ -2308,6 +3854,26 @@ const BUILTIN_MODEL_CATALOG = [
2308
3854
  * 解析,两侧共用一份映射,避免同一模型两侧不一致导致「未收录」。
2309
3855
  */
2310
3856
  const BUILTIN_MODEL_KEY_ALIASES = {
3857
+ "claude-opus-4-5-20251101": "claude-opus-4-5",
3858
+ "claude-sonnet-4-5-20250929": "claude-sonnet-4-5",
3859
+ "gemini-3.6-flash": "gemini-flash",
3860
+ "gemini-3-6-flash": "gemini-flash",
3861
+ "gemini-pro-latest": "gemini-pro",
3862
+ "gemini-3-pro-image": "gemini-3-pro-image-preview",
3863
+ "gemini-3.1-flash-image": "gemini-3.1-flash-image-preview",
3864
+ "qwen3.5-plus": "qwen-plus",
3865
+ "qwen3.5-flash": "qwen-flash",
3866
+ "qwen3-vl-235b-a22b-instruct": "qwen3-vl-235b-a22b",
3867
+ "kimi-k2.7-code": "kimi",
3868
+ "doubao-seed-2.0-pro": "doubao",
3869
+ "doubao-seed-2-0-pro": "doubao",
3870
+ "doubao-seed-1.6": "doubao-1.6",
3871
+ "doubao-seed-1-8": "doubao-seed-1.8",
3872
+ "doubao-seed-1-6-flash": "doubao-seed-1.6-flash",
3873
+ "doubao-seed-1-6-vision": "doubao-seed-1.6-vision",
3874
+ "zai-glm-5-2": "glm",
3875
+ "zai-glm-5-3": "glm-5.3",
3876
+ "zai-glm-5-3-flash": "glm-5.3-flash",
2311
3877
  "deepseek-v4-flash": "flash",
2312
3878
  "deepseek-v4-flash-vision-exp": "flash-vision-exp",
2313
3879
  "deepseek-v4.1-flash": "flash",
@@ -2330,6 +3896,8 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2330
3896
  "glm-5.3-flash-x": "glm-5.3-flashx",
2331
3897
  "glm-5v-turbo": "glm-5v-turbo",
2332
3898
  "glm-5v.1": "glm-5v-turbo",
3899
+ "mistral-medium-3.5": "mistral-medium-2604",
3900
+ "open-mistral-nemo": "mistral-nemo",
2333
3901
  "claude-opus-4-6": "claude-opus-4-6",
2334
3902
  "claude-opus-4.6": "claude-opus-4-6",
2335
3903
  "claude-sonnet-4-6": "claude-sonnet-4-6",