@kenz1117/dsh-ui-usage-billing 1.7.0 → 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.
Files changed (4) hide show
  1. package/README.en.md +17 -17
  2. package/README.md +18 -18
  3. package/lib/index.js +1806 -239
  4. package/package.json +1 -1
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
@@ -1276,6 +1285,18 @@ const BUILTIN_MODEL_CATALOG = [
1276
1285
  output: 6
1277
1286
  }
1278
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
+ },
1279
1300
  {
1280
1301
  key: "minimax",
1281
1302
  name: "MiniMax-M3",
@@ -1336,6 +1357,42 @@ const BUILTIN_MODEL_CATALOG = [
1336
1357
  output: 8.4
1337
1358
  }
1338
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
+ },
1339
1396
  {
1340
1397
  key: "u2-flash",
1341
1398
  name: "U2 Flash",
@@ -1449,6 +1506,30 @@ const BUILTIN_MODEL_CATALOG = [
1449
1506
  output: 8.1
1450
1507
  }
1451
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
+ },
1452
1533
  {
1453
1534
  key: "spark",
1454
1535
  name: "Spark 4.0 Ultra",
@@ -1590,377 +1671,1313 @@ const BUILTIN_MODEL_CATALOG = [
1590
1671
  }
1591
1672
  },
1592
1673
  {
1593
- key: "gpt-image-2",
1594
- name: "GPT Image 2",
1674
+ key: "gpt-5",
1675
+ name: "GPT-5",
1595
1676
  provider: "OpenAI",
1596
1677
  colorVar: "ds-green",
1597
1678
  price: {
1598
- currency: "CNY",
1599
- input: 14,
1600
- cacheHit: 5.6,
1601
- output: 84
1679
+ currency: "USD",
1680
+ input: 1.25,
1681
+ cacheHit: .125,
1682
+ output: 10
1602
1683
  }
1603
1684
  },
1604
1685
  {
1605
- key: "gpt-image-2.5-sunburst",
1606
- name: "GPT Image 2.5 Sunburst",
1686
+ key: "gpt-5-mini",
1687
+ name: "GPT-5 Mini",
1607
1688
  provider: "OpenAI",
1608
1689
  colorVar: "ds-green",
1609
1690
  price: {
1610
- currency: "CNY",
1611
- input: 14,
1612
- cacheHit: 5.6,
1613
- output: 84
1691
+ currency: "USD",
1692
+ input: .25,
1693
+ cacheHit: .025,
1694
+ output: 2
1614
1695
  }
1615
1696
  },
1616
1697
  {
1617
- key: "gemini-pro",
1618
- name: "Gemini 3.1 Pro",
1619
- provider: "Google",
1620
- colorVar: "dsw-static-blue-600",
1698
+ key: "gpt-5-nano",
1699
+ name: "GPT-5 Nano",
1700
+ provider: "OpenAI",
1701
+ colorVar: "ds-green",
1621
1702
  price: {
1622
1703
  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"
1704
+ input: .05,
1705
+ cacheHit: .005,
1706
+ output: .4
1707
+ }
1634
1708
  },
1635
1709
  {
1636
- key: "gemini-3.8-flash",
1637
- name: "Gemini 3.8 Flash",
1638
- provider: "Google",
1639
- colorVar: "ds-blue",
1710
+ key: "gpt-5-pro",
1711
+ name: "GPT-5 Pro",
1712
+ provider: "OpenAI",
1713
+ colorVar: "ds-green",
1640
1714
  price: {
1641
1715
  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"
1716
+ input: 15,
1717
+ cacheHit: 0,
1718
+ output: 120
1719
+ }
1658
1720
  },
1659
1721
  {
1660
- key: "gemini-3.7-flash",
1661
- name: "Gemini 3.7 Flash",
1662
- provider: "Google",
1663
- colorVar: "dsw-static-blue-300",
1722
+ key: "gpt-5.1",
1723
+ name: "GPT-5.1",
1724
+ provider: "OpenAI",
1725
+ colorVar: "ds-green",
1664
1726
  price: {
1665
1727
  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"
1728
+ input: 1.25,
1729
+ cacheHit: .125,
1730
+ output: 10
1731
+ }
1682
1732
  },
