From d0d37da94a684476472408c117006b8564093acc Mon Sep 17 00:00:00 2001 From: rluisr Date: Mon, 10 Aug 2026 03:04:56 +0900 Subject: [PATCH 1/3] feat: add HAI model provider plugin Add HAI (https://hai.hcloud.ltd) OpenAI-compatible model provider for Dify Marketplace. - API: https://hai-api.hcloud.ltd/v1 - Models: kimi-k2.6, kimi-k3, deepseek-v4-flash, qwen3.6-35b-a3b, qwen3.6-35b-a3b-uncensored, gemma-4-31b-it - Package: rluisr/hai/hai-0.0.1.difypkg --- rluisr/hai/hai-0.0.1.difypkg | Bin 0 -> 10396 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 rluisr/hai/hai-0.0.1.difypkg diff --git a/rluisr/hai/hai-0.0.1.difypkg b/rluisr/hai/hai-0.0.1.difypkg new file mode 100644 index 0000000000000000000000000000000000000000..d3d74b85726b5849c985afcdbe347c24378f713a GIT binary patch literal 10396 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 I!}+)W1K(&nQ~&?~ literal 0 HcmV?d00001 From dd7a9483ea03e548d2c1c25cad40408a5ad39570 Mon Sep 17 00:00:00 2001 From: rluisr Date: Mon, 10 Aug 2026 03:05:51 +0900 Subject: [PATCH 2/3] fix: add privacy field to HAI plugin manifest --- rluisr/hai/hai-0.0.1.difypkg | Bin 10396 -> 10415 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/rluisr/hai/hai-0.0.1.difypkg b/rluisr/hai/hai-0.0.1.difypkg index d3d74b85726b5849c985afcdbe347c24378f713a..1dc81cdfbfb7cc53ba665311074b0636b71125b9 100644 GIT binary patch delta 660 zcmV;F0&D%8QLj<3UmXp)7z$mMMJwDH0ssJalWZLse}BPvYJb6aYIS%E009IkST}M6 z00000b&}6+(?Af$?|zE81*F)xNg7qYMO;YKiim$wxkO{{G+DB{UUt`k+!`bToS=wX z?@08>v6Pn~1i`7Vz}gAWq(ZXn&)@9M{&r@taHHHLU_`;K2{J?Ihz-ysP;11Eb{Ox4 zJMn`!e@?3BaV=nEGsCsxxk>^6QiF&06S&jq!nflO&_j(XOwkg9yP8y|8)muG=y)m! z_V*8Ezvlf zw8A5Sc2tL_&qy_+cG%oaLu{sXK*d1jh9VF6e*_1;{y)Iw>DT4_G{`KnQ^5V_n_{CqW#qn&-<<&JX?`@I6Vs^Heeex*+ zp85Jg`5xE-smM--fxwi+W>GgT5J+-Z#?fS>@*4t5)^4qok(DxqQe?_#na7!_&bjjK zf0W2oWeQZo0*91~N+>358f2U-+Eu55XNtlG6A z(I%g8M&_1Z6HQTyz>v)glTo#jd_SfMG}?Qu=5A}Z?LAFKa% z(ApD1Zv2-U3|5l}M=0zc-*{JzH$AI~II>a0(Q~&MD4hYxlo<0fxD|8us^RkdKYVVg z%X(Io3AQSy4WD4<@7}-Hebl*q7)ciV22e`_1d~4~7_+_~Gzbm47z$mMMJwDH0ssJa ulm90t0)N4i(IOXEep1tutByB&!e8IR-75Q<>Bzkrhlxb}n;B`@Ez zoiFb_QkZG3B2cWLS~;mgVlaz|iJ;Z>yP@kJyB+_5???6ZxaDN1Q$?krxriJ96!F9R z5!~$$;M?*8e+-Ev!cBwu>w00k34=Cdh*BfY+O<4y2m<3;pzFrVI)DeU(~%Ha5x%L z<%vqC)zbySv#_^|6t5#y2!X1~R_7SCkU15$ot#inLq^1;AQOy0E^PC6aE?k>9fell zb-FF*e;V;U-|IMnaJyqls3Tc1p+Z+*;B~upCQ{{dnxVR5*LVxUnWIqWg-WqriMAh$ z2)f~MFF5KQg_cQFoNC<+Qghlatkj8}m@ERL3Tzl-eDA&5ph!K5FeXg@;mT4m+h Date: Mon, 10 Aug 2026 20:06:52 +0900 Subject: [PATCH 3/3] fix: add requirements.txt with dify_plugin>=0.9.0 Address review feedback: package now installs dify_plugin via requirements.txt. --- rluisr/hai/hai-0.0.1.difypkg | Bin 10415 -> 10595 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/rluisr/hai/hai-0.0.1.difypkg b/rluisr/hai/hai-0.0.1.difypkg index 1dc81cdfbfb7cc53ba665311074b0636b71125b9..c74d5327aa151184e9e04f9f564e2d677666595c 100644 GIT binary patch delta 590 zcmZ1<_&8`o4O2ZA0|?w&z!jTeGVzr#kPX5D3^EKwsfDGPMX9-|c_qbqB^4#1A)E}% zr#Dn)odM#~3T_5Q7R?CrA{LPTl+3is_=23$^vpavTLV2yJp--)Z)O$|pcDt#@cU8~ z>lXldM}U|QXm~+oK~a8IYVzcHOx(;s11C2~icCJh#9x1VWpmSlfcBslT0uEQYnIQL zueS2RUGt>#-}W9ZwtD_nI^|8Lq{)S*O_>gEVjmdS-rV+}>3NR^$EC&H|EpF;RTU?! zGMgN>Tk%mb+p4uqGu4V5S?Bd#yDW8lsvv*!t)JDwSFg8aZ#{Zm+_vS++QM5mH(7lA zv!m8~8NDLHwHx&v3ZGy_ABtD}pr>*RiQ^~tOnazL9^G=i9f6((0`X!1!iNHWajU|`sw H015&Cp99Y! delta 417 zcmaDHv_5b{4HLfz0|NsG1BW;(SnKju$Vk#3ZwjmS-ISL73Vsd6l{0>SU-K$ zQgilYS;m=LrIqZ`7u?dCk*Ope^5A8L?b^Z^$&Usr=I%EStP32(bPBPk{>{fQxr|?B@=jF;rrQFOf2&3@YEKSR3u6qKyjCraNk??DzN*Y*P4ysV zRdI&N3&a&C&sTR~WS;y$-G|X-vaUun(@&|%T^hcOp_6ZD1Tk%upRA*)$tMA{+ns}f JAxHsaKLBtrknI2f