@kenz1117/dsh-ui-usage-billing 1.7.0 → 1.7.2

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
@@ -731,13 +731,22 @@ function formatTokens(value) {
731
731
  //#endregion
732
732
  //#region lib/types/builtin-catalog.js
733
733
  /**
734
- * 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
735
735
  * each provider's official price page. Domestic providers are OpenAI-API
736
736
  * compatible and publish RMB prices directly; overseas providers publish USD
737
737
  * and convert through the exchange rate at estimate time. Retired models
738
- * (GPT-4o family, Gemini 2.x, GLM-4.x-lite, older Qwen) are deliberately
739
- * absent. DeepSeek keys match the harness stats file so real usage prices
740
- * 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
+ * 不动——存量价格的更正走独立的调价节点,不与扩容混在一起。
741
750
  *
742
751
  * Time-of-day billing (peak/off-peak) is now real: DeepSeek V4 officially
743
752
  * splits peak (09:00-12:00 / 14:00-18:00 Beijing) at 2x the off-peak rate
@@ -1216,6 +1225,30 @@ const BUILTIN_MODEL_CATALOG = [
1216
1225
  output: 100
1217
1226
  }
1218
1227
  },
1228
+ {
1229
+ key: "kimi-k3.1-pro",
1230
+ name: "Kimi K3.1 Pro",
1231
+ provider: "月之暗面",
1232
+ colorVar: "dsw-static-neutral-bluish-700",
1233
+ price: {
1234
+ currency: "CNY",
1235
+ input: 13,
1236
+ cacheHit: 1.3,
1237
+ output: 68
1238
+ }
1239
+ },
1240
+ {
1241
+ key: "kimi-k3.1-pro-highspeed",
1242
+ name: "Kimi K3.1 Pro Highspeed",
1243
+ provider: "月之暗面",
1244
+ colorVar: "dsw-static-neutral-bluish-600",
1245
+ price: {
1246
+ currency: "CNY",
1247
+ input: 26,
1248
+ cacheHit: 1.3,
1249
+ output: 136
1250
+ }
1251
+ },
1219
1252
  {
1220
1253
  key: "mimo-v2.6-pro",
1221
1254
  name: "MiMo V2.6 Pro",
@@ -1276,6 +1309,18 @@ const BUILTIN_MODEL_CATALOG = [
1276
1309
  output: 6
1277
1310
  }
1278
1311
  },
1312
+ {
1313
+ key: "mimo-v2.5-pro-ultraspeed",
1314
+ name: "MiMo V2.5 Pro UltraSpeed",
1315
+ provider: "小米",
1316
+ colorVar: "dsw-static-green-400",
1317
+ price: {
1318
+ currency: "CNY",
1319
+ input: 8.86,
1320
+ cacheHit: .073,
1321
+ output: 17.72
1322
+ }
1323
+ },
1279
1324
  {
1280
1325
  key: "minimax",
1281
1326
  name: "MiniMax-M3",
@@ -1336,6 +1381,42 @@ const BUILTIN_MODEL_CATALOG = [
1336
1381
  output: 8.4
1337
1382
  }
1338
1383
  },
1384
+ {
1385
+ key: "minimax-m2.1",
1386
+ name: "MiniMax-M2.1",
1387
+ provider: "MiniMax",
1388
+ colorVar: "ds-amber",
1389
+ price: {
1390
+ currency: "CNY",
1391
+ input: 2.13,
1392
+ cacheHit: .21,
1393
+ output: 8.52
1394
+ }
1395
+ },
1396
+ {
1397
+ key: "minimax-m2.5",
1398
+ name: "MiniMax-M2.5",
1399
+ provider: "MiniMax",
1400
+ colorVar: "ds-amber",
1401
+ price: {
1402
+ currency: "CNY",
1403
+ input: 2.13,
1404
+ cacheHit: .21,
1405
+ output: 8.52
1406
+ }
1407
+ },
1408
+ {
1409
+ key: "minimax-m2.5-highspeed",
1410
+ name: "MiniMax-M2.5-highspeed",
1411
+ provider: "MiniMax",
1412
+ colorVar: "ds-amber",
1413
+ price: {
1414
+ currency: "CNY",
1415
+ input: 4.26,
1416
+ cacheHit: .21,
1417
+ output: 17.04
1418
+ }
1419
+ },
1339
1420
  {
1340
1421
  key: "u2-flash",
1341
1422
  name: "U2 Flash",
@@ -1449,6 +1530,30 @@ const BUILTIN_MODEL_CATALOG = [
1449
1530
  output: 8.1
1450
1531
  }
1451
1532
  },
1533
+ {
1534
+ key: "step-5-preview",
1535
+ name: "Step 5 Preview",
1536
+ provider: "阶跃星辰",
1537
+ colorVar: "dsw-static-neutral-bluish-400",
1538
+ price: {
1539
+ currency: "CNY",
1540
+ input: 6.79,
1541
+ cacheHit: .68,
1542
+ output: 18.33
1543
+ }
1544
+ },
1545
+ {
1546
+ key: "step-3.5-flash",
1547
+ name: "Step 3.5 Flash",
1548
+ provider: "阶跃星辰",
1549
+ colorVar: "dsw-static-neutral-bluish-400",
1550
+ price: {
1551
+ currency: "CNY",
1552
+ input: .68,
1553
+ cacheHit: .14,
1554
+ output: 2.04
1555
+ }
1556
+ },
1452
1557
  {
1453
1558
  key: "spark",
1454
1559
  name: "Spark 4.0 Ultra",
@@ -1590,365 +1695,1445 @@ const BUILTIN_MODEL_CATALOG = [
1590
1695
  }
1591
1696
  },
1592
1697
  {
1593
- key: "gpt-image-2",
1594
- name: "GPT Image 2",
1698
+ key: "gpt-5",
1699
+ name: "GPT-5",
1595
1700
  provider: "OpenAI",
1596
1701
  colorVar: "ds-green",
1597
1702
  price: {
1598
- currency: "CNY",
1599
- input: 14,
1600
- cacheHit: 5.6,
1601
- output: 84
1703
+ currency: "USD",
1704
+ input: 1.25,
1705
+ cacheHit: .125,
1706
+ output: 10
1602
1707
  }
1603
1708
  },
1604
1709
  {
1605
- key: "gpt-image-2.5-sunburst",
1606
- name: "GPT Image 2.5 Sunburst",
1710
+ key: "gpt-5-mini",
1711
+ name: "GPT-5 Mini",
1607
1712
  provider: "OpenAI",
1608
1713
  colorVar: "ds-green",
1609
1714
  price: {
1610
- currency: "CNY",
1611
- input: 14,
1612
- cacheHit: 5.6,
1613
- output: 84
1715
+ currency: "USD",
1716
+ input: .25,
1717
+ cacheHit: .025,
1718
+ output: 2
1614
1719
  }
1615
1720
  },
1616
1721
  {
1617
- key: "gemini-pro",
1618
- name: "Gemini 3.1 Pro",
1619
- provider: "Google",
1620
- colorVar: "dsw-static-blue-600",
1722
+ key: "gpt-5-nano",
1723
+ name: "GPT-5 Nano",
1724
+ provider: "OpenAI",
1725
+ colorVar: "ds-green",
1621
1726
  price: {
1622
1727
  currency: "USD",
1623
- input: 2,
1624
- cacheHit: .2,
1625
- output: 12,
1626
- offPeak: {
1627
- input: 1,
1628
- cacheHit: .1,
1629
- output: 6
1630
- }
1631
- },
1632
- peakHours: GEMINI_PEAK_HOURS,
1633
- tierSemantics: "latency"
1728
+ input: .05,
1729
+ cacheHit: .005,
1730
+ output: .4
1731
+ }
1634
1732
  },
1635
1733
  {
1636
- key: "gemini-3.8-flash",
1637
- name: "Gemini 3.8 Flash",
1638
- provider: "Google",
1639
- colorVar: "ds-blue",
1734
+ key: "gpt-5-pro",
1735
+ name: "GPT-5 Pro",
1736
+ provider: "OpenAI",
1737
+ colorVar: "ds-green",
1640
1738
  price: {
1641
1739
  currency: "USD",
1642
- input: 1.5,
1643
- cacheHit: .15,
1644
- output: 7.5,
1645
- offPeak: {
1646
- input: .75,
1647
- cacheHit: .075,
1648
- output: 3.75
1649
- }
1650
- },
1651
- promo: {
1652
- factor: .5,
1653
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1654
- note: "introductory 促销至 2026-12-31"
1655
- },
1656
- peakHours: GEMINI_PEAK_HOURS,
1657
- tierSemantics: "latency"
1740
+ input: 15,
1741
+ cacheHit: 0,
1742
+ output: 120
1743
+ }
1658
1744
  },
1659
1745
  {
1660
- key: "gemini-3.7-flash",
1661
- name: "Gemini 3.7 Flash",
1662
- provider: "Google",
1663
- colorVar: "dsw-static-blue-300",
1746
+ key: "gpt-5.1",
1747
+ name: "GPT-5.1",
1748
+ provider: "OpenAI",
1749
+ colorVar: "ds-green",
1664
1750
  price: {
1665
1751
  currency: "USD",
1666
- input: 1.5,
1667
- cacheHit: .15,
1668
- output: 7.5,
1669
- offPeak: {
1670
- input: .75,
1671
- cacheHit: .075,
1672
- output: 3.75
1673
- }
1674
- },
1675
- promo: {
1676
- factor: .5,
1677
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1678
- note: "introductory 促销至 2026-12-31"
1679
- },
1680
- peakHours: GEMINI_PEAK_HOURS,
1681
- tierSemantics: "latency"
1752
+ input: 1.25,
1753
+ cacheHit: .125,
1754
+ output: 10
1755
+ }
1682
1756
  },
1683
1757
  {
1684
- key: "gemini-flash",
1685
- name: "Gemini 3.6 Flash",
1686
- provider: "Google",
1687
- colorVar: "dsw-static-blue-400",
1758
+ key: "gpt-5.2",
1759
+ name: "GPT-5.2",
1760
+ provider: "OpenAI",
1761
+ colorVar: "ds-green",
1688
1762
  price: {
1689
1763
  currency: "USD",
1690
- input: 1.5,
1691
- cacheHit: .15,
1692
- output: 7.5,
1693
- offPeak: {
1694
- input: .75,
1695
- cacheHit: .075,
1696
- output: 3.75
1697
- }
1698
- },
1699
- promo: {
1700
- factor: .5,
1701
- endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
1702
- note: "introductory 促销至 2026-12-31"
1703
- },
1704
- peakHours: GEMINI_PEAK_HOURS,
1705
- tierSemantics: "latency"
1764
+ input: 1.75,
1765
+ cacheHit: .175,
1766
+ output: 14
1767
+ }
1706
1768
  },
1707
1769
  {
1708
- key: "grok-4.7",
1709
- name: "Grok 4.7",
1710
- provider: "xAI",
1711
- colorVar: "dsw-static-neutral-bluish-700",
1770
+ key: "gpt-5.2-pro",
1771
+ name: "GPT-5.2 Pro",
1772
+ provider: "OpenAI",
1773
+ colorVar: "ds-green",
1712
1774
  price: {
1713
1775
  currency: "USD",
1714
- input: 2,
1715
- cacheHit: .5,
1716
- output: 6
1776
+ input: 21,
1777
+ cacheHit: 0,
1778
+ output: 168
1717
1779
  }
1718
1780
  },
1719
1781
  {
1720
- key: "grok",
1721
- name: "Grok 4.6",
1722
- provider: "xAI",
1723
- colorVar: "dsw-static-neutral-bluish-700",
1782
+ key: "gpt-5.3-codex",
1783
+ name: "GPT-5.3 Codex",
1784
+ provider: "OpenAI",
1785
+ colorVar: "ds-green",
1724
1786
  price: {
1725
1787
  currency: "USD",
1726
- input: 2,
1727
- cacheHit: .5,
1728
- output: 6
1788
+ input: 1.75,
1789
+ cacheHit: .175,
1790
+ output: 14
1729
1791
  }
1730
1792
  },
1731
1793
  {
1732
- key: "grok-4.5",
1733
- name: "Grok 4.5",
1734
- provider: "xAI",
1735
- colorVar: "dsw-static-neutral-bluish-700",
1794
+ key: "gpt-5.3-codex-spark",
1795
+ name: "GPT-5.3 Codex Spark",
1796
+ provider: "OpenAI",
1797
+ colorVar: "ds-green",
1736
1798
  price: {
1737
1799
  currency: "USD",
1738
- input: 2,
1739
- cacheHit: .3,
1740
- output: 6
1800
+ input: 1.75,
1801
+ cacheHit: .175,
1802
+ output: 14
1741
1803
  }
1742
1804
  },
1743
1805
  {
1744
- key: "grok-4.3",
1745
- name: "Grok 4.3",
1746
- provider: "xAI",
1747
- colorVar: "dsw-static-neutral-bluish-500",
1806
+ key: "gpt-5.4",
1807
+ name: "GPT-5.4",
1808
+ provider: "OpenAI",
1809
+ colorVar: "ds-green",
1748
1810
  price: {
1749
1811
  currency: "USD",
1750
- input: 1.25,
1751
- cacheHit: .2,
1752
- output: 2.5
1812
+ input: 2.5,
1813
+ cacheHit: .25,
1814
+ output: 15
1753
1815
  }
1754
1816
  },
1755
1817
  {
1756
- key: "grok-build-0.1",
1757
- name: "Grok Build 0.1",
1758
- provider: "xAI",
1759
- colorVar: "dsw-static-neutral-bluish-500",
1818
+ key: "gpt-5.4-mini",
1819
+ name: "GPT-5.4 mini",
1820
+ provider: "OpenAI",
1821
+ colorVar: "ds-green",
1760
1822
  price: {
1761
1823
  currency: "USD",
1762
- input: 1,
1763
- cacheHit: .2,
1764
- output: 2
1824
+ input: .75,
1825
+ cacheHit: .075,
1826
+ output: 4.5
1765
1827
  }
1766
1828
  },
1767
1829
  {
1768
- key: "llama",
1769
- name: "Llama 4 Maverick",
1770
- provider: "Meta",
1771
- colorVar: "ds-red",
1830
+ key: "gpt-5.4-nano",
1831
+ name: "GPT-5.4 nano",
1832
+ provider: "OpenAI",
1833
+ colorVar: "ds-green",
1772
1834
  price: {
1773
1835
  currency: "USD",
1774
1836
  input: .2,
1775
- cacheHit: .05,
1776
- output: .6
1837
+ cacheHit: .02,
1838
+ output: 1.25
1777
1839
  }
1778
1840
  },
1779
1841
  {
1780
- key: "llama-scout",
1781
- name: "Llama 4 Scout",
1782
- provider: "Meta",
1783
- colorVar: "dsw-static-red-400",
1842
+ key: "gpt-5.4-pro",
1843
+ name: "GPT-5.4 Pro",
1844
+ provider: "OpenAI",
1845
+ colorVar: "ds-green",
1784
1846
  price: {
1785
1847
  currency: "USD",
1786
- input: .1,
1787
- cacheHit: .025,
1788
- output: .3
1848
+ input: 30,
1849
+ cacheHit: 0,
1850
+ output: 180
1789
1851
  }
1790
1852
  },
1791
1853
  {
1792
- key: "claude-opus-4-6",
1793
- name: "Claude Opus 4.6",
1794
- provider: "Anthropic",
1795
- colorVar: "ds-red",
1854
+ key: "gpt-5.5-pro",
1855
+ name: "GPT-5.5 Pro",
1856
+ provider: "OpenAI",
1857
+ colorVar: "ds-green",
1796
1858
  price: {
1797
1859
  currency: "USD",
1798
- input: 5,
1799
- cacheHit: .5,
1800
- output: 25
1860
+ input: 30,
1861
+ cacheHit: 0,
1862
+ output: 180
1801
1863
  }
1802
1864
  },
1803
1865
  {
1804
- key: "claude-opus-4-7",
1805
- name: "Claude Opus 4.7",
1806
- provider: "Anthropic",
1807
- colorVar: "ds-red",
1866
+ key: "gpt-5.6",
1867
+ name: "GPT-5.6",
1868
+ provider: "OpenAI",
1869
+ colorVar: "ds-green",
1808
1870
  price: {
1809
1871
  currency: "USD",
1810
- input: 5,
1811
- cacheHit: .5,
1872
+ input: 4,
1873
+ cacheHit: .4,
1874
+ output: 20
1875
+ }
1876
+ },
1877
+ {
1878
+ key: "gpt-daybreak-blue-latest",
1879
+ name: "Daybreak Blue",
1880
+ provider: "OpenAI",
1881
+ colorVar: "ds-green",
1882
+ price: {
1883
+ currency: "USD",
1884
+ input: 4,
1885
+ cacheHit: .4,
1886
+ output: 20
1887
+ }
1888
+ },
1889
+ {
1890
+ key: "gpt-daybreak-red-latest",
1891
+ name: "Daybreak Red",
1892
+ provider: "OpenAI",
1893
+ colorVar: "ds-green",
1894
+ price: {
1895
+ currency: "USD",
1896
+ input: 12.5,
1897
+ cacheHit: 1.25,
1898
+ output: 75
1899
+ }
1900
+ },
1901
+ {
1902
+ key: "gpt-4.1",
1903
+ name: "GPT-4.1",
1904
+ provider: "OpenAI",
1905
+ colorVar: "ds-green",
1906
+ price: {
1907
+ currency: "USD",
1908
+ input: 2,
1909
+ cacheHit: .5,
1910
+ output: 8
1911
+ }
1912
+ },
1913
+ {
1914
+ key: "gpt-4.1-mini",
1915
+ name: "GPT-4.1 mini",
1916
+ provider: "OpenAI",
1917
+ colorVar: "ds-green",
1918
+ price: {
1919
+ currency: "USD",
1920
+ input: .4,
1921
+ cacheHit: .1,
1922
+ output: 1.6
1923
+ }
1924
+ },
1925
+ {
1926
+ key: "gpt-4.1-nano",
1927
+ name: "GPT-4.1 nano",
1928
+ provider: "OpenAI",
1929
+ colorVar: "ds-green",
1930
+ price: {
1931
+ currency: "USD",
1932
+ input: .1,
1933
+ cacheHit: .025,
1934
+ output: .4
1935
+ }
1936
+ },
1937
+ {
1938
+ key: "o3",
1939
+ name: "o3",
1940
+ provider: "OpenAI",
1941
+ colorVar: "ds-green",
1942
+ price: {
1943
+ currency: "USD",
1944
+ input: 2,
1945
+ cacheHit: .5,
1946
+ output: 8
1947
+ }
1948
+ },
1949
+ {
1950
+ key: "o3-mini",
1951
+ name: "o3-mini",
1952
+ provider: "OpenAI",
1953
+ colorVar: "ds-green",
1954
+ price: {
1955
+ currency: "USD",
1956
+ input: 1.1,
1957
+ cacheHit: .55,
1958
+ output: 4.4
1959
+ }
1960
+ },
1961
+ {
1962
+ key: "o3-pro",
1963
+ name: "o3-pro",
1964
+ provider: "OpenAI",
1965
+ colorVar: "ds-green",
1966
+ price: {
1967
+ currency: "USD",
1968
+ input: 20,
1969
+ cacheHit: 0,
1970
+ output: 80
1971
+ }
1972
+ },
1973
+ {
1974
+ key: "o4-mini",
1975
+ name: "o4-mini",
1976
+ provider: "OpenAI",
1977
+ colorVar: "ds-green",
1978
+ price: {
1979
+ currency: "USD",
1980
+ input: 1.1,
1981
+ cacheHit: .275,
1982
+ output: 4.4
1983
+ }
1984
+ },
1985
+ {
1986
+ key: "gpt-realtime-2.1",
1987
+ name: "GPT-Realtime-2.1",
1988
+ provider: "OpenAI",
1989
+ colorVar: "ds-green",
1990
+ price: {
1991
+ currency: "USD",
1992
+ input: 4,
1993
+ cacheHit: .4,
1994
+ output: 24
1995
+ }
1996
+ },
1997
+ {
1998
+ key: "gpt-5-chat-latest",
1999
+ name: "GPT-5 Chat Latest",
2000
+ provider: "OpenAI",
2001
+ colorVar: "ds-green",
2002
+ price: {
2003
+ currency: "USD",
2004
+ input: 1.25,
2005
+ cacheHit: 0,
2006
+ output: 10
2007
+ }
2008
+ },
2009
+ {
2010
+ key: "gpt-5.2-chat-latest",
2011
+ name: "GPT-5.2 Chat Latest",
2012
+ provider: "OpenAI",
2013
+ colorVar: "ds-green",
2014
+ price: {
2015
+ currency: "USD",
2016
+ input: 1.75,
2017
+ cacheHit: 0,
2018
+ output: 14
2019
+ }
2020
+ },
2021
+ {
2022
+ key: "gpt-5.3-chat-latest",
2023
+ name: "GPT-5.3 Chat Latest",
2024
+ provider: "OpenAI",
2025
+ colorVar: "ds-green",
2026
+ price: {
2027
+ currency: "USD",
2028
+ input: 1.75,
2029
+ cacheHit: 0,
2030
+ output: 14
2031
+ }
2032
+ },
2033
+ {
2034
+ key: "gpt-image-2",
2035
+ name: "GPT Image 2",
2036
+ provider: "OpenAI",
2037
+ colorVar: "ds-green",
2038
+ price: {
2039
+ currency: "CNY",
2040
+ input: 14,
2041
+ cacheHit: 5.6,
2042
+ output: 84
2043
+ }
2044
+ },
2045
+ {
2046
+ key: "gpt-image-2.5-sunburst",
2047
+ name: "GPT Image 2.5 Sunburst",
2048
+ provider: "OpenAI",
2049
+ colorVar: "ds-green",
2050
+ price: {
2051
+ currency: "CNY",
2052
+ input: 14,
2053
+ cacheHit: 5.6,
2054
+ output: 84
2055
+ }
2056
+ },
2057
+ {
2058
+ key: "gemini-pro",
2059
+ name: "Gemini 3.1 Pro",
2060
+ provider: "Google",
2061
+ colorVar: "dsw-static-blue-600",
2062
+ price: {
2063
+ currency: "USD",
2064
+ input: 2,
2065
+ cacheHit: .2,
2066
+ output: 12,
2067
+ offPeak: {
2068
+ input: 1,
2069
+ cacheHit: .1,
2070
+ output: 6
2071
+ }
2072
+ },
2073
+ peakHours: GEMINI_PEAK_HOURS,
2074
+ tierSemantics: "latency"
2075
+ },
2076
+ {
2077
+ key: "gemini-3.8-flash",
2078
+ name: "Gemini 3.8 Flash",
2079
+ provider: "Google",
2080
+ colorVar: "ds-blue",
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-3.7-flash",
2102
+ name: "Gemini 3.7 Flash",
2103
+ provider: "Google",
2104
+ colorVar: "dsw-static-blue-300",
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-flash",
2126
+ name: "Gemini 3.6 Flash",
2127
+ provider: "Google",
2128
+ colorVar: "dsw-static-blue-400",
2129
+ price: {
2130
+ currency: "USD",
2131
+ input: 1.5,
2132
+ cacheHit: .15,
2133
+ output: 7.5,
2134
+ offPeak: {
2135
+ input: .75,
2136
+ cacheHit: .075,
2137
+ output: 3.75
2138
+ }
2139
+ },
2140
+ promo: {
2141
+ factor: .5,
2142
+ endsAtMs: Date.UTC(2026, 11, 31, 16, 0, 0),
2143
+ note: "introductory 促销至 2026-12-31"
2144
+ },
2145
+ peakHours: GEMINI_PEAK_HOURS,
2146
+ tierSemantics: "latency"
2147
+ },
2148
+ {
2149
+ key: "gemini-2.5-pro",
2150
+ name: "Gemini 2.5 Pro",
2151
+ provider: "Google",
2152
+ colorVar: "dsw-static-blue-600",
2153
+ price: {
2154
+ currency: "USD",
2155
+ input: 1.25,
2156
+ cacheHit: .125,
2157
+ output: 10
2158
+ }
2159
+ },
2160
+ {
2161
+ key: "gemini-2.5-flash",
2162
+ name: "Gemini 2.5 Flash",
2163
+ provider: "Google",
2164
+ colorVar: "dsw-static-blue-600",
2165
+ price: {
2166
+ currency: "USD",
2167
+ input: .3,
2168
+ cacheHit: .03,
2169
+ output: 2.5
2170
+ }
2171
+ },
2172
+ {
2173
+ key: "gemini-2.5-flash-lite",
2174
+ name: "Gemini 2.5 Flash-Lite",
2175
+ provider: "Google",
2176
+ colorVar: "dsw-static-blue-600",
2177
+ price: {
2178
+ currency: "USD",
2179
+ input: .1,
2180
+ cacheHit: .01,
2181
+ output: .4
2182
+ }
2183
+ },
2184
+ {
2185
+ key: "gemini-3-flash-preview",
2186
+ name: "Gemini 3 Flash Preview",
2187
+ provider: "Google",
2188
+ colorVar: "dsw-static-blue-600",
2189
+ price: {
2190
+ currency: "USD",
2191
+ input: .5,
2192
+ cacheHit: .05,
2193
+ output: 3
2194
+ }
2195
+ },
2196
+ {
2197
+ key: "gemini-3.1-pro-preview",
2198
+ name: "Gemini 3.1 Pro Preview",
2199
+ provider: "Google",
2200
+ colorVar: "dsw-static-blue-600",
2201
+ price: {
2202
+ currency: "USD",
2203
+ input: 2,
2204
+ cacheHit: .2,
2205
+ output: 12
2206
+ }
2207
+ },
2208
+ {
2209
+ key: "gemini-3.1-pro-preview-customtools",
2210
+ name: "Gemini 3.1 Pro Preview (Custom Tools)",
2211
+ provider: "Google",
2212
+ colorVar: "dsw-static-blue-600",
2213
+ price: {
2214
+ currency: "USD",
2215
+ input: 2,
2216
+ cacheHit: .2,
2217
+ output: 12
2218
+ }
2219
+ },
2220
+ {
2221
+ key: "gemini-3.1-flash-lite",
2222
+ name: "Gemini 3.1 Flash Lite",
2223
+ provider: "Google",
2224
+ colorVar: "dsw-static-blue-600",
2225
+ price: {
2226
+ currency: "USD",
2227
+ input: .25,
2228
+ cacheHit: .025,
2229
+ output: 1.5
2230
+ }
2231
+ },
2232
+ {
2233
+ key: "gemini-3.1-flash-lite-preview",
2234
+ name: "Gemini 3.1 Flash Lite Preview",
2235
+ provider: "Google",
2236
+ colorVar: "dsw-static-blue-600",
2237
+ price: {
2238
+ currency: "USD",
2239
+ input: .25,
2240
+ cacheHit: .025,
2241
+ output: 1.5
2242
+ }
2243
+ },
2244
+ {
2245
+ key: "gemini-3.5-flash",
2246
+ name: "Gemini 3.5 Flash",
2247
+ provider: "Google",
2248
+ colorVar: "dsw-static-blue-600",
2249
+ price: {
2250
+ currency: "USD",
2251
+ input: 1.5,
2252
+ cacheHit: .15,
2253
+ output: 9
2254
+ }
2255
+ },
2256
+ {
2257
+ key: "gemini-3.5-flash-lite",
2258
+ name: "Gemini 3.5 Flash Lite",
2259
+ provider: "Google",
2260
+ colorVar: "dsw-static-blue-600",
2261
+ price: {
2262
+ currency: "USD",
2263
+ input: .3,
2264
+ cacheHit: .03,
2265
+ output: 2.5
2266
+ }
2267
+ },
2268
+ {
2269
+ key: "gemini-4-argon",
2270
+ name: "Gemini 4 Argon",
2271
+ provider: "Google",
2272
+ colorVar: "dsw-static-blue-600",
2273
+ price: {
2274
+ currency: "USD",
2275
+ input: 2,
2276
+ cacheHit: .1,
2277
+ output: 10
2278
+ }
2279
+ },
2280
+ {
2281
+ key: "gemini-flash-latest",
2282
+ name: "Gemini Flash Latest",
2283
+ provider: "Google",
2284
+ colorVar: "dsw-static-blue-600",
2285
+ price: {
2286
+ currency: "USD",
2287
+ input: .75,
2288
+ cacheHit: .075,
2289
+ output: 3.75
2290
+ }
2291
+ },
2292
+ {
2293
+ key: "gemini-flash-lite-latest",
2294
+ name: "Gemini Flash-Lite Latest",
2295
+ provider: "Google",
2296
+ colorVar: "dsw-static-blue-600",
2297
+ price: {
2298
+ currency: "USD",
2299
+ input: .3,
2300
+ cacheHit: .03,
2301
+ output: 2.5
2302
+ }
2303
+ },
2304
+ {
2305
+ key: "deep-research-preview-04-2026",
2306
+ name: "Deep Research Preview (2026-04)",
2307
+ provider: "Google",
2308
+ colorVar: "dsw-static-blue-600",
2309
+ price: {
2310
+ currency: "USD",
2311
+ input: 2,
2312
+ cacheHit: .2,
2313
+ output: 12
2314
+ }
2315
+ },
2316
+ {
2317
+ key: "deep-research-max-preview-04-2026",
2318
+ name: "Deep Research Max Preview (2026-04)",
2319
+ provider: "Google",
2320
+ colorVar: "dsw-static-blue-600",
2321
+ price: {
2322
+ currency: "USD",
2323
+ input: 2,
2324
+ cacheHit: .2,
2325
+ output: 12
2326
+ }
2327
+ },
2328
+ {
2329
+ key: "gemini-2.5-flash-image",
2330
+ name: "Nano Banana (Gemini 2.5 Flash Image)",
2331
+ provider: "Google",
2332
+ colorVar: "dsw-static-blue-600",
2333
+ price: {
2334
+ currency: "USD",
2335
+ input: .3,
2336
+ cacheHit: .075,
2337
+ output: 30
2338
+ }
2339
+ },
2340
+ {
2341
+ key: "gemini-3-pro-image-preview",
2342
+ name: "Nano Banana Pro (Gemini 3 Pro Image Preview)",
2343
+ provider: "Google",
2344
+ colorVar: "dsw-static-blue-600",
2345
+ price: {
2346
+ currency: "USD",
2347
+ input: 2,
2348
+ cacheHit: 0,
2349
+ output: 120
2350
+ }
2351
+ },
2352
+ {
2353
+ key: "gemini-3.1-flash-image-preview",
2354
+ name: "Nano Banana 2 (Gemini 3.1 Flash Image Preview)",
2355
+ provider: "Google",
2356
+ colorVar: "dsw-static-blue-600",
2357
+ price: {
2358
+ currency: "USD",
2359
+ input: .5,
2360
+ cacheHit: 0,
2361
+ output: 60
2362
+ }
2363
+ },
2364
+ {
2365
+ key: "gemini-3.1-flash-lite-image",
2366
+ name: "Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)",
2367
+ provider: "Google",
2368
+ colorVar: "dsw-static-blue-600",
2369
+ price: {
2370
+ currency: "USD",
2371
+ input: .25,
2372
+ cacheHit: 0,
2373
+ output: 30
2374
+ }
2375
+ },
2376
+ {
2377
+ key: "gemini-3.1-flash-live-preview",
2378
+ name: "Gemini 3.1 Flash Live Preview",
2379
+ provider: "Google",
2380
+ colorVar: "dsw-static-blue-600",
2381
+ price: {
2382
+ currency: "USD",
2383
+ input: .75,
2384
+ cacheHit: 0,
2385
+ output: 4.5
2386
+ }
2387
+ },
2388
+ {
2389
+ key: "gemini-2.5-computer-use-preview-10-2025",
2390
+ name: "Gemini 2.5 Computer Use Preview",
2391
+ provider: "Google",
2392
+ colorVar: "dsw-static-blue-600",
2393
+ price: {
2394
+ currency: "USD",
2395
+ input: 1.25,
2396
+ cacheHit: 0,
2397
+ output: 10
2398
+ }
2399
+ },
2400
+ {
2401
+ key: "grok-4.7",
2402
+ name: "Grok 4.7",
2403
+ provider: "xAI",
2404
+ colorVar: "dsw-static-neutral-bluish-700",
2405
+ price: {
2406
+ currency: "USD",
2407
+ input: 2,
2408
+ cacheHit: .5,
2409
+ output: 6
2410
+ }
2411
+ },
2412
+ {
2413
+ key: "grok",
2414
+ name: "Grok 4.6",
2415
+ provider: "xAI",
2416
+ colorVar: "dsw-static-neutral-bluish-700",
2417
+ price: {
2418
+ currency: "USD",
2419
+ input: 2,
2420
+ cacheHit: .5,
2421
+ output: 6
2422
+ }
2423
+ },
2424
+ {
2425
+ key: "grok-4.5",
2426
+ name: "Grok 4.5",
2427
+ provider: "xAI",
2428
+ colorVar: "dsw-static-neutral-bluish-700",
2429
+ price: {
2430
+ currency: "USD",
2431
+ input: 2,
2432
+ cacheHit: .3,
2433
+ output: 6
2434
+ }
2435
+ },
2436
+ {
2437
+ key: "grok-4.3",
2438
+ name: "Grok 4.3",
2439
+ provider: "xAI",
2440
+ colorVar: "dsw-static-neutral-bluish-500",
2441
+ price: {
2442
+ currency: "USD",
2443
+ input: 1.25,
2444
+ cacheHit: .2,
2445
+ output: 2.5
2446
+ }
2447
+ },
2448
+ {
2449
+ key: "grok-build-0.1",
2450
+ name: "Grok Build 0.1",
2451
+ provider: "xAI",
2452
+ colorVar: "dsw-static-neutral-bluish-500",
2453
+ price: {
2454
+ currency: "USD",
2455
+ input: 1,
2456
+ cacheHit: .2,
2457
+ output: 2
2458
+ }
2459
+ },
2460
+ {
2461
+ key: "grok-4.20-0309-reasoning",
2462
+ name: "Grok 4.20 (Reasoning)",
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: "grok-4.20-0309-non-reasoning",
2474
+ name: "Grok 4.20 (Non-Reasoning)",
2475
+ provider: "xAI",
2476
+ colorVar: "dsw-static-neutral-bluish-700",
2477
+ price: {
2478
+ currency: "USD",
2479
+ input: 1.25,
2480
+ cacheHit: .2,
2481
+ output: 2.5
2482
+ }
2483
+ },
2484
+ {
2485
+ key: "grok-4.20-multi-agent-0309",
2486
+ name: "Grok 4.20 Multi-Agent",
2487
+ provider: "xAI",
2488
+ colorVar: "dsw-static-neutral-bluish-700",
2489
+ price: {
2490
+ currency: "USD",
2491
+ input: 1.25,
2492
+ cacheHit: .2,
2493
+ output: 2.5
2494
+ }
2495
+ },
2496
+ {
2497
+ key: "llama",
2498
+ name: "Llama 4 Maverick",
2499
+ provider: "Meta",
2500
+ colorVar: "ds-red",
2501
+ price: {
2502
+ currency: "USD",
2503
+ input: .2,
2504
+ cacheHit: .05,
2505
+ output: .6
2506
+ }
2507
+ },
2508
+ {
2509
+ key: "llama-scout",
2510
+ name: "Llama 4 Scout",
2511
+ provider: "Meta",
2512
+ colorVar: "dsw-static-red-400",
2513
+ price: {
2514
+ currency: "USD",
2515
+ input: .1,
2516
+ cacheHit: .025,
2517
+ output: .3
2518
+ }
2519
+ },
2520
+ {
2521
+ key: "muse-spark-1.3",
2522
+ name: "Muse Spark 1.3",
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-spark-1.2",
2534
+ name: "Muse Spark 1.2",
2535
+ provider: "Meta",
2536
+ colorVar: "ds-red",
2537
+ price: {
2538
+ currency: "USD",
2539
+ input: 1.25,
2540
+ cacheHit: .15,
2541
+ output: 4.25
2542
+ }
2543
+ },
2544
+ {
2545
+ key: "muse-spark-1.1",
2546
+ name: "Muse Spark 1.1",
2547
+ provider: "Meta",
2548
+ colorVar: "ds-red",
2549
+ price: {
2550
+ currency: "USD",
2551
+ input: 1.25,
2552
+ cacheHit: .15,
2553
+ output: 4.25
2554
+ }
2555
+ },
2556
+ {
2557
+ key: "muse-wonder-1.0",
2558
+ name: "Muse Wonder 1.0",
2559
+ provider: "Meta",
2560
+ colorVar: "ds-red",
2561
+ price: {
2562
+ currency: "USD",
2563
+ input: 4,
2564
+ cacheHit: .2,
2565
+ output: 20
2566
+ }
2567
+ },
2568
+ {
2569
+ key: "muse-spark-1.3-contributor",
2570
+ name: "Muse Spark 1.3 Contributor",
2571
+ provider: "Meta",
2572
+ colorVar: "ds-red",
2573
+ price: {
2574
+ currency: "USD",
2575
+ input: .1,
2576
+ cacheHit: .002,
2577
+ output: .2
2578
+ }
2579
+ },
2580
+ {
2581
+ key: "muse-spark-1.2-contributor",
2582
+ name: "Muse Spark 1.2 Contributor",
2583
+ provider: "Meta",
2584
+ colorVar: "ds-red",
2585
+ price: {
2586
+ currency: "USD",
2587
+ input: .1,
2588
+ cacheHit: .002,
2589
+ output: .2
2590
+ }
2591
+ },
2592
+ {
2593
+ key: "claude-opus-4-6",
2594
+ name: "Claude Opus 4.6",
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-opus-4-7",
2606
+ name: "Claude Opus 4.7",
2607
+ provider: "Anthropic",
2608
+ colorVar: "ds-red",
2609
+ price: {
2610
+ currency: "USD",
2611
+ input: 5,
2612
+ cacheHit: .5,
2613
+ output: 25
2614
+ }
2615
+ },
2616
+ {
2617
+ key: "claude-opus-4-8",
2618
+ name: "Claude Opus 4.8",
2619
+ provider: "Anthropic",
2620
+ colorVar: "ds-red",
2621
+ price: {
2622
+ currency: "USD",
2623
+ input: 5,
2624
+ cacheHit: .5,
2625
+ output: 25
2626
+ }
2627
+ },
2628
+ {
2629
+ key: "claude-sonnet-4-6",
2630
+ name: "Claude Sonnet 4.6",
2631
+ provider: "Anthropic",
2632
+ colorVar: "dsw-static-red-400",
2633
+ price: {
2634
+ currency: "USD",
2635
+ input: 3,
2636
+ cacheHit: .3,
2637
+ output: 15
2638
+ }
2639
+ },
2640
+ {
2641
+ key: "claude-haiku-4-5",
2642
+ name: "Claude Haiku 4.5",
2643
+ provider: "Anthropic",
2644
+ colorVar: "dsw-static-red-300",
2645
+ price: {
2646
+ currency: "USD",
2647
+ input: 1,
2648
+ cacheHit: .1,
2649
+ output: 5
2650
+ }
2651
+ },
2652
+ {
2653
+ key: "claude-opus-5",
2654
+ name: "Claude Opus 5",
2655
+ provider: "Anthropic",
2656
+ colorVar: "ds-red",
2657
+ price: {
2658
+ currency: "USD",
2659
+ input: 5,
2660
+ cacheHit: .5,
2661
+ output: 25
2662
+ }
2663
+ },
2664
+ {
2665
+ key: "claude-sonnet-5",
2666
+ name: "Claude Sonnet 5",
2667
+ provider: "Anthropic",
2668
+ colorVar: "dsw-static-red-400",
2669
+ price: {
2670
+ currency: "USD",
2671
+ input: 2,
2672
+ cacheHit: .2,
2673
+ output: 10
2674
+ }
2675
+ },
2676
+ {
2677
+ key: "claude-fable-5-1",
2678
+ name: "Claude Fable 5.1",
2679
+ provider: "Anthropic",
2680
+ colorVar: "ds-red",
2681
+ price: {
2682
+ currency: "USD",
2683
+ input: 10,
2684
+ cacheHit: .25,
2685
+ output: 50
2686
+ }
2687
+ },
2688
+ {
2689
+ key: "claude-fable-5",
2690
+ name: "Claude Fable 5",
2691
+ provider: "Anthropic",
2692
+ colorVar: "ds-red",
2693
+ price: {
2694
+ currency: "USD",
2695
+ input: 10,
2696
+ cacheHit: 1,
2697
+ output: 50
2698
+ }
2699
+ },
2700
+ {
2701
+ key: "claude-opus-5-5",
2702
+ name: "Claude Opus 5.5",
2703
+ provider: "Anthropic",
2704
+ colorVar: "ds-red",
2705
+ price: {
2706
+ currency: "USD",
2707
+ input: 4,
2708
+ cacheHit: .2,
2709
+ output: 20
2710
+ }
2711
+ },
2712
+ {
2713
+ key: "claude-sonnet-5-5",
2714
+ name: "Claude Sonnet 5.5",
2715
+ provider: "Anthropic",
2716
+ colorVar: "dsw-static-red-400",
2717
+ price: {
2718
+ currency: "USD",
2719
+ input: 2,
2720
+ cacheHit: .2,
2721
+ output: 10
2722
+ }
2723
+ },
2724
+ {
2725
+ key: "claude-haiku-5-5",
2726
+ name: "Claude Haiku 5.5",
2727
+ provider: "Anthropic",
2728
+ colorVar: "dsw-static-red-300",
2729
+ price: {
2730
+ currency: "USD",
2731
+ input: .1,
2732
+ cacheHit: .01,
2733
+ output: .5
2734
+ }
2735
+ },
2736
+ {
2737
+ key: "claude-opus-4-5",
2738
+ name: "Claude Opus 4.5",
2739
+ provider: "Anthropic",
2740
+ colorVar: "ds-red",
2741
+ price: {
2742
+ currency: "USD",
2743
+ input: 5,
2744
+ cacheHit: .5,
1812
2745
  output: 25
1813
2746
  }
1814
2747
  },
1815
2748
  {
1816
- key: "claude-opus-4-8",
1817
- name: "Claude Opus 4.8",
1818
- provider: "Anthropic",
1819
- colorVar: "ds-red",
2749
+ key: "claude-sonnet-4-5",
2750
+ name: "Claude Sonnet 4.5",
2751
+ provider: "Anthropic",
2752
+ colorVar: "ds-red",
2753
+ price: {
2754
+ currency: "USD",
2755
+ input: 3,
2756
+ cacheHit: .3,
2757
+ output: 15
2758
+ }
2759
+ },
2760
+ {
2761
+ key: "mistral-large-2512",
2762
+ name: "Mistral Large 3",
2763
+ provider: "Mistral AI",
2764
+ colorVar: "ds-violet",
2765
+ price: {
2766
+ currency: "USD",
2767
+ input: .5,
2768
+ cacheHit: .05,
2769
+ output: 1.5
2770
+ }
2771
+ },
2772
+ {
2773
+ key: "mistral-small-2603",
2774
+ name: "Mistral Small 4",
2775
+ provider: "Mistral AI",
2776
+ colorVar: "dsw-static-violet-400",
2777
+ price: {
2778
+ currency: "USD",
2779
+ input: .15,
2780
+ cacheHit: .015,
2781
+ output: .6
2782
+ }
2783
+ },
2784
+ {
2785
+ key: "ministral-8b-latest",
2786
+ name: "Ministral 8B",
2787
+ provider: "Mistral AI",
2788
+ colorVar: "dsw-static-violet-300",
2789
+ price: {
2790
+ currency: "USD",
2791
+ input: .1,
2792
+ cacheHit: .01,
2793
+ output: .1
2794
+ }
2795
+ },
2796
+ {
2797
+ key: "mistral-large-latest",
2798
+ name: "Mistral Large (latest)",
2799
+ provider: "Mistral AI",
2800
+ colorVar: "ds-violet",
2801
+ price: {
2802
+ currency: "USD",
2803
+ input: .5,
2804
+ cacheHit: .05,
2805
+ output: 1.5
2806
+ }
2807
+ },
2808
+ {
2809
+ key: "mistral-large-4",
2810
+ name: "Mistral Large 4",
2811
+ provider: "Mistral AI",
2812
+ colorVar: "ds-violet",
2813
+ price: {
2814
+ currency: "USD",
2815
+ input: 1.36,
2816
+ cacheHit: .14,
2817
+ output: 4.18
2818
+ }
2819
+ },
2820
+ {
2821
+ key: "mistral-medium-latest",
2822
+ name: "Mistral Medium (latest)",
2823
+ provider: "Mistral AI",
2824
+ colorVar: "ds-violet",
2825
+ price: {
2826
+ currency: "USD",
2827
+ input: 1.5,
2828
+ cacheHit: .15,
2829
+ output: 7.5
2830
+ }
2831
+ },
2832
+ {
2833
+ key: "mistral-medium-2604",
2834
+ name: "Mistral Medium 3.5",
2835
+ provider: "Mistral AI",
2836
+ colorVar: "ds-violet",
2837
+ price: {
2838
+ currency: "USD",
2839
+ input: 1.5,
2840
+ cacheHit: .15,
2841
+ output: 7.5
2842
+ }
2843
+ },
2844
+ {
2845
+ key: "mistral-medium-2508",
2846
+ name: "Mistral Medium 3.1",
2847
+ provider: "Mistral AI",
2848
+ colorVar: "ds-violet",
2849
+ price: {
2850
+ currency: "USD",
2851
+ input: .4,
2852
+ cacheHit: 0,
2853
+ output: 2
2854
+ }
2855
+ },
2856
+ {
2857
+ key: "mistral-small-latest",
2858
+ name: "Mistral Small (latest)",
2859
+ provider: "Mistral AI",
2860
+ colorVar: "ds-violet",
1820
2861
  price: {
1821
2862
  currency: "USD",
1822
- input: 5,
1823
- cacheHit: .5,
1824
- output: 25
2863
+ input: .15,
2864
+ cacheHit: .015,
2865
+ output: .6
1825
2866
  }
1826
2867
  },
1827
2868
  {
1828
- key: "claude-sonnet-4-6",
1829
- name: "Claude Sonnet 4.6",
1830
- provider: "Anthropic",
1831
- colorVar: "dsw-static-red-400",
2869
+ key: "mistral-small-2506",
2870
+ name: "Mistral Small 3.2",
2871
+ provider: "Mistral AI",
2872
+ colorVar: "ds-violet",
1832
2873
  price: {
1833
2874
  currency: "USD",
1834
- input: 3,
1835
- cacheHit: .3,
1836
- output: 15
2875
+ input: .1,
2876
+ cacheHit: 0,
2877
+ output: .3
1837
2878
  }
1838
2879
  },
1839
2880
  {
1840
- key: "claude-haiku-4-5",
1841
- name: "Claude Haiku 4.5",
1842
- provider: "Anthropic",
1843
- colorVar: "dsw-static-red-300",
2881
+ key: "codestral-latest",
2882
+ name: "Codestral (latest)",
2883
+ provider: "Mistral AI",
2884
+ colorVar: "ds-violet",
1844
2885
  price: {
1845
2886
  currency: "USD",
1846
- input: 1,
1847
- cacheHit: .1,
1848
- output: 5
2887
+ input: .3,
2888
+ cacheHit: .03,
2889
+ output: .9
1849
2890
  }
1850
2891
  },
1851
2892
  {
1852
- key: "claude-opus-5",
1853
- name: "Claude Opus 5",
1854
- provider: "Anthropic",
1855
- colorVar: "ds-red",
2893
+ key: "devstral-latest",
2894
+ name: "Devstral 2 (latest)",
2895
+ provider: "Mistral AI",
2896
+ colorVar: "ds-violet",
1856
2897
  price: {
1857
2898
  currency: "USD",
1858
- input: 5,
1859
- cacheHit: .5,
1860
- output: 25
2899
+ input: .4,
2900
+ cacheHit: 0,
2901
+ output: 2
1861
2902
  }
1862
2903
  },
1863
2904
  {
1864
- key: "claude-sonnet-5",
1865
- name: "Claude Sonnet 5",
1866
- provider: "Anthropic",
1867
- colorVar: "dsw-static-red-400",
2905
+ key: "devstral-2512",
2906
+ name: "Devstral 2",
2907
+ provider: "Mistral AI",
2908
+ colorVar: "ds-violet",
2909
+ price: {
2910
+ currency: "USD",
2911
+ input: .4,
2912
+ cacheHit: 0,
2913
+ output: 2
2914
+ }
2915
+ },
2916
+ {
2917
+ key: "devstral-medium-latest",
2918
+ name: "Devstral Medium (latest)",
2919
+ provider: "Mistral AI",
2920
+ colorVar: "ds-violet",
2921
+ price: {
2922
+ currency: "USD",
2923
+ input: .4,
2924
+ cacheHit: 0,
2925
+ output: 2
2926
+ }
2927
+ },
2928
+ {
2929
+ key: "magistral-medium-latest",
2930
+ name: "Magistral Medium (latest)",
2931
+ provider: "Mistral AI",
2932
+ colorVar: "ds-violet",
1868
2933
  price: {
1869
2934
  currency: "USD",
1870
2935
  input: 2,
1871
- cacheHit: .2,
1872
- output: 10
2936
+ cacheHit: 0,
2937
+ output: 5
1873
2938
  }
1874
2939
  },
1875
2940
  {
1876
- key: "claude-fable-5-1",
1877
- name: "Claude Fable 5.1",
1878
- provider: "Anthropic",
1879
- colorVar: "ds-red",
2941
+ key: "voxtral-small-latest",
2942
+ name: "Voxtral Small (latest)",
2943
+ provider: "Mistral AI",
2944
+ colorVar: "ds-violet",
1880
2945
  price: {
1881
2946
  currency: "USD",
1882
- input: 10,
1883
- cacheHit: .25,
1884
- output: 50
2947
+ input: .1,
2948
+ cacheHit: 0,
2949
+ output: .4
1885
2950
  }
1886
2951
  },
1887
2952
  {
1888
- key: "claude-fable-5",
1889
- name: "Claude Fable 5",
1890
- provider: "Anthropic",
1891
- colorVar: "ds-red",
2953
+ key: "ministral-3b-2512",
2954
+ name: "Ministral 3 3B",
2955
+ provider: "Mistral AI",
2956
+ colorVar: "ds-violet",
1892
2957
  price: {
1893
2958
  currency: "USD",
1894
- input: 10,
1895
- cacheHit: 1,
1896
- output: 50
2959
+ input: .1,
2960
+ cacheHit: .01,
2961
+ output: .1
1897
2962
  }
1898
2963
  },
1899
2964
  {
1900
- key: "claude-opus-5-5",
1901
- name: "Claude Opus 5.5",
1902
- provider: "Anthropic",
1903
- colorVar: "ds-red",
2965
+ key: "ministral-8b-2512",
2966
+ name: "Ministral 3 8B",
2967
+ provider: "Mistral AI",
2968
+ colorVar: "ds-violet",
1904
2969
  price: {
1905
2970
  currency: "USD",
1906
- input: 4,
1907
- cacheHit: .2,
1908
- output: 20
2971
+ input: .15,
2972
+ cacheHit: .015,
2973
+ output: .15
1909
2974
  }
1910
2975
  },
1911
2976
  {
1912
- key: "claude-sonnet-5-5",
1913
- name: "Claude Sonnet 5.5",
1914
- provider: "Anthropic",
1915
- colorVar: "dsw-static-red-400",
2977
+ key: "ministral-14b-2512",
2978
+ name: "Ministral 3 14B",
2979
+ provider: "Mistral AI",
2980
+ colorVar: "ds-violet",
1916
2981
  price: {
1917
2982
  currency: "USD",
1918
- input: 2,
1919
- cacheHit: .2,
1920
- output: 10
2983
+ input: .2,
2984
+ cacheHit: .02,
2985
+ output: .2
1921
2986
  }
1922
2987
  },
1923
2988
  {
1924
- key: "claude-haiku-5-5",
1925
- name: "Claude Haiku 5.5",
1926
- provider: "Anthropic",
1927
- colorVar: "dsw-static-red-300",
2989
+ key: "magistral-small",
2990
+ name: "Magistral Small",
2991
+ provider: "Mistral AI",
2992
+ colorVar: "ds-violet",
2993
+ price: {
2994
+ currency: "USD",
2995
+ input: .5,
2996
+ cacheHit: 0,
2997
+ output: 1.5
2998
+ }
2999
+ },
3000
+ {
3001
+ key: "ministral-3b-latest",
3002
+ name: "Ministral 3B (latest)",
3003
+ provider: "Mistral AI",
3004
+ colorVar: "ds-violet",
1928
3005
  price: {
1929
3006
  currency: "USD",
1930
3007
  input: .1,
1931
3008
  cacheHit: .01,
1932
- output: .5
3009
+ output: .1
1933
3010
  }
1934
3011
  },
1935
3012
  {
1936
- key: "mistral-large-2512",
1937
- name: "Mistral Large 3",
3013
+ key: "voxtral-small-2507",
3014
+ name: "Voxtral Small 2507",
1938
3015
  provider: "Mistral AI",
1939
3016
  colorVar: "ds-violet",
1940
3017
  price: {
1941
3018
  currency: "USD",
1942
- input: .5,
1943
- cacheHit: .05,
1944
- output: 1.5
3019
+ input: .1,
3020
+ cacheHit: 0,
3021
+ output: .4
1945
3022
  }
1946
3023
  },
1947
3024
  {
1948
- key: "mistral-small-2603",
1949
- name: "Mistral Small 4",
3025
+ key: "devstral-small-2507",
3026
+ name: "Devstral Small 2507",
1950
3027
  provider: "Mistral AI",
1951
- colorVar: "dsw-static-violet-400",
3028
+ colorVar: "ds-violet",
3029
+ price: {
3030
+ currency: "USD",
3031
+ input: .1,
3032
+ cacheHit: 0,
3033
+ output: .3
3034
+ }
3035
+ },
3036
+ {
3037
+ key: "mistral-medium-2505",
3038
+ name: "Mistral Medium 3",
3039
+ provider: "Mistral AI",
3040
+ colorVar: "ds-violet",
3041
+ price: {
3042
+ currency: "USD",
3043
+ input: .4,
3044
+ cacheHit: 0,
3045
+ output: 2
3046
+ }
3047
+ },
3048
+ {
3049
+ key: "open-mistral-7b",
3050
+ name: "Open Mistral 7B",
3051
+ provider: "Mistral AI",
3052
+ colorVar: "ds-violet",
3053
+ price: {
3054
+ currency: "USD",
3055
+ input: .25,
3056
+ cacheHit: 0,
3057
+ output: .25
3058
+ }
3059
+ },
3060
+ {
3061
+ key: "open-mixtral-8x7b",
3062
+ name: "Open Mixtral 8x7B",
3063
+ provider: "Mistral AI",
3064
+ colorVar: "ds-violet",
3065
+ price: {
3066
+ currency: "USD",
3067
+ input: .7,
3068
+ cacheHit: 0,
3069
+ output: .7
3070
+ }
3071
+ },
3072
+ {
3073
+ key: "open-mixtral-8x22b",
3074
+ name: "Open Mixtral 8x22B",
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: "pixtral-12b",
3086
+ name: "Pixtral 12B",
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: "pixtral-large-latest",
3098
+ name: "Pixtral Large (latest)",
3099
+ provider: "Mistral AI",
3100
+ colorVar: "ds-violet",
3101
+ price: {
3102
+ currency: "USD",
3103
+ input: 2,
3104
+ cacheHit: 0,
3105
+ output: 6
3106
+ }
3107
+ },
3108
+ {
3109
+ key: "mistral-nemo",
3110
+ name: "Mistral Nemo",
3111
+ provider: "Mistral AI",
3112
+ colorVar: "ds-violet",
3113
+ price: {
3114
+ currency: "USD",
3115
+ input: .15,
3116
+ cacheHit: 0,
3117
+ output: .15
3118
+ }
3119
+ },
3120
+ {
3121
+ key: "command-a-03-2025",
3122
+ name: "Command A",
3123
+ provider: "Cohere",
3124
+ colorVar: "ds-cyan",
3125
+ price: {
3126
+ currency: "USD",
3127
+ input: 2.5,
3128
+ cacheHit: .25,
3129
+ output: 10
3130
+ }
3131
+ },
3132
+ {
3133
+ key: "command-r-08-2024",
3134
+ name: "Command R",
3135
+ provider: "Cohere",
3136
+ colorVar: "dsw-static-cyan-400",
1952
3137
  price: {
1953
3138
  currency: "USD",
1954
3139
  input: .15,
@@ -1957,39 +3142,63 @@ const BUILTIN_MODEL_CATALOG = [
1957
3142
  }
1958
3143
  },
1959
3144
  {
1960
- key: "ministral-8b-latest",
1961
- name: "Ministral 8B",
1962
- provider: "Mistral AI",
1963
- colorVar: "dsw-static-violet-300",
3145
+ key: "command-a-plus-05-2026",
3146
+ name: "Command A Plus",
3147
+ provider: "Cohere",
3148
+ colorVar: "ds-cyan",
1964
3149
  price: {
1965
3150
  currency: "USD",
1966
- input: .1,
1967
- cacheHit: .01,
1968
- output: .1
3151
+ input: 2.5,
3152
+ cacheHit: 0,
3153
+ output: 10
3154
+ }
3155
+ },
3156
+ {
3157
+ key: "command-a-reasoning-08-2025",
3158
+ name: "Command A Reasoning",
3159
+ provider: "Cohere",
3160
+ colorVar: "ds-cyan",
3161
+ price: {
3162
+ currency: "USD",
3163
+ input: 2.5,
3164
+ cacheHit: 0,
3165
+ output: 10
1969
3166
  }
1970
3167
  },
1971
3168
  {
1972
- key: "command-a-03-2025",
1973
- name: "Command A",
3169
+ key: "command-r-plus-08-2024",
3170
+ name: "Command R+",
1974
3171
  provider: "Cohere",
1975
3172
  colorVar: "ds-cyan",
1976
3173
  price: {
1977
3174
  currency: "USD",
1978
3175
  input: 2.5,
1979
- cacheHit: .25,
3176
+ cacheHit: 0,
1980
3177
  output: 10
1981
3178
  }
1982
3179
  },
1983
3180
  {
1984
- key: "command-r-08-2024",
1985
- name: "Command R",
3181
+ key: "command-r7b-12-2024",
3182
+ name: "Command R7B",
1986
3183
  provider: "Cohere",
1987
- colorVar: "dsw-static-cyan-400",
3184
+ colorVar: "ds-cyan",
1988
3185
  price: {
1989
3186
  currency: "USD",
1990
- input: .15,
1991
- cacheHit: .015,
1992
- output: .6
3187
+ input: .0375,
3188
+ cacheHit: 0,
3189
+ output: .15
3190
+ }
3191
+ },
3192
+ {
3193
+ key: "c4ai-aya-expanse-32b",
3194
+ name: "Aya Expanse 32B",
3195
+ provider: "Cohere",
3196
+ colorVar: "ds-cyan",
3197
+ price: {
3198
+ currency: "USD",
3199
+ input: .5,
3200
+ cacheHit: 0,
3201
+ output: 1.5
1993
3202
  }
1994
3203
  },
1995
3204
  {
@@ -2151,6 +3360,198 @@ const BUILTIN_MODEL_CATALOG = [
2151
3360
  },
2152
3361
  estimated: true
2153
3362
  },
3363
+ {
3364
+ key: "qwen3-max",
3365
+ name: "Qwen3 Max",
3366
+ provider: "阿里通义",
3367
+ colorVar: "dsw-static-orange-400",
3368
+ price: {
3369
+ currency: "CNY",
3370
+ input: 2.44,
3371
+ cacheHit: 0,
3372
+ output: 9.74
3373
+ }
3374
+ },
3375
+ {
3376
+ key: "qwen3.6-flash",
3377
+ name: "Qwen3.6 Flash",
3378
+ provider: "阿里通义",
3379
+ colorVar: "dsw-static-orange-400",
3380
+ price: {
3381
+ currency: "CNY",
3382
+ input: 1.12,
3383
+ cacheHit: .11,
3384
+ output: 6.72
3385
+ }
3386
+ },
3387
+ {
3388
+ key: "qwen3.6-plus",
3389
+ name: "Qwen3.6 Plus",
3390
+ provider: "阿里通义",
3391
+ colorVar: "dsw-static-orange-400",
3392
+ price: {
3393
+ currency: "CNY",
3394
+ input: 1.87,
3395
+ cacheHit: .19,
3396
+ output: 11.21
3397
+ }
3398
+ },
3399
+ {
3400
+ key: "qwen3.6-27b",
3401
+ name: "Qwen3.6 27B",
3402
+ provider: "阿里通义",
3403
+ colorVar: "dsw-static-orange-400",
3404
+ price: {
3405
+ currency: "CNY",
3406
+ input: 4.07,
3407
+ cacheHit: 0,
3408
+ output: 24.44
3409
+ }
3410
+ },
3411
+ {
3412
+ key: "qwen3.6-35b-a3b",
3413
+ name: "Qwen3.6 35B-A3B",
3414
+ provider: "阿里通义",
3415
+ colorVar: "dsw-static-orange-400",
3416
+ price: {
3417
+ currency: "CNY",
3418
+ input: 2.55,
3419
+ cacheHit: 0,
3420
+ output: 15.28
3421
+ }
3422
+ },
3423
+ {
3424
+ key: "qwen3-coder-flash",
3425
+ name: "Qwen3-Coder Flash",
3426
+ provider: "阿里通义",
3427
+ colorVar: "dsw-static-orange-400",
3428
+ price: {
3429
+ currency: "CNY",
3430
+ input: .98,
3431
+ cacheHit: .2,
3432
+ output: 3.9
3433
+ }
3434
+ },
3435
+ {
3436
+ key: "qwen3-coder-30b-a3b-instruct",
3437
+ name: "Qwen3-Coder 30B-A3B Instruct",
3438
+ provider: "阿里通义",
3439
+ colorVar: "dsw-static-orange-400",
3440
+ price: {
3441
+ currency: "CNY",
3442
+ input: 1.47,
3443
+ cacheHit: 0,
3444
+ output: 5.85
3445
+ }
3446
+ },
3447
+ {
3448
+ key: "qwen3-next-80b-a3b-instruct",
3449
+ name: "Qwen3-Next 80B-A3B Instruct",
3450
+ provider: "阿里通义",
3451
+ colorVar: "dsw-static-orange-400",
3452
+ price: {
3453
+ currency: "CNY",
3454
+ input: .98,
3455
+ cacheHit: 0,
3456
+ output: 3.9
3457
+ }
3458
+ },
3459
+ {
3460
+ key: "qwen3-next-80b-a3b-thinking",
3461
+ name: "Qwen3-Next 80B-A3B (Thinking)",
3462
+ provider: "阿里通义",
3463
+ colorVar: "dsw-static-orange-400",
3464
+ price: {
3465
+ currency: "CNY",
3466
+ input: .98,
3467
+ cacheHit: 0,
3468
+ output: 9.74
3469
+ }
3470
+ },
3471
+ {
3472
+ key: "qwen3-vl-235b-a22b",
3473
+ name: "Qwen3-VL 235B-A22B",
3474
+ provider: "阿里通义",
3475
+ colorVar: "dsw-static-orange-400",
3476
+ price: {
3477
+ currency: "CNY",
3478
+ input: 1.95,
3479
+ cacheHit: 0,
3480
+ output: 7.79
3481
+ }
3482
+ },
3483
+ {
3484
+ key: "qwen3-vl-30b-a3b",
3485
+ name: "Qwen3-VL 30B-A3B",
3486
+ provider: "阿里通义",
3487
+ colorVar: "dsw-static-orange-400",
3488
+ price: {
3489
+ currency: "CNY",
3490
+ input: .73,
3491
+ cacheHit: 0,
3492
+ output: 2.93
3493
+ }
3494
+ },
3495
+ {
3496
+ key: "qwen3-vl-plus",
3497
+ name: "Qwen3-VL Plus",
3498
+ provider: "阿里通义",
3499
+ colorVar: "dsw-static-orange-400",
3500
+ price: {
3501
+ currency: "CNY",
3502
+ input: .97,
3503
+ cacheHit: .19,
3504
+ output: 9.73
3505
+ }
3506
+ },
3507
+ {
3508
+ key: "qwen3-omni-flash",
3509
+ name: "Qwen3-Omni Flash",
3510
+ provider: "阿里通义",
3511
+ colorVar: "dsw-static-orange-400",
3512
+ price: {
3513
+ currency: "CNY",
3514
+ input: 1.75,
3515
+ cacheHit: 0,
3516
+ output: 6.72
3517
+ }
3518
+ },
3519
+ {
3520
+ key: "qwen3.8-omni-flash",
3521
+ name: "Qwen3.8 Omni Flash",
3522
+ provider: "阿里通义",
3523
+ colorVar: "dsw-static-orange-400",
3524
+ price: {
3525
+ currency: "CNY",
3526
+ input: .77,
3527
+ cacheHit: .095,
3528
+ output: 2.59
3529
+ }
3530
+ },
3531
+ {
3532
+ key: "qwen-deep-research",
3533
+ name: "Qwen Deep Research",
3534
+ provider: "阿里通义",
3535
+ colorVar: "dsw-static-orange-400",
3536
+ price: {
3537
+ currency: "CNY",
3538
+ input: 52.57,
3539
+ cacheHit: 0,
3540
+ output: 158.66
3541
+ }
3542
+ },
3543
+ {
3544
+ key: "qwq-plus",
3545
+ name: "QwQ Plus",
3546
+ provider: "阿里通义",
3547
+ colorVar: "dsw-static-orange-400",
3548
+ price: {
3549
+ currency: "CNY",
3550
+ input: 1.56,
3551
+ cacheHit: 0,
3552
+ output: 3.9
3553
+ }
3554
+ },
2154
3555
  {
2155
3556
  key: "glm-4.5-x",
2156
3557
  name: "GLM-4.5-X",
@@ -2188,6 +3589,54 @@ const BUILTIN_MODEL_CATALOG = [
2188
3589
  output: 56
2189
3590
  }
2190
3591
  },
3592
+ {
3593
+ key: "glm-4.5",
3594
+ name: "GLM-4.5",
3595
+ provider: "智谱 AI",
3596
+ colorVar: "dsw-static-blue-400",
3597
+ price: {
3598
+ currency: "CNY",
3599
+ input: 4.07,
3600
+ cacheHit: .75,
3601
+ output: 14.94
3602
+ }
3603
+ },
3604
+ {
3605
+ key: "glm-4.5v",
3606
+ name: "GLM-4.5V",
3607
+ provider: "智谱 AI",
3608
+ colorVar: "dsw-static-blue-400",
3609
+ price: {
3610
+ currency: "CNY",
3611
+ input: 4.07,
3612
+ cacheHit: .75,
3613
+ output: 12.22
3614
+ }
3615
+ },
3616
+ {
3617
+ key: "glm-4.6v",
3618
+ name: "GLM-4.6V",
3619
+ provider: "智谱 AI",
3620
+ colorVar: "dsw-static-blue-400",
3621
+ price: {
3622
+ currency: "CNY",
3623
+ input: 2.04,
3624
+ cacheHit: .34,
3625
+ output: 6.11
3626
+ }
3627
+ },
3628
+ {
3629
+ key: "glm-4.7-flashx",
3630
+ name: "GLM-4.7-FlashX",
3631
+ provider: "智谱 AI",
3632
+ colorVar: "dsw-static-blue-400",
3633
+ price: {
3634
+ currency: "CNY",
3635
+ input: .48,
3636
+ cacheHit: .068,
3637
+ output: 2.72
3638
+ }
3639
+ },
2191
3640
  {
2192
3641
  key: "kimi-k3-fast",
2193
3642
  name: "Kimi K3 Fast",
@@ -2264,6 +3713,78 @@ const BUILTIN_MODEL_CATALOG = [
2264
3713
  output: 58
2265
3714
  }
2266
3715
  },
3716
+ {
3717
+ key: "kimi-k2.5",
3718
+ name: "Kimi K2.5",
3719
+ provider: "月之暗面",
3720
+ colorVar: "dsw-static-neutral-bluish-600",
3721
+ price: {
3722
+ currency: "CNY",
3723
+ input: 4.07,
3724
+ cacheHit: 0,
3725
+ output: 20.37
3726
+ }
3727
+ },
3728
+ {
3729
+ key: "kimi-k2-thinking",
3730
+ name: "Kimi K2 Thinking",
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-turbo-preview",
3742
+ name: "Kimi K2 Turbo Preview",
3743
+ provider: "月之暗面",
3744
+ colorVar: "dsw-static-neutral-bluish-600",
3745
+ price: {
3746
+ currency: "CNY",
3747
+ input: 16.3,
3748
+ cacheHit: 0,
3749
+ output: 67.9
3750
+ }
3751
+ },
3752
+ {
3753
+ key: "kimi-k2-0711-preview",
3754
+ name: "Kimi K2 0711 Preview",
3755
+ provider: "月之暗面",
3756
+ colorVar: "dsw-static-neutral-bluish-600",
3757
+ price: {
3758
+ currency: "CNY",
3759
+ input: 4.07,
3760
+ cacheHit: 0,
3761
+ output: 16.98
3762
+ }
3763
+ },
3764
+ {
3765
+ key: "kimi-k2-0905-preview",
3766
+ name: "Kimi K2 0905 Preview",
3767
+ provider: "月之暗面",
3768
+ colorVar: "dsw-static-neutral-bluish-600",
3769
+ price: {
3770
+ currency: "CNY",
3771
+ input: 4.07,
3772
+ cacheHit: 0,
3773
+ output: 16.98
3774
+ }
3775
+ },
3776
+ {
3777
+ key: "kimi-k2.7-code-highspeed",
3778
+ name: "Kimi K2.7 Code HighSpeed",
3779
+ provider: "月之暗面",
3780
+ colorVar: "dsw-static-neutral-bluish-600",
3781
+ price: {
3782
+ currency: "CNY",
3783
+ input: 13.19,
3784
+ cacheHit: 2.64,
3785
+ output: 54.78
3786
+ }
3787
+ },
2267
3788
  {
2268
3789
  key: "doubao-seed-2.0-code",
2269
3790
  name: "Doubao Seed-2.0 Code",
@@ -2288,6 +3809,54 @@ const BUILTIN_MODEL_CATALOG = [
2288
3809
  output: 3.6
2289
3810
  }
2290
3811
  },
3812
+ {
3813
+ key: "doubao-seed-1.8",
3814
+ name: "Doubao Seed-1.8",
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-1.6-flash",
3826
+ name: "Doubao Seed-1.6 Flash",
3827
+ provider: "字节豆包",
3828
+ colorVar: "ds-red",
3829
+ price: {
3830
+ currency: "CNY",
3831
+ input: .15,
3832
+ cacheHit: .03,
3833
+ output: 1.51
3834
+ }
3835
+ },
3836
+ {
3837
+ key: "doubao-seed-1.6-vision",
3838
+ name: "Doubao Seed-1.6 Vision",
3839
+ provider: "字节豆包",
3840
+ colorVar: "ds-red",
3841
+ price: {
3842
+ currency: "CNY",
3843
+ input: .81,
3844
+ cacheHit: .16,
3845
+ output: 8.06
3846
+ }
3847
+ },
3848
+ {
3849
+ key: "doubao-seed-character",
3850
+ name: "Doubao Seed Character",
3851
+ provider: "字节豆包",
3852
+ colorVar: "ds-red",
3853
+ price: {
3854
+ currency: "CNY",
3855
+ input: .81,
3856
+ cacheHit: .16,
3857
+ output: 2.02
3858
+ }
3859
+ },
2291
3860
  {
2292
3861
  key: "other",
2293
3862
  name: "其他模型",
@@ -2309,6 +3878,26 @@ const BUILTIN_MODEL_CATALOG = [
2309
3878
  * 解析,两侧共用一份映射,避免同一模型两侧不一致导致「未收录」。
2310
3879
  */
2311
3880
  const BUILTIN_MODEL_KEY_ALIASES = {
3881
+ "claude-opus-4-5-20251101": "claude-opus-4-5",
3882
+ "claude-sonnet-4-5-20250929": "claude-sonnet-4-5",
3883
+ "gemini-3.6-flash": "gemini-flash",
3884
+ "gemini-3-6-flash": "gemini-flash",
3885
+ "gemini-pro-latest": "gemini-pro",
3886
+ "gemini-3-pro-image": "gemini-3-pro-image-preview",
3887
+ "gemini-3.1-flash-image": "gemini-3.1-flash-image-preview",
3888
+ "qwen3.5-plus": "qwen-plus",
3889
+ "qwen3.5-flash": "qwen-flash",
3890
+ "qwen3-vl-235b-a22b-instruct": "qwen3-vl-235b-a22b",
3891
+ "kimi-k2.7-code": "kimi",
3892
+ "doubao-seed-2.0-pro": "doubao",
3893
+ "doubao-seed-2-0-pro": "doubao",
3894
+ "doubao-seed-1.6": "doubao-1.6",
3895
+ "doubao-seed-1-8": "doubao-seed-1.8",
3896
+ "doubao-seed-1-6-flash": "doubao-seed-1.6-flash",
3897
+ "doubao-seed-1-6-vision": "doubao-seed-1.6-vision",
3898
+ "zai-glm-5-2": "glm",
3899
+ "zai-glm-5-3": "glm-5.3",
3900
+ "zai-glm-5-3-flash": "glm-5.3-flash",
2312
3901
  "deepseek-v4-flash": "flash",
2313
3902
  "deepseek-v4-flash-vision-exp": "flash-vision-exp",
2314
3903
  "deepseek-v4.1-flash": "flash",
@@ -2331,6 +3920,8 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2331
3920
  "glm-5.3-flash-x": "glm-5.3-flashx",
2332
3921
  "glm-5v-turbo": "glm-5v-turbo",
2333
3922
  "glm-5v.1": "glm-5v-turbo",
3923
+ "mistral-medium-3.5": "mistral-medium-2604",
3924
+ "open-mistral-nemo": "mistral-nemo",
2334
3925
  "claude-opus-4-6": "claude-opus-4-6",
2335
3926
  "claude-opus-4.6": "claude-opus-4-6",
2336
3927
  "claude-sonnet-4-6": "claude-sonnet-4-6",
@@ -2421,6 +4012,11 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2421
4012
  "seed-2.0-mini": "doubao-mini",
2422
4013
  "k3": "kimi-k3",
2423
4014
  "kimi-k3": "kimi-k3",
4015
+ "kimi-k3.1-pro": "kimi-k3.1-pro",
4016
+ "kimi-k3.1-pro-highspeed": "kimi-k3.1-pro-highspeed",
4017
+ "k3.1-pro": "kimi-k3.1-pro",
4018
+ "k3.1-pro-highspeed": "kimi-k3.1-pro-highspeed",
4019
+ "k3-256k": "kimi-k3",
2424
4020
  "kimi-k2.8-preview": "kimi-k2.8-preview",
2425
4021
  "kimi-k2.8": "kimi-k2.8-preview",
2426
4022
  "kimi-k2-8-preview": "kimi-k2.8-preview",