1683
1733
  {
1684
- key: "gemini-flash",
1685
- name: "Gemini 3.6 Flash",
1686
- provider: "Google",
1687
- colorVar: "dsw-static-blue-400",
1734
+ key: "gpt-5.2",
1735
+ name: "GPT-5.2",
1736
+ provider: "OpenAI",
1737
+ colorVar: "ds-green",
1688
1738
  price: {
1689
1739
  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"
1740
+ input: 1.75,
1741
+ cacheHit: .175,
1742
+ output: 14
1743
+ }
1706
1744
  },
1707
1745
  {
1708
- key: "grok-4.7",
1709
- name: "Grok 4.7",
1710
- provider: "xAI",
1711
- 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",
1712
1750
  price: {
1713
1751
  currency: "USD",
1714
- input: 2,
1715
- cacheHit: .5,
1716
- output: 6
1752
+ input: 21,
1753
+ cacheHit: 0,
1754
+ output: 168
1717
1755
  }
1718
1756
  },
1719
1757
  {
1720
- key: "grok",
1721
- name: "Grok 4.6",
1722
- provider: "xAI",
1723
- 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",
1724
1762
  price: {
1725
1763
  currency: "USD",
1726
- input: 2,
1727
- cacheHit: .5,
1728
- output: 6
1764
+ input: 1.75,
1765
+ cacheHit: .175,
1766
+ output: 14
1729
1767
  }
1730
1768
  },
1731
1769
  {
1732
- key: "grok-4.5",
1733
- name: "Grok 4.5",
1734
- provider: "xAI",
1735
- 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",
1736
1774
  price: {
1737
1775
  currency: "USD",
1738
- input: 2,
1739
- cacheHit: .3,
1740
- output: 6
1776
+ input: 1.75,
1777
+ cacheHit: .175,
1778
+ output: 14
1741
1779
  }
1742
1780
  },
1743
1781
  {
1744
- key: "grok-4.3",
1745
- name: "Grok 4.3",
1746
- provider: "xAI",
1747
- colorVar: "dsw-static-neutral-bluish-500",
1782
+ key: "gpt-5.4",
1783
+ name: "GPT-5.4",
1784
+ provider: "OpenAI",
1785
+ colorVar: "ds-green",
1748
1786
  price: {
1749
1787
  currency: "USD",
1750
- input: 1.25,
1751
- cacheHit: .2,
1752
- output: 2.5
1788
+ input: 2.5,
1789
+ cacheHit: .25,
1790
+ output: 15
1753
1791
  }
1754
1792
  },
1755
1793
  {
1756
- key: "grok-build-0.1",
1757
- name: "Grok Build 0.1",
1758
- provider: "xAI",
1759
- 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",
1760
1798
  price: {
1761
1799
  currency: "USD",
1762
- input: 1,
1763
- cacheHit: .2,
1764
- output: 2
1800
+ input: .75,
1801
+ cacheHit: .075,
1802
+ output: 4.5
1765
1803
  }
1766
1804
  },
1767
1805
  {
1768
- key: "llama",
1769
- name: "Llama 4 Maverick",
1770
- provider: "Meta",
1771
- colorVar: "ds-red",
1806
+ key: "gpt-5.4-nano",
1807
+ name: "GPT-5.4 nano",
1808
+ provider: "OpenAI",
1809
+ colorVar: "ds-green",
1772
1810
  price: {
1773
1811
  currency: "USD",
1774
1812
  input: .2,
1775
- cacheHit: .05,
1776
- output: .6
1813
+ cacheHit: .02,
1814
+ output: 1.25
1777
1815
  }
1778
1816
  },
1779
1817
  {
1780
- key: "llama-scout",
1781
- name: "Llama 4 Scout",
1782
- provider: "Meta",
1783
- colorVar: "dsw-static-red-400",
1818
+ key: "gpt-5.4-pro",
1819
+ name: "GPT-5.4 Pro",
1820
+ provider: "OpenAI",
1821
+ colorVar: "ds-green",
1784
1822
  price: {
1785
1823
  currency: "USD",
1786
- input: .1,
1787
- cacheHit: .025,
1788
- output: .3
1824
+ input: 30,
1825
+ cacheHit: 0,
1826
+ output: 180
1789
1827
  }
1790
1828
  },
