mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
feat: add support for Xiaomi MiMo model (#11961)
* feat: add support for Xiaomi MiMo model - Implemented support for the MiMo model in reasoning logic. - Added MiMo model configuration in default models. - Included MiMo logos for both models and providers. - Updated provider configurations to include Xiaomi MiMo. - Enhanced reasoning effort and options to accommodate MiMo. - Added migration logic for state management to include MiMo. - Updated versioning in store to reflect changes. * chore(i18n): add specific provider name * fix(provider): add xiaomi mimo anthropic apihost * chore: url * fix: add tool use capability
This commit is contained in:
parent
fd6986076a
commit
eb7a2cc85a
@ -29,6 +29,7 @@ import {
|
|||||||
isSupportedThinkingTokenDoubaoModel,
|
isSupportedThinkingTokenDoubaoModel,
|
||||||
isSupportedThinkingTokenGeminiModel,
|
isSupportedThinkingTokenGeminiModel,
|
||||||
isSupportedThinkingTokenHunyuanModel,
|
isSupportedThinkingTokenHunyuanModel,
|
||||||
|
isSupportedThinkingTokenMiMoModel,
|
||||||
isSupportedThinkingTokenModel,
|
isSupportedThinkingTokenModel,
|
||||||
isSupportedThinkingTokenQwenModel,
|
isSupportedThinkingTokenQwenModel,
|
||||||
isSupportedThinkingTokenZhipuModel
|
isSupportedThinkingTokenZhipuModel
|
||||||
@ -409,6 +410,12 @@ export function getReasoningEffort(assistant: Assistant, model: Model): Reasonin
|
|||||||
return { thinking: { type: 'enabled' } }
|
return { thinking: { type: 'enabled' } }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isSupportedThinkingTokenMiMoModel(model)) {
|
||||||
|
return {
|
||||||
|
thinking: { type: 'enabled' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Default case: no special thinking settings
|
// Default case: no special thinking settings
|
||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
|
|||||||
17
src/renderer/src/assets/images/models/mimo.svg
Normal file
17
src/renderer/src/assets/images/models/mimo.svg
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(10, 42) scale(1.35)">
|
||||||
|
<!-- m -->
|
||||||
|
<path d="M1.2683 15.9987C0.9317 15.998 0.6091 15.8638 0.3713 15.6256C0.1335 15.3873 0 15.0644 0 14.7278V7.165C0.0148 6.83757 0.1554 6.52848 0.3924 6.30203C0.6293 6.07559 0.9445 5.94922 1.2722 5.94922C1.6 5.94922 1.9152 6.07559 2.1521 6.30203C2.3891 6.52848 2.5296 6.83757 2.5445 7.165V14.7278C2.5442 14.895 2.5109 15.0606 2.4466 15.215C2.3822 15.3693 2.2881 15.5095 2.1696 15.6276C2.0511 15.7456 1.9105 15.8391 1.7559 15.9028C1.6012 15.9665 1.4356 15.9991 1.2683 15.9987Z" fill="currentColor"/>
|
||||||
|
<path d="M14.8841 15.9993C14.5468 15.9993 14.2232 15.8655 13.9845 15.6272C13.7457 15.389 13.6112 15.0657 13.6105 14.7284V4.67881L8.9888 9.45281C8.7538 9.69657 8.4315 9.83697 8.0929 9.84312C7.7544 9.84928 7.4272 9.72069 7.1835 9.48563C6.9397 9.25058 6.7993 8.92832 6.7931 8.58976C6.7901 8.42211 6.8201 8.25551 6.8814 8.09947C6.9428 7.94342 7.0342 7.80098 7.1506 7.68028L13.9703 0.661082C14.1463 0.478921 14.3728 0.35354 14.6207 0.301033C14.8685 0.248526 15.1264 0.271291 15.3612 0.366403C15.5961 0.461516 15.7971 0.624637 15.9385 0.834827C16.08 1.04502 16.1554 1.29268 16.1551 1.54603V14.7284C16.1551 15.0655 16.0212 15.3887 15.7828 15.6271C15.5444 15.8654 15.2212 15.9993 14.8841 15.9993Z" fill="currentColor"/>
|
||||||
|
<path d="M8.0748 9.82621C7.9058 9.82749 7.7383 9.79518 7.5818 9.73117C7.4254 9.66716 7.2833 9.57272 7.1636 9.45332L0.3571 2.4315C0.1224 2.18948 -0.0065 1.86414 -0.0014 1.52705C0.0038 1.18996 0.1427 0.868726 0.3847 0.634023C0.6267 0.399319 0.9521 0.270369 1.2892 0.27554C1.6262 0.280711 1.9475 0.419579 2.1822 0.661595L8.9887 7.66767C9.1623 7.84735 9.2792 8.07413 9.3249 8.31977C9.3706 8.56541 9.343 8.81906 9.2456 9.04914C9.1482 9.27922 8.9852 9.47557 8.7771 9.61374C8.5689 9.75191 8.3247 9.8258 8.0748 9.82621Z" fill="currentColor"/>
|
||||||
|
<!-- i -->
|
||||||
|
<path d="M20.3539 15.9997C20.0169 15.9997 19.6936 15.8658 19.4552 15.6274C19.2169 15.3891 19.083 15.0658 19.083 14.7287V1.54636C19.083 1.20928 19.2169 0.886001 19.4552 0.647648C19.6936 0.409296 20.0169 0.275391 20.3539 0.275391C20.691 0.275391 21.0143 0.409296 21.2526 0.647648C21.491 0.886001 21.6249 1.20928 21.6249 1.54636V14.7287C21.6249 14.8956 21.592 15.0609 21.5282 15.2151C21.4643 15.3693 21.3707 15.5094 21.2526 15.6274C21.1346 15.7454 20.9945 15.839 20.8403 15.9029C20.6861 15.9668 20.5208 15.9997 20.3539 15.9997Z" fill="currentColor"/>
|
||||||
|
<!-- m -->
|
||||||
|
<path d="M25.8263 15.9992C25.4893 15.9992 25.166 15.8653 24.9276 15.627C24.6893 15.3886 24.5554 15.0654 24.5554 14.7283V7.1655C24.5554 6.82842 24.6893 6.50514 24.9276 6.26679C25.166 6.02844 25.4893 5.89453 25.8263 5.89453C26.1634 5.89453 26.4867 6.02844 26.7251 6.26679C26.9634 6.50514 27.0973 6.82842 27.0973 7.1655V14.7283C27.0973 15.0654 26.9634 15.3886 26.7251 15.627C26.4867 15.8653 26.1634 15.9992 25.8263 15.9992Z" fill="currentColor"/>
|
||||||
|
<path d="M39.4394 16.0004C39.1023 16.0004 38.779 15.8664 38.5406 15.6281C38.3023 15.3897 38.1684 15.0665 38.1684 14.7294V4.67982L33.5467 9.45382C33.3117 9.69584 32.9901 9.83457 32.6523 9.83949C32.3156 9.84442 31.9894 9.71513 31.7474 9.48008C31.5054 9.24503 31.3674 8.92346 31.3623 8.58613C31.3573 8.24879 31.4863 7.92331 31.7214 7.6813L38.5284 0.662093C38.7044 0.483575 38.9304 0.361405 39.1767 0.311007C39.4233 0.260609 39.6787 0.284243 39.9114 0.378925C40.1437 0.473608 40.3427 0.635093 40.4837 0.842994C40.6247 1.05089 40.7007 1.29589 40.7027 1.54704V14.7294C40.7017 15.0649 40.5687 15.3866 40.3327 15.6246C40.0957 15.8625 39.7747 15.9976 39.4394 16.0004Z" fill="currentColor"/>
|
||||||
|
<path d="M32.6324 9.82618C32.4634 9.82746 32.2964 9.79516 32.1394 9.73115C31.9834 9.66713 31.8414 9.57269 31.7214 9.45329L24.9151 2.43147C24.7921 2.31326 24.6942 2.1715 24.6271 2.01463C24.5601 1.85777 24.5253 1.68901 24.5249 1.51842C24.5244 1.34783 24.5583 1.1789 24.6246 1.02169C24.6908 0.864476 24.788 0.722207 24.9104 0.603357C25.0327 0.484507 25.1778 0.391509 25.3369 0.329905C25.4959 0.268302 25.6658 0.239353 25.8363 0.244785C26.0068 0.250217 26.1745 0.289918 26.3293 0.361522C26.4841 0.433126 26.623 0.535168 26.7375 0.661566L33.5467 7.66764C33.7204 7.84732 33.8374 8.0741 33.8824 8.31974C33.9284 8.56538 33.9014 8.81903 33.8034 9.04911C33.7064 9.27919 33.5434 9.47554 33.3354 9.61371C33.1267 9.75189 32.8824 9.82577 32.6324 9.82618Z" fill="currentColor"/>
|
||||||
|
<!-- o -->
|
||||||
|
<path d="M50.9434 15.9814C49.5534 15.9865 48.1864 15.6287 46.9774 14.9433C45.7674 14.2579 44.7584 13.2687 44.0484 12.0735C43.3384 10.8783 42.9534 9.5185 42.9304 8.12863C42.9074 6.73875 43.2474 5.36692 43.9164 4.1488C44.0844 3.86356 44.3564 3.65487 44.6754 3.56707C44.9944 3.47927 45.3344 3.51928 45.6244 3.67859C45.9144 3.8379 46.1314 4.10397 46.2274 4.42026C46.3244 4.73656 46.2944 5.07816 46.1434 5.3725C45.5764 6.40664 45.3594 7.59693 45.5264 8.76468C45.6924 9.93243 46.2334 11.0147 47.0674 11.8489C47.9014 12.6831 48.9834 13.2244 50.1514 13.3914C51.3184 13.5584 52.5094 13.3421 53.5434 12.7751C53.8384 12.6125 54.1864 12.5738 54.5104 12.6676C54.8344 12.7614 55.1074 12.98 55.2704 13.2753C55.4324 13.5706 55.4714 13.9184 55.3774 14.2422C55.2834 14.566 55.0654 14.8393 54.7694 15.0019C53.5974 15.6455 52.2814 15.9824 50.9434 15.9814Z" fill="currentColor"/>
|
||||||
|
<path d="M56.8104 12.5052C56.5944 12.5044 56.3834 12.4484 56.1954 12.3424C55.9014 12.1795 55.6824 11.9066 55.5894 11.5833C55.4954 11.26 55.5324 10.9126 55.6944 10.6171C56.2614 9.58297 56.4784 8.39268 56.3114 7.22493C56.1454 6.05718 55.6044 4.97496 54.7704 4.14073C53.9364 3.30649 52.8544 2.76525 51.6864 2.59825C50.5194 2.43125 49.3284 2.64749 48.2944 3.21452C48.1474 3.30059 47.9854 3.3564 47.8164 3.37863C47.6484 3.40087 47.4774 3.38908 47.3134 3.34397C47.1494 3.29886 46.9964 3.22134 46.8624 3.116C46.7294 3.01066 46.6184 2.87964 46.5364 2.73069C46.4544 2.58174 46.4034 2.41788 46.3864 2.24882C46.3684 2.07975 46.3854 1.90891 46.4354 1.7464C46.4854 1.58389 46.5674 1.43301 46.6764 1.3027C46.7854 1.17238 46.9194 1.06527 47.0704 0.987704C48.5874 0.155491 50.3324 -0.162266 52.0454 0.0821474C53.7574 0.326561 55.3454 1.11995 56.5684 2.34319C57.7914 3.56642 58.5844 5.15347 58.8294 6.86604C59.0734 8.5786 58.7554 10.3242 57.9234 11.8408C57.8144 12.0411 57.6534 12.2084 57.4574 12.3253C57.2624 12.4422 57.0384 12.5043 56.8104 12.5052Z" fill="currentColor"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
17
src/renderer/src/assets/images/providers/mimo.svg
Normal file
17
src/renderer/src/assets/images/providers/mimo.svg
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g transform="translate(10, 42) scale(1.35)">
|
||||||
|
<!-- m -->
|
||||||
|
<path d="M1.2683 15.9987C0.9317 15.998 0.6091 15.8638 0.3713 15.6256C0.1335 15.3873 0 15.0644 0 14.7278V7.165C0.0148 6.83757 0.1554 6.52848 0.3924 6.30203C0.6293 6.07559 0.9445 5.94922 1.2722 5.94922C1.6 5.94922 1.9152 6.07559 2.1521 6.30203C2.3891 6.52848 2.5296 6.83757 2.5445 7.165V14.7278C2.5442 14.895 2.5109 15.0606 2.4466 15.215C2.3822 15.3693 2.2881 15.5095 2.1696 15.6276C2.0511 15.7456 1.9105 15.8391 1.7559 15.9028C1.6012 15.9665 1.4356 15.9991 1.2683 15.9987Z" fill="currentColor"/>
|
||||||
|
<path d="M14.8841 15.9993C14.5468 15.9993 14.2232 15.8655 13.9845 15.6272C13.7457 15.389 13.6112 15.0657 13.6105 14.7284V4.67881L8.9888 9.45281C8.7538 9.69657 8.4315 9.83697 8.0929 9.84312C7.7544 9.84928 7.4272 9.72069 7.1835 9.48563C6.9397 9.25058 6.7993 8.92832 6.7931 8.58976C6.7901 8.42211 6.8201 8.25551 6.8814 8.09947C6.9428 7.94342 7.0342 7.80098 7.1506 7.68028L13.9703 0.661082C14.1463 0.478921 14.3728 0.35354 14.6207 0.301033C14.8685 0.248526 15.1264 0.271291 15.3612 0.366403C15.5961 0.461516 15.7971 0.624637 15.9385 0.834827C16.08 1.04502 16.1554 1.29268 16.1551 1.54603V14.7284C16.1551 15.0655 16.0212 15.3887 15.7828 15.6271C15.5444 15.8654 15.2212 15.9993 14.8841 15.9993Z" fill="currentColor"/>
|
||||||
|
<path d="M8.0748 9.82621C7.9058 9.82749 7.7383 9.79518 7.5818 9.73117C7.4254 9.66716 7.2833 9.57272 7.1636 9.45332L0.3571 2.4315C0.1224 2.18948 -0.0065 1.86414 -0.0014 1.52705C0.0038 1.18996 0.1427 0.868726 0.3847 0.634023C0.6267 0.399319 0.9521 0.270369 1.2892 0.27554C1.6262 0.280711 1.9475 0.419579 2.1822 0.661595L8.9887 7.66767C9.1623 7.84735 9.2792 8.07413 9.3249 8.31977C9.3706 8.56541 9.343 8.81906 9.2456 9.04914C9.1482 9.27922 8.9852 9.47557 8.7771 9.61374C8.5689 9.75191 8.3247 9.8258 8.0748 9.82621Z" fill="currentColor"/>
|
||||||
|
<!-- i -->
|
||||||
|
<path d="M20.3539 15.9997C20.0169 15.9997 19.6936 15.8658 19.4552 15.6274C19.2169 15.3891 19.083 15.0658 19.083 14.7287V1.54636C19.083 1.20928 19.2169 0.886001 19.4552 0.647648C19.6936 0.409296 20.0169 0.275391 20.3539 0.275391C20.691 0.275391 21.0143 0.409296 21.2526 0.647648C21.491 0.886001 21.6249 1.20928 21.6249 1.54636V14.7287C21.6249 14.8956 21.592 15.0609 21.5282 15.2151C21.4643 15.3693 21.3707 15.5094 21.2526 15.6274C21.1346 15.7454 20.9945 15.839 20.8403 15.9029C20.6861 15.9668 20.5208 15.9997 20.3539 15.9997Z" fill="currentColor"/>
|
||||||
|
<!-- m -->
|
||||||
|
<path d="M25.8263 15.9992C25.4893 15.9992 25.166 15.8653 24.9276 15.627C24.6893 15.3886 24.5554 15.0654 24.5554 14.7283V7.1655C24.5554 6.82842 24.6893 6.50514 24.9276 6.26679C25.166 6.02844 25.4893 5.89453 25.8263 5.89453C26.1634 5.89453 26.4867 6.02844 26.7251 6.26679C26.9634 6.50514 27.0973 6.82842 27.0973 7.1655V14.7283C27.0973 15.0654 26.9634 15.3886 26.7251 15.627C26.4867 15.8653 26.1634 15.9992 25.8263 15.9992Z" fill="currentColor"/>
|
||||||
|
<path d="M39.4394 16.0004C39.1023 16.0004 38.779 15.8664 38.5406 15.6281C38.3023 15.3897 38.1684 15.0665 38.1684 14.7294V4.67982L33.5467 9.45382C33.3117 9.69584 32.9901 9.83457 32.6523 9.83949C32.3156 9.84442 31.9894 9.71513 31.7474 9.48008C31.5054 9.24503 31.3674 8.92346 31.3623 8.58613C31.3573 8.24879 31.4863 7.92331 31.7214 7.6813L38.5284 0.662093C38.7044 0.483575 38.9304 0.361405 39.1767 0.311007C39.4233 0.260609 39.6787 0.284243 39.9114 0.378925C40.1437 0.473608 40.3427 0.635093 40.4837 0.842994C40.6247 1.05089 40.7007 1.29589 40.7027 1.54704V14.7294C40.7017 15.0649 40.5687 15.3866 40.3327 15.6246C40.0957 15.8625 39.7747 15.9976 39.4394 16.0004Z" fill="currentColor"/>
|
||||||
|
<path d="M32.6324 9.82618C32.4634 9.82746 32.2964 9.79516 32.1394 9.73115C31.9834 9.66713 31.8414 9.57269 31.7214 9.45329L24.9151 2.43147C24.7921 2.31326 24.6942 2.1715 24.6271 2.01463C24.5601 1.85777 24.5253 1.68901 24.5249 1.51842C24.5244 1.34783 24.5583 1.1789 24.6246 1.02169C24.6908 0.864476 24.788 0.722207 24.9104 0.603357C25.0327 0.484507 25.1778 0.391509 25.3369 0.329905C25.4959 0.268302 25.6658 0.239353 25.8363 0.244785C26.0068 0.250217 26.1745 0.289918 26.3293 0.361522C26.4841 0.433126 26.623 0.535168 26.7375 0.661566L33.5467 7.66764C33.7204 7.84732 33.8374 8.0741 33.8824 8.31974C33.9284 8.56538 33.9014 8.81903 33.8034 9.04911C33.7064 9.27919 33.5434 9.47554 33.3354 9.61371C33.1267 9.75189 32.8824 9.82577 32.6324 9.82618Z" fill="currentColor"/>
|
||||||
|
<!-- o -->
|
||||||
|
<path d="M50.9434 15.9814C49.5534 15.9865 48.1864 15.6287 46.9774 14.9433C45.7674 14.2579 44.7584 13.2687 44.0484 12.0735C43.3384 10.8783 42.9534 9.5185 42.9304 8.12863C42.9074 6.73875 43.2474 5.36692 43.9164 4.1488C44.0844 3.86356 44.3564 3.65487 44.6754 3.56707C44.9944 3.47927 45.3344 3.51928 45.6244 3.67859C45.9144 3.8379 46.1314 4.10397 46.2274 4.42026C46.3244 4.73656 46.2944 5.07816 46.1434 5.3725C45.5764 6.40664 45.3594 7.59693 45.5264 8.76468C45.6924 9.93243 46.2334 11.0147 47.0674 11.8489C47.9014 12.6831 48.9834 13.2244 50.1514 13.3914C51.3184 13.5584 52.5094 13.3421 53.5434 12.7751C53.8384 12.6125 54.1864 12.5738 54.5104 12.6676C54.8344 12.7614 55.1074 12.98 55.2704 13.2753C55.4324 13.5706 55.4714 13.9184 55.3774 14.2422C55.2834 14.566 55.0654 14.8393 54.7694 15.0019C53.5974 15.6455 52.2814 15.9824 50.9434 15.9814Z" fill="currentColor"/>
|
||||||
|
<path d="M56.8104 12.5052C56.5944 12.5044 56.3834 12.4484 56.1954 12.3424C55.9014 12.1795 55.6824 11.9066 55.5894 11.5833C55.4954 11.26 55.5324 10.9126 55.6944 10.6171C56.2614 9.58297 56.4784 8.39268 56.3114 7.22493C56.1454 6.05718 55.6044 4.97496 54.7704 4.14073C53.9364 3.30649 52.8544 2.76525 51.6864 2.59825C50.5194 2.43125 49.3284 2.64749 48.2944 3.21452C48.1474 3.30059 47.9854 3.3564 47.8164 3.37863C47.6484 3.40087 47.4774 3.38908 47.3134 3.34397C47.1494 3.29886 46.9964 3.22134 46.8624 3.116C46.7294 3.01066 46.6184 2.87964 46.5364 2.73069C46.4544 2.58174 46.4034 2.41788 46.3864 2.24882C46.3684 2.07975 46.3854 1.90891 46.4354 1.7464C46.4854 1.58389 46.5674 1.43301 46.6764 1.3027C46.7854 1.17238 46.9194 1.06527 47.0704 0.987704C48.5874 0.155491 50.3324 -0.162266 52.0454 0.0821474C53.7574 0.326561 55.3454 1.11995 56.5684 2.34319C57.7914 3.56642 58.5844 5.15347 58.8294 6.86604C59.0734 8.5786 58.7554 10.3242 57.9234 11.8408C57.8144 12.0411 57.6534 12.2084 57.4574 12.3253C57.2624 12.4422 57.0384 12.5043 56.8104 12.5052Z" fill="currentColor"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
@ -1791,5 +1791,13 @@ export const SYSTEM_MODELS: Record<SystemProviderId | 'defaultModel', Model[]> =
|
|||||||
provider: 'cerebras',
|
provider: 'cerebras',
|
||||||
group: 'qwen'
|
group: 'qwen'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
mimo: [
|
||||||
|
{
|
||||||
|
id: 'mimo-v2-flash',
|
||||||
|
name: 'Mimo V2 Flash',
|
||||||
|
provider: 'mimo',
|
||||||
|
group: 'Mimo'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -103,6 +103,7 @@ import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png'
|
|||||||
import MicrosoftModelLogoDark from '@renderer/assets/images/models/microsoft_dark.png'
|
import MicrosoftModelLogoDark from '@renderer/assets/images/models/microsoft_dark.png'
|
||||||
import MidjourneyModelLogo from '@renderer/assets/images/models/midjourney.png'
|
import MidjourneyModelLogo from '@renderer/assets/images/models/midjourney.png'
|
||||||
import MidjourneyModelLogoDark from '@renderer/assets/images/models/midjourney_dark.png'
|
import MidjourneyModelLogoDark from '@renderer/assets/images/models/midjourney_dark.png'
|
||||||
|
import MiMoModelLogo from '@renderer/assets/images/models/mimo.svg'
|
||||||
import {
|
import {
|
||||||
default as MinicpmModelLogo,
|
default as MinicpmModelLogo,
|
||||||
default as MinicpmModelLogoDark
|
default as MinicpmModelLogoDark
|
||||||
@ -301,7 +302,8 @@ export function getModelLogoById(modelId: string): string | undefined {
|
|||||||
bytedance: BytedanceModelLogo,
|
bytedance: BytedanceModelLogo,
|
||||||
ling: LingModelLogo,
|
ling: LingModelLogo,
|
||||||
ring: LingModelLogo,
|
ring: LingModelLogo,
|
||||||
'(V_1|V_1_TURBO|V_2|V_2A|V_2_TURBO|DESCRIBE|UPSCALE)': IdeogramModelLogo
|
'(V_1|V_1_TURBO|V_2|V_2A|V_2_TURBO|DESCRIBE|UPSCALE)': IdeogramModelLogo,
|
||||||
|
mimo: MiMoModelLogo
|
||||||
} as const satisfies Record<string, string>
|
} as const satisfies Record<string, string>
|
||||||
|
|
||||||
for (const key in logoMap) {
|
for (const key in logoMap) {
|
||||||
|
|||||||
@ -52,6 +52,7 @@ export const MODEL_SUPPORTED_REASONING_EFFORT = {
|
|||||||
doubao_no_auto: ['high'] as const,
|
doubao_no_auto: ['high'] as const,
|
||||||
doubao_after_251015: ['minimal', 'low', 'medium', 'high'] as const,
|
doubao_after_251015: ['minimal', 'low', 'medium', 'high'] as const,
|
||||||
hunyuan: ['auto'] as const,
|
hunyuan: ['auto'] as const,
|
||||||
|
mimo: ['auto'] as const,
|
||||||
zhipu: ['auto'] as const,
|
zhipu: ['auto'] as const,
|
||||||
perplexity: ['low', 'medium', 'high'] as const,
|
perplexity: ['low', 'medium', 'high'] as const,
|
||||||
deepseek_hybrid: ['auto'] as const
|
deepseek_hybrid: ['auto'] as const
|
||||||
@ -80,6 +81,7 @@ export const MODEL_SUPPORTED_OPTIONS: ThinkingOptionConfig = {
|
|||||||
doubao: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao] as const,
|
doubao: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao] as const,
|
||||||
doubao_no_auto: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao_no_auto] as const,
|
doubao_no_auto: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao_no_auto] as const,
|
||||||
doubao_after_251015: ['default', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao_after_251015] as const,
|
doubao_after_251015: ['default', ...MODEL_SUPPORTED_REASONING_EFFORT.doubao_after_251015] as const,
|
||||||
|
mimo: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.mimo] as const,
|
||||||
hunyuan: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.hunyuan] as const,
|
hunyuan: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.hunyuan] as const,
|
||||||
zhipu: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.zhipu] as const,
|
zhipu: ['default', 'none', ...MODEL_SUPPORTED_REASONING_EFFORT.zhipu] as const,
|
||||||
perplexity: ['default', ...MODEL_SUPPORTED_REASONING_EFFORT.perplexity] as const,
|
perplexity: ['default', ...MODEL_SUPPORTED_REASONING_EFFORT.perplexity] as const,
|
||||||
@ -155,6 +157,7 @@ const _getThinkModelType = (model: Model): ThinkingModelType => {
|
|||||||
else if (isSupportedReasoningEffortPerplexityModel(model)) thinkingModelType = 'perplexity'
|
else if (isSupportedReasoningEffortPerplexityModel(model)) thinkingModelType = 'perplexity'
|
||||||
else if (isSupportedThinkingTokenZhipuModel(model)) thinkingModelType = 'zhipu'
|
else if (isSupportedThinkingTokenZhipuModel(model)) thinkingModelType = 'zhipu'
|
||||||
else if (isDeepSeekHybridInferenceModel(model)) thinkingModelType = 'deepseek_hybrid'
|
else if (isDeepSeekHybridInferenceModel(model)) thinkingModelType = 'deepseek_hybrid'
|
||||||
|
else if (isSupportedThinkingTokenMiMoModel(model)) thinkingModelType = 'mimo'
|
||||||
return thinkingModelType
|
return thinkingModelType
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -263,7 +266,8 @@ function _isSupportedThinkingTokenModel(model: Model): boolean {
|
|||||||
isSupportedThinkingTokenClaudeModel(model) ||
|
isSupportedThinkingTokenClaudeModel(model) ||
|
||||||
isSupportedThinkingTokenDoubaoModel(model) ||
|
isSupportedThinkingTokenDoubaoModel(model) ||
|
||||||
isSupportedThinkingTokenHunyuanModel(model) ||
|
isSupportedThinkingTokenHunyuanModel(model) ||
|
||||||
isSupportedThinkingTokenZhipuModel(model)
|
isSupportedThinkingTokenZhipuModel(model) ||
|
||||||
|
isSupportedThinkingTokenMiMoModel(model)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,6 +565,11 @@ export const isSupportedThinkingTokenZhipuModel = (model: Model): boolean => {
|
|||||||
return ['glm-4.5', 'glm-4.6'].some((id) => modelId.includes(id))
|
return ['glm-4.5', 'glm-4.6'].some((id) => modelId.includes(id))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const isSupportedThinkingTokenMiMoModel = (model: Model): boolean => {
|
||||||
|
const modelId = getLowerBaseModelName(model.id, '/')
|
||||||
|
return ['mimo-v2-flash'].some((id) => modelId.includes(id))
|
||||||
|
}
|
||||||
|
|
||||||
export const isDeepSeekHybridInferenceModel = (model: Model) => {
|
export const isDeepSeekHybridInferenceModel = (model: Model) => {
|
||||||
const { idResult, nameResult } = withModelIdAndNameAsId(model, (model) => {
|
const { idResult, nameResult } = withModelIdAndNameAsId(model, (model) => {
|
||||||
const modelId = getLowerBaseModelName(model.id)
|
const modelId = getLowerBaseModelName(model.id)
|
||||||
@ -599,6 +608,8 @@ export const isZhipuReasoningModel = (model?: Model): boolean => {
|
|||||||
return isSupportedThinkingTokenZhipuModel(model) || modelId.includes('glm-z1')
|
return isSupportedThinkingTokenZhipuModel(model) || modelId.includes('glm-z1')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const isMiMoReasoningModel = isSupportedThinkingTokenMiMoModel
|
||||||
|
|
||||||
export const isStepReasoningModel = (model?: Model): boolean => {
|
export const isStepReasoningModel = (model?: Model): boolean => {
|
||||||
if (!model) {
|
if (!model) {
|
||||||
return false
|
return false
|
||||||
@ -649,6 +660,7 @@ export function isReasoningModel(model?: Model): boolean {
|
|||||||
isDeepSeekHybridInferenceModel(model) ||
|
isDeepSeekHybridInferenceModel(model) ||
|
||||||
isLingReasoningModel(model) ||
|
isLingReasoningModel(model) ||
|
||||||
isMiniMaxReasoningModel(model) ||
|
isMiniMaxReasoningModel(model) ||
|
||||||
|
isMiMoReasoningModel(model) ||
|
||||||
modelId.includes('magistral') ||
|
modelId.includes('magistral') ||
|
||||||
modelId.includes('pangu-pro-moe') ||
|
modelId.includes('pangu-pro-moe') ||
|
||||||
modelId.includes('seed-oss') ||
|
modelId.includes('seed-oss') ||
|
||||||
|
|||||||
@ -30,7 +30,8 @@ export const FUNCTION_CALLING_MODELS = [
|
|||||||
'kimi-k2(?:-[\\w-]+)?',
|
'kimi-k2(?:-[\\w-]+)?',
|
||||||
'ling-\\w+(?:-[\\w-]+)?',
|
'ling-\\w+(?:-[\\w-]+)?',
|
||||||
'ring-\\w+(?:-[\\w-]+)?',
|
'ring-\\w+(?:-[\\w-]+)?',
|
||||||
'minimax-m2'
|
'minimax-m2',
|
||||||
|
'mimo-v2-flash'
|
||||||
] as const
|
] as const
|
||||||
|
|
||||||
const FUNCTION_CALLING_EXCLUDED_MODELS = [
|
const FUNCTION_CALLING_EXCLUDED_MODELS = [
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import JinaProviderLogo from '@renderer/assets/images/providers/jina.png'
|
|||||||
import LanyunProviderLogo from '@renderer/assets/images/providers/lanyun.png'
|
import LanyunProviderLogo from '@renderer/assets/images/providers/lanyun.png'
|
||||||
import LMStudioProviderLogo from '@renderer/assets/images/providers/lmstudio.png'
|
import LMStudioProviderLogo from '@renderer/assets/images/providers/lmstudio.png'
|
||||||
import LongCatProviderLogo from '@renderer/assets/images/providers/longcat.png'
|
import LongCatProviderLogo from '@renderer/assets/images/providers/longcat.png'
|
||||||
|
import MiMoProviderLogo from '@renderer/assets/images/providers/mimo.svg'
|
||||||
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png'
|
||||||
import MistralProviderLogo from '@renderer/assets/images/providers/mistral.png'
|
import MistralProviderLogo from '@renderer/assets/images/providers/mistral.png'
|
||||||
import ModelScopeProviderLogo from '@renderer/assets/images/providers/modelscope.png'
|
import ModelScopeProviderLogo from '@renderer/assets/images/providers/modelscope.png'
|
||||||
@ -695,6 +696,17 @@ export const SYSTEM_PROVIDERS_CONFIG: Record<SystemProviderId, SystemProvider> =
|
|||||||
models: SYSTEM_MODELS.cerebras,
|
models: SYSTEM_MODELS.cerebras,
|
||||||
isSystem: true,
|
isSystem: true,
|
||||||
enabled: false
|
enabled: false
|
||||||
|
},
|
||||||
|
mimo: {
|
||||||
|
id: 'mimo',
|
||||||
|
name: 'Xiaomi MiMo',
|
||||||
|
type: 'openai',
|
||||||
|
apiKey: '',
|
||||||
|
apiHost: 'https://api.xiaomimimo.com',
|
||||||
|
anthropicApiHost: 'https://api.xiaomimimo.com/anthropic',
|
||||||
|
models: SYSTEM_MODELS.mimo,
|
||||||
|
isSystem: true,
|
||||||
|
enabled: false
|
||||||
}
|
}
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
@ -763,7 +775,8 @@ export const PROVIDER_LOGO_MAP: AtLeast<SystemProviderId, string> = {
|
|||||||
huggingface: HuggingfaceProviderLogo,
|
huggingface: HuggingfaceProviderLogo,
|
||||||
sophnet: SophnetProviderLogo,
|
sophnet: SophnetProviderLogo,
|
||||||
gateway: AIGatewayProviderLogo,
|
gateway: AIGatewayProviderLogo,
|
||||||
cerebras: CerebrasProviderLogo
|
cerebras: CerebrasProviderLogo,
|
||||||
|
mimo: MiMoProviderLogo
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export function getProviderLogo(providerId: string) {
|
export function getProviderLogo(providerId: string) {
|
||||||
@ -1434,5 +1447,16 @@ export const PROVIDER_URLS: Record<SystemProviderId, ProviderUrls> = {
|
|||||||
docs: 'https://inference-docs.cerebras.ai/introduction',
|
docs: 'https://inference-docs.cerebras.ai/introduction',
|
||||||
models: 'https://inference-docs.cerebras.ai/models/overview'
|
models: 'https://inference-docs.cerebras.ai/models/overview'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
mimo: {
|
||||||
|
api: {
|
||||||
|
url: 'https://api.xiaomimimo.com'
|
||||||
|
},
|
||||||
|
websites: {
|
||||||
|
official: 'https://platform.xiaomimimo.com/',
|
||||||
|
apiKey: 'https://platform.xiaomimimo.com/#/console/usage',
|
||||||
|
docs: 'https://platform.xiaomimimo.com/#/docs/welcome',
|
||||||
|
models: 'https://platform.xiaomimimo.com/'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,7 +88,8 @@ const providerKeyMap = {
|
|||||||
huggingface: 'provider.huggingface',
|
huggingface: 'provider.huggingface',
|
||||||
sophnet: 'provider.sophnet',
|
sophnet: 'provider.sophnet',
|
||||||
gateway: 'provider.ai-gateway',
|
gateway: 'provider.ai-gateway',
|
||||||
cerebras: 'provider.cerebras'
|
cerebras: 'provider.cerebras',
|
||||||
|
mimo: 'provider.mimo'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "LANYUN",
|
"lanyun": "LANYUN",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "LongCat AI",
|
"longcat": "LongCat AI",
|
||||||
|
"mimo": "Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope",
|
"modelscope": "ModelScope",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "蓝耘科技",
|
"lanyun": "蓝耘科技",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "龙猫",
|
"longcat": "龙猫",
|
||||||
|
"mimo": "Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope 魔搭",
|
"modelscope": "ModelScope 魔搭",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "藍耘",
|
"lanyun": "藍耘",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "龍貓",
|
"longcat": "龍貓",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope 魔搭",
|
"modelscope": "ModelScope 魔搭",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "Lanyun Technologie",
|
"lanyun": "Lanyun Technologie",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "Meißner Riesenhamster",
|
"longcat": "Meißner Riesenhamster",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope",
|
"modelscope": "ModelScope",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "Λανιούν Τεχνολογία",
|
"lanyun": "Λανιούν Τεχνολογία",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "Τσίρο",
|
"longcat": "Τσίρο",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope Magpie",
|
"modelscope": "ModelScope Magpie",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "Tecnología Lanyun",
|
"lanyun": "Tecnología Lanyun",
|
||||||
"lmstudio": "Estudio LM",
|
"lmstudio": "Estudio LM",
|
||||||
"longcat": "Totoro",
|
"longcat": "Totoro",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "Minimax",
|
"minimax": "Minimax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope Módulo",
|
"modelscope": "ModelScope Módulo",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "Technologie Lan Yun",
|
"lanyun": "Technologie Lan Yun",
|
||||||
"lmstudio": "Studio LM",
|
"lmstudio": "Studio LM",
|
||||||
"longcat": "Mon voisin Totoro",
|
"longcat": "Mon voisin Totoro",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope MoDa",
|
"modelscope": "ModelScope MoDa",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "LANYUN",
|
"lanyun": "LANYUN",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "トトロ",
|
"longcat": "トトロ",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope",
|
"modelscope": "ModelScope",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "Lanyun Tecnologia",
|
"lanyun": "Lanyun Tecnologia",
|
||||||
"lmstudio": "Estúdio LM",
|
"lmstudio": "Estúdio LM",
|
||||||
"longcat": "Totoro",
|
"longcat": "Totoro",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "Minimax",
|
"minimax": "Minimax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope MôDá",
|
"modelscope": "ModelScope MôDá",
|
||||||
|
|||||||
@ -2643,6 +2643,7 @@
|
|||||||
"lanyun": "LANYUN",
|
"lanyun": "LANYUN",
|
||||||
"lmstudio": "LM Studio",
|
"lmstudio": "LM Studio",
|
||||||
"longcat": "Тоторо",
|
"longcat": "Тоторо",
|
||||||
|
"mimo": "[to be translated]:Xiaomi MiMo",
|
||||||
"minimax": "MiniMax",
|
"minimax": "MiniMax",
|
||||||
"mistral": "Mistral",
|
"mistral": "Mistral",
|
||||||
"modelscope": "ModelScope",
|
"modelscope": "ModelScope",
|
||||||
|
|||||||
@ -80,7 +80,8 @@ const ANTHROPIC_COMPATIBLE_PROVIDER_IDS = [
|
|||||||
SystemProviderIds.minimax,
|
SystemProviderIds.minimax,
|
||||||
SystemProviderIds.silicon,
|
SystemProviderIds.silicon,
|
||||||
SystemProviderIds.qiniu,
|
SystemProviderIds.qiniu,
|
||||||
SystemProviderIds.dmxapi
|
SystemProviderIds.dmxapi,
|
||||||
|
SystemProviderIds.mimo
|
||||||
] as const
|
] as const
|
||||||
type AnthropicCompatibleProviderId = (typeof ANTHROPIC_COMPATIBLE_PROVIDER_IDS)[number]
|
type AnthropicCompatibleProviderId = (typeof ANTHROPIC_COMPATIBLE_PROVIDER_IDS)[number]
|
||||||
|
|
||||||
|
|||||||
@ -3046,6 +3046,7 @@ const migrateConfig = {
|
|||||||
assistant.settings.reasoning_effort = 'default'
|
assistant.settings.reasoning_effort = 'default'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
addProvider(state, 'mimo')
|
||||||
logger.info('migrate 187 success')
|
logger.info('migrate 187 success')
|
||||||
return state
|
return state
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -102,6 +102,7 @@ const ThinkModelTypes = [
|
|||||||
'doubao',
|
'doubao',
|
||||||
'doubao_no_auto',
|
'doubao_no_auto',
|
||||||
'doubao_after_251015',
|
'doubao_after_251015',
|
||||||
|
'mimo',
|
||||||
'hunyuan',
|
'hunyuan',
|
||||||
'zhipu',
|
'zhipu',
|
||||||
'perplexity',
|
'perplexity',
|
||||||
|
|||||||
@ -189,7 +189,8 @@ export const SystemProviderIdSchema = z.enum([
|
|||||||
'huggingface',
|
'huggingface',
|
||||||
'sophnet',
|
'sophnet',
|
||||||
'gateway',
|
'gateway',
|
||||||
'cerebras'
|
'cerebras',
|
||||||
|
'mimo'
|
||||||
])
|
])
|
||||||
|
|
||||||
export type SystemProviderId = z.infer<typeof SystemProviderIdSchema>
|
export type SystemProviderId = z.infer<typeof SystemProviderIdSchema>
|
||||||
@ -258,7 +259,8 @@ export const SystemProviderIds = {
|
|||||||
longcat: 'longcat',
|
longcat: 'longcat',
|
||||||
huggingface: 'huggingface',
|
huggingface: 'huggingface',
|
||||||
gateway: 'gateway',
|
gateway: 'gateway',
|
||||||
cerebras: 'cerebras'
|
cerebras: 'cerebras',
|
||||||
|
mimo: 'mimo'
|
||||||
} as const satisfies Record<SystemProviderId, SystemProviderId>
|
} as const satisfies Record<SystemProviderId, SystemProviderId>
|
||||||
|
|
||||||
type SystemProviderIdTypeMap = typeof SystemProviderIds
|
type SystemProviderIdTypeMap = typeof SystemProviderIds
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user