From f38579be3b36bf69fc1bf13785f73f5e6bf127d2 Mon Sep 17 00:00:00 2001 From: zhengkunwang223 <1paneldev@sina.com> Date: Wed, 13 May 2026 18:30:06 +0800 Subject: [PATCH] feat: add icon for ai provider --- frontend/src/api/modules/ai.ts | 9 +- .../assets/images/ai-providers/aliyun.webp | Bin 0 -> 281 bytes .../assets/images/ai-providers/anthropic.png | Bin 0 -> 1359 bytes .../assets/images/ai-providers/deepseek.png | Bin 0 -> 908 bytes .../assets/images/ai-providers/gemini.webp | Bin 0 -> 1084 bytes .../src/assets/images/ai-providers/kimi.svg | 4 + .../assets/images/ai-providers/minimax.ico | Bin 0 -> 4286 bytes .../assets/images/ai-providers/ollama.webp | Bin 0 -> 1048 bytes .../src/assets/images/ai-providers/openai.svg | 1 + .../assets/images/ai-providers/openrouter.png | Bin 0 -> 3979 bytes .../src/assets/images/ai-providers/vllm.svg | 1 + .../assets/images/ai-providers/volcengine.png | Bin 0 -> 3251 bytes .../src/assets/images/ai-providers/xiaomi.ico | Bin 0 -> 4286 bytes .../src/assets/images/ai-providers/zai.webp | Bin 0 -> 992 bytes .../components/agent-provider-logo/index.vue | 56 ++++++ .../src/components/mkdown-editor/index.vue | 9 +- frontend/src/lang/modules/en.ts | 1 + frontend/src/lang/modules/es-es.ts | 1 + frontend/src/lang/modules/ja.ts | 1 + frontend/src/lang/modules/ko.ts | 1 + frontend/src/lang/modules/ms.ts | 1 + frontend/src/lang/modules/pt-br.ts | 1 + frontend/src/lang/modules/ru.ts | 1 + frontend/src/lang/modules/tr.ts | 1 + frontend/src/lang/modules/zh-Hant.ts | 1 + frontend/src/lang/modules/zh.ts | 1 + frontend/src/utils/agent-provider-logo.ts | 168 ++++++++++++++++++ .../config/tabs/channels/openclaw/discord.vue | 1 - .../tabs/channels/openclaw/telegram.vue | 1 - .../src/views/ai/agents/model/add/index.vue | 24 ++- frontend/src/views/ai/agents/model/index.vue | 25 ++- 31 files changed, 296 insertions(+), 13 deletions(-) create mode 100644 frontend/src/assets/images/ai-providers/aliyun.webp create mode 100644 frontend/src/assets/images/ai-providers/anthropic.png create mode 100644 frontend/src/assets/images/ai-providers/deepseek.png create mode 100644 frontend/src/assets/images/ai-providers/gemini.webp create mode 100644 frontend/src/assets/images/ai-providers/kimi.svg create mode 100644 frontend/src/assets/images/ai-providers/minimax.ico create mode 100644 frontend/src/assets/images/ai-providers/ollama.webp create mode 100644 frontend/src/assets/images/ai-providers/openai.svg create mode 100644 frontend/src/assets/images/ai-providers/openrouter.png create mode 100644 frontend/src/assets/images/ai-providers/vllm.svg create mode 100644 frontend/src/assets/images/ai-providers/volcengine.png create mode 100644 frontend/src/assets/images/ai-providers/xiaomi.ico create mode 100644 frontend/src/assets/images/ai-providers/zai.webp create mode 100644 frontend/src/components/agent-provider-logo/index.vue create mode 100644 frontend/src/utils/agent-provider-logo.ts diff --git a/frontend/src/api/modules/ai.ts b/frontend/src/api/modules/ai.ts index c6fde896af2b..7c4ba994934e 100644 --- a/frontend/src/api/modules/ai.ts +++ b/frontend/src/api/modules/ai.ts @@ -200,8 +200,13 @@ export const updateAgentAccount = (req: AI.AgentAccountUpdateReq) => { return http.post(`/ai/agents/accounts/update`, req); }; -export const pageAgentAccounts = (req: AI.AgentAccountSearch) => { - return http.post>(`/ai/agents/accounts/search`, req); +export const pageAgentAccounts = (req: AI.AgentAccountSearch, currentNode?: string) => { + return http.post>( + `/ai/agents/accounts/search`, + req, + undefined, + currentNode ? { CurrentNode: currentNode } : undefined, + ); }; export const getAgentAccountModels = (req: AI.AgentAccountModelReq) => { diff --git a/frontend/src/assets/images/ai-providers/aliyun.webp b/frontend/src/assets/images/ai-providers/aliyun.webp new file mode 100644 index 0000000000000000000000000000000000000000..8750f3a4ff10e50b483a0f61c78bdb3dc1b87e29 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv&H|6fVg?3oArNM~bhqvgP*5wt zC&bmgz~_G!12HItFK!o57jH?BUoeA1!-EM65&|}S5V)Y=CF%DFC{g3-;uxZFJ~?3l z|B8LwEKEE+JqlIU%*@&y`1@)Li>IDG;94Ql60(g&Z5IdZh n;dlIlOxt%uCJtqemrM+g#7n!EOrD$tbO(c{tDnm{r-UW|zNcL+ literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/ai-providers/anthropic.png b/frontend/src/assets/images/ai-providers/anthropic.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b5d7c58480b0fd190c6653854a36e3a8dae80f GIT binary patch literal 1359 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081LNHQpAgqyzrIro{rvgu z_wOG+etdoT^4YUzPo6z{{O;ZBk00Ot`SbJq`7<6K?zXlz*49?(>1prZzxn(3*MS53 zoSYnOY;4-vT17-e#KgozMMagAl>Ytu{p86bdwV+x35oLZvbMICwQE<)%F0SgN{Wk% zo12^8y?gu2nUk8DnqR+uN={Dl^Yb+|HJv|y?w2ng_yeE8tw#}8k;cniFbm@Ygo^E7h#HUa1mo8l*EiK*G*Q=(ccKrB}hY#=B z*jNVy_%}8-)YsQFG}P79RGXNX)Ya8&-MU#`UVi`nz5oCJX>DzO^yvQ4qlYsx(uIVC zgoTCu{QORxI=*DdqVVvrM~@!F#>NyE7rD4N13^nm)A#RR)~s3O=H~k5&8s(WUcP(x z=Kufy6M~+}0aJiPNswPK1Apm_-+yjZ3Qqeq`)AGddw>7kyx*`u_~C^EEti367?Zr+ zUFOZ-w3r*nVK4FYb!C6f$RcQFq`AZFJW%?Dr;B5V#p%{bnZd%20&VO(Ld`2U9-U!m zRFs(RQ57MndRuORMn%$|h{a4@*H=|E20juE2@v_fkpHOObZUwxPvYmAnXBGypZ9K7 zmXnv)^&J_Gr>;%g&8ZpreBtUxs|qGx`g(=YU-hPg>`jlDbB(?&Vv5oUQ;PHK*Elp> zyJ}t`t(p7D?80fm%e#-%GluI?e>Mr?n`aT zV(bfrepkIU&24_+ZXs${%XWU=<@4nX-@5Hd7*vlQ;Yk%D=zU+N#3;Zv6t=8kME@PZ=5*n)RIu@Z?dIci*b+ zUs$8FH|>^!T0o;uqt-W{`hQFXPAR-LZYDVLI2EKhRe&AZTx$; zdZNp0#*Ci}>U$o33CTJ;<>0Kjv;SY2A@|KvEF^x*vh|;fH&4rbz}>yfa@NmXFSft8 zulpyo|No3`?wXqdkx`r8?Cw$%s*l_>r9($LV%b#ZZ6SX$y64o2-h3moLhY&C@_nn@ zc4*7AP03xUdL%Y7cI&A>YfZO4k>~E3^)bh;1sLZHswJ)wB`Jv|saDBFsX&Us$iT>0 z*T7KMz$C=b+{)C%%G5yHz`)AD;FXPASgue| zl%JNFld4csS&*ubSx}P9z)&&g@h2XR!Y~buQ~syVcs>ncU{>bVOXe0<7WSSj!Yr)d z(qM8pg;{xXh{EX`S56!`b42C{`{@Rc1zvg#ufzpQJ~^3A1zN%2>FVdQ&MBb@09Z7N Al>h($ literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/ai-providers/deepseek.png b/frontend/src/assets/images/ai-providers/deepseek.png new file mode 100644 index 0000000000000000000000000000000000000000..aadbb5813cfd04a54b7415ca78b8306a3e850603 GIT binary patch literal 908 zcmV;719SX|P)Px#1ZP1_K>z@;j|==^1poj5OHfQyMMrQ-3cI2QT2_{nE}V%Y`X;6%;T{D00O*8L_t(I%dJ&evfMBT zl+eDfwz>aF1GeWSf2pKKRb$y8(NfbeLfm7VG?cV%2yt#DzC5IbY%+xDJH>V-OSY=? zrSQYa8qCYu+@E_UO$Gge;;(hrIKnQZ<{2}VFl%_-%bk|Cwy zr}`L_l+Rg}RPW3h>1cWNpp+i9>gJ#LWffc|BldVc0*H_pz=APAXOhvF?1m!IZ4;#! zE|bCjIM{GI`eo@oS}`#bsLgdTRV(a<#b5aH563)WK(Fh+%?!5JIDVpE zhO7V~hOnAkJ%yk#_RHy;2P!N3CZ5lZ+AzRdWA>J6Wq=WC?U2!Bnu9Hx5(HN~bJffl zBa@>_x*g5k{QxA7{ZrD0)l}%=Uj-?q8x~WvT@2c~LW~%lQ_&LgY|`{>ZN-p0IkGlG zGk3i!qR3896pe~J(F-Y|KQ)2jQ(0!UNqxlGV@>WXH# zFx%Rvc~)cy zISEsfP`mOKGD)ALx(kWSv6PzqqZ3kHDXyqbJw1hHFFn-rO%BBwJKuRcE8k6AdukW- zJqM&ND&wTiH-r3JgRkZv+6FZrDlV2#nVmF2MfA7kb4vLyjY-As@0Lx6H_19@&oBR_ i4do2ww^Wed4*d&kJ^s_0000Txiu01g_j;@&!jT(EiWD)lcq;sY^6wlD$xOp= z%H<54xqN{y6&;B>lU>S=NYhL4nmjCIv}mZ$EKik%iJS)O^Lw6qlfxDTZYcEpBK#f$ z8->~g<|uI{PCqCk=nJE{DAm0VI5OIMJNgGxFbxn~Czb)+7(3o3ijL>RcJp*xU> zw*a*a=CzZ>Ms4j{Db(Eh5YXQ?E0-zr0U__ETIn0s6M{ai(l6*c55ju8qINPpe?jqk zo@QHf2%6zAWkiMkg8UWsA93T>P`P=tX|nT{T{qZut52_+^tw&&8}zdwO#jGxEqVZXssEAvefSjpll`~&1N}+=>`k${m1J`I z417AYx!)eGMbRNFA(4Mr{gdwOqZrOHln-%zoc%0y zKmh*#U>+hH;K+Cyl?Wpu=T*ZB{x_+JA76JCPG`#ph#$#8k^6kui+ow3)YVd;8mDq zTF_7OZK$sz69jQwkxpHvx7Qv4Dl;jyyB(A(nrEv>GMO<`bdkxBLQTtF{GFTj19V^1+G-+>{Qw-eJ+ZttNw(=YMl zP^<5a*;RkxVuJz14OjXEic3m>a4&4n80P=<;cx^ND?4;BEF?{zT?KWV_A(0czyHm$ zpbcxjlZhGBz#c3{mBf>t1vGuUGy~fio&bEl(E>Y&izVnE)f$~z?^CQTF@#g_RADUi z)sAqCKvu%mi1CdZOz@?Nb7TTwWqb!2Rh0{Q=^K%tgaNUSn93oBcDHv4CVT3*riE3F z8aeXnXJy8w2;xxTP5*X$bo>e>V3|9{`>M=y-&P#{#do9&?_tz6mqQ!=IaxZHY9Hd) z4EsIXmuqQ=YxLAfui``LA(VNAb;5&r)CTrE=FP3B<>kE{!_V*k=>Px!eTpmh z+=RpOTUY?69~tvRyz?Gp9y%%e(|4>Xh&4$oAfNua_bfmkOeq6Q;lDMCykh_W0000l Ci3_U$ literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/ai-providers/kimi.svg b/frontend/src/assets/images/ai-providers/kimi.svg new file mode 100644 index 000000000000..209edf3b9dac --- /dev/null +++ b/frontend/src/assets/images/ai-providers/kimi.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/assets/images/ai-providers/minimax.ico b/frontend/src/assets/images/ai-providers/minimax.ico new file mode 100644 index 0000000000000000000000000000000000000000..38c0025dc131fbef1c7742ec13244287fea6b7a7 GIT binary patch literal 4286 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 S3HZkkgd)HI{{DQF0002x-`IEn literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/ai-providers/openai.svg b/frontend/src/assets/images/ai-providers/openai.svg new file mode 100644 index 000000000000..b31e398972ad --- /dev/null +++ b/frontend/src/assets/images/ai-providers/openai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/assets/images/ai-providers/openrouter.png b/frontend/src/assets/images/ai-providers/openrouter.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad0460b5e50967ac45f8cfb8baca7b63986b70c GIT binary patch literal 3979 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 \ No newline at end of file diff --git a/frontend/src/assets/images/ai-providers/volcengine.png b/frontend/src/assets/images/ai-providers/volcengine.png new file mode 100644 index 0000000000000000000000000000000000000000..87017b545d29aa1c731a4af31f0941a80ddf4085 GIT binary patch literal 3251 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 literal 0 HcmV?d00001 diff --git a/frontend/src/assets/images/ai-providers/xiaomi.ico b/frontend/src/assets/images/ai-providers/xiaomi.ico new file mode 100644 index 0000000000000000000000000000000000000000..03477d24218922e3fbbe464c322db2929be6e7f6 GIT binary patch literal 4286 zcmc(jOGs2v7{^bv=n0yYMM)SzuT_hn$Rg>rXj2G1wrNELJry5F@1hn(K`o*O2vM1C zN-Jt(Zh{DHQAR{9Bx|AGdFjm9I67bd|M8x2UQSoh>B`@8<~!f_{m%XFJ?D%nH3>iY z`HH_)ZMIUmN~z@#OsWu~U0)dc*ER2;rEJYayB?~9>YSv=tEz| zFqS!(OXp3;w|%Cg-37gZEGU*^curf!G6!=pCvzuFfi_!<(AGdf$SK3AA9FG{8F96+ zKhypOa++_feq`u5un;zzb>ZB`nsc;qWa(#N^Z9HhqUIybi!3sE|9m%JLL>Q3l$}hn zH$dJ0flnsaW)+mQ#^xTdWX}E}<)Y8|L{Q!Zh?CC6N{`Jz|b3(k0C!68fLgSV#Iqir0c4}BTKSmt0ZlQ*F?`&!&M z@8{O*p!D`d#21Xn@tR)A-q$Tf*L~9I8`So9-}+_g376y@wxppYq-`9d4}BTKSmt1^ z*m}jx!R)C?{0B{aVy^N>e#t`4y*GUl3J+O7{|w8rlSBNsU;4F?WAvdfW6Z@|Bk;|B z?ufr<1b$Q7FrPl7;PbrbkEw^A2j`mV{wIJ>cFK1@L;NH*YmveGk9+RsIXK~eO7Z^v z2}fl2jZr;+@{?+iia)E^((AbNpgIZfXgVNy|l=t7ma<)DY-TTRRxc`z}m&oVm*zCgtTE<2#-P$!hMHequ*H^%ZkXD;T9*4!`?Tlkn-OhTEl>yKg?Mhn z&Wn9>me7a3jA1NuaEhfLKmU=an-F!S=w-|%NM3lknlPUk&#xxXwo8X`7$cXhibFlQ zoRM7qzk%Pa@ZCIw@AekD8}1o&x6IJpBoVmVK4ow>ie+rKUdIIO=1xsW4Fv#JP&gnI z0{{RJ6abw8DnI~006sAmi9@0xAruM)R3HNcw15fCe}a7VUb1A!diUeEc5SD zl39^{FM5Ry2WwJS~DnHSWJm!wZtx3 zrL>B-M%AVtbAnNC(E7!Y0RH@avbkSj3T8<*jsNP$n9O3r3RD_QWqy|Vlnr=;PGB7b z6O-b0WH7l)`i&O}0>!Vf@?OIIJG;l6$gUnT73i=sB0gE{+{xq5M;Sx&-Db z$*`y||Mhz2-47s)5ZwH#;#4ym(aCt3Ngz>iC%ncg4(cInv!N*=F@Q$JU%gUm_2E|UEijLKu{h8F! O&)3We$Xq*s0001QrtVV! literal 0 HcmV?d00001 diff --git a/frontend/src/components/agent-provider-logo/index.vue b/frontend/src/components/agent-provider-logo/index.vue new file mode 100644 index 000000000000..37f16900d210 --- /dev/null +++ b/frontend/src/components/agent-provider-logo/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/frontend/src/components/mkdown-editor/index.vue b/frontend/src/components/mkdown-editor/index.vue index 2f20d6898fe4..277beea56fb7 100644 --- a/frontend/src/components/mkdown-editor/index.vue +++ b/frontend/src/components/mkdown-editor/index.vue @@ -1,14 +1,9 @@ + + diff --git a/frontend/src/views/ai/agents/model/index.vue b/frontend/src/views/ai/agents/model/index.vue index 0e8a0cf788e6..3921d3f6c0c0 100644 --- a/frontend/src/views/ai/agents/model/index.vue +++ b/frontend/src/views/ai/agents/model/index.vue @@ -15,7 +15,13 @@ @@ -57,6 +63,7 @@ import { deleteAgentAccount, pageAgentAccounts } from '@/api/modules/ai'; import { AI } from '@/api/interface/ai'; import AddDialog from '@/views/ai/agents/model/add/index.vue'; import ModelPoolDialog from '@/views/ai/agents/model/pool/index.vue'; +import ProviderLogo from '@/components/agent-provider-logo/index.vue'; import { ElMessageBox } from 'element-plus'; import i18n from '@/lang'; import { dateFormat } from '@/utils/date'; @@ -177,3 +184,19 @@ onMounted(async () => { await search(); }); + +