1791
1829
  {
1792
- key: "claude-opus-4-6",
1793
- name: "Claude Opus 4.6",
1794
- provider: "Anthropic",
1795
- colorVar: "ds-red",
1830
+ key: "gpt-5.5-pro",
1831
+ name: "GPT-5.5 Pro",
1832
+ provider: "OpenAI",
1833
+ colorVar: "ds-green",
1796
1834
  price: {
1797
1835
  currency: "USD",
1798
- input: 5,
1799
- cacheHit: .5,
1800
- output: 25
1836
+ input: 30,
1837
+ cacheHit: 0,
1838
+ output: 180
1801
1839
  }
1802
1840
  },
1803
1841
  {
1804
- key: "claude-opus-4-7",
1805
- name: "Claude Opus 4.7",
1806
- provider: "Anthropic",
1807
- colorVar: "ds-red",
1842
+ key: "gpt-5.6",
1843
+ name: "GPT-5.6",
1844
+ provider: "OpenAI",
1845
+ colorVar: "ds-green",
1808
1846
  price: {
1809
1847
  currency: "USD",
1810
- input: 5,
1811
- cacheHit: .5,
1812
- output: 25
1848
+ input: 4,
1849
+ cacheHit: .4,
1850
+ output: 20
1813
1851
  }
1814
1852
  },
1815
1853
  {
1816
- key: "claude-opus-4-8",
1817
- name: "Claude Opus 4.8",
1818
- provider: "Anthropic",
1819
- colorVar: "ds-red",
1854
+ key: "gpt-daybreak-blue-latest",
1855
+ name: "Daybreak Blue",
1856
+ provider: "OpenAI",
1857
+ colorVar: "ds-green",
1820
1858
  price: {
1821
1859
  currency: "USD",
1822
- input: 5,
1823
- cacheHit: .5,
1824
- output: 25
1860
+ input: 4,
1861
+ cacheHit: .4,
1862
+ output: 20
1825
1863
  }
1826
1864
  },
1827
1865
  {
1828
- 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",
1829
2606
  name: "Claude Sonnet 4.6",
1830
2607
  provider: "Anthropic",
1831
2608
  colorVar: "dsw-static-red-400",
1832
2609
  price: {
1833
2610
  currency: "USD",
1834
- input: 3,
1835
- cacheHit: .3,
1836
- 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
1837
2830
  }
1838
2831
  },
1839
2832
  {
1840
- key: "claude-haiku-4-5",
1841
- name: "Claude Haiku 4.5",
1842
- provider: "Anthropic",
1843
- colorVar: "dsw-static-red-300",
2833
+ key: "mistral-small-latest",
2834
+ name: "Mistral Small (latest)",
2835
+ provider: "Mistral AI",
2836
+ colorVar: "ds-violet",
1844
2837
  price: {
1845
2838
  currency: "USD",
1846
- input: 1,
1847
- cacheHit: .1,
1848
- output: 5
2839
+ input: .15,
2840
+ cacheHit: .015,
2841
+ output: .6
1849
2842
  }
1850
2843
  },
1851
2844
  {
1852
- key: "claude-opus-5",
1853
- name: "Claude Opus 5",
1854
- provider: "Anthropic",
1855
- colorVar: "ds-red",
2845
+ key: "mistral-small-2506",
2846
+ name: "Mistral Small 3.2",
2847
+ provider: "Mistral AI",
2848
+ colorVar: "ds-violet",
1856
2849
  price: {
1857
2850
  currency: "USD",
1858
- input: 5,
1859
- cacheHit: .5,
1860
- output: 25
2851
+ input: .1,
2852
+ cacheHit: 0,
2853
+ output: .3
1861
2854
  }
1862
2855
  },
1863
2856
  {
1864
- key: "claude-sonnet-5",
1865
- name: "Claude Sonnet 5",
1866
- provider: "Anthropic",
1867
- colorVar: "dsw-static-red-400",
2857
+ key: "codestral-latest",
2858
+ name: "Codestral (latest)",
2859
+ provider: "Mistral AI",
2860
+ colorVar: "ds-violet",
1868
2861
  price: {
1869
2862
  currency: "USD",
1870
- input: 2,
1871
- cacheHit: .2,
1872
- output: 10
2863
+ input: .3,
2864
+ cacheHit: .03,
2865
+ output: .9
1873
2866
  }
1874
2867
  },
