From 5ca28057844675a1625b5af3fdef28cd3f2b4a69 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 25 Jun 2025 13:28:04 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8C=E4=BB=85=E4=BB=85=E9=80=82?= =?UTF-8?q?=E9=85=8Dwhodb=E7=9A=84openai=E5=80=9F=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {whodb => whodb-openai}/0.57.0/data.yml | 31 +----------------- .../0.57.0/docker-compose.yml | 4 --- {whodb => whodb-openai}/README.md | 0 {whodb => whodb-openai}/data.yml | 8 ++--- whodb-openai/logo.png | Bin 0 -> 14265 bytes whodb/logo.png | Bin 10211 -> 0 bytes 6 files changed, 5 insertions(+), 38 deletions(-) rename {whodb => whodb-openai}/0.57.0/data.yml (58%) rename {whodb => whodb-openai}/0.57.0/docker-compose.yml (68%) rename {whodb => whodb-openai}/README.md (100%) rename {whodb => whodb-openai}/data.yml (88%) create mode 100644 whodb-openai/logo.png delete mode 100644 whodb/logo.png diff --git a/whodb/0.57.0/data.yml b/whodb-openai/0.57.0/data.yml similarity index 58% rename from whodb/0.57.0/data.yml rename to whodb-openai/0.57.0/data.yml index a34d6545c..822674b38 100644 --- a/whodb/0.57.0/data.yml +++ b/whodb-openai/0.57.0/data.yml @@ -33,38 +33,9 @@ additionalProperties: required: false type: password - - default: "" + - default: "https://api.openai.com/v1" envKey: WHODB_OPENAI_ENDPOINT labelEn: OpenAI Endpoint labelZh: OpenAI 接口地址 required: false type: text - - - default: "" - envKey: WHODB_ANTHROPIC_API_KEY - labelEn: Anthropic API Key - labelZh: Anthropic API 密钥 - required: false - type: password - - - default: "" - envKey: WHODB_ANTHROPIC_ENDPOINT - labelEn: Anthropic Endpoint - labelZh: Anthropic 接口地址 - required: false - type: text - - - default: "" - envKey: WHODB_OLLAMA_HOST - labelEn: Ollama Host - labelZh: Ollama 主机地址 - required: false - type: text - - - default: "11434" - envKey: WHODB_OLLAMA_PORT - labelEn: Ollama Port - labelZh: Ollama 端口 - required: false - rule: paramPort - type: number diff --git a/whodb/0.57.0/docker-compose.yml b/whodb-openai/0.57.0/docker-compose.yml similarity index 68% rename from whodb/0.57.0/docker-compose.yml rename to whodb-openai/0.57.0/docker-compose.yml index f7d7fcd89..5f0382968 100644 --- a/whodb/0.57.0/docker-compose.yml +++ b/whodb-openai/0.57.0/docker-compose.yml @@ -6,10 +6,6 @@ services: environment: - WHODB_OPENAI_API_KEY=${WHODB_OPENAI_API_KEY} - WHODB_OPENAI_ENDPOINT=${WHODB_OPENAI_ENDPOINT} - - WHODB_ANTHROPIC_API_KEY=${WHODB_ANTHROPIC_API_KEY} - - WHODB_ANTHROPIC_ENDPOINT=${WHODB_ANTHROPIC_ENDPOINT} - - WHODB_OLLAMA_HOST=${WHODB_OLLAMA_HOST} - - WHODB_OLLAMA_PORT=${WHODB_OLLAMA_PORT} ports: - "${PANEL_APP_PORT_HTTP}:8080" volumes: diff --git a/whodb/README.md b/whodb-openai/README.md similarity index 100% rename from whodb/README.md rename to whodb-openai/README.md diff --git a/whodb/data.yml b/whodb-openai/data.yml similarity index 88% rename from whodb/data.yml rename to whodb-openai/data.yml index 90458a777..74fcb423b 100644 --- a/whodb/data.yml +++ b/whodb-openai/data.yml @@ -1,12 +1,12 @@ -name: WhoDB +name: WhoDB-OpenAI tags: - 数据库管理 - 工具 title: 轻量、高效、支持自然语言的数据库管理平台 -description: 轻量、高效、支持自然语言对话的数据库管理工具,支持多种数据库与可视化操作 +description: 轻量、高效、支持自然语言对话的数据库管理工具,支持多种数据库与可视化操作,该应用仅适配openai接口,未适配Ollama additionalProperties: - key: whodb - name: whoDB + key: whodb-openai + name: whoDB-OpenAI tags: - Tool shortDescZh: 支持自然语言查询的数据库管理工具 diff --git a/whodb-openai/logo.png b/whodb-openai/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8d7826768f849c5d0c768525969b16e27f733d GIT binary patch literal 14265 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 TJr2Iz4xpl-DPJe|=KcQx%~BCO literal 0 HcmV?d00001 diff --git a/whodb/logo.png b/whodb/logo.png deleted file mode 100644 index a4c7b0e4c3062005983b152d8125135be04d240a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10211 zcmcI~WmH^2(1!840!5e&An2MtpsieJRg;?cRJ- zlNN_7A0yp=9RMuE6vg1+s-jUJjS*hQD2_7P-{9czY5%o1vT8JEaB%b{7x5Y<^89-#&4qJ0d;y@Vu8*QnH{(KE7TV2v*seS|sZ@s2$JY7KFu9Zb! zewt?gE|H{dQZ`ZZf*8Jb5G4>B1U{0dO>mt7?Q#13|LT?UVhr{1@v-xI z#~TJ#B_;Cdr6ndV^AVXDq4voJQRnsMwWsoB@6*;WZtl1T-&5}_J+}q3Nql+|))?c9 zZi;7>la@=RqKb;>I-2MpB+MatkvrMOtvLA{79~18P`7C}1fA1ril(TvG~wXDdN?*- zTvaueRLD!6pPxUkxmnlm>CjNxJ6*xU*oE+Dp}L^`O9(GquDo18aWSJV74|p@Qa=JG z8mzZCGc(hYMO#Jndt6+c-z0CU6BzBS^IFUy-G^Ir_@ctX%KUgTf&uoTq9P6_z$ba) zja7Pu6ri2c?+th&I^60wMqs%5GSBTPJQ4Bh)&oTYW4D{pD1xP*ARTLWkV70g^Q>k8~8Y3gq=OK$$96KfJq8emic6m!xfpH&~pkrFnjb{AV>8^?OSKq)8S*3r;U-;aQ!{jPG&&pZMY}(ZUA2RwGqR7+2_*S(4 zW3FeiLbu@`X#a-6&UltX1-d}cCOHifEF)y0&ji8gvG=c+ceWGIO%uk;z3}ed}nj*f{SKG2j6Blo4qCSACJgEnH0+N*b%AZ=t)#9Elox zJps@wCyzAQ{|xRt30qfe`P7dP_xAkPs)CB3PK{-3sbTwSxCw5rZMud|37)^nRyJE+ zMWOorkhO+j?VMQ3=%BhH z(yZ)?Y=Kq4@BGdFq2PtZSK`pG*Q_2mewXTargg&DC&`;Wg%1->;H?go@Gsn(na)ED z<}rllD(_jC;>upG46OW*Q5HO&?k#QH&e)K{*0OWPok3?3N1K@|L1<(IG8jfigt~Ml zfWxObxP@?8ryG%Lf&F9a__$)keQUn=ifpSC$3&!l-HiK0eoUdMwD9f_2r3OyAQD)C zDw|a_y8d{aDvwu@ZJDLltjNk!Zm1;RYS_0f6J0Rz!(B1E+tD9myn8V6?cmgZg%sst zfZ&VsZ|&fE*V!(7Jxuj#z7_I}w{6~b*xD8-*K{}!a3Nh~k?f6~pEP>_Cu`8$4nv#m zV~*Qj+DN@N$d?ETq(cUV)oJg&qXq8^6D$f3dk~H#OS3o0Lij{4kG~6FQ6Bd8{Xr~N z*c96%ZGlz1EHWP9X=wBlI$S~vw$5!d<$Hs*8M3d7W0U7)oc0g9MZKCAHQ?+R@ms`W z-115M?c`rA{s^5@{X5RHYU#`L7H^+-?niVjq1&_~kECu!rz2+E+pC}7 zlX7FY3c8=8NO*>Ff0R_O7WI}vEn_HWMzvYDucH`4{4e4{8NilE9lSQfKT7wsc?#Gct7WRuFVrAo1#43DqY+-3G`MWt~`Z=1J^viv0I z-0b65b2!oSt@nC$whlN{E&1f3N?&L%S=$Wch8gpkt2Hpl_)V|VkjQ-|%&o_F_yT;5 zN#|NTFSoqc9t>*wiO>jSpgt$xvf^94Zx zbj(W9)mn8An%xFAetqIJzCh#qGV?x7*L)y*>>a~_b<)?_0KCMjAGk|}(<(26bQne= z*K`1JhX<|p`&r9qE<%HzAuPt-Y&{V|!uLY^9wc)_DGmCE=npr?pRccE?6jjvkBbtd zqgmsS49k*PD#&8jPSa`qEe&X-y-V_>Zs*mt78;ma5T*efmQK7lD&MjIS)-;NuYsP1 z``WxX&mxdCYgxpF=9gfAjI3%_0)gwH+bSt@ERUk#`_uHZ$kGyjrD8dL*QKf~4no#t z`cCN!49r*2(aaiTSzT`M2Nw}somZFje;3~%@Z}m;&m`5PiAsr|fmmZUHsA-b0C5pW zM3GZ4?7L|w{$2MfgY)f1{>7T1fU=vr0y}0rlNjl8i97ax<^*5{ZfxT)!j3caFU~TH zE?kCv_V<}$f5T!U*h721r=tB^7yuS+lN1-q%_;mm6z-+YPTlU-Aae5G5XFZb{)KWY zst|isOJZtkw@GY(xfSDI?Bc_Qw0sfD4;QrH~ii!-)p>8ZS^X>R?AiE;{h~wUMS#!n*FMmh@3TsH2Z~0q2uFMOf_|? z?a`$?*aR0Nl-w%g9{-vSuSwW>9I#B$iNNWj2cm`pZ*>Q$lpYj{NdDM0p!&Y+tHOUs zAgAiEGe`h=i|2PTju7{Xs<1k?kiqWswC@73W%>2AG*gwm-O^=n1Skfv+wvhS`SWm4z9UMV@L}?hi_mbg2V@ zT{g9yf4*Em5vYtsa!pZ*5(&8~Mt0uaLXsoen_qo5j9^}x7ddk`^@B|kvwo9$5{s_+ ztGlg;)CC(MV+vix2wn_O?=S??ckp(xUvxU#^oW&@ouB)~igWyVI(s-b=~`=1@8vhJ zuS7WtFu_7|5??1q#b=KBU^6$+iD1WwVnAs7#LT)?P|do?=a-RA6t0jSJoC{Rbeongnq$#4I_q>)W^8nR8); zs}|MYTsX8ykm0-+{dHHhY6<4?GBu zWQK1;AYrhxpQgb6+{~V9tGHj5{mBihcVq5S-f@E|SOc?KhAe3x?S4DEQ3l5jzU|cw z?fO$X34a?|H5CKA7eJId5l?}G7fa!?7)x;Qe^}BkkRl$XF#ugz`)`u0RdPB~VuSax z_e28=g5Jb^`let>POdmP_!OcfHrM^9%B8^}JSQZ8iu{R3%fK`Lx`-x90(GmXAT!RU zys^)@Puv4N(x!5(aa~)=h8yw_WP3Z{G?NSK-$nH!P?nE9Y`GkZsG|$&dAD`9o0aU~ zd#I~f&MJ}PJgU+jF!`l@fWQsDIJe%=XKf&awRElUQqSSHk9zD11~hpQf|6h7F&cU1s)Zo#5|! z+5C(h5d5y046DZI?As*|X?;fGz@CwVL&-cF{8vAxnFnhxT~{Un=URqZ7EWRHBguS@ zWSoRBhhyC}>s6F0V6^{B#%T)A9gLuzkWA=R`=Wk#!-hjbx63AEN-rAJDaOZJ0mvrt zJ94i-WO{8a&V|`T_A`fOCqUfSCeM*&>a7zfFn>6SjJkAGbF65hfJe5?)A+OdOArDc0d@{#mC|LT83;X)K0xK_#Och*lU8pc3I0CLXUZ! zGGTeq?Ej>d29CRWcg+jkXg=4{a|+S7;g0_T4&DF)A~OMEXe48N{X6zlSOaCC&_Ebr znSlbDwCYdwUUkx04L#;mlyikgDzpP{T$A0=G>g;5@5iLw!c&3nuJ(=Bn(|0DNaJEg zD+p>J7(DpzadlMi*YvqpZoyu=)jH9II^n$*wG$9k9->d3pkL8SC!O0^22^bkCr{dp z0v0%R)7uk~ccp*%{7b3!>1dNs6n9SLw^jV|xx}A@ zz(Swp^SjYk94HTb1HMcFMv5QnkDfp}^+jFu#48U`j`A|j z=sGex$&*5M#~`SA0caW^AUO;3;2rYgXv_^`D`GbVzRgcsNK*v*?OZSv6;Zqki4rJ& zB8OF$_%kru13&l^G7PnmV?L5Z#mAQ&c8fE|VQ>;gJ1*6tZds^Fsa~{ET{^c5Tj;7v zmq)(EX=lCdb`ry_5!_(-DDu)W%jWSRd2NGNkZZjEZi5eUA;=m7&q)gIL5U{9=GqFS z%r-986yARla#|Hkb%%widqC==|f zZfdoW%4-~0_IWVhmLf9z+wYJw@25&(KyCzybAEm2|C)L~Ga_ZCBgV zgV|b}@0^bGWt~t-IM^oGn?wc(G^9XzRaKk=I1eWpS_w7ok;E|)p+pYc1ik}@vw_3e zxBbIyLL-1E1^Yys3hnm%dIHGYfFGp-g{PL4{4sOhg%qGr&1*CTdofhKhKe&Z zr-svYN?r^YRcOU74uQ-Yh8oc+qW4~blW!no;_MPegHCQAhiib)sP77n=mKmzsfheM zrPU(9o`{Yw-z!DZ31nWHRcK^EVWg!Vf+$i1nCHvFTOBm~CLQnRaRw%>da05vDEa|! z6$w7G-$#NkU5MI|WM1t2#&xE0yw@FWREsd$(f0$PhSPlbuRuSKL<`wz6V+&o(DFT< zaU~#<2Y@E{Ih3N`Q!fbE0zZ$Lx7ID%NyPuE2#y$I@{08>OoGr&(@q2!ueKwYR~zM; z{y;?izMq5@xH~Qi&W^!6!$mkPd2R)AinPF{2c9C65FM+Y3Q896{633G z2$Y8bx&(+bhiOTsqFof=!*B);W=qP@(khGNam1Qb6LcG$&1%eC;(5XBsziwr1Ow+m za)MD*Et{E`g=bti=GZdnqHf2_3=ssZE^KO|KmeQDc@9C>pLYNDWv70!i)fMi*w(8= zro7}@BNiP~E_M>`q;XmZ57Rk!N8)CB)fpfY*F&@E1+`uJPk&k=vH8}4bZwr9Z zvb>cHrt~bE>3&6+T7qJ1UN$IflO$lMK`Yrr=r|wQYsZ1O6*oeRcfrI4#Imuot!8C$y{03u<~^_DZ)3jEF67H}(>rX@P~ujaa*V0p*Y^8+ zC-K*>MoARZe13KACpw!I zlkUdd#TI=vO?vN>M-qLuk=s9)uiK-Nq@7xtqiOcL)n+KlWF{la_-)(!j_r;~} zr}xf?U;U|p*%rV-3?i}fY4YZkk)776sB6P9Zx<13y$>PKrImMSdE0a=vIf-q1*8rM?%cVH_%+hR8XP)9a?}XMeoY=>J?qdE(lcS zBI6W-Ut<3fS7Y0(l~=Fp)wF2ZC3|Rgp8sOI3pK}PjPX|mtEZ_FBx+g}ChQaFF==pV z$tZir|JpgMj=g-N9Ne{wQW{tc4qo($B*1{m?H$@@p!4BrkM8Hu9Gy@`xw#U;c z)g%`Yo^;O?&G4KJ&G6Z3`k?m+WVLQ$_aK3lQEIW$mUsV^gQ7%+ zXDBKR!~U(@t480dU#3?7SBUevw89EO<&YtR#ZB;3kR9pd%{4ijX%1| z#94}~Rnr8s$yF(F%(U^&P8flov0xEA==)Cne?2t~#xuAqpuXElPqy@9+;r;5iJDhJ zzt8KP*PjnRJkOfEPtvx^pzcY0jqZ7W1PMj0YJhCjgmyGRcVVb!n0q5UVFu z0tVm=YVe-t{r>PIz3lX3|^s>sNwhj+W+TKO{gbI6%w^ zJ&Dv|G{-vhoV1Cav&B)5f8&Qo5oqE}5i2rzh!e8npU%pH(O}>*>LEIVoQW9Gq>`t` z#$h}~^8i8F?T%#h{mJXBa%9djwUiZJqL){)=xZ0Y!AN`$w%WNselu@7Nqssa>Dy}3@275Stg~$UQXo8c| z*?pwObYkV+l6hr=yCiaVL(D`>Sr5>|L%CSW-9FeQCzaji^>rODj`@t zdBfdrF)GwoT0FF`(2DdN7D2oj=ai8m-M$nnIF3BC7POK`%KIf?4p?g-3m&CY?i)G96)d$jVo zQd6KcI7&72zsX*I1+b0CG)f0fA1d?8bG}xk$A}^52!hV#is@yyBlA_iP;GxEkd-y_ z9qOKd3-I_-yv~d!%1)Sce*ITXOO4N-_^4ij2xKMhj9#O#c4KkYY`vZ&3qtm_mk@g^ zwcAFJ=X+Z{m7Q(38$Y$uBCzesVvj2!R+8``z;V7CNAll+BPtSwwLI@Nnd(Pnr%*`} z(&sIm(cm`96&J|#)<~)e-_fAc+hEycCd_^Ok%AU(k2?yC+@28=oUEM|RPpOP`z&Q6 zNsWHs_w|rL^{R$E;UxE=rr|1Fqg>$DArb1Emj5uoDzJ(ObQavJzH*JHR9S$QkGAuL z|2Hf6403`-K`P4|^Y8@TJCs=R_65EZ4T)#W)snG#LSrb&%Ex<2W&C0F8qPH2Y<~SQ z8iHNu*t}--6hfM`$xTvCj?lX&?)xb0Hxhl;FE$~>73NXsWK&BE#Zw)_vW%%p$CcN5va30rBqd!vRwvE;J%C2hOhAN)C@knlId%M>gF3s$`S&r)-ZlihX*X1 zjNCmF#rc_JSY|f>xI&OpnM;*}vT?m8N0v;r7AVt?pe71U7Uksl>DbZpsZo$qP7q4O z*oPk?!qsxs&P9vRU&Th6<%a2|tV-6?BdZ$Su03zp|9EnESf^>kfhG|L5Vz*=KG zSeL>48Y)aqxZGauqlMz*i3nuK!${T+Decp%j1s@<#6d`=%D*Z6ymJ|b42g=iqi5^m4RCN49{cW$0*RRRX@M8z?2F=tiwRSeitq}{ydlj^tO>O7Rl zHdu=J7;#LZ+#uRVGzW;X_!(4Xi1y$rT_5FW|K&z3)o&8rc?wT?Ff7YcX4Z{13FV}m;BbyJIx=)?!rtmtplX*uL1%|2Z z+pp5Hy;Qg_u>Xi%Ckq)X%qzH#8F`q|cb?j%h}S-Sp-;W2V=Hp^NFHVBJHzX9n#3AB zOEl@>fXZfy3T{Y=7JJP4y0l-_@n|czgmp5m_Sb`A|AYS3hP;Vb2oDALEd64R|l;nm!NY7OFfADTtZ zCRtNj-_=ILWcxBl{*XKw1XcUX$n!ZG$Y?NnOE)LB*J7I4{bDrjFFa1C(H3xjd%F@p z=4o8q#iP#;55W!zGb=@>owiZSNEe=C~PxJRnJ@VhdXDG?AM%h4%B(ixhp39-qVEl8~>5(94!Oq?9 zUP~I&#K&Z|VDaKm^Fccj1>6A^S)m+%xv01b3!hD!Y2q1#8`R%x;Gmr1T60q0F?6XN z(YqbARK6hOf=97^I@U7X{Unk&RqVyUD(`FB&nKM1-Xu_3;5QT=VYc!8`8z*jSvyS% z2R-m-hVP+6JF_>%i^vTvqfS%Ho(AuGxofvNS$CUw1%A6AW{;O^HG?(6W5tgqYM?i( zP9EE1?aBI>Pb1h9;RZEB4O&DTDd@R=-hUB8=M0Ip{AG6R{x&6OD$9_uOA$`PhkY}e zeu>w|d{nkty#J}8AU{-6dN%xs+b+xRjk)mT2*8RoI zXLv}kE63qWvl;5d7Q?$@_kDZf(tU7);54~==^0e!ZO9&koMC~#r(p8D6ddn$ofM4{ za{AM9vZ&xQBmHRNy{C;?S0I;J7lT7`ID}}DXcLEE0L0yXUqiZb9*p0g8IzPjlK-^s zh7;$RT9`YkGr-Lb(|D=8T(ulG84O4Ea7U#4BI7$Bys?AJ#6&k1yO=7U=XR1-Cafyr zpy*PE^RJS`-MhNxWYLuTm)$A8)l$30B4!JfzVxkb3C5`&QfHodfU+XGHB5EmYym#0 z$Tdmt12Uuj7u5?(&T|U+y3~!^2#^kEn&8^C3Ksi85)5lIlaW3Hr15!IetQN%O~?*B zGs3GeWKCC4erVc@pa$2ZgCVyYyHe!nQt@s#V9o(UPV0~|O%ec}9JXy8&9F<#{X8S~ zMTZtz9;mJ^ht{J`S;bs+8Z%w-*(BF`AC09XlbLoFUCls1ambop-gCu;!6Bs_J|zyj xfQw2G1dT@+|N8%<-0Xii?f?7qp#v{Sy%99EaQ-bauZ4MVvXV*?<>E$x{|o;Hj)edK