1875
2868
  {
1876
- key: "claude-fable-5-1",
1877
- name: "Claude Fable 5.1",
1878
- provider: "Anthropic",
1879
- colorVar: "ds-red",
2869
+ key: "devstral-latest",
2870
+ name: "Devstral 2 (latest)",
2871
+ provider: "Mistral AI",
2872
+ colorVar: "ds-violet",
1880
2873
  price: {
1881
2874
  currency: "USD",
1882
- input: 10,
1883
- cacheHit: .25,
1884
- output: 50
2875
+ input: .4,
2876
+ cacheHit: 0,
2877
+ output: 2
1885
2878
  }
1886
2879
  },
1887
2880
  {
1888
- key: "claude-fable-5",
1889
- name: "Claude Fable 5",
1890
- provider: "Anthropic",
1891
- colorVar: "ds-red",
2881
+ key: "devstral-2512",
2882
+ name: "Devstral 2",
2883
+ provider: "Mistral AI",
2884
+ colorVar: "ds-violet",
1892
2885
  price: {
1893
2886
  currency: "USD",
1894
- input: 10,
1895
- cacheHit: 1,
1896
- output: 50
2887
+ input: .4,
2888
+ cacheHit: 0,
2889
+ output: 2
1897
2890
  }
1898
2891
  },
1899
2892
  {
1900
- key: "claude-opus-5-5",
1901
- name: "Claude Opus 5.5",
1902
- provider: "Anthropic",
1903
- colorVar: "ds-red",
2893
+ key: "devstral-medium-latest",
2894
+ name: "Devstral Medium (latest)",
2895
+ provider: "Mistral AI",
2896
+ colorVar: "ds-violet",
1904
2897
  price: {
1905
2898
  currency: "USD",
1906
- input: 4,
1907
- cacheHit: .2,
1908
- output: 20
2899
+ input: .4,
2900
+ cacheHit: 0,
2901
+ output: 2
1909
2902
  }
1910
2903
  },
1911
2904
  {
1912
- key: "claude-sonnet-5-5",
1913
- name: "Claude Sonnet 5.5",
1914
- provider: "Anthropic",
1915
- colorVar: "dsw-static-red-400",
2905
+ key: "magistral-medium-latest",
2906
+ name: "Magistral Medium (latest)",
2907
+ provider: "Mistral AI",
2908
+ colorVar: "ds-violet",
1916
2909
  price: {
1917
2910
  currency: "USD",
1918
2911
  input: 2,
1919
- cacheHit: .2,
1920
- output: 10
2912
+ cacheHit: 0,
2913
+ output: 5
1921
2914
  }
1922
2915
  },
1923
2916
  {
1924
- key: "claude-haiku-5-5",
1925
- name: "Claude Haiku 5.5",
1926
- provider: "Anthropic",
1927
- colorVar: "dsw-static-red-300",
2917
+ key: "voxtral-small-latest",
2918
+ name: "Voxtral Small (latest)",
2919
+ provider: "Mistral AI",
2920
+ colorVar: "ds-violet",
1928
2921
  price: {
1929
2922
  currency: "USD",
1930
2923
  input: .1,
1931
- cacheHit: .01,
1932
- output: .5
2924
+ cacheHit: 0,
2925
+ output: .4
1933
2926
  }
1934
2927
  },
1935
2928
  {
1936
- key: "mistral-large-2512",
1937
- name: "Mistral Large 3",
2929
+ key: "ministral-3b-2512",
2930
+ name: "Ministral 3 3B",
1938
2931
  provider: "Mistral AI",
1939
2932
  colorVar: "ds-violet",
1940
2933
  price: {
1941
2934
  currency: "USD",
1942
- input: .5,
1943
- cacheHit: .05,
1944
- output: 1.5
2935
+ input: .1,
2936
+ cacheHit: .01,
2937
+ output: .1
1945
2938
  }
1946
2939
  },
1947
2940
  {
1948
- key: "mistral-small-2603",
1949
- name: "Mistral Small 4",
2941
+ key: "ministral-8b-2512",
2942
+ name: "Ministral 3 8B",
1950
2943
  provider: "Mistral AI",
1951
- colorVar: "dsw-static-violet-400",
2944
+ colorVar: "ds-violet",
1952
2945
  price: {
1953
2946
  currency: "USD",
1954
2947
  input: .15,
1955
2948
  cacheHit: .015,
1956
- output: .6
2949
+ output: .15
1957
2950
  }
1958
2951
  },
1959
2952
  {
1960
- key: "ministral-8b-latest",
1961
- name: "Ministral 8B",
2953
+ key: "ministral-14b-2512",
2954
+ name: "Ministral 3 14B",
1962
2955
  provider: "Mistral AI",
1963
- 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",
1964
2981
  price: {
1965
2982
  currency: "USD",
1966
2983
  input: .1,
@@ -1969,27 +2986,195 @@ const BUILTIN_MODEL_CATALOG = [
1969
2986
  }
1970
2987
  },
1971
2988
  {
1972
- key: "command-a-03-2025",
1973
- 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+",
1974
3147
  provider: "Cohere",
1975
3148
  colorVar: "ds-cyan",
1976
3149
  price: {
1977
3150
  currency: "USD",
1978
3151
  input: 2.5,
1979
- cacheHit: .25,
3152
+ cacheHit: 0,
1980
3153
  output: 10
1981
3154
  }
1982
3155
  },
1983
3156
  {
1984
- key: "command-r-08-2024",
1985
- name: "Command R",
3157
+ key: "command-r7b-12-2024",
3158
+ name: "Command R7B",
1986
3159
  provider: "Cohere",
1987
- colorVar: "dsw-static-cyan-400",
3160
+ colorVar: "ds-cyan",
1988
3161
  price: {
1989
3162
  currency: "USD",
1990
- input: .15,
1991
- cacheHit: .015,
1992
- 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
1993
3178
  }
1994
3179
  },
1995
3180
  {
@@ -2151,6 +3336,198 @@ const BUILTIN_MODEL_CATALOG = [
2151
3336
  },
2152
3337
  estimated: true
2153
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
+ },
2154
3531
  {
2155
3532
  key: "glm-4.5-x",
2156
3533
  name: "GLM-4.5-X",
@@ -2188,6 +3565,54 @@ const BUILTIN_MODEL_CATALOG = [
2188
3565
  output: 56
2189
3566
  }
2190
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
+ },
2191
3616
  {
2192
3617
  key: "kimi-k3-fast",
2193
3618
  name: "Kimi K3 Fast",
@@ -2264,6 +3689,78 @@ const BUILTIN_MODEL_CATALOG = [
2264
3689
  output: 58
2265
3690
  }
2266
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
+ },
2267
3764
  {
2268
3765
  key: "doubao-seed-2.0-code",
2269
3766
  name: "Doubao Seed-2.0 Code",
@@ -2288,6 +3785,54 @@ const BUILTIN_MODEL_CATALOG = [
2288
3785
  output: 3.6
2289
3786
  }
2290
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
+ },
2291
3836
  {
2292
3837
  key: "other",
2293
3838
  name: "其他模型",
@@ -2309,6 +3854,26 @@ const BUILTIN_MODEL_CATALOG = [
2309
3854
  * 解析,两侧共用一份映射,避免同一模型两侧不一致导致「未收录」。
2310
3855
  */
2311
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",
2312
3877
  "deepseek-v4-flash": "flash",
2313
3878
  "deepseek-v4-flash-vision-exp": "flash-vision-exp",
2314
3879
  "deepseek-v4.1-flash": "flash",
@@ -2331,6 +3896,8 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2331
3896
  "glm-5.3-flash-x": "glm-5.3-flashx",
2332
3897
  "glm-5v-turbo": "glm-5v-turbo",
2333
3898
  "glm-5v.1": "glm-5v-turbo",
3899
+ "mistral-medium-3.5": "mistral-medium-2604",
3900
+ "open-mistral-nemo": "mistral-nemo",
2334
3901
  "claude-opus-4-6": "claude-opus-4-6",
2335
3902
  "claude-opus-4.6": "claude-opus-4-6",
2336
3903
  "claude-sonnet-4-6": "claude-sonnet-4-6",