Compare commits

...
2999 Commits
Author SHA1 Message Date
Novice 986b75a5c0 fix: agent parallel wrong 2025-02-11 09:23:07 +08:00
Yeuoly f6472e8709 Merge branch 'plugins/beta' into dev/plugin-deploy 2025-02-10 21:13:59 +08:00
YeuolyandGitHub 50cfb7c9ec fix: allow variable message to be any (#13494) 2025-02-10 21:13:28 +08:00
JoelandGitHub 8281c688ca fix: iteration open parallel not show iteration detail (#13476) 2025-02-10 16:05:05 +08:00
Yi XiaoandGitHub ad9d6eb5f4 fix app detail panel merge issues (#13460) 2025-02-10 14:24:48 +08:00
JzoNg b0a8dec59e Merge branch 'tp' into dev/plugin-deploy 2025-02-10 12:44:53 +08:00
JzoNg ae800c21dd chore: fix DSL crash 2025-02-10 12:41:54 +08:00
JzoNg e149775616 use mixed type for string 2025-02-10 12:29:16 +08:00
JzoNg e8eab14658 checklist for tool 2025-02-10 12:29:16 +08:00
JzoNg 45db7d9cd4 hide params outside 2025-02-10 12:29:16 +08:00
JzoNg d8779b0da2 support variable for string 2025-02-10 12:29:16 +08:00
JzoNg 5d7400c8bb support variable for number, select, file 2025-02-10 12:29:16 +08:00
zxhlyhandJzoNg 6d36f2d239 fix: crash 2025-02-10 12:29:16 +08:00
JzoNg 8ac6bc0b5a tool setting support variable 2025-02-10 12:29:16 +08:00
Yi 27f2b2050d Merge branch 'fix/app-detail-panel-merge-issue' into dev/plugin-deploy 2025-02-10 12:01:57 +08:00
Yi d53282bb44 fix app detail panel merge issues 2025-02-10 11:55:20 +08:00
zxhlyhandGitHub aa3dc9002c fix: workflow chat preview (#13455) 2025-02-10 11:15:56 +08:00
JzoNg 82ead2735b Merge branch 'tp' into dev/plugin-deploy 2025-02-08 22:12:34 +08:00
JzoNg 27185eb98b use mixed type for string 2025-02-08 22:07:28 +08:00
JzoNg e06dc48472 checklist for tool 2025-02-08 21:57:23 +08:00
JzoNg 9f013d6590 hide params outside 2025-02-08 21:57:23 +08:00
JzoNg d51bd90394 support variable for string 2025-02-08 21:57:23 +08:00
JzoNg 91b89d755e support variable for number, select, file 2025-02-08 21:57:23 +08:00
zxhlyh 1409c81e76 fix: crash 2025-02-08 21:09:27 +08:00
+85 4a43e165fb Plugin/merge main 20250208 (#13414)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Signed-off-by: xhe <xw897002528@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: kurokobo <kuro664@gmail.com>
Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com>
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: Gen Sato <52241300+halogen22@users.noreply.github.com>
Co-authored-by: eux <euxuuu@gmail.com>
Co-authored-by: huangzhuo1949 <167434202+huangzhuo1949@users.noreply.github.com>
Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com>
Co-authored-by: lotsik <lotsik@mail.ru>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gakkiyomi <gakkiyomi@aliyun.com>
Co-authored-by: CN-P5 <heibai2006@gmail.com>
Co-authored-by: CN-P5 <heibai2006@qq.com>
Co-authored-by: Chuehnone <1897025+chuehnone@users.noreply.github.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Boris Feld <lothiraldan@gmail.com>
Co-authored-by: mbo <himabo@gmail.com>
Co-authored-by: mabo <mabo@aeyes.ai>
Co-authored-by: Warren Chen <warren.chen830@gmail.com>
Co-authored-by: KVOJJJin <jzongcode@gmail.com>
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
Co-authored-by: jiandanfeng <chenjh3@wangsu.com>
Co-authored-by: zhu-an <70234959+xhdd123321@users.noreply.github.com>
Co-authored-by: zhaoqingyu.1075 <zhaoqingyu.1075@bytedance.com>
Co-authored-by: 海狸大師 <86974027+yenslife@users.noreply.github.com>
Co-authored-by: Xu Song <xusong.vip@gmail.com>
Co-authored-by: rayshaw001 <396301947@163.com>
Co-authored-by: Ding Jiatong <dingjiatong@gmail.com>
Co-authored-by: Bowen Liang <liangbowen@gf.com.cn>
Co-authored-by: JasonVV <jasonwangiii@outlook.com>
Co-authored-by: le0zh <newlight@qq.com>
Co-authored-by: zhuxinliang <zhuxinliang@didiglobal.com>
Co-authored-by: k-zaku <zaku99@outlook.jp>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: luckylhb90 <luckylhb90@gmail.com>
Co-authored-by: hobo.l <hobo.l@binance.com>
Co-authored-by: jiangbo721 <365065261@qq.com>
Co-authored-by: 刘江波 <jiangbo721@163.com>
Co-authored-by: Shun Miyazawa <34241526+miya@users.noreply.github.com>
Co-authored-by: EricPan <30651140+Egfly@users.noreply.github.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: sino <sino2322@gmail.com>
Co-authored-by: Jhvcc <37662342+Jhvcc@users.noreply.github.com>
Co-authored-by: lowell <lowell.hu@zkteco.in>
Co-authored-by: Ademílson Tonato <ademilsonft@outlook.com>
Co-authored-by: Ademílson Tonato <ademilson.tonato@refurbed.com>
Co-authored-by: IWAI, Masaharu <iwaim.sub@gmail.com>
Co-authored-by: Yueh-Po Peng (Yabi) <94939112+y10ab1@users.noreply.github.com>
Co-authored-by: 非法操作 <hjlarry@163.com>
Co-authored-by: Jason <ggbbddjm@gmail.com>
Co-authored-by: Xin Zhang <sjhpzx@gmail.com>
Co-authored-by: yjc980121 <3898524+yjc980121@users.noreply.github.com>
Co-authored-by: heyszt <36215648+hieheihei@users.noreply.github.com>
Co-authored-by: Abdullah AlOsaimi <osaimiacc@gmail.com>
Co-authored-by: Abdullah AlOsaimi <189027247+osaimi@users.noreply.github.com>
Co-authored-by: Yingchun Lai <laiyingchun@apache.org>
Co-authored-by: Hash Brown <hi@xzd.me>
Co-authored-by: zuodongxu <192560071+zuodongxu@users.noreply.github.com>
Co-authored-by: Masashi Tomooka <tmokmss@users.noreply.github.com>
Co-authored-by: aplio <ryo.091219@gmail.com>
Co-authored-by: Obada Khalili <54270856+obadakhalili@users.noreply.github.com>
Co-authored-by: Nam Vu <zuzoovn@gmail.com>
Co-authored-by: Kei YAMAZAKI <1715090+kei-yamazaki@users.noreply.github.com>
Co-authored-by: TechnoHouse <13776377+deephbz@users.noreply.github.com>
Co-authored-by: Riddhimaan-Senapati <114703025+Riddhimaan-Senapati@users.noreply.github.com>
Co-authored-by: MaFee921 <31881301+2284730142@users.noreply.github.com>
Co-authored-by: te-chan <t-nakanome@sakura-is.co.jp>
Co-authored-by: HQidea <HQidea@users.noreply.github.com>
Co-authored-by: Joshbly <36315710+Joshbly@users.noreply.github.com>
Co-authored-by: xhe <xw897002528@gmail.com>
Co-authored-by: weiwenyan-dev <154779315+weiwenyan-dev@users.noreply.github.com>
Co-authored-by: ex_wenyan.wei <ex_wenyan.wei@tcl.com>
Co-authored-by: engchina <12236799+engchina@users.noreply.github.com>
Co-authored-by: engchina <atjapan2015@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 呆萌闷油瓶 <253605712@qq.com>
Co-authored-by: Kemal <kemalmeler@outlook.com>
Co-authored-by: Lazy_Frog <4590648+lazyFrogLOL@users.noreply.github.com>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
Co-authored-by: Yi Xiao <54782454+YIXIAO0@users.noreply.github.com>
Co-authored-by: Steven sun <98230804+Tuyohai@users.noreply.github.com>
Co-authored-by: steven <sunzwj@digitalchina.com>
Co-authored-by: Kalo Chin <91766386+fdb02983rhy@users.noreply.github.com>
Co-authored-by: Katy Tao <34019945+KatyTao@users.noreply.github.com>
Co-authored-by: depy <42985524+h4ckdepy@users.noreply.github.com>
Co-authored-by: 胡春东 <gycm520@gmail.com>
Co-authored-by: Junjie.M <118170653@qq.com>
2025-02-08 19:12:36 +08:00
JzoNg 26838eb42a tool setting support variable 2025-02-08 17:11:24 +08:00
Yeuoly f0098d17ed Merge branch 'fix/import-old-dsl' into dev/plugin-deploy 2025-02-08 16:58:55 +08:00
Yeuoly 54e9748240 fix: supporting return current identifier 2025-02-08 16:02:10 +08:00
Yeuoly 48111a7f71 Merge branch 'fix/import-old-dsl' into dev/plugin-deploy 2025-02-08 15:29:16 +08:00
Yeuoly cdd610f94f fix: handle jina/gemini/siliconflow 2025-02-08 15:26:51 +08:00
Yeuoly daf11f4af1 Merge branch 'fix/import-old-dsl' into dev/plugin-deploy 2025-02-08 14:54:28 +08:00
Yeuoly e3a81f09a9 fix: ruff 2025-02-08 14:54:02 +08:00
Yeuoly 8d5a8f0153 fix: using latest plugin as the dep of DSL under 0.1.15 2025-02-08 14:53:43 +08:00
zxhlyhandGitHub 4d25b598f9 fix: template app check dependency (#13389) 2025-02-08 14:11:20 +08:00
JoelandGitHub 3e9c3d0bb7 fix: install installed plugin problem (#13384) 2025-02-08 11:31:55 +08:00
zxhlyhandGitHub fec3bb4469 fix: models sort in model page (#13334) 2025-02-07 17:30:04 +08:00
JyongandGitHub d4a09805a3 improve preview document tokenizer (#13328) 2025-02-07 16:08:25 +08:00
zxhlyhandGitHub 7e1d9894fb fix: plugins task permission (#13330) 2025-02-07 16:02:12 +08:00
zxhlyhandGitHub a8a8a5513c fix: app check dependency (#13320) 2025-02-07 14:04:49 +08:00
Nite KniteandGitHub 470e72c820 chore: bump katex version and tweak UI copy (#13280) 2025-02-07 14:02:57 +08:00
Novice Lee 95eeb7b0d1 feat: agent node custom tool input 2025-02-07 11:02:31 +08:00
Yeuoly 933b6abc13 fix: ci 2025-02-06 18:36:14 +08:00
Yeuoly 1097bf314a Merge branch 'plugins/beta' into dev/plugin-deploy 2025-02-06 18:30:49 +08:00
Boris PolonskyandGitHub beebba0340 Unify plugin endpoint configuration for api and worker: An alternative solution to PR #13214 (#13239) 2025-02-06 11:29:37 +08:00
YeuolyandGitHub 4e27d82d68 improve: remove docker-legacy (#13236) 2025-02-05 20:28:02 +08:00
Boris PolonskyandGitHub cdeaf3f70b Fix ruff linting error caused by api/models/dataset.py (#13221) 2025-02-05 17:45:23 +08:00
YeuolyandGitHub 24839bb3e1 fix: mismatches dependencies in dockerfile (#13220) 2025-02-05 17:00:26 +08:00
KVOJJJinandGitHub 1650dbfbb1 Fix: merge error of tracing and web app setting modal (#13219) 2025-02-05 16:16:28 +08:00
JoelandGitHub fd11817044 fix: select input not show save value (#13218) 2025-02-05 16:13:40 +08:00
Wu TianweiandGitHub 6642fc6012 fix: fix fallback route logic (#13199) 2025-02-05 14:38:36 +08:00
KVOJJJinandGitHub 2710242982 Feat: feature and log dark mode (#13208) 2025-02-05 13:58:19 +08:00
kurokoboandGitHub 1de84fdda0 fix: correct env vars for docker deployment (#13055) 2025-01-27 11:19:29 +08:00
Wu TianweiandWTW0313 4920821270 feat: docx image preview (#13057) 2025-01-26 16:08:58 +08:00
JyongandWTW0313 a16c729d5a add sign-content (#13050) 2025-01-26 16:05:19 +08:00
Wu TianweiandGitHub 3befbc1d68 feat: docx image preview (#13057) 2025-01-26 15:12:05 +08:00
JyongandGitHub 62c413aca5 add sign-content (#13050) 2025-01-26 10:58:47 +08:00
JoelandGitHub 6887b501b8 fix: can choose selected tools and show tool name instead of label (#13025) 2025-01-24 22:34:09 +08:00
非法操作andGitHub f93bf131ab fix(1.0): explore market page empty (#13017) 2025-01-24 18:43:56 +08:00
非法操作andGitHub ef1f429437 fix(1.0): update github plugin 404 (#13014) 2025-01-24 18:42:14 +08:00
KVOJJJinandGitHub c966bf1474 Feat: dark mode of app configure (#13010) 2025-01-24 14:16:35 +08:00
+42 899df30bf6 Plugin/merge main to plugin/beta 20250122 (#12962)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: kurokobo <kuro664@gmail.com>
Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com>
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: Gen Sato <52241300+halogen22@users.noreply.github.com>
Co-authored-by: eux <euxuuu@gmail.com>
Co-authored-by: huangzhuo1949 <167434202+huangzhuo1949@users.noreply.github.com>
Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com>
Co-authored-by: lotsik <lotsik@mail.ru>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gakkiyomi <gakkiyomi@aliyun.com>
Co-authored-by: CN-P5 <heibai2006@gmail.com>
Co-authored-by: CN-P5 <heibai2006@qq.com>
Co-authored-by: Chuehnone <1897025+chuehnone@users.noreply.github.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Boris Feld <lothiraldan@gmail.com>
Co-authored-by: mbo <himabo@gmail.com>
Co-authored-by: mabo <mabo@aeyes.ai>
Co-authored-by: Warren Chen <warren.chen830@gmail.com>
Co-authored-by: KVOJJJin <jzongcode@gmail.com>
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
Co-authored-by: jiandanfeng <chenjh3@wangsu.com>
Co-authored-by: zhu-an <70234959+xhdd123321@users.noreply.github.com>
Co-authored-by: zhaoqingyu.1075 <zhaoqingyu.1075@bytedance.com>
Co-authored-by: 海狸大師 <86974027+yenslife@users.noreply.github.com>
Co-authored-by: Xu Song <xusong.vip@gmail.com>
Co-authored-by: rayshaw001 <396301947@163.com>
Co-authored-by: Ding Jiatong <dingjiatong@gmail.com>
Co-authored-by: Bowen Liang <liangbowen@gf.com.cn>
Co-authored-by: JasonVV <jasonwangiii@outlook.com>
Co-authored-by: le0zh <newlight@qq.com>
Co-authored-by: zhuxinliang <zhuxinliang@didiglobal.com>
Co-authored-by: k-zaku <zaku99@outlook.jp>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: luckylhb90 <luckylhb90@gmail.com>
Co-authored-by: hobo.l <hobo.l@binance.com>
Co-authored-by: jiangbo721 <365065261@qq.com>
Co-authored-by: 刘江波 <jiangbo721@163.com>
Co-authored-by: Shun Miyazawa <34241526+miya@users.noreply.github.com>
Co-authored-by: EricPan <30651140+Egfly@users.noreply.github.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: sino <sino2322@gmail.com>
Co-authored-by: Jhvcc <37662342+Jhvcc@users.noreply.github.com>
Co-authored-by: lowell <lowell.hu@zkteco.in>
2025-01-23 14:48:16 +08:00
zxhlyhandGitHub 8d8d3e3f2f fix: plugin search api url (#12977) 2025-01-23 14:25:24 +08:00
非法操作andGitHub 5f0fa38ec6 fix(1.0): invoke llm raise error (#12753) 2025-01-22 16:46:35 +08:00
YeuolyandGitHub cc1fe70d34 fix: add adapter for datasets update checking (#12939) 2025-01-22 15:40:06 +08:00
Hiroki NagaiandGitHub 15ee1e11be fix: 500 error in Notion integration API (#12934) 2025-01-22 14:38:01 +08:00
JoelandGitHub c8b4a76530 fix: agent node output vars error (#12931) 2025-01-22 13:33:27 +08:00
Novice Lee 4765728cef feat: add agent node stream output 2025-01-22 09:59:40 +08:00
YeuolyandGitHub 6ee4eba86b fix: change default PLUGIN_DAEMON_URL to http://localhost:5002 (#12915) 2025-01-21 22:30:24 +08:00
非法操作andGitHub 357d2e8be8 fix(1.0): add cross-env to pnpm run dev (#12600) 2025-01-21 19:51:32 +08:00
kurokoboandGitHub b5accda3fe fix: correct validation for agent node which is invoked before publishing the app (#12805) 2025-01-21 10:07:25 +08:00
非法操作andGitHub de4752a16b fix(1.0): unexpected error raise (#12812) 2025-01-21 10:04:56 +08:00
非法操作andGitHub 60427f1adf chore(1.0): improve some environment variables (#12814) 2025-01-21 10:04:46 +08:00
非法操作andGitHub 1a313c868d fix(1.0): sometimes add tool raise error (#12821) 2025-01-21 10:04:05 +08:00
YeuolyandGitHub 0b32b1988f fix: missing tenant_id in get_signed_file_url_for_plugin (#12734) 2025-01-14 19:39:21 +08:00
KVOJJJinandGitHub e56c051d97 Fix: tool card info (#12726) 2025-01-14 16:10:00 +08:00
Novice Lee 5063f27916 Merge branch 'fix/correct-provider-type' into dev/plugin-deploy 2025-01-14 14:21:15 +08:00
Novice Lee 11428172eb fix: correct the provider type 2025-01-14 14:20:03 +08:00
Joel 0ae072dd75 chore: add plugin/deploy deploy 2025-01-14 14:13:43 +08:00
Joel d6b9648332 merge 2025-01-14 11:35:29 +08:00
JoelandGitHub 0a6b4d01d7 fix: save tool not add type (#12712) 2025-01-14 10:28:41 +08:00
Novice Lee 8865bdca05 feat: add agent strategy on node start 2025-01-13 13:30:35 +08:00
98b139c680 feat: add agent strategy on node start (#12667)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2025-01-13 13:04:05 +08:00
zxhlyhandGitHub f0a3c14adb fix: plugins task (#12662) 2025-01-13 10:59:34 +08:00
YeuolyandGitHub 51947575c2 feat: add skip signature verification (#12627) 2025-01-10 20:37:33 +08:00
YeuolyandGitHub cb8debee3e Plugins/fix backend ci errors (#12615) 2025-01-10 19:46:59 +08:00
zxhlyhandGitHub d56079a549 fix: marketplace card i18n (#12623) 2025-01-10 18:15:58 +08:00
zxhlyhandGitHub c08b451874 fix: marketplace page list style (#12613) 2025-01-10 17:31:09 +08:00
非法操作andGitHub ac336ff359 fix(1.0): add missing environment variable (#12599) 2025-01-10 17:17:13 +08:00
JoelandGitHub 4cbd511cd7 fix: ci use pnpm error (#12597) 2025-01-10 16:55:16 +08:00
YeuolyandGitHub c03adcb154 Fix: style checks and unittests (#12603) 2025-01-10 16:40:39 +08:00
Hiroshi FujitaandGitHub 04dade2f9b fix: update fetchReleases to use owner and repo from meta (#12590) 2025-01-10 15:46:10 +08:00
kurokoboandGitHub f69220ca96 fix: add location directive for /explore (#12572) 2025-01-10 15:42:32 +08:00
Wu TianweiandGitHub a5e24ff6d3 fix: update language change handling in I18n component (#12596)
ok
2025-01-10 14:47:24 +08:00
zxhlyhandGitHub 71976f9192 fix: marketplace serach bundle (#12581) 2025-01-10 14:03:00 +08:00
39ec6c8025 Fix/setting model page crash (#12594)
Co-authored-by: JzoNg <jzongcode@gmail.com>
2025-01-10 13:10:58 +08:00
NFishandGitHub e370045ac4 Fix:screenshots image missed (#12589) 2025-01-10 11:47:20 +08:00
YeuolyandGitHub 28edbbac0b Plugins/bump to 1.0.0 beta.1 (#12568) 2025-01-09 22:46:24 +08:00
YeuolyandGitHub 782abcecd8 bump version to 1.0.0-beta.1 (#12567) 2025-01-09 22:38:20 +08:00
YeuolyandGitHub 4deb02fc2c fix: rename plugin db name to dify_plugin (#12565) 2025-01-09 21:56:24 +08:00
JoelandGitHub f967180dc2 fix: not show stragry type (#12561) 2025-01-09 20:55:17 +08:00
YeuolyandGitHub cead13cbc3 plugins: remove middleware.1.yaml (#12559) 2025-01-09 20:34:49 +08:00
YeuolyandGitHub 078c151065 fix: add-default-console-url (#12558) 2025-01-09 20:34:13 +08:00
YeuolyandGitHub 17babca362 Introducing: Plugin Mechanism (#12553) 2025-01-09 19:54:17 +08:00
AkaraChenandGitHub 8efed8858c feat: reset parameters when switch agent strategy (#12549) 2025-01-09 19:31:02 +08:00
YeuolyandGitHub 0d411a0b5a feat: refactor docker-compose (#12550) 2025-01-09 19:08:11 +08:00
13f0c01f93 feat: add ci checks to plugins/beta branch (#12542)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2025-01-09 18:57:09 +08:00
3c014f3ae5 Feat/plugins (#12547)
Co-authored-by: AkaraChen <akarachen@outlook.com>
Co-authored-by: Yi <yxiaoisme@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: twwu <twwu@dify.ai>
Co-authored-by: kurokobo <kuro664@gmail.com>
Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com>
2025-01-09 18:47:41 +08:00
zxhlyh da8e1ded55 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-09 18:33:53 +08:00
zxhlyh d78c7fc9f2 fix: agent log 2025-01-09 18:31:17 +08:00
JzoNg dc6e02f3ec fix plugin card 2025-01-09 17:46:46 +08:00
AkaraChen 4042c1f6c4 fix: prevent show error when data is not ready 2025-01-09 17:41:27 +08:00
AkaraChen b450c6f976 fix: checklist show error when strategy provider list not fetched 2025-01-09 17:41:08 +08:00
AkaraChen 4e29694a46 feat: show error when not select required model 2025-01-09 17:37:43 +08:00
AkaraChen 43f60cec24 feat: show error when not select required model 2025-01-09 17:37:29 +08:00
Yeuoly e4c4490175 refactor 2025-01-09 17:27:05 +08:00
AkaraChen 4bbcc78c84 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 17:23:06 +08:00
AkaraChen 31e0aea181 fix: checklist show error when import dsl 2025-01-09 17:23:01 +08:00
Novice Lee 26ab0314a9 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 17:21:10 +08:00
Novice Lee 4b5586375f feat: add node id in agent log 2025-01-09 17:20:53 +08:00
Yi 6b0325d01d fix: revert prev commit bc it causes corner issues 2025-01-09 17:15:55 +08:00
Yeuoly 94a62f6b4e enhancement: remove unrequired deps 2025-01-09 17:06:38 +08:00
Novice Lee ffbbd47d13 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 16:55:58 +08:00
Novice Lee d76af08784 feat: add agent log icon 2025-01-09 16:55:17 +08:00
Yeuoly f748d6c7c4 fix: mypy issues 2025-01-09 16:53:30 +08:00
Novice Lee 2b20ba697c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 16:50:35 +08:00
Novice Lee ff5d12a437 feat: add agent log icon 2025-01-09 16:50:05 +08:00
Yi 3bdaf2dcae chore: avoid unnecessary loading for the model selector in agent node 2025-01-09 16:48:02 +08:00
JzoNg dfe69a9c13 keep panel show after tool selecting 2025-01-09 16:39:54 +08:00
AkaraChen 6d55ecd7fd fix: modal label show when no model selected 2025-01-09 16:39:42 +08:00
AkaraChen 90b390346b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 16:22:24 +08:00
AkaraChen 60b582d97a chore: remove log 2025-01-09 16:22:13 +08:00
JzoNg ad94bcc2b3 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-09 16:19:03 +08:00
JzoNg f2f0265b3e fix style of required 2025-01-09 16:18:08 +08:00
zxhlyh e1db41a1b3 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-09 16:14:28 +08:00
zxhlyh f7edff6c6b fix: agent log 2025-01-09 16:13:59 +08:00
AkaraChen 145ef794b6 fix: switch version not work 2025-01-09 16:08:20 +08:00
AkaraChen efb6a5dd3e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 15:48:00 +08:00
AkaraChen 0fe4fd65e2 fix: down arrow not shown not agent strategy selector 2025-01-09 15:47:50 +08:00
Joel ab66f30e1d feat: add parallel test case 2025-01-09 15:31:44 +08:00
AkaraChen 566dc9b4a8 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 15:17:31 +08:00
AkaraChen 641395b3ec feat: agent strategy form support required mark 2025-01-09 15:17:27 +08:00
Joel db60150f30 chore: change use new log struct generator 2025-01-09 15:08:05 +08:00
AkaraChen b964c713bd chore: add tooltip props to agent strategy select 2025-01-09 14:56:46 +08:00
AkaraChen 7b4d49a79c Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 14:53:07 +08:00
AkaraChen 0ad08f523b chore: add tooltip props to agent strategy select 2025-01-09 14:52:59 +08:00
Yi f4ca5938ec Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 14:47:17 +08:00
Yi 38437efec0 fix: change "upgrade" to "install" for generality in plugin version switch 2025-01-09 14:47:08 +08:00
JzoNg 9604e54df5 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-09 14:42:53 +08:00
JzoNg 52553a66ba fix style of agent strategy 2025-01-09 14:40:58 +08:00
AkaraChen a87c2d7e20 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 14:31:49 +08:00
AkaraChen 08cff0045d feat: form not installed indicator 2025-01-09 14:31:43 +08:00
JzoNg 195a507b40 dark mode of api 2025-01-09 14:14:08 +08:00
JzoNg d7ec013665 modals of app overview 2025-01-09 14:14:08 +08:00
Joel 371febf3cf chore: merge 2025-01-09 13:55:37 +08:00
Joel dc9675d2d8 fix: plugin tool width in agent app 2025-01-09 13:53:07 +08:00
Joel 06fe17c93e chore: enchance fold into anim 2025-01-09 13:45:30 +08:00
Yeuoly edf9409877 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 13:37:15 +08:00
Yeuoly 76e24d91c0 fix: migrations 2025-01-09 13:30:43 +08:00
AkaraChen 5ec4695e4a feat: tool icon check plugin status 2025-01-09 13:29:23 +08:00
AkaraChen bb60db7078 feat: tool selector get icon from marketplace 2025-01-09 13:00:43 +08:00
AkaraChen e3e8eafd32 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-09 11:53:30 +08:00
AkaraChen eff6a55960 fix: install button 2025-01-09 11:53:24 +08:00
Yi a7f0933e55 chore: add checks in the url fetch step of the installFromGitHub 2025-01-09 11:52:44 +08:00
JzoNg eaf1177cd4 dark mode of overview card view 2025-01-09 11:35:37 +08:00
JzoNg 297b5280f0 tracing modal & config 2025-01-09 11:35:37 +08:00
Joel 4aac48ed61 feat: github install add anim 2025-01-09 11:29:48 +08:00
Joel 192af8df9f feat: local and bundle support hide anim 2025-01-09 11:16:33 +08:00
Novice Lee 805e9638da fix: change the agent strategy category 2025-01-09 11:14:08 +08:00
Novice Lee 5ce4ddc0ed fix: change the agent strategy category 2025-01-09 11:13:00 +08:00
Joel 9822445c1e chore: all hide logic to hooks 2025-01-09 11:04:23 +08:00
Joel 018e32e355 fix: installed not clear countdown 2025-01-09 10:49:22 +08:00
zxhlyh 41b720502f merge main 2025-01-09 10:40:46 +08:00
zxhlyh cd30fd5a9a Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-09 10:36:18 +08:00
zxhlyh a157af724f fix: marketplace submit button 2025-01-09 10:35:47 +08:00
Hiroshi FujitaandGitHub b4c1c2f731 fix: Reverse sync docker-compose-template.yaml (#12509) 2025-01-09 10:21:22 +08:00
AkaraChen cc0d864599 fix: agent node tool list header width 2025-01-09 09:55:56 +08:00
Novice Lee 00ad751a57 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 08:48:00 +08:00
Novice Lee 491d641485 feat: add agent node log 2025-01-09 08:32:32 +08:00
kurokoboandGitHub 1b940e7daa feat: add ci job to test template for docker compose (#12514) 2025-01-09 00:04:58 +08:00
Yeuoly 172c5f19cc fix: formatter 2025-01-08 21:11:58 +08:00
Yeuoly b7d168ac59 fix: mypy linter 2025-01-08 21:11:42 +08:00
Yeuoly fb309462ad Merge branch 'main' into fix/chore-fix 2025-01-08 20:36:22 +08:00
JzoNg f1794a3d1b Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-08 20:02:34 +08:00
JzoNg 4a6a1b9855 chore: fix request form data 2025-01-08 20:01:01 +08:00
Joel 7ccc268ced fix: stop anim 2025-01-08 19:34:41 +08:00
Joel 6483d20f56 feat: install countdown 2025-01-08 19:25:01 +08:00
AkaraChen 5c82aebf4e Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-08 19:09:22 +08:00
非法操作andGitHub f4ee50a7ad chore: improve app doc (#12490) 2025-01-08 18:37:12 +08:00
JyongandGitHub bee32d960a fix #12453 #12482 (#12495) 2025-01-08 18:26:05 +08:00
Yi 61237e8037 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 17:55:41 +08:00
Yi aae601f233 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 17:55:19 +08:00
AkaraChen 701520ffd0 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 17:54:31 +08:00
AkaraChen 596e3409b7 fix: agent prompt 2025-01-08 17:54:24 +08:00
Yi 38dd285656 fix: long model name display issue 2025-01-08 17:53:25 +08:00
zxhlyh 9ab39c3feb Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-08 17:49:11 +08:00
zxhlyh 0248c8cb8c fix: agent key 2025-01-08 17:48:26 +08:00
YoungLHandGitHub 040a3b782c FEAT: support milvus to full text search (#11430)
Signed-off-by: YoungLH <974840768@qq.com>
2025-01-08 17:39:53 +08:00
AkaraChen 88b3c0b7a6 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 17:36:32 +08:00
AkaraChen 3ae7787011 fix: number not supported 2025-01-08 17:36:26 +08:00
Yi c357ec0f7c chore: add loading to the model selector trigger 2025-01-08 17:27:03 +08:00
Yi 763f91fcea Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 17:12:01 +08:00
Yi 62d53399ae fix: add bg color to the top section in plugins page 2025-01-08 17:11:55 +08:00
Joel c3215a8f94 feat: fold into animation 2025-01-08 17:02:47 +08:00
AkaraChen d65c1218ae Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 16:57:01 +08:00
AkaraChen 83723212af fix: agent node getNodeUsedVars 2025-01-08 16:56:56 +08:00
Yi 84c2a9dc3b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 16:51:14 +08:00
Yi 87d7df3ed4 fix: make the status indicator component compatible with the switch plugin version component 2025-01-08 16:51:06 +08:00
zxhlyh 5cc9c79284 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-08 16:47:27 +08:00
zxhlyh 586f9d8d89 fix: agent log 2025-01-08 16:46:35 +08:00
WTW0313 b656b7a0dd Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 16:41:22 +08:00
WTW0313 0fdf7b23c6 feat: add 'agent' tag to plugin constants and translations 2025-01-08 16:41:16 +08:00
Yi 369e3eb97f feat: add version switch in model selector 2025-01-08 16:39:56 +08:00
AkaraChen f58eef74b3 feat: switch plugin version changelog 2025-01-08 16:19:41 +08:00
AkaraChen 2fd083629d feat: new switch plugin version 2025-01-08 15:58:05 +08:00
Yi 755685a89a Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 15:54:21 +08:00
Yi 23b29b1d21 fix: check-dependencies typo and fetch model list typo 2025-01-08 15:54:04 +08:00
zxhlyh 4b01ef2b48 fix: chat log 2025-01-08 15:42:18 +08:00
JzoNg 05d273d643 fix tracing dropdown 2025-01-08 15:40:13 +08:00
JzoNg 5481b42257 dark mode for tracing dropdown 2025-01-08 15:28:45 +08:00
非法操作andGitHub d649037c3e feat: support single run doc extractor node (#11318) 2025-01-08 15:20:15 +08:00
AkaraChen fa83f2e2fa fix: switch version plugin 2025-01-08 15:13:19 +08:00
AkaraChen 5e4d2f9501 Revert "chore: remove switch version component in strategy select"
This reverts commit f63cc9e069.
2025-01-08 14:55:55 +08:00
Yi fdfe724438 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 14:50:25 +08:00
Yi b0b373d2fb fix: revert the modelInList check in the model icon component 2025-01-08 14:50:14 +08:00
-LAN-andGitHub 0a49d3dd52 fix: tiktoken cannot be loaded without internet (#12478)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-08 14:49:44 +08:00
AkaraChen f63cc9e069 chore: remove switch version component in strategy select 2025-01-08 14:48:36 +08:00
Yi 8c9c336b64 fix: isInModelList default value 2025-01-08 14:47:01 +08:00
Yi 2dac103463 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-08 14:45:10 +08:00
Yi 17dfb3654f feat: add version incompatible case 2025-01-08 14:45:03 +08:00
zxhlyh 730d33176e Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-08 14:20:36 +08:00
zxhlyh 98ad18ba81 fix: agent log 2025-01-08 14:20:08 +08:00
AkaraChen 53bb1bb937 fix: agent node cannot output var 2025-01-08 14:09:35 +08:00
Yingchun LaiandGitHub 53bb37b749 fix: fix the incorrect plaintext file key when saving (#10429) 2025-01-08 12:52:45 +08:00
AkaraChen 93806148cd chore: plugin mutation modal component 2025-01-08 12:37:33 +08:00
Hiroshi FujitaandGitHub d2586278d6 Feat elasticsearch japanese (#12194) 2025-01-08 12:35:41 +08:00
Wu TianweiandGitHub 6635c393e9 fix: adjust opacity for model selector based on readonly state (#12472) 2025-01-08 12:11:45 +08:00
JzoNg adf0d94a9a unsupported actions 2025-01-08 11:51:59 +08:00
crazywoolaandGitHub 6222179a57 Revert "fix:deepseek tool call not working correctly" (#12463) 2025-01-08 10:50:34 +08:00
zxhlyh d17932d723 fix: install task icon 2025-01-08 10:12:55 +08:00
Yi 3cbb288a25 feat: add version check i18n 2025-01-08 10:09:11 +08:00
AkaraChen 99e2eaa6ee fix: switch plugin version 2025-01-08 10:03:00 +08:00
JyongandGitHub 05bda6f38d add tidb on qdrant redis lock (#12462) 2025-01-08 08:55:44 +08:00
Novice Lee 86318d9137 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-08 08:04:48 +08:00
Novice Lee b56d2b739b feat: add fc agent mode support 2025-01-08 07:41:17 +08:00
Hiroshi FujitaandGitHub 4295cefeb1 fix: allow fallback to remote_url when url is not provided (#12455) 2025-01-07 22:33:25 +08:00
非法操作andGitHub 67228c9b26 fix: url with variable not work (#12452) 2025-01-07 21:55:51 +08:00
JyongandGitHub fd2bfff023 remove knowledge admin role (#12450) 2025-01-07 21:30:23 +08:00
Yeuoly c706226b2f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-07 20:53:25 +08:00
Yeuoly fb7b2c8ff3 fix: backwards invoke nodes 2025-01-07 20:52:25 +08:00
Yeuoly f9f48b7139 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-07 20:16:04 +08:00
InfinitnetandGitHub 4e6c86341d Add 'document' feature to Sonnet 3.5 through OpenRouter (#12444) 2025-01-07 19:51:38 +08:00
2a14c67edc Fix #12448 - update bedrock retrieve tool, support hybrid search type and re… (#12446)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2025-01-07 19:51:23 +08:00
Yeuoly c3440a27fb fix 2025-01-07 18:59:13 +08:00
-LAN-andGitHub c236f05f4b chore: bump version to 0.15.0 (#12297)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-07 18:05:14 +08:00
-LAN-andGitHub 0eeacdc80c refactor: enhance API token validation with session locking and last used timestamp update (#12426)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-07 18:04:41 +08:00
41f39bf3fc Fix newline characters in tables during document parsing (#12112)
Co-authored-by: hisir <admin@qq.com>
2025-01-07 17:26:24 +08:00
呆萌闷油瓶andGitHub 9677144015 fix:deepseek tool call not working correctly (#12437) 2025-01-07 17:25:38 +08:00
Joel 6006380723 fix: tool select ui problem in workflow 2025-01-07 17:10:27 +08:00
Joel 55ad1fe1f0 chore: tool selelct use the same tools data 2025-01-07 16:58:31 +08:00
Yi 0383fce821 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 16:57:09 +08:00
Yi 85610651c0 node ui fix 2025-01-07 16:57:01 +08:00
AkaraChen 768e1b9da3 fix: wrong tooltip content for switch plugin version 2025-01-07 16:43:36 +08:00
Joel a6d172f111 feat: github refresh plugin list 2025-01-07 16:42:40 +08:00
Joel 5817c07db6 feat: local install refresh 2025-01-07 16:34:08 +08:00
Yi 2f5da1f6aa fix: update model icon 2025-01-07 16:31:15 +08:00
JzoNg d7657f4874 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-07 15:57:17 +08:00
SiliconFlow, IncandGitHub 15797c556f add fish-speech-1.5 from siliconflow (#12425) 2025-01-07 15:27:34 +08:00
AkaraChen 130cfaf2a4 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 15:20:00 +08:00
AkaraChen f840b7db0c fix: type for tool list 2025-01-07 15:19:46 +08:00
JzoNg aac2184069 chore: use install button in tool item 2025-01-07 15:18:07 +08:00
AkaraChen f03631ff9e feat: init agent strategy install from marketplace 2025-01-07 15:08:36 +08:00
Yeuoly ff3d3f71fb fix: use host.docker.internal as the default plugin daemon middleware endpoint 2025-01-07 14:56:03 +08:00
-LAN-andGitHub acacf35a2a chore(docker/.env.example): Add TOP_K_MAX_VALUE to the .env.example… (#12422)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-07 14:51:16 +08:00
Yeuoly 485d510e80 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-07 14:50:29 +08:00
Yi e207894d7e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 14:45:00 +08:00
Yeuoly 9685b9a302 refactor: docker-compose-middleware.yaml 2025-01-07 14:44:08 +08:00
Yi 8512a7d3ad chore: update the onOpenModel function to a hook 2025-01-07 14:43:54 +08:00
JzoNg 46614cc6f5 fix badge & refresh state of tool install state 2025-01-07 14:41:48 +08:00
AkaraChen b39acd0bad Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 14:03:53 +08:00
AkaraChen 48b88b90f5 feat: i18n text in agent strategy selector 2025-01-07 14:03:40 +08:00
zxhlyh 851fe246a7 fix: installing info in plugin nav 2025-01-07 14:00:29 +08:00
-LAN-andGitHub d3f5b1cbb6 refactor: use tiktoken for token calculation (#12416)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-07 13:32:30 +08:00
Yi ff61c22f36 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 12:48:42 +08:00
Yi e6eae8568f chore: update the model install button 2025-01-07 12:48:36 +08:00
whyandGitHub 196ed8101b fix: [PromptEditorHeightResizeWrap] Bug #12410 (#12406) 2025-01-07 12:21:54 +08:00
JzoNg 6d5c34564b fix qrcode z-index 2025-01-07 12:16:34 +08:00
JzoNg 6d8b54f1e5 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-07 11:58:29 +08:00
AkaraChen 4c5fa00c50 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 11:57:40 +08:00
AkaraChen 910e6d17d3 feat: adjust strategy selector height 2025-01-07 11:57:35 +08:00
JzoNg 275696edba fix system model selector 2025-01-07 11:53:34 +08:00
JzoNg 1348e32015 fix balance model z-index 2025-01-07 11:53:34 +08:00
JzoNg f5b2735dd5 theme default light 2025-01-07 11:53:34 +08:00
JzoNg 8d39ec1da5 chart drak mode 2025-01-07 11:53:34 +08:00
Yi 0f6cbf25d3 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-07 11:34:09 +08:00
Joel 0e98794d49 feat: use all refresh plugin tools to hooks 2025-01-07 11:31:22 +08:00
SiliconFlow, IncandGitHub dc650c5368 Fixes #12414: Add cheaper model and long context model for Qwen2.5-72B-Instruct from siliconflow (#12415) 2025-01-07 11:28:24 +08:00
AkaraChen 1419430015 chore: upd 2025-01-07 11:25:06 +08:00
Yi 5d25643f54 fix: group icon style 2025-01-07 11:18:01 +08:00
AkaraChen e24b04b30f refactor: switch plugin version component to not accept version 2025-01-07 10:58:53 +08:00
AkaraChen a8c4870349 refactor: switch plugin version component to not accept version 2025-01-07 10:55:42 +08:00
AkaraChen bdb9d676b1 chore: update switch plugin i18n 2025-01-07 10:49:26 +08:00
AkaraChen 0beebab605 fix: workflow store agent strategy not up to date 2025-01-07 09:57:35 +08:00
Alex ChenandGitHub 2bb521b135 Support TTS and Speech2Text for Model Provider GPUStack (#12381) 2025-01-07 09:42:11 +08:00
AkaraChen 15f3e46c49 refactor: some field name in strategy status 2025-01-07 09:30:35 +08:00
409cc7d9b0 mark deprecated models in siliconflow #12399 (#12405)
Co-authored-by: crazywoola <427733928@qq.com>
2025-01-07 09:08:58 +08:00
Yeuoly 07c7b7b886 fix: remove 5002 port from docker mapping 2025-01-06 21:45:44 +08:00
kurokoboandGitHub 8d75abc976 fix: correct fetch_from for customizable models (#12400) 2025-01-06 21:16:39 +08:00
Yeuoly aa6452b3bf fix: use session to manage AppSite 2025-01-06 21:12:50 +08:00
yihongandGitHub fe26be2312 fix: http method can be upper case and lower case close #11877 (#12401)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2025-01-06 20:35:53 +08:00
Yeuoly 3799d40937 feat: support docker deployment for plugin 2025-01-06 20:28:50 +08:00
Joel 61d2f70927 feat: add transform node to node data 2025-01-06 18:36:45 +08:00
Wu TianweiandGitHub 34519de3b7 fix: enhance chunk list management with new invalidation keys and imp… (#12396)
ok
2025-01-06 18:22:16 +08:00
Warren ChenandGitHub 147d578922 [Fix] revert sagemaker llm to support model hub (#12378) 2025-01-06 18:01:45 +08:00
Joel 228cd1cdbe feat: add iteration id 2025-01-06 16:48:24 +08:00
JyongandGitHub 9c317b64c3 sandbox doesn't provide auto disable log (#12388) 2025-01-06 15:57:13 +08:00
Joel e0ed17a2e6 chore: can generator middle struct 2025-01-06 15:31:25 +08:00
Yeuoly d2ff8a2381 fix: bugs 2025-01-06 14:59:40 +08:00
JoelandGitHub 3b8f6233b0 feat: support config top max value by env (#12375) 2025-01-06 10:38:14 +08:00
Hash BrownandGitHub 455b0cd696 chore: chat app textarea auto focus (#12366) 2025-01-05 21:25:00 +08:00
euxandGitHub 1fa66405c5 feat: support configuration of refresh token expiration by environment variable (#12335) 2025-01-04 11:56:44 +08:00
WoodandGitHub b680a85b57 fix: resolve issue with the opening statement generated by the AutomaticRes component failing to sync between states. (#12349) 2025-01-04 11:56:11 +08:00
WoodandGitHub 682ebc5f64 Fix the issue where TextGeneration component does not correctly clear input data. (#12351) 2025-01-04 11:55:55 +08:00
WoodandGitHub b8ba39dfae Bugfix/style and i18n fixes (#12350) 2025-01-04 11:52:13 +08:00
WoodandGitHub 6c9e6a3a5a fix: fix issue with chat-input-area clearing during Responding state. (#12352) 2025-01-04 11:51:35 +08:00
70698024f5 fix: empty delete bug (#12339)
Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com>
2025-01-03 20:46:39 +08:00
6df17a334c fix: Update the API call address for the text_embedding model (#12342)
Co-authored-by: 方程 <fangcheng@oschina.cn>
2025-01-03 19:19:17 +08:00
a5fb59b17f fix: Encode Chinese characters with Unicode before querying to match the Unicode encoded Chinese characters in the db (#12337)
Co-authored-by: zhaoqingyu.1075 <zhaoqingyu.1075@bytedance.com>
2025-01-03 19:12:48 +08:00
-LAN-andGitHub 7ed6485f86 refactor: streamline initialization of application_generate_entity and task_state in task pipeline classes (#12326)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-03 18:41:44 +08:00
Timmy-webandGitHub 478150e850 chore: fix typo in zh-Hant localization (#12329) 2025-01-03 17:38:30 +08:00
zxhlyh 07aa2ca9cf fix: single run log 2025-01-03 16:34:23 +08:00
jifeiandGitHub 3c2e30f348 fix: #12143 support streaming mode content start with "data:" (#12171) 2025-01-03 16:33:37 +08:00
JyongandGitHub b873e6349c add child chunk preview number limit (#12309) 2025-01-03 16:14:27 +08:00
Joel 5fdfba6b00 feat: make iteration 2025-01-03 15:41:04 +08:00
Shun MiyazawaandGitHub 2b1a32fd9c feat: Add filter to show only apps created by the user (#11968) 2025-01-03 15:38:36 +08:00
AkaraChen fbf9984d85 refactor: strategy status 2025-01-03 15:25:10 +08:00
Yeuoly 150b4ea1eb Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-03 14:48:39 +08:00
Yeuoly 5f51a19de2 fix: allow meta to be None 2025-01-03 14:48:19 +08:00
Nam VuandGitHub a2105634a4 chore: change app card layout follow by #10847 (#12317) 2025-01-03 14:16:17 +08:00
Yeuoly beeb11a5dc Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-03 14:10:22 +08:00
Yeuoly 71e0bfcbd8 fix: updating tool credentials does not works as expected 2025-01-03 14:09:17 +08:00
AkaraChen 2296bb162b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-03 13:52:43 +08:00
AkaraChen 06f0c3c886 refactor: strategy status 2025-01-03 13:52:38 +08:00
JzoNg 483890b207 fix install in tool item 2025-01-03 13:39:23 +08:00
AkaraChen 390107f97e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-03 10:35:11 +08:00
AkaraChen 5ba0b85738 feat: install plugin button 2025-01-03 10:35:06 +08:00
JzoNg 39335b8038 refactor I18n render in plugin detail 2025-01-03 10:16:44 +08:00
7c71bd7be7 doc: Added explanation of chunk_overlap to knowledge API (#12247)
Co-authored-by: crazywoola <427733928@qq.com>
2025-01-03 10:02:17 +08:00
丹枫染秋色andGitHub 7c1961e618 feat: Add response format support to GLM-4 (#12252) 2025-01-03 09:38:50 +08:00
baeddd4d15 feat:Add support for stop parameter in hunyuan model #12313 (#12315)
Co-authored-by: xander-art <xander-art@gmail.com>
2025-01-03 09:15:04 +08:00
-LAN-andGitHub 6f5a8a33d9 refactor: replace gevent threadpool with ProcessPoolExecutor in GPT2Tokenizer (#12316)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-03 09:13:18 +08:00
-LAN-andGitHub 52b2559a14 fix(app.py): if condition (#12314)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-03 01:36:23 +08:00
yihongandGitHub 3d150c30a7 fix: utcfromtimestamp is Deprecated change to new api (#12120)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2025-01-02 18:52:36 +08:00
Wu TianweiandGitHub e58e573f3e fix: add full doc mode preview length limit (#12310)
ok
2025-01-02 18:36:49 +08:00
twwu 5fb356fd33 refactor: rename renderI18nObject to getValueFromI18nObject for clarity 2025-01-02 18:07:44 +08:00
twwu c458c28c62 feat: enhance plugin item localization with i18n support 2025-01-02 17:35:11 +08:00
-LAN-andGitHub 375aa38f5d fix: improve content decoding in AppDslService (#12304)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-02 16:54:46 +08:00
-LAN-GitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
0e6317678f Fix code scanning alert no. 111: Incomplete URL substring sanitization (#12305)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-01-02 16:52:43 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e7dffcd0f6 chore(deps): bump aiohttp from 3.10.5 to 3.10.11 in /api (#12303)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 16:42:47 +08:00
AkaraChen 055fb22b9b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-02 16:36:03 +08:00
AkaraChen f2eb095960 feat: strategy install status 2025-01-02 16:35:58 +08:00
Joel d5cfb26db6 feat: support make retry data 2025-01-02 16:29:12 +08:00
Hanqing ZhaoandGitHub 065304d175 Modify jp translation (#12292) 2025-01-02 16:28:27 +08:00
-LAN-andGitHub 15f43dd326 chore(deps): update yarl version from 1.9.4 to 1.18.3 (#12302)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-02 16:26:47 +08:00
09d759d196 fix: Fix parent child retrieval issues (#12206)
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
2025-01-02 16:07:21 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
68757950ce chore(deps): bump jinja2 from 3.1.4 to 3.1.5 in /api (#12300)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-02 16:04:10 +08:00
-LAN-andGitHub 3c45bdf18a fix: disable gevent in debug mode for better compatibility with JetBrains Python debugger (#12299)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-02 15:59:30 +08:00
zxhlyh 7519c9a0d6 Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-02 15:51:21 +08:00
zxhlyh a514bde428 fix: marketplace page size 2025-01-02 15:50:40 +08:00
AkaraChen 87ce813175 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-02 15:03:23 +08:00
AkaraChen 336b26569b feat: agent form string type support var 2025-01-02 15:03:18 +08:00
zxhlyh a432fcfd5e agent node single run 2025-01-02 14:56:15 +08:00
AkaraChen 0ed4ec5cd0 fix: agent strategy selector show workflow 2025-01-02 14:48:40 +08:00
AkaraChen add6dff789 feat: agent node check install strategy 2025-01-02 14:27:19 +08:00
Yingchun LaiandGitHub c135967e59 refactor: simplify some exception catch code (#12246) 2025-01-02 14:25:12 +08:00
Sean SunandGitHub f71af7c2a8 fix: DocumentAddByFileApi miss data_source_type field but there is a mandatory value check (#12273) 2025-01-02 14:24:15 +08:00
Joel c469da2020 fix: handle install title and descript may caused i18n problem 2025-01-02 14:22:04 +08:00
Joel 55aad3718d fix: multi loop nodes remove children error 2025-01-02 14:09:57 +08:00
AkaraChen c6c388fbda feat: agent checklist i18n 2025-01-02 13:58:30 +08:00
AkaraChen d3d606799d Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2025-01-02 11:46:52 +08:00
AkaraChen c1ae681b6c feat: agent checklist i18n 2025-01-02 11:46:47 +08:00
Joel f11ea5ae97 fix: title not show all if space is enough 2025-01-02 11:37:31 +08:00
Joel e112357e91 chore: temp 2025-01-02 11:37:31 +08:00
AkaraChen 1b8ec6710a feat: agent node checklist 2025-01-02 11:29:10 +08:00
Joel d49974665e Merge branch 'feat/plugins' into dev/plugin-deploy 2025-01-02 11:02:24 +08:00
Joel a8881cc7a6 chore: temp 2025-01-02 11:00:03 +08:00
5b01eb9437 chore: translate i18n files (#12208)
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
2025-01-02 10:04:43 +08:00
呆萌闷油瓶andGitHub 2e716f80d2 fix:The chart of average interaction counts per conversation show not… (#12199) 2025-01-02 10:02:56 +08:00
d7c0bc8c23 feat: Add response format support for openai compat models (#12240)
Co-authored-by: Gio Gutierrez <giovannygutierrez@gmail.com>
2025-01-02 09:59:34 +08:00
yihongandGitHub f30bf08580 fix: close #12215 for yi special case (#12222)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2025-01-02 09:58:34 +08:00
-LAN-andGitHub a640803fc9 fix(models): use bigint on workflow_runs.total_tokens (#12279)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-01-02 09:49:34 +08:00
Warren ChenandGitHub 9954ddb780 [Fix] modify sagemaker llm (#12274) 2025-01-02 09:49:11 +08:00
JzoNg 6f97eb5713 merge feat/plugins 2025-01-02 08:51:03 +08:00
JzoNg 4663af8a60 tool setting schema 2025-01-02 08:43:09 +08:00
非法操作andGitHub b218df6920 fix: draft run single node can't get env variable (#12266) 2025-01-01 13:31:44 +08:00
Yeuoly 65077cd388 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-31 17:43:16 +08:00
-LAN-andGitHub 5b6950e545 fix: improve error handling in NotionOAuth for block parent page ID r… (#12268)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 17:03:26 +08:00
-LAN-andGitHub c7911c7130 fix: improve JSON parsing error handling in Executor class (#12265)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 17:03:07 +08:00
-LAN-andGitHub 62f792ea14 fix: ensure workflow_run_id is always set and improve handling in Wor… (#12264)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 17:02:44 +08:00
-LAN-andGitHub 6a85960605 feat: implement asynchronous token counting in GPT2Tokenizer (#12239)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 17:02:08 +08:00
Yeuoly d815c74fc5 fix: ruff 2024-12-31 16:48:20 +08:00
Yeuoly 107e44c8fb Merge branch 'main' into fix/chore-fix 2024-12-31 16:47:56 +08:00
Yeuoly adf7eea7fe fix: ruff 2024-12-31 16:40:26 +08:00
Yeuoly 6e73ad2fc6 feat: plugin migrations 2024-12-31 16:38:02 +08:00
AkaraChen 91ac660f81 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 16:33:22 +08:00
AkaraChen 3c829a1c28 fix: some style 2024-12-31 16:33:16 +08:00
Yi f9ce6b6a6e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 16:13:13 +08:00
Yi afe8c85b99 model feature icons 2024-12-31 16:13:06 +08:00
zxhlyh bc5cd4405b agent node single run 2024-12-31 16:08:09 +08:00
Yi be36aedac1 agent node: fix installed model ui 2024-12-31 15:59:43 +08:00
AkaraChen 9e6f3e9161 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 15:53:45 +08:00
AkaraChen 52537c9e6b fix: model deprecated in model list 2024-12-31 15:53:38 +08:00
Joel 8d229f26d0 fix: card name too long 2024-12-31 15:47:48 +08:00
Yi 504c794e8a add icons and fix ui typos 2024-12-31 15:47:14 +08:00
Joel cab8c6c5a7 feat: support scroll into letter 2024-12-31 15:41:29 +08:00
Yi 5bba422c0b fix model icon size in llm node 2024-12-31 15:13:56 +08:00
AkaraChen 870779534f Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 15:04:17 +08:00
AkaraChen f956c2edcd chore: update style 2024-12-31 15:04:13 +08:00
Joel 2a29dd3534 fix: letter list not right 2024-12-31 15:01:31 +08:00
-LAN-andGitHub 63a0b8ba79 feat: integrate psycogreen for gevent compatibility in PostgreSQL (#12253)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 14:45:59 +08:00
Yi b1831bc582 fix the model icon ui 2024-12-31 14:35:11 +08:00
Yi 3e979a5ded fix: model selector's trigger ui 2024-12-31 14:23:13 +08:00
zxhlyh 7011a5029e merge main 2024-12-31 14:12:35 +08:00
zxhlyh a66d92054a Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-31 14:09:11 +08:00
zxhlyh d7cbbbca8e fix: tool single run 2024-12-31 14:08:40 +08:00
zxhlyh 21d082f3da feat: tool single run 2024-12-31 14:05:56 +08:00
Yi 2cdf2b2e05 fix the model icon size in the agent node 2024-12-31 14:04:03 +08:00
-LAN-andGitHub 634b382a3d fix: enhance ToolEngineInvokeError to include meta information (#12238)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 14:01:24 +08:00
Yi ec2dd750f1 fix: set a fixed height to the model selection in agent node 2024-12-31 13:59:55 +08:00
AkaraChen 066595f3aa chore: remove unused code 2024-12-31 13:50:31 +08:00
fbf5deda21 fix(env): docker compose variable interpolation issue for COMPOSE_PRO… (#12093)
Co-authored-by: Han Kyaw <hankyaw@Hans-MBP.lan>
2024-12-31 13:46:51 +08:00
AkaraChen f81bbee6b6 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 13:46:12 +08:00
AkaraChen 4855e87876 fix: editor 2024-12-31 13:46:06 +08:00
JzoNg e47aaad396 remove test codes 2024-12-31 12:42:49 +08:00
JzoNg df421796bb add model info in model selector 2024-12-31 12:41:08 +08:00
AkaraChen fe5702784e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-31 11:52:20 +08:00
AkaraChen eba4042a62 wip: instruction field 2024-12-31 11:52:15 +08:00
Joel 3bed0346d7 fix: choose tools 2024-12-31 11:51:50 +08:00
Yi 3a09f43f70 feat: update the install logic 2024-12-31 11:46:36 +08:00
-LAN-andGitHub d4b848272e fix: apply gevent threading patch early and ensure unique workflow node execution IDs (#12196)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-31 11:42:51 +08:00
Yi 232fb66edd ui fixes in model selector 2024-12-31 11:08:53 +08:00
Warren ChenandGitHub fc29f2003e translate comments (#12234) 2024-12-31 00:36:03 +08:00
Bowen LiangandGitHub ab469aa07d feat: support opening new tab in markdown button (#12213) 2024-12-30 22:27:25 +08:00
Warren ChenandGitHub 562450751f [Fix] Fix sagemaker_chinese_toxicity_detector and bedrock_retrieve (#12227) 2024-12-30 22:26:04 +08:00
Yeuoly f5dc873b81 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-30 21:14:47 +08:00
Yeuoly 06412b37d3 fix: no attribbute identity 2024-12-30 21:14:24 +08:00
Joel a3f736f6e5 feat: multi steps circle 2024-12-30 18:39:33 +08:00
Joel d9d42b2d8c feat: multi step circle 2024-12-30 18:38:07 +08:00
Joel 0a30018330 chore: one step circle check 2024-12-30 18:27:59 +08:00
Joel 128410902c temp 2024-12-30 18:27:59 +08:00
Yi 9b6f580365 add model install in model configuration for the agent node 2024-12-30 17:55:46 +08:00
AkaraChen afb3548e45 refactor: agent parameters 2024-12-30 17:40:56 +08:00
JzoNg e1cb85cee1 fix label of tool picker 2024-12-30 15:43:24 +08:00
JzoNg f6c1ae52dd Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-30 15:30:29 +08:00
JzoNg 2007828404 installation state of tool 2024-12-30 15:28:15 +08:00
AkaraChen f5b4366bd8 fix: agent node 2024-12-30 14:49:12 +08:00
Yeuoly db1ad3c0f1 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-30 13:42:10 +08:00
Yeuoly 63665a5ff1 feat: add conversation_id to invoke 2024-12-30 13:41:54 +08:00
NFishandGitHub adacd01f82 Feat: support account deletion (#10008) 2024-12-30 13:39:26 +08:00
Yeuoly 7330a4a783 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-30 13:35:10 +08:00
Yeuoly 05a43e3e80 fix: rebaseing to main 2024-12-30 13:34:45 +08:00
AkaraChen cd7e6ca010 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-30 13:31:02 +08:00
AkaraChen 2ac6f00efb fix: agent node toolbox 2024-12-30 13:30:57 +08:00
Yi f461f56886 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-30 12:55:42 +08:00
Yi ba16cbccf0 feat: add install options for model configuration 2024-12-30 12:55:28 +08:00
74d3320519 feat: account delete (#11829)
Co-authored-by: NFish <douxc512@gmail.com>
2024-12-30 11:33:42 +08:00
AkaraChen 08a1f241ca Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-30 11:28:57 +08:00
AkaraChen a5509fbe5a feat: agent node toolbox 2024-12-30 11:28:51 +08:00
zxhlyh 76d7a64c37 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-30 11:25:59 +08:00
zxhlyh 98a03b0593 fix: agent log structure 2024-12-30 11:25:28 +08:00
zxhlyh f72818bed5 fix: agent log structure 2024-12-30 11:14:59 +08:00
JzoNg 0c5101fb3c fix default value for multiple tool selector 2024-12-30 10:38:45 +08:00
zxhlyh 84febd5e94 fix: agent log structure 2024-12-30 10:23:48 +08:00
JzoNg b5ad9a58f7 default value for multiple tool selector 2024-12-30 10:23:00 +08:00
BenjaminandGitHub 309a15d1ba fix: update api libldap package version in Dockerfile for security im… (#12195) 2024-12-29 21:36:07 +08:00
Kazuki TakamatsuandGitHub bcef11681d fix: default value of google storage sa to empty (#12188) 2024-12-29 17:32:55 +08:00
-LAN-andGitHub 8d15c8cfbf fix: improve error handling in NotionExtractor data fetching (#12182)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-29 11:53:09 +08:00
Hiroshi FujitaandGitHub 716bb8574d fix: rendering errors occur when displaying hit test results in full text search (#12191) 2024-12-29 11:52:45 +08:00
呆萌闷油瓶andGitHub bd2fec4813 fix: #12125 (#12184) 2024-12-29 11:52:12 +08:00
非法操作andGitHub ead4b34127 fix: test run custom tool raise error (#12178) 2024-12-28 17:51:22 +08:00
Bowen LiangandGitHub 72ae414da4 chore(lint): correct allowed-unused-imports settings for cleanup unused imports in tests (#11922) 2024-12-28 01:19:31 +08:00
Yeuoly 7122bf3e8e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 22:56:55 +08:00
Yeuoly 83fdb42520 fix: variable message 2024-12-27 22:56:39 +08:00
Warren ChenandGitHub 4c9618be3f [fix] modify en-US (#12169) 2024-12-27 21:18:34 +08:00
901028f1e8 [feat] Support Multi-Version Workflows (#11990)
Co-authored-by: hobo.l <hobo.l@binance.com>
Co-authored-by: crazywoola <427733928@qq.com>
2024-12-27 21:05:06 +08:00
Hanqing ZhaoandGitHub adfbfc1255 Modify translation for error branch and update for the parent-child f… (#12127) 2024-12-27 20:55:33 +08:00
非法操作andGitHub b66c03dfe9 fix: workflow_as_tool output files raise error (#12061) 2024-12-27 20:33:28 +08:00
2a909e634b feat: support Ernie-lite-pro-128k (#12161)
Co-authored-by: bigfish49 <bigfish49@126.com>
2024-12-27 20:23:46 +08:00
AkaraChenandGitHub 9d86056f1c chore: add cursor pointer for option card (#12119) 2024-12-27 20:20:25 +08:00
非法操作andGitHub 309fd76ddf fix: comfyui output image's format (#12121) 2024-12-27 20:20:03 +08:00
Yeuoly 4fb5cf675b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 18:37:54 +08:00
Yeuoly cbf405beea fix: remigrate 2024-12-27 18:37:34 +08:00
yihongandGitHub a3293b154e fix: type is wrong issue (#12165)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-27 18:33:53 +08:00
NFishandGitHub eb8963a673 fix: workflow page throw warning: Attempts to access this ref will fail (#12166) 2024-12-27 18:33:15 +08:00
Joel 8a90a9bd5d fix: in steam mode trigger the error in change list 2024-12-27 18:28:52 +08:00
zxhlyh bc78803171 merge feat/plugins 2024-12-27 18:11:52 +08:00
zxhlyh 6f8e217580 refact workflow run log 2024-12-27 18:10:44 +08:00
NFishandGitHub 89ce9a5db2 Fix: avatar dropdown keyboard navigation (#12155) 2024-12-27 18:10:36 +08:00
Yeuoly af2aede783 feat: support precision to PluginParameter 2024-12-27 18:07:28 +08:00
Yeuoly b1522e860a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 17:55:57 +08:00
Yeuoly e359ace633 fix: add agent logs 2024-12-27 17:55:41 +08:00
Yeuoly d4a7d05043 fix: linter 2024-12-27 17:39:12 +08:00
Yeuoly 4ee4740657 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 17:38:10 +08:00
JzoNg 891a76f2fa enabled count 2024-12-27 17:37:18 +08:00
Yeuoly a5555f90c6 fix: models 2024-12-27 17:34:17 +08:00
Yeuoly 78664c8903 Merge branch 'main' into fix/chore-fix 2024-12-27 17:33:58 +08:00
JzoNg 3c85363392 multiple tool selector 2024-12-27 17:29:46 +08:00
zxhlyh a863e9f674 refact workflow run log 2024-12-27 17:22:11 +08:00
JyongandGitHub f4f2567105 owner and admin have all permission of knowledge base (#12157) 2024-12-27 17:09:13 +08:00
JyongandGitHub 5a3fe61f2a disable all chunks status when disable document (#12149) 2024-12-27 17:08:44 +08:00
Joel 6a2a7aca9b chore: tool node support agent logs 2024-12-27 16:52:22 +08:00
AkaraChen 18393d2e27 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-27 16:48:32 +08:00
AkaraChen de48a1c7e9 fix: type error 2024-12-27 16:48:16 +08:00
Joel 3d5620dfb3 fix: parallel start node not insert into the right place 2024-12-27 16:47:05 +08:00
AkaraChen da2982ba98 feat: model list on agent node 2024-12-27 16:45:46 +08:00
AkaraChen 0108b28305 feat: model list on agent node 2024-12-27 16:39:18 +08:00
JzoNg 573c8f909c add multiple tool selector 2024-12-27 16:30:34 +08:00
Joel 3a5170716b fix: pararllel title 2024-12-27 16:29:15 +08:00
zxhlyh 0631cf0c4f Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-27 16:18:41 +08:00
zxhlyh e4cc8f7010 refact workflow run log 2024-12-27 16:18:04 +08:00
AkaraChen 23913b8640 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-27 16:04:53 +08:00
-LAN-andGitHub 55c327ffcb fix: handle case where member is not found in role update API (#12156)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-27 16:04:50 +08:00
AkaraChen 0d0a4cfaa1 fix: select var 2024-12-27 16:04:48 +08:00
Joel 04d8d16d8a chore: fix retry not work in iteration 2024-12-27 15:54:56 +08:00
AkaraChen 0d2a74b8cb feat: output var 2024-12-27 15:34:54 +08:00
Yeuoly 45070535bd fix: linter 2024-12-27 14:47:48 +08:00
JzoNg 1b93e1ff99 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-27 14:47:22 +08:00
JzoNg ae42edb8d7 remove test code 2024-12-27 14:43:07 +08:00
0fdb39f1c3 Fix: The topk parameter doesn't work in sagemaker rerank tool (#12150)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-12-27 14:42:25 +08:00
AkaraChen e903cd8073 fix: llm node 2024-12-27 14:31:50 +08:00
Joel a071d2cd1b Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-27 14:25:12 +08:00
Joel 31cca291b7 chore: remove test page 2024-12-27 14:22:00 +08:00
zxhlyh 1cc15d1ce8 merge feat/plugins 2024-12-27 14:21:32 +08:00
JzoNg ed6c9625e8 fix scope features 2024-12-27 14:20:46 +08:00
Joel 08c517dd99 feat: iteration support parallel 2024-12-27 14:20:18 +08:00
JzoNg 69a6556f52 tool item 2024-12-27 14:09:52 +08:00
Yi e34eebfb0b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-27 13:58:05 +08:00
Yi ef3e904839 feat: model-selector in Agent node (case: installed models) 2024-12-27 13:57:54 +08:00
AkaraChen df5fb6dca9 feat: agent strategy max iter slider 2024-12-27 13:30:39 +08:00
Joel 2f65d0439c fix: not parall not group by branch 2024-12-27 13:08:05 +08:00
Yeuoly e7a6bc0ec9 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 12:17:08 +08:00
Yeuoly 048e8cf0d1 fix: remove validate credentials 2024-12-27 12:16:58 +08:00
Yeuoly 598d208e54 fix: agent error handling 2024-12-27 12:09:39 +08:00
zxhlyh 5cdca9cafe fix: marketplace i18n 2024-12-27 11:54:42 +08:00
Yi 67019d128b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-27 11:49:03 +08:00
AkaraChen 697ee496b7 chore: upd mock form for dev 2024-12-27 11:43:29 +08:00
-LAN-andGitHub dae1b5a619 fix: import jieba.analyse (#12133)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-27 11:37:55 +08:00
Yeuoly 494cca82a0 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 11:33:13 +08:00
Yeuoly 8102cee8df fix: unbound reference 2024-12-27 11:33:04 +08:00
AkaraChen 7f5e27d001 chore: extend form component for override 2024-12-27 11:30:43 +08:00
Joel 1f128729f4 fix: sub iteration would crash page 2024-12-27 11:24:47 +08:00
Yi a562e6db89 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-27 10:47:07 +08:00
Joel c23fe3b67f chore: format 2024-12-27 10:25:15 +08:00
-LAN-andGitHub 26b5680913 fix: improve merge branch node ID checks in graph engine (#12128)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-26 23:33:45 +08:00
a2855fa24a chore: translate i18n files (#12118)
Co-authored-by: laipz8200 <16485841+laipz8200@users.noreply.github.com>
2024-12-26 23:33:11 +08:00
9c3cf7b69a fix: 12050 (#12109)
Co-authored-by: Xiaoba Yu <xb1823725853@gmail.com>
2024-12-26 23:32:54 +08:00
-LAN-andGitHub be7877f526 fix: enhance file upload error handling and update base error class (#12132)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-26 23:31:29 +08:00
-LAN-andGitHub e765d8e69e fix: validate imported_version type in AppDslService (#12135)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-26 23:26:55 +08:00
-LAN-andGitHub 4bd8df1fd3 fix: update MessageService.create_feedback to use keyword arguments f… (#12134)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-26 23:26:44 +08:00
Yeuoly 2b8f31ec98 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 22:58:48 +08:00
Yeuoly c9eb9c14d7 fix: block call to flask_app 2024-12-26 22:58:34 +08:00
Yeuoly 673ba9330c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 22:30:38 +08:00
Yeuoly e77cd87842 fix: linter 2024-12-26 22:30:22 +08:00
Yeuoly ac5e3caebc optimize: migrate speed 2024-12-26 22:30:06 +08:00
-LAN-andGitHub 4e76f2fc44 fix: add properties to retrieve created by account and end user in Wo… (#12129)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-26 19:50:45 +08:00
JzoNg 95da3a4cf1 tool credential panel 2024-12-26 18:58:01 +08:00
JyongandGitHub cf00ee42f5 send knowledge base auto disable notification (#12126) 2024-12-26 18:14:08 +08:00
Yeuoly b7f04c1ba8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 18:07:39 +08:00
Yeuoly 23066a9ba8 feat: support extracting plugins into local files 2024-12-26 18:05:14 +08:00
JzoNg bfecc73de9 support extra for tool selector 2024-12-26 17:58:34 +08:00
Bowen LiangandGitHub 886758d2be fix: typo in clean messages periodical task's logging (#12090) 2024-12-26 17:42:32 +08:00
Yi b4e9dddbca Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 17:40:42 +08:00
Yeuoly c95c3655fa Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 17:39:32 +08:00
Yeuoly 0249f15609 fix: linter 2024-12-26 17:39:21 +08:00
Yeuoly 2f523dd29f optimize: add friendly logs 2024-12-26 17:39:13 +08:00
JzoNg 10218cfe8d add tool selector in agent node 2024-12-26 17:33:06 +08:00
Yeuoly bc1502b8fc Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 17:26:19 +08:00
Yeuoly b34d815883 feat: support auto generate and template 2024-12-26 17:25:56 +08:00
JzoNg e00da7a1d8 tool setting form 2024-12-26 17:06:15 +08:00
JzoNg 469ce0f23d add tool description 2024-12-26 17:06:15 +08:00
JzoNg 23bf0a6812 tool selector support scope 2024-12-26 17:06:11 +08:00
AkaraChen 605085bddf chore: remove max_iterations for agent node 2024-12-26 16:42:34 +08:00
Yi dbc45f0d74 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 16:36:09 +08:00
zxhlyh 6175f8c16f merge main 2024-12-26 16:35:11 +08:00
zxhlyh 7e94056507 refact workflow run log 2024-12-26 15:44:59 +08:00
AkaraChen 1429b30e84 chore: upd 2024-12-26 15:27:15 +08:00
AkaraChen 5ef9156242 feat: custom credential form 2024-12-26 14:44:05 +08:00
zxhlyh 6f865b96a2 refact workflow run log 2024-12-26 14:41:00 +08:00
AkaraChen b7e56a23a0 feat: custom credential form 2024-12-26 14:32:21 +08:00
Yeuoly e7d3add5df Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 14:12:58 +08:00
Yeuoly 51cc63d9ce fix: undefined dereference to ApiTool 2024-12-26 14:12:43 +08:00
Yeuoly 430af95b53 fix: linter 2024-12-26 14:07:29 +08:00
Yeuoly 0164d1410a migrations for plugins 2024-12-26 14:07:12 +08:00
Yeuoly f0178bd603 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 13:24:16 +08:00
Yeuoly cbc5045b7a fix: ruff formatter 2024-12-26 13:23:56 +08:00
Yeuoly b980c07af8 fix: ruff formatter 2024-12-26 13:22:18 +08:00
Yeuoly e231cf2c48 fix: errors occrus during rebasing 2024-12-26 13:20:12 +08:00
Yi 5b8ad3ac4b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 13:19:32 +08:00
AkaraChen e0b7f48b6b chore: add i18n str 2024-12-26 13:02:00 +08:00
Yi ff70e14de2 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 12:44:41 +08:00
AkaraChen 244517e6e7 fix: no icon in tool select 2024-12-26 12:41:44 +08:00
AkaraChen cd08f98bff chore: upd app icon 2024-12-26 12:32:02 +08:00
yihongandGitHub 8339d2c7c9 fix: issue #11868 bring old logic back (#12100)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-26 12:17:55 +08:00
JyongandGitHub 811e4bd0cf fix unstructured setting (#12116) 2024-12-26 12:08:36 +08:00
49feff082f feat: parent child retrieval (#12106)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-26 12:01:51 +08:00
Yi b752c0654e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 10:59:33 +08:00
AkaraChen e07d7ee4fc chore: remove console 2024-12-26 10:55:30 +08:00
Yi c476f06388 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 10:53:02 +08:00
yihongandGitHub efdd54a670 fix: issue #12068 by test is answer in the ids (#12105)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-26 10:31:05 +08:00
AkaraChen 5f13402c6e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-26 10:17:21 +08:00
AkaraChen 8dcd82290c feat: select strategy 2024-12-26 10:16:52 +08:00
zxhlyh 86eb618b84 refact workflow run log 2024-12-26 10:16:12 +08:00
84ac004772 py lint (#12102)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-26 00:16:35 +08:00
yihongandGitHub bb35818976 fix: issue #12078 by redirect the right (#12088)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-25 21:36:41 +08:00
-LAN-andGitHub 822af70dce fix(workflow_service): assign UUID to workflow_node_execution id and update optional fields in WorkflowRun and WorkflowNodeExecution models (#12096)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 21:34:53 +08:00
-LAN-andGitHub d5f33212ac fix: add type ignore comments for shared_task imports and clean up re… (#12099)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 21:24:06 +08:00
-LAN-andGitHub db2aa83a7c Revert "Feat/parent child retrieval" (#12095) 2024-12-25 20:55:44 +08:00
JyongandGitHub 9231fdbf4c Feat/support parent child chunk (#12092) 2024-12-25 19:49:07 +08:00
017d7538ae fix(billing_service): change retry condition to handle specific reque… (#12091)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Garfield Dai <dai.hai@foxmail.com>
2024-12-25 18:40:27 +08:00
Joel e1ea82475d feat: format agent 2024-12-25 18:37:05 +08:00
-LAN-andGitHub a1c78ad9d4 fix(audio_service): validate message_id format using UUID (#12087)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 18:36:52 +08:00
-LAN-andGitHub 754791efd3 fix(file_factory): validate upload_file_id format as UUID (#12084)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 18:36:42 +08:00
-LAN-andGitHub 50b7ec3c73 fix(http_request): add error handling for invalid URLs (#12082)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 18:36:33 +08:00
-LAN-andGitHub 7ae417b4b6 fix(tool): validate return type from _invoke method to ensure ToolInv… (#12079)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 18:36:24 +08:00
-LAN-andGitHub 5d04638091 feat(message_feedback): add content argument to feedback creation (#12077)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 18:36:15 +08:00
Yeuoly cd00602213 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-25 18:25:21 +08:00
Yeuoly 80d8e47e42 fix: skip json transforming if error occurs 2024-12-25 18:23:31 +08:00
+56 2b2263a349 Feat/parent child retrieval (#12086)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: AkaraChen <akarachen@outlook.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Warren Chen <warren.chen830@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Yi Xiao <54782454+YIXIAO0@users.noreply.github.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: KVOJJJin <jzongcode@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
Co-authored-by: Charlie.Wei <luowei@cvte.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: huayaoyue6 <huayaoyue@163.com>
Co-authored-by: kurokobo <kuro664@gmail.com>
Co-authored-by: Matsuda <yiyth.fcb6@gmail.com>
Co-authored-by: shirochan <s.yusuke0711@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: Huỳnh Gia Bôi <boihuynh147@gmail.com>
Co-authored-by: Julian Huynh <julian.huynh@immersio.io>
Co-authored-by: Hash Brown <hi@xzd.me>
Co-authored-by: 非法操作 <hjlarry@163.com>
Co-authored-by: Kazuki Takamatsu <kazuki.takamatsu@chowagiken.co.jp>
Co-authored-by: Trey Dong <1346650911@qq.com>
Co-authored-by: VoidIsVoid <343750470@qq.com>
Co-authored-by: Gimling <huangjl@ruyi.ai>
Co-authored-by: xiandan-erizo <xiandan.erizo@gmail.com>
Co-authored-by: Muneyuki Noguchi <nogu.dev@gmail.com>
Co-authored-by: zhaobingshuang <1475195565@qq.com>
Co-authored-by: zhaobs <zhaobs@cailian.net>
Co-authored-by: suzuki.sh <s2terminal@users.noreply.github.com>
Co-authored-by: Yingchun Lai <laiyingchun@apache.org>
Co-authored-by: huanshare <huanshare@live.com>
Co-authored-by: huanshare <liuhuan101@longfor.com>
Co-authored-by: orangeclk <orangeclk@users.noreply.github.com>
Co-authored-by: 문정현 <120004247+JungHyunMoon@users.noreply.github.com>
Co-authored-by: barabicu <kztk533@gmail.com>
Co-authored-by: Wei Mingzhi <whistler_wmz@users.sf.net>
Co-authored-by: Paul van Oorschot <20116814+pvoo@users.noreply.github.com>
Co-authored-by: zkyTech <zhangkunyuan@hotmail.com>
Co-authored-by: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com>
Co-authored-by: Tommy <34446820+Asterovim@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Novice <857526207@qq.com>
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com>
Co-authored-by: liuzhenghua <1090179900@qq.com>
Co-authored-by: Jiang <65766008+AlwaysBluer@users.noreply.github.com>
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
Co-authored-by: Joe <79627742+ZhouhaoJiang@users.noreply.github.com>
Co-authored-by: Alok Shrivastwa <alok.shrivastwa@gmail.com>
Co-authored-by: Alok Shrivastwa <Alok.Shrivastwa@microland.com>
Co-authored-by: JasonVV <jasonwangiii@outlook.com>
Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com>
Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com>
Co-authored-by: NFish <douxc512@gmail.com>
Co-authored-by: Junyan Qin <1010553892@qq.com>
Co-authored-by: IWAI, Masaharu <iwaim.sub@gmail.com>
Co-authored-by: IWAI, Masaharu <iwai_masaharu@funkit.co.jp>
Co-authored-by: Bowen Liang <liangbowen@gf.com.cn>
Co-authored-by: luckylhb90 <luckylhb90@gmail.com>
Co-authored-by: hobo.l <hobo.l@binance.com>
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
2024-12-25 18:17:15 +08:00
zxhlyh 08515957f1 refact workflow run log 2024-12-25 16:57:22 +08:00
Joel 8503099d65 feat: integration 2024-12-25 16:46:32 +08:00
Yi c04a89d5b1 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 16:39:22 +08:00
-LAN-andGitHub 39ace9bdee fix(app_generator): improve error handling for closed file I/O operat… (#12073)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 16:34:38 +08:00
1885d3df99 fix: unquote urls in docker-compose.yaml (#12072)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-25 16:31:01 +08:00
Joel 8d225264fa feat: retry 2024-12-25 16:25:19 +08:00
-LAN-andGitHub 83ea931e3c refactor: optimize database usage (#12071)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-25 16:24:52 +08:00
zxhlyh 26901b2c87 refact workflow run log 2024-12-25 16:15:20 +08:00
JzoNg b56acb825f fix org info in tool detail panel 2024-12-25 15:34:07 +08:00
Yeuoly fee4dd7d7a fix: unused stream variable 2024-12-25 15:32:59 +08:00
Yi f1e17ad134 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 15:24:59 +08:00
AkaraChen b8e4580074 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 15:23:50 +08:00
Yeuoly 00cf5f3841 fix: linters 2024-12-25 15:18:29 +08:00
JzoNg 935c126abd strategy detail panel 2024-12-25 15:15:55 +08:00
JzoNg b4105fcc9c strategy list 2024-12-25 15:15:55 +08:00
AkaraChen 5f65fb1b62 chore: add model select mock 2024-12-25 15:12:33 +08:00
Yeuoly 02abf950e1 Merge fix/chore-fix into dev/plugin-deploy 2024-12-25 15:12:05 +08:00
Yi 986d6eed36 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 15:10:05 +08:00
AkaraChen e0f83d06d8 chore: add model select mock 2024-12-25 15:06:58 +08:00
Yi f42cfe8075 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 14:54:22 +08:00
AkaraChen a7b2f9aef0 chore: add i18n 2024-12-25 14:52:11 +08:00
Yeuoly 9ee0c7a694 merge 2024-12-25 14:39:15 +08:00
AkaraChen c867584049 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 14:24:02 +08:00
AkaraChen ac2c8344f2 chore: add i18n 2024-12-25 14:23:57 +08:00
Joel 8c662e04e0 feat: add iteration error 2024-12-25 14:20:39 +08:00
AkaraChen e1d0c29711 chore: add icon for agent 2024-12-25 14:13:20 +08:00
Yi 50c77ad405 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 14:12:54 +08:00
Joel 880496db0b chore: add more tests 2024-12-25 14:12:53 +08:00
AkaraChen 057da6c31b chore: gen agent icon 2024-12-25 14:07:05 +08:00
AkaraChen c0a8b89e93 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 14:06:08 +08:00
AkaraChen a8a956b5f1 chore: add i18n 2024-12-25 14:05:49 +08:00
Joel ff02e1cb8f chore: enchance test output struct 2024-12-25 14:04:46 +08:00
Yi d78719a6f8 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 13:41:06 +08:00
b281a80150 fix: zoom in/out click (#12056)
Co-authored-by: marvin <sea-son@foxmail.com>
2024-12-25 13:30:51 +08:00
c98d91e44d fix: o1 model error, use max_completion_tokens instead of max_tokens. (#12037)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2024-12-25 13:29:43 +08:00
JzoNg da6d65b072 fix style of account setting 2024-12-25 12:35:27 +08:00
JzoNg 8d1a8eac51 add use-strategy 2024-12-25 11:55:59 +08:00
Joel e34fe3d10a feat: support iteration handle 2024-12-25 11:47:31 +08:00
Yi 8d79b24883 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-12-25 11:43:00 +08:00
AkaraChen 03520a5a81 feat: strategy form init 2024-12-25 11:24:24 +08:00
Kalo ChinandGitHub 3ea54e9d25 fix: update S3 and Azure configuration typos in .env.example and corr… (#12055) 2024-12-25 11:00:45 +08:00
yihongandGitHub 1d3f218662 fix: like failed close #12057 (#12058)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-25 10:57:52 +08:00
yihongandGitHub 7da4fb68da fix: can not find model bug (#12051)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-25 08:42:52 +08:00
yihongandGitHub 7a24c957bd fix: i18n error (#12052)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-24 23:14:51 +08:00
yihongandGitHub 0ea6a926c5 fix: tool can not run (#12054)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-24 23:14:32 +08:00
Yeuoly 6ee7ca1890 fix: add specific exceptions 2024-12-24 22:00:45 +08:00
euxandGitHub 49bc602fb2 fix: --name option for the create-tenant command does not take effect (#11993) 2024-12-24 21:58:05 +08:00
Yeuoly f589397f25 fix: import Optional 2024-12-24 21:56:55 +08:00
Yeuoly ee080dddf9 fix: rebase 2024-12-24 21:48:49 +08:00
Yeuoly ee6841648c fix: migrations and imports recycle 2024-12-24 21:36:42 +08:00
Yeuoly 5a57dad93c fix: linter 2024-12-24 21:29:24 +08:00
Yeuoly 4199998c7e Merge branch 'main' into fix/chore-fix 2024-12-24 21:28:56 +08:00
TinsFoxandGitHub cdaef30cc9 refactor: replace div with button for better accessibility (#12046) 2024-12-24 19:13:24 +08:00
Yeuoly 527abcb2e9 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-24 18:39:42 +08:00
yihongandGitHub 56e15d09a9 feat: mypy for all type check (#10921) 2024-12-24 18:38:51 +08:00
Yeuoly 39656f7f84 fix: linter and formatter 2024-12-24 18:38:34 +08:00
Yeuoly bf39e314d8 fix: add install count 2024-12-24 18:38:12 +08:00
Yi d43b2c62f5 Merge branch 'main' into feat/plugins 2024-12-24 17:44:12 +08:00
Yi XiaoandGitHub c91e8b1737 fix: modal bg color (#12042) 2024-12-24 16:26:47 +08:00
JzoNg 07d7965e3b support custom output schema in tool node 2024-12-24 16:26:09 +08:00
Joel e4d72f3442 chore: hide log 2024-12-24 16:10:37 +08:00
Joel c93c264c5a feat: format to tracing 2024-12-24 16:08:48 +08:00
AkaraChen 77017522b8 chore: init tool select component 2024-12-24 16:01:14 +08:00
-LAN-andGitHub 094343739b fix/array file cannot use in iteration node (#12035)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-24 15:56:59 +08:00
AkaraChen aa309964e5 chore: init tool select component 2024-12-24 15:55:45 +08:00
zxhlyh 754baf8d02 refact workflow run 2024-12-24 15:38:54 +08:00
zxhlyh b98dd22491 refact workflow run 2024-12-24 15:31:46 +08:00
-LAN-andGitHub 82134a1d50 fix: Replace generic exceptions with specific error classes in task p… (#12036)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-24 15:24:19 +08:00
yihongandGitHub 6a0ff3686c fix: fix typo (#12034)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-24 15:23:27 +08:00
AkaraChen 7c460eb6e7 chore: add warning ui for agentic stragey 2024-12-24 14:20:15 +08:00
JzoNg e2e2090e0c support model params change 2024-12-24 14:15:18 +08:00
JzoNg c8fc1deca6 support & operator of model-selector scope 2024-12-24 12:18:03 +08:00
Yi 6dd14ca2be chore: add agent strategy option apart from bundle 2024-12-24 12:05:35 +08:00
zxhlyh ec6f4ee9df Merge branch 'main' into feat/plugins 2024-12-24 11:35:47 +08:00
JzoNg 9d117fa2f9 param rules panel 2024-12-24 11:00:31 +08:00
Joel e8319f01e0 fix: crash 2024-12-24 10:33:56 +08:00
Yang JingtaoandGitHub e0c24c0e99 fix: Fix session typo in workflow_trace method (#12031) 2024-12-24 10:30:31 +08:00
-LAN-andGitHub 1c80941c69 fix: add FileNotFoundError to ignored errors in Sentry integration (#12023)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 22:36:44 +08:00
-LAN-andGitHub e88ea71aef chore/bump version to 0.14.2 (#12017)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 19:15:48 +08:00
yihongandGitHub e0f1410b48 fix: issue Multiple Paths Between IF/ELSE Branches (#11646)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-23 18:56:59 +08:00
-LAN-andGitHub c3c85276d1 Fix/refactor invoke result handling in question classifier node (#12015)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 17:54:08 +08:00
-LAN-andGitHub af2888d394 fix: remove json_schema if response format is disabled. (#12014)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 17:53:57 +08:00
-LAN-andGitHub d0dd8b7955 fix: add UUID validation for tool file ID extraction (#12011)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 17:53:42 +08:00
-LAN-andGitHub 75bce2822e fix: add logging for missing edge mapping in StreamProcessor (#12008)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 17:53:36 +08:00
-LAN-andGitHub 425cc1ea85 Fix/add retry mechanism to billing service request handling (#12006)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 17:53:25 +08:00
zxhlyhandGitHub 2bf33c4dd2 Fix/workflow retry log (#12013) 2024-12-23 17:18:09 +08:00
dc19cd5d9d fix: add retry feature to code node (#12005)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-23 16:42:28 +08:00
yihongandGitHub dfc25dbdd0 fix: drop useless and wrong code in Account (#11961)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-23 16:30:04 +08:00
-LAN-andGitHub c4091c4c66 fix: improve error handling for file retrieval in AwsS3Storage (#12002)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 16:28:54 +08:00
zxhlyhandGitHub ef95b1268e Fix/workflow retry (#11999) 2024-12-23 15:55:50 +08:00
-LAN-andGitHub e068bbec73 feat: add RequestBodyError for invalid request body handling (#11994)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 15:53:03 +08:00
-LAN-andGitHub 9cfd1c67b6 fix: Introduce ArrayVariable and update iteration node to handle it (#12001)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 15:52:50 +08:00
Joel c3f3b79b79 merge main 2024-12-23 15:33:08 +08:00
-LAN-andGitHub 8978a6a3ff fix: remove unused credential validation logic in VectorizerProvider (#12000)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 15:30:58 +08:00
Shun MiyazawaandGitHub 4e3d732934 feat: Warning on invite modal when mail setup is incomplete (#11809) 2024-12-23 15:27:49 +08:00
-LAN-andGitHub 03548cdfbc fix: handle broader request exceptions in OAuth process (#11997)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-23 15:23:11 +08:00
yihongandGitHub 70dd69d533 fix: Multiple Paths Between IF/ELSE Branches Invalidate Conditions (#11544)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-23 15:09:02 +08:00
453f324f54 fix: retry node in iteration logs wrong (#11995)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-23 15:06:01 +08:00
c1aa55f3ea fix: remove the unused retry index field (#11903)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-23 14:32:11 +08:00
JasonVVandGitHub 4b1e13e982 Fix 11979 (#11984) 2024-12-23 14:30:04 +08:00
yagiyukiGitHubyagiyuki <yagiyuki>
4584eb3058 Add custom to file types (#11966)
Co-authored-by: yagiyuki <yagiyuki>
2024-12-23 13:53:46 +08:00
VoidIsVoidandGitHub 02a7ae15f9 fix: fix update external dataset error in dataset list (#11989) 2024-12-23 13:53:05 +08:00
Yi XiaoandGitHub 74b1b60125 Feat: account page dark mode (#11977) 2024-12-23 11:17:49 +08:00
yihongandGitHub 39df994ff9 fix: create_feedback args are wrong (#11962)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-23 09:20:47 +08:00
BenjaminandGitHub d9875fe232 fix(commands): validate name encoding for non-Latin characters (#11965) 2024-12-23 09:20:30 +08:00
yihongandGitHub 26c10b9931 fix: 'dict_keys' object is not subscriptable error (#11957)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-22 14:58:33 +08:00
-LAN-andGitHub 750662eb08 fix(workflow): update updated_at default to use UTC timezone (#11960)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 14:55:18 +08:00
6b49889041 fix: messagefeedbackapi support content (#11716)
Signed-off-by: weiyang <24080293@smb956101.com>
Co-authored-by: weiyang <24080293@smb956101.com>
2024-12-22 10:45:55 +08:00
-LAN-andGitHub 03ddee3663 fix(variable_assigner): change VariableOperatorNodeError to inherit from ValueError (#11951)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:43:40 +08:00
-LAN-andGitHub 10caab1729 fix: change CredentialsValidateFailedError to inherit from ValueError (#11950)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:43:31 +08:00
-LAN-andGitHub c6a72def88 fix(ops_trace_manager): handle None workflow_run in workflow_trace method and raise ValueError (#11953)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:42:51 +08:00
-LAN-andGitHub 21a31d7f8b fix(base_node): change BaseNodeError exception type from Exception to ValueError (#11952)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:42:30 +08:00
-LAN-andGitHub 2c4df108e5 fix: raise http request node error on httpx.request error (#11954)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:41:53 +08:00
-LAN-andGitHub 5db8addcc6 fix(core/errors): change base class of custom exceptions to ValueError (#11955)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:41:34 +08:00
-LAN-andGitHub dd0e81d094 fix: enhance type hints and improve audio message handling in TTS pub… (#11947)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:41:06 +08:00
-LAN-andGitHub 90f093eb67 fix(json_in_md_parser): improve error messages for JSON parsing failures (#11948)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:40:56 +08:00
-LAN-andGitHub a056a9d601 feat(code_node): add more check (#11949)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:40:43 +08:00
-LAN-andGitHub 2ad2a402fb fix(app_dsl_service): handle missing app mode with a ValueError (#11945)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:40:12 +08:00
-LAN-andGitHub 3d07a94bd7 fix: refactor conversation pagination to use SQLAlchemy session manag… (#11956)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-22 10:39:29 +08:00
非法操作andGitHub 366857cd26 fix: gemini system prompt with variable raise error (#11946) 2024-12-21 23:14:05 +08:00
9578246bbb fix: The default updated_at when a workflow is created (#11709)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2024-12-21 23:13:58 +08:00
yihongandGitHub 9ee9e9c6de fix: self.method should method in api_tool.py (#11926)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-21 21:24:59 +08:00
呆萌闷油瓶andGitHub e22cc28114 fix:log error(#11942) (#11943) 2024-12-21 21:24:33 +08:00
-LAN-andGitHub a227af3664 fix(code_node): update type hints for string and number checks in Cod… (#11936)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:24:22 +08:00
-LAN-andGitHub 599d410d99 fix: validate reranking model attributes before processing (#11930)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:23:12 +08:00
-LAN-andGitHub 5e37ab60d8 fix: validate response type in transform_response method (#11931)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:23:03 +08:00
-LAN-andGitHub 0b06235527 fix: add RemoteFileUploadError for better error handling in remote fi… (#11933)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:22:57 +08:00
-LAN-andGitHub b8d42cdea7 fix: change MaxRetriesExceededError to inherit from ValueError (#11934)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:22:47 +08:00
-LAN-andGitHub 455791b710 fix(model_runtime): make invoke as ValueError (#11929)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:22:14 +08:00
-LAN-andGitHub 90323cd355 fix(tool_file_manager): raise ValueError when get timeout (#11928)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:22:06 +08:00
-LAN-andGitHub c07d9e96ce fix(nodes): handle errors in question_classifier and parameter_extractor (#11927)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:21:57 +08:00
-LAN-andGitHub 810adb8a94 fix: change OutputParserError to inherit from ValueError (#11935)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:21:30 +08:00
-LAN-andGitHub 606aadb891 refactor: update builtin tool provider methods to use session management (#11938)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:21:09 +08:00
-LAN-andGitHub 8f73670925 fix(file_factory): validate upload_file_id before querying UploadFile (#11937)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:21:00 +08:00
-LAN-andGitHub 8c559d6231 fix(retrieval_service): avoid to use exception (#11925)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-21 21:19:46 +08:00
Kalo ChinandGitHub 786cb6859b fix: ensure WorkflowRun attributes are refreshed in WorkflowCycleMana… (#11913) 2024-12-21 15:05:04 +08:00
de8800f41a add three aws tools (#11905)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-12-21 13:36:13 +08:00
左凌andGitHub 7a00798027 Update input-var-list.tsx (#9987) 2024-12-21 11:54:12 +08:00
6ded06c6d9 fix: dataset search-input compostion can't work in chrome (#11907)
Co-authored-by: zhaoqingyu.1075 <zhaoqingyu.1075@bytedance.com>
2024-12-21 11:26:17 +08:00
f53741c5b9 revert: these 2 settings (#11906)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-20 18:24:47 +08:00
Kalo ChinandGitHub 2681bafb76 fix: handle document fetching from URL in Anthropic LLM model, solving base64 decoding error (#11858) 2024-12-20 18:23:42 +08:00
ac635c70cd fix: doc can not extract tables (#11879)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: akinobu-i <akinobu-i@users.noreply.github.com>
2024-12-20 17:19:46 +08:00
JzoNg c91c5faa9d Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-20 16:44:23 +08:00
JzoNg 327eac09e7 fix: scope value 2024-12-20 16:37:30 +08:00
JzoNg cf75e2f053 model selector support scope 2024-12-20 16:36:22 +08:00
zxhlyhandGitHub ef7e47d162 fix: rerank switch (#11897) 2024-12-20 16:12:34 +08:00
4211b9abbd chore: translate i18n files (#11892)
Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com>
2024-12-20 16:12:01 +08:00
zxhlyhandGitHub 0c0120ef27 Feat/workflow retry (#11885) 2024-12-20 15:44:37 +08:00
dacd457478 feat: add workflow parallel depth limit configuration (#11460)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
2024-12-20 14:52:20 +08:00
yihongandGitHub 7b03a0316d fix: better memory usage from 800+ to 500+ (#11796)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-20 14:51:43 +08:00
52201d95b1 chore: add retry index migration (#11887)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-20 14:40:33 +08:00
e2cde628bb chore: translate i18n files (#11855)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-20 14:19:47 +08:00
AkaraChenandGitHub 3335fa78fc fix: node 22 build (#11883) 2024-12-20 14:14:27 +08:00
7abc7fa573 Feat: Retry on node execution errors (#11871)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-20 14:14:06 +08:00
f6247fe67c Feat: Add partial success status to the app log (#11869)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-20 14:13:44 +08:00
-LAN-andGitHub 996a9135f6 feat(llm_node): support order in text and files (#11837)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-20 14:12:50 +08:00
-LAN-andGitHub 3599751f93 chore(db): use a better way to export models and remove unused table (#11838)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-20 14:12:29 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2d186e1e76 chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /web (#11876)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 13:46:54 +08:00
JzoNg 12c47d80af support llm tool_parameters 2024-12-20 12:46:07 +08:00
JzoNg 5c6916354e app selector support scope 2024-12-20 11:59:18 +08:00
JzoNg 6d2b2d7810 fix number of tool actions 2024-12-20 11:27:52 +08:00
Dr.MerdanBayandGitHub bb2f46d7cc fix: add safe dictionary access for bedrock credentials (#11860) 2024-12-20 12:13:39 +09:00
JzoNg 1fa5b1755f dark mode for model provider 2024-12-20 10:44:39 +08:00
twwu 5dad4793e6 fix: Fix context selector usage in plugin page components 2024-12-20 09:56:06 +08:00
yihongandGitHub 463fbe2680 fix: better gard nan value from numpy for issue #11827 (#11864)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-20 09:28:32 +08:00
傻笑zzandGitHub 95a7e50137 Fix comfyui tool https (#11859) 2024-12-20 09:27:21 +08:00
非法操作andGitHub 9d93ad1f16 feat: add gemini-2.0-flash-thinking-exp-1219 (#11863) 2024-12-20 09:26:31 +08:00
44104797d6 fix: Enhance file type detection in HTTP Request node (#11797)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: 谭成 <tancheng.sh@chinatelecom.cn>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-20 02:21:41 +08:00
傻笑zzandGitHub 1548501050 fix: comfyui tool supports https (#11823) 2024-12-19 23:05:27 +08:00
crazywoolaandGitHub de3911e930 Fix/10584 wrong message when no custom tool available in custom tool list (#11851) 2024-12-19 21:19:08 +08:00
yihongandGitHub 5a8a901560 fix: float values are not json for nan value close #11827 (#11840)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-19 20:50:20 +08:00
yihongandGitHub 12d45e9114 fix: silicon change its model fix #11844 (#11847)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-19 20:50:09 +08:00
barabicuandGitHub d057067543 fix: remove ruff ignore SIM300 (#11810) 2024-12-19 18:30:51 +08:00
sinoandGitHub 560d375e0f feat(ark): add doubao-pro-256k and doubao-embedding-large (#11831) 2024-12-19 17:49:31 +08:00
3388d6636c add-model-azure-gpt-4o-2024-11-20 (#11803)
Co-authored-by: agungbesti <agung.besti@insignia.co.id>
2024-12-19 12:36:11 +08:00
Yeuoly 82f6803e25 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 01:09:34 +08:00
Yeuoly 8cc4c109d0 fix: return types of builtin tools 2024-12-19 01:09:15 +08:00
Yeuoly 69b43c513a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 01:02:56 +08:00
Yeuoly a1cdca02e3 fix: formatter 2024-12-19 01:02:44 +08:00
Yeuoly 1b21d7513d fix: reduce model provider fetchs 2024-12-19 01:02:08 +08:00
Yeuoly f407cf4e13 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 00:52:02 +08:00
takatost d5c708c62b feat: add plugin_model_providers context 2024-12-19 00:50:46 +08:00
Yeuoly f8bbea224f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-18 23:55:18 +08:00
Yeuoly 342d4060ff fix: add additional parameters to exists tools 2024-12-18 23:54:48 +08:00
Charlie.WeiGitHubluowei <glpat-EjySCyNjWiLqAED-YmwM>crazywoolacrazywoola
2624a6dcd0 Fix explore app icon (#11808)
Co-authored-by: luowei <glpat-EjySCyNjWiLqAED-YmwM>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-18 21:24:21 +08:00
yihongandGitHub b5c2785e10 ci: fix config ci and it works (#11807)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-18 20:17:10 +08:00
Joel 289a040508 chore: merge 2024-12-18 17:54:18 +08:00
yihongandGitHub 493834d45d ci: add config ci more disscuss check #11706 (#11752)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-18 17:36:36 +08:00
Joel d49e9890ba fix: file name text overflow not work 2024-12-18 16:49:11 +08:00
NFish fa3f8c5bb0 merge origin/feat/parent-child-retrival 2024-12-18 16:44:51 +08:00
Joel eead099c5e fix: not get extensions can select all types files 2024-12-18 16:38:16 +08:00
-LAN-andGitHub 926546b153 chore: bump version to 0.14.1 (#11784)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 16:35:54 +08:00
56434db4f5 feat:add hunyuan model(hunyuan-role, hunyuan-large, hunyuan-large-rol… (#11766)
Co-authored-by: xanderdong <xanderdong@tencent.com>
2024-12-18 15:25:53 +08:00
-LAN-andGitHub 688292e6ff chore(opendal_storage): remove unused comment (#11783)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 15:20:54 +08:00
Shun MiyazawaandGitHub f7415e1ca4 feat: Disable the "Forgot your password?" button when the mail server setup is incomplete (#11653) 2024-12-18 15:20:41 +08:00
-LAN-andGitHub 2961fa0e08 chore(.env.example): add comments for opendal (#11778)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 15:20:03 +08:00
ad17ff9a92 Lindorm vdb bug-fix (#11790)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-12-18 15:19:20 +08:00
twwu 7185fd2d5a Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-18 15:03:12 +08:00
twwu 8d9a2d6d99 fix: Enhance components with display names and ref forwarding; fix preview and edit slice style issue 2024-12-18 14:47:33 +08:00
Joel ade6dd4b6f fix: delimiter not support empty and not escape 2024-12-18 14:25:56 +08:00
Joel 0006852b5b fix: parent child has no overlap 2024-12-18 14:13:59 +08:00
Joel 6ea333fb44 fix: child sparator not escape 2024-12-18 14:10:18 +08:00
Joel c22c010210 fix: empty no text 2024-12-18 13:57:29 +08:00
BenjaminandGitHub 558ab25f51 fix: imperfect service-api introduction text (#11782) 2024-12-18 13:43:34 +08:00
-LAN-andGitHub a5db7c9acb feat: add openai o1 & update pricing and max_token of other models (#11780)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 12:15:11 +08:00
NFish 4e6db1f4fb fix: update parent child style 2024-12-18 11:46:41 +08:00
JoeandGitHub 580297e290 fix: file upload auth (#11774) 2024-12-18 11:02:40 +08:00
DDDDD12138andGitHub 79d11ea709 feat: add parameters for JinaReaderTool (#11613) 2024-12-18 09:08:06 +08:00
-LAN-andGitHub 99f40a9682 feat: full support for opendal and sync configurations between .env and docker-compose (#11754)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 09:05:54 +08:00
-LAN-andGitHub e86756cb39 feat(app_factory): speed up api startup (#11762)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-18 09:05:31 +08:00
barabicuandGitHub 1325246da8 fix: Prevent redirection to /overview when accessing /workflow. (#11733) 2024-12-18 08:37:22 +08:00
NFish 330cfaf6d6 Merge branch 'feat/parent-child-retrieval' of github.com:langgenius/dify into feat/parent-child-retrieval 2024-12-17 18:20:00 +08:00
NFish 827cffc4d9 fix: update dataset document processing style 2024-12-17 18:17:23 +08:00
Joel 8ee7e0a787 fix: text size 2024-12-17 18:10:44 +08:00
Joel de6b0670a3 chore: detail ui 2024-12-17 17:53:25 +08:00
Joel 39452274f8 chore: fix chunk detail spacing 2024-12-17 17:46:43 +08:00
Hiroshi FujitaandGitHub dfa9a91906 (doc) fix: update cURL examples to include Authorization header (#11750) 2024-12-17 17:44:40 +08:00
Charlie.WeiGitHubluowei <glpat-EjySCyNjWiLqAED-YmwM>crazywoolacrazywoola
5e2926a207 Fix explore app icon (#11742)
Co-authored-by: luowei <glpat-EjySCyNjWiLqAED-YmwM>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-17 17:42:44 +08:00
非法操作andGitHub 9048832a9a chore: improve gemini models (#11745) 2024-12-17 17:42:21 +08:00
Shota TotsukaandGitHub 7d5a385811 feat: use Gemini response metadata for token counting (#11743) 2024-12-17 17:42:05 +08:00
Joel 4ef876db23 chore: use qa language 2024-12-17 17:35:50 +08:00
twwu a1abbedc13 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-17 16:42:17 +08:00
twwu a099e0a7e6 fix: Adjust layout and prevent default behavior in action buttons 2024-12-17 16:42:11 +08:00
Yeuoly 810ac6e1b2 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-17 15:50:13 +08:00
Yeuoly 05232d36f0 fix: add default values to WorkflowAppGenerator 2024-12-17 15:49:33 +08:00
-LAN-andGitHub 900e93f758 chore: update comments in docker env file (#11705)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-17 15:45:00 +08:00
sinoandGitHub 99430a5931 feat(ark): support doubao vision series models (#11740) 2024-12-17 15:43:11 +08:00
Joel 1613eadbce chore: not free plan show auto disabled 2024-12-17 15:32:14 +08:00
twwu f2c087b805 fix: Fix FullScreenDrawer background color missing 2024-12-17 15:20:32 +08:00
非法操作andGitHub c9b4029ce7 chore: the consistency of MultiModalPromptMessageContent (#11721) 2024-12-17 15:01:38 +08:00
twwu 5ba51fd7d2 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-17 14:29:41 +08:00
twwu f7c38db575 feat: enhance child segment list and segment card UI with improved styling and new props for EditSlice 2024-12-17 14:29:35 +08:00
Joel 4df52e7f95 fix: retriveal text left ui 2024-12-17 14:29:12 +08:00
Bowen LiangandGitHub 78c3051585 fix: make tidb service optional with proper profile in docker compose yaml (#11729) 2024-12-17 14:25:15 +08:00
AkaraChen 175f5fe6af fix: input number width & default value for child delimiter 2024-12-17 14:12:34 +08:00
呆萌闷油瓶andGitHub cd4310df25 chore:update azure api version (#11711) 2024-12-17 13:39:56 +08:00
-LAN-andGitHub 259cff9f22 fix(api/ops_trace): avoid raise exception directly (#11732)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-17 13:38:57 +08:00
Hanqing ZhaoandGitHub 7b7eb00385 Modify translation for error branch (#11731) 2024-12-17 13:28:13 +08:00
-LAN-andGitHub 62b9e5a6f9 feat(knowledge_retrieval_node): Suppress exceptions thrown by DatasetRetrieval (#11728)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-17 13:12:29 +08:00
NFishandGitHub a399502ecd Dark Mode: Workflow darkmode style (#11695) 2024-12-17 12:20:49 +08:00
-LAN-andGitHub 92a840f1b2 feat(tool_node): Suppress exceptions thrown by the Tool (#11724)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-17 12:11:50 +08:00
非法操作andGitHub 74fdc16bd1 feat: enhance gemini models (#11497) 2024-12-17 12:05:13 +08:00
NFish 1e2ca1aa7b revert: checkbox style 2024-12-17 10:57:45 +08:00
NFish 642aab38fd Merge branch 'feat/parent-child-retrieval' of github.com:langgenius/dify into feat/parent-child-retrieval 2024-12-17 10:46:45 +08:00
NFish 84641b6fd6 Merge branch 'main' into feat/parent-child-retrieval 2024-12-17 10:46:17 +08:00
twwu 9006a744b9 feat: enhance segment management by adding new segment mutation and improving UI layout 2024-12-17 10:13:53 +08:00
NFish 493ec06e95 Merge branch 'feat/parent-child-retrieval' of github.com:langgenius/dify into feat/parent-child-retrieval 2024-12-17 09:45:24 +08:00
yihongandGitHub 56cfdce453 chore: update docker env close #11703 (#11706)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-17 09:01:23 +08:00
yihongandGitHub efa8eb379f fix: memory leak by pypdfium2 close(maybe) #11510 (#11700)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-17 00:42:01 +08:00
Yeuoly 040a6fbc5f fix: refresh token 2024-12-16 19:41:50 +08:00
crazywoolaandGitHub 7f095bdc42 fix: image icon can not display (#11701) 2024-12-16 19:15:23 +08:00
Kazuhisa WadaandGitHub e20161b3de make login lockout duration configurable (#11699) 2024-12-16 19:05:27 +08:00
fc8fdbacb4 feat: add gitee ai vl models (#11697)
Co-authored-by: 方程 <fangcheng@oschina.cn>
2024-12-16 18:45:26 +08:00
longfengpiliandGitHub 7fde638556 fix: fix proxy for docker (#11681) 2024-12-16 18:43:59 +08:00
Joel 7a82422187 chore: record ui 2024-12-16 18:33:07 +08:00
Joel 29c41bf8e8 fix: retrieval ui 2024-12-16 18:30:11 +08:00
twwu 777bba0c63 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-16 18:15:59 +08:00
twwu 4850a99ce5 feat: refactor docForm type to use ChuckingMode and improve UI for question/answer sections 2024-12-16 18:15:54 +08:00
zxhlyh 9f90d70b38 merge feat/plugins 2024-12-16 18:06:06 +08:00
Joel e418cf30f5 chore: hiting test header ui 2024-12-16 18:05:02 +08:00
nite-knite 6da7efaa1d feat: update dataset embedding error message display 2024-12-16 18:04:20 +08:00
非法操作andGitHub be93c19b7e chore: remove duplicate folder with case sensitivity issue (#11687) 2024-12-16 17:59:00 +08:00
zxhlyh 04054954c5 Merge branch 'main' into feat/plugins 2024-12-16 17:55:52 +08:00
NFish a01a28997e fix: update datasource Step1 style 2024-12-16 17:54:48 +08:00
zxhlyh 672843dcab feat: marketplace list more link 2024-12-16 17:39:07 +08:00
nite-knite e206866908 feat: update UI for dataset creation step three 2024-12-16 17:16:03 +08:00
twwu 14f14420e7 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-16 17:10:38 +08:00
twwu faa5b63ed4 feat: update background styles and add loading skeletons for document detail components 2024-12-16 17:10:33 +08:00
Joel 782845f1a7 fix: header text 2024-12-16 16:51:12 +08:00
JzoNg 4f8cdabef0 dark mode of model provider 2024-12-16 16:29:45 +08:00
Joel d5a90daa44 chore: retrieval test text 2024-12-16 15:56:16 +08:00
Joel 3f9acc7029 feat: hit testing support external 2024-12-16 15:51:47 +08:00
-LAN-andGitHub 967eb81112 chore: bump version to 0.14.0 (#11679)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 15:49:17 +08:00
zxhlyhandGitHub 9f602f73eb fix: workflow continue on error edge color (#11689) 2024-12-16 15:39:53 +08:00
JoelandGitHub 41de7e76ec fix: iteration output array type causes always outputting string array (#11686) 2024-12-16 15:06:03 +08:00
zxhlyh e792e91777 fix: model page 2024-12-16 14:56:55 +08:00
JoelandGitHub 607a22ad12 fix: tool constant params change cause page crashed (#11682) 2024-12-16 14:33:00 +08:00
Yeuoly fd02c60498 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-16 14:29:05 +08:00
JzoNg d5cb9f0193 add help doc link of endpoint 2024-12-16 14:20:22 +08:00
Yeuoly 636dde94c7 fix: migrations 2024-12-16 14:17:39 +08:00
Yeuoly 75fe785d88 Merge branch 'main' into fix/chore-fix 2024-12-16 14:08:18 +08:00
Yeuoly a61da6cf95 fix: replace Enum with StrEnum 2024-12-16 13:40:02 +08:00
4b402c4041 fix: enhance workflow.tool_published performance (#11640)
Co-authored-by: wangbin <wangbin35@xiaomi.com>
2024-12-16 13:05:38 +08:00
daccb10d8c fix: volcengine_maas and baichuan message error (#11625)
Co-authored-by: zhongliliu <liuzlx@digitalchina.com>
2024-12-16 13:05:27 +08:00
Kazuhisa WadaandGitHub 63f1dd7877 Make max_submit_count configurable via Config (#11673) 2024-12-16 12:59:37 +08:00
79801f5c30 fix: deepseek reports an error when using Response Format #11677 (#11678)
Co-authored-by: zhaobs <zhaobs@cailian.net>
2024-12-16 12:58:03 +08:00
twwu 340a052d44 fix: update dependencies array in useMemo hooks 2024-12-16 12:49:06 +08:00
twwu d5cb3af293 feat: add horizontal divider above pagination in completed documents view 2024-12-16 12:15:01 +08:00
twwu fb4d980096 feat: add loading state to child segment list component 2024-12-16 11:46:08 +08:00
twwu cfde86252c Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-16 11:20:50 +08:00
twwu cea24acb0a feat: enhance child segment list with empty state handling and search result display 2024-12-16 11:20:37 +08:00
JzoNg 171cc88a0d merge main 2024-12-16 11:09:13 +08:00
Joel 487809cecd fix: checkox mix merge error 2024-12-16 11:04:39 +08:00
非法操作andJoel 66d7d7a9bc fix: change http node params from dict to list tuple (#11665) 2024-12-16 11:04:38 +08:00
非法操作andJoel ae45575226 feat: add grok-2-1212 and grok-2-vision-1212 (#11672) 2024-12-16 11:04:38 +08:00
782a24b04d fix: remove the unused QueueWorkflowPartialSuccessEvent handle in workflow (#11669)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-16 11:04:38 +08:00
b96686c1f9 chore: translate i18n files (#11639)
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
2024-12-16 11:04:38 +08:00
c1cf5f8d15 feat: log add trace id (#11599)
Co-authored-by: hobo.l <hobo.l@binance.com>
2024-12-16 11:04:38 +08:00
yihongandJoel 975743925e fix: _handle_workflow_run_partial_success args is wrong (#11562)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
yihongandJoel d8fb14d5df fix: ExternalDatasetService.process_external_api wrong args (#11586)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
yihongandJoel b8aa9a0162 fix: account.id should account_id (#11628)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
Bowen LiangandJoel 108c1ec929 test: run vdb tests on TiDB Vector with docker in CI tests (#11645) 2024-12-16 11:04:38 +08:00
yihongandJoel 5e3edd2b1c fix: better error message for stream (#11635)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
IWAI, MasaharuJoelIWAI, Masaharu <iwai_masaharu@funkit.co.jp>
0dfa34ebff Update translate to Japanese: natural Japanese expression (#11647)
Co-authored-by: IWAI, Masaharu <iwai_masaharu@funkit.co.jp>
2024-12-16 11:04:38 +08:00
yihongandJoel 294be849d5 fix: langfuse do not have created_at args and fix the typing in the file (#11648)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
IWAI, MasaharuandJoel aff330945d fix: rename README filename: Japanese language code is 'JA' (#11651) 2024-12-16 11:04:38 +08:00
Junyan QinandJoel 1ebf66718e fix: remove unnecessary curly braces in wf api doc (#11658) 2024-12-16 11:04:38 +08:00
yihongandJoel 36aebac6af fix: filter bug for keywork cause code can not reach (#11666)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:04:38 +08:00
NFishandJoel e9e78487b5 Feat: new entry point for app creation (#10847) 2024-12-16 11:04:32 +08:00
Kevin9703andJoel bc82de83b7 fix: app log filter value error (#11624) 2024-12-16 11:02:47 +08:00
yihongandJoel 09184afba0 fix: split dir for opendal tests (#11627)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:02:47 +08:00
-LAN-andJoel 674dd13fbd chore(dependency): bump gunicorn to 23.0 (#11560)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 11:02:47 +08:00
zxhlyhandJoel a594fd87b8 Fix/pdf preview in build (#11621) 2024-12-16 11:02:47 +08:00
Hiroshi FujitaandJoel df1f5f7851 feat(devcontainer): add alias to stop Docker containers (#11616) 2024-12-16 11:02:47 +08:00
yihongandJoel 96bb49aded ci: better print version for ruff to check the change (#11587)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:02:47 +08:00
JasonVVandJoel 6d1264af4e feat(model): add vertex_ai Gemini 2.0 Flash Exp (#11604) 2024-12-16 11:02:47 +08:00
crazywoolaandJoel cfd964880a fix: name of llama-3.3-70b-specdec (#11596) 2024-12-16 11:02:47 +08:00
84d966d0d8 Added new models and Removed the deleted ones for Groq #11455 (#11456)
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Alok Shrivastwa <Alok.Shrivastwa@microland.com>
2024-12-16 11:02:47 +08:00
Warren ChenandJoel a926cd436f [ref] use one method to get boto client for aws bedrock (#11506) 2024-12-16 11:02:47 +08:00
76338175e8 chore: translate i18n files (#11577)
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
2024-12-16 11:02:47 +08:00
yihongandJoel 561453b63f fix: support mdx files close #11557 (#11565)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:02:47 +08:00
JoeandJoel 39c678308b fix: change workflow trace id (#11585) 2024-12-16 11:02:47 +08:00
KVOJJJinandJoel 076bd1cf8d Feat: dark mode for logs and annotations (#11575) 2024-12-16 11:02:45 +08:00
880094cc7b Lindorm vdb (#11574)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-12-16 11:00:37 +08:00
非法操作andJoel 3e6ff18e1b feat: add gemini-2.0-flash-exp (#11570) 2024-12-16 11:00:37 +08:00
yihongandJoel 9a55bd119e fix: better opendal tests (#11569)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:00:37 +08:00
liuzhenghuaandJoel ec1efe5d54 Fix: RateLimit requests were not released when a streaming generation exception occurred (#11540) 2024-12-16 11:00:37 +08:00
708c1a19a1 chore: translate i18n files (#11545)
Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com>
2024-12-16 11:00:37 +08:00
zxhlyhandJoel 974b88d63a fix: workflow continue on error doc link (#11554) 2024-12-16 11:00:37 +08:00
-LAN-andJoel 4762d9b02d feat: integrate opendal storage (#11508)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 11:00:37 +08:00
72b1bed79d fix: iteration node in parallel mode token count error (#11539)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-16 11:00:37 +08:00
14912b2a1d Feat: continue on error (#11458)
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-16 11:00:37 +08:00
zxhlyhandJoel d1d76823d1 feat: workflow continue on error (#11474) 2024-12-16 11:00:37 +08:00
Yi XiaoandJoel 3b57b8c91f chore: update thai lang in app page (#11541) 2024-12-16 11:00:37 +08:00
TommyandJoel 1a1d35607c [Pixtral] Add new model ; add vision (#11231) 2024-12-16 11:00:37 +08:00
c82271af75 fix: Remove duplicate 'response_format' parameter from model YAML files (#11531)
Co-authored-by: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com>
2024-12-16 11:00:37 +08:00
Paul van OorschotandJoel 0b7b12b003 feat: Add llama-3.3 models for Groq (#11533) 2024-12-16 11:00:37 +08:00
yihongandJoel cbb21149e6 fix: better error message for url add external knowledge (#11537)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:00:37 +08:00
yihongandJoel 88df17694f Revert "fix: total tokens is wrong which is zero in inter way, close … (#11536) 2024-12-16 11:00:37 +08:00
yihongandJoel 602bd801c3 fix: can not start local by REMOTE_SETTINGS_SOURCE_NAME change it to … (#11535)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:00:37 +08:00
yihongandJoel a571914ffc fix: issue 11247 that Completion mode content maybe list or str (#11504)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 11:00:37 +08:00
Wei MingzhiandJoel e2a3c2e9da Remove the processing of single quote when testing API tools. (#11390) 2024-12-16 11:00:37 +08:00
非法操作andJoel b76cee7ad8 chore: LOCAL_FILE also try to use remote_url as Prompt message (#11443) 2024-12-16 11:00:37 +08:00
e8f46bffde Msg file preview (#11466)
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-16 11:00:37 +08:00
barabicuandJoel e299232a19 chore: fix typo in Japanese localization (#11502) 2024-12-16 11:00:37 +08:00
문정현andJoel 08a4d6d67f chore : fix translation Typo in ko-KR localization (#11509) 2024-12-16 11:00:37 +08:00
-LAN-andJoel 0deb19e800 fix(app_generator_service): overload type hints (#11507)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 11:00:37 +08:00
orangeclkandJoel 5190cac072 feat: add siliconflow qwq and llama3.3 model (#11492) 2024-12-16 11:00:37 +08:00
60470414fa feat:add apollo configuration to load env file (#11210)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: huanshare <liuhuan101@longfor.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-16 11:00:37 +08:00
Yingchun LaiandJoel 062a57589b fix: add the missing abab6.5t-chat model of Minimax (#11484) 2024-12-16 11:00:37 +08:00
-LAN-andJoel 7f5bda81e5 chore: bump version to 0.13.2 (#11489)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 11:00:37 +08:00
Hash BrownandJoel 61fd1947ff fix: cannot close notification manually (#11490) 2024-12-16 11:00:35 +08:00
JyongandJoel 19e13d89bc improve message clean logic (#11487) 2024-12-16 10:59:56 +08:00
-LAN-andJoel 186e39fd2f refactor(iteration_node): use Sequence and Mapping in parameters (#11483)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 10:59:56 +08:00
eabf59f00d Fix the token count at the iteration node (#11235)
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-16 10:59:56 +08:00
83a5dcffac fix: tags could not be saved when the Workflow Tool was created (#11481)
Co-authored-by: zhaobs <zhaobs@cailian.net>
2024-12-16 10:59:56 +08:00
kurokoboandJoel e11a876f79 feat: add 'Open in Explore' link for each apps on studio (#11402) 2024-12-16 10:59:56 +08:00
Muneyuki NoguchiandJoel dcac973adc Fix the Japanese translation for 'Detail' (#11476) 2024-12-16 10:59:56 +08:00
Yi XiaoandJoel 45bdeb79f8 feat: ifelse condition variable editable after selection (#11431) 2024-12-16 10:59:56 +08:00
Charlie.WeiandJoel af9060e238 Refactor: Remove redundant style and simplify Mermaid component (#11472) 2024-12-16 10:59:56 +08:00
xiandan-erizoandJoel 160c229304 Update ext_redis.py (#11214) 2024-12-16 10:59:56 +08:00
3652d71ac6 remove mermail render cache (#11470)
Co-authored-by: Gimling <huangjl@ruyi.ai>
2024-12-16 10:59:56 +08:00
Trey DongandJoel 3eac339dd3 fix(api): throw error when notion block can not find (#11433) 2024-12-16 10:59:56 +08:00
yihongandJoel 4208e35e54 fix: unit tests env will need clear too (#11445)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 10:59:56 +08:00
Kazuki TakamatsuandJoel 9dccb51fd0 Fix model provider of vertex ai (#11437) 2024-12-16 10:59:56 +08:00
Hash BrownandJoel 65262b3ab7 fix: cannot upload animated webp image as app icon (#11453) 2024-12-16 10:59:56 +08:00
非法操作andJoel 8ed235fa0b feat: support json_schema for ollama models (#11449) 2024-12-16 10:59:56 +08:00
非法操作andJoel 7bbb745e33 feat: add gemini exp 1206 (#11444) 2024-12-16 10:59:56 +08:00
非法操作andJoel 994b7a6603 feat: add zhipu glm_4v_flash (#11440) 2024-12-16 10:59:56 +08:00
Hash BrownandJoel 26dee2e885 style: EmojiPicker component top padding (#11452) 2024-12-16 10:59:56 +08:00
24d43dceb4 fix: issue #10596 by making the iteration node outputs right (#11394)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-16 10:59:56 +08:00
be9f58d065 fix(document_extractor): pptx file type and missing metadata_filename UnstructuredIO (#11364)
Co-authored-by: Julian Huynh <julian.huynh@immersio.io>
2024-12-16 10:59:56 +08:00
KVOJJJinandJoel ffd1343a09 Fix: compatible with outputs data structure (#11432) 2024-12-16 10:59:56 +08:00
JyongandJoel 898ea9bf0f update tidb batch get endpoint to basic mode (#11426) 2024-12-16 10:59:55 +08:00
JyongandJoel 269698d8ce fix external retrieval without segment id (#11423) 2024-12-16 10:59:55 +08:00
shirochanandJoel 1e5a9acc74 FEAT: cohere rerank 3.5 model added (#11289) 2024-12-16 10:59:55 +08:00
MatsudaandJoel 8fd0eaf5b7 fix(model_runtime): add vision to Amazon Nova Lite and Pro (#11398) 2024-12-16 10:59:55 +08:00
crazywoolaandJoel e98e3e1f17 use md table systax in pr template (#11412) 2024-12-16 10:59:55 +08:00
kurokoboandJoel 083af2a044 fix: add elkjs (#11404) 2024-12-16 10:59:55 +08:00
huayaoyue6andJoel 8ae566e8fc fix: update DocumentIsPausedError (#11405) 2024-12-16 10:59:55 +08:00
Charlie.WeiJoelluowei <glpat-EjySCyNjWiLqAED-YmwM>crazywoolacrazywoola
e562cdc72e Update mermaid (#11356)
Co-authored-by: luowei <glpat-EjySCyNjWiLqAED-YmwM>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-16 10:59:55 +08:00
e81d830a56 chore: translate i18n files (#11389)
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
2024-12-16 10:59:55 +08:00
KVOJJJinandJoel b68de4fa6d Fix: support file download in workflow result (#11338) 2024-12-16 10:59:15 +08:00
-LAN-andJoel 8eb888f7d6 chore: bump version to 0.13.1 (#11382)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-16 10:59:15 +08:00
Warren ChenandJoel c99b822ca5 [fix] rename yaml files to fit windows (#11379) 2024-12-16 10:59:15 +08:00
Yi XiaoandJoel ed234e82d0 fix: empty object (conversation variable) editable (#11352) 2024-12-16 10:59:15 +08:00
yihongandJoel 824877dd5f fix: some typos using typos (#11374)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-16 10:59:15 +08:00
Yi XiaoandJoel a62892ccdb fix: bg typo in variable aggregator node (#11376) 2024-12-16 10:59:15 +08:00
0bae1c6cb6 [feat] Add AWS Bedrock rerank (#11349)
Co-authored-by: crazywoola <427733928@qq.com>
2024-12-16 10:59:15 +08:00
twwu 6a02076c54 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-16 10:55:19 +08:00
twwu 022fa663c5 fix: improve memoization for document detail processing modes 2024-12-16 10:55:13 +08:00
Joel ab7df47768 fix: handle show child trunck 2024-12-16 10:26:52 +08:00
非法操作andGitHub 9c7a1bc067 fix: change http node params from dict to list tuple (#11665) 2024-12-15 21:27:39 +08:00
非法操作andGitHub cf0ff88120 feat: add grok-2-1212 and grok-2-vision-1212 (#11672) 2024-12-15 21:18:24 +08:00
e0b67536e0 fix: remove the unused QueueWorkflowPartialSuccessEvent handle in workflow (#11669)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-15 21:18:14 +08:00
Yeuoly fa03ba23bb Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-15 18:12:43 +08:00
Yeuoly 93c3699128 feat: add label to agent log 2024-12-15 18:12:29 +08:00
94c7dcc7f1 chore: translate i18n files (#11639)
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
2024-12-15 17:22:45 +08:00
38e155d819 feat: log add trace id (#11599)
Co-authored-by: hobo.l <hobo.l@binance.com>
2024-12-15 17:22:25 +08:00
yihongandGitHub efd5575683 fix: _handle_workflow_run_partial_success args is wrong (#11562)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:22:13 +08:00
yihongandGitHub 1a7c213405 fix: ExternalDatasetService.process_external_api wrong args (#11586)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:22:03 +08:00
yihongandGitHub 8e3d60c359 fix: account.id should account_id (#11628)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:18:17 +08:00
Bowen LiangandGitHub 924b4fe742 test: run vdb tests on TiDB Vector with docker in CI tests (#11645) 2024-12-15 17:16:40 +08:00
yihongandGitHub 7e154a467b fix: better error message for stream (#11635)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:16:04 +08:00
IWAI, MasaharuGitHubIWAI, Masaharu <iwai_masaharu@funkit.co.jp>
b90f1581be Update translate to Japanese: natural Japanese expression (#11647)
Co-authored-by: IWAI, Masaharu <iwai_masaharu@funkit.co.jp>
2024-12-15 17:15:24 +08:00
yihongandGitHub 821992e21f fix: langfuse do not have created_at args and fix the typing in the file (#11648)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:13:46 +08:00
IWAI, MasaharuandGitHub f0c0ce9db1 fix: rename README filename: Japanese language code is 'JA' (#11651) 2024-12-15 17:13:34 +08:00
Junyan QinandGitHub 8ecb9aaa91 fix: remove unnecessary curly braces in wf api doc (#11658) 2024-12-15 17:12:26 +08:00
yihongandGitHub 22258fb0bf fix: filter bug for keywork cause code can not reach (#11666)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-15 17:12:06 +08:00
Yeuoly a48608dd9b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-13 22:53:20 +08:00
Yeuoly 6357450a7a feat: support hidden parameters 2024-12-13 22:53:08 +08:00
Yeuoly ecb5e85ca4 fix: unbound variable 2024-12-13 20:21:47 +08:00
Yeuoly 92e02c1d0c fix: avoid sending email to unauth users 2024-12-13 20:21:02 +08:00
Yeuoly 2e2d1659ca feat: support whitelist 2024-12-13 20:09:05 +08:00
Yeuoly 3dd6d96b5a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-13 19:51:28 +08:00
Yeuoly 6339706c68 fix: ruff reformatter 2024-12-13 19:51:09 +08:00
Yeuoly 65a4cb769b refactor: tool entities 2024-12-13 19:50:54 +08:00
twwu 8f56c6a7fa Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-13 17:39:44 +08:00
twwu f1782664b6 feat: add empty state handling and translations for segment list 2024-12-13 17:38:26 +08:00
NFishandGitHub a725b8bb6e Feat: new entry point for app creation (#10847) 2024-12-13 17:29:09 +08:00
AkaraChen 031c2ad899 chore: update pnpm lock 2024-12-13 17:27:04 +08:00
Kevin9703andGitHub bdfdccd511 fix: app log filter value error (#11624) 2024-12-13 16:40:34 +08:00
yihongandGitHub 194bc60429 fix: split dir for opendal tests (#11627)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-13 16:31:00 +08:00
-LAN-andGitHub 430ca3322b chore(dependency): bump gunicorn to 23.0 (#11560)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-13 16:16:58 +08:00
AkaraChen fe2d60dfc9 fix: option card gradient & tailwind config 2024-12-13 15:47:29 +08:00
nite-knite 7d673e7f14 feat: dataset creation UI tinkering 2024-12-13 15:28:17 +08:00
AkaraChen 8f178290be fix: preview document picker label overflow 2024-12-13 15:20:37 +08:00
AkaraChen f304976715 fix: create dataset step one next 2024-12-13 15:13:06 +08:00
AkaraChen b2322aca27 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-13 14:57:18 +08:00
AkaraChen 6dc20ee809 fix: unique key 2024-12-13 14:57:13 +08:00
twwu f7d6dbe90b fix: adjust layout and styling in child segment list component 2024-12-13 14:54:33 +08:00
twwu 44929133a4 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-13 14:45:39 +08:00
twwu a4c66e3659 feat: improve translation handling in segment components 2024-12-13 14:45:31 +08:00
AkaraChen ab76266993 chore: enable type intelligence for tailwind config 2024-12-13 14:43:52 +08:00
AkaraChen b0f34975d4 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-13 14:42:13 +08:00
AkaraChen 24975d475a fix: step 2 switch to economy 2024-12-13 14:41:57 +08:00
nite-knite 8de12ef1d7 feat: update dataset creation UI 2024-12-13 14:41:19 +08:00
JzoNg 463f5a34c6 dark mode for plugins 2024-12-13 14:06:07 +08:00
AkaraChen 2fb71dce50 feat: create datasets step two dark mode 2024-12-13 13:11:37 +08:00
JzoNg 5c98f1a5aa dark mode for tools 2024-12-13 13:10:29 +08:00
zxhlyhandGitHub 3d803c2e80 Fix/pdf preview in build (#11621) 2024-12-13 11:01:53 +08:00
twwu 766f697f83 feat: navigate to document detail on selection in DocumentPicker 2024-12-13 10:30:48 +08:00
twwu 1641638523 refactor: reorganize BatchAction import paths and enhance child segment scrolling behavior 2024-12-13 10:12:43 +08:00
Hiroshi FujitaandGitHub fa3dcbb3bc feat(devcontainer): add alias to stop Docker containers (#11616) 2024-12-13 10:03:58 +08:00
Yeuoly 11c4bf5574 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-13 00:06:09 +08:00
Yeuoly 63206a7967 fix: incorrect use of node execution id 2024-12-13 00:05:57 +08:00
Yeuoly 4cbaa6b77d Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 23:46:58 +08:00
Yeuoly 9a6f120e5c feat: support agent log event 2024-12-12 23:46:26 +08:00
yihongandGitHub ee342063d8 ci: better print version for ruff to check the change (#11587)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-12 21:44:00 +08:00
JasonVVandGitHub bb3bc60f83 feat(model): add vertex_ai Gemini 2.0 Flash Exp (#11604) 2024-12-12 20:20:49 +08:00
Yeuoly d01f0278f4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 19:16:31 +08:00
Yeuoly dedc1b0c3a refactor: agent strategy parameter 2024-12-12 19:16:06 +08:00
Yeuoly 8278c8a27e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 18:27:58 +08:00
Yeuoly 46bb246ecc refactor: rename agent to agent strategy 2024-12-12 18:27:43 +08:00
Yeuoly 3c628d0c26 refactor: rename agent to agent strategy 2024-12-12 18:27:31 +08:00
zxhlyh 7727ec822a Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-12 17:29:55 +08:00
zxhlyh a0e999e438 feat: plugin add agent-strategy type 2024-12-12 17:29:25 +08:00
twwu a8254c29c5 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-12 17:14:44 +08:00
twwu 3dbd8f5d31 feat: enhance child segment list with total count and input value handling 2024-12-12 17:14:33 +08:00
AkaraChen 939f7f3e06 fix: cannot open in upload 2024-12-12 16:56:06 +08:00
AkaraChen 489015bd9e fix: update document name display to prevent overflow 2024-12-12 16:50:15 +08:00
AkaraChen 1b150d31a9 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-12 16:42:34 +08:00
AkaraChen 3fa33b09af fix: add truncation to document name display and update dataset form checks 2024-12-12 16:42:23 +08:00
crazywoolaandGitHub e7a4cfac4d fix: name of llama-3.3-70b-specdec (#11596) 2024-12-12 16:33:49 +08:00
twwu 5a1159f9ab feat: update child chunk handling and improve UI interactions 2024-12-12 15:33:54 +08:00
JzoNg 4aef5939f1 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-12 15:14:59 +08:00
JzoNg e0cc990fa5 fix: tool parameter form change 2024-12-12 15:12:41 +08:00
twwu c1d1960215 feat: enhance time formatting and add child segment detail component 2024-12-12 14:45:00 +08:00
6478aa1c9d Added new models and Removed the deleted ones for Groq #11455 (#11456)
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Alok Shrivastwa <Alok.Shrivastwa@microland.com>
2024-12-12 14:11:30 +08:00
Warren ChenandGitHub 7b5839335a [ref] use one method to get boto client for aws bedrock (#11506) 2024-12-12 13:56:52 +08:00
Yeuoly 85caf51ad1 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 13:51:00 +08:00
Yeuoly c2983ecbb7 fix: rename stream to streaming 2024-12-12 13:50:34 +08:00
a360af8687 chore: translate i18n files (#11577)
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
2024-12-12 13:47:39 +08:00
twwu fd339d51e2 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-12 13:39:50 +08:00
twwu 36778a4ebe feat: add and delete child chunks 2024-12-12 13:39:45 +08:00
yihongandGitHub 36cb25b341 fix: support mdx files close #11557 (#11565)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-12 13:37:56 +08:00
AkaraChen 3f1b92a23f fix: data source web & notion 2024-12-12 13:37:36 +08:00
JoeandGitHub e565ecdaef fix: change workflow trace id (#11585) 2024-12-12 13:37:29 +08:00
AkaraChen ac24163fb9 chore: change some color for dark mode 2024-12-12 13:13:08 +08:00
KVOJJJinandGitHub f96fdc2970 Feat: dark mode for logs and annotations (#11575) 2024-12-12 10:09:48 +08:00
0d04cdc323 Lindorm vdb (#11574)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-12-12 09:43:27 +08:00
非法操作andGitHub 926f604f09 feat: add gemini-2.0-flash-exp (#11570) 2024-12-12 09:33:39 +08:00
yihongandGitHub 180743612c fix: better opendal tests (#11569)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-12 09:33:30 +08:00
liuzhenghuaandGitHub d05f189049 Fix: RateLimit requests were not released when a streaming generation exception occurred (#11540) 2024-12-11 19:16:35 +08:00
twwu a25a3ee1f7 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-11 18:38:05 +08:00
twwu 28987003fa refactor: simplify SegmentIndexTag usage and improve label prefix handling 2024-12-11 18:37:56 +08:00
Joel f2eeaba8d7 chore: remove useless test code 2024-12-11 18:23:52 +08:00
twwu db01c5c89d Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-11 18:18:06 +08:00
twwu 51f6a87aef feat: update translation files and improve segment index tag component 2024-12-11 18:15:30 +08:00
Joel d88bb70427 fix: loding and empty css 2024-12-11 18:13:56 +08:00
AkaraChen 4f6bc54280 fix: update file type casting in PreviewDocumentPicker 2024-12-11 18:05:05 +08:00
ceaa9f1101 chore: translate i18n files (#11545)
Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com>
2024-12-11 18:04:14 +08:00
zxhlyhandGitHub 6f4cbe0bde fix: workflow continue on error doc link (#11554) 2024-12-11 18:03:41 +08:00
Joel 49a48910cd chore: hit result toggle btn 2024-12-11 18:02:16 +08:00
AkaraChen 3f6aee6c51 feat: economy hover effect & upload page 2024-12-11 18:01:02 +08:00
Joel f22c608c89 fix: tiny css problem 2024-12-11 17:48:22 +08:00
AkaraChen 41039f09bf fix: switch to parent child not use qualified 2024-12-11 16:55:11 +08:00
AkaraChen 6d689317ea Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-11 16:50:43 +08:00
AkaraChen f969dce345 feat: switch to high quan modal 2024-12-11 16:50:32 +08:00
Joel 599345879e feat: result ui 2024-12-11 16:34:52 +08:00
AkaraChen 9dce37bb24 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-11 15:45:14 +08:00
AkaraChen 149cfaafc5 feat: add switch to high quan dialog 2024-12-11 15:45:05 +08:00
Joel 17ae100342 chore: result main 2024-12-11 15:15:04 +08:00
-LAN-andGitHub 8d4bb9b40d feat: integrate opendal storage (#11508)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-11 14:50:54 +08:00
Joel 361a007f42 feat: tags 2024-12-11 14:42:14 +08:00
Joel b8ced5102c feat: new retrieval result ui 2024-12-11 14:30:01 +08:00
1765fe2a29 fix: iteration node in parallel mode token count error (#11539)
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-11 14:23:01 +08:00
79a710ce98 Feat: continue on error (#11458)
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
Co-authored-by: Novice Lee <novicelee@NoviPro.local>
2024-12-11 14:22:42 +08:00
zxhlyhandGitHub bec5451f12 feat: workflow continue on error (#11474) 2024-12-11 14:21:38 +08:00
zxhlyh 5b3112a137 fix: model page empty 2024-12-11 14:10:28 +08:00
twwu 4017c65c1f Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-11 14:00:27 +08:00
twwu 8518c1ae8c feat: add regeneration confirmation and success messages in translation files 2024-12-11 14:00:21 +08:00
twwu 033ce47d01 feat: add Dot and Tag components for enhanced UI representation 2024-12-11 13:31:21 +08:00
Yi XiaoandGitHub 86dfdcb8ec chore: update thai lang in app page (#11541) 2024-12-11 12:08:09 +08:00
AkaraChen 70d1d03106 fix: not use css var 2024-12-11 11:06:20 +08:00
AkaraChen 11ee45f1c2 fix: default value not match prd 2024-12-11 11:03:03 +08:00
TommyandGitHub 42d986b96d [Pixtral] Add new model ; add vision (#11231) 2024-12-11 10:14:16 +08:00
fbc4ca980c fix: Remove duplicate 'response_format' parameter from model YAML files (#11531)
Co-authored-by: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com>
2024-12-11 10:10:53 +08:00
Paul van OorschotandGitHub 80c52e0ea4 feat: Add llama-3.3 models for Groq (#11533) 2024-12-11 09:59:46 +08:00
yihongandGitHub 50b76dd5a2 fix: better error message for url add external knowledge (#11537)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-11 09:55:48 +08:00
yihongandGitHub 225fcd5e41 Revert "fix: total tokens is wrong which is zero in inter way, close … (#11536) 2024-12-11 09:54:46 +08:00
yihongandGitHub afffd345bc fix: can not start local by REMOTE_SETTINGS_SOURCE_NAME change it to … (#11535)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-11 09:35:25 +08:00
yihongandGitHub 716576043d fix: issue 11247 that Completion mode content maybe list or str (#11504)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-10 23:22:14 +08:00
Wei MingzhiandGitHub 28231d39a4 Remove the processing of single quote when testing API tools. (#11390) 2024-12-10 19:53:38 +08:00
Joel 16d8bdfc78 chore: hit result item temp 2024-12-10 18:36:45 +08:00
Joel 14c8297e36 chore: fix setting text 2024-12-10 18:36:45 +08:00
twwu 8baaf7c84e Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-10 18:01:43 +08:00
twwu b4a6ec077f feat: add functionality to regenerate child chunks and enhance UI components for segment management 2024-12-10 18:01:38 +08:00
AkaraChen 27f5738c55 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-10 17:32:43 +08:00
AkaraChen 5fa0fc4858 fix: dataset settings 2024-12-10 17:32:31 +08:00
Joel 87e284ef75 feat: no linked app ui 2024-12-10 17:19:05 +08:00
Joel dd23f1093b feat: linked app new ui 2024-12-10 16:13:12 +08:00
Joel 77185d9617 feat: dataset info to new ui 2024-12-10 16:13:12 +08:00
AkaraChen f894fb05c1 fix: retrive config cannot enable rerank 2024-12-10 16:04:42 +08:00
zxhlyh 1272cf8fe7 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-10 15:52:16 +08:00
zxhlyh 35fb9099e3 fix: model page 2024-12-10 15:51:55 +08:00
zxhlyh 3803989480 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-10 14:58:38 +08:00
twwu 6055e27050 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-10 14:16:49 +08:00
twwu 09cdb573c7 feat: enhance NewSegmentModal with add another option and improve cancel behavior 2024-12-10 14:16:43 +08:00
Joel 430de3108b chore: remove isloading break ui 2024-12-10 14:15:14 +08:00
Joel d1743ee3e5 feat: auto disabled api 2024-12-10 14:12:03 +08:00
Joel 335e57f3c9 feat: auto disable document ui 2024-12-10 14:12:03 +08:00
zxhlyh c51c032334 fix: dsl check 2024-12-10 14:11:34 +08:00
zxhlyh 5825c101c9 fix: marketplace exclude 2024-12-10 13:37:02 +08:00
twwu ae3eae413f feat: add LayoutRight2LineMod icon component and update document detail 2024-12-10 13:12:05 +08:00
twwu 89345e5c5a Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-10 11:32:02 +08:00
twwu 65a9cac099 feat: add new translations and enhance segment management features 2024-12-10 11:31:56 +08:00
非法操作andGitHub 9e23c3d625 chore: LOCAL_FILE also try to use remote_url as Prompt message (#11443) 2024-12-10 10:56:49 +08:00
bdd5869244 Msg file preview (#11466)
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-10 10:53:37 +08:00
barabicuandGitHub fc1415d705 chore: fix typo in Japanese localization (#11502) 2024-12-10 09:29:16 +08:00
문정현andGitHub 8218f62478 chore : fix translation Typo in ko-KR localization (#11509) 2024-12-10 09:09:26 +08:00
-LAN-andGitHub fd354d999d fix(app_generator_service): overload type hints (#11507)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-10 09:06:34 +08:00
orangeclkandGitHub ec00b25793 feat: add siliconflow qwq and llama3.3 model (#11492) 2024-12-10 08:49:45 +08:00
967b7d89e3 feat:add apollo configuration to load env file (#11210)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: huanshare <liuhuan101@longfor.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-10 02:51:20 +08:00
Yeuoly 80b3de5c4f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-10 02:21:56 +08:00
Yeuoly 527c1cf608 fix: deduplicate provider id 2024-12-10 02:21:46 +08:00
Yeuoly 6868ee5431 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-10 00:23:08 +08:00
Yeuoly 93786f516c apply ruff 2024-12-10 00:22:54 +08:00
Yeuoly a175d6b2d7 feat: agent management 2024-12-10 00:22:41 +08:00
Yeuoly 054b59c702 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-09 23:26:38 +08:00
Yeuoly 296fd82bbf fix: agent node 2024-12-09 23:26:16 +08:00
Yeuoly ff81d12426 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-09 23:02:50 +08:00
Yeuoly 4ccd571364 fix: ruff 2024-12-09 23:02:25 +08:00
Yeuoly ae72514cb4 feat: support agent node 2024-12-09 23:02:11 +08:00
Joel 4c1bf96b14 fix: node build out of memory 2024-12-09 18:26:09 +08:00
Joel 54f03c5c78 fix: node build out of memory 2024-12-09 18:15:06 +08:00
AkaraChen 14934c0610 feat: file preview in step two 2024-12-09 18:10:56 +08:00
Yingchun LaiandGitHub 32f8439143 fix: add the missing abab6.5t-chat model of Minimax (#11484) 2024-12-09 17:59:20 +08:00
-LAN-andGitHub 0ff8bd2aa9 chore: bump version to 0.13.2 (#11489)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-09 17:57:23 +08:00
Hash BrownandGitHub 2866383228 fix: cannot close notification manually (#11490) 2024-12-09 17:55:06 +08:00
Joel 0d64a35fb6 chore: refact retry btn 2024-12-09 17:34:57 +08:00
twwu aa0d587516 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-09 16:56:58 +08:00
twwu 55ed41520f feat: enhance batch action confirmation and segment management 2024-12-09 16:55:13 +08:00
Joel ccdb3c5931 fix: deleting problem 2024-12-09 16:29:33 +08:00
Yeuoly 6e798fad34 fix: add pnpm lock 2024-12-09 16:17:33 +08:00
Yeuoly e401d917ac fix 2024-12-09 16:16:56 +08:00
Yeuoly 04d3abd754 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-09 16:13:33 +08:00
JyongandGitHub 00ac7edeb3 improve message clean logic (#11487) 2024-12-09 16:12:30 +08:00
Yeuoly 16b49ac436 Merge branch 'main' into fix/chore-fix 2024-12-09 16:08:19 +08:00
AkaraChen 01e363f33f Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-09 15:43:49 +08:00
AkaraChen 20a2e76f40 feat: file selector for preview in parent child 2024-12-09 15:43:34 +08:00
Yeuoly c377eb8c28 fix: unbound variable in tool node 2024-12-09 15:43:01 +08:00
Joel 82e2b68d9e feat: preview document picker 2024-12-09 15:42:19 +08:00
-LAN-andGitHub 537068cfde refactor(iteration_node): use Sequence and Mapping in parameters (#11483)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-09 15:41:20 +08:00
c3c6a48059 Fix the token count at the iteration node (#11235)
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-09 15:02:04 +08:00
5c166b3f40 fix: tags could not be saved when the Workflow Tool was created (#11481)
Co-authored-by: zhaobs <zhaobs@cailian.net>
2024-12-09 14:38:02 +08:00
kurokoboandGitHub 230fa3286b feat: add 'Open in Explore' link for each apps on studio (#11402) 2024-12-09 12:04:03 +08:00
twwu 12c791149c Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-09 11:46:24 +08:00
twwu 1c5464dbef feat: add pagination for chunk list 2024-12-09 11:46:18 +08:00
Muneyuki NoguchiandGitHub 061c0b10fd Fix the Japanese translation for 'Detail' (#11476) 2024-12-09 11:18:28 +08:00
Yi XiaoandGitHub 32f8a98cf8 feat: ifelse condition variable editable after selection (#11431) 2024-12-09 11:06:47 +08:00
AkaraChen 2d66077ed3 fix: option card style 2024-12-09 10:18:04 +08:00
AkaraChen ec1c03f0a3 fix: i18n & option card props 2024-12-09 10:08:19 +08:00
Charlie.WeiandGitHub 6c60ecb237 Refactor: Remove redundant style and simplify Mermaid component (#11472) 2024-12-09 09:47:58 +08:00
xiandan-erizoandGitHub c3fae5e801 Update ext_redis.py (#11214) 2024-12-09 09:35:52 +08:00
a594e256ae remove mermail render cache (#11470)
Co-authored-by: Gimling <huangjl@ruyi.ai>
2024-12-09 09:33:18 +08:00
Trey DongandGitHub 41d90c2408 fix(api): throw error when notion block can not find (#11433) 2024-12-09 09:10:59 +08:00
yihongandGitHub 7ff42b1b7a fix: unit tests env will need clear too (#11445)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-09 09:04:11 +08:00
Kazuki TakamatsuandGitHub 4d7cfd0de5 Fix model provider of vertex ai (#11437) 2024-12-08 08:44:49 +08:00
Hash BrownandGitHub 266d32bd77 fix: cannot upload animated webp image as app icon (#11453) 2024-12-08 08:37:21 +08:00
非法操作andGitHub 7e1184c071 feat: support json_schema for ollama models (#11449) 2024-12-08 08:36:12 +08:00
非法操作andGitHub 1ce51e57ab feat: add gemini exp 1206 (#11444) 2024-12-07 22:28:10 +08:00
非法操作andGitHub 142b4fd699 feat: add zhipu glm_4v_flash (#11440) 2024-12-07 22:27:57 +08:00
Hash BrownandGitHub cc8feaa483 style: EmojiPicker component top padding (#11452) 2024-12-07 22:26:28 +08:00
d9d5d35a77 fix: issue #10596 by making the iteration node outputs right (#11394)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-07 16:28:15 +08:00
AkaraChen 3d283a11b6 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-06 23:01:15 +08:00
AkaraChen cc2a9cdf37 wip: refactor 2024-12-06 22:33:53 +08:00
9277156b6c fix(document_extractor): pptx file type and missing metadata_filename UnstructuredIO (#11364)
Co-authored-by: Julian Huynh <julian.huynh@immersio.io>
2024-12-06 18:55:59 +08:00
Joel b7472c7ab0 chore: change batch url 2024-12-06 18:29:26 +08:00
twwu c541d4aaa8 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-06 18:21:05 +08:00
twwu b0a4819ec1 feat: enhance translations and UI components for segment management 2024-12-06 18:20:59 +08:00
KVOJJJinandGitHub 1490a19fa1 Fix: compatible with outputs data structure (#11432) 2024-12-06 17:35:35 +08:00
Joel d1d9315f05 chore: list page color to css vars 2024-12-06 17:21:27 +08:00
twwu c9114d171e Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-06 17:19:25 +08:00
twwu 1546859bae feat: add child segment response type and enhance dataset components with improved translations and UI updates 2024-12-06 17:18:29 +08:00
JyongandGitHub 9b7adcd4d9 update tidb batch get endpoint to basic mode (#11426) 2024-12-06 17:06:46 +08:00
StyleZhang b448900bb8 merge feat/plugins 2024-12-06 16:58:42 +08:00
StyleZhang 69daf4a027 merge main 2024-12-06 16:56:42 +08:00
Yeuoly 1ce7990df4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-06 16:47:40 +08:00
Yeuoly 337eff2b79 Merge branch 'main' into fix/chore-fix 2024-12-06 16:45:25 +08:00
AkaraChen dfebcd0ea7 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-06 16:16:35 +08:00
AkaraChen 6383a64419 fix: step 2 preview ui padding 2024-12-06 16:16:30 +08:00
JzoNg 3bc9ddb006 fix mutation of model credentials update 2024-12-06 16:05:06 +08:00
JzoNg ea2862e435 fix style of boolean form of model parameters 2024-12-06 16:05:06 +08:00
StyleZhang ca3d96e5f4 fix: tool list 2024-12-06 15:42:02 +08:00
Joel 570bf75698 feat: support multi 2024-12-06 15:22:31 +08:00
AkaraChen 07f0140d10 feat: preview parent child chunk in create step 2 2024-12-06 15:20:14 +08:00
JyongandGitHub a8d32f9964 fix external retrieval without segment id (#11423) 2024-12-06 14:45:15 +08:00
Joel 6748b50bf1 feat: use query to handle api and remove old api service 2024-12-06 14:26:38 +08:00
AkaraChen 6e38b523c9 wip: create datasets 2024-12-06 13:40:34 +08:00
AkaraChen a893309b73 wip: create datasets 2024-12-06 13:27:32 +08:00
Joel f3cfcb757e feat: document update change to batch api 2024-12-06 11:53:28 +08:00
Joel 91666c4394 chore: action i18n and remove confirm 2024-12-06 11:20:03 +08:00
shirochanandGitHub 5093337de1 FEAT: cohere rerank 3.5 model added (#11289) 2024-12-06 09:58:55 +08:00
MatsudaandGitHub f54225568c fix(model_runtime): add vision to Amazon Nova Lite and Pro (#11398) 2024-12-06 09:15:32 +08:00
crazywoolaandGitHub 255ff446ba use md table systax in pr template (#11412) 2024-12-06 09:14:15 +08:00
kurokoboandGitHub 9a0dc4bfdc fix: add elkjs (#11404) 2024-12-06 09:00:48 +08:00
huayaoyue6andGitHub 9d975750bc fix: update DocumentIsPausedError (#11405) 2024-12-06 08:59:23 +08:00
Yeuoly fbcd4fe1f7 fix: use default_factory for list fields 2024-12-05 20:58:03 +08:00
Yeuoly b7ac287fec fix: use default_factory for list fields 2024-12-05 20:57:30 +08:00
Charlie.WeiGitHubluowei <glpat-EjySCyNjWiLqAED-YmwM>crazywoolacrazywoola
7c979e6490 Update mermaid (#11356)
Co-authored-by: luowei <glpat-EjySCyNjWiLqAED-YmwM>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-12-05 20:43:42 +08:00
d60ca1661c chore: translate i18n files (#11389)
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
2024-12-05 17:55:44 +08:00
euxandGitHub bb62391a4c fix: broken link to knowledge base guide (#11387) 2024-12-05 17:47:11 +08:00
Joel 768073ddac feat: batch action ui 2024-12-05 17:34:40 +08:00
KVOJJJinandGitHub 0b25c0b677 Fix: support file download in workflow result (#11338) 2024-12-05 16:58:39 +08:00
twwu 734659c873 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-05 15:44:58 +08:00
twwu b59e95785c feat: enhance DocumentDetail and Completed components with child segment handling and improved layout 2024-12-05 15:44:53 +08:00
AkaraChen 9f8cf03155 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-05 15:32:59 +08:00
AkaraChen 0361bf00d1 fix: option card overflow clip cause language selector hidden 2024-12-05 15:32:34 +08:00
Joel 1cfb938a7b feat: support check item 2024-12-05 15:29:42 +08:00
Joel cae8ce5a1e fix: list add paging 2024-12-05 15:29:42 +08:00
Yi d6dea67947 apply the skeleton component to the Plugin loading card 2024-12-05 15:27:47 +08:00
-LAN-andGitHub a5d6082418 chore: bump version to 0.13.1 (#11382)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-05 15:11:55 +08:00
Yi b8f9747849 Merge branch "main" into feat/plugins 2024-12-05 15:08:09 +08:00
AkaraChen 2417699e85 feat: new qa setting ui 2024-12-05 15:00:54 +08:00
StyleZhang f038eb2390 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-05 14:55:32 +08:00
StyleZhang 0e70e72594 fix: marketplace list 2024-12-05 14:54:20 +08:00
Yeuoly 243d160242 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-05 14:49:04 +08:00
Yeuoly c1a85b0208 fix: add default value to plugin permission field 2024-12-05 14:48:34 +08:00
Yi 0e419a7a16 feat: move linear gradient bg to common config 2024-12-05 14:44:45 +08:00
Warren ChenandGitHub 631cbcd781 [fix] rename yaml files to fit windows (#11379) 2024-12-05 14:38:12 +08:00
Joel 8a8fc7ab50 feat: finish add chunk mode 2024-12-05 14:08:45 +08:00
Yi XiaoandGitHub 20c4633d2a fix: empty object (conversation variable) editable (#11352) 2024-12-05 13:59:59 +08:00
yihongandGitHub 5669cac16d fix: some typos using typos (#11374)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-05 13:24:06 +08:00
Yi XiaoandGitHub 6180762160 fix: bg typo in variable aggregator node (#11376) 2024-12-05 11:46:12 +08:00
Joel 1578dc50ef feat: add chunking mode 2024-12-05 11:40:46 +08:00
376726cf90 [feat] Add AWS Bedrock rerank (#11349)
Co-authored-by: crazywoola <427733928@qq.com>
2024-12-05 11:31:43 +08:00
twwu 78fff31e61 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-05 11:13:20 +08:00
twwu b18eb58770 feat: implement ChildSegmentList component and integrate it into SegmentCard for displaying child chunks 2024-12-05 11:13:14 +08:00
twwu 52ba180bf4 feat: add SegmentDetail component for displaying and editing segment information 2024-12-05 11:11:57 +08:00
AkaraChen 8541153b15 merge main 2024-12-05 10:57:27 +08:00
AkaraChen 0185fb3369 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-05 10:40:32 +08:00
AkaraChen 5bf6cd242d wip: qa mode 2024-12-05 10:40:27 +08:00
284bb7ac71 fix: ref attribute in markdown causes page crash (#11369)
Co-authored-by: crazywoola <427733928@qq.com>
2024-12-05 10:15:21 +08:00
twwu f8d6d5a6a9 refactor: replace DocumentContext with useDocumentContext for improved context management 2024-12-05 10:12:02 +08:00
twwu 7200dd42d3 refactor: update batch action component props and change id type in ChildChunkDetail 2024-12-05 09:49:37 +08:00
Akira NodaandGitHub eca466bdaa chore: fix typo (#11359) 2024-12-05 09:04:30 +08:00
crazywoolaandGitHub d56abec195 Revert "Fix: iteration not in main thread pool" (#11358) 2024-12-04 21:22:22 +08:00
yihongandGitHub 961e25f608 fix: better bedrock message handler close #10976 (#11317)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-04 19:46:40 +08:00
Yeuoly df68b6befa Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-04 19:26:23 +08:00
Yeuoly 01efdee1dd fix: support other file types for Tool 2024-12-04 19:26:01 +08:00
138bf698b0 chore: translate i18n files (#11353)
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
2024-12-04 19:24:03 +08:00
Yeuoly 3d3a42945f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-04 19:02:50 +08:00
Yeuoly 0af9c4fd9d chore: reformat 2024-12-04 19:02:28 +08:00
Yeuoly ee38bd8817 refactor: check dependencies 2024-12-04 19:01:54 +08:00
NFishandGitHub e5bb4cca12 fix: Correct category of 'Workflow' used in Explore Apps. (#11351) 2024-12-04 18:19:12 +08:00
twwu 44989ae97c Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-04 18:11:10 +08:00
twwu 0ac5e53c2e fix: refactor GitHub releases fetching to improve error handling and format response 2024-12-04 18:08:25 +08:00
Joel 44b0039e8b fix: install plugin type show error 2024-12-04 18:06:00 +08:00
AkaraChen 4048eff3ab chore: remove twc 2024-12-04 17:37:12 +08:00
AkaraChenandGitHub 5e2cb0e3a8 feat: add base skeleton component (#11339) 2024-12-04 17:34:55 +08:00
twwu becdca24df fix: enhance GitHub releases fetching with optional authentication 2024-12-04 16:49:49 +08:00
AkaraChen 8289175bfa style: fix component naming 2024-12-04 16:23:43 +08:00
Hash BrownandGitHub 16a65cb367 fix: cannot send message when debug with multiple model with conversa… (#11333) 2024-12-04 16:17:11 +08:00
1bae9b8ff7 update pricing for bedrock nova LLM models (#11336)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-12-04 16:16:41 +08:00
AkaraChen 539050c56b style: fix component naming 2024-12-04 16:16:00 +08:00
JyongandGitHub d7c1f43b49 fix tidb full-text-search vector missed (#11337) 2024-12-04 16:13:23 +08:00
AkaraChen 90b407ecc8 feat: loading & empty state for step 2 2024-12-04 16:07:25 +08:00
Joel 9fc0e658ad merge 2024-12-04 16:05:11 +08:00
Yi XiaoandGitHub f933af9f57 fix: check valid for number variable (#11334) 2024-12-04 15:46:54 +08:00
Yeuoly e5e8277c2d Merge remote-tracking branch 'origin/feat/plugins' into dev/plugin-deploy 2024-12-04 15:40:39 +08:00
Yeuoly 86291c13e4 Merge branch 'main' into fix/chore-fix 2024-12-04 15:34:39 +08:00
非法操作andGitHub 91e1ff5e30 chore: improve zhipu LLM (#11321) 2024-12-04 15:14:30 +08:00
5908e10549 integrate amazon nove llms to dify (#11324)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-12-04 15:13:08 +08:00
-LAN-andGitHub 464e6354c5 feat: correct the prompt grammar. (#11328)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-04 15:12:47 +08:00
AkaraChen 1df3f4aad3 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-04 14:34:38 +08:00
twwu 8d74eb4946 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-12-04 14:24:54 +08:00
twwu 388d7918f3 feat: add translation for chunks and new icons; update checkbox styles; add new segment list and segment card 2024-12-04 14:24:47 +08:00
AkaraChen 14f46308a9 chore: gen icon for selection icon 2024-12-04 14:10:17 +08:00
非法操作andGitHub d470e55f8c fix: http node download file always image type (#11319) 2024-12-04 12:15:26 +08:00
AkaraChen 629152ff2c feat: ui component finish for chunk preview 2024-12-04 11:52:05 +08:00
Joel 29d29f8731 fix: can not chosse const 2024-12-04 11:17:15 +08:00
zxhlyhandGitHub 98a1b01b0c fix: file download in chat (#11322) 2024-12-04 11:10:56 +08:00
Joel f634a4488f merge main 2024-12-04 11:06:00 +08:00
JoelandGitHub e240424be5 fix: number variable can not input constant type value in tool config form (#11320) 2024-12-04 10:46:03 +08:00
DDDDD12138andGitHub 1cb5a12abb fix: resolve scrolling issue in workflow-log table (#11302) 2024-12-03 21:29:42 +08:00
KVOJJJinandGitHub ff2a4a6fcd Fix: model params in logs (#11298) 2024-12-03 21:17:55 +08:00
Yeuoly d5cf64f289 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 19:45:25 +08:00
Yeuoly 7679a57f18 fix: agent type errors 2024-12-03 19:44:57 +08:00
Yeuoly 9cb2a031ed Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 19:28:22 +08:00
Yeuoly dcf19549cb feat: move audio and webscraper back to dify 2024-12-03 19:27:57 +08:00
Yi fc2656b4b7 fix: workspace selector UI 2024-12-03 18:34:18 +08:00
StyleZhang b858533a57 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-03 18:04:11 +08:00
StyleZhang d6a4cbc6cc fix: marketplace list 2024-12-03 18:03:39 +08:00
JyongandGitHub c58d2fce89 roll back rerank topn setting (#11297) 2024-12-03 17:34:56 +08:00
AkaraChen bebad5cbdd refactor: step 2 2024-12-03 17:26:45 +08:00
Yeuoly c51fa7a440 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 16:52:09 +08:00
Yeuoly 574a6c1ded fix: add extension, filename and size to PluginFileEntity 2024-12-03 16:51:51 +08:00
Yeuoly e6fcf06e59 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 16:29:02 +08:00
Yeuoly c34877aecf fix: update tool provider credentials 2024-12-03 16:28:36 +08:00
-LAN-andGitHub 7a962b9f03 chore: bump version to 0.13.0 (#11284)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-03 16:01:12 +08:00
Yi 1e2ee61f6a feat: add version check before Plugin install from GitHub 2024-12-03 15:47:45 +08:00
AkaraChen dfdc4ed3b1 refactor: step 2 2024-12-03 15:23:51 +08:00
AkaraChen a77aa169b4 refactor: step 2 2024-12-03 14:43:15 +08:00
StyleZhang 66b79ee323 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-03 14:35:36 +08:00
StyleZhang ab9a177c90 fix: marketplace list 2024-12-03 14:34:44 +08:00
AkaraChen 94eb069a97 refactor: step 2 2024-12-03 14:34:18 +08:00
JoelandGitHub a679079a1d fix: auto translate fail (#11286) 2024-12-03 14:21:59 +08:00
AkaraChen c960f78035 refactor: step 2 2024-12-03 14:14:37 +08:00
yihongandGitHub e39e776d03 fix: better wenxin rerank handler, close #11252 (#11283)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-03 13:57:16 +08:00
e135ffc2c1 Feat: upgrade variable assigner (#11285)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-12-03 13:56:40 +08:00
nite-knite 8b28ed589c feat: update translation for bundle 2024-12-03 13:43:13 +08:00
AkaraChen 90421b5fb5 feat: preview container components 2024-12-03 13:39:27 +08:00
Bowen LiangandGitHub e79eac688a chore(lint): sort __all__ definitions (#11243) 2024-12-03 13:26:33 +08:00
-LAN-andGitHub 643a90c48d fix: use removeprefix() instead of lstrip() to remove the data: prefix (#11272)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-03 09:16:25 +08:00
2a448a899d Fix: iteration not in main thread pool (#11271)
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
2024-12-03 09:16:03 +08:00
yihongandGitHub 7b86f8f024 fix: double split error on redis port and some type hint (#11270)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-03 09:15:51 +08:00
yihongandGitHub e686f12317 fix: better handle error (#11265)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-03 09:15:38 +08:00
kurokoboandGitHub a86f1eca79 docs: add api docs for /v1/info (#11269) 2024-12-03 09:14:13 +08:00
Yeuoly 1dad2fdaaf Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 22:00:05 +08:00
Yeuoly 632b2bac2a fix: invoke-email 2024-12-02 21:59:52 +08:00
Yeuoly dbc555f698 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 21:26:12 +08:00
Yeuoly 77a62f33b3 fix: Lookup errors for contextvars used in ToolManager 2024-12-02 21:25:47 +08:00
Yeuoly 78a0c3c13c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 21:08:53 +08:00
Yeuoly ad899844a1 fix: workflow loads tool provider icon 2024-12-02 21:08:36 +08:00
nite-knite 3232a45ec4 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-02 18:00:09 +08:00
nite-knite 3b1211d6bc chore: bump cross-spawn from 7.0.3 to 7.0.6 2024-12-02 17:54:39 +08:00
nite-knite 7bd3f2b932 feat: update description for API endpoints configuration 2024-12-02 17:41:52 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
668c1c0792 chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /web (#11262)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 17:30:52 +08:00
Yeuoly 5abbe76ca0 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 16:51:57 +08:00
Yeuoly b10d6051ba fix: summary and create_file_by_url 2024-12-02 16:51:37 +08:00
JzoNg 86f45d7e25 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-02 16:13:31 +08:00
Hash BrownandGitHub c4fad66f2a fix: dialogue_count incorrect in chatflow when there's... (#11175) 2024-12-02 16:09:26 +08:00
yihongandGitHub 02572e8cca fix: claude can not handle empty string (#11238)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-02 16:00:40 +08:00
Hiroshi FujitaandGitHub 1d8385f7ac Sync INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH between API and Web (#11230) 2024-12-02 15:29:25 +08:00
-LAN-andGitHub f8c966c39c fix(workflow_tool): Rename stream to streaming (#11258)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 15:00:26 +08:00
-LAN-andGitHub 3c8efe7c0a fix(workflow_cycle_manage): Handle special values in the process_data. (#11253)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 13:53:43 +08:00
Garfield DaiandGitHub dbc10e0feb fix: license str parser. (#11248) 2024-12-02 11:38:18 +08:00
yihongandGitHub 239bf97b47 fix: nvidia special embedding model payload close #11193 (#11239)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-12-02 10:25:15 +08:00
Hiroshi FujitaandGitHub 858db2f239 feat(api): include tags in app information response (#11242) 2024-12-02 10:25:01 +08:00
-LAN-andGitHub c34bdb74e6 Fix/type-error (#11240)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 10:24:21 +08:00
-LAN-andGitHub 9601102885 fix(word_extractor): Fix type error and remove stream in ssrf_proxy (#11241)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 10:24:03 +08:00
kazuya-awanoandGitHub 56c2d1cc55 feat: add pagination support for Notion search (#11194) 2024-12-01 21:49:34 +08:00
Bowen LiangandGitHub a67b0d4771 chore(lint): extract ruff configs into .ruff.toml file keeping pyproject.toml clean (#11222) 2024-12-01 12:51:28 +08:00
-LAN-andGitHub ef204817ae chore(api/Dockerfile): Bump perl to 0.40.0-8 (#11234)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-01 09:39:02 +08:00
Hiroshi FujitaandGitHub 9bc5bc2548 feat: Increase the number of Opening Questions in the Conversation Opener (#11233) 2024-12-01 09:38:45 +08:00
yihongandGitHub fd4be36991 fix: total tokens is wrong which is zero in inter way, close #11221 (#11224)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-30 23:18:24 +08:00
9b46b02717 refactor: assembling the app features in modular way (#9129)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-11-30 23:05:22 +08:00
非法操作andGitHub 3bc4dc58d7 fix: search model not work as expected (#11225) 2024-11-30 17:31:15 +08:00
Shota TotsukaandGitHub 594666eb61 fix: use Gemini response metadata for token counting (#11226) 2024-11-30 17:30:55 +08:00
朱晓兵andGitHub e80f41a701 fix: support setting variables in url (#10676) 2024-11-30 11:15:17 +08:00
Cling_o3andGitHub f9c2aa7689 feat: add retireval_top_n to config in env (#11132) 2024-11-30 11:14:45 +08:00
fengjiajieandGitHub 9dd4bf5574 fix: Correct inputs field type in API documentation (#11198) 2024-11-30 11:13:32 +08:00
yihongandGitHub 5a9b785773 fix: excel in node only read one sheet, close #9661 (#11215)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-30 11:11:08 +08:00
Yeuoly e23d322c1c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 18:20:59 +08:00
Yeuoly fb44cd87e7 fix: image url message 2024-11-29 18:20:36 +08:00
catusaxandGitHub d96a28487a fix: 'validation error for ToolInvokeMessage' when blob_message meta is None (#11212) 2024-11-29 17:35:13 +08:00
-LAN-andGitHub 0554898b5d fix(file_factory): Remove transfer_method validation (#11207)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-29 17:26:31 +08:00
6f9ce6a199 fix: fix azure open-4o-08-06 when enable json schema cant process content = "" (#11204)
Co-authored-by: jiaming.liu <jiaming.liu@zkh.com>
2024-11-29 17:26:07 +08:00
Yeuoly 48c9a25393 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 16:49:18 +08:00
Yeuoly 89af726985 fix: cot agent 2024-11-29 16:48:39 +08:00
Yeuoly 8266bf6fa8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 16:17:48 +08:00
Yeuoly 6f2d5ff099 fix: add tenant_id to invoke tts 2024-11-29 15:59:07 +08:00
Joel b78ab0bd69 fix: other install error 2024-11-29 15:18:07 +08:00
Joel 84cad5969e fix: not handleinstall error 2024-11-29 15:09:23 +08:00
Yi XiaoandGitHub e3119112a6 chore: add Thai GUI (#11201) 2024-11-29 14:20:48 +08:00
Yeuoly f36a50ad09 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 14:09:54 +08:00
Yeuoly 687455ca31 fix: tool file id 2024-11-29 14:09:34 +08:00
Joel 35ef874867 fix: detect is same packege use uniqid 2024-11-29 10:56:58 +08:00
非法操作andGitHub d3af0e9090 fix: handleLoadFileFromLink's transfer method incorrect (#11197) 2024-11-29 09:37:50 +08:00
Bowen LiangandGitHub 2feb44e2c5 chore(dep): bump flask from 3.0.1 to 3.1.0 and flask-compress to 1.17 (#11195) 2024-11-29 09:28:53 +08:00
cc0b92bc75 Update aws tools (#11174)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-11-29 09:28:28 +08:00
非法操作andGitHub e576d32fb6 chore: improve conversation list and rename docs (#11187) 2024-11-29 09:22:08 +08:00
kazuya-awanoandGitHub 2d6865d421 Ensure consistent float type for cached embedding return values (#10185) 2024-11-29 09:18:41 +08:00
Yeuoly df67200e18 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 20:44:58 +08:00
Yeuoly 8c5928da2f fix: unify error handling 2024-11-28 20:44:06 +08:00
Yeuoly d409d30ee5 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 19:35:48 +08:00
Yeuoly 772009115d fix: keep process_data with None if not 2024-11-28 19:35:30 +08:00
Yeuoly 5df52b33d7 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 19:09:27 +08:00
Yeuoly 0452dfd029 fix: missing tool invoke messages 2024-11-28 19:09:04 +08:00
Joel 47579c86e6 fix: from marketplace install and update bundle 2024-11-28 18:47:06 +08:00
Joel 32619bd05e fix: install bunlde support update 2024-11-28 18:26:18 +08:00
Yeuoly e79dcf93fe Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 18:24:19 +08:00
Yeuoly eead6abe85 fix: tool image url response 2024-11-28 18:23:28 +08:00
JzoNg 6bd483030f Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-28 17:49:43 +08:00
JzoNg 6a500edf4d fix: loading of credential form 2024-11-28 17:48:28 +08:00
JzoNg adba60d067 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-28 17:30:56 +08:00
JzoNg be7fa93ffc fix: modify tip of default embedding model 2024-11-28 17:27:21 +08:00
JzoNg 3bcd470ec6 fix: authorization in debugging plugin 2024-11-28 17:27:21 +08:00
JzoNg 73825c59e4 fix: crash of tool authorization in agent 2024-11-28 17:27:21 +08:00
JzoNg 5f76975e12 fix: icon of tool provider in agent 2024-11-28 17:27:21 +08:00
JzoNg 3ddb3d2bff fix: deleted tools in agent 2024-11-28 17:27:21 +08:00
JzoNg a70eda6c45 add loading for auth modal 2024-11-28 17:27:21 +08:00
Yeuoly 1858e523f1 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 17:12:55 +08:00
Yeuoly 5c6d919a4a fix: handle detailed error type 2024-11-28 17:12:29 +08:00
NFish 42cdc55db1 fix: do not show error tooltip if http status code is 401 2024-11-28 16:04:19 +08:00
NFish a76d0a09b6 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-28 16:03:05 +08:00
EthanandGitHub 0f1133729f feat: introduce a new environment variable that suppose to disable Scarf analytics (#11179) 2024-11-28 15:21:04 +08:00
AkaraChen 11679dc68a feat: child chunk component for dataset 2024-11-28 15:18:56 +08:00
Joel 51f0f21a47 chore: not load updateInfo can not install 2024-11-28 14:30:31 +08:00
Joel 073e847524 fix: installed 2024-11-28 14:13:43 +08:00
Joel 3e601c4ef5 feat: local support upgrade 2024-11-28 14:09:05 +08:00
yihongandGitHub d7160ee563 fix: typo in upstashVector if id is always true, also fix some type hint (#11183)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-28 14:05:25 +08:00
Joel fba468e8ad fix: handle install the same version 2024-11-28 13:50:04 +08:00
twwu d1c3c26dc7 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-28 13:37:20 +08:00
twwu 32df9d6e00 feat: add segment management hooks for enabling, disabling, and deleting segments 2024-11-28 13:37:12 +08:00
18add94a31 chore: translate i18n files (#11182)
Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com>
2024-11-28 13:21:04 +08:00
KVOJJJinandGitHub 18d3ffc194 Feat: new pagination (#11170) 2024-11-28 12:26:02 +08:00
Joel f40b212b04 feat: support update if installed from marketplace 2024-11-28 12:00:12 +08:00
StyleZhang 9d8445c758 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-28 11:27:13 +08:00
StyleZhang 37eee7be24 fix: model provider page marketplace 2024-11-28 11:26:45 +08:00
NFishandGitHub 0a30a5b077 Feat: remove github star and community links if it is enterprise version (#11180) 2024-11-28 11:02:25 +08:00
Joel 99942b26e6 chore: support install hide button 2024-11-28 10:40:33 +08:00
AkaraChen 25bccd52c2 feat: child chunk component for dataset 2024-11-28 10:36:24 +08:00
AkaraChen 521ab30bba fix: data processing form layout padding 2024-11-28 10:20:08 +08:00
9049dd7725 fix: code linting (#11143)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2024-11-27 23:44:51 +08:00
Jinzhou ZhangandGitHub 6f418da388 Fixes #11065: tenant_id not found when login via ADMIN_KEY (#11066) 2024-11-27 19:50:56 +08:00
Joel cc64419c84 feat: use new file icon 2024-11-27 17:57:28 +08:00
JyongandGitHub 41c6bf5fe4 update the scheduler of update_tidb_serverless_status_task to 1/10min (#11135) 2024-11-27 17:41:00 +08:00
Kevin ZhaoandGitHub 33d6d26bbf Adding AWS CDK deploy link in README in multi-language (#11166) 2024-11-27 17:40:40 +08:00
-LAN-andGitHub 787285d58f fix(file_factory): convert tool file correctly. (#11167)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-27 17:28:01 +08:00
yihongandGitHub 40fc6f529e fix: gitee ai wrong default model, and better para (#11168)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-27 17:27:11 +08:00
Joel e27568f0c7 fix: not add datasetid to picker 2024-11-27 16:52:10 +08:00
Joel b7b49daff8 feat: add picker logic 2024-11-27 16:48:40 +08:00
StyleZhang 9302a5fac8 merge feat/plugins 2024-11-27 16:15:57 +08:00
StyleZhang d4cda69b0e feat: marketplace add exclude 2024-11-27 16:14:15 +08:00
Joel 71e285c490 feat: add document file select 2024-11-27 15:52:58 +08:00
Yeuoly b1f2fc3cf4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-27 14:49:00 +08:00
Yeuoly e39eddab03 fix: change to use convert_stream_full_response 2024-11-27 14:48:44 +08:00
StyleZhang e145dba487 fix: dsl check 2024-11-27 14:30:47 +08:00
baef18cedd fix: Incorrect iteration log display in workflow with multiple parallel mode iteartaion nodes (#11158)
Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local>
2024-11-27 13:42:28 +08:00
Hiroshi FujitaandGitHub a918cea2fe feat: add VTT file support to Document Extractor (#11148) 2024-11-27 11:42:42 +08:00
Joel e908ecab8f fix: add ui 2024-11-27 10:50:39 +08:00
AkaraChen f1655888ef fix: number input component 2024-11-27 10:29:16 +08:00
-LAN-andGitHub 9789905a1f chore(*): Removes debugging print statements (#11145)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-26 22:03:19 +08:00
Charlie.WeiandGitHub f458580dee fix parameter extractor function call Expected str (#11142) 2024-11-26 21:46:56 +08:00
-LAN-andGitHub 223a30401c fix: LLM invoke error should not be raised (#11141)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-26 20:56:48 +08:00
yihongandGitHub 2927493cf3 fix: better way to handle github dsl url close #11113 (#11125)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-26 19:39:55 +08:00
Yeuoly 3a18aaebd2 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-26 18:59:18 +08:00
Yeuoly db726e02a0 feat: support multi token count 2024-11-26 18:59:03 +08:00
Yeuoly 66d4de39b8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-26 18:04:34 +08:00
Yeuoly e4b8220bc2 Merge branch 'main' into fix/chore-fix 2024-11-26 18:02:41 +08:00
JoelandGitHub 79db920fa7 fix: enable after disabled memory not pass user query (#11136) 2024-11-26 17:55:11 +08:00
NFishandGitHub b3d65cc7df Feat: Divider component now supports gradient background (#11130) 2024-11-26 17:44:56 +08:00
Joel a98df0158e chore: document header 2024-11-26 17:26:20 +08:00
AkaraChen 378461bf8a Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-26 17:22:07 +08:00
AkaraChen e2c6ea3a3a chore: align design token 2024-11-26 17:22:02 +08:00
twwu 0c4e06e1c1 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-26 16:56:34 +08:00
twwu 1e4167427c refactor: update processing status UI and add new CSS variables for success and error states 2024-11-26 16:56:27 +08:00
AkaraChen e26a963163 fix: missing translation 2024-11-26 16:05:14 +08:00
-LAN-andGitHub 208d6d6d94 chore: bump to 0.12.1 (#11122) 2024-11-26 15:46:17 +08:00
AkaraChen 72ca69fb2a Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-26 15:38:03 +08:00
AkaraChen db1956ed54 feat: dataset creation form reset 2024-11-26 15:37:57 +08:00
Joel 9aceceda2c fix: css var value 2024-11-26 15:33:58 +08:00
AkaraChen 1843f6ccb6 refactor: input number component 2024-11-26 15:29:31 +08:00
Tao WangandGitHub aa135a3780 Add TTS to OpenAI_API_Compatible (#11071) 2024-11-26 15:14:02 +08:00
AkaraChen b7d9987953 chore: align design token 2024-11-26 14:48:49 +08:00
Joel b8af4aead1 fix: update version show problem 2024-11-26 14:38:43 +08:00
AkaraChen b528b1e875 refactor: use css var 2024-11-26 14:33:40 +08:00
AkaraChen c4aa98e609 Merge branch 'main' into feat/parent-child-retrieval 2024-11-26 14:18:56 +08:00
AkaraChen 4757db1b6b refactor: use css var 2024-11-26 14:18:42 +08:00
-LAN-andGitHub 044e7b63c2 fix(llm_node): Ignore file if not supported. (#11114) 2024-11-26 14:14:14 +08:00
Joel d40f0e645c fix: install marketplace bundle title 2024-11-26 14:11:21 +08:00
Joel 4b77ced4ad fix: not show from market bundle package icon 2024-11-26 14:07:45 +08:00
Yeuoly d695ac4b24 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-26 14:00:28 +08:00
Yeuoly 08cfcb453c fix: missing marshal fields of leaked+dependencies 2024-11-26 13:59:52 +08:00
-LAN-andGitHub 5b7b328193 feat: Allow to contains files in the system prompt even model not support. (#11111) 2024-11-26 13:45:49 +08:00
-LAN-andGitHub 8d5a1be227 fix: Cannot use files in the user inputs. (#11112) 2024-11-26 13:43:38 +08:00
非法操作andGitHub 90d5765fb6 fix: app copy raise error (#11108) 2024-11-26 13:42:13 +08:00
-LAN-andGitHub 1db14793fa fix(anthropic_llm): Ignore non-text parts in the system prompt. (#11107) 2024-11-26 13:31:40 +08:00
-LAN-andGitHub cbb4e95928 fix(llm_node): Ignore user query when memory is disabled. (#11106) 2024-11-26 13:07:32 +08:00
-LAN-andGitHub 20c091a5e7 fix: user query be ignored if query_prompt_template is an empty string (#11103) 2024-11-26 12:47:59 +08:00
StyleZhang b84b0c8ba8 merge main 2024-11-26 11:38:37 +08:00
NFishandGitHub e9c098d024 Fix regenerate themes (#11101) 2024-11-26 11:33:04 +08:00
StyleZhang f47b32b26d fix: dsl 2024-11-26 11:10:53 +08:00
StyleZhang 102a42d24c Merge branch 'main' into feat/plugins 2024-11-26 11:08:30 +08:00
StyleZhang 00eb47384a merge main 2024-11-26 10:31:39 +08:00
StyleZhang 2041650cca merge main 2024-11-26 10:29:58 +08:00
horochxandGitHub 9f75970347 fix: ops_trace_manager from_end_user_id (#11077) 2024-11-26 10:29:00 +08:00
StyleZhang a0873a956f merge main 2024-11-26 10:27:48 +08:00
非法操作andGitHub f1366e8e19 fix #11091 raise redirect issue (#11092) 2024-11-26 10:25:42 +08:00
Hash BrownandGitHub 0f85e3557b fix: site icon not showing (#11094) 2024-11-26 10:23:03 +08:00
SebastjanPrachovskijandGitHub 17ee731546 SearchApi - Return error message instead of raising a ValueError (#11083) 2024-11-26 09:34:51 +08:00
Tao WangandGitHub af2461cccc Add query_prefix + Return TED Transcript URL for Downstream Scraping Tasks (#11090) 2024-11-26 09:32:37 +08:00
非法操作andGitHub 60c1549771 fix: import Explore Apps raise error (#11091) 2024-11-26 09:32:08 +08:00
Yeuoly 6e37eeabca Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-25 23:36:35 +08:00
Yeuoly 992e1eedde fix: export agent dsl 2024-11-25 23:36:19 +08:00
Yeuoly cdeda89801 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-25 23:22:52 +08:00
Yeuoly c2ce8e638e fix: deleted_tools 2024-11-25 23:22:17 +08:00
fengjiajieandGitHub ab6dcf7032 fix: update the max tokens configuration for Azure GPT-4o (2024-08-06) to 16384 (#11074) 2024-11-25 21:13:02 +08:00
yihongandGitHub 8aae235a71 fix: int None will cause error for context size (#11055)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-25 21:04:16 +08:00
-LAN-andGitHub c032574491 fix: timezone not imported in conversation service. (#11076) 2024-11-25 20:53:55 +08:00
Tao WangandGitHub 1065917872 Add grok-vision-beta to xAI + Update grok-beta Features (#11004) 2024-11-25 20:53:03 +08:00
非法操作andGitHub 56e361ac44 fix: chart tool chinese font display and raise error (#11058) 2024-11-25 19:50:33 +08:00
yihongandGitHub 2e00829b1e fix: drop useless and wrong code for zhipu embedding (#11069)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-25 19:50:23 +08:00
-LAN-andGitHub 625aaceb00 chore: bump version to 0.12.0 (#11056) 2024-11-25 19:17:59 +08:00
-LAN-andGitHub 98d85e6b74 fix: WorkflowNodeExecution.created_at may be earlier than WorkflowRun.created_at (#11070) 2024-11-25 18:16:55 +08:00
Joel df049564e8 feat: support install bundle from marketplace 2024-11-25 18:01:30 +08:00
Joel b93be49530 chore: support update show version 2024-11-25 18:01:29 +08:00
Pedro GomesandGitHub 319d49084b fix: ignore empty outputs in Tool node (#10988) 2024-11-25 18:00:42 +08:00
AkaraChen 1a6a28f650 feat: settings ui for database pre-preprocessing 2024-11-25 17:57:31 +08:00
StyleZhang 6bc37f4f00 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-25 17:54:45 +08:00
StyleZhang 57756b18e4 fix: plugin task 2024-11-25 17:54:28 +08:00
StyleZhang 2252821cae Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-25 17:33:25 +08:00
StyleZhang 8ad9ab40df fix: plugin task 2024-11-25 17:32:57 +08:00
Yeuoly e68fec0022 fix: linter 2024-11-25 17:20:43 +08:00
Yeuoly 69b61ef57b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-25 17:19:51 +08:00
Yeuoly ba3659a792 feat: support delete all install tasks 2024-11-25 17:11:41 +08:00
Yeuoly 965fabd578 fix: rename dependencies 2024-11-25 16:57:38 +08:00
Yeuoly accbbae755 cleanup: remove get_interates 2024-11-25 16:47:49 +08:00
Yeuoly 49bd1a7a49 fix: riff 2024-11-25 16:44:08 +08:00
JoelandGitHub eb542067af feat: add cookie management (#11061) 2024-11-25 16:31:49 +08:00
Yeuoly 5ff9cee326 Merge branch 'main' into fix/chore-fix 2024-11-25 15:37:19 +08:00
yihongandGitHub 04b9a2c605 fix: better path trigger for vdb and fix the version (#11057)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-25 13:50:03 +08:00
KVOJJJinandGitHub 8028e75fbb Improvement: update api doc of workflow (#11054) 2024-11-25 12:48:36 +08:00
3eb51d85da fix(workflow_entry): Support receive File and FileList in single step run. (#10947)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: JzoNg <jzongcode@gmail.com>
2024-11-25 12:46:50 +08:00
StyleZhang 4f54ac6ed6 fix: marketplace collection condition 2024-11-25 12:03:49 +08:00
nomi3andGitHub 79a35c2fe6 feat(i18n): update Japanese translation for login page (#10993) 2024-11-25 12:02:56 +08:00
JoelandGitHub 2dd4c34423 fix: llm node do not pass sys.query in chatflow app init (#11053) 2024-11-25 12:01:57 +08:00
Kalo ChinandGitHub 684f6b2299 fix: slidespeak text output is not the download link (#10997) 2024-11-25 11:28:52 +08:00
yihongandGitHub b791a80b75 chore: update chromadb version to 0.5.20 (#11038)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-25 11:14:04 +08:00
13006f94e2 fix the wrong LINDORM_PASSWORD variable name in docker-compose.yaml (#11052)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-11-25 11:13:06 +08:00
Dr.MerdanBayandGitHub 41772c325f Feat/add admin check (#11050) 2024-11-25 11:11:00 +08:00
SiliconFlow, IncandGitHub a4fc057a1c ISSUE=11042: add tts model in siliconflow (#11043) 2024-11-25 11:04:13 +08:00
Tao WangandGitHub aae29e72ae Fix Deepseek Function/Tool Calling (#11023) 2024-11-25 11:03:53 +08:00
cyflhnandGitHub 87c831e5dd make tool parameters parsing compatible with the response of glm4 model in xinference provider when function tool call integerated (#11049) 2024-11-25 11:02:58 +08:00
MatsudaandGitHub 40a5f1c80a fix: wrong param name (#11039) 2024-11-25 11:02:45 +08:00
-LAN-andGitHub 04f1e18342 fix: Validate file only when file type is set to custom (#11036)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-24 21:10:01 +08:00
TakakiMoriguchiandGitHub 365a40d11f fix: Japanese typo (#11034) 2024-11-24 21:09:30 +08:00
-LAN-andGitHub 60b5dac3ab fix: query will be None if the query_prompt_template not exists (#11031)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-24 21:06:51 +08:00
-LAN-andGitHub 8565c18e84 feat(file_factory): Standardize custom file type into known types (#11028)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-11-24 15:29:43 +08:00
03ba4bc760 fix error with xinference tool calling with qwen2-instruct and add timeout retry setttings for xinference (#11012)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-24 15:29:30 +08:00
litterGuyandGitHub ae3a2cb272 fix: json parse err when http node send request (#11001) 2024-11-24 14:19:48 +08:00
Bowen LiangandGitHub 6c8e208ef3 chore: bump minimum supported Python version to 3.11 (#10386) 2024-11-24 13:28:46 +08:00
yihongandGitHub 0181f1c08c fix: wrong convert in PromptTemplateConfigManager (#11016)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-24 12:18:19 +08:00
yihongandGitHub 7f00c5a02e fix: uuid not import bug (#11014)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-24 11:17:55 +08:00
johnpccdandGitHub d0648e27e2 Fix typo (#11024) 2024-11-24 11:15:46 +08:00
Hiroshi FujitaandGitHub 31348af2e3 doc: Updated Python version requirements to match English version (#11015) 2024-11-24 11:15:24 +08:00
096c0ad564 feat: Add support for TEI API key authentication (#11006)
Signed-off-by: kenwoodjw <blackxin55+@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-23 23:55:35 +08:00
Kazuhisa WadaandGitHub 16c41585e1 Fixing #11005: Incorrect max_tokens in yaml file for AWS Bedrock US Cross Region Inference version of 3.5 Sonnet v2 and 3.5 Haiku (#11013) 2024-11-23 23:46:25 +08:00
AkisAyaandGitHub 566ab9261d fix: gitlab file url not correctly encoded (#10996) 2024-11-23 23:44:17 +08:00
Hiroshi FujitaandGitHub 1cdadfdece chore(devcontainer): upgrade Python version to 3.12 in Dockerfile and configuration (#11017) 2024-11-23 23:40:09 +08:00
yihongandGitHub 448a19bf54 fix: fish audio wrong validate credentials interface (#11019)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-23 23:39:41 +08:00
Bowen LiangandGitHub d3051eed48 chore (dep): bump gevent from v23 to v24 for better support for Python 3.11 and 3.12 (#10387) 2024-11-23 00:07:07 +08:00
yihongandGitHub ed55de888a fix: rules should not be None for in (#10977)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-22 23:04:20 +08:00
Yeuoly dfc94cd7c2 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-22 20:04:42 +08:00
Yeuoly 200f9af5d8 optimize error messages 2024-11-22 20:04:20 +08:00
-LAN-andGitHub da601f0bef chore: update base image to Python 3.12 in Dockerfile (#10358) 2024-11-22 19:43:19 +08:00
Yeuoly 1443fd6739 optimize: indexing-estimate 2024-11-22 19:39:07 +08:00
08ac36812b feat: support LLM process document file (#10966)
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-11-22 19:32:44 +08:00
Yeuoly f69d5caa14 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-22 18:19:27 +08:00
Yeuoly e63ae36665 fix 2024-11-22 18:19:02 +08:00
Yeuoly cfa7c89dfe refactor: text-embedding interfaces to returns list[int] 2024-11-22 18:09:33 +08:00
-LAN-andGitHub 556de444e8 chore(app_dsl_service): Downgrade DSL Version (#10979) 2024-11-22 16:36:16 +08:00
crazywoolaandGitHub 3750200c5e feat: add a meta(mac) ctrl(windows) key (#10978) 2024-11-22 16:30:34 +08:00
c5f7d650b5 feat: Allow using file variables directly in the LLM node and support more file types. (#10679)
Co-authored-by: Joel <iamjoel007@gmail.com>
2024-11-22 16:30:22 +08:00
-LAN-andGitHub 535c72cad7 fix(model): make sure AppModelConfig.model_dict returns a dict. (#10972) 2024-11-22 15:48:50 +08:00
NFishandGitHub 8a83edc1b5 Feat: update icon and Divider components (#10975) 2024-11-22 15:44:42 +08:00
StyleZhang a84f0e29a4 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-22 15:27:48 +08:00
StyleZhang 3263a6a5f5 fix: marketplace plugin tags i18n 2024-11-22 15:26:25 +08:00
5b415a6227 chore: translate i18n files (#10970)
Co-authored-by: laipz8200 <16485841+laipz8200@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-22 15:24:11 +08:00
JzoNg 27ea150a44 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-22 15:11:52 +08:00
5172f0bf39 feat: Check and compare the DSL version before import an app (#10969)
Co-authored-by: Yi <yxiaoisme@gmail.com>
2024-11-22 15:05:04 +08:00
JzoNg 506e5e0bc8 fix: plugin type 2024-11-22 14:53:20 +08:00
AkaraChen bba9301788 fix: layout overflow 2024-11-22 14:09:41 +08:00
CXwudiandGitHub d9579f418d chore: Added the new gemini exp-1121 and learnlm-1.5 models (#10963) 2024-11-22 13:14:20 +08:00
AkaraChen 7881fb4d22 fix: layout overflow 2024-11-22 13:12:24 +08:00
JzoNg c768f8fdd1 fix: path of tool provider 2024-11-22 11:41:36 +08:00
twwu d45ce48932 fix: update theme imports in globals.css 2024-11-22 11:02:45 +08:00
Joel c6b1fecc21 merge 2024-11-22 11:01:00 +08:00
Wu TianweiandGitHub 3579bbd1c4 refactor: Split linear-gradient and color (#10961) 2024-11-22 10:55:42 +08:00
Joel 3e3ae989f0 chore: in tool file and files all support file and files 2024-11-22 10:54:22 +08:00
Joel 786f2d9bf6 chore: fix categoriesMap[category] undefined 2024-11-22 10:39:22 +08:00
Kalo ChinandGitHub 817b85001f feat: slidespeak slides generation (#10955) 2024-11-22 10:30:21 +08:00
e8868a7fb9 feat: add gpt-4o-2024-11-20 (#10951)
Co-authored-by: akubesti <agung.besti@insignia.co.id>
2024-11-22 10:29:20 +08:00
twwu 85377d13fc Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-22 10:22:39 +08:00
twwu 51e04b45ec fix: update error icon z-index and upgrade react-query dependencies 2024-11-22 10:22:33 +08:00
Kalo ChinandGitHub 2cd9ac60f1 fix: unstructured io credential environment variables missing (#10953) 2024-11-22 10:15:17 +08:00
yihongandGitHub 464f384cea fix: tiny lora bug found by mypy (#10959)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-22 10:01:44 +08:00
JzoNg bd6c2e519c fix: corner mark 2024-11-22 09:09:35 +08:00
非法操作andGitHub 8b16f07eb0 feat: add cURL import for http request node (#8656) 2024-11-21 22:25:18 +08:00
fefda40acf fix: fix bugs of frontend-workflow panel operator (#10945)
Co-authored-by: marvin <sea-son@foxmail.com>
2024-11-21 19:07:02 +08:00
Xu SongandGitHub 8c2f62fb92 Feat: support json output for bing-search (#10904) 2024-11-21 18:32:54 +08:00
Joel 3f0b35d72e feat: install bundle from marketplace code 2024-11-21 18:22:11 +08:00
JzoNg f51336df08 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-21 18:13:11 +08:00
JzoNg 78c867b9a3 use plugin detail for builtin tool 2024-11-21 18:11:36 +08:00
JzoNg f213c8f393 fix: version switch 2024-11-21 18:11:36 +08:00
1a6b961b5f Resolve 8475 support rerank model from infinity (#10939)
Co-authored-by: linyanxu <linyanxu2@qq.com>
2024-11-21 18:03:49 +08:00
cooper.wuandGitHub 01014a6a84 fix: external dataset missing score_threshold_enabled (#10943) 2024-11-21 18:01:47 +08:00
Joel 1b3f4f1f2a feat: support icon size 2024-11-21 18:00:13 +08:00
AkisAyaandGitHub cb0c55daa7 fix weight rerank of knowledge retrieval (#10931) 2024-11-21 17:53:20 +08:00
Joel c59c696df2 chore: add version type in marketplace return 2024-11-21 17:43:41 +08:00
Joel 8993a91f12 fix: upgrade sussces auto hide 2024-11-21 17:38:23 +08:00
JzoNg 02c5989612 recover api tool create card 2024-11-21 17:29:28 +08:00
JzoNg ac42ba880a fix: install handle of list refresh 2024-11-21 17:11:22 +08:00
Yeuoly b2fdf4f85f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-21 17:00:28 +08:00
Yeuoly a6835ac64d fix: add detailed error messages 2024-11-21 17:00:00 +08:00
-LAN-andGitHub 82575a7aea fix(gpt-4o-audio-preview): Remove the vision feature (#10932) 2024-11-21 16:42:48 +08:00
yihongandGitHub 80da0c5830 fix: default max_chunks set to 1 as other providers (#10937)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-21 16:36:05 +08:00
AkaraChen fdcee1cd45 feat: create top bar 2024-11-21 16:19:32 +08:00
JzoNg 56f573ecfb fix: update plugin handle 2024-11-21 15:35:39 +08:00
Joel 2560d3edae fix: bundle install title 2024-11-21 15:22:19 +08:00
Joel 351615fb98 fix: not the first time upload bundle error 2024-11-21 15:14:21 +08:00
twwu 13c62f83f4 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-21 15:13:21 +08:00
twwu c5b9a829c0 feat: update UI styles and enhance status indicator components 2024-11-21 15:13:16 +08:00
Yeuoly cc8117f02a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-21 14:36:34 +08:00
Yeuoly 846c3faba7 fix: ruff 2024-11-21 14:36:01 +08:00
Yeuoly 7c74aaabcf Merge remote-tracking branch 'origin/feat/plugins' into dev/plugin-deploy 2024-11-21 14:35:14 +08:00
Joel 11ed86f2a8 feat: download package 2024-11-21 14:25:58 +08:00
JzoNg b01c18ae7f fix: version badge 2024-11-21 14:16:02 +08:00
83b6abf4ad Update parse.py to handle empty list result (#10915)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-21 14:14:07 +08:00
Hash BrownandGitHub ea0ebc020c fix: chat history might be empty in log detail view (#10905) 2024-11-21 14:12:01 +08:00
Kota-YamaguchiandGitHub f358db9f02 feat : Add Japanese translations for API documentation: chat, advanced-chat, completion, and workflow (#10927) 2024-11-21 14:02:46 +08:00
Yeuoly a700b49461 fix: migration 2024-11-21 13:55:08 +08:00
Yeuoly 22df86fe8a fix: ruff 2024-11-21 13:53:08 +08:00
Yeuoly 24734009b9 Merge branch 'main' into fix/chore-fix 2024-11-21 13:52:28 +08:00
StyleZhang 84a3fe85c8 fix: marketplace card link 2024-11-21 13:50:26 +08:00
JzoNg 3efc6c5050 fix: github link 2024-11-21 13:42:06 +08:00
JzoNg 42a0534299 fix: locale of model provider 2024-11-21 13:18:33 +08:00
JzoNg eec193488d fix: detail link of plugin 2024-11-21 13:09:10 +08:00
94c9cadbd8 fix image files not deleted on indexing_estimate #9541 (#10798)
Co-authored-by: root <root@localhost.localdomain>
2024-11-21 13:03:16 +08:00
JzoNg 021bc57cd4 empty of tool list 2024-11-21 12:43:18 +08:00
StyleZhang 022eda9e8b fix: tool providers 2024-11-21 12:03:53 +08:00
AkaraChen 6f3a1c9d72 feat: parent child state 2024-11-21 11:40:17 +08:00
Joel 2067092f52 feat: detail link in tools 2024-11-21 11:33:21 +08:00
Joel 000db07d29 feat: in tool install plugin 2024-11-21 11:16:05 +08:00
Joel 98ae34acd5 chore: support tags filter 2024-11-21 10:51:36 +08:00
2ae6460f46 Add googlenews tools from rapidapi (#10877)
Co-authored-by: steven <sunzwj@digitalchina.com>
2024-11-21 10:39:49 +08:00
yihongandGitHub 0067b16d1e fix: refactor all 'or []' and 'or {}' logic to make code more clear (#10883)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-21 10:34:43 +08:00
yihongandGitHub ec9f6220c9 doc: fix better doc for api develop, droping dead hint (#10906)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-21 10:34:23 +08:00
StyleZhang 698e94856e fix: plugin task zindex 2024-11-21 08:42:36 +08:00
Yeuoly e05d7637ac Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-21 00:30:47 +08:00
Yeuoly 959d060a44 fix: remove signature verify 2024-11-21 00:30:28 +08:00
鬼頭拓海andGitHub af53e2b6b0 Fix : Add a process to fetch the mime type from the file name for signed url in remote_url #10872 version2 (#10908) 2024-11-20 22:57:49 +08:00
shisaru292andGitHub b42b333a72 fix: handle redis authentication for healthcheck command (#10907) 2024-11-20 20:10:51 +08:00
Joel 99ffe43e91 merge main 2024-11-20 18:24:03 +08:00
Yeuoly 4921e610af Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-20 18:12:45 +08:00
Yeuoly 4492295683 fix: remove plugin files 2024-11-20 18:12:12 +08:00
Joel 498222371c chore: parse marketplace bundle new api 2024-11-20 17:52:35 +08:00
方程andGitHub 99b0369f1b Gitee AI embedding tool (#10903) 2024-11-20 17:40:34 +08:00
twwu 13bb4aa721 Merge branch 'feat/parent-child-retrieval' of https://github.com/langgenius/dify into feat/parent-child-retrieval 2024-11-20 16:38:48 +08:00
twwu d0ef423e66 feat: enhance SegmentCard and SegmentAdd components with new DocumentTitle and improved UI elements 2024-11-20 16:38:38 +08:00
Joel 26288e71d3 fix: local bundle install 2024-11-20 16:32:20 +08:00
AkaraChen 8e1aef6120 feat: new dataset footer ui 2024-11-20 16:24:06 +08:00
JzoNg 19fb466074 fix: tool icon in app configure 2024-11-20 16:22:51 +08:00
JzoNg cd4eb9c3f1 fix: icon in model list 2024-11-20 16:22:51 +08:00
Joel 4ef0a3818f feat: can install bundle from local 2024-11-20 16:21:09 +08:00
d6ea1e2f12 fix: explicitly use new token when retrying ssePost after refresh (#10864)
Co-authored-by: liusurong.lsr <liusurong.lsr@alibaba-inc.com>
2024-11-20 16:11:33 +08:00
twwu 77d6dbb3d0 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-20 15:31:03 +08:00
twwu e3b8926aef fix: correct fetched releases variable in version check and update dev script for debugging 2024-11-20 15:30:57 +08:00
AkaraChen 4657df17a9 revert: qa mode 2024-11-20 15:25:26 +08:00
-LAN-andGitHub 4d6b45427c Support streaming output for OpenAI o1-preview and o1-mini (#10890) 2024-11-20 15:10:41 +08:00
-LAN-andGitHub 1be8365684 Fix/input-value-type-in-moderation (#10893) 2024-11-20 15:10:12 +08:00
Joel efb84ff03d fix: github install fix 2024-11-20 15:05:17 +08:00
AkaraChen 27ece2fb52 feat: most ui for create datasets
chore: upd
2024-11-20 14:55:59 +08:00
Joel 1846a7de73 fix: handle github item from data struct diffe 2024-11-20 14:48:38 +08:00
Joel 40d025052d fix: load package dsl error 2024-11-20 14:27:46 +08:00
c3d11c8ff6 fix: aws presign url is not workable remote url (#10884)
Co-authored-by: Yuanbo Li <ybalbert@amazon.com>
2024-11-20 14:24:41 +08:00
Joel bb2914652a feat: finsh loading error comp 2024-11-20 13:56:32 +08:00
8ff65abbc6 ext_redis.py support redis clusters --- Fixes #9538 (#9789)
Signed-off-by: root <root@localhost.localdomain>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Bowen Liang <bowenliang@apache.org>
2024-11-20 13:44:35 +08:00
非法操作andGitHub bf4b6e5f80 feat: support custom tool upload file (#10796) 2024-11-20 13:26:42 +08:00
-LAN-andGitHub 25fda7adc5 fix(http_request): allow content type application/x-javascript (#10862) 2024-11-20 12:55:06 +08:00
非法操作andGitHub f3af7b5f35 fix: tool's file input display string (#10887) 2024-11-20 12:54:24 +08:00
Muntaser AbuzaidandGitHub 33cfc56ad0 fix: update email validation regex to allow periods in local part (#10868) 2024-11-20 12:33:02 +08:00
鬼頭拓海andGitHub 464cc26ccf Fix : Add a process to fetch the mime type from the file name for signed url in remote_url (#10872) 2024-11-20 12:30:25 +08:00
Joel e6a03f7a58 feat: loading error struct 2024-11-20 11:50:46 +08:00
JzoNg 386ee7b07b update model provider list after plugin installed 2024-11-20 11:49:20 +08:00
Jason TanandGitHub d18754afdd feat: admin can also change member role (#10651) 2024-11-20 11:29:49 +08:00
非法操作andGitHub beb7953d38 feat: enhance the custom note (#8885) 2024-11-20 11:24:45 +08:00
GeorgeCaoJandGitHub fbfc811a44 feat: support function call for ollama block chat api (#10784) 2024-11-20 11:15:19 +08:00
JzoNg 788f9de843 update model provider list after deleting plugin 2024-11-20 10:44:20 +08:00
AkaraChen ca4d0fb4cc feat: option card component
chore: upd
2024-11-20 10:13:40 +08:00
非法操作andGitHub 7e66e5a713 feat: make toc panel can collapse (#10875) 2024-11-20 10:07:30 +08:00
kurokoboandGitHub 07b5bbae06 feat: add a minimal separator between pinned apps and unpinned apps in the explore page (#10871) 2024-11-20 09:32:59 +08:00
Ding JiatongandGitHub 3087913b74 Fix the situation where output_tokens/input_tokens may be None in response.usage (#10728) 2024-11-19 21:19:13 +08:00
非法操作andGitHub 904ea05bf6 fix: download some remote files raise error (#10781) 2024-11-19 21:18:53 +08:00
RhysandGitHub 6f4885d86d Encode invitee email in the invitation link (#10842) 2024-11-19 21:08:37 +08:00
JoeandGitHub 2dc29cfee3 Feat/add langsmith dotted order (#10856) 2024-11-19 21:08:23 +08:00
JyongandGitHub bd05df5cc5 fix tongyi embedding endpoint return None output (#10857) 2024-11-19 21:04:17 +08:00
JyongandGitHub ee1f14621a fix httpx doesn't support stream parameter (#10859) 2024-11-19 21:03:01 +08:00
yihongandGitHub 58a9d9eb9a fix: better WeightRerankRunner run logic use O(1) and delete unused code (#10849)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-19 20:12:13 +08:00
Joel 5947e38ea0 feat: install by local bundle change 2024-11-19 18:32:17 +08:00
非法操作andGitHub bc1013dacf feat: support json schema for gemini models (#10835) 2024-11-19 17:49:58 +08:00
Tao WangandGitHub 9f195df103 Support Video Proxy and TED Embedding (#10819) 2024-11-19 17:49:14 +08:00
Joel e151c2ee8c fix: when error can not install 2024-11-19 17:29:15 +08:00
Joel a093a48675 feat: show package item in bundle 2024-11-19 17:29:14 +08:00
AkaraChenandGitHub 1cc7dc6360 style: refactor fetch and context (#10795) 2024-11-19 17:16:06 +08:00
Yeuoly 6c9f77092a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-19 16:50:47 +08:00
Yeuoly 88fac0d898 fix: add tenant_id to plugin upload files url 2024-11-19 16:50:14 +08:00
StyleZhang f99f25ae02 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-19 16:43:38 +08:00
StyleZhang 27b1a51572 fix: marketplace collection label description 2024-11-19 16:43:13 +08:00
JzoNg a867040b88 fix icon of model provider 2024-11-19 16:26:23 +08:00
Joel 2e3442f74c feat: support local installed package 2024-11-19 16:04:31 +08:00
StyleZhang ba53900ec4 merge 2024-11-19 15:14:27 +08:00
StyleZhang 43d7a538dc feat: marketplace list url support search & tags 2024-11-19 15:08:54 +08:00
Joel c5c06c18f1 feat: can upload and parse bundle 2024-11-19 15:05:15 +08:00
328965ed7c Fix: crash of workflow file upload (#10831)
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: StyleZhang <jasonapring2015@outlook.com>
2024-11-19 14:15:18 +08:00
Yeuoly ba148952bd Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-19 14:04:15 +08:00
Yeuoly 8b30099672 fix: convert backwards invocation into BaseBackwardsResponse 2024-11-19 14:03:40 +08:00
zxhlyhandGitHub 133de9a087 fix: upload file component support multiple (#10817) 2024-11-19 14:00:54 +08:00
kimjionandGitHub 7261384655 fix: close child modal on log drawer close (#10839) 2024-11-19 12:09:55 +08:00
dajianguoandGitHub 4718071cbb feat: Knowledge-base-api-get-post-method-text-error-#10836 (#10837) 2024-11-19 12:08:10 +08:00
twwu 972eaa5948 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-19 11:20:23 +08:00
twwu 87b23a1fac feat: refactor GitHub releases fetching and update handling with improved error notifications 2024-11-19 11:20:17 +08:00
非法操作andGitHub 22be0816aa feat: add TOC to app develop doc (#10799) 2024-11-19 09:06:12 +08:00
孙茂胤 (Sun, Maoyin)andGitHub 49e88322de doc: add clarification for length limit of init password (#10824) 2024-11-19 09:05:05 +08:00
ZaneandGitHub 14f3d44c37 refactor: improve handling of leading punctuation removal (#10761) 2024-11-18 21:32:33 +08:00
孙茂胤 (Sun, Maoyin)andGitHub 0ba17ec116 fix: correct typo in ETL type comment in .env.example (#10822) 2024-11-18 20:58:43 +08:00
BenjaminandGitHub 79d59c004b chore: update .gitignore to include mise.toml (#10778) 2024-11-18 19:35:12 +08:00
873e9720e9 feat: AnalyticDB vector store supports invocation via SQL. (#10802)
Co-authored-by: 璟义 <yangshangpo.ysp@alibaba-inc.com>
2024-11-18 19:29:54 +08:00
de6d3e493c fix: script rendering in message (#10807)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-18 19:19:10 +08:00
-LAN-andGitHub 7f1fdb774c chore: bump version to 0.11.2 (#10805) 2024-11-18 17:52:53 +08:00
Yeuoly 44e9758549 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-18 17:21:32 +08:00
Yeuoly 97a3727962 fix: optimize DEFAULT-USER 2024-11-18 17:21:17 +08:00
JyongandGitHub 128efc3193 Feat/clean message records (#10588) 2024-11-18 16:57:39 +08:00
Garfield DaiandGitHub c49efc0c22 Feat/account not found (#10804) 2024-11-18 16:14:39 +08:00
KVOJJJinandGitHub 3e2b8a8d02 Fix: legacy image upload compatible (#10803) 2024-11-18 15:57:48 +08:00
zxhlyhandGitHub 9861279395 fix: upload custom file extension (#10801) 2024-11-18 15:57:32 +08:00
AkaraChen 07174cf52c Revert "fix: dataset details"
This reverts commit 812fbab57b.
2024-11-18 15:41:31 +08:00
twwu d3fe6fd303 fix: display version from GitHub metadata if available 2024-11-18 11:57:31 +08:00
twwu 87ca20c047 feat: add version checking for GitHub releases and improve error handling 2024-11-18 11:54:51 +08:00
AkaraChen 07494459cc Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-18 11:23:49 +08:00
AkaraChen 812fbab57b fix: dataset details 2024-11-18 11:23:44 +08:00
dajianguoandGitHub 538a5df9d5 feat: Optimize usability during debugging #10641 (#10793) 2024-11-18 11:13:52 +08:00
JzoNg afdfc8c609 chore: enabled for useQuery 2024-11-18 11:02:37 +08:00
90d6ebc879 Add youtube-transcript-api as tool (#10772)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-18 10:58:16 +08:00
Kalo ChinandGitHub 6de1f8c770 Feat(tools) add tavily extract tool and enhance tavily search implementation (#10786) 2024-11-18 09:51:34 +08:00
壮士andGitHub 6d532bfc02 fix:Resolve the issue of Docker startup documents being queued all th… (#10791) 2024-11-18 09:49:33 +08:00
非法操作andGitHub ba537d657f feat: add gemini-exp-1114 (#10779) 2024-11-18 09:49:22 +08:00
Kalo ChinandGitHub 305fbc7c92 fix: fal ai wizper also return text msg (#10789) 2024-11-18 09:45:59 +08:00
Tao WangandGitHub 29341d60aa Add DuckDuckGo Video Search and News Search (#10771) 2024-11-17 13:59:48 +08:00
JzoNg 66f0e1209a switch version 2024-11-17 12:57:34 +08:00
JzoNg f0e4885926 tooltip of endpoints 2024-11-17 10:54:40 +08:00
c170862de7 fix:custom file extension not support (#10759)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-16 22:37:25 +08:00
Jason TanandGitHub ca6efd73f3 fix: date filter key not unique (#10645) 2024-11-16 14:43:55 +08:00
Yeuoly 2698b1c222 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 19:54:56 +08:00
Yeuoly 2cb640de15 refactor: load tools cache 2024-11-15 19:53:50 +08:00
d05fee1182 chore: translate i18n files (#10754)
Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-15 19:31:15 +08:00
Yeuoly 59b76900d7 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 18:39:40 +08:00
Yeuoly fb4ee813c7 fix: agent 2024-11-15 18:37:33 +08:00
1f87676d52 Supports display license status (#10408)
Co-authored-by: Garfield Dai <dai.hai@foxmail.com>
2024-11-15 17:59:48 +08:00
Garfield DaiandGitHub c2ce2f88c7 feat: add license. (#10403) 2024-11-15 17:59:36 +08:00
Joel 1dc2d7f4a2 chore: fix jump url 2024-11-15 16:49:12 +08:00
StyleZhang cc28dafede Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-15 16:46:46 +08:00
StyleZhang 9193bc3143 fix: marketplace link 2024-11-15 16:46:23 +08:00
Joel 3b032f086d fix: market icon not show 2024-11-15 16:37:51 +08:00
StyleZhang 5be781e007 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-15 16:33:17 +08:00
StyleZhang 746838e276 fix: marketplace link 2024-11-15 16:32:49 +08:00
crazywoolaandGitHub 2fed55ae6b Fix: number maybe empty string (#10743) 2024-11-15 16:31:10 +08:00
Yi 5ea306850e fix: copy tooltip shows in wrong place 2024-11-15 16:23:11 +08:00
Joel 7fe16a9f9d merge 2024-11-15 16:13:40 +08:00
Yi a6be3fdcd0 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-15 16:09:21 +08:00
Yi a7a5c6f4cb fix: update the upgrade button text content in the header 2024-11-15 16:09:04 +08:00
twwu f53b658964 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-15 16:07:41 +08:00
twwu 70bf321fd7 fix: add plugin type to card payload and integrate categories hook 2024-11-15 16:07:34 +08:00
Yeuoly 6da877c6a6 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 15:56:45 +08:00
Yeuoly 6300e506fb fix: rag 2024-11-15 15:54:14 +08:00
StyleZhang 35eafd239d fix: plugin task 2024-11-15 15:50:14 +08:00
StyleZhang 3f2baf0131 fix: plugin task 2024-11-15 15:46:29 +08:00
Yeuoly a0543ab8fb Merge branch 'main' into fix/chore-fix 2024-11-15 15:43:32 +08:00
Bowen LiangandGitHub 51db59622c chore(lint): cleanup repeated cause exception in logging.exception replaced by helpful message (#10425) 2024-11-15 15:41:40 +08:00
StyleZhang a5a6969db3 fix 2024-11-15 15:36:32 +08:00
StyleZhang c176494405 fix: search box style 2024-11-15 15:26:29 +08:00
Joel 1e81476e3a chore: fix lockfile 2024-11-15 15:24:08 +08:00
Joel 6fbff78b9c merge 2024-11-15 15:16:53 +08:00
Joel 0738c2ef54 fix: can not get url 2024-11-15 15:03:18 +08:00
StyleZhang 984e4564f8 fix: dsl check plugin 2024-11-15 14:54:17 +08:00
StyleZhang bc927868f4 fix: plugin task 2024-11-15 14:54:17 +08:00
Joel a0758dc2fc feat: finish github install 2024-11-15 14:40:04 +08:00
db1d2aaff5 Feat/add Slovensko (Slovenija) (#10731)
Co-authored-by: XHorizont.com <johnny@xhorizont.com>
2024-11-15 13:59:08 +08:00
Steven LynnandGitHub 4322fdc910 Feat/add reddit icon (#10733) 2024-11-15 13:55:46 +08:00
Joel 6b759795d5 feat: can install github 2024-11-15 13:09:29 +08:00
Joel bba80f465b just add 2024-11-15 13:09:28 +08:00
非法操作andGitHub 2a5c5a4e15 fix: remove default model selection for audio tool (#10729) 2024-11-15 12:40:41 +08:00
Joel ebaa94be15 mrege 2024-11-15 12:11:00 +08:00
Joel 6699441e53 just add 2024-11-15 12:07:20 +08:00
Yi 735e47f5e5 chore: update the styling in the "members setting" 2024-11-15 11:29:48 +08:00
twwu d354c69493 chore: update translations to include 'Marketplace' terminology in Chinese localization 2024-11-15 11:05:20 +08:00
JzoNg 8f14881aff app parameters 2024-11-15 10:43:21 +08:00
JzoNg e53c4fc0ad empty inputs form of app selector 2024-11-15 10:43:21 +08:00
JzoNg f9f2e68bd8 app selector in form 2024-11-15 10:43:21 +08:00
JzoNg 7b4d67d72f app list filter 2024-11-15 10:43:21 +08:00
JzoNg 7446244147 app picker 2024-11-15 10:43:21 +08:00
JzoNg c723bd2c96 app selector trigger 2024-11-15 10:43:21 +08:00
Joel 73ce8a17a5 feat: add loading 2024-11-15 10:39:57 +08:00
非法操作andGitHub 4b2abf8ac2 fix: create_blob_message of tool will always create image type file (#10701) 2024-11-15 10:38:12 +08:00
Bowen LiangandGitHub 365cb4b368 chore(lint): bump ruff from 0.6.9 to 0.7.3 (#10714) 2024-11-15 09:19:41 +08:00
GeorgeCaoJandGitHub c85bff235d fix(i18n): handle key naming error (#10713) 2024-11-15 09:01:38 +08:00
Kalo ChinandGitHub ad16180b1a feat(tool): fal ai wizper ASR built-in tool (#10716) 2024-11-15 09:01:07 +08:00
Yeuoly 1812af6cfe Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 00:47:46 +08:00
Yeuoly 634cb6233e feat: sypport batch fetch plugin installations 2024-11-15 00:47:25 +08:00
Yeuoly 94a8547217 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-14 22:59:18 +08:00
Yeuoly db68ae4a73 feat: support upload bundle 2024-11-14 22:58:57 +08:00
jarvis2fandGitHub 5ff02b469f fix:position error when creating segments (#10706) 2024-11-14 21:25:15 +08:00
Bowen LiangandGitHub 44f57ad9a8 chore: Bump Alpine Linux to 3.20 in web dockerfile (#10671) 2024-11-14 20:57:01 +08:00
yihongandGitHub 94fd6f6901 fix: typo in test (#10707)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-14 20:54:13 +08:00
SiliconFlow, IncandGitHub e61242a337 feat: add vlm models from siliconflow (#10704) 2024-11-14 20:53:35 +08:00
Yeuoly 5bd7598a37 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-14 18:34:32 +08:00
Yeuoly d25e79e794 feat: support uploading images through plugin 2024-11-14 18:32:51 +08:00
Joel 6f5e010db5 chore: handle uploaded selected 2024-11-14 18:31:22 +08:00
Yi 495d86fd96 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-14 18:28:18 +08:00
Yi 42ba4e4f0e chore: update the plugins tab button 2024-11-14 18:26:16 +08:00
StyleZhang 6af51701de fix: card link 2024-11-14 18:18:10 +08:00
yihongandGitHub 722964667f fix: non utf8 code decode close #10691 (#10698)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
2024-11-14 17:29:49 +08:00
Xiao LeyandGitHub fbb9c1c249 fixed the Base URL usage issue in Podcast Generator tool verification (#10697) 2024-11-14 17:24:42 +08:00
Joel 76104d811c feat: can show install plugins 2024-11-14 16:54:36 +08:00
StyleZhang 1877433f20 fix: marketplace 2024-11-14 16:37:53 +08:00
非法操作andGitHub 15f341b655 feat: add the audio tool (#10695) 2024-11-14 16:37:15 +08:00
Yi a403fb565d chore: update the plan tags 2024-11-14 16:21:28 +08:00
crazywoolaandGitHub b358490607 chore: update issue template (#10693) 2024-11-14 16:12:27 +08:00
crazywoolaandGitHub f9e4196fd5 Update pull_request_template.md (#10692) 2024-11-14 15:56:37 +08:00
crazywoolaandGitHub 751525802d feat: update pr template (#10690) 2024-11-14 15:52:15 +08:00
twwu f58b88f319 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-14 15:47:27 +08:00
twwu cd2860deb4 feat: add i18n support for plugin installation and empty states 2024-11-14 15:47:22 +08:00
AkaraChen 070968a048 style: add lint rule for tailwind 2024-11-14 15:39:21 +08:00
2abacd2a2d export configuration 'CODE_EXECUTION_TIMEOUT' to .env (#10688)
Co-authored-by: liuzhu <liuzhu@fridaycloud.com.cn>
2024-11-14 15:34:34 +08:00
Nam VuandGitHub a3155e0613 Update expat version (#10686) 2024-11-14 15:30:55 +08:00
StyleZhang ceb18d160f fix: marketplace i18n 2024-11-14 14:56:15 +08:00
StyleZhang 6a63a03cb2 feat: tool list use query 2024-11-14 14:48:13 +08:00
twwu a0a62db6ad refactor: Split linear-gradient and color 2024-11-14 14:36:30 +08:00
StyleZhang 253abaf1a3 fix: marketplace empty page 2024-11-14 14:27:34 +08:00
JyongandGitHub 70b9e4caf5 check dataset is none (#10682) 2024-11-14 14:07:19 +08:00
AkaraChen 44cc6157f1 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-14 11:35:53 +08:00
Yi 028fc00be6 chore: update i18n & setting window 2024-11-14 11:19:39 +08:00
AkaraChen 1aed0fe5d6 chore: use mitt hook 2024-11-14 11:04:41 +08:00
orangeclkandGitHub 317ae9233e feat: add json response format for siliconflow models (#10657) 2024-11-14 08:58:22 +08:00
JzoNg 300cd675c6 update tool list after tool selector 2024-11-14 00:04:06 +08:00
JzoNg ff1d42bd66 add tool selector in endpoint modal 2024-11-14 00:02:04 +08:00
JzoNg 194a99220b authorization of tool selector 2024-11-14 00:02:04 +08:00
JzoNg 926f85ce4f tool selector trigger 2024-11-14 00:02:04 +08:00
5b8f03cd9d add abab7-chat-preview model (#10654)
Co-authored-by: xiandan-erizo <xiandan-erizo@outlook.com>
2024-11-13 19:30:42 +08:00
Yi 6c6e1e90cd Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-13 18:41:27 +08:00
twwu 2fbc0c2261 revert: revert category label handling in plugin card component 2024-11-13 18:40:23 +08:00
Yi bac1e99557 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-13 18:40:20 +08:00
Yi 93e3077f77 chore: update the esc button and the upgrade button 2024-11-13 18:40:11 +08:00
twwu fa6858090b refactor: remove version prop from plugin item components and update version comparison logic 2024-11-13 18:34:04 +08:00
twwu 61eb655823 feat: update plugin category labels and improve internationalization support 2024-11-13 18:30:38 +08:00
Kalo ChinandGitHub 2a4783307a Feat(tool): fal ai flux image generation (#10606) 2024-11-13 17:41:58 +08:00
非法操作andGitHub bddecba9ed fix: mp3 file upload not work (#10650) 2024-11-13 17:37:29 +08:00
twwu 6298332950 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-13 16:55:49 +08:00
twwu a1719c49b7 feat: add internationalization support for plugin categories and update translations 2024-11-13 16:55:43 +08:00
Yi b10a1cd325 chore: update the theme selector setting in globals.css 2024-11-13 16:43:00 +08:00
StyleZhang aa88028564 fix: marketplace list 2024-11-13 16:28:38 +08:00
Joel 3e314843db chore: add missing file 2024-11-13 16:23:33 +08:00
Joel 0d607a8c90 feat: add update workflow to update use query 2024-11-13 16:23:31 +08:00
931e76e3d1 fix: remove unused queue generation (#10532)
Co-authored-by: 刘江波 <jiangbo721@163.com>
2024-11-13 15:52:52 +08:00
StyleZhang 577a948f42 feat: dsl check plugin 2024-11-13 15:48:25 +08:00
Yeuoly 1c411143e5 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-13 15:19:32 +08:00
Yeuoly 183b943803 feat: support check dependencies through url 2024-11-13 15:19:20 +08:00
Joel edbfe27eb1 chore: add invalid all built in tools 2024-11-13 15:17:22 +08:00
Joel 5c98d80fdf chore: more filter text content 2024-11-13 15:12:58 +08:00
Joel 89b470d0d5 fix: toggle tool 2024-11-13 15:04:23 +08:00
Joel 19dc983d30 feat: support toggle set tool when the texts changes 2024-11-13 14:54:37 +08:00
twwu e842a46fe2 fix: resolve issue with dark mode 2024-11-13 14:43:37 +08:00
Yeuoly 612eba2765 tests: for CD 2024-11-13 14:30:55 +08:00
Yeuoly 4fdaf57897 refactor 2024-11-13 14:28:40 +08:00
Yeuoly 479928f428 refactor cd 2024-11-13 14:23:02 +08:00
Yeuoly a53ea578b9 tests: cd 2024-11-13 14:11:46 +08:00
Joel 1573f6f6aa feat: add tag and q filter 2024-11-13 14:08:16 +08:00
snakeandGitHub 3c6babdf35 cd for plugin env 2024-11-13 13:58:58 +08:00
AkaraChen f74dc032f9 fix: new workflow init draft failed 2024-11-13 13:51:55 +08:00
snakeandGitHub bc614cb507 cd for plugin env 2024-11-13 13:38:12 +08:00
AkaraChen 910d5df513 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-13 13:33:47 +08:00
snakeandGitHub 92c2fa0a88 deploy script add cat action 2024-11-13 13:28:46 +08:00
twwu fa01360498 fix: Fix theme initialization issue 2024-11-13 13:11:47 +08:00
AkaraChen 1fe5be532d fix: new workflow init draft failed 2024-11-13 12:59:52 +08:00
Joel d67eb907dd fix: show index letter problem 2024-11-13 11:56:33 +08:00
Joel 83dae7e5bc fix: can not select action in workflow and tools 2024-11-13 11:38:44 +08:00
StyleZhang c6d1b7869d fix: plugin task 2024-11-13 11:33:58 +08:00
snakeandGitHub 32b8efcc73 cd for plugin env 2024-11-13 11:28:31 +08:00
snakeandGitHub 3aa679b061 cd for plugin env 2024-11-13 11:11:30 +08:00
snakeandGitHub 07def4587c cd for plugin env 2024-11-13 11:01:37 +08:00
snakeandGitHub 830bf4dc3c print context var 2024-11-13 10:51:40 +08:00
snakeandGitHub e1c2929219 print context var 2024-11-13 10:48:02 +08:00
snakeandGitHub 3976c7fee8 print context var 2024-11-13 10:44:33 +08:00
snakeandGitHub 11fd02ae99 print context var 2024-11-13 10:42:01 +08:00
Yi 601d267b7a Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-13 10:39:07 +08:00
Yi 327940a120 chore: update the update plugin from GitHub 2024-11-13 10:38:56 +08:00
snakeandGitHub d89ab877b7 print context var 2024-11-13 10:32:43 +08:00
snakeandGitHub e83d2da661 print context var 2024-11-13 10:31:45 +08:00
snakeandGitHub f3986c5600 print context var 2024-11-13 10:30:49 +08:00
snakeandGitHub a31693c273 print context var 2024-11-13 10:30:07 +08:00
snakeandGitHub 0e541da25e print context var 2024-11-13 10:22:05 +08:00
snakeandGitHub 64ffe96480 print context var 2024-11-13 10:21:11 +08:00
-LAN-andGitHub 70c2ec8ed5 feat(variable-handling): enhance variable and segment conversion (#10483) 2024-11-12 21:51:09 +08:00
wakaka6andGitHub 9c7edb9242 feat: add builtin tools for send email (#10493) 2024-11-12 21:48:36 +08:00
BenjaminandGitHub 0867821ae7 fix: update conversation session naming and API path in documentation (#10589) 2024-11-12 21:44:04 +08:00
Yeuoly 8ed2695286 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 21:43:44 +08:00
Yeuoly 5828abcd62 fix: uses to check if the tools are already loaded 2024-11-12 21:43:19 +08:00
JyongandGitHub 0b2d51d859 add the index field for elasticsearch (#10592) 2024-11-12 21:43:16 +08:00
方程andGitHub ef8022f715 Gitee AI Qwen2.5-72B model (#10595) 2024-11-12 21:40:32 +08:00
Kevin9703andGitHub e03ec0032b fix: Azure OpenAI o1 max_completion_token error (#10593) 2024-11-12 21:40:13 +08:00
Yeuoly a42b081e32 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 20:48:51 +08:00
Yeuoly 56bd0dedfe fix: incorrect paths to upgrade plugins 2024-11-12 20:48:28 +08:00
Yeuoly beea9d01f3 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 19:57:32 +08:00
Yeuoly f6136427a4 feat: export dsl with dependencies 2024-11-12 19:50:56 +08:00
Yeuoly 21fd58caf9 Merge branch 'fix/chore-fix' of github.com:langgenius/dify into fix/chore-fix 2024-11-12 18:53:45 +08:00
snakeandGitHub 641153eed8 print context var 2024-11-12 18:47:24 +08:00
snakeandGitHub 370736cad9 print context var 2024-11-12 18:38:46 +08:00
snakeandGitHub 153f3b77ec print context var 2024-11-12 18:29:48 +08:00
StyleZhang 582c7ce348 fix: plugin task 2024-11-12 18:28:34 +08:00
snakeandGitHub 88611fe1aa print context var 2024-11-12 18:23:02 +08:00
snakeandGitHub ede82299e1 print context var 2024-11-12 18:14:31 +08:00
snakeandGitHub f031eeb473 print context var 2024-11-12 17:58:34 +08:00
StyleZhang 13d3f67746 feat: plugin task use query 2024-11-12 17:58:32 +08:00
snakeandGitHub 61096d7f7a print context var 2024-11-12 17:54:54 +08:00
snakeandGitHub 5b703d1792 print context var 2024-11-12 17:51:00 +08:00
Joel 9c6aafd415 feat: install bundle ui 2024-11-12 17:33:10 +08:00
snakeandGitHub 1af087abc1 print context var 2024-11-12 17:19:45 +08:00
nite-knite 3716ea46b5 chore: bump elliptic from 6.5.7 to 6.6.0 2024-11-12 17:19:02 +08:00
snakeandGitHub d3d84217a7 print context var 2024-11-12 17:16:49 +08:00
snakeandGitHub 51e230309b revert deploy-dev.yml 2024-11-12 17:14:31 +08:00
JzoNg 3c89b8a698 confirm model selector schema in agent and workflow 2024-11-12 16:57:22 +08:00
JzoNg b188800f16 model selector in endpoint modal 2024-11-12 16:57:22 +08:00
JzoNg 75a037bc2a update style of model & parameter selector 2024-11-12 16:57:22 +08:00
JzoNg 5efcdd6fa7 model parameters 2024-11-12 16:57:22 +08:00
JzoNg 06c4627abb tool selecting in configure 2024-11-12 16:57:22 +08:00
JzoNg f5267d317e fix quota of model provider 2024-11-12 16:57:22 +08:00
twwu 2573950f88 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-12 16:48:28 +08:00
twwu 2ba38c6c45 feat: add marketplace-divider-bg color variable for dark and light themes 2024-11-12 16:48:24 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
62642443ef chore(deps): bump elliptic from 6.5.7 to 6.6.0 in /web (#10587)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-12 16:43:11 +08:00
Joel 07edda8a85 feat: add new marketplace env 2024-11-12 15:56:03 +08:00
snakeandGitHub 81116a679d Update deploy-dev.yml for print context var 2024-11-12 15:55:19 +08:00
-LAN-andGitHub 3e04c92ff9 chore(api): remove setting of expired remember_token cookie in after_request (#10582) 2024-11-12 15:53:55 +08:00
twwu 7791d290c7 refactor: update AudioPlayer styles with CSS variables and improve VideoGallery rendering 2024-11-12 15:49:00 +08:00
Joel 8203b23df2 feat: install bundle struct 2024-11-12 15:48:00 +08:00
zxhlyhandGitHub b77628c458 fix: text-generation webapp file form (#10578) 2024-11-12 15:35:12 +08:00
NFishandGitHub 40c5e6d67a fix: Page may lock if user close the page when refresh access_token (#10550) 2024-11-12 15:18:19 +08:00
AkaraChen e175ad9963 fix: sse post no token 2024-11-12 14:41:09 +08:00
zxhlyhandGitHub e4d175780e fix: retrieval setting validate (#10454) 2024-11-12 14:38:24 +08:00
Joel d4c9c76454 chore: mask the debug key 2024-11-12 14:31:15 +08:00
AkaraChen a059660ed8 fix: sse post no token 2024-11-12 14:24:18 +08:00
Yi 20357beda4 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-12 13:32:26 +08:00
Joel 7e39565fd2 feat: handle on update show update modal 2024-11-12 11:48:55 +08:00
-LAN-andGitHub 16b9665033 refactor(api): improve handling of tools field and cleanup variable usage (#10553) 2024-11-12 00:08:04 +08:00
BenjaminandGitHub b7238caea5 chore(vanna): update form parameter from 'form' to 'llm' in vanna.yaml (#10548) 2024-11-12 00:00:27 +08:00
Hiroshi FujitaandGitHub e63c0e3cbb feat(settings): add chat color theme inverted toggle in settings modal (#10558) 2024-11-11 23:53:43 +08:00
fdb02983rhyandGitHub 16db2c4e57 Fix: Set Celery LOG_File only when available, always log to console (#10563) 2024-11-11 23:53:12 +08:00
-LAN-andGitHub bd4a61addd fix: set default factory for extract_by in ListOperatorNodeData (#10561) 2024-11-11 23:32:40 +08:00
smyhwandGitHub f19c18dc14 Fixes you have not added provider None (#10501) 2024-11-11 21:50:32 +08:00
570f10d91c fix issues:Image file not deleted when a doc is removed #9541 (#10465)
Signed-off-by: root <root@localhost.localdomain>
Co-authored-by: root <root@localhost.localdomain>
2024-11-11 21:43:37 +08:00
Yeuoly a37e41de99 fix: add pnpm lock 2024-11-11 21:04:15 +08:00
Yeuoly 0a9dd367f6 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-11 21:01:23 +08:00
Yeuoly 9a69d03fbe feat: add icon and labels to plugin install task 2024-11-11 20:59:31 +08:00
takatost 1d2118fc5d fix: hosted moderation 2024-11-11 20:31:11 +08:00
takatost bc0724b499 chore: fix typo 2024-11-11 19:50:39 +08:00
-LAN-andGitHub 9550b884f7 chore: update version to 0.11.1 across all configurations and Docker images (#10539) 2024-11-11 18:32:28 +08:00
StyleZhang 27f794e197 feat: plugin task 2024-11-11 18:17:58 +08:00
Yi a8e8e36756 chore: update the upgrade button 2024-11-11 18:00:44 +08:00
NoviceandGitHub 4b45ef62ed fix: iteration invalid output selector doesn't throw an error (#10544) 2024-11-11 17:34:48 +08:00
-LAN-andGitHub a1543b7da0 fix(extractor): temporary file (#10543) 2024-11-11 17:31:27 +08:00
Yi dbc10425c8 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-11 17:21:37 +08:00
Yi 810443c511 chore: update the upgrade button and add premium badge component 2024-11-11 17:21:25 +08:00
BenjaminandGitHub 90087160c6 chore (vanna): update form parameter from 'form' to 'llm' in vanna.yaml (#10488) 2024-11-11 16:41:47 +08:00
-LAN-andGitHub be33875199 fix(gitee_ai): update English description for clarity and accuracy (#10540) 2024-11-11 16:23:11 +08:00
-LAN-andGitHub 867bf70f1a fix(model_runtime): ensure compatibility with O1 models by adjusting token parameters (#10537) 2024-11-11 16:06:53 +08:00
NoviceandGitHub 9018ef30fe chore: (dockerfile) upgrade perl version (#10534) 2024-11-11 15:02:33 +08:00
Joel f47b5ce63a chore: install plugin by local use use query 2024-11-11 14:58:17 +08:00
zxhlyhandGitHub 508f84893f fix: workflow start node form optional value (#10529) 2024-11-11 14:57:28 +08:00
NoviceandGitHub f414d241c1 Feat/iteration single run time (#10512) 2024-11-11 14:47:52 +08:00
Yeuoly e3723f65f8 fix: temp fix for seucrity issues 2024-11-11 14:10:57 +08:00
Yeuoly ba2d340109 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-11 14:06:39 +08:00
Yeuoly 5cdbfe2f41 Merge branch 'main' into fix/chore-fix 2024-11-11 14:00:53 +08:00
Yeuoly 2a87f61515 fix: avoid empty plugin entity 2024-11-11 13:32:03 +08:00
Yeuoly 5fd82084f9 fix: avoid empty plugin entity 2024-11-11 13:30:11 +08:00
JyongandGitHub 0c1307b083 add jina rerank http timout parameter (#10476) 2024-11-11 13:28:11 +08:00
-LAN-andGitHub b8b6cd409a refactor(code_executor): update input type annotations to use Mapping for better type safety (#10478) 2024-11-11 13:10:39 +08:00
StyleZhang 822c18cb76 fix: credentials: 2024-11-11 12:27:58 +08:00
StyleZhang 66b08e653e fix: credentials: 2024-11-11 12:27:13 +08:00
Charlie.WeiGitHubluowei <glpat-EjySCyNjWiLqAED-YmwM>crazywoolacrazywoola
fbee41f8c7 The list action node adds methods to extract specific list objects (#10421)
Co-authored-by: luowei <glpat-EjySCyNjWiLqAED-YmwM>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-11 12:10:21 +08:00
Charlie.WeiandGitHub 55edd5047e Support for incoming value modification (#10525) 2024-11-11 11:52:32 +08:00
非法操作andGitHub 0587e24fdb feat: support tool search also can search toolProvider's name (#10518) 2024-11-11 11:32:41 +08:00
Xiao LeyandGitHub 451ccb778d feat(tools/podcast_generator): add support for setting openai base url with the podcast_generationor tool (#10517) 2024-11-11 11:31:47 +08:00
crazywoolaandGitHub 5656f81bde Revert "fix the error of unable to retrieve url from file" (#10511) 2024-11-11 08:56:19 +08:00
Xiao LeyandGitHub b07ea5055b feat(tools/podcast_generator): add support for setting openai base url with the podcast_generationor tool (#10496) 2024-11-11 08:48:36 +08:00
Xiao LeyandGitHub 5eb27afd63 fix the error of unable to retrieve url from file (#10498) 2024-11-11 08:47:47 +08:00
fdb02983rhyandGitHub 05d43a4074 Fix: Correct the max tokens of Claude-3.5-Sonnet-20241022 for Bedrock and VertexAI (#10508) 2024-11-11 08:41:43 +08:00
aa895cfa9b fix: [VESSL-AI] edit some words in vessl_ai.yaml (#10417)
Co-authored-by: moon <moon@vessl.ai>
2024-11-11 08:38:26 +08:00
JzoNg 5e81150b22 useQuery for endpoints 2024-11-09 14:44:48 +08:00
JzoNg 1e62768eed useQuery in action list 2024-11-09 12:51:10 +08:00
JzoNg 59a9235041 useQuery for model list 2024-11-09 12:12:10 +08:00
takatost 0b2b6a3ef3 Merge branch 'refs/heads/fix/chore-fix' into dev/plugin-deploy 2024-11-08 23:11:02 +08:00
takatost f0637ba332 fix: create basic app causing internal error when default model is not exist 2024-11-08 23:09:52 +08:00
-LAN-andGitHub 172c7eb270 fix(file_upload): correct validation method and add unit tests (#10477) 2024-11-08 21:55:01 +08:00
JzoNg f85ff9ef78 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-08 21:34:59 +08:00
JzoNg f2bf2e4470 fix style of provider added card 2024-11-08 21:32:46 +08:00
crazywoolaandGitHub eb6c0b8027 Fix/log tz (#10473) 2024-11-08 20:24:22 +08:00
-LAN-andGitHub 06d2520db2 fix(api): replace Raw field with FilesContainedField in MessageListApi inputs (#10472) 2024-11-08 19:48:34 +08:00
-LAN-andGitHub bf31a3efbc feat(workflow-nodes): handle missing variables without failure (#10471) 2024-11-08 19:48:05 +08:00
takatost 48fac5187a Merge branch 'refs/heads/fix/chore-fix' into dev/plugin-deploy 2024-11-08 19:24:44 +08:00
takatost 115c9486c3 fix hosted issues 2024-11-08 19:23:49 +08:00
445dcfe4d0 add create tidb serverless job control (#10467)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-08 18:48:12 +08:00
Joel c77b38b97d chore: install from marketplace 2024-11-08 18:29:54 +08:00
StyleZhang 33349191e9 marketplace usemutation 2024-11-08 18:21:58 +08:00
-LAN-andGitHub 25ca0278dd refactor(core): Remove extra_config from File. (#10203) 2024-11-08 18:13:24 +08:00
-LAN-andGitHub 78a380bcc4 fix(migrations): correct schema reference in service API history migration (#10452) 2024-11-08 17:47:57 +08:00
JyongandGitHub 4f1a56f0f0 update document and segment word count (#10449) 2024-11-08 17:32:27 +08:00
Bowen LiangandGitHub 754bfb181c chore(ci): avoid reinstall pipx and pin poetry version aligned with in api dockerfile (#10426) 2024-11-08 17:30:26 +08:00
Yeuoly 1a5c2d1d58 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 17:27:35 +08:00
Yeuoly 8b5231b7ee fix: invalid key of marketplace response 2024-11-08 17:27:16 +08:00
AkaraChen d4f7ebfd2e feat: refactor http client 2024-11-08 17:21:55 +08:00
非法操作andGitHub 7903ba0297 chore: make comfy workflow can generate image with a random seed (#10462) 2024-11-08 17:21:16 +08:00
Yeuoly c34970c631 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 17:21:06 +08:00
Yeuoly 38cae29757 fix: wrap marketplace apis with try catch 2024-11-08 17:20:54 +08:00
c1b2243adb feat: Add support for complete domain names in the new URL prefix. (#8893)
Co-authored-by: crazywoola <427733928@qq.com>
2024-11-08 17:17:34 +08:00
JyongandGitHub d52c750942 embedding model check when init the knowledge (#10463) 2024-11-08 17:14:56 +08:00
7c2a9b0744 celery worker log format following LOG_FORMAT env#9404 (#10016)
Signed-off-by: root <root@localhost.localdomain>
Co-authored-by: root <root@localhost.localdomain>
2024-11-08 17:12:09 +08:00
JyongandGitHub 888d7e6422 fix segment enable service api (#10445) 2024-11-08 17:09:05 +08:00
BenjaminandGitHub 919275cc58 Fix conversation response issue (#10450) 2024-11-08 17:04:43 +08:00
非法操作andGitHub 4fe5297e35 feat: add cogVideo tool (#10456) 2024-11-08 17:04:05 +08:00
非法操作andGitHub 22dee4f6f3 chore: add MULTIMODAL_SEND_VIDEO_FORMAT to docker's env (#10458) 2024-11-08 17:03:55 +08:00
JzoNg ebdf72fffc check update 2024-11-08 17:01:49 +08:00
JzoNg 1f1c61541e install from settings 2024-11-08 16:33:00 +08:00
JzoNg f70c23dd7a endpoints api 2024-11-08 16:19:00 +08:00
JzoNg f498686c3a model list style fix 2024-11-08 16:19:00 +08:00
StyleZhang d13169934d fix: marketplace i18n 2024-11-08 16:14:29 +08:00
Joel 324437b3f1 feat: mutation permersions 2024-11-08 16:12:04 +08:00
NoviceandGitHub a7dbe58c85 fix: correct output order in parallel mode for iteration nodes (#10323) 2024-11-08 15:32:40 +08:00
twwu c6a6c53084 chore: update theme var define 2024-11-08 15:26:59 +08:00
Joel edc2fe050a chore: debug info use query 2024-11-08 15:10:06 +08:00
JoeandGitHub aa3da0e24c fix(ops_tracing): enhance error handle in celery tasks. (#10401) 2024-11-08 14:43:47 +08:00
Joel 6fcebf3ecd chore: remove log 2024-11-08 14:26:52 +08:00
Joel b754bf80ae fix: custom tools not show 2024-11-08 14:24:28 +08:00
Joel 5d7c527702 merge feat/plugins 2024-11-08 13:57:34 +08:00
Joel a9de7f24a2 merge main 2024-11-08 13:55:39 +08:00
Yeuoly 14a723a2a4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 13:48:23 +08:00
Yeuoly 7a2b2a04c9 Merge branch 'main' into fix/chore-fix 2024-11-08 13:47:24 +08:00
twwu 6759c6d5e6 Revert "feat: add gray label color variables for dark and light themes"
This reverts commit a75cef2c3b.
2024-11-08 13:42:38 +08:00
Yeuoly 61cf6e1c7b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 13:39:45 +08:00
非法操作andGitHub 033ab5490b feat: support LLM understand video (#9828) 2024-11-08 13:22:52 +08:00
JzoNg 920d6d6882 fix credentials of action list 2024-11-08 12:32:02 +08:00
JzoNg 2511968cb4 fix action list 2024-11-08 12:32:02 +08:00
JzoNg f684e1c12e provider compatible in logs 2024-11-08 12:32:02 +08:00
JzoNg be75a1e432 provider compatible in moderation 2024-11-08 12:32:02 +08:00
JzoNg 5a679ed396 provider compatible in model_config 2024-11-08 12:32:02 +08:00
JzoNg 0cfd676fd6 provider compatible 2024-11-08 12:32:02 +08:00
twwu d997499ecf Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-08 11:33:42 +08:00
twwu 4d3ffbb6f0 fix: update repository URL format in plugin action component 2024-11-08 11:33:35 +08:00
twwu a710858d09 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-08 11:32:34 +08:00
twwu a75cef2c3b feat: add gray label color variables for dark and light themes 2024-11-08 11:31:48 +08:00
Yi 392db19ea2 chore: update the update plugin steps 2024-11-08 11:08:40 +08:00
Leo.WangandGitHub c9f785e00f Feat/tools/gitlab (#10407) 2024-11-08 09:53:03 +08:00
Bowen LiangandGitHub 0e8ab0588f fix: (#10437 followup) fix conditions with DEBUG config (#10438) 2024-11-08 09:42:53 +08:00
Bowen LiangandGitHub 0ebe198ff1 chore: use DEBUG in dify_config instead of parsing raw system environment variable in place (#10437) 2024-11-08 09:34:11 +08:00
-LAN-andGitHub 438ad8148b fix(http_request): send form data (#10431) 2024-11-08 09:33:40 +08:00
Bowen LiangandGitHub a60133bfb3 fix: config violations when running db migtration ci tests (#10428) 2024-11-08 09:33:12 +08:00
katsumaandGitHub 98b3e37144 fix: simplify Enter key handling and remove unused ref (#10413) 2024-11-07 21:21:50 +08:00
BenjaminandGitHub 6e23903c63 Conversation delete issue (#10423) 2024-11-07 21:13:23 +08:00
Bowen LiangandGitHub 574c4a264f chore(lint): Use logging.exception instead of logging.error (#10415) 2024-11-07 21:13:02 +08:00
ice yaoandGitHub dd5ffaf058 chore: use posixpath to wrapper filepath (#9976) 2024-11-07 19:31:49 +08:00
Yi 7cb6039833 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-07 18:22:08 +08:00
Yi e041a9e418 chore: upgrade button styling 2024-11-07 18:21:32 +08:00
huangyafeiandGitHub 0b16270b88 fix typo: Retrieve Chunks API Docs (#10412) 2024-11-07 18:11:36 +08:00
f562a88249 feat(Tools): add lark tools (#10117)
Co-authored-by: 黎斌 <libin.23@bytedance.com>
2024-11-07 18:11:25 +08:00
非法操作andGitHub 59f8d116af chore: improve custom tool's display (#10410) 2024-11-07 18:10:41 +08:00
BenjaminandGitHub a5558f8fcc fix(conversation-service): return success response after conversation… (#10416) 2024-11-07 18:07:05 +08:00
Joel 281c6dc337 merge 2024-11-07 17:44:54 +08:00
-LAN-andJoel 7d7ade26ce fix(remote-files): fallback to get when remote server not support head method (#10370) 2024-11-07 17:39:52 +08:00
-LAN-andJoel 6aa2af215b refactor(iteration): introduce specific exceptions for iteration errors (#10366) 2024-11-07 17:39:52 +08:00
-LAN-andJoel 598d307afd refactor(knowledge-retrieval): improve error handling with custom exceptions (#10385) 2024-11-07 17:39:52 +08:00
-LAN-andJoel 39fdcfd7e9 refactor(tool-node): introduce specific exceptions for tool node errors (#10357) 2024-11-07 17:39:51 +08:00
-LAN-andJoel 47f638e5aa refactor(question_classifier): improve error handling with custom exceptions (#10365) 2024-11-07 17:39:51 +08:00
03b57d1f0a fixed: web api remote urls error (#10383)
Co-authored-by: hobo.l <hobo.l@binance.com>
2024-11-07 17:39:51 +08:00
powerfoolandJoel 99c84c423e Adjusted docker manifests and environment variables for OceanBase vector database (#10395) 2024-11-07 17:39:51 +08:00
omrandJoel cc2cc56f25 fix typo: mMaximum -> Maximum (#10389) 2024-11-07 17:39:50 +08:00
非法操作andJoel 393885ee16 fix: remove duplicated category “recommended” (#10375) 2024-11-07 17:39:50 +08:00
MatsudaandJoel 9143d460fa fix(model_runtime): remove vision from features for Claude 3.5 Haiku (#10360) 2024-11-07 17:39:49 +08:00
InfinitnetandJoel c0ff0cf7cf fix: remove unsupported vision in OpenRouter Haiku 3.5 (#10364) 2024-11-07 17:39:49 +08:00
Bowen LiangandJoel 9c90d98027 chore(ci): bring back poetry cache to speed up CI jobs (#10347) 2024-11-07 17:39:48 +08:00
Bowen LiangandJoel 0d74466f45 chore: lazy import sagemaker (#10342) 2024-11-07 17:39:48 +08:00
comfutureandJoel d2e293b9be chore: update translation for 'account' from '계좌' to '계정' (#10350) 2024-11-07 17:39:48 +08:00
-LAN-andJoel 8fae321b6a chore(ci): separate vector store tests into new workflow (#10354) 2024-11-07 17:39:47 +08:00
-LAN-andJoel a2b42c9431 fix(api): remove fixed source attribute from FileApi (#10353) 2024-11-07 17:39:47 +08:00
0a4b256b5a feat: support png, gif, webp (#7947)
Co-authored-by: xuanson9699 <84961581+xuanson9699@users.noreply.github.com>
2024-11-07 17:39:47 +08:00
Chenhe GuandJoel 9f7124a79d Update README.md (#10332) 2024-11-07 17:39:46 +08:00
方程andJoel 7a217534d1 Gitee AI tools (#10314) 2024-11-07 17:39:46 +08:00
Summer-GuandJoel a9ed0f0b42 feat: The SSRF request timeout configuration item is added (#10292) 2024-11-07 17:39:46 +08:00
InfinitnetandJoel 545d2b2622 feat: add support for anthropic/claude-3-5-haiku through OpenRouter (#10331) 2024-11-07 17:39:45 +08:00
BenjaminandJoel f114da4e81 feat(vannaai): add base_url configuration (#10294) 2024-11-07 17:39:45 +08:00
-LAN-andJoel f4e3e3fc19 docs: remove the TOC part (#10324) 2024-11-07 17:39:45 +08:00
非法操作andJoel 1277941821 fix: special prompt not work for comfyUI tool (#10307) 2024-11-07 17:39:45 +08:00
-LAN-andJoel f500e6cf5b chore: update version to 0.11.0 across all relevant files (#10278) 2024-11-07 17:39:44 +08:00
NoviceandJoel a3b71830d0 fix: iteration none output error (#10295) 2024-11-07 17:39:44 +08:00
-LAN-andJoel 13b7e18a50 fix(http_request): improve parameter initialization and reorganize tests (#10297) 2024-11-07 17:39:44 +08:00
MatsudaandJoel 5f4bb12a1a fix typo: writeOpner to writeOpener (#10290) 2024-11-07 17:39:43 +08:00
pinsilyandJoel 781e8e1a4a fix: handle KeyError when accessing rules in CleanProcessor.clean (#10258) 2024-11-07 17:39:43 +08:00
euxandJoel c721617e19 fix: borken faq url in CONTRIBUTING.md (#10275) 2024-11-07 17:39:43 +08:00
非法操作andJoel 6b51e81de1 feat: add xAI model provider (#10272) 2024-11-07 17:39:43 +08:00
MatsudaandJoel 736719745c feat(model_runtime): add new model 'claude-3-5-haiku-20241022' (#10285) 2024-11-07 17:39:43 +08:00
MatsudaandJoel e0e4a6f819 fix(model_runtime): fix wrong max_tokens for Claude 3.5 Haiku on Amazon Bedrock (#10286) 2024-11-07 17:39:42 +08:00
-LAN-andJoel 6ab6b9cc40 feat(model): add validation for custom disclaimer length (#10287) 2024-11-07 17:39:42 +08:00
-LAN-andJoel 52eb18937e fix(node): correct file property name in function switch (#10284) 2024-11-07 17:39:42 +08:00
NFishandJoel aab1ab692a refactor the logic of refreshing access_token (#10068) 2024-11-07 17:39:40 +08:00
3e7f38d904 chore: translate i18n files (#10273)
Co-authored-by: laipz8200 <16485841+laipz8200@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-07 17:39:15 +08:00
BenjaminandJoel 94c5e36334 Updates: Add mplfonts library for customizing matplotlib fonts and Va… (#9903) 2024-11-07 17:39:14 +08:00
NoviceandJoel baaa3ae02c feat: Iteration node support parallel mode (#9493) 2024-11-07 17:39:09 +08:00
GeorgeCaoJandJoel 623b27583b fix(workflow): handle else condition branch addition error in if-else node (#10257) 2024-11-07 17:38:39 +08:00
-LAN-andJoel 93e9aeb4e9 feat(document_extractor): support tool file in document extractor (#10217) 2024-11-07 17:38:39 +08:00
MatsudaandJoel 391ad7734e feat: support Claude 3.5 Haiku on Amazon Bedrock (#10265) 2024-11-07 17:38:38 +08:00
-LAN-andJoel c5422af400 refactor(parameter_extractor): implement custom error classes (#10260) 2024-11-07 17:38:37 +08:00
65a04ee0be fix: buitin tool aippt (#10234)
Co-authored-by: jinqi.guo <jinqi.guo@ubtrobot.com>
2024-11-07 17:38:37 +08:00
-LAN-andJoel 84c35aef6c fix(validation): allow to use 0 in the inputs form (#10255) 2024-11-07 17:38:37 +08:00
-LAN-andJoel c2b4845719 chore(Dockerfile): upgrade zlib arm64 (#10244) 2024-11-07 17:38:37 +08:00
方程andJoel cd0f10567f Using a dedicated interface to obtain the token credential for the gitee.ai provider (#10243) 2024-11-07 17:38:36 +08:00
454b755c6b feat(workflow): add configurable workflow file upload limit (#10176)
Co-authored-by: JzoNg <jzongcode@gmail.com>
2024-11-07 17:38:35 +08:00
shisaru292andJoel 352c1fc370 fix: missing working directory parameter in script (#10226) 2024-11-07 17:38:35 +08:00
-LAN-andJoel 181eb6038f refactor(list_operator): replace ValueError with InvalidKeyError (#10222) 2024-11-07 17:38:34 +08:00
-LAN-andJoel c32cbeb29a refactor(workflow): introduce specific error handling for LLM nodes (#10221) 2024-11-07 17:38:34 +08:00
-LAN-andJoel 62f8c875c8 refactor(http_request): add custom exception handling for HTTP request nodes (#10219) 2024-11-07 17:38:33 +08:00
-LAN-andJoel baed53bbfa refactor(workflow): introduce specific exceptions for code validation (#10218) 2024-11-07 17:38:32 +08:00
-LAN-andJoel 565a0d992a chore(llm_node): remove unnecessary type ignore for context assignment (#10216) 2024-11-07 17:38:32 +08:00
JyongandJoel e90a06a7b7 fix the ssrf of docx file extractor external images (#10237) 2024-11-07 17:38:31 +08:00
Hanqing ZhaoandJoel 5a0b22dbd4 Modify translation (#10213) 2024-11-07 17:38:30 +08:00
31445c3782 Add Lindorm as a VDB choice (#10202)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-11-07 17:38:30 +08:00
crazywoolaandJoel 8e6f5f4bb0 Fix/10199 application error a client side exception has occurred see the browser console for more information (#10211) 2024-11-07 17:38:29 +08:00
-LAN-andJoel e259b360c2 refactor(validation): improve input validation logic (#10175) 2024-11-07 17:38:29 +08:00
-LAN-andJoel 762dec2dc4 chore(list_operator): refine exception handling for error specificity (#10206) 2024-11-07 17:38:28 +08:00
-LAN-andJoel ada7f5c30f fix(document_extractor): update base exception class (#10208) 2024-11-07 17:38:28 +08:00
Kota-YamaguchiandJoel 6b965eaea3 Feat : add LLM model indicator in prompt generator (#10187) 2024-11-07 17:38:27 +08:00
Xiao LeyandJoel ea67bc1166 chore: enable vision support for models in OpenRouter that should have supported vision (#10191) 2024-11-07 17:38:26 +08:00
Kota-YamaguchiandJoel 01e8f6066a chore : code generator preview hint (#10188) 2024-11-07 17:38:26 +08:00
zxhlyhandJoel 39effd350e fix: webapp upload file (#10195) 2024-11-07 17:38:25 +08:00
-LAN-andJoel 00bfb35759 fix(api): replace current_user with end_user in file upload (#10194) 2024-11-07 17:38:25 +08:00
-LAN-andJoel 101d9798f0 feat(document_extractor): integrate unstructured API for PPTX extraction (#10180) 2024-11-07 17:38:24 +08:00
-LAN-andJoel ba48754be6 fix(tools): suppress RuntimeWarnings in podcast audio generator (#10182) 2024-11-07 17:38:24 +08:00
Cling_o3andJoel d963df32b9 [fix] fix the bug that modify document name not effective (#10154) 2024-11-07 17:38:23 +08:00
-LAN-andJoel 67ce763377 fix(workflow model): ensure consistent timestamp updating (#10172) 2024-11-07 17:38:23 +08:00
a32c0ef43c fix: Cannot find declaration to go to CLEAN_DAY_SETTING (#10157)
Co-authored-by: 刘江波 <liujiangbo1@xiaomi.com>
2024-11-07 17:38:22 +08:00
Lawrence LiandJoel 6e03c10285 feat: add gpustack model provider (#10158) 2024-11-07 17:38:21 +08:00
-LAN-andJoel 8f14c422a7 refactor(tools): Avoid warnings. (#10161) 2024-11-07 17:38:20 +08:00
-LAN-andJoel 07787366cd refactor(migration/model): update column types for workflow schema (#10160) 2024-11-07 17:38:20 +08:00
-LAN-andJoel 8f2d3b6743 Feat/add-remote-file-upload-api (#9906) 2024-11-07 17:38:19 +08:00
zxhlyhandJoel e7bc863f26 fix: upload remote image preview (#9952) 2024-11-07 17:38:19 +08:00
JyongandJoel 1d411e195a clean un-allowed special charters when doing indexing estimate (#10153) 2024-11-07 17:38:19 +08:00
-LAN-andJoel 2a7ae6b0df refactor(service): handle unsupported DSL version with warning (#10151) 2024-11-07 17:38:18 +08:00
8f8a3f4318 Add VESSL AI OpenAI API-compatible model provider and LLM model (#9474)
Co-authored-by: moon <moon@vessl.ai>
2024-11-07 17:38:18 +08:00
Kota-YamaguchiandJoel 4b89dba3a5 feat: synchronize input/output variables in the panel with generated code by the code generator (#10150) 2024-11-07 17:38:18 +08:00
Zixuan ChengandJoel 19c0d1fbf8 Refined README for better reading experience. (#10143) 2024-11-07 17:38:17 +08:00
94cd4912e1 add llm: ernie-4.0-turbo-128k of wenxin (#10135)
Co-authored-by: Pigeon姚宏锋 <pigeon.yhf@galaxyoversea.com>
2024-11-07 17:38:17 +08:00
Shili CaoandJoel 602f75bb30 fix: avoid unexpected error when create knowledge base with baidu vector database and wenxin embedding model (#10130) 2024-11-07 17:38:15 +08:00
c2810de952 fix: bar chart issue with duplicate x-axis labels being incorrectly ignored (#10134)
Co-authored-by: liusurong.lsr <liusurong.lsr@alibaba-inc.com>
2024-11-07 17:38:14 +08:00
JyongandJoel 1b645c1cc9 fix issue: query is none when doing retrieval (#10129) 2024-11-07 17:38:14 +08:00
ae3482e0b4 Fix/rerank validation issue (#10131)
Co-authored-by: Yi <yxiaoisme@gmail.com>
2024-11-07 17:38:14 +08:00
76c265f781 Feat/update knowledge api url (#10102)
Co-authored-by: nite-knite <nkCoding@gmail.com>
2024-11-07 17:38:12 +08:00
omrandJoel b1946c60d8 fix: optimize unique document filtering with set (#10082) 2024-11-07 17:38:12 +08:00
-LAN-andJoel c1c13cf828 fix(Dockerfile): conditionally install zlib1g based on architecture (#10118) 2024-11-07 17:38:11 +08:00
Hash BrownandJoel e4a48e28e5 fix: log detail panel not showing any message when total count greate… (#10119) 2024-11-07 17:38:11 +08:00
JyongandJoel 67efcbd6bb fix issue: update document segment setting failed (#10107) 2024-11-07 17:38:11 +08:00
Nam VuandJoel 7466061e5a fix: Version '1:1.3.dfsg+really1.3.1-1' for 'zlib1g' was not found (#10096) 2024-11-07 17:38:10 +08:00
-LAN-andJoel b7534b764d feat(app_dsl_service): enhance error handling and DSL version management (#10108) 2024-11-07 17:38:09 +08:00
非法操作andJoel eb335ed464 chore: save uploaded file extension as lower case (#10111) 2024-11-07 17:38:09 +08:00
-LAN-andJoel 4d9e7c1884 refactor(version): simplify version comparison logic (#10109) 2024-11-07 17:38:09 +08:00
8f7cac6bde fix: view logs in prompt, no response when clicked (#10093)
Co-authored-by: zhanganguo <zhanganguo@lixiang.com>
2024-11-07 17:38:08 +08:00
非法操作andJoel d4608f0571 chore: remove an unnecessary link (#10088) 2024-11-07 17:38:08 +08:00
非法操作andJoel 9f27b5bb12 feat: enhance comfyui workflow (#10085) 2024-11-07 17:38:07 +08:00
AkaraChenandJoel fb9c54e35f build: update docker login action (#10050) 2024-11-07 17:38:07 +08:00
Kota-YamaguchiandJoel dea45682bc chore: update type definition to resolve lint error in Base usage at text-editor.tsx (#10083) 2024-11-07 17:38:06 +08:00
Bowen LiangandJoel a0abd5d077 improve: significantly speed up the server launching time by async preloading tool providers (#9146) 2024-11-07 17:38:05 +08:00
Charlie.WeiandJoel 924dbc128d fix azure chatgpt o1 parameter error (#10067) 2024-11-07 17:38:05 +08:00
crazywoolaandJoel b76aa11919 Revert "chore: improve validation and handler of logging timezone with TimezoneName" (#10077) 2024-11-07 17:38:05 +08:00
sacryuandJoel 7971efd23e fix the typos in the hit testing template (#10072) 2024-11-07 17:38:04 +08:00
JasonVVandJoel b8c2e5359b Fixed the issue where recall the knowledge base in the iteration of the workflow and report errors when executing (#10060) 2024-11-07 17:38:04 +08:00
Hiroshi FujitaandJoel 952847ed29 chore: Set file size limits for video and audio uploads from docker env (#10063) 2024-11-07 17:38:03 +08:00
Fog3211andJoel 4e4a8a327b fix: prevent onChange during IME composition (#10059) 2024-11-07 17:38:03 +08:00
22mSqRiandJoel 8d1591e5d5 fix: fix poetry install command in devcontainer (#9507) 2024-11-07 17:38:03 +08:00
-LAN-andJoel 4b8896e034 fix(workflow): refine variable type checks in LLMNode (#10051) 2024-11-07 17:38:02 +08:00
非法操作andJoel c2d3464a17 chore: mount config file of sandbox (#8576) 2024-11-07 17:38:02 +08:00
zhuhaoandJoel 0886c6f224 fix: resolve the incorrect model name of hunyuan-standard-256k (#10052) 2024-11-07 17:38:01 +08:00
zhuhaoandJoel 1ee4c13758 chore: use dify_config.TIDB_SPEND_LIMIT instead of constant value (#10038) 2024-11-07 17:38:01 +08:00
郭伟伟andJoel c293aceec1 feat: /conversations api response add 'update_at' field,and update api docs add sort_by parameter (#10043) 2024-11-07 17:38:01 +08:00
zhuhaoandJoel 4d5752fc94 feat: add YAML type in document extractor node (#9997) 2024-11-07 17:38:00 +08:00
Xiao LeyandJoel c615ed57b9 add PROMPT_GENERATION_MAX_TOKENS and CODE_GENERATION_MAX_TOKENS in docker enviromment (#10040) 2024-11-07 17:38:00 +08:00
Yeuoly fe677cc5f9 Merge branch 'main' into fix/chore-fix 2024-11-07 17:06:29 +08:00
twwu 020d4baf92 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-07 16:52:26 +08:00
twwu 3f8a10613d refactor: remove unused fetchInstalledPluginList function and integrate useInstalledPluginList hook 2024-11-07 16:52:22 +08:00
AkaraChen 53fa13f007 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-07 16:44:46 +08:00
AkaraChen d00e1067bf fix: develop page docs style 2024-11-07 16:44:05 +08:00
Joel 2dd9c64d34 chore: use query 2024-11-07 16:42:44 +08:00
AkaraChen b7c40579b2 build: update tailwind 2024-11-07 16:41:35 +08:00
twwu c7f8a0fc7b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-07 16:06:13 +08:00
twwu de24d9c145 fix: handle empty fetched releases and update locale usage in plugin item 2024-11-07 16:06:08 +08:00
AkaraChen 6357e1516e build: update react-hook-form 2024-11-07 15:47:07 +08:00
StyleZhang b83dc5ab99 fix: marketplace 2024-11-07 15:37:39 +08:00
Yi 65285965b6 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-07 15:31:42 +08:00
Yi 035c9eb147 fix: propagation from closing tag in filters 2024-11-07 15:31:11 +08:00
Joel 91b3aec292 feat: add use tools 2024-11-07 15:24:17 +08:00
AkaraChen d3a9747bbd build: update @floating-ui/react 2024-11-07 15:22:00 +08:00
StyleZhang 6a99fab92f fix: marketplace 2024-11-07 15:07:07 +08:00
-LAN-andGitHub 823ae03a08 fix(remote-files): fallback to get when remote server not support head method (#10370) 2024-11-07 14:35:58 +08:00
-LAN-andGitHub f8c958a409 refactor(iteration): introduce specific exceptions for iteration errors (#10366) 2024-11-07 14:02:55 +08:00
-LAN-andGitHub 25785d8c3f refactor(knowledge-retrieval): improve error handling with custom exceptions (#10385) 2024-11-07 14:02:46 +08:00
-LAN-andGitHub 35d3da9697 refactor(tool-node): introduce specific exceptions for tool node errors (#10357) 2024-11-07 14:02:38 +08:00
-LAN-andGitHub d3e9930235 refactor(question_classifier): improve error handling with custom exceptions (#10365) 2024-11-07 14:02:30 +08:00
1ccca7cc68 fixed: web api remote urls error (#10383)
Co-authored-by: hobo.l <hobo.l@binance.com>
2024-11-07 13:55:19 +08:00
Yi 2a590f6d2b Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-07 13:42:45 +08:00
Yi 117b0f20dd chore: update the plugin install dropdown styling 2024-11-07 13:42:34 +08:00
powerfoolandGitHub 12a9e2972a Adjusted docker manifests and environment variables for OceanBase vector database (#10395) 2024-11-07 13:22:09 +08:00
StyleZhang c445f747b7 fix: prompt editor 2024-11-07 12:11:26 +08:00
AkaraChen 8ed0963c6b Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-07 11:46:32 +08:00
Yi 6c47e0b5d1 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-07 11:37:21 +08:00
Yi e99e87269e chore: update the selectPackage component 2024-11-07 11:37:05 +08:00
AkaraChen 0a1319548a build: update react markdown
build: update react markdown

build: update react markdown
2024-11-07 11:34:55 +08:00
omrandGitHub 444c1f170a fix typo: mMaximum -> Maximum (#10389) 2024-11-07 10:40:57 +08:00
AkaraChen b1242ba1ac build: init @tanstack/react-query 2024-11-07 09:44:36 +08:00
非法操作andGitHub 3cb2fb8250 fix: remove duplicated category “recommended” (#10375) 2024-11-06 19:06:55 +08:00
twwu fde0e6c7f9 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-06 18:43:31 +08:00
twwu 92153328ea feat: add loading state for installed plugin list in context and update PluginsPanel to display loading indicator 2024-11-06 18:43:27 +08:00
Yeuoly 56f2464a4f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-06 18:30:02 +08:00
Joel e66ba6ffdd chore: fill repo url 2024-11-06 18:13:15 +08:00
MatsudaandGitHub 1e8457441d fix(model_runtime): remove vision from features for Claude 3.5 Haiku (#10360) 2024-11-06 17:42:18 +08:00
InfinitnetandGitHub 5a9448245b fix: remove unsupported vision in OpenRouter Haiku 3.5 (#10364) 2024-11-06 17:41:48 +08:00
Yeuoly 28c9ec3f4f feat: support fetch tool provider info 2024-11-06 17:30:50 +08:00
Yeuoly 6baa98f166 feat: support app-selector, model-selector and tool-selector as parameters 2024-11-06 17:13:05 +08:00
twwu a7e320dc25 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-06 16:58:56 +08:00
twwu 5008d9f4a0 feat: add onSuccess callback to InstallFromGitHub and update plugin list on install actions 2024-11-06 16:58:52 +08:00
Yi 912f84777b Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-06 16:49:29 +08:00
Yi 4c0e4e490a chore: update the 'Update plugin from GitHub' 2024-11-06 16:49:16 +08:00
Joel 306843fe6a chore: plugin info 2024-11-06 16:42:32 +08:00
twwu b6a4af4041 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-06 16:18:25 +08:00
twwu cce39b85e9 feat: enhance plugin filtering with tags support 2024-11-06 16:18:18 +08:00
Joel 057d380119 feat: add install model plugin 2024-11-06 15:57:50 +08:00
Joel 4cf9ff6132 chore: remove log 2024-11-06 15:44:49 +08:00
Joel 4cfbcd9c79 feat: add install 2024-11-06 15:42:48 +08:00
StyleZhang fcde5b5c9e fix: detail 2024-11-06 15:37:12 +08:00
StyleZhang 21b3703bd8 fix: i18n 2024-11-06 15:23:38 +08:00
StyleZhang 9025e85ca5 locale 2024-11-06 15:00:37 +08:00
StyleZhang bc43e3a9fe card locale 2024-11-06 14:52:47 +08:00
StyleZhang 319a54aa2f i18n 2024-11-06 14:37:20 +08:00
Bowen LiangandGitHub eafe5a9d8f chore(ci): bring back poetry cache to speed up CI jobs (#10347) 2024-11-06 13:55:29 +08:00
Bowen LiangandGitHub d45d90e8ae chore: lazy import sagemaker (#10342) 2024-11-06 12:45:22 +08:00
comfutureandGitHub 42a9374e71 chore: update translation for 'account' from '계좌' to '계정' (#10350) 2024-11-06 12:44:44 +08:00
-LAN-andGitHub 82a775eca3 chore(ci): separate vector store tests into new workflow (#10354) 2024-11-06 12:43:55 +08:00
-LAN-andGitHub 1dae1a71fc fix(api): remove fixed source attribute from FileApi (#10353) 2024-11-06 12:29:58 +08:00
StyleZhang 7c2ab21c9c i18n 2024-11-06 11:55:19 +08:00
twwu 0d08b6cf51 fix: enhance plugin installation and update handling 2024-11-06 09:50:05 +08:00
ac0fed6402 feat: support png, gif, webp (#7947)
Co-authored-by: xuanson9699 <84961581+xuanson9699@users.noreply.github.com>
2024-11-06 09:05:05 +08:00
Chenhe GuandGitHub fb656d480e Update README.md (#10332) 2024-11-06 08:57:49 +08:00
方程andGitHub 2b7341af57 Gitee AI tools (#10314) 2024-11-06 08:51:13 +08:00
Summer-GuandGitHub ce1f9d935d feat: The SSRF request timeout configuration item is added (#10292) 2024-11-06 08:50:57 +08:00
InfinitnetandGitHub bdadca1a65 feat: add support for anthropic/claude-3-5-haiku through OpenRouter (#10331) 2024-11-06 08:26:44 +08:00
BenjaminandGitHub d7b4d0756e feat(vannaai): add base_url configuration (#10294) 2024-11-05 20:58:49 +08:00
-LAN-andGitHub 1279e27825 docs: remove the TOC part (#10324) 2024-11-05 04:48:14 -08:00
Yeuoly e9d69f020a feat: cast files into correct type while invoking 2024-11-05 20:30:13 +08:00
NoviceandYeuoly 3c89d45a2d fix: iteration none output error (#10295) 2024-11-05 20:30:13 +08:00
-LAN-andYeuoly baab81714e fix(http_request): improve parameter initialization and reorganize tests (#10297) 2024-11-05 20:30:13 +08:00
MatsudaandYeuoly 507bb3549a fix typo: writeOpner to writeOpener (#10290) 2024-11-05 20:30:13 +08:00
pinsilyandYeuoly 2d1e5fb4e0 fix: handle KeyError when accessing rules in CleanProcessor.clean (#10258) 2024-11-05 20:30:12 +08:00
euxandYeuoly b9198639e2 fix: borken faq url in CONTRIBUTING.md (#10275) 2024-11-05 20:30:12 +08:00
非法操作andYeuoly 43c7739b88 feat: add xAI model provider (#10272) 2024-11-05 20:30:12 +08:00
MatsudaandYeuoly f65d577f54 fix(model_runtime): fix wrong max_tokens for Claude 3.5 Haiku on Amazon Bedrock (#10286) 2024-11-05 20:30:00 +08:00
-LAN-andYeuoly b88145096f feat(model): add validation for custom disclaimer length (#10287) 2024-11-05 20:30:00 +08:00
-LAN-andYeuoly 33219e850a fix(node): correct file property name in function switch (#10284) 2024-11-05 20:30:00 +08:00
NFishandYeuoly 3040d538f7 refactor the logic of refreshing access_token (#10068) 2024-11-05 20:30:00 +08:00
4e1af81e11 chore: translate i18n files (#10273)
Co-authored-by: laipz8200 <16485841+laipz8200@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-05 20:30:00 +08:00
BenjaminandYeuoly 56e19fd8f5 Updates: Add mplfonts library for customizing matplotlib fonts and Va… (#9903) 2024-11-05 20:30:00 +08:00
NoviceandYeuoly d330d31ee5 feat: Iteration node support parallel mode (#9493) 2024-11-05 20:29:59 +08:00
GeorgeCaoJandYeuoly 0858108423 fix(workflow): handle else condition branch addition error in if-else node (#10257) 2024-11-05 20:29:59 +08:00
-LAN-andYeuoly 2cd976846a feat(document_extractor): support tool file in document extractor (#10217) 2024-11-05 20:29:59 +08:00
MatsudaandYeuoly 5d2c88ef59 feat: support Claude 3.5 Haiku on Amazon Bedrock (#10265) 2024-11-05 20:29:59 +08:00
-LAN-andYeuoly fe3cde973e refactor(parameter_extractor): implement custom error classes (#10260) 2024-11-05 20:29:59 +08:00
-LAN-andYeuoly 794f495ef2 fix(validation): allow to use 0 in the inputs form (#10255) 2024-11-05 20:29:32 +08:00
-LAN-andYeuoly 0dda682033 chore(Dockerfile): upgrade zlib arm64 (#10244) 2024-11-05 20:29:31 +08:00
方程andYeuoly 01d8d10f1c Using a dedicated interface to obtain the token credential for the gitee.ai provider (#10243) 2024-11-05 20:29:12 +08:00
c711c5e36e feat(workflow): add configurable workflow file upload limit (#10176)
Co-authored-by: JzoNg <jzongcode@gmail.com>
2024-11-05 20:29:09 +08:00
shisaru292andYeuoly 1e27557865 fix: missing working directory parameter in script (#10226) 2024-11-05 20:28:29 +08:00
-LAN-andYeuoly 2d9632d8b9 refactor(list_operator): replace ValueError with InvalidKeyError (#10222) 2024-11-05 20:28:29 +08:00
-LAN-andYeuoly 7e42de1e7b refactor(workflow): introduce specific error handling for LLM nodes (#10221) 2024-11-05 20:28:29 +08:00
-LAN-andYeuoly bd674d27be refactor(http_request): add custom exception handling for HTTP request nodes (#10219) 2024-11-05 20:28:29 +08:00
-LAN-andYeuoly 5735761920 refactor(workflow): introduce specific exceptions for code validation (#10218) 2024-11-05 20:28:29 +08:00
-LAN-andYeuoly 405b704f02 chore(llm_node): remove unnecessary type ignore for context assignment (#10216) 2024-11-05 20:28:29 +08:00
JyongandYeuoly f38abaaa6a fix the ssrf of docx file extractor external images (#10237) 2024-11-05 20:28:28 +08:00
Hanqing ZhaoandYeuoly c8a5fee622 Modify translation (#10213) 2024-11-05 20:28:28 +08:00
fe1c0ac602 Add Lindorm as a VDB choice (#10202)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-11-05 20:28:28 +08:00
crazywoolaandYeuoly e79c3e4531 Fix/10199 application error a client side exception has occurred see the browser console for more information (#10211) 2024-11-05 20:28:28 +08:00
-LAN-andYeuoly 3ea3df7189 refactor(validation): improve input validation logic (#10175) 2024-11-05 20:28:28 +08:00
-LAN-andYeuoly b01e7d778e chore(list_operator): refine exception handling for error specificity (#10206) 2024-11-05 20:28:28 +08:00
-LAN-andYeuoly 7c45859594 fix(document_extractor): update base exception class (#10208) 2024-11-05 20:28:27 +08:00
Kota-YamaguchiandYeuoly aa9fd76072 Feat : add LLM model indicator in prompt generator (#10187) 2024-11-05 20:28:27 +08:00
Kota-YamaguchiandYeuoly e7d947379f chore : code generator preview hint (#10188) 2024-11-05 20:28:17 +08:00
zxhlyhandYeuoly 8cd386f2c1 fix: webapp upload file (#10195) 2024-11-05 20:28:17 +08:00
-LAN-andYeuoly 987e1b9ced fix(api): replace current_user with end_user in file upload (#10194) 2024-11-05 20:28:17 +08:00
-LAN-andYeuoly 81a77d0623 feat(document_extractor): integrate unstructured API for PPTX extraction (#10180) 2024-11-05 20:28:17 +08:00
Cling_o3andYeuoly ac1f93e3d5 [fix] fix the bug that modify document name not effective (#10154) 2024-11-05 20:27:58 +08:00
-LAN-andYeuoly 0d5c0b4fe4 fix(workflow model): ensure consistent timestamp updating (#10172) 2024-11-05 20:27:57 +08:00
d1c480a7d8 fix: Cannot find declaration to go to CLEAN_DAY_SETTING (#10157)
Co-authored-by: 刘江波 <liujiangbo1@xiaomi.com>
2024-11-05 20:27:57 +08:00
Lawrence LiandYeuoly 007b561e32 feat: add gpustack model provider (#10158) 2024-11-05 20:27:57 +08:00
非法操作andGitHub d92e3bd620 fix: special prompt not work for comfyUI tool (#10307) 2024-11-05 18:21:41 +08:00
-LAN-andGitHub 7f583ec1ac chore: update version to 0.11.0 across all relevant files (#10278) 2024-11-05 17:53:56 +08:00
Yi 61a70e7a71 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-05 17:53:03 +08:00
Yi bde1261b8c chore: update installFromGitHub component 2024-11-05 17:52:47 +08:00
StyleZhang 08bb6bf858 fix: tags 2024-11-05 17:35:47 +08:00
twwu 1003190dc0 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-05 16:54:57 +08:00
twwu 4c516a50b8 fix: update type from InstalledPlugin to PluginDetail in detail-header component 2024-11-05 16:53:54 +08:00
Joel 8058a1dbe4 feat: handle update 2024-11-05 16:47:26 +08:00
Yi 8533ded335 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-05 16:36:55 +08:00
NoviceandGitHub 7962101e5e fix: iteration none output error (#10295) 2024-11-05 16:31:49 +08:00
-LAN-andGitHub ae254f0a10 fix(http_request): improve parameter initialization and reorganize tests (#10297) 2024-11-05 16:30:23 +08:00
twwu 1a547b0db9 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-05 16:25:38 +08:00
twwu 0b90625e57 feat: integrate GitHub API for plugin version check and add access token support 2024-11-05 16:25:20 +08:00
MatsudaandGitHub 68e0b0ac84 fix typo: writeOpner to writeOpener (#10290) 2024-11-05 16:09:53 +08:00
Joel e989c1f3aa feat: fill update install payload 2024-11-05 16:04:52 +08:00
Joel da15a25cf5 feat: add update from github modal content 2024-11-05 15:27:08 +08:00
Joel 43254ceeb0 chore: temp types 2024-11-05 15:22:48 +08:00
Yi faf550164d Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-05 15:21:54 +08:00
Yi 1a4234347a chore: update the installFromGitHub logic 2024-11-05 15:21:45 +08:00
Joel 85947efcfa temp: change payload types 2024-11-05 15:21:07 +08:00
Joel 474ea97fc7 feat: add update to modal context 2024-11-05 15:11:55 +08:00
StyleZhang a3becde6d8 feat: plugin tags 2024-11-05 15:07:24 +08:00
pinsilyandGitHub 5f21d13572 fix: handle KeyError when accessing rules in CleanProcessor.clean (#10258) 2024-11-05 14:47:15 +08:00
euxandGitHub 233bffdb7d fix: borken faq url in CONTRIBUTING.md (#10275) 2024-11-05 14:42:59 +08:00
非法操作andGitHub bf9349c4dc feat: add xAI model provider (#10272) 2024-11-05 14:42:47 +08:00
MatsudaandGitHub 4847548779 feat(model_runtime): add new model 'claude-3-5-haiku-20241022' (#10285) 2024-11-05 14:41:39 +08:00
MatsudaandGitHub cb245b5435 fix(model_runtime): fix wrong max_tokens for Claude 3.5 Haiku on Amazon Bedrock (#10286) 2024-11-05 14:41:15 +08:00
-LAN-andGitHub 249b897872 feat(model): add validation for custom disclaimer length (#10287) 2024-11-05 14:40:57 +08:00
-LAN-andGitHub 08c731fd84 fix(node): correct file property name in function switch (#10284) 2024-11-05 14:23:18 +08:00
NFishandGitHub 302f4407f6 refactor the logic of refreshing access_token (#10068) 2024-11-05 12:38:31 +08:00
Yi c40544a134 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-05 11:41:03 +08:00
Yi 4028bb4f58 chore: update installPluginFromGitHub component 2024-11-05 11:40:52 +08:00
twwu 52268460a1 fix: update dependency in Empty component to improve rendering logic 2024-11-05 11:19:04 +08:00
twwu b64298c458 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-11-05 11:05:20 +08:00
twwu 16dee11589 feat: add Empty component to installed plugin list 2024-11-05 11:05:14 +08:00
Yi 691dbf9d17 chore: update plugin from GitHub 2024-11-05 11:02:57 +08:00
de5dfd99f6 chore: translate i18n files (#10273)
Co-authored-by: laipz8200 <16485841+laipz8200@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-11-05 10:57:32 +08:00
BenjaminandGitHub acb22f0fde Updates: Add mplfonts library for customizing matplotlib fonts and Va… (#9903) 2024-11-05 10:34:28 +08:00
NoviceandGitHub d1505b15c4 feat: Iteration node support parallel mode (#9493) 2024-11-05 10:32:49 +08:00
GeorgeCaoJandGitHub cca2e7876d fix(workflow): handle else condition branch addition error in if-else node (#10257) 2024-11-05 09:56:41 +08:00
-LAN-andGitHub 2c4d8dbe9b feat(document_extractor): support tool file in document extractor (#10217) 2024-11-05 09:49:43 +08:00
MatsudaandGitHub 9305ad2102 feat: support Claude 3.5 Haiku on Amazon Bedrock (#10265) 2024-11-05 09:42:51 +08:00
-LAN-andGitHub 7a98dab6a4 refactor(parameter_extractor): implement custom error classes (#10260) 2024-11-05 09:27:51 +08:00
971defbbbd fix: buitin tool aippt (#10234)
Co-authored-by: jinqi.guo <jinqi.guo@ubtrobot.com>
2024-11-04 18:46:39 +08:00
-LAN-andGitHub 6b0de08157 fix(validation): allow to use 0 in the inputs form (#10255) 2024-11-04 18:34:55 +08:00
-LAN-andGitHub 87c1de66f2 chore(Dockerfile): upgrade zlib arm64 (#10244) 2024-11-04 17:48:10 +08:00
方程andGitHub 2aa171c348 Using a dedicated interface to obtain the token credential for the gitee.ai provider (#10243) 2024-11-04 17:22:02 +08:00
6452342222 feat(workflow): add configurable workflow file upload limit (#10176)
Co-authored-by: JzoNg <jzongcode@gmail.com>
2024-11-04 15:55:34 +08:00
shisaru292andGitHub da204c131d fix: missing working directory parameter in script (#10226) 2024-11-04 15:23:18 +08:00
-LAN-andGitHub 9369cc44e6 refactor(list_operator): replace ValueError with InvalidKeyError (#10222) 2024-11-04 15:23:08 +08:00
-LAN-andGitHub 38bca6731c refactor(workflow): introduce specific error handling for LLM nodes (#10221) 2024-11-04 15:22:58 +08:00
-LAN-andGitHub 2adab7f71a refactor(http_request): add custom exception handling for HTTP request nodes (#10219) 2024-11-04 15:22:50 +08:00
-LAN-andGitHub be96f6e62d refactor(workflow): introduce specific exceptions for code validation (#10218) 2024-11-04 15:22:41 +08:00
-LAN-andGitHub 8b5ea39916 chore(llm_node): remove unnecessary type ignore for context assignment (#10216) 2024-11-04 15:22:31 +08:00
JyongandGitHub 1024fc623e fix the ssrf of docx file extractor external images (#10237) 2024-11-04 15:22:07 +08:00
Hanqing ZhaoandGitHub 8ab05d4c36 Modify translation (#10213) 2024-11-04 09:11:15 +08:00
0c9e79cd67 Add Lindorm as a VDB choice (#10202)
Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com>
2024-11-04 09:10:26 +08:00
crazywoolaandGitHub 2ed6bb86c1 Fix/10199 application error a client side exception has occurred see the browser console for more information (#10211) 2024-11-03 12:53:49 +08:00
-LAN-andGitHub 61da0f08dd refactor(validation): improve input validation logic (#10175) 2024-11-03 11:55:46 +08:00
-LAN-andGitHub 1432c268a8 chore(list_operator): refine exception handling for error specificity (#10206) 2024-11-03 11:55:19 +08:00
-LAN-andGitHub ec6a03afdd fix(document_extractor): update base exception class (#10208) 2024-11-03 11:55:07 +08:00
Kota-YamaguchiandGitHub bf371a6e5d Feat : add LLM model indicator in prompt generator (#10187) 2024-11-02 19:46:28 +08:00
Xiao LeyandGitHub b28cf68097 chore: enable vision support for models in OpenRouter that should have supported vision (#10191) 2024-11-02 19:45:20 +08:00
Kota-YamaguchiandGitHub a0af7a51ed chore : code generator preview hint (#10188) 2024-11-02 19:45:07 +08:00
zxhlyhandGitHub dfa3ef0564 fix: webapp upload file (#10195) 2024-11-02 17:03:14 +08:00
-LAN-andGitHub 0066531266 fix(api): replace current_user with end_user in file upload (#10194) 2024-11-02 17:03:00 +08:00
JzoNg ebebbb684b endpoints list 2024-11-02 15:36:38 +08:00
JzoNg cee51ac084 need author judgement 2024-11-02 15:36:38 +08:00
JzoNg ef00ad0417 action list 2024-11-02 15:36:38 +08:00
JzoNg c37615cd33 plugin detail delete handler 2024-11-02 15:36:38 +08:00
JzoNg a387cfbc9a model list in plugin detail 2024-11-02 15:36:38 +08:00
JzoNg 04fdb4af0f plugin header operation 2024-11-02 15:36:38 +08:00
JzoNg 57f9a41e7f plugin detail selecting 2024-11-02 15:36:38 +08:00
JzoNg eb8b827906 verified tag 2024-11-02 15:36:38 +08:00
takatost c100f24f7d compatible model daemon request exception 2024-11-01 19:20:26 -07:00
-LAN-andGitHub 53a7cb0e9d feat(document_extractor): integrate unstructured API for PPTX extraction (#10180) 2024-11-01 23:19:11 +08:00
-LAN-andGitHub 86739bea8b fix(tools): suppress RuntimeWarnings in podcast audio generator (#10182) 2024-11-01 20:59:40 +08:00
Cling_o3andGitHub ab127ba92e [fix] fix the bug that modify document name not effective (#10154) 2024-11-01 18:59:15 +08:00
-LAN-andGitHub 6a2a9460e9 fix(workflow model): ensure consistent timestamp updating (#10172) 2024-11-01 18:58:54 +08:00
Joel 99a9bf6d56 feat: support search from marketplace list 2024-11-01 18:36:24 +08:00
07ad362854 fix: Cannot find declaration to go to CLEAN_DAY_SETTING (#10157)
Co-authored-by: 刘江波 <liujiangbo1@xiaomi.com>
2024-11-01 17:25:31 +08:00
Lawrence LiandGitHub 76b0328eb1 feat: add gpustack model provider (#10158) 2024-11-01 17:23:30 +08:00
-LAN-andGitHub 3c85136279 refactor(tools): Avoid warnings. (#10161) 2024-11-01 17:17:27 +08:00
takatost d92cb994a9 fix voice list 2024-11-01 01:56:15 -07:00
Yeuoly 02a296bbec Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-01 16:55:45 +08:00
Yeuoly 413326905e rebase migrations 2024-11-01 16:55:07 +08:00
Yi ceae69b773 chore: update the workspace selector 2024-11-01 16:48:40 +08:00
Yeuoly 7cea6c1713 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-01 16:46:40 +08:00
Yeuoly 5605ff9803 fix voice list 2024-11-01 16:42:32 +08:00
Yeuoly 84b7a4607a fix: setup_required 2024-11-01 16:28:17 +08:00
Yeuoly 10cc4e758c Merge branch 'main' into fix/chore-fix 2024-11-01 16:23:04 +08:00
Joel 3c8548c562 feat: create tool model 2024-11-01 16:14:01 +08:00
-LAN-andGitHub bf048b8d7c refactor(migration/model): update column types for workflow schema (#10160) 2024-11-01 16:10:55 +08:00
StyleZhang 8874837dc3 feat: plugin tasks 2024-11-01 16:08:31 +08:00
-LAN-andGitHub 9ac2bb30f4 Feat/add-remote-file-upload-api (#9906) 2024-11-01 15:51:22 +08:00
zxhlyhandGitHub 78b74cce8e fix: upload remote image preview (#9952) 2024-11-01 15:45:27 +08:00
Yi 40e171c2c6 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-01 15:40:06 +08:00
Yi 824ed7d6c2 chore: plugin button 2024-11-01 15:39:55 +08:00
Yeuoly 7e7d02ee15 fix: missing 'follow_redirects' argument while download plugin packages 2024-11-01 15:39:36 +08:00
Yeuoly 8070be9b76 fix: missing 'follow_redirects' argument while download plugin packages 2024-11-01 15:38:45 +08:00
JzoNg 4caa8f38bc hide plugin detail 2024-11-01 15:33:15 +08:00
Joel 5d5db7c6c1 fix: key too long breaks ui 2024-11-01 15:28:10 +08:00
Joel ca50522f80 feat: set tool params 2024-11-01 15:21:38 +08:00
JyongandGitHub 82033af097 clean un-allowed special charters when doing indexing estimate (#10153) 2024-11-01 15:09:22 +08:00
takatost 01632bda70 fix 2024-11-01 00:07:41 -07:00
takatost b75dce5d0a compatible with original provider name 2024-11-01 00:07:41 -07:00
Yeuoly f1f1baae9c feat: support plugin tags 2024-11-01 15:07:11 +08:00
Yeuoly d0c53fabca Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-01 15:05:31 +08:00
Yeuoly 9a455949ad feat: support plugin tags 2024-11-01 15:05:23 +08:00
-LAN-andGitHub 951308b5f3 refactor(service): handle unsupported DSL version with warning (#10151) 2024-11-01 15:04:54 +08:00
takatost f20c9ef763 fix 2024-11-01 00:01:05 -07:00
takatost f798add31c compatible with original provider name 2024-11-01 00:00:53 -07:00
Yi 2fd4b6e6d2 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-11-01 14:56:11 +08:00
Yi c503e8ebc9 chore: install package from GitHub 2024-11-01 14:55:56 +08:00
Joel 245bb02c88 chore: add on start to install 2024-11-01 14:51:35 +08:00
Joel 9f08206503 feat: can choose tool in agent page 2024-11-01 14:41:27 +08:00
Yeuoly ed042862f8 fix: dockerfile 2024-11-01 14:39:11 +08:00
Yeuoly b0d33487df fix: custom tool parser 2024-11-01 14:27:28 +08:00
Yeuoly 8c2dbe876f fix: custom tool parser 2024-11-01 14:26:56 +08:00
Joel 66be03f622 fix: search tools ui and some ui problem 2024-11-01 14:02:10 +08:00
8d5456b6d0 Add VESSL AI OpenAI API-compatible model provider and LLM model (#9474)
Co-authored-by: moon <moon@vessl.ai>
2024-11-01 13:38:52 +08:00
Joel 04ba0a3500 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-01 12:39:07 +08:00
Joel a273ae35f9 merge feat/plugins 2024-11-01 12:37:42 +08:00
JzoNg 1a92064260 remove unused components 2024-11-01 12:09:17 +08:00
JzoNg 7752f374e5 Revert "update model provider api responses"
This reverts commit c8dc5e4849.
2024-11-01 12:00:54 +08:00
JzoNg e7dcc53b55 Revert "load balance"
This reverts commit 378a9dd850.
2024-11-01 12:00:54 +08:00
JzoNg 22766c27c7 Revert "model list of provider"
This reverts commit 766ac3e255.
2024-11-01 12:00:54 +08:00
JzoNg c82b641357 Revert "get credentials of provider"
This reverts commit 72ef04d3e4.
2024-11-01 12:00:54 +08:00
JzoNg 1d871dae0d Revert "credentials of models"
This reverts commit 2ed73b763d.
2024-11-01 12:00:54 +08:00
JzoNg c39be7852f Revert "parameters and rules"
This reverts commit 22696fa75b.
2024-11-01 12:00:54 +08:00
JzoNg f2a5da918b Revert "other providers"
This reverts commit 339dfe5e02.
2024-11-01 12:00:54 +08:00
JzoNg 930425b896 Revert "annotation config"
This reverts commit 633768cd2a.
2024-11-01 12:00:54 +08:00
JzoNg 32e4efb524 Revert "logs"
This reverts commit 06729f6d9d.
2024-11-01 12:00:54 +08:00
JzoNg 96c3ec91af click handle of provider card 2024-11-01 12:00:54 +08:00
JzoNg f257184b00 provider card & link 2024-11-01 12:00:54 +08:00
JzoNg 581d09895e search model in provider settings 2024-11-01 12:00:54 +08:00
Kota-YamaguchiandGitHub f674de4f5d feat: synchronize input/output variables in the panel with generated code by the code generator (#10150) 2024-11-01 11:39:32 +08:00
StyleZhang 197f1b3957 feat: search box 2024-11-01 11:26:36 +08:00
Joel 207b589458 chore: toolpicker add trigger 2024-11-01 11:22:18 +08:00
Zixuan ChengandGitHub fafa5938da Refined README for better reading experience. (#10143) 2024-11-01 10:17:06 +08:00
4d5546953a add llm: ernie-4.0-turbo-128k of wenxin (#10135)
Co-authored-by: Pigeon姚宏锋 <pigeon.yhf@galaxyoversea.com>
2024-10-31 21:49:04 +08:00
Shili CaoandGitHub b61baa87ec fix: avoid unexpected error when create knowledge base with baidu vector database and wenxin embedding model (#10130) 2024-10-31 21:34:23 +08:00
805c701767 fix: bar chart issue with duplicate x-axis labels being incorrectly ignored (#10134)
Co-authored-by: liusurong.lsr <liusurong.lsr@alibaba-inc.com>
2024-10-31 21:25:47 +08:00
JyongandGitHub dad041c49f fix issue: query is none when doing retrieval (#10129) 2024-10-31 21:25:00 +08:00
2ecdc54b0b Fix/rerank validation issue (#10131)
Co-authored-by: Yi <yxiaoisme@gmail.com>
2024-10-31 20:20:46 +08:00
StyleZhang b5be6bacef fix: marketplace list 2024-10-31 18:54:33 +08:00
Joel bca99cf4f8 feat: tool picker 2024-10-31 18:37:50 +08:00
twwu 0e873223d7 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-10-31 18:32:32 +08:00
twwu 133b487566 feat: Enhance plugin item links and increase value display width 2024-10-31 18:32:25 +08:00
StyleZhang a9e8eb1c7e fix: marketplace list 2024-10-31 18:31:36 +08:00
ce260f79d2 Feat/update knowledge api url (#10102)
Co-authored-by: nite-knite <nkCoding@gmail.com>
2024-10-31 18:29:12 +08:00
twwu bf2b9bb898 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-10-31 16:44:08 +08:00
twwu 837990cb80 feat: Add loading to delete confirmation dialog 2024-10-31 16:44:04 +08:00
omrandGitHub 11ca1bec0b fix: optimize unique document filtering with set (#10082) 2024-10-31 16:32:58 +08:00
StyleZhang 4be2edd934 feat: plugin list tasks 2024-10-31 16:27:24 +08:00
twwu 7d4f8e0082 Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-10-31 16:20:31 +08:00
twwu 36ab121b87 feat: plugin uninstall & plugin list filtering 2024-10-31 16:20:25 +08:00
Joel 7f2980fbc0 chore: fix index show 2024-10-31 16:10:48 +08:00
-LAN-andGitHub 05d9adeb99 fix(Dockerfile): conditionally install zlib1g based on architecture (#10118) 2024-10-31 16:07:39 +08:00
Hash BrownandGitHub 73f29484e7 fix: log detail panel not showing any message when total count greate… (#10119) 2024-10-31 16:02:20 +08:00
Joel ae21d48132 feat: list flat view 2024-10-31 15:59:39 +08:00
JyongandGitHub 0154a26e0b fix issue: update document segment setting failed (#10107) 2024-10-31 15:51:33 +08:00
Nam VuandGitHub cee1c4f63d fix: Version '1:1.3.dfsg+really1.3.1-1' for 'zlib1g' was not found (#10096) 2024-10-31 15:49:28 +08:00
StyleZhang 8af8a0f46d fix: tool list 2024-10-31 15:41:02 +08:00
Yeuoly 9a20c18869 fix: delete temp dependencies 2024-10-31 15:40:29 +08:00
Yeuoly 5ee9577d39 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-31 15:33:40 +08:00
Yeuoly 6fd0a55b00 fix: correct dockerfile dependencies 2024-10-31 15:32:25 +08:00
Yeuoly a196de195e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-31 15:19:49 +08:00
Yeuoly bb58f5c6e5 fix: avoid None to be assigned to WorkflowToolProviderController as provider id 2024-10-31 15:18:45 +08:00
-LAN-andGitHub e5397c5ec2 feat(app_dsl_service): enhance error handling and DSL version management (#10108) 2024-10-31 15:16:34 +08:00
非法操作andGitHub e36f5cb366 chore: save uploaded file extension as lower case (#10111) 2024-10-31 15:16:25 +08:00
-LAN-andGitHub 8b9fed75f3 refactor(version): simplify version comparison logic (#10109) 2024-10-31 15:15:32 +08:00
twwu 4adb61d6c7 refactor: Update marketplace API prefix in layout.tsx 2024-10-31 13:45:46 +08:00
Joel 7dd7f06f7d chore: handle icon toggle fold 2024-10-31 12:00:11 +08:00
Joel 074e660a67 feat: can add tree view 2024-10-31 11:37:55 +08:00
66e9bd90eb fix: view logs in prompt, no response when clicked (#10093)
Co-authored-by: zhanganguo <zhanganguo@lixiang.com>
2024-10-31 10:49:14 +08:00
非法操作andGitHub b29c1224c1 chore: remove an unnecessary link (#10088) 2024-10-31 10:35:45 +08:00
非法操作andGitHub bd6175157c feat: enhance comfyui workflow (#10085) 2024-10-31 10:00:22 +08:00
takatost 18edeb8e0a integrate model provider with plugin daemon 2024-10-30 18:56:52 -07:00
AkaraChenandGitHub 6692e8c508 build: update docker login action (#10050) 2024-10-31 09:53:45 +08:00
Kota-YamaguchiandGitHub 6c25131964 chore: update type definition to resolve lint error in Base usage at text-editor.tsx (#10083) 2024-10-31 09:52:59 +08:00
JzoNg 06729f6d9d logs 2024-10-31 09:06:10 +08:00
JzoNg 633768cd2a annotation config 2024-10-31 08:43:12 +08:00
JzoNg 339dfe5e02 other providers 2024-10-31 08:22:14 +08:00
JzoNg 22696fa75b parameters and rules 2024-10-31 08:22:14 +08:00
JzoNg 2ed73b763d credentials of models 2024-10-31 08:22:14 +08:00
JzoNg 72ef04d3e4 get credentials of provider 2024-10-31 08:22:14 +08:00
JzoNg 766ac3e255 model list of provider 2024-10-31 08:22:14 +08:00
JzoNg 378a9dd850 load balance 2024-10-31 08:22:14 +08:00
JzoNg c8dc5e4849 update model provider api responses 2024-10-31 08:22:14 +08:00
JzoNg 1387c6bd1c update style of agent tool list 2024-10-31 08:22:14 +08:00
JzoNg fda21f6b05 fix size of icon 2024-10-31 08:22:14 +08:00
JzoNg 8c25915d2b action panel tabs 2024-10-31 08:22:14 +08:00
JzoNg aba48749da action panel header 2024-10-31 08:22:14 +08:00
JzoNg 35a66ffe9f tool actions 2024-10-31 08:22:14 +08:00
Bowen LiangandGitHub 0bdae34b5e improve: significantly speed up the server launching time by async preloading tool providers (#9146) 2024-10-31 00:21:01 +08:00
Charlie.WeiandGitHub f6fecb957e fix azure chatgpt o1 parameter error (#10067) 2024-10-30 22:08:56 +08:00
crazywoolaandGitHub 0a3d51e9cf Revert "chore: improve validation and handler of logging timezone with TimezoneName" (#10077) 2024-10-30 22:06:10 +08:00
sacryuandGitHub a69513c044 fix the typos in the hit testing template (#10072) 2024-10-30 22:01:22 +08:00
JasonVVandGitHub 219f5d9845 Fixed the issue where recall the knowledge base in the iteration of the workflow and report errors when executing (#10060) 2024-10-30 21:56:38 +08:00
Hiroshi FujitaandGitHub ba60e0f692 chore: Set file size limits for video and audio uploads from docker env (#10063) 2024-10-30 21:55:01 +08:00
StyleZhang 3db9174f55 fix: marketplace list 2024-10-30 17:24:46 +08:00
Fog3211andGitHub 18424dd82f fix: prevent onChange during IME composition (#10059) 2024-10-30 16:59:40 +08:00
StyleZhang 02854b273f fix: marketplace 2024-10-30 16:36:08 +08:00
22mSqRiandGitHub 32ebea91ff fix: fix poetry install command in devcontainer (#9507) 2024-10-30 16:27:17 +08:00
-LAN-andGitHub 3b53e06e0d fix(workflow): refine variable type checks in LLMNode (#10051) 2024-10-30 16:23:12 +08:00
Yeuoly fb3d03b790 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-30 16:09:33 +08:00
Yeuoly 459cb9dd72 fix: transform plugin icon incorrect 2024-10-30 16:09:17 +08:00
非法操作andGitHub 4d38798dd5 chore: mount config file of sandbox (#8576) 2024-10-30 15:45:51 +08:00
zhuhaoandGitHub 92a3898540 fix: resolve the incorrect model name of hunyuan-standard-256k (#10052) 2024-10-30 15:43:29 +08:00
zhuhaoandGitHub 7433095240 chore: use dify_config.TIDB_SPEND_LIMIT instead of constant value (#10038) 2024-10-30 15:43:07 +08:00
郭伟伟andGitHub 190b6a2aa6 feat: /conversations api response add 'update_at' field,and update api docs add sort_by parameter (#10043) 2024-10-30 15:41:15 +08:00
StyleZhang fd0a830816 feat: marketplace list 2024-10-30 15:27:38 +08:00
StyleZhang e7fb92e169 feat: marketplace list 2024-10-30 15:16:13 +08:00
Joel 9c4e809799 chore: tiny css and i18n 2024-10-30 14:27:39 +08:00
Joel 169eb32662 chore: toolpicker ui 2024-10-30 14:24:00 +08:00
zhuhaoandGitHub 0095896051 feat: add YAML type in document extractor node (#9997) 2024-10-30 13:47:19 +08:00
Xiao LeyandGitHub c647e4307a add PROMPT_GENERATION_MAX_TOKENS and CODE_GENERATION_MAX_TOKENS in docker enviromment (#10040) 2024-10-30 12:48:56 +08:00
StyleZhang 0f4291bd36 merge main 2024-10-30 11:20:20 +08:00
Bowen LiangandGitHub bab5c54219 chore: improve validation and handler of logging timezone with TimezoneName (#9595) 2024-10-30 11:18:23 +08:00
JyongandGitHub e74479717a fix update_by_api batch field issue (#10001) 2024-10-30 11:17:46 +08:00
JyongandGitHub 9ebd453b87 add rerank check when doing mutil-retrieval (#9998) 2024-10-30 11:17:39 +08:00
ice yaoandGitHub 5ad5d0cff4 chore: Add aliyun oss tests (#10031) 2024-10-30 11:17:30 +08:00
MabandGitHub 68cb382242 Fix #10023 : error in docker-compose.yaml about TIDB_ON_QDRANT_CLIENT… (#10025) 2024-10-30 11:15:55 +08:00
f5d1c7cc0a Added: README_PT.md in Brazilian Portuguese (#10026)
Co-authored-by: Lucas Rezende <lucasrezende@MacBook-Pro-de-Lucas.local>
2024-10-30 11:12:31 +08:00
非法操作andGitHub c7fb8a4f20 fix: conversation variable may not change in the answer node (#10034) 2024-10-30 11:10:31 +08:00
StyleZhang 14b641557a feat: marketplace sort 2024-10-30 11:07:13 +08:00
AkaraChen 9c963d6f69 build: echarts update 2024-10-30 10:29:10 +08:00
AkaraChen 96abeda2e7 build: echarts update 2024-10-30 10:28:22 +08:00
-LAN-andGitHub eb87e690ed fix(llm-node): handle NoneSegment variables properly (#9978) 2024-10-30 08:46:11 +08:00
Hiroshi FujitaandGitHub 539fc8b760 Fix content-type header case sensitivity (#9961) 2024-10-30 02:11:18 +08:00
zhuhaoandGitHub c6e54c83c8 chore: add tidb-on-qdrant configuration in env and docker-compose file (#10015) 2024-10-29 21:11:10 +08:00
powerfoolandGitHub 878d13ef42 Added OceanBase as an option for the vector store in Dify (#10010) 2024-10-29 21:10:18 +08:00
StyleZhang 62fa90e30e feat: marketplace sort 2024-10-29 18:14:05 +08:00
Joel 7e378e219c chore: add missing i18n 2024-10-29 18:11:09 +08:00
Joel 34652010f5 feat: add market url prefix 2024-10-29 18:09:59 +08:00
JyongandGitHub 5580bcf870 add tidb spend limit config (#9999) 2024-10-29 17:51:13 +08:00
AkaraChen 082f6f6a5f build: update deps 2024-10-29 17:47:06 +08:00
Joel 6f52edb157 feat: plugin permission 2024-10-29 17:18:23 +08:00
Yeuoly 60f707e5f4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-29 17:16:48 +08:00
Yeuoly f9e2c738b0 fix: permission change api should not wraps a permission decorator 2024-10-29 17:16:32 +08:00
Joel 0dcbb34cab feat: handle from market install 2024-10-29 16:33:46 +08:00
非法操作andGitHub 12adcf8925 fix: gemini model use some tools raise error (#9993) 2024-10-29 16:09:29 +08:00
StyleZhang 0886d7bb8b feat: marketplace list 2024-10-29 15:23:29 +08:00
StyleZhang e65a47cff7 feat: marketplace list 2024-10-29 15:23:29 +08:00
Joel 36c01d89c9 fix: cros promblem 2024-10-29 15:19:47 +08:00
c8ef9223e5 feat: couchbase integration (#6165)
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: Elliot Scribner <elliot.scribner@couchbase.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: Bowen Liang <bowenliang@apache.org>
2024-10-29 15:00:23 +08:00
Joel 6726ca102e feat: add get marketpalce get 2024-10-29 14:53:14 +08:00
crazywoolaandGitHub fc37e654fc Feat/support form in conversation (#9980) 2024-10-29 13:32:50 +08:00
Yeuoly 6246cf047b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-29 12:32:25 +08:00
Yeuoly 739e15f88b feat: support tool plugin id 2024-10-29 12:32:11 +08:00
Joel e135707f88 chore: plugin icon not show 2024-10-29 11:57:21 +08:00
Joel f2765b9d31 feat: fetch plugin icon 2024-10-29 11:47:23 +08:00
StyleZhang 1e0877dcbf feat: marketplace list 2024-10-29 11:33:52 +08:00
StyleZhang 9a65c3391b feat: marketplace list 2024-10-29 10:51:41 +08:00
非法操作andGitHub eb69896355 fix: allow external knowledge api use simple host (#9966) 2024-10-29 10:33:15 +08:00
ice yaoandGitHub 61ff2fd0f3 chore: Enable tencent cos test to run (#9971) 2024-10-29 10:33:00 +08:00
Wu TianweiandGitHub b6d045cebf fix: Fix page logout issue due to refresh-token (#9970) 2024-10-29 09:55:14 +08:00
JyongandGitHub f47177ecb4 add top_k for es full text search (#9963) 2024-10-28 23:04:54 +08:00
crazywoolaandGitHub de850262b8 fix: button rendering when using streaming (#9957) 2024-10-28 19:23:31 +08:00
-LAN-andGitHub de57af46c0 chore: update version to 0.10.2 in packaging and docker configurations (#9924) 2024-10-28 18:47:45 +08:00
JyongandGitHub badf9baf9b Fix/external api update (#9955) 2024-10-28 18:37:35 +08:00
Joel ca9e23d6ea fix: check status 2024-10-28 18:36:23 +08:00
AllenWriterandGitHub adcd83f6a8 Docs: fix docs url (#9954) 2024-10-28 18:34:23 +08:00
JoelandGitHub 81d4d8cea1 fix: separator change add too many backslash (#9949) 2024-10-28 18:01:33 +08:00
-LAN-andGitHub 4da0b70694 feat(http-request-executor): enhance file handling in HTTP requests (#9944) 2024-10-28 17:51:01 +08:00
Xiao LeyandGitHub 7056009b6a feat(tools): add Baidu translation tool (#9943) 2024-10-28 17:18:28 +08:00
非法操作andGitHub ddb960ddfb feat: support Vectorizer can be used in workflow (#9932) 2024-10-28 16:52:57 +08:00
方程andGitHub 0ebd985672 feat: add models for gitee.ai (#9490) 2024-10-28 16:52:12 +08:00
AkaraChen c4d6f9e179 build: update react-easy-crop 2024-10-28 16:46:35 +08:00
Joel 0cec6195a3 test 2024-10-28 16:33:02 +08:00
Hanqing ZhaoandGitHub c13dc62065 Modify and add jp translation (#9930) 2024-10-28 16:31:58 +08:00
Yeuoly 19b9b91943 fix: dockerfile 2024-10-28 16:29:24 +08:00
Yeuoly e1f773d0d8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-28 16:23:04 +08:00
Yeuoly 5bf86ff66d feat: support latest package identifier 2024-10-28 15:56:15 +08:00
Yeuoly c657378d06 feat: support plugin permission management 2024-10-28 15:54:34 +08:00
Joel 966d42a4db Merge branch 'main' into feat/plugins 2024-10-28 15:53:39 +08:00
JoelandGitHub 705946cc40 fix: tool var type error (#9937) 2024-10-28 15:36:28 +08:00
AkaraChen 15c33ba7f3 build: update lexical deps 2024-10-28 15:33:22 +08:00
AkaraChen ed7f74c99c build: update i18n pkg 2024-10-28 15:32:39 +08:00
AkaraChen 1db4139b5a build: update deps
build: update classnames

build: update types

build: update uuid

build: update emoji-mart

build: update use-context-selector

build: update ui component deps
2024-10-28 15:24:44 +08:00
Yeuoly 685e8cdc7d refactor: document segment query 2024-10-28 15:07:33 +08:00
aafa4a3c8b Remove invalid languages error (#9928)
Co-authored-by: crazywoola <427733928@qq.com>
2024-10-28 13:53:04 +08:00
JyongandGitHub af68084895 add document lock for multi-thread (#9873) 2024-10-28 13:52:35 +08:00
StyleZhang 0d85d44de5 feat: marketplace list 2024-10-28 11:50:45 +08:00
JoeandGitHub 9633c5dab6 fix: enterprise create workspace (#9921) 2024-10-28 11:48:16 +08:00
AkaraChen f0f1bfa5d9 build: fix eslint 2024-10-28 11:03:43 +08:00
Joel 9161ce481e Merge branch 'feat/plugins' of https://github.com/langgenius/dify into feat/plugins 2024-10-28 10:59:39 +08:00
Joel c760902e72 chore: remove useless rule 2024-10-28 10:56:52 +08:00
Joel 7c8c15ef1a test no use rule 2024-10-28 10:56:31 +08:00
Joel 765eb282f3 merge main 2024-10-28 10:51:02 +08:00
zhuhaoandGitHub aa11141660 feat: add stable-diffusion-3-5-large for the text-to-image tool with siliconflow (#9909) 2024-10-27 21:17:36 +08:00
zhuhaoandGitHub 8bb5b943d7 fix(tools): remove the undefined variable parameter_type (#9908) 2024-10-27 11:56:29 +08:00
ice yaoandGitHub 22776f24ab chore: Extract common functions of the base model in Azure OpenAI Provider (#9907) 2024-10-27 11:56:17 +08:00
216442ddc1 feat(workflow): Support JSON type in document extractor node (#9899)
Co-authored-by: -LAN- <laipz8200@outlook.com>
2024-10-26 20:29:48 +08:00
-LAN-andGitHub dd3ac7a2c9 fix(api): add signature generation for image previews (#9893) 2024-10-26 15:35:57 +08:00
JoshuaandGitHub 11447324ff Update README.md (#9891) 2024-10-26 14:56:27 +08:00
JoshuaandGitHub f8210b353e Update README.md (#9890) 2024-10-26 14:47:08 +08:00
JoshuaandGitHub 2b66c1358b Update README.md (#9889) 2024-10-26 14:32:50 +08:00
JoshuaandGitHub 102d86d4b6 Update README.md (#9886) 2024-10-26 14:04:15 +08:00
kurokoboandGitHub 227f49a0cc docs: improve api documentation for advanced chat and workflow (#9882) 2024-10-26 10:43:47 +08:00
a17f169e01 fix users had already joined a workspace, but the system still first … (#9834)
Co-authored-by: yong.zhang <yong.zhang@yesno.com.cn>
2024-10-25 23:04:00 +08:00
-LAN-andGitHub 72ea3d6b98 fix(workflow): Take back LLM streaming output after IF-ELSE (#9875) 2024-10-25 22:33:34 +08:00
virgosoyandGitHub 17cacf258e fix: wrong element object (#9868) 2024-10-25 22:32:41 +08:00
crazywoolaandGitHub f7aacefcd6 feat: support button in markdown (#9876) 2024-10-25 21:51:59 +08:00
Yeuoly d36dece0af feat: support upgrade interfaces 2024-10-25 18:56:38 +08:00
非法操作andGitHub ace7ffab5f feat: support comfyui workflow tool image generate image (#9871) 2024-10-25 18:48:07 +08:00
AkaraChen 0e2b38dddc build: update qrcode.react 2024-10-25 18:03:25 +08:00
AkaraChen 92e4b3304c build: update deps
build: update sass

build: update lodash-es

build: update qs & js-cookie
2024-10-25 17:58:19 +08:00
zhuhaoandGitHub eec63b112f chore: add default value for redis configuration (#9864) 2024-10-25 17:16:07 +08:00
JyongandGitHub caf7bc8569 upgrade nltk, unstructured and starlette (#9860) 2024-10-25 17:15:44 +08:00
非法操作andGitHub fd437ff4c5 fix: segement settings of documents raise error (#8971) 2024-10-25 16:58:50 +08:00
Joel c777d55a1c feat: marketplace install 2024-10-25 16:46:02 +08:00
非法操作andGitHub fb218f8b10 feat: allow answer node use chat_var and env_var (#9226) 2024-10-25 15:37:29 +08:00
4693080ce0 Marking the last piece of data on each page is a duplicate issue, which can be solved by adding the id field to the order by rig and using a unique field (#9799)
Signed-off-by: root <root@localhost.localdomain>
Co-authored-by: root <root@localhost.localdomain>
2024-10-25 15:34:58 +08:00
60ddcdf960 chore: translate i18n files (#9853)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2024-10-25 15:19:05 +08:00
KVOJJJinandGitHub 303bafb3ac chore: update api docs (#9832) 2024-10-25 15:03:24 +08:00
KVOJJJinandGitHub 7a0d0d9b96 Fix: add check for maximum chunk length (#9837) 2024-10-25 15:02:36 +08:00
非法操作andGitHub 84a9d2d072 chore: code generator button should only display in code node (#9842) 2024-10-25 15:00:12 +08:00
非法操作andGitHub 1b5adf40da fix: moonshot response_format raise error (#9847) 2024-10-25 14:59:55 +08:00
Hash BrownandGitHub 59a32aaae6 fix: exclude failed answer when sending messages (#9835) 2024-10-25 14:06:33 +08:00
18106a4fc6 add tidb on qdrant type (#9831)
Co-authored-by: Zhaofeng Miao <522856232@qq.com>
2024-10-25 13:57:03 +08:00
Yeuoly 5f61aa85db feat: add latest version 2024-10-25 13:52:33 +08:00
Yeuoly e5837b88e0 fix: add subpath 2024-10-25 13:26:32 +08:00
Yeuoly ffdc6f5c60 feat: support remove single item from installation task 2024-10-25 13:22:37 +08:00
AkaraChen cd27ae4319 build: update testing-library 2024-10-25 13:01:39 +08:00
AkaraChen bd82c7edac build: update storybook 2024-10-25 13:01:39 +08:00
AkaraChen d5043c6628 build: update husky & lint-staged 2024-10-25 13:01:39 +08:00
AkaraChen d9a0584052 build: update eslint & fix some case 2024-10-25 12:51:11 +08:00
Joel 3e011109ad merge main 2024-10-25 11:26:49 +08:00
Joel bdb990eb90 merge main 2024-10-25 11:26:48 +08:00
StyleZhang ae00211691 feat: marketplace types 2024-10-25 11:15:32 +08:00
ice yaoandGitHub fc2297a2ca chore: add local storage test (#9827) 2024-10-25 11:11:26 +08:00
crazywoolaandGitHub 5b7b765090 fix: yuque book id should be string (#9819) 2024-10-25 11:11:18 +08:00
郭伟伟andGitHub 90769ac709 feat: create_empty_dataset api add the description parameter and update api docs (#9824) 2024-10-25 10:50:15 +08:00
StyleZhang 0ef35a0ee0 fix: enable_marketplace 2024-10-25 10:41:25 +08:00
非法操作andGitHub ac9f1e9de5 fix: duckduckgo image search not work (#9821) 2024-10-25 10:11:33 +08:00
zhuhaoandGitHub 5bf31e7a86 refactor: update load_stream method to directly yield file chunks (#9806) 2024-10-25 10:11:25 +08:00
-LAN-andGitHub dd17506078 feat(api): add generic file size limit parameter (#9812) 2024-10-25 09:02:06 +08:00
KVOJJJinandGitHub 5d1424f67c Feat: use file size limit from api (#9739) 2024-10-24 22:55:17 +08:00
非法操作andGitHub 2346b0ab99 chore: make doc extractor node also can extract text by file extension (#9543) 2024-10-24 22:54:48 +08:00
88dec6ef2b Added description for .ppt, specify the reason for unstructured.io (#9452)
Co-authored-by: crazywoola <427733928@qq.com>
2024-10-24 22:13:06 +08:00
ice yaoandGitHub e71f494839 chore: abstract common function with local storage (#9811) 2024-10-24 21:53:37 +08:00
-LAN-andGitHub 22bb0414a1 feat(parameters): standardize system parameter field types and values (#9797) 2024-10-24 21:52:57 +08:00
-LAN-andGitHub 6477bb8d77 chore(docker): add default for MAX_VARIABLE_SIZE in docker-compose (#9798) 2024-10-24 21:52:48 +08:00
70ddc0ce43 openai compatiable api usage and id (#9800)
Co-authored-by: jinqi.guo <jinqi.guo@ubtrobot.com>
2024-10-24 21:51:36 +08:00
-LAN-andGitHub 9986e4c6d0 chore(docker): correct package version for expat and perl in Dockerfile (#9801) 2024-10-24 19:07:03 +08:00
非法操作andGitHub e2710161f6 fix: chart tool can't display chinese (#9686) 2024-10-24 18:49:49 +08:00
JyongandGitHub 5f11fe521d remove unstructured pdf extract (#9794) 2024-10-24 18:13:05 +08:00
-LAN-andGitHub d018b32d0b fix(workflow): enhance prompt handling with vision support (#9790) 2024-10-24 17:52:11 +08:00
Joel 9a9d90ad7f feat: can install 2024-10-24 17:24:46 +08:00
Joel 606fc7be0c feat: support upload pkg 2024-10-24 17:14:17 +08:00
-LAN-andGitHub e54b7cda3d refactor(file_factory): improve filename and mime type determination (#9784) 2024-10-24 17:07:20 +08:00
Hash BrownandGitHub fc63841169 fix: chat log not showing correctly (#9777) 2024-10-24 16:21:50 +08:00
Joel d7def41acc feat: fetch debug key api 2024-10-24 16:07:46 +08:00
Sun ZhigangandGitHub b674c598f9 Update README_CN.md (#9766) 2024-10-24 14:59:40 +08:00
JoelandGitHub 710230a294 fix: fe can not start (#9768) 2024-10-24 14:54:38 +08:00
AkaraChen b6a560ce86 style: lint 2024-10-24 14:52:07 +08:00
OrionandGitHub 169f7440ac feat:Add host volume env variables for postgres, redis and weaviate (#9761) 2024-10-24 14:27:53 +08:00
StyleZhang 25f34f6703 fix: marketplace plugin type icon 2024-10-24 14:21:12 +08:00
Yeuoly f87eeba310 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-24 13:21:17 +08:00
Yeuoly 99c8f364ae fix: temp fix for empty redis password 2024-10-24 13:20:26 +08:00
Hash BrownandGitHub 57ec12eb6b feat: regenerate history switch navigation (#8749) 2024-10-24 12:09:46 +08:00
-LAN-andGitHub 2c26f77a25 fix(api): handle missing upload_file_id for tool_file messages (#9756) 2024-10-24 11:43:57 +08:00
Kota-YamaguchiandGitHub 95dc90e6b2 Update Code Generator to use the currently configured model. (#9740) 2024-10-24 11:23:35 +08:00
Joel 7daa365564 chore: to common install comp 2024-10-24 11:10:44 +08:00
Joel 13ccd294cb fix: install error title not update 2024-10-23 17:55:25 +08:00
Yeuoly c2c07b0f4b depoly: support auto deploy 2024-10-23 17:55:11 +08:00
Joel d357f359ab feat: support install failed 2024-10-23 17:52:39 +08:00
Joel 474cedf653 feat: debug info api 2024-10-23 17:19:54 +08:00
nite-knite 5d3c88a0b3 chore: bump mermaid from 10.4.0 to 10.9.3 2024-10-23 17:02:38 +08:00
Joel ae2c76bda2 feat: install from marketplace 2024-10-23 16:42:24 +08:00
Joel c46b5f2fd0 feat: handle install search params and hide 2024-10-23 15:26:31 +08:00
Joel 2cb7b73ee7 feat: handle import from marketplace 2024-10-23 15:00:31 +08:00
Joel 8d8d5b5235 chore: handle verified 2024-10-23 11:45:36 +08:00
Joel 15acfffd60 chore: some ui and mock data 2024-10-23 11:40:56 +08:00
Yi 18a266eac2 chore: i18n for install from GitHub section 2024-10-22 18:39:23 +08:00
Joel 7751070da8 chore: install from local i18n 2024-10-22 18:11:54 +08:00
Yi fa8c3d0d7b Resolved merge conflicts by removing conflicting files 2024-10-22 17:58:41 +08:00
Yeuoly a0a1243c90 cleanup: remove hacked code 2024-10-22 17:56:13 +08:00
Yi a567cff809 chore: update the install from GitHub component 2024-10-22 17:51:14 +08:00
Yeuoly b916b4064a Merge remote-tracking branch 'origin/fix/tool-use-file' into fix/chore-fix 2024-10-22 17:47:01 +08:00
Yeuoly dea2962a79 Merge main into feat/plugin 2024-10-22 17:35:11 +08:00
Joel 583b0e9f97 chore: remove replicated types 2024-10-22 17:29:58 +08:00
Yeuoly 1450e5d5cb feat: add supports for multimodal 2024-10-22 17:26:00 +08:00
Joel 5fddb23516 feat: install progress 2024-10-22 17:21:44 +08:00
Joel 43a2d4335b fix: tool use file caused error 2024-10-22 16:51:11 +08:00
Yi 0e52971997 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-22 16:40:50 +08:00
Yi 1387f406a3 fix: log format 2024-10-22 16:40:27 +08:00
AkaraChen ff31f0540a style: lint 2024-10-22 15:32:58 +08:00
AkaraChen 4873e6e2a1 build: fix eslint stylistic 2024-10-22 15:32:48 +08:00
nite-knite 510ce057f7 chore: add package manager setting to vscode setting example 2024-10-22 14:18:55 +08:00
AkaraChen 0e53cc0e8c fix: eslint indent 2024-10-22 14:15:22 +08:00
Yi 0b8c896481 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-22 13:43:15 +08:00
Yi 15fe635465 chore: install package from GitHub 2024-10-22 13:43:01 +08:00
AkaraChen f8c3189f4d build: fix eslint undef 2024-10-22 11:43:23 +08:00
AkaraChen f215db87e3 build: fix eslint undef 2024-10-22 11:36:42 +08:00
Joel 67d02212b4 chore: pnpm 2024-10-22 11:18:30 +08:00
Joel cff9adaf8e chore: tools ts problems 2024-10-22 11:06:28 +08:00
AkaraChen cdd2a40086 style: minimium codemod 2024-10-22 02:24:59 +00:00
AkaraChen 024028bc52 build: sync eslint rule 2024-10-22 10:24:10 +08:00
AkaraChen 0ae085b48a build: add eslint common rule 2024-10-22 10:24:10 +08:00
AkaraChen 2094c54951 build: update eslint config antfu 2024-10-22 10:24:10 +08:00
AkaraChen f4f11135d3 build: using eslint flat config 2024-10-22 10:24:10 +08:00
Yeuoly 11270a7ef2 Migrate to DeclarativeBaseModel 2024-10-21 20:38:27 +08:00
Yeuoly 53e1b45d40 fix: remove .query reference of db.Model 2024-10-21 20:23:27 +08:00
Yeuoly bedbd658fe Merge main into fix/chore-fix 2024-10-21 20:01:49 +08:00
Yeuoly 7b62b5578e refactor: add manifest into upload interfaces 2024-10-21 18:48:03 +08:00
Joel 8e9d7a229d feat: scroll to view and fix action hidden 2024-10-21 18:21:45 +08:00
Joel 8f49572f85 chore: from marketplace tilte ui 2024-10-21 15:07:18 +08:00
JzoNg 5aa7696cc3 update style of action list 2024-10-21 11:34:21 +08:00
JzoNg 15dd79e822 provider detail data binding 2024-10-21 11:34:21 +08:00
JzoNg 4651ab4195 new style of provider detail 2024-10-21 11:34:21 +08:00
JzoNg 5e3160e6f6 fix title & description of tool provider 2024-10-21 11:34:21 +08:00
JzoNg 973cd126bb create & update endpoint 2024-10-21 11:34:21 +08:00
JzoNg ebaf8766ef endpoint form 2024-10-21 11:34:21 +08:00
JzoNg d2190e9c3a remove endpoint 2024-10-21 11:34:21 +08:00
JzoNg 37f55098fe switch endpoint service state 2024-10-21 11:34:21 +08:00
JzoNg b1771194cc servise of endpoints 2024-10-21 11:34:21 +08:00
JzoNg 0279bd8c75 endpoint card databing 2024-10-21 11:34:21 +08:00
JzoNg 5e077e4ce8 endpoints data binding 2024-10-21 11:34:21 +08:00
JzoNg 64067e1f20 plugin detail header operations 2024-10-21 11:34:21 +08:00
JzoNg 5295c72ca1 endpoints mock data 2024-10-21 11:34:21 +08:00
JzoNg 1ecea62052 add verified tag 2024-10-21 11:34:21 +08:00
JzoNg 307af29b65 add plugin description 2024-10-21 11:34:21 +08:00
JzoNg 10190a9aa5 plugin detail header data binding 2024-10-21 11:34:21 +08:00
JzoNg 7c5c35600c plugin detail type 2024-10-21 11:34:21 +08:00
JzoNg 63b333cdb1 modify plugin detail panel 2024-10-21 11:34:21 +08:00
JzoNg a6776190bd chore: update remix icon 2024-10-21 11:34:19 +08:00
AkaraChen 9577cbac27 build: docker use pnpm 2024-10-21 11:27:01 +08:00
AkaraChen f6ae13abad ci: migrate to pnpm 2024-10-21 11:14:30 +08:00
AkaraChen f3d501e7d5 fix: gen-icon script phantom deps 2024-10-21 10:43:52 +08:00
AkaraChen 2eab8fcc33 build: switch to pnpm 2024-10-21 10:43:52 +08:00
Joel bdb81fe20d feat: choose tool sticky 2024-10-18 18:18:59 +08:00
Yi 0f60fe7f2a chore: update workspace name (truncated for long name) 2024-10-18 14:17:53 +08:00
Yi 425f624de5 chore: add plugin panel 2024-10-18 14:02:40 +08:00
Yi b1919745e2 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-18 14:01:34 +08:00
twwu 9a242bcac9 Merge branch 'main' into feat/plugins 2024-10-18 09:59:43 +08:00
Yeuoly ccbe42eb5f feat: add plugin id into tool api entities 2024-10-17 20:46:29 +08:00
Yeuoly 45f8651a3d feat: support backwards invoke summary 2024-10-17 19:44:30 +08:00
Yeuoly 7754431a34 feat: support plugin max package size 2024-10-17 18:44:16 +08:00
Yi a6109a60b8 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-17 15:22:08 +08:00
Yi 28f7bbf83a chore: installation progress bar 2024-10-17 15:21:56 +08:00
Joel cac04c5f3c refactor: chagne card to client component 2024-10-17 15:06:06 +08:00
Yeuoly fa7215cfea Merge branch 'main' into fix/chore-fix 2024-10-17 13:46:43 +08:00
Yeuoly 678c89891a feat: support verified 2024-10-17 13:40:33 +08:00
Yeuoly beebcbd962 feat: add description 2024-10-17 12:59:11 +08:00
Joel 18f5f9cc37 feat: plugin upgrade 2024-10-16 18:05:55 +08:00
Joel 1787c5c93f chore: handle tag name too long 2024-10-16 16:39:47 +08:00
Joel f981494613 feat: plugin support emoji icon 2024-10-16 16:28:19 +08:00
Joel fbc853af92 feat: remove config 2024-10-16 16:28:18 +08:00
StyleZhang 1a64c660ba enable marketplace 2024-10-16 15:50:18 +08:00
Yeuoly 8495ed3348 add conversation id, app id and message id into plugin session 2024-10-16 15:10:50 +08:00
Yeuoly 31cca4a849 fix: add marketplace switch 2024-10-16 14:47:48 +08:00
Yeuoly 43ffccc8fd fix: install plugins 2024-10-16 14:02:05 +08:00
Yeuoly a81293cf5a feat: add category for plugins 2024-10-16 13:03:50 +08:00
Joel 846555af1b fix: action buttion ui 2024-10-16 11:45:25 +08:00
Joel bca94854f7 feat: plugin info 2024-10-16 11:30:04 +08:00
Joel 1bd70bd8bf chore: copy button 2024-10-16 11:05:51 +08:00
Joel d1dcd39191 feat: add debug info i18n and extract common to components 2024-10-16 10:52:16 +08:00
Joel 35384bda41 chore: refactor card loading 2024-10-15 22:52:57 +08:00
Joel 89fb6eb648 chore: set hideCornerMark to optional 2024-10-15 21:45:30 +08:00
Joel aa61a890b2 chore: change downloadCount to optional 2024-10-15 21:43:20 +08:00
Joel 31ece363c3 chore: chagne mangament attr name 2024-10-15 21:35:56 +08:00
Joel 70a5d78cc5 chore: priviege i18n 2024-10-15 21:31:06 +08:00
Joel 57f4dfdb6f feat: add permission data logic 2024-10-15 19:20:59 +08:00
Yi aa9028a607 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-15 15:48:05 +08:00
Yi d83f94c55c fix: set constrain for uploading packages only works in the Plugins tab 2024-10-15 15:47:54 +08:00
StyleZhang a8c5e0b0b0 tool list item click 2024-10-15 15:13:00 +08:00
Yi 177e8cbf73 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-15 14:57:37 +08:00
Yi 23828fd15a Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-15 14:57:11 +08:00
StyleZhang 2cc37ac8e5 tool list 2024-10-15 14:57:00 +08:00
Yi c9ee1e9ff2 feat: install difypkg ui 2024-10-15 14:56:59 +08:00
Joel 4f10f5d5f4 chore: hover show action 2024-10-15 11:57:44 +08:00
Yi c48c84674e Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-15 11:02:45 +08:00
Yi 1e9fbbf41b fix: dynamic sub header color 2024-10-15 11:02:25 +08:00
StyleZhang 4dd144ce43 tools list 2024-10-15 10:41:10 +08:00
Yi a387ff1c38 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-14 18:43:24 +08:00
Yi a9e367e6de feat: use-uploader hook 2024-10-14 18:43:08 +08:00
Joel e2fec587f8 feat: from marketplace 2024-10-14 18:35:13 +08:00
Yeuoly 276701e1b7 refactor: plugin installation 2024-10-14 17:52:29 +08:00
Yeuoly 8e1cf3233c fix: missing openai moderation 2024-10-14 16:42:36 +08:00
Yeuoly dd551e6ca8 Ruff: reformatter 2024-10-14 16:25:51 +08:00
Yeuoly ae1eeb9b2a Mergin main into fix/chore-fix 2024-10-14 16:22:12 +08:00
StyleZhang 39a6f0943d marketplace 2024-10-14 12:38:53 +08:00
JzoNg 684896d100 merge main 2024-10-14 10:29:52 +08:00
JzoNg 54f911f6cd endpoints 2024-10-13 10:49:55 +08:00
Joel 0e5c16d0c2 feat: view to ui and fix some ui promblem 2024-10-12 18:15:11 +08:00
Joel b8cd6ea478 feat: support view choose 2024-10-12 17:36:35 +08:00
JzoNg fc61fd0f50 action list 2024-10-12 17:08:45 +08:00
JzoNg 2fbfc988c4 plugin panel detail 2024-10-12 16:37:57 +08:00
JzoNg 99f5fea001 plugin detail panel header 2024-10-12 16:37:57 +08:00
StyleZhang ecd2a1be9f marketplace 2024-10-12 16:34:18 +08:00
Joel 49ee9ca5f1 feat: tool item support action 2024-10-12 16:04:16 +08:00
Joel 6d0eef12b1 feat: split tools data to out and add demo 2024-10-12 14:30:46 +08:00
StyleZhang c1e0a939b0 marketplace 2024-10-12 12:46:49 +08:00
JzoNg 060a894bd1 interaction of plugin detail panel 2024-10-12 12:36:29 +08:00
JzoNg c75e02b5b2 update provider card 2024-10-12 12:36:29 +08:00
StyleZhang fcf43ee845 plugin page context 2024-10-12 11:33:12 +08:00
StyleZhang 466f61d044 relocate file 2024-10-12 11:05:03 +08:00
StyleZhang 27ae74af50 hook 2024-10-12 11:03:00 +08:00
Joel 8dd941e3d2 chore: instal plug add tag 2024-10-11 18:18:32 +08:00
Joel dec4bf6b98 fix: install modal item server 2024-10-11 18:06:23 +08:00
Joel e2c33fc40f fix: plugin item i18n 2024-10-11 18:05:45 +08:00
Yi c74e59d1f4 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-11 17:28:27 +08:00
Yi 1fcb902715 feat: add cards to "install from marketplace" 2024-10-11 17:25:33 +08:00
JzoNg c08f98218c hide search in other pages 2024-10-11 17:13:28 +08:00
Yi c6377f6e38 fix: naming styles 2024-10-11 16:29:07 +08:00
Yi 3cb0a5bd68 Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-11 16:28:04 +08:00
Yi 95777d23e0 fix: naming styles 2024-10-11 16:27:31 +08:00
JzoNg e7dc16fd08 provider card 2024-10-11 16:21:19 +08:00
JzoNg 495dec143c unconfigured provider 2024-10-11 16:21:19 +08:00
JzoNg 4cc6dfa232 new style of provider card 2024-10-11 16:21:18 +08:00
JzoNg d1452d4af4 no provider installed 2024-10-11 16:21:18 +08:00
JzoNg d68ca56b3a system default model 2024-10-11 16:21:18 +08:00
JzoNg 49856d8d17 setting content header & close button 2024-10-11 16:21:18 +08:00
JzoNg 902de72cc0 new style of settings 2024-10-11 16:21:18 +08:00
StyleZhang 76f6b8d104 marketplace 2024-10-11 16:15:24 +08:00
StyleZhang f111e605c4 marketplace 2024-10-11 15:27:14 +08:00
Joel b358ed3a5b fix: init workflow image crash 2024-10-11 14:31:14 +08:00
Joel 88dbf639e0 chore: enchance locale props 2024-10-11 14:24:43 +08:00
Joel aa8b525b48 fix: icon tsx to router problem 2024-10-11 14:10:24 +08:00
Yi c990bc61db feat: install plugins (partial) 2024-10-11 12:39:27 +08:00
Junyan QinandGitHub b58f8dd7b4 feat: download pkg from marketplace (#9184) 2024-10-11 02:00:02 +08:00
Yeuoly 118fa66567 feat: backwards invoke tools 2024-10-10 18:09:06 +08:00
Joel 6d7588f236 chore: fix ui 2024-10-10 17:53:13 +08:00
Joel 8257c7bf02 chore: remove useless data 2024-10-10 17:49:23 +08:00
Joel 946068967b feat: finish card components 2024-10-10 17:47:04 +08:00
Yeuoly 699d41deec fix: add source to plugin entity 2024-10-10 16:47:25 +08:00
Yeuoly dd0462c1dc feat: support two install source 2024-10-10 16:35:36 +08:00
Joel 19f5684960 feat: add label and fix some ui problem 2024-10-10 11:29:11 +08:00
Joel 6d62840aff chore: split card component 2024-10-10 10:40:26 +08:00
Joel ab868ac979 fix: error igm 2024-10-10 10:25:25 +08:00
Joel 1d74e693ea chore: fix imge name 2024-10-10 10:22:18 +08:00
Yeuoly a470e0e60e fix: missing detailed paths of endpoints 2024-10-10 00:12:46 +08:00
Yeuoly 2622159763 feat: support verify signature 2024-10-09 23:13:01 +08:00
Yeuoly dfaf639790 feat: support endpoint url template 2024-10-09 22:58:36 +08:00
Yeuoly ae96f66a08 feat: support list endpoints for single plugin, fix: failed to clear endpoint credentials 2024-10-09 22:33:18 +08:00
Joel fa43d4202f feat: plugin item 2024-10-09 18:36:15 +08:00
Joel 6b29860788 feat: add installed 2024-10-09 18:12:14 +08:00
Joel 36800eeaba feat: base card component 2024-10-09 17:51:54 +08:00
Yi 67acd174ac add different styles to plugins and discover 2024-10-09 15:55:33 +08:00
StyleZhang b5edc64b2a plugin type switch 2024-10-09 15:06:09 +08:00
Yi d00b2724cc Merge branch 'feat/plugins' of github.com:langgenius/dify into feat/plugins 2024-10-09 12:53:56 +08:00
Yi 43f87c0b86 make the drop plugin only appears when the user selects "plugins" 2024-10-09 12:53:43 +08:00
Joel 7a43f48c95 chore: add test page 2024-10-09 11:35:16 +08:00
Yeuoly 570b7d18ac fix: endpoint apis 2024-10-08 23:48:38 +08:00
Yeuoly a9c21ef929 feat: uninstall plugins 2024-10-08 22:38:33 +08:00
Yeuoly e27a03ae15 feat: support install plugin 2024-10-08 21:28:59 +08:00
StyleZhang 58a913b09d marketplace 2024-10-08 17:58:05 +08:00
Joel cd03795f2c chore: add endpoint types 2024-10-08 15:44:52 +08:00
Yeuoly 56b7853afe feat: compat tool provider credentials to updated data 2024-09-30 23:22:23 +08:00
takatost e12f4009d3 feat: optimize icon url 2024-09-30 17:46:40 +08:00
Yeuoly 6dfc31a542 refactor: credentials schemas to array 2024-09-30 17:39:13 +08:00
Yeuoly c9f80b46a1 fix: add endpoint name 2024-09-30 16:57:09 +08:00
Joel 36f8b5711d feat: plugin types 2024-09-30 15:29:53 +08:00
Yeuoly 0025b27200 fix: tool invocation logs 2024-09-29 21:09:01 +08:00
Yeuoly 0dd05d7b6d feat: tool output schema 2024-09-29 20:58:07 +08:00
takatost 7c83d5ce76 feat: add dockerignore items 2024-09-29 20:16:21 +08:00
takatost a57f60a6e0 feat: remove unused codes 2024-09-29 19:47:47 +08:00
Yeuoly 2f36692bf9 fix: get tool runtime parameters 2024-09-29 19:37:03 +08:00
Joel f9c48e9ea9 fix: eslint to find top dir 2024-09-29 18:27:36 +08:00
takatost bcdb407be8 feat: remove unused codes 2024-09-29 18:24:33 +08:00
Yeuoly d4e007f9db feat: support get tool runtime parameters 2024-09-29 18:19:03 +08:00
takatost 8563155d1b feat: remove unused codes 2024-09-29 18:18:01 +08:00
takatost 8236373498 feat: remove unused codes 2024-09-29 18:16:21 +08:00
Yeuoly 196bfeaaf4 Merge branch 'main' into fix/chore-fix 2024-09-29 17:14:10 +08:00
Yeuoly 957ab093c9 enhancement: reduce requests to plugin daemon 2024-09-29 17:07:40 +08:00
Yeuoly e9e5c8806a refactor: using DeclarativeBase as parent class of models, refactored tools 2024-09-29 17:00:58 +08:00
Yeuoly c8bc3892b3 refactor: invoke tool from dify 2024-09-29 14:44:22 +08:00
Yeuoly 735e57b73a fix: transform generic error message into correct type 2024-09-29 13:46:16 +08:00
Yeuoly 635a53ea38 fix: import undefined types 2024-09-29 13:23:14 +08:00
Yeuoly 7b76b1ff82 Merge fix/chore-fix into fix/chore-fix 2024-09-29 13:12:22 +08:00
takatost 47c8824be6 feat: move model request to plugin daemon 2024-09-29 00:15:17 +08:00
takatost 1c3213184e feat: move model request to plugin daemon 2024-09-29 00:15:14 +08:00
Yeuoly d9cced8419 Merge branch 'main' into fix/chore-fix 2024-09-28 20:18:28 +08:00
Yeuoly c3359a9291 refactor: using plugin id to dispatch request instead 2024-09-27 21:48:48 +08:00
JzoNg 3b48f8c98e Merge branch 'main' into tp 2024-09-27 16:47:57 +08:00
JzoNg cef1010cb5 style update 2024-09-27 16:47:01 +08:00
Yeuoly 2da32e49d0 fix: tests 2024-09-26 17:51:13 +08:00
Yeuoly 1837692a66 fix: sse error message 2024-09-26 17:40:27 +08:00
Yeuoly 5dcd25a613 fix: missing error message 2024-09-26 17:22:39 +08:00
Yeuoly 507fff0259 fix: tts file was deleted before invocation 2024-09-26 15:47:16 +08:00
Yeuoly 0ad9dbea63 feat: backwards invoke model 2024-09-26 15:38:22 +08:00
Joel cb4875a3a7 chore: split the common tailwind config 2024-09-26 15:06:36 +08:00
Yeuoly 4c28034224 refactor: encryption 2024-09-26 14:51:10 +08:00
Yeuoly 1d575524c3 fix: missing user id 2024-09-26 14:20:05 +08:00
Yeuoly dc255cc154 Merge main into feat/plugin 2024-09-26 12:59:06 +08:00
Yeuoly ea497f828f feat: endpoint management 2024-09-26 12:49:00 +08:00
Yeuoly 153dc5b3f3 feat: endpoint apis 2024-09-26 10:26:45 +08:00
Yeuoly a91951b374 feat: invoke node 2024-09-24 20:15:13 +08:00
Yeuoly 68c10a1672 feat: add backwards invoke node api 2024-09-24 18:03:48 +08:00
Yeuoly 592f85f7a9 formatter 2024-09-24 16:40:42 +08:00
Yeuoly cda9f6ec6b Merge main into fix/chore-fix 2024-09-24 16:38:38 +08:00
Yeuoly 64706c709c fix 2024-09-24 16:35:01 +08:00
Yeuoly 9722e6bcb1 fix: allow duplicate tool providers 2024-09-24 16:33:19 +08:00
Yeuoly 1907d791e1 enhance: add gzip 2024-09-24 16:15:50 +08:00
Yeuoly fb3a701c86 fix: stream with empty line 2024-09-24 16:02:01 +08:00
StyleZhang bbca708832 add marketplace card 2024-09-24 11:18:34 +08:00
Yeuoly 947bfdc807 feat: validate credentials 2024-09-23 21:13:02 +08:00
Yeuoly 7a3e756020 refactor: list tools 2024-09-23 18:06:16 +08:00
Yeuoly 435e71eb60 refactor 2024-09-23 13:09:46 +08:00
JzoNg 05aec43ee3 Merge branch 'main' into tp 2024-09-23 11:39:46 +08:00
Yeuoly 91cb80f795 refactor: tool 2024-09-20 23:48:48 +08:00
Yeuoly 3c1d32e3ac feat: uninstall plugin 2024-09-20 21:50:44 +08:00
Yeuoly eef79a5196 feat: support install plugin 2024-09-20 21:35:19 +08:00
Yeuoly 2223dfb266 feat: get debugging key 2024-09-20 15:08:39 +08:00
Yeuoly 9693b5ad0c feat: debugging key 2024-09-20 14:43:01 +08:00
Yeuoly d4bf575d0a impl: basic plugin manager 2024-09-20 13:55:09 +08:00
Yeuoly 73ce692e24 feat: add inner api key 2024-09-20 13:32:11 +08:00
Yeuoly 661392eaef refactor: tool 2024-09-20 02:25:14 +08:00
Yeuoly c472ea6c67 fix: pydantic 2024-09-19 18:02:24 +08:00
Yeuoly 4eaba3049a Merge main 2024-09-19 17:54:08 +08:00
Yi e8127756e0 Merge branch 'main' of github.com:langgenius/dify into feat/plugins 2024-09-18 20:57:52 +08:00
Yi 792595a46f update page header 2024-09-18 18:32:33 +08:00
Yi d7d7281c93 feat: plugin homepage 2024-09-16 18:58:39 +08:00
Yi 21193c2fbf update the plugins page 2024-09-14 17:09:25 +08:00
Yeuoly 00d1c45518 Merge main 2024-09-14 02:47:01 +08:00
Yeuoly 87c746f6bb tmp 2024-09-14 01:26:22 +08:00
Yeuoly 70c001436e support variable 2024-09-10 18:13:33 +08:00
Yeuoly cf73374c1b refactor: stream output 2024-09-10 17:16:55 +08:00
Yeuoly b0d53c0ac4 Merge main 2024-09-10 15:42:59 +08:00
Yeuoly 9c7bcd5abc Merge main 2024-09-10 14:05:20 +08:00
Yeuoly b7c5abc5dd reformatter 2024-08-30 23:29:04 +08:00
Yeuoly de01ca8d55 feat: inner api encrypt 2024-08-30 21:25:58 +08:00
Yeuoly 60e75dc748 fix: linter 2024-08-30 21:11:39 +08:00
Yeuoly 279dee485d feat: type 2024-08-30 21:10:19 +08:00
Yeuoly db8bf2a85e Merge branch 'main' into feat/plugin 2024-08-30 18:21:22 +08:00
Yeuoly 46ba16fe90 fix: reformatter 2024-08-30 18:21:03 +08:00
Yeuoly 886a160115 fix: invoke tool streamingly 2024-08-30 18:11:38 +08:00
Yeuoly cf4e9f317e refactor: tool models 2024-08-30 15:55:10 +08:00
Yeuoly 1fa3b9cfd8 refactor tools 2024-08-30 14:23:14 +08:00
Yeuoly 50a5cfe56a fix: endpoint using default user 2024-08-29 21:48:20 +08:00
Yeuoly ece82b87bf feat: invoke app 2024-08-29 21:14:23 +08:00
Yeuoly 12ea085e22 feat: implement invoke app args 2024-08-29 20:50:36 +08:00
Yeuoly 41ed2e0cc2 feat: backwards invoke app 2024-08-29 20:17:17 +08:00
Yeuoly 113ff27d07 fix: types 2024-08-29 20:06:14 +08:00
Yeuoly ec711d094d refactor: enforce return object in app generator 2024-08-29 19:49:57 +08:00
Yeuoly a073de44e9 Merge branch 'main' into feat/plugin 2024-08-29 17:08:44 +08:00
Yeuoly 6ce02b07d3 feat: add type annatation 2024-08-29 14:23:19 +08:00
Yeuoly f47712beae feat: add type annatation 2024-08-29 14:18:00 +08:00
Yeuoly 4a8d3c54ca fix: workflow as tool type 2024-08-29 14:09:47 +08:00
Yeuoly c8b0160ea9 fix: tool type 2024-08-29 14:06:10 +08:00
Yeuoly 531ffaec4f fix: tool node 2024-08-29 13:56:48 +08:00
Yeuoly c28998a6f0 refactor: tool message transformer 2024-08-29 13:42:31 +08:00
Yeuoly 4b4741f7ed Merge main into feat/plugin 2024-08-29 13:09:13 +08:00
Yeuoly 25b8a512bf feat: invoke app 2024-08-29 12:55:00 +08:00
Yeuoly 02d26818ad Merge branch 'main' into feat/plugin 2024-07-31 14:51:36 +08:00
Yeuoly 31e8b134d1 feat: backwards invoke llm 2024-07-29 22:08:14 +08:00
Yeuoly d52476c1c9 feat: support backwards invocation 2024-07-29 18:57:34 +08:00
Yeuoly f29b44acd8 feat: support plugin inner api 2024-07-29 16:40:04 +08:00
Yeuoly ed7fcc5f7d Merge branch 'main' into feat/plugin 2024-07-29 16:07:19 +08:00
Yeuoly c6f34f5c17 Merge branch 'main' into feat/plugin 2024-07-15 16:03:11 +08:00
Yeuoly e1db77eec2 fix 2024-07-15 16:00:11 +08:00
Yeuoly 563d81277b refactor: tool response to generator 2024-07-09 15:37:56 +08:00
Yeuoly 364df36ac4 feat: plugin call dify 2024-07-08 22:37:20 +08:00
4346 changed files with 146148 additions and 282788 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
FROM mcr.microsoft.com/devcontainers/python:3.10
FROM mcr.microsoft.com/devcontainers/python:3.12
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
# && apt-get -y install --no-install-recommends <your-package-list-here>
+1 -1
View File
@@ -1,7 +1,7 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/anaconda
{
"name": "Python 3.10",
"name": "Python 3.12",
"build": {
"context": "..",
"dockerfile": "Dockerfile"
+5 -3
View File
@@ -1,11 +1,13 @@
#!/bin/bash
cd web && npm install
npm add -g pnpm@9.12.2
cd web && pnpm install
pipx install poetry
echo 'alias start-api="cd /workspaces/dify/api && poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug"' >> ~/.bashrc
echo 'alias start-worker="cd /workspaces/dify/api && poetry run python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion"' >> ~/.bashrc
echo 'alias start-web="cd /workspaces/dify/web && npm run dev"' >> ~/.bashrc
echo 'alias start-web="cd /workspaces/dify/web && pnpm dev"' >> ~/.bashrc
echo 'alias start-containers="cd /workspaces/dify/docker && docker-compose -f docker-compose.middleware.yaml -p dify up -d"' >> ~/.bashrc
echo 'alias stop-containers="cd /workspaces/dify/docker && docker-compose -f docker-compose.middleware.yaml -p dify down"' >> ~/.bashrc
source /home/vscode/.bashrc
source /home/vscode/.bashrc
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
poetry install -C api
cd api && poetry install
+36
View File
@@ -0,0 +1,36 @@
name: Setup Poetry and Python
inputs:
python-version:
description: Python version to use and the Poetry installed with
required: true
default: '3.11'
poetry-version:
description: Poetry version to set up
required: true
default: '2.0.1'
poetry-lockfile:
description: Path to the Poetry lockfile to restore cache from
required: true
default: ''
runs:
using: composite
steps:
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: pip
- name: Install Poetry
shell: bash
run: pip install poetry==${{ inputs.poetry-version }}
- name: Restore Poetry cache
if: ${{ inputs.poetry-lockfile != '' }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: poetry
cache-dependency-path: ${{ inputs.poetry-lockfile }}
+19 -28
View File
@@ -1,34 +1,25 @@
# Checklist:
# Summary
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
> [!Tip]
> Close issue syntax: `Fixes #<issue number>` or `Resolves #<issue number>`, see [documentation](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more details.
# Screenshots
| Before | After |
|--------|-------|
| ... | ... |
# Checklist
> [!IMPORTANT]
> Please review the checklist below before submitting your pull request.
- [ ] Please open an issue before creating a PR or link to an existing issue
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
# Description
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue. Close issue syntax: `Fixes #<issue number>`, see [documentation](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more details.
Fixes
## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs)
- [ ] Improvement, including but not limited to code refactoring, performance optimization, and UI/UX improvement
- [ ] Dependency upgrade
# Testing Instructions
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
- [ ] Test A
- [ ] Test B
- [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
- [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
- [x] I've updated the documentation accordingly.
- [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
+14 -35
View File
@@ -4,9 +4,11 @@ on:
pull_request:
branches:
- main
- plugins/beta
paths:
- api/**
- docker/**
- .github/workflows/api-tests.yml
concurrency:
group: api-tests-${{ github.head_ref || github.run_id }}
@@ -19,7 +21,6 @@ jobs:
strategy:
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
@@ -27,16 +28,11 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Setup Poetry and Python ${{ matrix.python-version }}
uses: ./.github/actions/setup-poetry
with:
python-version: ${{ matrix.python-version }}
cache-dependency-path: |
api/pyproject.toml
api/poetry.lock
- name: Install Poetry
uses: abatilo/actions-poetry@v3
poetry-lockfile: api/poetry.lock
- name: Check Poetry lockfile
run: |
@@ -47,16 +43,17 @@ jobs:
run: poetry install -C api --with dev
- name: Check dependencies in pyproject.toml
run: poetry run -C api bash dev/pytest/pytest_artifacts.sh
run: poetry run -P api bash dev/pytest/pytest_artifacts.sh
- name: Run Unit tests
run: poetry run -C api bash dev/pytest/pytest_unit_tests.sh
run: poetry run -P api bash dev/pytest/pytest_unit_tests.sh
- name: Run ModelRuntime
run: poetry run -C api bash dev/pytest/pytest_model_runtime.sh
- name: Run dify config tests
run: poetry run -P api python dev/pytest/pytest_config_tests.py
- name: Run Tool
run: poetry run -C api bash dev/pytest/pytest_tools.sh
- name: Run mypy
run: |
poetry run -C api python -m mypy --install-types --non-interactive .
- name: Set up dotenvs
run: |
@@ -67,7 +64,7 @@ jobs:
run: sh .github/workflows/expose_service_ports.sh
- name: Set up Sandbox
uses: hoverkraft-tech/compose-action@v2.0.0
uses: hoverkraft-tech/compose-action@v2.0.2
with:
compose-file: |
docker/docker-compose.middleware.yaml
@@ -76,22 +73,4 @@ jobs:
ssrf_proxy
- name: Run Workflow
run: poetry run -C api bash dev/pytest/pytest_workflow.sh
- name: Set up Vector Stores (Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch)
uses: hoverkraft-tech/compose-action@v2.0.0
with:
compose-file: |
docker/docker-compose.yaml
services: |
weaviate
qdrant
etcd
minio
milvus-standalone
pgvecto-rs
pgvector
chroma
elasticsearch
- name: Test Vector Stores
run: poetry run -C api bash dev/pytest/pytest_vdb.sh
run: poetry run -P api bash dev/pytest/pytest_workflow.sh
+17 -2
View File
@@ -5,6 +5,8 @@ on:
branches:
- "main"
- "deploy/dev"
- "plugins/beta"
- "dev/plugin-deploy"
release:
types: [published]
@@ -49,7 +51,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Login to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ env.DOCKERHUB_USER }}
password: ${{ env.DOCKERHUB_TOKEN }}
@@ -114,7 +116,7 @@ jobs:
merge-multiple: true
- name: Login to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ env.DOCKERHUB_USER }}
password: ${{ env.DOCKERHUB_TOKEN }}
@@ -139,3 +141,16 @@ jobs:
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env[matrix.image_name_env] }}:${{ steps.meta.outputs.version }}
- name: print context var
uses: actions/checkout@v4
- name: deploy pod in plugin env
if: github.ref == 'refs/heads/dev/plugin-deploy'
env:
IMAGEHASH: ${{ github.sha }}
APICMD: "${{ secrets.PLUGIN_CD_API_CURL }}"
WEBCMD: "${{ secrets.PLUGIN_CD_WEB_CURL }}"
run: |
bash -c "${APICMD/yourNewVersion/$IMAGEHASH}"
bash -c "${WEBCMD/yourNewVersion/$IMAGEHASH}"
+8 -14
View File
@@ -4,8 +4,10 @@ on:
pull_request:
branches:
- main
- plugins/beta
paths:
- api/migrations/**
- .github/workflows/db-migration-test.yml
concurrency:
group: db-migration-test-${{ github.ref }}
@@ -14,25 +16,15 @@ concurrency:
jobs:
db-migration-test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.10"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Setup Poetry and Python
uses: ./.github/actions/setup-poetry
with:
python-version: ${{ matrix.python-version }}
cache-dependency-path: |
api/pyproject.toml
api/poetry.lock
- name: Install Poetry
uses: abatilo/actions-poetry@v3
poetry-lockfile: api/poetry.lock
- name: Install dependencies
run: poetry install -C api
@@ -43,7 +35,7 @@ jobs:
cp middleware.env.example middleware.env
- name: Set up Middlewares
uses: hoverkraft-tech/compose-action@v2.0.0
uses: hoverkraft-tech/compose-action@v2.0.2
with:
compose-file: |
docker/docker-compose.middleware.yaml
@@ -57,6 +49,8 @@ jobs:
cp .env.example .env
- name: Run DB Migration
env:
DEBUG: true
run: |
cd api
poetry run python -m flask upgrade-db
+23
View File
@@ -0,0 +1,23 @@
name: Deploy Plugin Dev
on:
workflow_run:
workflows: ["Build and Push API & Web"]
branches:
- "dev/plugin-deploy"
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
if: |
github.event.workflow_run.conclusion == 'success'
steps:
- name: Deploy to server
uses: appleboy/ssh-action@v0.1.8
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: "echo 123"
+47
View File
@@ -0,0 +1,47 @@
name: Build docker image
on:
pull_request:
branches:
- "main"
paths:
- api/Dockerfile
- web/Dockerfile
concurrency:
group: docker-build-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-docker:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- service_name: "api-amd64"
platform: linux/amd64
context: "api"
- service_name: "api-arm64"
platform: linux/arm64
context: "api"
- service_name: "web-amd64"
platform: linux/amd64
context: "web"
- service_name: "web-arm64"
platform: linux/arm64
context: "web"
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker Image
uses: docker/build-push-action@v6
with:
push: false
context: "{{defaultContext}}:${{ matrix.context }}"
platforms: ${{ matrix.platform }}
cache-from: type=gha
cache-to: type=gha,mode=max
+4 -1
View File
@@ -7,5 +7,8 @@ yq eval '.services["milvus-standalone"].ports += ["19530:19530"]' -i docker/dock
yq eval '.services.pgvector.ports += ["5433:5432"]' -i docker/docker-compose.yaml
yq eval '.services["pgvecto-rs"].ports += ["5431:5432"]' -i docker/docker-compose.yaml
yq eval '.services["elasticsearch"].ports += ["9200:9200"]' -i docker/docker-compose.yaml
yq eval '.services.couchbase-server.ports += ["8091-8096:8091-8096"]' -i docker/docker-compose.yaml
yq eval '.services.couchbase-server.ports += ["11210:11210"]' -i docker/docker-compose.yaml
yq eval '.services.tidb.ports += ["4000:4000"]' -i docker/docker-compose.yaml
echo "Ports exposed for sandbox, weaviate, qdrant, chroma, milvus, pgvector, pgvecto-rs, elasticsearch"
echo "Ports exposed for sandbox, weaviate, tidb, qdrant, chroma, milvus, pgvector, pgvecto-rs, elasticsearch, couchbase"
+48 -19
View File
@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- main
- plugins/beta
concurrency:
group: style-${{ github.head_ref || github.run_id }}
@@ -22,33 +23,28 @@ jobs:
id: changed-files
uses: tj-actions/changed-files@v45
with:
files: api/**
files: |
api/**
.github/workflows/style.yml
- name: Set up Python
uses: actions/setup-python@v5
- name: Setup Poetry and Python
if: steps.changed-files.outputs.any_changed == 'true'
with:
python-version: '3.10'
uses: ./.github/actions/setup-poetry
- name: Install Poetry
if: steps.changed-files.outputs.any_changed == 'true'
uses: abatilo/actions-poetry@v3
- name: Python dependencies
- name: Install dependencies
if: steps.changed-files.outputs.any_changed == 'true'
run: poetry install -C api --only lint
- name: Ruff check
if: steps.changed-files.outputs.any_changed == 'true'
run: poetry run -C api ruff check ./api
run: |
poetry run -C api ruff --version
poetry run -C api ruff check ./
poetry run -C api ruff format --check ./
- name: Dotenv check
if: steps.changed-files.outputs.any_changed == 'true'
run: poetry run -C api dotenv-linter ./api/.env.example ./web/.env.example
- name: Ruff formatter check
if: steps.changed-files.outputs.any_changed == 'true'
run: poetry run -C api ruff format --check ./api
run: poetry run -P api dotenv-linter ./api/.env.example ./web/.env.example
- name: Lint hints
if: failure()
@@ -71,22 +67,55 @@ jobs:
with:
files: web/**
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
- name: Setup NodeJS
uses: actions/setup-node@v4
if: steps.changed-files.outputs.any_changed == 'true'
with:
node-version: 20
cache: yarn
cache: pnpm
cache-dependency-path: ./web/package.json
- name: Web dependencies
if: steps.changed-files.outputs.any_changed == 'true'
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Web style check
if: steps.changed-files.outputs.any_changed == 'true'
run: yarn run lint
docker-compose-template:
name: Docker Compose Template
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check changed files
id: changed-files
uses: tj-actions/changed-files@v45
with:
files: |
docker/generate_docker_compose
docker/.env.example
docker/docker-compose-template.yaml
docker/docker-compose.yaml
- name: Generate Docker Compose
if: steps.changed-files.outputs.any_changed == 'true'
run: |
cd docker
./generate_docker_compose
- name: Check for changes
if: steps.changed-files.outputs.any_changed == 'true'
run: git diff --exit-code
superlinter:
name: SuperLinter
@@ -112,7 +141,7 @@ jobs:
if: steps.changed-files.outputs.any_changed == 'true'
env:
BASH_SEVERITY: warning
DEFAULT_BRANCH: main
DEFAULT_BRANCH: plugins/beta
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IGNORE_GENERATED_FILES: true
IGNORE_GITIGNORED_FILES: true
+3 -3
View File
@@ -32,10 +32,10 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
cache: ''
cache-dependency-path: 'yarn.lock'
cache-dependency-path: 'pnpm-lock.yaml'
- name: Install Dependencies
run: yarn install
run: pnpm install
- name: Test
run: yarn test
run: pnpm test
@@ -38,11 +38,11 @@ jobs:
- name: Install dependencies
if: env.FILES_CHANGED == 'true'
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run npm script
if: env.FILES_CHANGED == 'true'
run: npm run auto-gen-i18n
run: pnpm run auto-gen-i18n
- name: Create Pull Request
if: env.FILES_CHANGED == 'true'
+73
View File
@@ -0,0 +1,73 @@
name: Run VDB Tests
on:
pull_request:
branches:
- main
paths:
- api/core/rag/datasource/**
- docker/**
- .github/workflows/vdb-tests.yml
- api/poetry.lock
- api/pyproject.toml
concurrency:
group: vdb-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
test:
name: VDB Tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.11"
- "3.12"
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Poetry and Python ${{ matrix.python-version }}
uses: ./.github/actions/setup-poetry
with:
python-version: ${{ matrix.python-version }}
poetry-lockfile: api/poetry.lock
- name: Check Poetry lockfile
run: |
poetry check -C api --lock
poetry show -C api
- name: Install dependencies
run: poetry install -C api --with dev
- name: Set up dotenvs
run: |
cp docker/.env.example docker/.env
cp docker/middleware.env.example docker/middleware.env
- name: Expose Service Ports
run: sh .github/workflows/expose_service_ports.sh
- name: Set up Vector Stores (TiDB, Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase)
uses: hoverkraft-tech/compose-action@v2.0.2
with:
compose-file: |
docker/docker-compose.yaml
services: |
weaviate
qdrant
couchbase-server
etcd
minio
milvus-standalone
pgvecto-rs
pgvector
chroma
elasticsearch
tidb
- name: Test Vector Stores
run: poetry run -P api bash dev/pytest/pytest_vdb.sh
+3 -3
View File
@@ -34,13 +34,13 @@ jobs:
if: steps.changed-files.outputs.any_changed == 'true'
with:
node-version: 20
cache: yarn
cache: pnpm
cache-dependency-path: ./web/package.json
- name: Install dependencies
if: steps.changed-files.outputs.any_changed == 'true'
run: yarn install --frozen-lockfile
run: pnpm install --frozen-lockfile
- name: Run tests
if: steps.changed-files.outputs.any_changed == 'true'
run: yarn test
run: pnpm test
+11 -1
View File
@@ -173,6 +173,10 @@ docker/volumes/myscale/log/*
docker/volumes/unstructured/*
docker/volumes/pgvector/data/*
docker/volumes/pgvecto_rs/data/*
docker/volumes/couchbase/*
docker/volumes/oceanbase/*
docker/volumes/plugin_daemon/*
!docker/volumes/oceanbase/init.d
docker/nginx/conf.d/default.conf
docker/nginx/ssl/*
@@ -189,4 +193,10 @@ pyrightconfig.json
api/.vscode
.idea/
.vscode
.vscode
# pnpm
/.pnpm-store
# plugin migrate
plugins.jsonl
+18 -19
View File
@@ -1,6 +1,8 @@
# CONTRIBUTING
So you're looking to contribute to Dify - that's awesome, we can't wait to see what you do. As a startup with limited headcount and funding, we have grand ambitions to design the most intuitive workflow for building and managing LLM applications. Any help from the community counts, truly.
We need to be nimble and ship fast given where we are, but we also want to make sure that contributors like you get as smooth an experience at contributing as possible. We've assembled this contribution guide for that purpose, aiming at getting you familiarized with the codebase & how we work with contributors, so you could quickly jump to the fun part.
We need to be nimble and ship fast given where we are, but we also want to make sure that contributors like you get as smooth an experience at contributing as possible. We've assembled this contribution guide for that purpose, aiming at getting you familiarized with the codebase & how we work with contributors, so you could quickly jump to the fun part.
This guide, like Dify itself, is a constant work in progress. We highly appreciate your understanding if at times it lags behind the actual project, and welcome any feedback for us to improve.
@@ -10,14 +12,12 @@ In terms of licensing, please take a minute to read our short [License and Contr
[Find](https://github.com/langgenius/dify/issues?q=is:issue+is:open) an existing issue, or [open](https://github.com/langgenius/dify/issues/new/choose) a new one. We categorize issues into 2 types:
### Feature requests:
### Feature requests
* If you're opening a new feature request, we'd like you to explain what the proposed feature achieves, and include as much context as possible. [@perzeusss](https://github.com/perzeuss) has made a solid [Feature Request Copilot](https://udify.app/chat/MK2kVSnw1gakVwMX) that helps you draft out your needs. Feel free to give it a try.
* If you want to pick one up from the existing issues, simply drop a comment below it saying so.
A team member working in the related direction will be looped in. If all looks good, they will give the go-ahead for you to start coding. We ask that you hold off working on the feature until then, so none of your work goes to waste should we propose changes.
Depending on whichever area the proposed feature falls under, you might talk to different team members. Here's rundown of the areas each our team members are working on at the moment:
@@ -40,7 +40,7 @@ In terms of licensing, please take a minute to read our short [License and Contr
| Non-core features and minor enhancements | Low Priority |
| Valuable but not immediate | Future-Feature |
### Anything else (e.g. bug report, performance optimization, typo correction):
### Anything else (e.g. bug report, performance optimization, typo correction)
* Start coding right away.
@@ -52,7 +52,6 @@ In terms of licensing, please take a minute to read our short [License and Contr
| Non-critical bugs, performance boosts | Medium Priority |
| Minor fixes (typos, confusing but working UI) | Low Priority |
## Installing
Here are the steps to set up Dify for development:
@@ -63,7 +62,7 @@ Here are the steps to set up Dify for development:
Clone the forked repository from your terminal:
```
```shell
git clone git@github.com:<github_username>/dify.git
```
@@ -71,21 +70,21 @@ git clone git@github.com:<github_username>/dify.git
Dify requires the following dependencies to build, make sure they're installed on your system:
- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Node.js v18.x (LTS)](http://nodejs.org)
- [npm](https://www.npmjs.com/) version 8.x.x or [Yarn](https://yarnpkg.com/)
- [Python](https://www.python.org/) version 3.10.x
* [Docker](https://www.docker.com/)
* [Docker Compose](https://docs.docker.com/compose/install/)
* [Node.js v18.x (LTS)](http://nodejs.org)
* [npm](https://www.npmjs.com/) version 8.x.x or [Yarn](https://yarnpkg.com/)
* [Python](https://www.python.org/) version 3.11.x or 3.12.x
### 4. Installations
Dify is composed of a backend and a frontend. Navigate to the backend directory by `cd api/`, then follow the [Backend README](api/README.md) to install it. In a separate terminal, navigate to the frontend directory by `cd web/`, then follow the [Frontend README](web/README.md) to install.
Check the [installation FAQ](https://docs.dify.ai/learn-more/faq/self-host-faq) for a list of common issues and steps to troubleshoot.
Check the [installation FAQ](https://docs.dify.ai/learn-more/faq/install-faq) for a list of common issues and steps to troubleshoot.
### 5. Visit dify in your browser
To validate your set up, head over to [http://localhost:3000](http://localhost:3000) (the default, or your self-configured URL and port) in your browser. You should now see Dify up and running.
To validate your set up, head over to [http://localhost:3000](http://localhost:3000) (the default, or your self-configured URL and port) in your browser. You should now see Dify up and running.
## Developing
@@ -97,9 +96,9 @@ To help you quickly navigate where your contribution fits, a brief, annotated ou
### Backend
Difys backend is written in Python using [Flask](https://flask.palletsprojects.com/en/3.0.x/). It uses [SQLAlchemy](https://www.sqlalchemy.org/) for ORM and [Celery](https://docs.celeryq.dev/en/stable/getting-started/introduction.html) for task queueing. Authorization logic goes via Flask-login.
Difys backend is written in Python using [Flask](https://flask.palletsprojects.com/en/3.0.x/). It uses [SQLAlchemy](https://www.sqlalchemy.org/) for ORM and [Celery](https://docs.celeryq.dev/en/stable/getting-started/introduction.html) for task queueing. Authorization logic goes via Flask-login.
```
```text
[api/]
├── constants // Constant settings used throughout code base.
├── controllers // API route definitions and request handling logic.
@@ -121,7 +120,7 @@ Difys backend is written in Python using [Flask](https://flask.palletsproject
The website is bootstrapped on [Next.js](https://nextjs.org/) boilerplate in Typescript and uses [Tailwind CSS](https://tailwindcss.com/) for styling. [React-i18next](https://react.i18next.com/) is used for internationalization.
```
```text
[web/]
├── app // layouts, pages, and components
│ ├── (commonLayout) // common layout used throughout the app
@@ -149,10 +148,10 @@ The website is bootstrapped on [Next.js](https://nextjs.org/) boilerplate in Typ
## Submitting your PR
At last, time to open a pull request (PR) to our repo. For major features, we first merge them into the `deploy/dev` branch for testing, before they go into the `main` branch. If you run into issues like merge conflicts or don't know how to open a pull request, check out [GitHub's pull request tutorial](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests).
At last, time to open a pull request (PR) to our repo. For major features, we first merge them into the `deploy/dev` branch for testing, before they go into the `main` branch. If you run into issues like merge conflicts or don't know how to open a pull request, check out [GitHub's pull request tutorial](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests).
And that's it! Once your PR is merged, you will be featured as a contributor in our [README](https://github.com/langgenius/dify/blob/main/README.md).
## Getting Help
If you ever get stuck or got a burning question while contributing, simply shoot your queries our way via the related GitHub issue, or hop onto our [Discord](https://discord.gg/8Tpq4AcN9c) for a quick chat.
If you ever get stuck or got a burning question while contributing, simply shoot your queries our way via the related GitHub issue, or hop onto our [Discord](https://discord.gg/8Tpq4AcN9c) for a quick chat.
+1 -1
View File
@@ -71,7 +71,7 @@ Dify 依赖以下工具和库:
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Node.js v18.x (LTS)](http://nodejs.org)
- [npm](https://www.npmjs.com/) version 8.x.x or [Yarn](https://yarnpkg.com/)
- [Python](https://www.python.org/) version 3.10.x
- [Python](https://www.python.org/) version 3.11.x or 3.12.x
### 4. 安装
+1 -1
View File
@@ -74,7 +74,7 @@ Dify を構築するには次の依存関係が必要です。それらがシス
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Node.js v18.x (LTS)](http://nodejs.org)
- [npm](https://www.npmjs.com/) version 8.x.x or [Yarn](https://yarnpkg.com/)
- [Python](https://www.python.org/) version 3.10.x
- [Python](https://www.python.org/) version 3.11.x or 3.12.x
### 4. インストール
+3 -3
View File
@@ -73,13 +73,13 @@ Dify yêu cầu các phụ thuộc sau để build, hãy đảm bảo chúng đ
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Node.js v18.x (LTS)](http://nodejs.org)
- [npm](https://www.npmjs.com/) phiên bản 8.x.x hoặc [Yarn](https://yarnpkg.com/)
- [Python](https://www.python.org/) phiên bản 3.10.x
- [Python](https://www.python.org/) phiên bản 3.11.x hoặc 3.12.x
### 4. Cài đặt
Dify bao gồm một backend và một frontend. Đi đến thư mục backend bằng lệnh `cd api/`, sau đó làm theo hướng dẫn trong [README của Backend](api/README.md) để cài đặt. Trong một terminal khác, đi đến thư mục frontend bằng lệnh `cd web/`, sau đó làm theo hướng dẫn trong [README của Frontend](web/README.md) để cài đặt.
Kiểm tra [FAQ về cài đặt](https://docs.dify.ai/learn-more/faq/self-host-faq) để xem danh sách các vấn đề thường gặp và các bước khắc phục.
Kiểm tra [FAQ về cài đặt](https://docs.dify.ai/learn-more/faq/install-faq) để xem danh sách các vấn đề thường gặp và các bước khắc phục.
### 5. Truy cập Dify trong trình duyệt của bạn
@@ -153,4 +153,4 @@ Và thế là xong! Khi PR của bạn được merge, bạn sẽ được giớ
## Nhận trợ giúp
Nếu bạn gặp khó khăn hoặc có câu hỏi cấp bách trong quá trình đóng góp, hãy đặt câu hỏi của bạn trong vấn đề GitHub liên quan, hoặc tham gia [Discord](https://discord.gg/8Tpq4AcN9c) của chúng tôi để trò chuyện nhanh chóng.
Nếu bạn gặp khó khăn hoặc có câu hỏi cấp bách trong quá trình đóng góp, hãy đặt câu hỏi của bạn trong vấn đề GitHub liên quan, hoặc tham gia [Discord](https://discord.gg/8Tpq4AcN9c) của chúng tôi để trò chuyện nhanh chóng.
+51 -97
View File
@@ -1,5 +1,9 @@
![cover-v5-optimized](https://github.com/langgenius/dify/assets/13230914/f9e19af5-61ba-4119-b926-d10c4c06ebab)
<p align="center">
📌 <a href="https://dify.ai/blog/introducing-dify-workflow-file-upload-a-demo-on-ai-podcast">Introducing Dify Workflow File Upload: Recreate Google NotebookLM Podcast</a>
</p>
<p align="center">
<a href="https://cloud.dify.ai">Dify Cloud</a> ·
<a href="https://docs.dify.ai/getting-started/install-self-hosted">Self-hosting</a> ·
@@ -15,9 +19,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="join Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -42,9 +52,33 @@
</p>
Dify is an open-source LLM app development platform. Its intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production. Here's a list of the core features:
</br> </br>
Dify is an open-source LLM app development platform. Its intuitive interface combines agentic AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
## Quick start
> Before installing Dify, make sure your machine meets the following minimum system requirements:
>
>- CPU >= 2 Core
>- RAM >= 4 GiB
</br>
The easiest way to start the Dify server is through [docker compose](docker/docker-compose.yaml). Before running Dify with the following commands, make sure that [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) are installed on your machine:
```bash
cd dify
cd docker
cp .env.example .env
docker compose up -d
```
After running, you can access the Dify dashboard in your browser at [http://localhost/install](http://localhost/install) and start the initialization process.
#### Seeking help
Please refer to our [FAQ](https://docs.dify.ai/getting-started/install-self-hosted/faqs) if you encounter problems setting up Dify. Reach out to [the community and us](#community--contact) if you are still having issues.
> If you'd like to contribute to Dify or do additional development, refer to our [guide to deploying from source code](https://docs.dify.ai/getting-started/install-self-hosted/local-source-code)
## Key features
**1. Workflow**:
Build and test powerful AI workflows on a visual canvas, leveraging all the following features and beyond.
@@ -75,73 +109,6 @@ Dify is an open-source LLM app development platform. Its intuitive interface com
All of Dify's offerings come with corresponding APIs, so you could effortlessly integrate Dify into your own business logic.
## Feature comparison
<table style="width: 100%;">
<tr>
<th align="center">Feature</th>
<th align="center">Dify.AI</th>
<th align="center">LangChain</th>
<th align="center">Flowise</th>
<th align="center">OpenAI Assistants API</th>
</tr>
<tr>
<td align="center">Programming Approach</td>
<td align="center">API + App-oriented</td>
<td align="center">Python Code</td>
<td align="center">App-oriented</td>
<td align="center">API-oriented</td>
</tr>
<tr>
<td align="center">Supported LLMs</td>
<td align="center">Rich Variety</td>
<td align="center">Rich Variety</td>
<td align="center">Rich Variety</td>
<td align="center">OpenAI-only</td>
</tr>
<tr>
<td align="center">RAG Engine</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
</tr>
<tr>
<td align="center">Agent</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">✅</td>
</tr>
<tr>
<td align="center">Workflow</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">✅</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Observability</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Enterprise Features (SSO/Access control)</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">❌</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Local Deployment</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
</tr>
</table>
## Using Dify
- **Cloud </br>**
@@ -163,28 +130,7 @@ Star Dify on GitHub and be instantly notified of new releases.
![star-us](https://github.com/langgenius/dify/assets/13230914/b823edc1-6388-4e25-ad45-2f6b187adbb4)
## Quick start
> Before installing Dify, make sure your machine meets the following minimum system requirements:
>
>- CPU >= 2 Core
>- RAM >= 4 GiB
</br>
The easiest way to start the Dify server is to run our [docker-compose.yml](docker/docker-compose.yaml) file. Before running the installation command, make sure that [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) are installed on your machine:
```bash
cd docker
cp .env.example .env
docker compose up -d
```
After running, you can access the Dify dashboard in your browser at [http://localhost/install](http://localhost/install) and start the initialization process.
> If you'd like to contribute to Dify or do additional development, refer to our [guide to deploying from source code](https://docs.dify.ai/getting-started/install-self-hosted/local-source-code)
## Next steps
## Advanced Setup
If you need to customize the configuration, please refer to the comments in our [.env.example](docker/.env.example) file and update the corresponding values in your `.env` file. Additionally, you might need to make adjustments to the `docker-compose.yaml` file itself, such as changing image versions, port mappings, or volume mounts, based on your specific deployment environment and requirements. After making any changes, please re-run `docker-compose up -d`. You can find the full list of available environment variables [here](https://docs.dify.ai/getting-started/install-self-hosted/environments).
@@ -204,6 +150,13 @@ Deploy Dify to Cloud Platform with a single click using [terraform](https://www.
##### Google Cloud
- [Google Cloud Terraform by @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Using AWS CDK for Deployment
Deploy Dify to AWS with [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK by @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Contributing
For those who'd like to contribute code, see our [Contribution Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
@@ -212,12 +165,6 @@ At the same time, please consider supporting Dify by sharing it on social media
> We are looking for contributors to help with translating Dify to languages other than Mandarin or English. If you are interested in helping, please see the [i18n README](https://github.com/langgenius/dify/blob/main/web/i18n/README.md) for more information, and leave us a comment in the `global-users` channel of our [Discord Community Server](https://discord.gg/8Tpq4AcN9c).
**Contributors**
<a href="https://github.com/langgenius/dify/graphs/contributors">
<img src="https://contrib.rocks/image?repo=langgenius/dify" />
</a>
## Community & contact
* [Github Discussion](https://github.com/langgenius/dify/discussions). Best for: sharing feedback and asking questions.
@@ -225,6 +172,12 @@ At the same time, please consider supporting Dify by sharing it on social media
* [Discord](https://discord.gg/FngNHpbcY7). Best for: sharing your applications and hanging out with the community.
* [X(Twitter)](https://twitter.com/dify_ai). Best for: sharing your applications and hanging out with the community.
**Contributors**
<a href="https://github.com/langgenius/dify/graphs/contributors">
<img src="https://contrib.rocks/image?repo=langgenius/dify" />
</a>
## Star history
[![Star History Chart](https://api.star-history.com/svg?repos=langgenius/dify&type=Date)](https://star-history.com/#langgenius/dify&Date)
@@ -237,3 +190,4 @@ To protect your privacy, please avoid posting security issues on GitHub. Instead
## License
This repository is available under the [Dify Open Source License](LICENSE), which is essentially Apache 2.0 with a few additional restrictions.
+20
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="join Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -187,6 +193,13 @@ docker compose up -d
##### Google Cloud
- [Google Cloud Terraform بواسطة @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### استخدام AWS CDK للنشر
انشر Dify على AWS باستخدام [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK بواسطة @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## المساهمة
لأولئك الذين يرغبون في المساهمة، انظر إلى [دليل المساهمة](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) لدينا.
@@ -219,3 +232,10 @@ docker compose up -d
## الرخصة
هذا المستودع متاح تحت [رخصة البرنامج الحر Dify](LICENSE)، والتي تعتبر بشكل أساسي Apache 2.0 مع بعض القيود الإضافية.
## الكشف عن الأمان
لحماية خصوصيتك، يرجى تجنب نشر مشكلات الأمان على GitHub. بدلاً من ذلك، أرسل أسئلتك إلى security@dify.ai وسنقدم لك إجابة أكثر تفصيلاً.
## الرخصة
هذا المستودع متاح تحت [رخصة البرنامج الحر Dify](LICENSE)، والتي تعتبر بشكل أساسي Apache 2.0 مع بعض القيود الإضافية.
+14 -1
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="join Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -154,7 +160,7 @@ Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI
我们提供[ Dify 云服务](https://dify.ai),任何人都可以零设置尝试。它提供了自部署版本的所有功能,并在沙盒计划中包含 200 次免费的 GPT-4 调用。
- **自托管 Dify 社区版</br>**
使用这个[入门指南](#quick-start)快速在您的环境中运行 Dify。
使用这个[入门指南](#快速启动)快速在您的环境中运行 Dify。
使用我们的[文档](https://docs.dify.ai)进行进一步的参考和更深入的说明。
- **面向企业/组织的 Dify</br>**
@@ -210,6 +216,13 @@ docker compose up -d
##### Google Cloud
- [Google Cloud Terraform by @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### 使用 AWS CDK 部署
使用 [CDK](https://aws.amazon.com/cdk/) 将 Dify 部署到 AWS
##### AWS
- [AWS CDK by @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=langgenius/dify&type=Date)](https://star-history.com/#langgenius/dify&Date)
+20
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat en Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="join Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="seguir en X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="seguir en LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Descargas de Docker" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -212,6 +218,13 @@ Despliega Dify en una plataforma en la nube con un solo clic utilizando [terrafo
##### Google Cloud
- [Google Cloud Terraform por @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Usando AWS CDK para el Despliegue
Despliegue Dify en AWS usando [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK por @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Contribuir
Para aquellos que deseen contribuir con código, consulten nuestra [Guía de contribución](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
@@ -245,3 +258,10 @@ Para proteger tu privacidad, evita publicar problemas de seguridad en GitHub. En
## Licencia
Este repositorio está disponible bajo la [Licencia de Código Abierto de Dify](LICENSE), que es esencialmente Apache 2.0 con algunas restricciones adicionales.
## Divulgación de Seguridad
Para proteger tu privacidad, evita publicar problemas de seguridad en GitHub. En su lugar, envía tus preguntas a security@dify.ai y te proporcionaremos una respuesta más detallada.
## Licencia
Este repositorio está disponible bajo la [Licencia de Código Abierto de Dify](LICENSE), que es esencialmente Apache 2.0 con algunas restricciones adicionales.
+20
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat sur Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="join Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="suivre sur X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="suivre sur LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Tirages Docker" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -210,6 +216,13 @@ Déployez Dify sur une plateforme cloud en un clic en utilisant [terraform](http
##### Google Cloud
- [Google Cloud Terraform par @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Utilisation d'AWS CDK pour le déploiement
Déployez Dify sur AWS en utilisant [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK par @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Contribuer
Pour ceux qui souhaitent contribuer du code, consultez notre [Guide de contribution](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
@@ -243,3 +256,10 @@ Pour protéger votre vie privée, veuillez éviter de publier des problèmes de
## Licence
Ce référentiel est disponible sous la [Licence open source Dify](LICENSE), qui est essentiellement l'Apache 2.0 avec quelques restrictions supplémentaires.
## Divulgation de sécurité
Pour protéger votre vie privée, veuillez éviter de publier des problèmes de sécurité sur GitHub. Au lieu de cela, envoyez vos questions à security@dify.ai et nous vous fournirons une réponse plus détaillée.
## Licence
Ce référentiel est disponible sous la [Licence open source Dify](LICENSE), qui est essentiellement l'Apache 2.0 avec quelques restrictions supplémentaires.
+13
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="Discordでチャット"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="X(Twitter)でフォロー"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="LinkedInでフォロー"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -209,6 +215,13 @@ docker compose up -d
##### Google Cloud
- [@sotazumによるGoogle Cloud Terraform](https://github.com/DeNA/dify-google-cloud-terraform)
#### AWS CDK を使用したデプロイ
[CDK](https://aws.amazon.com/cdk/) を使用して、DifyをAWSにデプロイします
##### AWS
- [@KevinZhaoによるAWS CDK](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## 貢献
コードに貢献したい方は、[Contribution Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md)を参照してください。
+13
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Follow Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -210,6 +216,13 @@ wa'logh nIqHom neH ghun deployment toy'wI' [terraform](https://www.terraform.io/
##### Google Cloud
- [Google Cloud Terraform qachlot @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### AWS CDK atorlugh pilersitsineq
wa'logh nIqHom neH ghun deployment toy'wI' [CDK](https://aws.amazon.com/cdk/) lo'laH.
##### AWS
- [AWS CDK qachlot @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Contributing
For those who'd like to contribute code, see our [Contribution Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
+13
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Follow Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -202,6 +208,13 @@ Dify를 Kubernetes에 배포하고 프리미엄 스케일링 설정을 구성했
##### Google Cloud
- [sotazum의 Google Cloud Terraform](https://github.com/DeNA/dify-google-cloud-terraform)
#### AWS CDK를 사용한 배포
[CDK](https://aws.amazon.com/cdk/)를 사용하여 AWS에 Dify 배포
##### AWS
- [KevinZhao의 AWS CDK](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## 기여
코드에 기여하고 싶은 분들은 [기여 가이드](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md)를 참조하세요.
+254
View File
@@ -0,0 +1,254 @@
![cover-v5-optimized](https://github.com/langgenius/dify/assets/13230914/f9e19af5-61ba-4119-b926-d10c4c06ebab)
<p align="center">
📌 <a href="https://dify.ai/blog/introducing-dify-workflow-file-upload-a-demo-on-ai-podcast">Introduzindo o Dify Workflow com Upload de Arquivo: Recrie o Podcast Google NotebookLM</a>
</p>
<p align="center">
<a href="https://cloud.dify.ai">Dify Cloud</a> ·
<a href="https://docs.dify.ai/getting-started/install-self-hosted">Auto-hospedagem</a> ·
<a href="https://docs.dify.ai">Documentação</a> ·
<a href="https://udify.app/chat/22L1zSxg6yW1cWQg">Consultas empresariais</a>
</p>
<p align="center">
<a href="https://dify.ai" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/Product-F04438"></a>
<a href="https://dify.ai/pricing" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/free-pricing?logo=free&color=%20%23155EEF&label=pricing&labelColor=%20%23528bff"></a>
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Follow Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
<img alt="Commits last month" src="https://img.shields.io/github/commit-activity/m/langgenius/dify?labelColor=%20%2332b583&color=%20%2312b76a"></a>
<a href="https://github.com/langgenius/dify/" target="_blank">
<img alt="Issues closed" src="https://img.shields.io/github/issues-search?query=repo%3Alanggenius%2Fdify%20is%3Aclosed&label=issues%20closed&labelColor=%20%237d89b0&color=%20%235d6b98"></a>
<a href="https://github.com/langgenius/dify/discussions/" target="_blank">
<img alt="Discussion posts" src="https://img.shields.io/github/discussions/langgenius/dify?labelColor=%20%239b8afb&color=%20%237a5af8"></a>
</p>
<p align="center">
<a href="./README.md"><img alt="README em Inglês" src="https://img.shields.io/badge/English-d9d9d9"></a>
<a href="./README_CN.md"><img alt="简体中文版自述文件" src="https://img.shields.io/badge/简体中文-d9d9d9"></a>
<a href="./README_JA.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-d9d9d9"></a>
<a href="./README_ES.md"><img alt="README em Espanhol" src="https://img.shields.io/badge/Español-d9d9d9"></a>
<a href="./README_FR.md"><img alt="README em Francês" src="https://img.shields.io/badge/Français-d9d9d9"></a>
<a href="./README_KL.md"><img alt="README tlhIngan Hol" src="https://img.shields.io/badge/Klingon-d9d9d9"></a>
<a href="./README_KR.md"><img alt="README em Coreano" src="https://img.shields.io/badge/한국어-d9d9d9"></a>
<a href="./README_AR.md"><img alt="README em Árabe" src="https://img.shields.io/badge/العربية-d9d9d9"></a>
<a href="./README_TR.md"><img alt="README em Turco" src="https://img.shields.io/badge/Türkçe-d9d9d9"></a>
<a href="./README_VI.md"><img alt="README em Vietnamita" src="https://img.shields.io/badge/Ti%E1%BA%BFng%20Vi%E1%BB%87t-d9d9d9"></a>
<a href="./README_PT.md"><img alt="README em Português - BR" src="https://img.shields.io/badge/Portugu%C3%AAs-BR?style=flat&label=BR&color=d9d9d9"></a>
</p>
Dify é uma plataforma de desenvolvimento de aplicativos LLM de código aberto. Sua interface intuitiva combina workflow de IA, pipeline RAG, capacidades de agente, gerenciamento de modelos, recursos de observabilidade e muito mais, permitindo que você vá rapidamente do protótipo à produção. Aqui está uma lista das principais funcionalidades:
</br> </br>
**1. Workflow**:
Construa e teste workflows poderosos de IA em uma interface visual, aproveitando todos os recursos a seguir e muito mais.
https://github.com/langgenius/dify/assets/13230914/356df23e-1604-483d-80a6-9517ece318aa
**2. Suporte abrangente a modelos**:
Integração perfeita com centenas de LLMs proprietários e de código aberto de diversas provedoras e soluções auto-hospedadas, abrangendo GPT, Mistral, Llama3 e qualquer modelo compatível com a API da OpenAI. A lista completa de provedores suportados pode ser encontrada [aqui](https://docs.dify.ai/getting-started/readme/model-providers).
![providers-v5](https://github.com/langgenius/dify/assets/13230914/5a17bdbe-097a-4100-8363-40255b70f6e3)
**3. IDE de Prompt**:
Interface intuitiva para criação de prompts, comparação de desempenho de modelos e adição de recursos como conversão de texto para fala em um aplicativo baseado em chat.
**4. Pipeline RAG**:
Extensas capacidades de RAG que cobrem desde a ingestão de documentos até a recuperação, com suporte nativo para extração de texto de PDFs, PPTs e outros formatos de documentos comuns.
**5. Capacidades de agente**:
Você pode definir agentes com base em LLM Function Calling ou ReAct e adicionar ferramentas pré-construídas ou personalizadas para o agente. O Dify oferece mais de 50 ferramentas integradas para agentes de IA, como Google Search, DALL·E, Stable Diffusion e WolframAlpha.
**6. LLMOps**:
Monitore e analise os registros e o desempenho do aplicativo ao longo do tempo. É possível melhorar continuamente prompts, conjuntos de dados e modelos com base nos dados de produção e anotações.
**7. Backend como Serviço**:
Todas os recursos do Dify vêm com APIs correspondentes, permitindo que você integre o Dify sem esforço na lógica de negócios da sua empresa.
## Comparação de recursos
<table style="width: 100%;">
<tr>
<th align="center">Recurso</th>
<th align="center">Dify.AI</th>
<th align="center">LangChain</th>
<th align="center">Flowise</th>
<th align="center">OpenAI Assistants API</th>
</tr>
<tr>
<td align="center">Abordagem de Programação</td>
<td align="center">Orientada a API + Aplicativo</td>
<td align="center">Código Python</td>
<td align="center">Orientada a Aplicativo</td>
<td align="center">Orientada a API</td>
</tr>
<tr>
<td align="center">LLMs Suportados</td>
<td align="center">Variedade Rica</td>
<td align="center">Variedade Rica</td>
<td align="center">Variedade Rica</td>
<td align="center">Apenas OpenAI</td>
</tr>
<tr>
<td align="center">RAG Engine</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
</tr>
<tr>
<td align="center">Agente</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">✅</td>
</tr>
<tr>
<td align="center">Workflow</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">✅</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Observabilidade</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Recursos Empresariais (SSO/Controle de Acesso)</td>
<td align="center">✅</td>
<td align="center">❌</td>
<td align="center">❌</td>
<td align="center">❌</td>
</tr>
<tr>
<td align="center">Implantação Local</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">✅</td>
<td align="center">❌</td>
</tr>
</table>
## Usando o Dify
- **Nuvem </br>**
Oferecemos o serviço [Dify Cloud](https://dify.ai) para qualquer pessoa experimentar sem nenhuma configuração. Ele fornece todas as funcionalidades da versão auto-hospedada, incluindo 200 chamadas GPT-4 gratuitas no plano sandbox.
- **Auto-hospedagem do Dify Community Edition</br>**
Configure rapidamente o Dify no seu ambiente com este [guia inicial](#quick-start).
Use nossa [documentação](https://docs.dify.ai) para referências adicionais e instruções mais detalhadas.
- **Dify para empresas/organizações</br>**
Oferecemos recursos adicionais voltados para empresas. [Envie suas perguntas através deste chatbot](https://udify.app/chat/22L1zSxg6yW1cWQg) ou [envie-nos um e-mail](mailto:business@dify.ai?subject=[GitHub]Business%20License%20Inquiry) para discutir necessidades empresariais. </br>
> Para startups e pequenas empresas que utilizam AWS, confira o [Dify Premium no AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-t22mebxzwjhu6) e implemente no seu próprio AWS VPC com um clique. É uma oferta AMI acessível com a opção de criar aplicativos com logotipo e marca personalizados.
## Mantendo-se atualizado
Dê uma estrela no Dify no GitHub e seja notificado imediatamente sobre novos lançamentos.
![star-us](https://github.com/langgenius/dify/assets/13230914/b823edc1-6388-4e25-ad45-2f6b187adbb4)
## Início rápido
> Antes de instalar o Dify, certifique-se de que sua máquina atenda aos seguintes requisitos mínimos de sistema:
>
>- CPU >= 2 Núcleos
>- RAM >= 4 GiB
</br>
A maneira mais fácil de iniciar o servidor Dify é executar nosso arquivo [docker-compose.yml](docker/docker-compose.yaml). Antes de rodar o comando de instalação, certifique-se de que o [Docker](https://docs.docker.com/get-docker/) e o [Docker Compose](https://docs.docker.com/compose/install/) estão instalados na sua máquina:
```bash
cd docker
cp .env.example .env
docker compose up -d
```
Após a execução, você pode acessar o painel do Dify no navegador em [http://localhost/install](http://localhost/install) e iniciar o processo de inicialização.
> Se você deseja contribuir com o Dify ou fazer desenvolvimento adicional, consulte nosso [guia para implantar a partir do código fonte](https://docs.dify.ai/getting-started/install-self-hosted/local-source-code).
## Próximos passos
Se precisar personalizar a configuração, consulte os comentários no nosso arquivo [.env.example](docker/.env.example) e atualize os valores correspondentes no seu arquivo `.env`. Além disso, talvez seja necessário fazer ajustes no próprio arquivo `docker-compose.yaml`, como alterar versões de imagem, mapeamentos de portas ou montagens de volumes, com base no seu ambiente de implantação específico e nas suas necessidades. Após fazer quaisquer alterações, execute novamente `docker-compose up -d`. Você pode encontrar a lista completa de variáveis de ambiente disponíveis [aqui](https://docs.dify.ai/getting-started/install-self-hosted/environments).
Se deseja configurar uma instalação de alta disponibilidade, há [Helm Charts](https://helm.sh/) e arquivos YAML contribuídos pela comunidade que permitem a implantação do Dify no Kubernetes.
- [Helm Chart de @LeoQuote](https://github.com/douban/charts/tree/master/charts/dify)
- [Helm Chart de @BorisPolonsky](https://github.com/BorisPolonsky/dify-helm)
- [Arquivo YAML de @Winson-030](https://github.com/Winson-030/dify-kubernetes)
#### Usando o Terraform para Implantação
Implante o Dify na Plataforma Cloud com um único clique usando [terraform](https://www.terraform.io/)
##### Azure Global
- [Azure Terraform por @nikawang](https://github.com/nikawang/dify-azure-terraform)
##### Google Cloud
- [Google Cloud Terraform por @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Usando AWS CDK para Implantação
Implante o Dify na AWS usando [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK por @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Contribuindo
Para aqueles que desejam contribuir com código, veja nosso [Guia de Contribuição](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
Ao mesmo tempo, considere apoiar o Dify compartilhando-o nas redes sociais e em eventos e conferências.
> Estamos buscando contribuidores para ajudar na tradução do Dify para idiomas além de Mandarim e Inglês. Se você tiver interesse em ajudar, consulte o [README i18n](https://github.com/langgenius/dify/blob/main/web/i18n/README.md) para mais informações e deixe-nos um comentário no canal `global-users` em nosso [Servidor da Comunidade no Discord](https://discord.gg/8Tpq4AcN9c).
**Contribuidores**
<a href="https://github.com/langgenius/dify/graphs/contributors">
<img src="https://contrib.rocks/image?repo=langgenius/dify" />
</a>
## Comunidade e contato
* [Discussões no GitHub](https://github.com/langgenius/dify/discussions). Melhor para: compartilhar feedback e fazer perguntas.
* [Problemas no GitHub](https://github.com/langgenius/dify/issues). Melhor para: relatar bugs encontrados no Dify.AI e propor novos recursos. Veja nosso [Guia de Contribuição](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
* [Discord](https://discord.gg/FngNHpbcY7). Melhor para: compartilhar suas aplicações e interagir com a comunidade.
* [X(Twitter)](https://twitter.com/dify_ai). Melhor para: compartilhar suas aplicações e interagir com a comunidade.
## Histórico de estrelas
[![Gráfico de Histórico de Estrelas](https://api.star-history.com/svg?repos=langgenius/dify&type=Date)](https://star-history.com/#langgenius/dify&Date)
## Divulgação de segurança
Para proteger sua privacidade, evite postar problemas de segurança no GitHub. Em vez disso, envie suas perguntas para security@dify.ai e forneceremos uma resposta mais detalhada.
## Licença
Este repositório está disponível sob a [Licença de Código Aberto Dify](LICENSE), que é essencialmente Apache 2.0 com algumas restrições adicionais.
+190
View File
@@ -0,0 +1,190 @@
![cover-v5-optimized](https://github.com/langgenius/dify/assets/13230914/f9e19af5-61ba-4119-b926-d10c4c06ebab)
<p align="center">
📌 <a href="https://dify.ai/blog/introducing-dify-workflow-file-upload-a-demo-on-ai-podcast">Predstavljamo nalaganje datotek Dify Workflow: znova ustvarite Google NotebookLM Podcast</a>
</p>
<p align="center">
<a href="https://cloud.dify.ai">Dify Cloud</a> ·
<a href="https://docs.dify.ai/getting-started/install-self-hosted">Samostojno gostovanje</a> ·
<a href="https://docs.dify.ai">Dokumentacija</a> ·
<a href="https://udify.app/chat/22L1zSxg6yW1cWQg">Povpraševanje za podjetja</a>
</p>
<p align="center">
<a href="https://dify.ai" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/Product-F04438"></a>
<a href="https://dify.ai/pricing" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/free-pricing?logo=free&color=%20%23155EEF&label=pricing&labelColor=%20%23528bff"></a>
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat on Discord"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
<img alt="Commits last month" src="https://img.shields.io/github/commit-activity/m/langgenius/dify?labelColor=%20%2332b583&color=%20%2312b76a"></a>
<a href="https://github.com/langgenius/dify/" target="_blank">
<img alt="Issues closed" src="https://img.shields.io/github/issues-search?query=repo%3Alanggenius%2Fdify%20is%3Aclosed&label=issues%20closed&labelColor=%20%237d89b0&color=%20%235d6b98"></a>
<a href="https://github.com/langgenius/dify/discussions/" target="_blank">
<img alt="Discussion posts" src="https://img.shields.io/github/discussions/langgenius/dify?labelColor=%20%239b8afb&color=%20%237a5af8"></a>
</p>
<p align="center">
<a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-d9d9d9"></a>
<a href="./README_CN.md"><img alt="简体中文版自述文件" src="https://img.shields.io/badge/简体中文-d9d9d9"></a>
<a href="./README_JA.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-d9d9d9"></a>
<a href="./README_ES.md"><img alt="README en Español" src="https://img.shields.io/badge/Español-d9d9d9"></a>
<a href="./README_FR.md"><img alt="README en Français" src="https://img.shields.io/badge/Français-d9d9d9"></a>
<a href="./README_KL.md"><img alt="README tlhIngan Hol" src="https://img.shields.io/badge/Klingon-d9d9d9"></a>
<a href="./README_KR.md"><img alt="README in Korean" src="https://img.shields.io/badge/한국어-d9d9d9"></a>
<a href="./README_AR.md"><img alt="README بالعربية" src="https://img.shields.io/badge/العربية-d9d9d9"></a>
<a href="./README_TR.md"><img alt="Türkçe README" src="https://img.shields.io/badge/Türkçe-d9d9d9"></a>
<a href="./README_VI.md"><img alt="README Tiếng Việt" src="https://img.shields.io/badge/Ti%E1%BA%BFng%20Vi%E1%BB%87t-d9d9d9"></a>
<a href="./README_SI.md"><img alt="README Slovenščina" src="https://img.shields.io/badge/Sloven%C5%A1%C4%8Dina-d9d9d9"></a>
</p>
Dify je odprtokodna platforma za razvoj aplikacij LLM. Njegov intuitivni vmesnik združuje agentski potek dela z umetno inteligenco, cevovod RAG, zmogljivosti agentov, upravljanje modelov, funkcije opazovanja in več, kar vam omogoča hiter prehod od prototipa do proizvodnje.
## Hitri začetek
> Preden namestite Dify, se prepričajte, da vaša naprava izpolnjuje naslednje minimalne sistemske zahteve:
>
>- CPU >= 2 Core
>- RAM >= 4 GiB
</br>
Najlažji način za zagon strežnika Dify je prek docker compose . Preden zaženete Dify z naslednjimi ukazi, se prepričajte, da sta Docker in Docker Compose nameščena na vašem računalniku:
```bash
cd dify
cd docker
cp .env.example .env
docker compose up -d
```
Po zagonu lahko dostopate do nadzorne plošče Dify v brskalniku na [http://localhost/install](http://localhost/install) in začnete postopek inicializacije.
#### Iskanje pomoči
Prosimo, glejte naša pogosta vprašanja [FAQ](https://docs.dify.ai/getting-started/install-self-hosted/faqs) če naletite na težave pri nastavitvi Dify. Če imate še vedno težave, se obrnite na [skupnost ali nas](#community--contact).
> Če želite prispevati k Difyju ali narediti dodaten razvoj, glejte naš vodnik za [uvajanje iz izvorne kode](https://docs.dify.ai/getting-started/install-self-hosted/local-source-code)
## Ključne značilnosti
**1. Potek dela**:
Zgradite in preizkusite zmogljive poteke dela AI na vizualnem platnu, pri čemer izkoristite vse naslednje funkcije in več.
https://github.com/langgenius/dify/assets/13230914/356df23e-1604-483d-80a6-9517ece318aa
**2. Celovita podpora za modele**:
Brezhibna integracija s stotinami lastniških/odprtokodnih LLM-jev ducatov ponudnikov sklepanja in samostojnih rešitev, ki pokrivajo GPT, Mistral, Llama3 in vse modele, združljive z API-jem OpenAI. Celoten seznam podprtih ponudnikov modelov najdete [tukaj](https://docs.dify.ai/getting-started/readme/model-providers).
![providers-v5](https://github.com/langgenius/dify/assets/13230914/5a17bdbe-097a-4100-8363-40255b70f6e3)
**3. Prompt IDE**:
intuitivni vmesnik za ustvarjanje pozivov, primerjavo zmogljivosti modela in dodajanje dodatnih funkcij, kot je pretvorba besedila v govor, aplikaciji, ki temelji na klepetu.
**4. RAG Pipeline**:
E Obsežne zmogljivosti RAG, ki pokrivajo vse od vnosa dokumenta do priklica, s podporo za ekstrakcijo besedila iz datotek PDF, PPT in drugih običajnih formatov dokumentov.
**5. Agent capabilities**:
definirate lahko agente, ki temeljijo na klicanju funkcij LLM ali ReAct, in dodate vnaprej izdelana orodja ali orodja po meri za agenta. Dify ponuja več kot 50 vgrajenih orodij za agente AI, kot so Google Search, DALL·E, Stable Diffusion in WolframAlpha.
**6. LLMOps**:
Spremljajte in analizirajte dnevnike aplikacij in učinkovitost skozi čas. Pozive, nabore podatkov in modele lahko nenehno izboljšujete na podlagi proizvodnih podatkov in opomb.
**7. Backend-as-a-Service**:
AVse ponudbe Difyja so opremljene z ustreznimi API-ji, tako da lahko Dify brez težav integrirate v svojo poslovno logiko.
## Uporaba Dify
- **Cloud </br>**
Gostimo storitev Dify Cloud za vsakogar, ki jo lahko preizkusite brez nastavitev. Zagotavlja vse zmožnosti različice za samostojno namestitev in vključuje 200 brezplačnih klicev GPT-4 v načrtu peskovnika.
- **Self-hosting Dify Community Edition</br>**
Hitro zaženite Dify v svojem okolju s tem [začetnim vodnikom](#quick-start) . Za dodatne reference in podrobnejša navodila uporabite našo [dokumentacijo](https://docs.dify.ai) .
- **Dify za podjetja/organizacije</br>**
Ponujamo dodatne funkcije, osredotočene na podjetja. Zabeležite svoja vprašanja prek tega klepetalnega robota ali nam pošljite e-pošto, da se pogovorimo o potrebah podjetja. </br>
> Za novoustanovljena podjetja in mala podjetja, ki uporabljajo AWS, si oglejte Dify Premium na AWS Marketplace in ga z enim klikom uvedite v svoj AWS VPC. To je cenovno ugodna ponudba AMI z možnostjo ustvarjanja aplikacij z logotipom in blagovno znamko po meri.
## Staying ahead
Star Dify on GitHub and be instantly notified of new releases.
![star-us](https://github.com/langgenius/dify/assets/13230914/b823edc1-6388-4e25-ad45-2f6b187adbb4)
## Napredne nastavitve
Če morate prilagoditi konfiguracijo, si oglejte komentarje v naši datoteki .env.example in posodobite ustrezne vrednosti v svoji .env datoteki. Poleg tega boste morda morali prilagoditi docker-compose.yamlsamo datoteko, na primer spremeniti različice slike, preslikave vrat ali namestitve nosilca, glede na vaše specifično okolje in zahteve za uvajanje. Po kakršnih koli spremembah ponovno zaženite docker-compose up -d. Celoten seznam razpoložljivih spremenljivk okolja najdete tukaj .
Če želite konfigurirati visoko razpoložljivo nastavitev, so na voljo Helm Charts in datoteke YAML, ki jih prispeva skupnost, ki omogočajo uvedbo Difyja v Kubernetes.
- [Helm Chart by @LeoQuote](https://github.com/douban/charts/tree/master/charts/dify)
- [Helm Chart by @BorisPolonsky](https://github.com/BorisPolonsky/dify-helm)
- [YAML file by @Winson-030](https://github.com/Winson-030/dify-kubernetes)
#### Uporaba Terraform za uvajanje
namestite Dify v Cloud Platform z enim klikom z uporabo [terraform](https://www.terraform.io/)
##### Azure Global
- [Azure Terraform by @nikawang](https://github.com/nikawang/dify-azure-terraform)
##### Google Cloud
- [Google Cloud Terraform by @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Uporaba AWS CDK za uvajanje
Uvedite Dify v AWS z uporabo [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK by @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Prispevam
Za tiste, ki bi radi prispevali kodo, si oglejte naš vodnik za prispevke . Hkrati vas prosimo, da podprete Dify tako, da ga delite na družbenih medijih ter na dogodkih in konferencah.
> Iščemo sodelavce za pomoč pri prevajanju Difyja v jezike, ki niso mandarinščina ali angleščina. Če želite pomagati, si oglejte i18n README za več informacij in nam pustite komentar v global-userskanalu našega strežnika skupnosti Discord .
## Skupnost in stik
* [Github Discussion](https://github.com/langgenius/dify/discussions). Najboljše za: izmenjavo povratnih informacij in postavljanje vprašanj.
* [GitHub Issues](https://github.com/langgenius/dify/issues). Najboljše za: hrošče, na katere naletite pri uporabi Dify.AI, in predloge funkcij. Oglejte si naš [vodnik za prispevke](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md).
* [Discord](https://discord.gg/FngNHpbcY7). Najboljše za: deljenje vaših aplikacij in druženje s skupnostjo.
* [X(Twitter)](https://twitter.com/dify_ai). Najboljše za: deljenje vaših aplikacij in druženje s skupnostjo.
**Contributors**
<a href="https://github.com/langgenius/dify/graphs/contributors">
<img src="https://contrib.rocks/image?repo=langgenius/dify" />
</a>
## Star history
[![Star History Chart](https://api.star-history.com/svg?repos=langgenius/dify&type=Date)](https://star-history.com/#langgenius/dify&Date)
## Varnostno razkritje
Zaradi zaščite vaše zasebnosti se izogibajte objavljanju varnostnih vprašanj na GitHub. Namesto tega pošljite vprašanja na security@dify.ai in zagotovili vam bomo podrobnejši odgovor.
## Licenca
To skladišče je na voljo pod [odprtokodno licenco Dify](LICENSE) , ki je v bistvu Apache 2.0 z nekaj dodatnimi omejitvami.
+13 -6
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="Discord'da sohbet et"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Follow Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="X(Twitter)'da takip et"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="LinkedIn'da takip et"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Çekmeleri" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -59,8 +65,6 @@ Görsel bir arayüz üzerinde güçlü AI iş akışları oluşturun ve test edi
![providers-v5](https://github.com/langgenius/dify/assets/13230914/5a17bdbe-097a-4100-8363-40255b70f6e3)
Özür dilerim, haklısınız. Daha anlamlı ve akıcı bir çeviri yapmaya çalışayım. İşte güncellenmiş çeviri:
**3. Prompt IDE**:
Komut istemlerini oluşturmak, model performansını karşılaştırmak ve sohbet tabanlı uygulamalara metin-konuşma gibi ek özellikler eklemek için kullanıcı dostu bir arayüz.
@@ -147,8 +151,6 @@ Görsel bir arayüz üzerinde güçlü AI iş akışları oluşturun ve test edi
## Dify'ı Kullanma
- **Cloud </br>**
İşte verdiğiniz metnin Türkçe çevirisi, kod bloğu içinde:
-
Herkesin sıfır kurulumla denemesi için bir [Dify Cloud](https://dify.ai) hizmeti sunuyoruz. Bu hizmet, kendi kendine dağıtılan versiyonun tüm yeteneklerini sağlar ve sandbox planında 200 ücretsiz GPT-4 çağrısı içerir.
- **Dify Topluluk Sürümünü Kendi Sunucunuzda Barındırma</br>**
@@ -174,8 +176,6 @@ GitHub'da Dify'a yıldız verin ve yeni sürümlerden anında haberdar olun.
>- RAM >= 4GB
</br>
İşte verdiğiniz metnin Türkçe çevirisi, kod bloğu içinde:
Dify sunucusunu başlatmanın en kolay yolu, [docker-compose.yml](docker/docker-compose.yaml) dosyamızı çalıştırmaktır. Kurulum komutunu çalıştırmadan önce, makinenizde [Docker](https://docs.docker.com/get-docker/) ve [Docker Compose](https://docs.docker.com/compose/install/)'un kurulu olduğundan emin olun:
```bash
@@ -208,6 +208,13 @@ Dify'ı bulut platformuna tek tıklamayla dağıtın [terraform](https://www.ter
##### Google Cloud
- [Google Cloud Terraform tarafından @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### AWS CDK ile Dağıtım
[CDK](https://aws.amazon.com/cdk/) kullanarak Dify'ı AWS'ye dağıtın
##### AWS
- [AWS CDK tarafından @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Katkıda Bulunma
Kod katkısında bulunmak isteyenler için [Katkı Kılavuzumuza](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) bakabilirsiniz.
+14 -1
View File
@@ -15,9 +15,15 @@
<a href="https://discord.gg/FngNHpbcY7" target="_blank">
<img src="https://img.shields.io/discord/1082486657678311454?logo=discord&labelColor=%20%235462eb&logoColor=%20%23f5f5f5&color=%20%235462eb"
alt="chat trên Discord"></a>
<a href="https://reddit.com/r/difyai" target="_blank">
<img src="https://img.shields.io/reddit/subreddit-subscribers/difyai?style=plastic&logo=reddit&label=r%2Fdifyai&labelColor=white"
alt="Follow Reddit"></a>
<a href="https://twitter.com/intent/follow?screen_name=dify_ai" target="_blank">
<img src="https://img.shields.io/twitter/follow/dify_ai?logo=X&color=%20%23f5f5f5"
alt="theo dõi trên X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="theo dõi trên LinkedIn"></a>
<a href="https://hub.docker.com/u/langgenius" target="_blank">
<img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/langgenius/dify-web?labelColor=%20%23FDB062&color=%20%23f79009"></a>
<a href="https://github.com/langgenius/dify/graphs/commit-activity" target="_blank">
@@ -204,6 +210,13 @@ Triển khai Dify lên nền tảng đám mây với một cú nhấp chuột b
##### Google Cloud
- [Google Cloud Terraform bởi @sotazum](https://github.com/DeNA/dify-google-cloud-terraform)
#### Sử dụng AWS CDK để Triển khai
Triển khai Dify trên AWS bằng [CDK](https://aws.amazon.com/cdk/)
##### AWS
- [AWS CDK bởi @KevinZhao](https://github.com/aws-samples/solution-for-deploying-dify-on-aws)
## Đóng góp
Đối với những người muốn đóng góp mã, xem [Hướng dẫn Đóng góp](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) của chúng tôi.
@@ -235,4 +248,4 @@ Triển khai Dify lên nền tảng đám mây với một cú nhấp chuột b
## Giấy phép
Kho lưu trữ này có sẵn theo [Giấy phép Mã nguồn Mở Dify](LICENSE), về cơ bản là Apache 2.0 với một vài hạn chế bổ sung.
Kho lưu trữ này có sẵn theo [Giấy phép Mã nguồn Mở Dify](LICENSE), về cơ bản là Apache 2.0 với một vài hạn chế bổ sung.
+5
View File
@@ -1,7 +1,10 @@
.env
*.env.*
storage/generate_files/*
storage/privkeys/*
storage/tools/*
storage/upload_files/*
# Logs
logs
@@ -9,6 +12,8 @@ logs
# jetbrains
.idea
.mypy_cache
.ruff_cache
# venv
.venv
+115 -11
View File
@@ -23,6 +23,9 @@ FILES_ACCESS_TIMEOUT=300
# Access token expiration time in minutes
ACCESS_TOKEN_EXPIRE_MINUTES=60
# Refresh token expiration time in days
REFRESH_TOKEN_EXPIRE_DAYS=30
# celery configuration
CELERY_BROKER_URL=redis://:difyai123456@localhost:6379/1
@@ -31,8 +34,22 @@ REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_USERNAME=
REDIS_PASSWORD=difyai123456
REDIS_USE_SSL=false
REDIS_DB=0
# redis Sentinel configuration.
REDIS_USE_SENTINEL=false
REDIS_SENTINELS=
REDIS_SENTINEL_SERVICE_NAME=
REDIS_SENTINEL_USERNAME=
REDIS_SENTINEL_PASSWORD=
REDIS_SENTINEL_SOCKET_TIMEOUT=0.1
# redis Cluster configuration.
REDIS_USE_CLUSTERS=false
REDIS_CLUSTERS=
REDIS_CLUSTERS_PASSWORD=
# PostgreSQL database configuration
DB_USERNAME=postgres
DB_PASSWORD=difyai123456
@@ -42,20 +59,27 @@ DB_DATABASE=dify
# Storage configuration
# use for store upload files, private keys...
# storage type: local, s3, aliyun-oss, azure-blob, baidu-obs, google-storage, huawei-obs, oci-storage, tencent-cos, volcengine-tos, supabase
STORAGE_TYPE=local
STORAGE_LOCAL_PATH=storage
# storage type: opendal, s3, aliyun-oss, azure-blob, baidu-obs, google-storage, huawei-obs, oci-storage, tencent-cos, volcengine-tos, supabase
STORAGE_TYPE=opendal
# Apache OpenDAL storage configuration, refer to https://github.com/apache/opendal
OPENDAL_SCHEME=fs
OPENDAL_FS_ROOT=storage
# S3 Storage configuration
S3_USE_AWS_MANAGED_IAM=false
S3_ENDPOINT=https://your-bucket-name.storage.s3.clooudflare.com
S3_ENDPOINT=https://your-bucket-name.storage.s3.cloudflare.com
S3_BUCKET_NAME=your-bucket-name
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key
S3_REGION=your-region
# Azure Blob Storage configuration
AZURE_BLOB_ACCOUNT_NAME=your-account-name
AZURE_BLOB_ACCOUNT_KEY=your-account-key
AZURE_BLOB_CONTAINER_NAME=yout-container-name
AZURE_BLOB_CONTAINER_NAME=your-container-name
AZURE_BLOB_ACCOUNT_URL=https://<your_account_name>.blob.core.windows.net
# Aliyun oss Storage configuration
ALIYUN_OSS_BUCKET_NAME=your-bucket-name
ALIYUN_OSS_ACCESS_KEY=your-access-key
@@ -65,8 +89,9 @@ ALIYUN_OSS_AUTH_VERSION=v1
ALIYUN_OSS_REGION=your-region
# Don't start with '/'. OSS doesn't support leading slash in object names.
ALIYUN_OSS_PATH=your-path
# Google Storage configuration
GOOGLE_STORAGE_BUCKET_NAME=yout-bucket-name
GOOGLE_STORAGE_BUCKET_NAME=your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64=your-google-service-account-json-base64-string
# Tencent COS Storage configuration
@@ -111,7 +136,8 @@ SUPABASE_URL=your-server-url
WEB_API_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,*
CONSOLE_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,*
# Vector database configuration, support: weaviate, qdrant, milvus, myscale, relyt, pgvecto_rs, pgvector, pgvector, chroma, opensearch, tidb_vector, vikingdb, upstash
# Vector database configuration
# support: weaviate, qdrant, milvus, myscale, relyt, pgvecto_rs, pgvector, pgvector, chroma, opensearch, tidb_vector, couchbase, vikingdb, upstash, lindorm, oceanbase
VECTOR_STORE=weaviate
# Weaviate configuration
@@ -127,6 +153,13 @@ QDRANT_CLIENT_TIMEOUT=20
QDRANT_GRPC_ENABLED=false
QDRANT_GRPC_PORT=6334
#Couchbase configuration
COUCHBASE_CONNECTION_STRING=127.0.0.1
COUCHBASE_USER=Administrator
COUCHBASE_PASSWORD=password
COUCHBASE_BUCKET_NAME=Embeddings
COUCHBASE_SCOPE_NAME=_default
# Milvus configuration
MILVUS_URI=http://127.0.0.1:19530
MILVUS_TOKEN=
@@ -186,6 +219,20 @@ TIDB_VECTOR_USER=xxx.root
TIDB_VECTOR_PASSWORD=xxxxxx
TIDB_VECTOR_DATABASE=dify
# Tidb on qdrant configuration
TIDB_ON_QDRANT_URL=http://127.0.0.1
TIDB_ON_QDRANT_API_KEY=dify
TIDB_ON_QDRANT_CLIENT_TIMEOUT=20
TIDB_ON_QDRANT_GRPC_ENABLED=false
TIDB_ON_QDRANT_GRPC_PORT=6334
TIDB_PUBLIC_KEY=dify
TIDB_PRIVATE_KEY=dify
TIDB_API_URL=http://127.0.0.1
TIDB_IAM_API_URL=http://127.0.0.1
TIDB_REGION=regions/aws-us-east-1
TIDB_PROJECT_ID=dify
TIDB_SPEND_LIMIT=100
# Chroma configuration
CHROMA_HOST=127.0.0.1
CHROMA_PORT=8000
@@ -203,6 +250,10 @@ ANALYTICDB_ACCOUNT=testaccount
ANALYTICDB_PASSWORD=testpassword
ANALYTICDB_NAMESPACE=dify
ANALYTICDB_NAMESPACE_PASSWORD=difypassword
ANALYTICDB_HOST=gp-test.aliyuncs.com
ANALYTICDB_PORT=5432
ANALYTICDB_MIN_CONNECTION=1
ANALYTICDB_MAX_CONNECTION=5
# OpenSearch configuration
OPENSEARCH_HOST=127.0.0.1
@@ -233,6 +284,21 @@ VIKINGDB_SCHEMA=http
VIKINGDB_CONNECTION_TIMEOUT=30
VIKINGDB_SOCKET_TIMEOUT=30
# Lindorm configuration
LINDORM_URL=http://ld-*******************-proxy-search-pub.lindorm.aliyuncs.com:30070
LINDORM_USERNAME=admin
LINDORM_PASSWORD=admin
USING_UGC_INDEX=False
# OceanBase Vector configuration
OCEANBASE_VECTOR_HOST=127.0.0.1
OCEANBASE_VECTOR_PORT=2881
OCEANBASE_VECTOR_USER=root@test
OCEANBASE_VECTOR_PASSWORD=difyai123456
OCEANBASE_VECTOR_DATABASE=test
OCEANBASE_MEMORY_LIMIT=6G
# Upload configuration
UPLOAD_FILE_SIZE_LIMIT=15
UPLOAD_FILE_BATCH_LIMIT=5
@@ -240,8 +306,8 @@ UPLOAD_IMAGE_FILE_SIZE_LIMIT=10
UPLOAD_VIDEO_FILE_SIZE_LIMIT=100
UPLOAD_AUDIO_FILE_SIZE_LIMIT=50
# Model Configuration
MULTIMODAL_SEND_IMAGE_FORMAT=base64
# Model configuration
MULTIMODAL_SEND_FORMAT=base64
PROMPT_GENERATION_MAX_TOKENS=512
CODE_GENERATION_MAX_TOKENS=1024
@@ -274,14 +340,23 @@ NOTION_INTERNAL_SECRET=you-internal-secret
ETL_TYPE=dify
UNSTRUCTURED_API_URL=
UNSTRUCTURED_API_KEY=
SCARF_NO_ANALYTICS=true
#ssrf
SSRF_PROXY_HTTP_URL=
SSRF_PROXY_HTTPS_URL=
SSRF_DEFAULT_MAX_RETRIES=3
SSRF_DEFAULT_TIME_OUT=5
SSRF_DEFAULT_CONNECT_TIME_OUT=5
SSRF_DEFAULT_READ_TIME_OUT=5
SSRF_DEFAULT_WRITE_TIME_OUT=5
BATCH_UPLOAD_LIMIT=10
KEYWORD_DATA_SOURCE_TYPE=database
# Workflow file upload limit
WORKFLOW_FILE_UPLOAD_LIMIT=10
# CODE EXECUTION CONFIGURATION
CODE_EXECUTION_ENDPOINT=http://127.0.0.1:8194
CODE_EXECUTION_API_KEY=dify-sandbox
@@ -313,21 +388,27 @@ LOG_FILE=
LOG_FILE_MAX_SIZE=20
# Log file max backup count
LOG_FILE_BACKUP_COUNT=5
# Log dateformat
LOG_DATEFORMAT=%Y-%m-%d %H:%M:%S
# Log Timezone
LOG_TZ=UTC
# Log format
LOG_FORMAT=%(asctime)s,%(msecs)d %(levelname)-2s [%(filename)s:%(lineno)d] %(req_id)s %(message)s
# Indexing configuration
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=1000
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000
# Workflow runtime configuration
WORKFLOW_MAX_EXECUTION_STEPS=500
WORKFLOW_MAX_EXECUTION_TIME=1200
WORKFLOW_CALL_MAX_DEPTH=5
WORKFLOW_PARALLEL_DEPTH_LIMIT=3
MAX_VARIABLE_SIZE=204800
# App configuration
APP_MAX_EXECUTION_TIME=1200
APP_MAX_ACTIVE_REQUESTS=0
# Celery beat configuration
CELERY_BEAT_SCHEDULER_TIME=1
@@ -340,5 +421,28 @@ POSITION_PROVIDER_PINS=
POSITION_PROVIDER_INCLUDES=
POSITION_PROVIDER_EXCLUDES=
# Plugin configuration
PLUGIN_DAEMON_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_URL=http://127.0.0.1:5002
PLUGIN_REMOTE_INSTALL_PORT=5003
PLUGIN_REMOTE_INSTALL_HOST=localhost
PLUGIN_MAX_PACKAGE_SIZE=15728640
INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
INNER_API_KEY_FOR_PLUGIN=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
# Marketplace configuration
MARKETPLACE_ENABLED=true
MARKETPLACE_API_URL=https://marketplace.dify.ai
# Endpoint configuration
ENDPOINT_URL_TEMPLATE=http://localhost:5002/e/{hook_id}
# Reset password token expiry minutes
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5
CREATE_TIDB_SERVICE_JOB_ENABLED=false
# Maximum number of submitted thread count in a ThreadPool for parallel node execution
MAX_SUBMIT_COUNT=100
# Lockout duration in seconds
LOGIN_LOCKOUT_DURATION=86400
+97
View File
@@ -0,0 +1,97 @@
exclude = [
"migrations/*",
]
line-length = 120
[format]
quote-style = "double"
[lint]
preview = true
select = [
"B", # flake8-bugbear rules
"C4", # flake8-comprehensions
"E", # pycodestyle E rules
"F", # pyflakes rules
"FURB", # refurb rules
"I", # isort rules
"N", # pep8-naming
"PT", # flake8-pytest-style rules
"PLC0208", # iteration-over-set
"PLC2801", # unnecessary-dunder-call
"PLC0414", # useless-import-alias
"PLE0604", # invalid-all-object
"PLE0605", # invalid-all-format
"PLR0402", # manual-from-import
"PLR1711", # useless-return
"PLR1714", # repeated-equality-comparison
"RUF013", # implicit-optional
"RUF019", # unnecessary-key-check
"RUF100", # unused-noqa
"RUF101", # redirected-noqa
"RUF200", # invalid-pyproject-toml
"RUF022", # unsorted-dunder-all
"S506", # unsafe-yaml-load
"SIM", # flake8-simplify rules
"TRY400", # error-instead-of-exception
"TRY401", # verbose-log-message
"UP", # pyupgrade rules
"W191", # tab-indentation
"W605", # invalid-escape-sequence
]
ignore = [
"E402", # module-import-not-at-top-of-file
"E711", # none-comparison
"E712", # true-false-comparison
"E721", # type-comparison
"E722", # bare-except
"E731", # lambda-assignment
"F821", # undefined-name
"F841", # unused-variable
"FURB113", # repeated-append
"FURB152", # math-constant
"UP007", # non-pep604-annotation
"UP032", # f-string
"UP045", # non-pep604-annotation-optional
"B005", # strip-with-multi-characters
"B006", # mutable-argument-default
"B007", # unused-loop-control-variable
"B026", # star-arg-unpacking-after-keyword-arg
"B903", # class-as-data-structure
"B904", # raise-without-from-inside-except
"B905", # zip-without-explicit-strict
"N806", # non-lowercase-variable-in-function
"N815", # mixed-case-variable-in-class-scope
"PT011", # pytest-raises-too-broad
"SIM102", # collapsible-if
"SIM103", # needless-bool
"SIM105", # suppressible-exception
"SIM107", # return-in-try-except-finally
"SIM108", # if-else-block-instead-of-if-exp
"SIM113", # enumerate-for-loop
"SIM117", # multiple-with-statements
"SIM210", # if-expr-with-true-false
]
[lint.per-file-ignores]
"__init__.py" = [
"F401", # unused-import
"F811", # redefined-while-unused
]
"configs/*" = [
"N802", # invalid-function-name
]
"libs/gmpy2_pkcs10aep_cipher.py" = [
"N803", # invalid-argument-name
]
"tests/*" = [
"F811", # redefined-while-unused
]
[lint.pyflakes]
allowed-unused-imports = [
"_pytest.monkeypatch",
"tests.integration_tests",
"tests.unit_tests",
]
+18 -11
View File
@@ -1,10 +1,10 @@
# base image
FROM python:3.10-slim-bookworm AS base
FROM python:3.12-slim-bookworm AS base
WORKDIR /app/api
# Install Poetry
ENV POETRY_VERSION=1.8.3
ENV POETRY_VERSION=2.0.1
# if you located in China, you can use aliyun mirror to speed up
# RUN pip install --no-cache-dir poetry==${POETRY_VERSION} -i https://mirrors.aliyun.com/pypi/simple/
@@ -48,14 +48,18 @@ ENV TZ=UTC
WORKDIR /app/api
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl nodejs libgmp-dev libmpfr-dev libmpc-dev \
# if you located in China, you can use aliyun mirror to speed up
# && echo "deb http://mirrors.aliyun.com/debian testing main" > /etc/apt/sources.list \
&& echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list \
&& apt-get update \
# For Security
&& apt-get install -y --no-install-recommends zlib1g=1:1.3.dfsg+really1.3.1-1 expat=2.6.3-1 libldap-2.5-0=2.5.18+dfsg-3 perl=5.38.2-5 libsqlite3-0=3.46.1-1 \
RUN \
apt-get update \
# Install dependencies
&& apt-get install -y --no-install-recommends \
# basic environment
curl nodejs libgmp-dev libmpfr-dev libmpc-dev \
# For Security
# expat libldap-2.5-0 perl libsqlite3-0 zlib1g \
# install a chinese font to support the use of tools like matplotlib
fonts-noto-cjk \
# install libmagic to support the use of python-magic guess MIMETYPE
libmagic1 \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
@@ -67,6 +71,10 @@ ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
# Download nltk data
RUN python -c "import nltk; nltk.download('punkt'); nltk.download('averaged_perceptron_tagger')"
ENV TIKTOKEN_CACHE_DIR=/app/api/.tiktoken_cache
RUN python -c "import tiktoken; tiktoken.encoding_for_model('gpt2')"
# Copy source code
COPY . /app/api/
@@ -74,7 +82,6 @@ COPY . /app/api/
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ARG COMMIT_SHA
ENV COMMIT_SHA=${COMMIT_SHA}
+9 -14
View File
@@ -18,12 +18,17 @@
```
2. Copy `.env.example` to `.env`
```cli
cp .env.example .env
```
3. Generate a `SECRET_KEY` in the `.env` file.
bash for Linux
```bash for Linux
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env
```
bash for Mac
```bash for Mac
secret_key=$(openssl rand -base64 42)
sed -i '' "/^SECRET_KEY=/c\\
@@ -37,18 +42,10 @@
5. Install dependencies
```bash
poetry env use 3.10
poetry env use 3.12
poetry install
```
In case of contributors missing to update dependencies for `pyproject.toml`, you can perform the following shell instead.
```bash
poetry shell # activate current environment
poetry add $(cat requirements.txt) # install dependencies of production and update pyproject.toml
poetry add $(cat requirements-dev.txt) --group dev # install dependencies of development and update pyproject.toml
```
6. Run migrate
Before the first launch, migrate the database to the latest version.
@@ -76,13 +73,11 @@
1. Install dependencies for both the backend and the test environment
```bash
poetry install --with dev
poetry install -C api --with dev
```
2. Run the tests locally with mocked system environment variables in `tool.pytest_env` section in `pyproject.toml`
```bash
cd ../
poetry run -C api bash dev/pytest/pytest_all_tests.sh
poetry run -P api bash dev/pytest/pytest_all_tests.sh
```
+24 -91
View File
@@ -1,108 +1,41 @@
import os
from configs import dify_config
if os.environ.get("DEBUG", "false").lower() != "true":
from gevent import monkey
monkey.patch_all()
import grpc.experimental.gevent
grpc.experimental.gevent.init_gevent()
import json
import threading
import time
import warnings
from flask import Response
from app_factory import create_app
# DO NOT REMOVE BELOW
from events import event_handlers # noqa: F401
from extensions.ext_database import db
# TODO: Find a way to avoid importing models here
from models import account, dataset, model, source, task, tool, tools, web # noqa: F401
# DO NOT REMOVE ABOVE
import sys
warnings.simplefilter("ignore", ResourceWarning)
os.environ["TZ"] = "UTC"
# windows platform not support tzset
if hasattr(time, "tzset"):
time.tzset()
def is_db_command():
if len(sys.argv) > 1 and sys.argv[0].endswith("flask") and sys.argv[1] == "db":
return True
return False
# create app
app = create_app()
celery = app.extensions["celery"]
if is_db_command():
from app_factory import create_migrations_app
if dify_config.TESTING:
print("App is running in TESTING mode")
app = create_migrations_app()
else:
# It seems that JetBrains Python debugger does not work well with gevent,
# so we need to disable gevent in debug mode.
# If you are using debugpy and set GEVENT_SUPPORT=True, you can debug with gevent.
if (flask_debug := os.environ.get("FLASK_DEBUG", "0")) and flask_debug.lower() in {"false", "0", "no"}:
from gevent import monkey # type: ignore
# gevent
monkey.patch_all()
@app.after_request
def after_request(response):
"""Add Version headers to the response."""
response.set_cookie("remember_token", "", expires=0)
response.headers.add("X-Version", dify_config.CURRENT_VERSION)
response.headers.add("X-Env", dify_config.DEPLOY_ENV)
return response
from grpc.experimental import gevent as grpc_gevent # type: ignore
# grpc gevent
grpc_gevent.init_gevent()
@app.route("/health")
def health():
return Response(
json.dumps({"pid": os.getpid(), "status": "ok", "version": dify_config.CURRENT_VERSION}),
status=200,
content_type="application/json",
)
import psycogreen.gevent # type: ignore
psycogreen.gevent.patch_psycopg()
@app.route("/threads")
def threads():
num_threads = threading.active_count()
threads = threading.enumerate()
thread_list = []
for thread in threads:
thread_name = thread.name
thread_id = thread.ident
is_alive = thread.is_alive()
thread_list.append(
{
"name": thread_name,
"id": thread_id,
"is_alive": is_alive,
}
)
return {
"pid": os.getpid(),
"thread_num": num_threads,
"threads": thread_list,
}
@app.route("/db-pool-stat")
def pool_stat():
engine = db.engine
return {
"pid": os.getpid(),
"pool_size": engine.pool.size(),
"checked_in_connections": engine.pool.checkedin(),
"checked_out_connections": engine.pool.checkedout(),
"overflow_connections": engine.pool.overflow(),
"connection_timeout": engine.pool.timeout(),
"recycle_time": db.engine.pool._recycle,
}
from app_factory import create_app
app = create_app()
celery = app.extensions["celery"]
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5001)
+77 -152
View File
@@ -1,52 +1,14 @@
import os
import logging
import time
if os.environ.get("DEBUG", "false").lower() != "true":
from gevent import monkey
monkey.patch_all()
import grpc.experimental.gevent
grpc.experimental.gevent.init_gevent()
import json
from flask import Flask, Response, request
from flask_cors import CORS
from werkzeug.exceptions import Unauthorized
import contexts
from commands import register_commands
from configs import dify_config
from extensions import (
ext_celery,
ext_code_based_extension,
ext_compress,
ext_database,
ext_hosting_provider,
ext_logging,
ext_login,
ext_mail,
ext_migrate,
ext_proxy_fix,
ext_redis,
ext_sentry,
ext_storage,
)
from extensions.ext_database import db
from extensions.ext_login import login_manager
from libs.passport import PassportService
from services.account_service import AccountService
class DifyApp(Flask):
pass
from dify_app import DifyApp
# ----------------------------
# Application Factory Function
# ----------------------------
def create_flask_app_with_configs() -> Flask:
def create_flask_app_with_configs() -> DifyApp:
"""
create a raw flask app
with configs loaded from .env file
@@ -54,123 +16,86 @@ def create_flask_app_with_configs() -> Flask:
dify_app = DifyApp(__name__)
dify_app.config.from_mapping(dify_config.model_dump())
# populate configs into system environment variables
for key, value in dify_app.config.items():
if isinstance(value, str):
os.environ[key] = value
elif isinstance(value, int | float | bool):
os.environ[key] = str(value)
elif value is None:
os.environ[key] = ""
return dify_app
def create_app() -> Flask:
def create_app() -> DifyApp:
start_time = time.perf_counter()
app = create_flask_app_with_configs()
app.secret_key = dify_config.SECRET_KEY
initialize_extensions(app)
register_blueprints(app)
register_commands(app)
end_time = time.perf_counter()
if dify_config.DEBUG:
logging.info(f"Finished create_app ({round((end_time - start_time) * 1000, 2)} ms)")
return app
def initialize_extensions(app):
# Since the application instance is now created, pass it to each Flask
# extension instance to bind it to the Flask application instance (app)
ext_logging.init_app(app)
ext_compress.init_app(app)
ext_code_based_extension.init()
def initialize_extensions(app: DifyApp):
from extensions import (
ext_app_metrics,
ext_blueprints,
ext_celery,
ext_code_based_extension,
ext_commands,
ext_compress,
ext_database,
ext_hosting_provider,
ext_import_modules,
ext_logging,
ext_login,
ext_mail,
ext_migrate,
ext_proxy_fix,
ext_redis,
ext_sentry,
ext_set_secretkey,
ext_storage,
ext_timezone,
ext_warnings,
)
extensions = [
ext_timezone,
ext_logging,
ext_warnings,
ext_import_modules,
ext_set_secretkey,
ext_compress,
ext_code_based_extension,
ext_database,
ext_app_metrics,
ext_migrate,
ext_redis,
ext_storage,
ext_celery,
ext_login,
ext_mail,
ext_hosting_provider,
ext_sentry,
ext_proxy_fix,
ext_blueprints,
ext_commands,
]
for ext in extensions:
short_name = ext.__name__.split(".")[-1]
is_enabled = ext.is_enabled() if hasattr(ext, "is_enabled") else True
if not is_enabled:
if dify_config.DEBUG:
logging.info(f"Skipped {short_name}")
continue
start_time = time.perf_counter()
ext.init_app(app)
end_time = time.perf_counter()
if dify_config.DEBUG:
logging.info(f"Loaded {short_name} ({round((end_time - start_time) * 1000, 2)} ms)")
def create_migrations_app():
app = create_flask_app_with_configs()
from extensions import ext_database, ext_migrate
# Initialize only required extensions
ext_database.init_app(app)
ext_migrate.init(app, db)
ext_redis.init_app(app)
ext_storage.init_app(app)
ext_celery.init_app(app)
ext_login.init_app(app)
ext_mail.init_app(app)
ext_hosting_provider.init_app(app)
ext_sentry.init_app(app)
ext_proxy_fix.init_app(app)
ext_migrate.init_app(app)
# Flask-Login configuration
@login_manager.request_loader
def load_user_from_request(request_from_flask_login):
"""Load user based on the request."""
if request.blueprint not in {"console", "inner_api"}:
return None
# Check if the user_id contains a dot, indicating the old format
auth_header = request.headers.get("Authorization", "")
if not auth_header:
auth_token = request.args.get("_token")
if not auth_token:
raise Unauthorized("Invalid Authorization token.")
else:
if " " not in auth_header:
raise Unauthorized("Invalid Authorization header format. Expected 'Bearer <api-key>' format.")
auth_scheme, auth_token = auth_header.split(None, 1)
auth_scheme = auth_scheme.lower()
if auth_scheme != "bearer":
raise Unauthorized("Invalid Authorization header format. Expected 'Bearer <api-key>' format.")
decoded = PassportService().verify(auth_token)
user_id = decoded.get("user_id")
logged_in_account = AccountService.load_logged_in_account(account_id=user_id)
if logged_in_account:
contexts.tenant_id.set(logged_in_account.current_tenant_id)
return logged_in_account
@login_manager.unauthorized_handler
def unauthorized_handler():
"""Handle unauthorized requests."""
return Response(
json.dumps({"code": "unauthorized", "message": "Unauthorized."}),
status=401,
content_type="application/json",
)
# register blueprint routers
def register_blueprints(app):
from controllers.console import bp as console_app_bp
from controllers.files import bp as files_bp
from controllers.inner_api import bp as inner_api_bp
from controllers.service_api import bp as service_api_bp
from controllers.web import bp as web_bp
CORS(
service_api_bp,
allow_headers=["Content-Type", "Authorization", "X-App-Code"],
methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
)
app.register_blueprint(service_api_bp)
CORS(
web_bp,
resources={r"/*": {"origins": dify_config.WEB_API_CORS_ALLOW_ORIGINS}},
supports_credentials=True,
allow_headers=["Content-Type", "Authorization", "X-App-Code"],
methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
expose_headers=["X-Version", "X-Env"],
)
app.register_blueprint(web_bp)
CORS(
console_app_bp,
resources={r"/*": {"origins": dify_config.CONSOLE_CORS_ALLOW_ORIGINS}},
supports_credentials=True,
allow_headers=["Content-Type", "Authorization"],
methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
expose_headers=["X-Version", "X-Env"],
)
app.register_blueprint(console_app_bp)
CORS(files_bp, allow_headers=["Content-Type"], methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"])
app.register_blueprint(files_bp)
app.register_blueprint(inner_api_bp)
return app
+94 -28
View File
@@ -25,6 +25,8 @@ from models.dataset import Document as DatasetDocument
from models.model import Account, App, AppAnnotationSetting, AppMode, Conversation, MessageAnnotation
from models.provider import Provider, ProviderModel
from services.account_service import RegisterService, TenantService
from services.plugin.data_migration import PluginDataMigration
from services.plugin.plugin_migration import PluginMigration
@click.command("reset-password", help="Reset the account password.")
@@ -159,8 +161,7 @@ def migrate_annotation_vector_database():
try:
# get apps info
apps = (
db.session.query(App)
.filter(App.status == "normal")
App.query.filter(App.status == "normal")
.order_by(App.created_at.desc())
.paginate(page=page, per_page=50)
)
@@ -259,7 +260,7 @@ def migrate_knowledge_vector_database():
skipped_count = 0
total_count = 0
vector_type = dify_config.VECTOR_STORE
upper_colletion_vector_types = {
upper_collection_vector_types = {
VectorType.MILVUS,
VectorType.PGVECTOR,
VectorType.RELYT,
@@ -267,7 +268,7 @@ def migrate_knowledge_vector_database():
VectorType.ORACLE,
VectorType.ELASTICSEARCH,
}
lower_colletion_vector_types = {
lower_collection_vector_types = {
VectorType.ANALYTICDB,
VectorType.CHROMA,
VectorType.MYSCALE,
@@ -278,13 +279,14 @@ def migrate_knowledge_vector_database():
VectorType.BAIDU,
VectorType.VIKINGDB,
VectorType.UPSTASH,
VectorType.COUCHBASE,
VectorType.OCEANBASE,
}
page = 1
while True:
try:
datasets = (
db.session.query(Dataset)
.filter(Dataset.indexing_technique == "high_quality")
Dataset.query.filter(Dataset.indexing_technique == "high_quality")
.order_by(Dataset.created_at.desc())
.paginate(page=page, per_page=50)
)
@@ -305,7 +307,7 @@ def migrate_knowledge_vector_database():
continue
collection_name = ""
dataset_id = dataset.id
if vector_type in upper_colletion_vector_types:
if vector_type in upper_collection_vector_types:
collection_name = Dataset.gen_collection_name_by_id(dataset_id)
elif vector_type == VectorType.QDRANT:
if dataset.collection_binding_id:
@@ -321,7 +323,7 @@ def migrate_knowledge_vector_database():
else:
collection_name = Dataset.gen_collection_name_by_id(dataset_id)
elif vector_type in lower_colletion_vector_types:
elif vector_type in lower_collection_vector_types:
collection_name = Dataset.gen_collection_name_by_id(dataset_id).lower()
else:
raise ValueError(f"Vector store {vector_type} is not supported.")
@@ -448,7 +450,8 @@ def convert_to_agent_apps():
if app_id not in proceeded_app_ids:
proceeded_app_ids.append(app_id)
app = db.session.query(App).filter(App.id == app_id).first()
apps.append(app)
if app is not None:
apps.append(app)
if len(apps) == 0:
break
@@ -523,7 +526,7 @@ def add_qdrant_doc_id_index(field: str):
)
)
except Exception as e:
except Exception:
click.echo(click.style("Failed to create Qdrant client.", fg="red"))
click.echo(click.style(f"Index creation complete. Created {create_count} collection indexes.", fg="green"))
@@ -553,14 +556,20 @@ def create_tenant(email: str, language: Optional[str] = None, name: Optional[str
if language not in languages:
language = "en-US"
name = name.strip()
# Validates name encoding for non-Latin characters.
name = name.strip().encode("utf-8").decode("utf-8") if name else None
# generate random password
new_password = secrets.token_urlsafe(16)
# register account
account = RegisterService.register(email=email, name=account_name, password=new_password, language=language)
account = RegisterService.register(
email=email,
name=account_name,
password=new_password,
language=language,
create_workspace_required=False,
)
TenantService.create_owner_tenant_if_not_exist(account, name)
click.echo(
@@ -580,14 +589,14 @@ def upgrade_db():
click.echo(click.style("Starting database migration.", fg="green"))
# run db migration
import flask_migrate
import flask_migrate # type: ignore
flask_migrate.upgrade()
click.echo(click.style("Database migration successful!", fg="green"))
except Exception as e:
logging.exception(f"Database migration failed: {e}")
except Exception:
logging.exception("Failed to execute database migration")
finally:
lock.release()
else:
@@ -618,6 +627,10 @@ where sites.id is null limit 1000"""
try:
app = db.session.query(App).filter(App.id == app_id).first()
if not app:
print(f"App {app_id} not found")
continue
tenant = app.tenant
if tenant:
accounts = tenant.get_accounts()
@@ -628,10 +641,10 @@ where sites.id is null limit 1000"""
account = accounts[0]
print("Fixing missing site for app {}".format(app.id))
app_was_created.send(app, account=account)
except Exception as e:
except Exception:
failed_app_ids.append(app_id)
click.echo(click.style("Failed to fix missing site for app {}".format(app_id), fg="red"))
logging.exception(f"Fix app related site missing issue failed, error: {e}")
logging.exception(f"Failed to fix app related site missing issue, app_id: {app_id}")
continue
if not processed_count:
@@ -640,13 +653,66 @@ where sites.id is null limit 1000"""
click.echo(click.style("Fix for missing app-related sites completed successfully!", fg="green"))
def register_commands(app):
app.cli.add_command(reset_password)
app.cli.add_command(reset_email)
app.cli.add_command(reset_encrypt_key_pair)
app.cli.add_command(vdb_migrate)
app.cli.add_command(convert_to_agent_apps)
app.cli.add_command(add_qdrant_doc_id_index)
app.cli.add_command(create_tenant)
app.cli.add_command(upgrade_db)
app.cli.add_command(fix_app_site_missing)
@click.command("migrate-data-for-plugin", help="Migrate data for plugin.")
def migrate_data_for_plugin():
"""
Migrate data for plugin.
"""
click.echo(click.style("Starting migrate data for plugin.", fg="white"))
PluginDataMigration.migrate()
click.echo(click.style("Migrate data for plugin completed.", fg="green"))
@click.command("extract-plugins", help="Extract plugins.")
@click.option("--output_file", prompt=True, help="The file to store the extracted plugins.", default="plugins.jsonl")
@click.option("--workers", prompt=True, help="The number of workers to extract plugins.", default=10)
def extract_plugins(output_file: str, workers: int):
"""
Extract plugins.
"""
click.echo(click.style("Starting extract plugins.", fg="white"))
PluginMigration.extract_plugins(output_file, workers)
click.echo(click.style("Extract plugins completed.", fg="green"))
@click.command("extract-unique-identifiers", help="Extract unique identifiers.")
@click.option(
"--output_file",
prompt=True,
help="The file to store the extracted unique identifiers.",
default="unique_identifiers.json",
)
@click.option(
"--input_file", prompt=True, help="The file to store the extracted unique identifiers.", default="plugins.jsonl"
)
def extract_unique_plugins(output_file: str, input_file: str):
"""
Extract unique plugins.
"""
click.echo(click.style("Starting extract unique plugins.", fg="white"))
PluginMigration.extract_unique_plugins_to_file(input_file, output_file)
click.echo(click.style("Extract unique plugins completed.", fg="green"))
@click.command("install-plugins", help="Install plugins.")
@click.option(
"--input_file", prompt=True, help="The file to store the extracted unique identifiers.", default="plugins.jsonl"
)
@click.option(
"--output_file", prompt=True, help="The file to store the installed plugins.", default="installed_plugins.jsonl"
)
def install_plugins(input_file: str, output_file: str):
"""
Install plugins.
"""
click.echo(click.style("Starting install plugins.", fg="white"))
PluginMigration.install_plugins(input_file, output_file)
click.echo(click.style("Install plugins completed.", fg="green"))
+66 -8
View File
@@ -1,11 +1,51 @@
from pydantic_settings import SettingsConfigDict
import logging
from typing import Any
from configs.deploy import DeploymentConfig
from configs.enterprise import EnterpriseFeatureConfig
from configs.extra import ExtraServiceConfig
from configs.feature import FeatureConfig
from configs.middleware import MiddlewareConfig
from configs.packaging import PackagingInfo
from pydantic.fields import FieldInfo
from pydantic_settings import BaseSettings, PydanticBaseSettingsSource, SettingsConfigDict
from .deploy import DeploymentConfig
from .enterprise import EnterpriseFeatureConfig
from .extra import ExtraServiceConfig
from .feature import FeatureConfig
from .middleware import MiddlewareConfig
from .packaging import PackagingInfo
from .remote_settings_sources import RemoteSettingsSource, RemoteSettingsSourceConfig, RemoteSettingsSourceName
from .remote_settings_sources.apollo import ApolloSettingsSource
logger = logging.getLogger(__name__)
class RemoteSettingsSourceFactory(PydanticBaseSettingsSource):
def __init__(self, settings_cls: type[BaseSettings]):
super().__init__(settings_cls)
def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]:
raise NotImplementedError
def __call__(self) -> dict[str, Any]:
current_state = self.current_state
remote_source_name = current_state.get("REMOTE_SETTINGS_SOURCE_NAME")
if not remote_source_name:
return {}
remote_source: RemoteSettingsSource | None = None
match remote_source_name:
case RemoteSettingsSourceName.APOLLO:
remote_source = ApolloSettingsSource(current_state)
case _:
logger.warning(f"Unsupported remote source: {remote_source_name}")
return {}
d: dict[str, Any] = {}
for field_name, field in self.settings_cls.model_fields.items():
field_value, field_key, value_is_complex = remote_source.get_field_value(field, field_name)
field_value = remote_source.prepare_field_value(field_name, field, field_value, value_is_complex)
if field_value is not None:
d[field_key] = field_value
return d
class DifyConfig(
@@ -19,6 +59,8 @@ class DifyConfig(
MiddlewareConfig,
# Extra service configs
ExtraServiceConfig,
# Remote source configs
RemoteSettingsSourceConfig,
# Enterprise feature configs
# **Before using, please contact business@dify.ai by email to inquire about licensing matters.**
EnterpriseFeatureConfig,
@@ -27,7 +69,6 @@ class DifyConfig(
# read from dotenv format config file
env_file=".env",
env_file_encoding="utf-8",
frozen=True,
# ignore extra attributes
extra="ignore",
)
@@ -36,3 +77,20 @@ class DifyConfig(
# please consider to arrange it in the proper config group of existed or added
# for better readability and maintainability.
# Thanks for your concentration and consideration.
@classmethod
def settings_customise_sources(
cls,
settings_cls: type[BaseSettings],
init_settings: PydanticBaseSettingsSource,
env_settings: PydanticBaseSettingsSource,
dotenv_settings: PydanticBaseSettingsSource,
file_secret_settings: PydanticBaseSettingsSource,
) -> tuple[PydanticBaseSettingsSource, ...]:
return (
init_settings,
env_settings,
RemoteSettingsSourceFactory(settings_cls),
dotenv_settings,
file_secret_settings,
)
-5
View File
@@ -17,11 +17,6 @@ class DeploymentConfig(BaseSettings):
default=False,
)
TESTING: bool = Field(
description="Enable testing mode for running automated tests",
default=False,
)
EDITION: str = Field(
description="Deployment edition of the application (e.g., 'SELF_HOSTED', 'CLOUD')",
default="SELF_HOSTED",
+175 -17
View File
@@ -109,7 +109,7 @@ class CodeExecutionSandboxConfig(BaseSettings):
)
CODE_MAX_PRECISION: PositiveInt = Field(
description="mMaximum number of decimal places for floating-point numbers in code execution",
description="Maximum number of decimal places for floating-point numbers in code execution",
default=20,
)
@@ -134,6 +134,60 @@ class CodeExecutionSandboxConfig(BaseSettings):
)
class PluginConfig(BaseSettings):
"""
Plugin configs
"""
PLUGIN_DAEMON_URL: HttpUrl = Field(
description="Plugin API URL",
default="http://localhost:5002",
)
PLUGIN_DAEMON_KEY: str = Field(
description="Plugin API key",
default="plugin-api-key",
)
INNER_API_KEY_FOR_PLUGIN: str = Field(description="Inner api key for plugin", default="inner-api-key")
PLUGIN_REMOTE_INSTALL_HOST: str = Field(
description="Plugin Remote Install Host",
default="localhost",
)
PLUGIN_REMOTE_INSTALL_PORT: PositiveInt = Field(
description="Plugin Remote Install Port",
default=5003,
)
PLUGIN_MAX_PACKAGE_SIZE: PositiveInt = Field(
description="Maximum allowed size for plugin packages in bytes",
default=15728640,
)
PLUGIN_MAX_BUNDLE_SIZE: PositiveInt = Field(
description="Maximum allowed size for plugin bundles in bytes",
default=15728640 * 12,
)
class MarketplaceConfig(BaseSettings):
"""
Configuration for marketplace
"""
MARKETPLACE_ENABLED: bool = Field(
description="Enable or disable marketplace",
default=True,
)
MARKETPLACE_API_URL: HttpUrl = Field(
description="Marketplace API URL",
default="https://marketplace.dify.ai",
)
class EndpointConfig(BaseSettings):
"""
Configuration for various application endpoints and URLs
@@ -146,7 +200,7 @@ class EndpointConfig(BaseSettings):
)
CONSOLE_WEB_URL: str = Field(
description="Base URL for the console web interface," "used for frontend references and CORS configuration",
description="Base URL for the console web interface,used for frontend references and CORS configuration",
default="",
)
@@ -160,6 +214,10 @@ class EndpointConfig(BaseSettings):
default="",
)
ENDPOINT_URL_TEMPLATE: str = Field(
description="Template url for endpoint plugin", default="http://localhost:5002/e/{hook_id}"
)
class FileAccessConfig(BaseSettings):
"""
@@ -216,6 +274,11 @@ class FileUploadConfig(BaseSettings):
default=20,
)
WORKFLOW_FILE_UPLOAD_LIMIT: PositiveInt = Field(
description="Maximum number of files allowed in a workflow upload operation",
default=10,
)
class HttpConfig(BaseSettings):
"""
@@ -234,7 +297,6 @@ class HttpConfig(BaseSettings):
)
@computed_field
@property
def CONSOLE_CORS_ALLOW_ORIGINS(self) -> list[str]:
return self.inner_CONSOLE_CORS_ALLOW_ORIGINS.split(",")
@@ -245,7 +307,6 @@ class HttpConfig(BaseSettings):
)
@computed_field
@property
def WEB_API_CORS_ALLOW_ORIGINS(self) -> list[str]:
return self.inner_WEB_API_CORS_ALLOW_ORIGINS.split(",")
@@ -271,6 +332,16 @@ class HttpConfig(BaseSettings):
default=1 * 1024 * 1024,
)
SSRF_DEFAULT_MAX_RETRIES: PositiveInt = Field(
description="Maximum number of retries for network requests (SSRF)",
default=3,
)
SSRF_PROXY_ALL_URL: Optional[str] = Field(
description="Proxy URL for HTTP or HTTPS requests to prevent Server-Side Request Forgery (SSRF)",
default=None,
)
SSRF_PROXY_HTTP_URL: Optional[str] = Field(
description="Proxy URL for HTTP requests to prevent Server-Side Request Forgery (SSRF)",
default=None,
@@ -281,6 +352,26 @@ class HttpConfig(BaseSettings):
default=None,
)
SSRF_DEFAULT_TIME_OUT: PositiveFloat = Field(
description="The default timeout period used for network requests (SSRF)",
default=5,
)
SSRF_DEFAULT_CONNECT_TIME_OUT: PositiveFloat = Field(
description="The default connect timeout period used for network requests (SSRF)",
default=5,
)
SSRF_DEFAULT_READ_TIME_OUT: PositiveFloat = Field(
description="The default read timeout period used for network requests (SSRF)",
default=5,
)
SSRF_DEFAULT_WRITE_TIME_OUT: PositiveFloat = Field(
description="The default write timeout period used for network requests (SSRF)",
default=5,
)
RESPECT_XFORWARD_HEADERS_ENABLED: bool = Field(
description="Enable or disable the X-Forwarded-For Proxy Fix middleware from Werkzeug"
" to respect X-* headers to redirect clients",
@@ -341,7 +432,7 @@ class LoggingConfig(BaseSettings):
LOG_TZ: Optional[str] = Field(
description="Timezone for log timestamps (e.g., 'America/New_York')",
default=None,
default="UTC",
)
@@ -398,12 +489,28 @@ class WorkflowConfig(BaseSettings):
default=5,
)
WORKFLOW_PARALLEL_DEPTH_LIMIT: PositiveInt = Field(
description="Maximum allowed depth for nested parallel executions",
default=3,
)
MAX_VARIABLE_SIZE: PositiveInt = Field(
description="Maximum size in bytes for a single variable in workflows. Default to 200 KB.",
default=200 * 1024,
)
class WorkflowNodeExecutionConfig(BaseSettings):
"""
Configuration for workflow node execution
"""
MAX_SUBMIT_COUNT: PositiveInt = Field(
description="Maximum number of submitted thread count in a ThreadPool for parallel node execution",
default=100,
)
class AuthConfig(BaseSettings):
"""
Configuration for authentication and OAuth
@@ -439,6 +546,21 @@ class AuthConfig(BaseSettings):
default=60,
)
REFRESH_TOKEN_EXPIRE_DAYS: PositiveFloat = Field(
description="Expiration time for refresh tokens in days",
default=30,
)
LOGIN_LOCKOUT_DURATION: PositiveInt = Field(
description="Time (in seconds) a user must wait before retrying login after exceeding the rate limit.",
default=86400,
)
FORGOT_PASSWORD_LOCKOUT_DURATION: PositiveInt = Field(
description="Time (in seconds) a user must wait before retrying password reset after exceeding the rate limit.",
default=86400,
)
class ModerationConfig(BaseSettings):
"""
@@ -547,7 +669,12 @@ class RagEtlConfig(BaseSettings):
UNSTRUCTURED_API_KEY: Optional[str] = Field(
description="API key for Unstructured.io service",
default=None,
default="",
)
SCARF_NO_ANALYTICS: Optional[str] = Field(
description="This is about whether to disable Scarf analytics in Unstructured library.",
default="false",
)
@@ -571,6 +698,21 @@ class DataSetConfig(BaseSettings):
default=False,
)
TIDB_SERVERLESS_NUMBER: PositiveInt = Field(
description="number of tidb serverless cluster",
default=500,
)
CREATE_TIDB_SERVICE_JOB_ENABLED: bool = Field(
description="Enable or disable create tidb service job",
default=False,
)
PLAN_SANDBOX_CLEAN_MESSAGE_DAY_SETTING: PositiveInt = Field(
description="Interval in days for message cleanup operations - plan: sandbox",
default=30,
)
class WorkspaceConfig(BaseSettings):
"""
@@ -590,13 +732,18 @@ class IndexingConfig(BaseSettings):
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: PositiveInt = Field(
description="Maximum token length for text segmentation during indexing",
default=1000,
default=4000,
)
CHILD_CHUNKS_PREVIEW_NUMBER: PositiveInt = Field(
description="Maximum number of child chunks to preview",
default=50,
)
class ImageFormatConfig(BaseSettings):
MULTIMODAL_SEND_IMAGE_FORMAT: Literal["base64", "url"] = Field(
description="Format for sending images in multimodal contexts ('base64' or 'url'), default is base64",
class MultiModalTransferConfig(BaseSettings):
MULTIMODAL_SEND_FORMAT: Literal["base64", "url"] = Field(
description="Format for sending files in multimodal contexts ('base64' or 'url'), default is base64",
default="base64",
)
@@ -639,27 +786,27 @@ class PositionConfig(BaseSettings):
default="",
)
@computed_field
@property
def POSITION_PROVIDER_PINS_LIST(self) -> list[str]:
return [item.strip() for item in self.POSITION_PROVIDER_PINS.split(",") if item.strip() != ""]
@computed_field
@property
def POSITION_PROVIDER_INCLUDES_SET(self) -> set[str]:
return {item.strip() for item in self.POSITION_PROVIDER_INCLUDES.split(",") if item.strip() != ""}
@computed_field
@property
def POSITION_PROVIDER_EXCLUDES_SET(self) -> set[str]:
return {item.strip() for item in self.POSITION_PROVIDER_EXCLUDES.split(",") if item.strip() != ""}
@computed_field
@property
def POSITION_TOOL_PINS_LIST(self) -> list[str]:
return [item.strip() for item in self.POSITION_TOOL_PINS.split(",") if item.strip() != ""]
@computed_field
@property
def POSITION_TOOL_INCLUDES_SET(self) -> set[str]:
return {item.strip() for item in self.POSITION_TOOL_INCLUDES.split(",") if item.strip() != ""}
@computed_field
@property
def POSITION_TOOL_EXCLUDES_SET(self) -> set[str]:
return {item.strip() for item in self.POSITION_TOOL_EXCLUDES.split(",") if item.strip() != ""}
@@ -691,32 +838,43 @@ class LoginConfig(BaseSettings):
)
class AccountConfig(BaseSettings):
ACCOUNT_DELETION_TOKEN_EXPIRY_MINUTES: PositiveInt = Field(
description="Duration in minutes for which a account deletion token remains valid",
default=5,
)
class FeatureConfig(
# place the configs in alphabet order
AppExecutionConfig,
AuthConfig, # Changed from OAuthConfig to AuthConfig
BillingConfig,
CodeExecutionSandboxConfig,
PluginConfig,
MarketplaceConfig,
DataSetConfig,
EndpointConfig,
FileAccessConfig,
FileUploadConfig,
HttpConfig,
ImageFormatConfig,
InnerAPIConfig,
IndexingConfig,
LoggingConfig,
MailConfig,
ModelLoadBalanceConfig,
ModerationConfig,
MultiModalTransferConfig,
PositionConfig,
RagEtlConfig,
SecurityConfig,
ToolConfig,
UpdateConfig,
WorkflowConfig,
WorkflowNodeExecutionConfig,
WorkspaceConfig,
LoginConfig,
AccountConfig,
# hosted services config
HostedServiceConfig,
CeleryBeatConfig,
+35 -2
View File
@@ -1,9 +1,40 @@
from typing import Optional
from pydantic import Field, NonNegativeInt
from pydantic import Field, NonNegativeInt, computed_field
from pydantic_settings import BaseSettings
class HostedCreditConfig(BaseSettings):
HOSTED_MODEL_CREDIT_CONFIG: str = Field(
description="Model credit configuration in format 'model:credits,model:credits', e.g., 'gpt-4:20,gpt-4o:10'",
default="",
)
def get_model_credits(self, model_name: str) -> int:
"""
Get credit value for a specific model name.
Returns 1 if model is not found in configuration (default credit).
:param model_name: The name of the model to search for
:return: The credit value for the model
"""
if not self.HOSTED_MODEL_CREDIT_CONFIG:
return 1
try:
credit_map = dict(
item.strip().split(":", 1) for item in self.HOSTED_MODEL_CREDIT_CONFIG.split(",") if ":" in item
)
# Search for matching model pattern
for pattern, credit in credit_map.items():
if pattern.strip() == model_name:
return int(credit)
return 1 # Default quota if no match found
except (ValueError, AttributeError):
return 1 # Return default quota if parsing fails
class HostedOpenAiConfig(BaseSettings):
"""
Configuration for hosted OpenAI service
@@ -181,7 +212,7 @@ class HostedFetchAppTemplateConfig(BaseSettings):
"""
HOSTED_FETCH_APP_TEMPLATES_MODE: str = Field(
description="Mode for fetching app templates: remote, db, or builtin" " default to remote,",
description="Mode for fetching app templates: remote, db, or builtin default to remote,",
default="remote",
)
@@ -202,5 +233,7 @@ class HostedServiceConfig(
HostedZhipuAIConfig,
# moderation
HostedModerationConfig,
# credit config
HostedCreditConfig,
):
pass
+64 -37
View File
@@ -1,49 +1,69 @@
from typing import Any, Optional
from typing import Any, Literal, Optional
from urllib.parse import quote_plus
from pydantic import Field, NonNegativeInt, PositiveFloat, PositiveInt, computed_field
from pydantic_settings import BaseSettings
from configs.middleware.cache.redis_config import RedisConfig
from configs.middleware.storage.aliyun_oss_storage_config import AliyunOSSStorageConfig
from configs.middleware.storage.amazon_s3_storage_config import S3StorageConfig
from configs.middleware.storage.azure_blob_storage_config import AzureBlobStorageConfig
from configs.middleware.storage.baidu_obs_storage_config import BaiduOBSStorageConfig
from configs.middleware.storage.google_cloud_storage_config import GoogleCloudStorageConfig
from configs.middleware.storage.huawei_obs_storage_config import HuaweiCloudOBSStorageConfig
from configs.middleware.storage.oci_storage_config import OCIStorageConfig
from configs.middleware.storage.supabase_storage_config import SupabaseStorageConfig
from configs.middleware.storage.tencent_cos_storage_config import TencentCloudCOSStorageConfig
from configs.middleware.storage.volcengine_tos_storage_config import VolcengineTOSStorageConfig
from configs.middleware.vdb.analyticdb_config import AnalyticdbConfig
from configs.middleware.vdb.chroma_config import ChromaConfig
from configs.middleware.vdb.elasticsearch_config import ElasticsearchConfig
from configs.middleware.vdb.milvus_config import MilvusConfig
from configs.middleware.vdb.myscale_config import MyScaleConfig
from configs.middleware.vdb.opensearch_config import OpenSearchConfig
from configs.middleware.vdb.oracle_config import OracleConfig
from configs.middleware.vdb.pgvector_config import PGVectorConfig
from configs.middleware.vdb.pgvectors_config import PGVectoRSConfig
from configs.middleware.vdb.qdrant_config import QdrantConfig
from configs.middleware.vdb.relyt_config import RelytConfig
from configs.middleware.vdb.tencent_vector_config import TencentVectorDBConfig
from configs.middleware.vdb.tidb_vector_config import TiDBVectorConfig
from configs.middleware.vdb.upstash_config import UpstashConfig
from configs.middleware.vdb.vikingdb_config import VikingDBConfig
from configs.middleware.vdb.weaviate_config import WeaviateConfig
from .cache.redis_config import RedisConfig
from .storage.aliyun_oss_storage_config import AliyunOSSStorageConfig
from .storage.amazon_s3_storage_config import S3StorageConfig
from .storage.azure_blob_storage_config import AzureBlobStorageConfig
from .storage.baidu_obs_storage_config import BaiduOBSStorageConfig
from .storage.google_cloud_storage_config import GoogleCloudStorageConfig
from .storage.huawei_obs_storage_config import HuaweiCloudOBSStorageConfig
from .storage.oci_storage_config import OCIStorageConfig
from .storage.opendal_storage_config import OpenDALStorageConfig
from .storage.supabase_storage_config import SupabaseStorageConfig
from .storage.tencent_cos_storage_config import TencentCloudCOSStorageConfig
from .storage.volcengine_tos_storage_config import VolcengineTOSStorageConfig
from .vdb.analyticdb_config import AnalyticdbConfig
from .vdb.baidu_vector_config import BaiduVectorDBConfig
from .vdb.chroma_config import ChromaConfig
from .vdb.couchbase_config import CouchbaseConfig
from .vdb.elasticsearch_config import ElasticsearchConfig
from .vdb.lindorm_config import LindormConfig
from .vdb.milvus_config import MilvusConfig
from .vdb.myscale_config import MyScaleConfig
from .vdb.oceanbase_config import OceanBaseVectorConfig
from .vdb.opensearch_config import OpenSearchConfig
from .vdb.oracle_config import OracleConfig
from .vdb.pgvector_config import PGVectorConfig
from .vdb.pgvectors_config import PGVectoRSConfig
from .vdb.qdrant_config import QdrantConfig
from .vdb.relyt_config import RelytConfig
from .vdb.tencent_vector_config import TencentVectorDBConfig
from .vdb.tidb_on_qdrant_config import TidbOnQdrantConfig
from .vdb.tidb_vector_config import TiDBVectorConfig
from .vdb.upstash_config import UpstashConfig
from .vdb.vikingdb_config import VikingDBConfig
from .vdb.weaviate_config import WeaviateConfig
class StorageConfig(BaseSettings):
STORAGE_TYPE: str = Field(
STORAGE_TYPE: Literal[
"opendal",
"s3",
"aliyun-oss",
"azure-blob",
"baidu-obs",
"google-storage",
"huawei-obs",
"oci-storage",
"tencent-cos",
"volcengine-tos",
"supabase",
"local",
] = Field(
description="Type of storage to use."
" Options: 'local', 's3', 'aliyun-oss', 'azure-blob', 'baidu-obs', 'google-storage', 'huawei-obs', "
"'oci-storage', 'tencent-cos', 'volcengine-tos', 'supabase'. Default is 'local'.",
default="local",
" Options: 'opendal', '(deprecated) local', 's3', 'aliyun-oss', 'azure-blob', 'baidu-obs', 'google-storage', "
"'huawei-obs', 'oci-storage', 'tencent-cos', 'volcengine-tos', 'supabase'. Default is 'opendal'.",
default="opendal",
)
STORAGE_LOCAL_PATH: str = Field(
description="Path for local storage when STORAGE_TYPE is set to 'local'.",
default="storage",
deprecated=True,
)
@@ -54,6 +74,11 @@ class VectorStoreConfig(BaseSettings):
default=None,
)
VECTOR_STORE_WHITELIST_ENABLE: Optional[bool] = Field(
description="Enable whitelist for vector store.",
default=False,
)
class KeywordStoreConfig(BaseSettings):
KEYWORD_STORE: str = Field(
@@ -63,7 +88,7 @@ class KeywordStoreConfig(BaseSettings):
)
class DatabaseConfig:
class DatabaseConfig(BaseSettings):
DB_HOST: str = Field(
description="Hostname or IP address of the database server.",
default="localhost",
@@ -105,7 +130,6 @@ class DatabaseConfig:
)
@computed_field
@property
def SQLALCHEMY_DATABASE_URI(self) -> str:
db_extras = (
f"{self.DB_EXTRAS}&client_encoding={self.DB_CHARSET}" if self.DB_CHARSET else self.DB_EXTRAS
@@ -143,7 +167,6 @@ class DatabaseConfig:
)
@computed_field
@property
def SQLALCHEMY_ENGINE_OPTIONS(self) -> dict[str, Any]:
return {
"pool_size": self.SQLALCHEMY_POOL_SIZE,
@@ -181,7 +204,6 @@ class CeleryConfig(DatabaseConfig):
)
@computed_field
@property
def CELERY_RESULT_BACKEND(self) -> str | None:
return (
"db+{}".format(self.SQLALCHEMY_DATABASE_URI)
@@ -189,7 +211,6 @@ class CeleryConfig(DatabaseConfig):
else self.CELERY_BROKER_URL
)
@computed_field
@property
def BROKER_USE_SSL(self) -> bool:
return self.CELERY_BROKER_URL.startswith("rediss://") if self.CELERY_BROKER_URL else False
@@ -225,6 +246,7 @@ class MiddlewareConfig(
GoogleCloudStorageConfig,
HuaweiCloudOBSStorageConfig,
OCIStorageConfig,
OpenDALStorageConfig,
S3StorageConfig,
SupabaseStorageConfig,
TencentCloudCOSStorageConfig,
@@ -245,8 +267,13 @@ class MiddlewareConfig(
TiDBVectorConfig,
WeaviateConfig,
ElasticsearchConfig,
CouchbaseConfig,
InternalTestConfig,
VikingDBConfig,
UpstashConfig,
TidbOnQdrantConfig,
LindormConfig,
OceanBaseVectorConfig,
BaiduVectorDBConfig,
):
pass
+15
View File
@@ -68,3 +68,18 @@ class RedisConfig(BaseSettings):
description="Socket timeout in seconds for Redis Sentinel connections",
default=0.1,
)
REDIS_USE_CLUSTERS: bool = Field(
description="Enable Redis Clusters mode for high availability",
default=False,
)
REDIS_CLUSTERS: Optional[str] = Field(
description="Comma-separated list of Redis Clusters nodes (host:port)",
default=None,
)
REDIS_CLUSTERS_PASSWORD: Optional[str] = Field(
description="Password for Redis Clusters authentication (if required)",
default=None,
)
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from pydantic_settings import BaseSettings
class BaiduOBSStorageConfig(BaseModel):
class BaiduOBSStorageConfig(BaseSettings):
"""
Configuration settings for Baidu Object Storage Service (OBS)
"""
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from pydantic_settings import BaseSettings
class HuaweiCloudOBSStorageConfig(BaseModel):
class HuaweiCloudOBSStorageConfig(BaseSettings):
"""
Configuration settings for Huawei Cloud Object Storage Service (OBS)
"""
@@ -0,0 +1,9 @@
from pydantic import Field
from pydantic_settings import BaseSettings
class OpenDALStorageConfig(BaseSettings):
OPENDAL_SCHEME: str = Field(
default="fs",
description="OpenDAL scheme.",
)
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from pydantic_settings import BaseSettings
class SupabaseStorageConfig(BaseModel):
class SupabaseStorageConfig(BaseSettings):
"""
Configuration settings for Supabase Object Storage Service
"""
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from pydantic_settings import BaseSettings
class VolcengineTOSStorageConfig(BaseModel):
class VolcengineTOSStorageConfig(BaseSettings):
"""
Configuration settings for Volcengine Tinder Object Storage (TOS)
"""
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field, PositiveInt
from pydantic_settings import BaseSettings
class AnalyticdbConfig(BaseModel):
class AnalyticdbConfig(BaseSettings):
"""
Configuration for connecting to Alibaba Cloud AnalyticDB for PostgreSQL.
Refer to the following documentation for details on obtaining credentials:
@@ -40,3 +41,11 @@ class AnalyticdbConfig(BaseModel):
description="The password for accessing the specified namespace within the AnalyticDB instance"
" (if namespace feature is enabled).",
)
ANALYTICDB_HOST: Optional[str] = Field(
default=None, description="The host of the AnalyticDB instance you want to connect to."
)
ANALYTICDB_PORT: PositiveInt = Field(
default=5432, description="The port of the AnalyticDB instance you want to connect to."
)
ANALYTICDB_MIN_CONNECTION: PositiveInt = Field(default=1, description="Min connection of the AnalyticDB database.")
ANALYTICDB_MAX_CONNECTION: PositiveInt = Field(default=5, description="Max connection of the AnalyticDB database.")
@@ -0,0 +1,35 @@
from typing import Optional
from pydantic import Field
from pydantic_settings import BaseSettings
class CouchbaseConfig(BaseSettings):
"""
Couchbase configs
"""
COUCHBASE_CONNECTION_STRING: Optional[str] = Field(
description="COUCHBASE connection string",
default=None,
)
COUCHBASE_USER: Optional[str] = Field(
description="COUCHBASE user",
default=None,
)
COUCHBASE_PASSWORD: Optional[str] = Field(
description="COUCHBASE password",
default=None,
)
COUCHBASE_BUCKET_NAME: Optional[str] = Field(
description="COUCHBASE bucket name",
default=None,
)
COUCHBASE_SCOPE_NAME: Optional[str] = Field(
description="COUCHBASE scope name",
default=None,
)
@@ -0,0 +1,34 @@
from typing import Optional
from pydantic import Field
from pydantic_settings import BaseSettings
class LindormConfig(BaseSettings):
"""
Lindorm configs
"""
LINDORM_URL: Optional[str] = Field(
description="Lindorm url",
default=None,
)
LINDORM_USERNAME: Optional[str] = Field(
description="Lindorm user",
default=None,
)
LINDORM_PASSWORD: Optional[str] = Field(
description="Lindorm password",
default=None,
)
DEFAULT_INDEX_TYPE: Optional[str] = Field(
description="Lindorm Vector Index Type, hnsw or flat is available in dify",
default="hnsw",
)
DEFAULT_DISTANCE_TYPE: Optional[str] = Field(
description="Vector Distance Type, support l2, cosinesimil, innerproduct", default="l2"
)
USING_UGC_INDEX: Optional[bool] = Field(
description="Using UGC index will store the same type of Index in a single index but can retrieve separately.",
default=False,
)
@@ -33,3 +33,9 @@ class MilvusConfig(BaseSettings):
description="Name of the Milvus database to connect to (default is 'default')",
default="default",
)
MILVUS_ENABLE_HYBRID_SEARCH: bool = Field(
description="Enable hybrid search features (requires Milvus >= 2.5.0). Set to false for compatibility with "
"older versions",
default=True,
)
+3 -2
View File
@@ -1,7 +1,8 @@
from pydantic import BaseModel, Field, PositiveInt
from pydantic import Field, PositiveInt
from pydantic_settings import BaseSettings
class MyScaleConfig(BaseModel):
class MyScaleConfig(BaseSettings):
"""
Configuration settings for MyScale vector database
"""
@@ -0,0 +1,35 @@
from typing import Optional
from pydantic import Field, PositiveInt
from pydantic_settings import BaseSettings
class OceanBaseVectorConfig(BaseSettings):
"""
Configuration settings for OceanBase Vector database
"""
OCEANBASE_VECTOR_HOST: Optional[str] = Field(
description="Hostname or IP address of the OceanBase Vector server (e.g. 'localhost')",
default=None,
)
OCEANBASE_VECTOR_PORT: Optional[PositiveInt] = Field(
description="Port number on which the OceanBase Vector server is listening (default is 2881)",
default=2881,
)
OCEANBASE_VECTOR_USER: Optional[str] = Field(
description="Username for authenticating with the OceanBase Vector database",
default=None,
)
OCEANBASE_VECTOR_PASSWORD: Optional[str] = Field(
description="Password for authenticating with the OceanBase Vector database",
default=None,
)
OCEANBASE_VECTOR_DATABASE: Optional[str] = Field(
description="Name of the OceanBase Vector database to connect to",
default=None,
)
@@ -0,0 +1,70 @@
from typing import Optional
from pydantic import Field, NonNegativeInt, PositiveInt
from pydantic_settings import BaseSettings
class TidbOnQdrantConfig(BaseSettings):
"""
Tidb on Qdrant configs
"""
TIDB_ON_QDRANT_URL: Optional[str] = Field(
description="Tidb on Qdrant url",
default=None,
)
TIDB_ON_QDRANT_API_KEY: Optional[str] = Field(
description="Tidb on Qdrant api key",
default=None,
)
TIDB_ON_QDRANT_CLIENT_TIMEOUT: NonNegativeInt = Field(
description="Tidb on Qdrant client timeout in seconds",
default=20,
)
TIDB_ON_QDRANT_GRPC_ENABLED: bool = Field(
description="whether enable grpc support for Tidb on Qdrant connection",
default=False,
)
TIDB_ON_QDRANT_GRPC_PORT: PositiveInt = Field(
description="Tidb on Qdrant grpc port",
default=6334,
)
TIDB_PUBLIC_KEY: Optional[str] = Field(
description="Tidb account public key",
default=None,
)
TIDB_PRIVATE_KEY: Optional[str] = Field(
description="Tidb account private key",
default=None,
)
TIDB_API_URL: Optional[str] = Field(
description="Tidb API url",
default=None,
)
TIDB_IAM_API_URL: Optional[str] = Field(
description="Tidb IAM API url",
default=None,
)
TIDB_REGION: Optional[str] = Field(
description="Tidb serverless region",
default="regions/aws-us-east-1",
)
TIDB_PROJECT_ID: Optional[str] = Field(
description="Tidb project id",
default=None,
)
TIDB_SPEND_LIMIT: Optional[int] = Field(
description="Tidb spend limit",
default=100,
)
@@ -1,9 +1,10 @@
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from pydantic_settings import BaseSettings
class VikingDBConfig(BaseModel):
class VikingDBConfig(BaseSettings):
"""
Configuration for connecting to Volcengine VikingDB.
Refer to the following documentation for details on obtaining credentials:
+1 -1
View File
@@ -9,7 +9,7 @@ class PackagingInfo(BaseSettings):
CURRENT_VERSION: str = Field(
description="Dify version",
default="0.10.1",
default="1.0.0",
)
COMMIT_SHA: str = Field(
@@ -0,0 +1,17 @@
from typing import Optional
from pydantic import Field
from .apollo import ApolloSettingsSourceInfo
from .base import RemoteSettingsSource
from .enums import RemoteSettingsSourceName
class RemoteSettingsSourceConfig(ApolloSettingsSourceInfo):
REMOTE_SETTINGS_SOURCE_NAME: RemoteSettingsSourceName | str = Field(
description="name of remote config source",
default="",
)
__all__ = ["RemoteSettingsSource", "RemoteSettingsSourceConfig", "RemoteSettingsSourceName"]
@@ -0,0 +1,55 @@
from collections.abc import Mapping
from typing import Any, Optional
from pydantic import Field
from pydantic.fields import FieldInfo
from pydantic_settings import BaseSettings
from configs.remote_settings_sources.base import RemoteSettingsSource
from .client import ApolloClient
class ApolloSettingsSourceInfo(BaseSettings):
"""
Packaging build information
"""
APOLLO_APP_ID: Optional[str] = Field(
description="apollo app_id",
default=None,
)
APOLLO_CLUSTER: Optional[str] = Field(
description="apollo cluster",
default=None,
)
APOLLO_CONFIG_URL: Optional[str] = Field(
description="apollo config url",
default=None,
)
APOLLO_NAMESPACE: Optional[str] = Field(
description="apollo namespace",
default=None,
)
class ApolloSettingsSource(RemoteSettingsSource):
def __init__(self, configs: Mapping[str, Any]):
self.client = ApolloClient(
app_id=configs["APOLLO_APP_ID"],
cluster=configs["APOLLO_CLUSTER"],
config_url=configs["APOLLO_CONFIG_URL"],
start_hot_update=False,
_notification_map={configs["APOLLO_NAMESPACE"]: -1},
)
self.namespace = configs["APOLLO_NAMESPACE"]
self.remote_configs = self.client.get_all_dicts(self.namespace)
def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]:
if not isinstance(self.remote_configs, dict):
raise ValueError(f"remote configs is not dict, but {type(self.remote_configs)}")
field_value = self.remote_configs.get(field_name)
return field_value, field_name, False
@@ -0,0 +1,304 @@
import hashlib
import json
import logging
import os
import threading
import time
from collections.abc import Mapping
from pathlib import Path
from .python_3x import http_request, makedirs_wrapper
from .utils import (
CONFIGURATIONS,
NAMESPACE_NAME,
NOTIFICATION_ID,
get_value_from_dict,
init_ip,
no_key_cache_key,
signature,
url_encode_wrapper,
)
logger = logging.getLogger(__name__)
class ApolloClient:
def __init__(
self,
config_url,
app_id,
cluster="default",
secret="",
start_hot_update=True,
change_listener=None,
_notification_map=None,
):
# Core routing parameters
self.config_url = config_url
self.cluster = cluster
self.app_id = app_id
# Non-core parameters
self.ip = init_ip()
self.secret = secret
# Check the parameter variables
# Private control variables
self._cycle_time = 5
self._stopping = False
self._cache = {}
self._no_key = {}
self._hash = {}
self._pull_timeout = 75
self._cache_file_path = os.path.expanduser("~") + "/.dify/config/remote-settings/apollo/cache/"
self._long_poll_thread = None
self._change_listener = change_listener # "add" "delete" "update"
if _notification_map is None:
_notification_map = {"application": -1}
self._notification_map = _notification_map
self.last_release_key = None
# Private startup method
self._path_checker()
if start_hot_update:
self._start_hot_update()
# start the heartbeat thread
heartbeat = threading.Thread(target=self._heart_beat)
heartbeat.daemon = True
heartbeat.start()
def get_json_from_net(self, namespace="application"):
url = "{}/configs/{}/{}/{}?releaseKey={}&ip={}".format(
self.config_url, self.app_id, self.cluster, namespace, "", self.ip
)
try:
code, body = http_request(url, timeout=3, headers=self._sign_headers(url))
if code == 200:
if not body:
logger.error(f"get_json_from_net load configs failed, body is {body}")
return None
data = json.loads(body)
data = data["configurations"]
return_data = {CONFIGURATIONS: data}
return return_data
else:
return None
except Exception:
logger.exception("an error occurred in get_json_from_net")
return None
def get_value(self, key, default_val=None, namespace="application"):
try:
# read memory configuration
namespace_cache = self._cache.get(namespace)
val = get_value_from_dict(namespace_cache, key)
if val is not None:
return val
no_key = no_key_cache_key(namespace, key)
if no_key in self._no_key:
return default_val
# read the network configuration
namespace_data = self.get_json_from_net(namespace)
val = get_value_from_dict(namespace_data, key)
if val is not None:
self._update_cache_and_file(namespace_data, namespace)
return val
# read the file configuration
namespace_cache = self._get_local_cache(namespace)
val = get_value_from_dict(namespace_cache, key)
if val is not None:
self._update_cache_and_file(namespace_cache, namespace)
return val
# If all of them are not obtained, the default value is returned
# and the local cache is set to None
self._set_local_cache_none(namespace, key)
return default_val
except Exception:
logger.exception("get_value has error, [key is %s], [namespace is %s]", key, namespace)
return default_val
# Set the key of a namespace to none, and do not set default val
# to ensure the real-time correctness of the function call.
# If the user does not have the same default val twice
# and the default val is used here, there may be a problem.
def _set_local_cache_none(self, namespace, key):
no_key = no_key_cache_key(namespace, key)
self._no_key[no_key] = key
def _start_hot_update(self):
self._long_poll_thread = threading.Thread(target=self._listener)
# When the asynchronous thread is started, the daemon thread will automatically exit
# when the main thread is launched.
self._long_poll_thread.daemon = True
self._long_poll_thread.start()
def stop(self):
self._stopping = True
logger.info("Stopping listener...")
# Call the set callback function, and if it is abnormal, try it out
def _call_listener(self, namespace, old_kv, new_kv):
if self._change_listener is None:
return
if old_kv is None:
old_kv = {}
if new_kv is None:
new_kv = {}
try:
for key in old_kv:
new_value = new_kv.get(key)
old_value = old_kv.get(key)
if new_value is None:
# If newValue is empty, it means key, and the value is deleted.
self._change_listener("delete", namespace, key, old_value)
continue
if new_value != old_value:
self._change_listener("update", namespace, key, new_value)
continue
for key in new_kv:
new_value = new_kv.get(key)
old_value = old_kv.get(key)
if old_value is None:
self._change_listener("add", namespace, key, new_value)
except BaseException as e:
logger.warning(str(e))
def _path_checker(self):
if not os.path.isdir(self._cache_file_path):
makedirs_wrapper(self._cache_file_path)
# update the local cache and file cache
def _update_cache_and_file(self, namespace_data, namespace="application"):
# update the local cache
self._cache[namespace] = namespace_data
# update the file cache
new_string = json.dumps(namespace_data)
new_hash = hashlib.md5(new_string.encode("utf-8")).hexdigest()
if self._hash.get(namespace) == new_hash:
pass
else:
file_path = Path(self._cache_file_path) / f"{self.app_id}_configuration_{namespace}.txt"
file_path.write_text(new_string)
self._hash[namespace] = new_hash
# get the configuration from the local file
def _get_local_cache(self, namespace="application"):
cache_file_path = os.path.join(self._cache_file_path, f"{self.app_id}_configuration_{namespace}.txt")
if os.path.isfile(cache_file_path):
with open(cache_file_path) as f:
result = json.loads(f.readline())
return result
return {}
def _long_poll(self):
notifications = []
for key in self._cache:
namespace_data = self._cache[key]
notification_id = -1
if NOTIFICATION_ID in namespace_data:
notification_id = self._cache[key][NOTIFICATION_ID]
notifications.append({NAMESPACE_NAME: key, NOTIFICATION_ID: notification_id})
try:
# if the length is 0 it is returned directly
if len(notifications) == 0:
return
url = "{}/notifications/v2".format(self.config_url)
params = {
"appId": self.app_id,
"cluster": self.cluster,
"notifications": json.dumps(notifications, ensure_ascii=False),
}
param_str = url_encode_wrapper(params)
url = url + "?" + param_str
code, body = http_request(url, self._pull_timeout, headers=self._sign_headers(url))
http_code = code
if http_code == 304:
logger.debug("No change, loop...")
return
if http_code == 200:
if not body:
logger.error(f"_long_poll load configs failed,body is {body}")
return
data = json.loads(body)
for entry in data:
namespace = entry[NAMESPACE_NAME]
n_id = entry[NOTIFICATION_ID]
logger.info("%s has changes: notificationId=%d", namespace, n_id)
self._get_net_and_set_local(namespace, n_id, call_change=True)
return
else:
logger.warning("Sleep...")
except Exception as e:
logger.warning(str(e))
def _get_net_and_set_local(self, namespace, n_id, call_change=False):
namespace_data = self.get_json_from_net(namespace)
if not namespace_data:
return
namespace_data[NOTIFICATION_ID] = n_id
old_namespace = self._cache.get(namespace)
self._update_cache_and_file(namespace_data, namespace)
if self._change_listener is not None and call_change and old_namespace:
old_kv = old_namespace.get(CONFIGURATIONS)
new_kv = namespace_data.get(CONFIGURATIONS)
self._call_listener(namespace, old_kv, new_kv)
def _listener(self):
logger.info("start long_poll")
while not self._stopping:
self._long_poll()
time.sleep(self._cycle_time)
logger.info("stopped, long_poll")
# add the need for endorsement to the header
def _sign_headers(self, url: str) -> Mapping[str, str]:
headers: dict[str, str] = {}
if self.secret == "":
return headers
uri = url[len(self.config_url) : len(url)]
time_unix_now = str(int(round(time.time() * 1000)))
headers["Authorization"] = "Apollo " + self.app_id + ":" + signature(time_unix_now, uri, self.secret)
headers["Timestamp"] = time_unix_now
return headers
def _heart_beat(self):
while not self._stopping:
for namespace in self._notification_map:
self._do_heart_beat(namespace)
time.sleep(60 * 10) # 10分钟
def _do_heart_beat(self, namespace):
url = "{}/configs/{}/{}/{}?ip={}".format(self.config_url, self.app_id, self.cluster, namespace, self.ip)
try:
code, body = http_request(url, timeout=3, headers=self._sign_headers(url))
if code == 200:
if not body:
logger.error(f"_do_heart_beat load configs failed,body is {body}")
return None
data = json.loads(body)
if self.last_release_key == data["releaseKey"]:
return None
self.last_release_key = data["releaseKey"]
data = data["configurations"]
self._update_cache_and_file(data, namespace)
else:
return None
except Exception:
logger.exception("an error occurred in _do_heart_beat")
return None
def get_all_dicts(self, namespace):
namespace_data = self._cache.get(namespace)
if namespace_data is None:
net_namespace_data = self.get_json_from_net(namespace)
if not net_namespace_data:
return namespace_data
namespace_data = net_namespace_data.get(CONFIGURATIONS)
if namespace_data:
self._update_cache_and_file(namespace_data, namespace)
return namespace_data
@@ -0,0 +1,41 @@
import logging
import os
import ssl
import urllib.request
from urllib import parse
from urllib.error import HTTPError
# Create an SSL context that allows for a lower level of security
ssl_context = ssl.create_default_context()
ssl_context.set_ciphers("HIGH:!DH:!aNULL")
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
# Create an opener object and pass in a custom SSL context
opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ssl_context))
urllib.request.install_opener(opener)
logger = logging.getLogger(__name__)
def http_request(url, timeout, headers={}):
try:
request = urllib.request.Request(url, headers=headers)
res = urllib.request.urlopen(request, timeout=timeout)
body = res.read().decode("utf-8")
return res.code, body
except HTTPError as e:
if e.code == 304:
logger.warning("http_request error,code is 304, maybe you should check secret")
return 304, None
logger.warning("http_request error,code is %d, msg is %s", e.code, e.msg)
raise e
def url_encode(params):
return parse.urlencode(params)
def makedirs_wrapper(path):
os.makedirs(path, exist_ok=True)
@@ -0,0 +1,51 @@
import hashlib
import socket
from .python_3x import url_encode
# define constants
CONFIGURATIONS = "configurations"
NOTIFICATION_ID = "notificationId"
NAMESPACE_NAME = "namespaceName"
# add timestamps uris and keys
def signature(timestamp, uri, secret):
import base64
import hmac
string_to_sign = "" + timestamp + "\n" + uri
hmac_code = hmac.new(secret.encode(), string_to_sign.encode(), hashlib.sha1).digest()
return base64.b64encode(hmac_code).decode()
def url_encode_wrapper(params):
return url_encode(params)
def no_key_cache_key(namespace, key):
return "{}{}{}".format(namespace, len(namespace), key)
# Returns whether the obtained value is obtained, and None if it does not
def get_value_from_dict(namespace_cache, key):
if namespace_cache:
kv_data = namespace_cache.get(CONFIGURATIONS)
if kv_data is None:
return None
if key in kv_data:
return kv_data[key]
return None
def init_ip():
ip = ""
s = None
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 53))
ip = s.getsockname()[0]
finally:
if s:
s.close()
return ip
@@ -0,0 +1,15 @@
from collections.abc import Mapping
from typing import Any
from pydantic.fields import FieldInfo
class RemoteSettingsSource:
def __init__(self, configs: Mapping[str, Any]):
pass
def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]:
raise NotImplementedError
def prepare_field_value(self, field_name: str, field: FieldInfo, value: Any, value_is_complex: bool) -> Any:
return value
@@ -0,0 +1,5 @@
from enum import StrEnum
class RemoteSettingsSourceName(StrEnum):
APOLLO = "apollo"
+2 -2
View File
@@ -14,11 +14,11 @@ AUDIO_EXTENSIONS.extend([ext.upper() for ext in AUDIO_EXTENSIONS])
if dify_config.ETL_TYPE == "Unstructured":
DOCUMENT_EXTENSIONS = ["txt", "markdown", "md", "pdf", "html", "htm", "xlsx", "xls"]
DOCUMENT_EXTENSIONS = ["txt", "markdown", "md", "mdx", "pdf", "html", "htm", "xlsx", "xls"]
DOCUMENT_EXTENSIONS.extend(("docx", "csv", "eml", "msg", "pptx", "xml", "epub"))
if dify_config.UNSTRUCTURED_API_URL:
DOCUMENT_EXTENSIONS.append("ppt")
DOCUMENT_EXTENSIONS.extend([ext.upper() for ext in DOCUMENT_EXTENSIONS])
else:
DOCUMENT_EXTENSIONS = ["txt", "markdown", "md", "pdf", "html", "htm", "xlsx", "xls", "docx", "csv"]
DOCUMENT_EXTENSIONS = ["txt", "markdown", "md", "mdx", "pdf", "html", "htm", "xlsx", "xls", "docx", "csv"]
DOCUMENT_EXTENSIONS.extend([ext.upper() for ext in DOCUMENT_EXTENSIONS])
+2
View File
@@ -17,6 +17,8 @@ language_timezone_mapping = {
"hi-IN": "Asia/Kolkata",
"tr-TR": "Europe/Istanbul",
"fa-IR": "Asia/Tehran",
"sl-SI": "Europe/Ljubljana",
"th-TH": "Asia/Bangkok",
}
languages = list(language_timezone_mapping.keys())
+2 -1
View File
@@ -1,8 +1,9 @@
import json
from collections.abc import Mapping
from models.model import AppMode
default_app_templates = {
default_app_templates: Mapping[AppMode, Mapping] = {
# workflow default mode
AppMode.WORKFLOW: {
"app": {
+10
View File
@@ -1,9 +1,19 @@
from contextvars import ContextVar
from threading import Lock
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from core.plugin.entities.plugin_daemon import PluginModelProviderEntity
from core.tools.plugin_tool.provider import PluginToolProviderController
from core.workflow.entities.variable_pool import VariablePool
tenant_id: ContextVar[str] = ContextVar("tenant_id")
workflow_variable_pool: ContextVar["VariablePool"] = ContextVar("workflow_variable_pool")
plugin_tool_providers: ContextVar[dict[str, "PluginToolProviderController"]] = ContextVar("plugin_tool_providers")
plugin_tool_providers_lock: ContextVar[Lock] = ContextVar("plugin_tool_providers_lock")
plugin_model_providers: ContextVar[list["PluginModelProviderEntity"] | None] = ContextVar("plugin_model_providers")
plugin_model_providers_lock: ContextVar[Lock] = ContextVar("plugin_model_providers_lock")
+11
View File
@@ -0,0 +1,11 @@
from werkzeug.exceptions import HTTPException
class FilenameNotExistsError(HTTPException):
code = 400
description = "The specified filename does not exist."
class RemoteFileUploadError(HTTPException):
code = 400
description = "Error uploading remote file."
+24
View File
@@ -0,0 +1,24 @@
from flask_restful import fields # type: ignore
parameters__system_parameters = {
"image_file_size_limit": fields.Integer,
"video_file_size_limit": fields.Integer,
"audio_file_size_limit": fields.Integer,
"file_size_limit": fields.Integer,
"workflow_file_upload_limit": fields.Integer,
}
parameters_fields = {
"opening_statement": fields.String,
"suggested_questions": fields.Raw,
"suggested_questions_after_answer": fields.Raw,
"speech_to_text": fields.Raw,
"text_to_speech": fields.Raw,
"retriever_resource": fields.Raw,
"annotation_reply": fields.Raw,
"more_like_this": fields.Raw,
"user_input_form": fields.Raw,
"sensitive_word_avoidance": fields.Raw,
"file_upload": fields.Raw,
"system_parameters": fields.Nested(parameters__system_parameters),
}
+124
View File
@@ -0,0 +1,124 @@
import mimetypes
import os
import platform
import re
import urllib.parse
import warnings
from collections.abc import Mapping
from typing import Any
from uuid import uuid4
import httpx
try:
import magic
except ImportError:
if platform.system() == "Windows":
warnings.warn(
"To use python-magic guess MIMETYPE, you need to run `pip install python-magic-bin`", stacklevel=2
)
elif platform.system() == "Darwin":
warnings.warn("To use python-magic guess MIMETYPE, you need to run `brew install libmagic`", stacklevel=2)
elif platform.system() == "Linux":
warnings.warn(
"To use python-magic guess MIMETYPE, you need to run `sudo apt-get install libmagic1`", stacklevel=2
)
else:
warnings.warn("To use python-magic guess MIMETYPE, you need to install `libmagic`", stacklevel=2)
magic = None # type: ignore
from pydantic import BaseModel
from configs import dify_config
class FileInfo(BaseModel):
filename: str
extension: str
mimetype: str
size: int
def guess_file_info_from_response(response: httpx.Response):
url = str(response.url)
# Try to extract filename from URL
parsed_url = urllib.parse.urlparse(url)
url_path = parsed_url.path
filename = os.path.basename(url_path)
# If filename couldn't be extracted, use Content-Disposition header
if not filename:
content_disposition = response.headers.get("Content-Disposition")
if content_disposition:
filename_match = re.search(r'filename="?(.+)"?', content_disposition)
if filename_match:
filename = filename_match.group(1)
# If still no filename, generate a unique one
if not filename:
unique_name = str(uuid4())
filename = f"{unique_name}"
# Guess MIME type from filename first, then URL
mimetype, _ = mimetypes.guess_type(filename)
if mimetype is None:
mimetype, _ = mimetypes.guess_type(url)
if mimetype is None:
# If guessing fails, use Content-Type from response headers
mimetype = response.headers.get("Content-Type", "application/octet-stream")
# Use python-magic to guess MIME type if still unknown or generic
if mimetype == "application/octet-stream" and magic is not None:
try:
mimetype = magic.from_buffer(response.content[:1024], mime=True)
except magic.MagicException:
pass
extension = os.path.splitext(filename)[1]
# Ensure filename has an extension
if not extension:
extension = mimetypes.guess_extension(mimetype) or ".bin"
filename = f"{filename}{extension}"
return FileInfo(
filename=filename,
extension=extension,
mimetype=mimetype,
size=int(response.headers.get("Content-Length", -1)),
)
def get_parameters_from_feature_dict(*, features_dict: Mapping[str, Any], user_input_form: list[dict[str, Any]]):
return {
"opening_statement": features_dict.get("opening_statement"),
"suggested_questions": features_dict.get("suggested_questions", []),
"suggested_questions_after_answer": features_dict.get("suggested_questions_after_answer", {"enabled": False}),
"speech_to_text": features_dict.get("speech_to_text", {"enabled": False}),
"text_to_speech": features_dict.get("text_to_speech", {"enabled": False}),
"retriever_resource": features_dict.get("retriever_resource", {"enabled": False}),
"annotation_reply": features_dict.get("annotation_reply", {"enabled": False}),
"more_like_this": features_dict.get("more_like_this", {"enabled": False}),
"user_input_form": user_input_form,
"sensitive_word_avoidance": features_dict.get(
"sensitive_word_avoidance", {"enabled": False, "type": "", "configs": []}
),
"file_upload": features_dict.get(
"file_upload",
{
"image": {
"enabled": False,
"number_limits": 3,
"detail": "high",
"transfer_methods": ["remote_url", "local_file"],
}
},
),
"system_parameters": {
"image_file_size_limit": dify_config.UPLOAD_IMAGE_FILE_SIZE_LIMIT,
"video_file_size_limit": dify_config.UPLOAD_VIDEO_FILE_SIZE_LIMIT,
"audio_file_size_limit": dify_config.UPLOAD_AUDIO_FILE_SIZE_LIMIT,
"file_size_limit": dify_config.UPLOAD_FILE_SIZE_LIMIT,
"workflow_file_upload_limit": dify_config.WORKFLOW_FILE_UPLOAD_LIMIT,
},
}
+120 -7
View File
@@ -2,9 +2,46 @@ from flask import Blueprint
from libs.external_api import ExternalApi
from .app.app_import import AppImportApi, AppImportCheckDependenciesApi, AppImportConfirmApi
from .explore.audio import ChatAudioApi, ChatTextApi
from .explore.completion import ChatApi, ChatStopApi, CompletionApi, CompletionStopApi
from .explore.conversation import (
ConversationApi,
ConversationListApi,
ConversationPinApi,
ConversationRenameApi,
ConversationUnPinApi,
)
from .explore.message import (
MessageFeedbackApi,
MessageListApi,
MessageMoreLikeThisApi,
MessageSuggestedQuestionApi,
)
from .explore.workflow import (
InstalledAppWorkflowRunApi,
InstalledAppWorkflowTaskStopApi,
)
from .files import FileApi, FilePreviewApi, FileSupportTypeApi
from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi
bp = Blueprint("console", __name__, url_prefix="/console/api")
api = ExternalApi(bp)
# File
api.add_resource(FileApi, "/files/upload")
api.add_resource(FilePreviewApi, "/files/<uuid:file_id>/preview")
api.add_resource(FileSupportTypeApi, "/files/support-type")
# Remote files
api.add_resource(RemoteFileInfoApi, "/remote-files/<path:url>")
api.add_resource(RemoteFileUploadApi, "/remote-files/upload")
# Import App
api.add_resource(AppImportApi, "/apps/imports")
api.add_resource(AppImportConfirmApi, "/apps/imports/<string:import_id>/confirm")
api.add_resource(AppImportCheckDependenciesApi, "/apps/imports/<string:app_id>/check-dependencies")
# Import other controllers
from . import admin, apikey, extension, feature, ping, setup, version
@@ -43,26 +80,102 @@ from .datasets import (
datasets_document,
datasets_segments,
external,
file,
hit_testing,
website,
)
# Import explore controllers
from .explore import (
audio,
completion,
conversation,
installed_app,
message,
parameter,
recommended_app,
saved_message,
workflow,
)
# Explore Audio
api.add_resource(ChatAudioApi, "/installed-apps/<uuid:installed_app_id>/audio-to-text", endpoint="installed_app_audio")
api.add_resource(ChatTextApi, "/installed-apps/<uuid:installed_app_id>/text-to-audio", endpoint="installed_app_text")
# Explore Completion
api.add_resource(
CompletionApi, "/installed-apps/<uuid:installed_app_id>/completion-messages", endpoint="installed_app_completion"
)
api.add_resource(
CompletionStopApi,
"/installed-apps/<uuid:installed_app_id>/completion-messages/<string:task_id>/stop",
endpoint="installed_app_stop_completion",
)
api.add_resource(
ChatApi, "/installed-apps/<uuid:installed_app_id>/chat-messages", endpoint="installed_app_chat_completion"
)
api.add_resource(
ChatStopApi,
"/installed-apps/<uuid:installed_app_id>/chat-messages/<string:task_id>/stop",
endpoint="installed_app_stop_chat_completion",
)
# Explore Conversation
api.add_resource(
ConversationRenameApi,
"/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/name",
endpoint="installed_app_conversation_rename",
)
api.add_resource(
ConversationListApi, "/installed-apps/<uuid:installed_app_id>/conversations", endpoint="installed_app_conversations"
)
api.add_resource(
ConversationApi,
"/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>",
endpoint="installed_app_conversation",
)
api.add_resource(
ConversationPinApi,
"/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/pin",
endpoint="installed_app_conversation_pin",
)
api.add_resource(
ConversationUnPinApi,
"/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/unpin",
endpoint="installed_app_conversation_unpin",
)
# Explore Message
api.add_resource(MessageListApi, "/installed-apps/<uuid:installed_app_id>/messages", endpoint="installed_app_messages")
api.add_resource(
MessageFeedbackApi,
"/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/feedbacks",
endpoint="installed_app_message_feedback",
)
api.add_resource(
MessageMoreLikeThisApi,
"/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/more-like-this",
endpoint="installed_app_more_like_this",
)
api.add_resource(
MessageSuggestedQuestionApi,
"/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/suggested-questions",
endpoint="installed_app_suggested_question",
)
# Explore Workflow
api.add_resource(InstalledAppWorkflowRunApi, "/installed-apps/<uuid:installed_app_id>/workflows/run")
api.add_resource(
InstalledAppWorkflowTaskStopApi, "/installed-apps/<uuid:installed_app_id>/workflows/tasks/<string:task_id>/stop"
)
# Import tag controllers
from .tag import tags
# Import workspace controllers
from .workspace import account, load_balancing_config, members, model_providers, models, tool_providers, workspace
from .workspace import (
account,
agent_providers,
endpoint,
load_balancing_config,
members,
model_providers,
models,
plugin,
tool_providers,
workspace,
)
+26 -10
View File
@@ -1,7 +1,9 @@
from functools import wraps
from flask import request
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from sqlalchemy import select
from sqlalchemy.orm import Session
from werkzeug.exceptions import NotFound, Unauthorized
from configs import dify_config
@@ -31,7 +33,7 @@ def admin_required(view):
if auth_scheme != "bearer":
raise Unauthorized("Invalid Authorization header format. Expected 'Bearer <api-key>' format.")
if dify_config.ADMIN_API_KEY != auth_token:
if auth_token != dify_config.ADMIN_API_KEY:
raise Unauthorized("API key is invalid.")
return view(*args, **kwargs)
@@ -54,9 +56,10 @@ class InsertExploreAppListApi(Resource):
parser.add_argument("position", type=int, required=True, nullable=False, location="json")
args = parser.parse_args()
app = App.query.filter(App.id == args["app_id"]).first()
with Session(db.engine) as session:
app = session.execute(select(App).filter(App.id == args["app_id"])).scalar_one_or_none()
if not app:
raise NotFound(f'App \'{args["app_id"]}\' is not found')
raise NotFound(f"App '{args['app_id']}' is not found")
site = app.site
if not site:
@@ -70,7 +73,10 @@ class InsertExploreAppListApi(Resource):
privacy_policy = site.privacy_policy or args["privacy_policy"] or ""
custom_disclaimer = site.custom_disclaimer or args["custom_disclaimer"] or ""
recommended_app = RecommendedApp.query.filter(RecommendedApp.app_id == args["app_id"]).first()
with Session(db.engine) as session:
recommended_app = session.execute(
select(RecommendedApp).filter(RecommendedApp.app_id == args["app_id"])
).scalar_one_or_none()
if not recommended_app:
recommended_app = RecommendedApp(
@@ -110,17 +116,27 @@ class InsertExploreAppApi(Resource):
@only_edition_cloud
@admin_required
def delete(self, app_id):
recommended_app = RecommendedApp.query.filter(RecommendedApp.app_id == str(app_id)).first()
with Session(db.engine) as session:
recommended_app = session.execute(
select(RecommendedApp).filter(RecommendedApp.app_id == str(app_id))
).scalar_one_or_none()
if not recommended_app:
return {"result": "success"}, 204
app = App.query.filter(App.id == recommended_app.app_id).first()
with Session(db.engine) as session:
app = session.execute(select(App).filter(App.id == recommended_app.app_id)).scalar_one_or_none()
if app:
app.is_public = False
installed_apps = InstalledApp.query.filter(
InstalledApp.app_id == recommended_app.app_id, InstalledApp.tenant_id != InstalledApp.app_owner_tenant_id
).all()
with Session(db.engine) as session:
installed_apps = session.execute(
select(InstalledApp).filter(
InstalledApp.app_id == recommended_app.app_id,
InstalledApp.tenant_id != InstalledApp.app_owner_tenant_id,
)
).all()
for installed_app in installed_apps:
db.session.delete(installed_app)
+27 -12
View File
@@ -1,6 +1,10 @@
import flask_restful
from flask_login import current_user
from typing import Any
import flask_restful # type: ignore
from flask_login import current_user # type: ignore
from flask_restful import Resource, fields, marshal_with
from sqlalchemy import select
from sqlalchemy.orm import Session
from werkzeug.exceptions import Forbidden
from extensions.ext_database import db
@@ -10,8 +14,7 @@ from models.dataset import Dataset
from models.model import ApiToken, App
from . import api
from .setup import setup_required
from .wraps import account_initialization_required
from .wraps import account_initialization_required, setup_required
api_key_fields = {
"id": fields.String,
@@ -25,7 +28,16 @@ api_key_list = {"data": fields.List(fields.Nested(api_key_fields), attribute="it
def _get_resource(resource_id, tenant_id, resource_model):
resource = resource_model.query.filter_by(id=resource_id, tenant_id=tenant_id).first()
if resource_model == App:
with Session(db.engine) as session:
resource = session.execute(
select(resource_model).filter_by(id=resource_id, tenant_id=tenant_id)
).scalar_one_or_none()
else:
with Session(db.engine) as session:
resource = session.execute(
select(resource_model).filter_by(id=resource_id, tenant_id=tenant_id)
).scalar_one_or_none()
if resource is None:
flask_restful.abort(404, message=f"{resource_model.__name__} not found.")
@@ -36,14 +48,15 @@ def _get_resource(resource_id, tenant_id, resource_model):
class BaseApiKeyListResource(Resource):
method_decorators = [account_initialization_required, login_required, setup_required]
resource_type = None
resource_model = None
resource_id_field = None
token_prefix = None
resource_type: str | None = None
resource_model: Any = None
resource_id_field: str | None = None
token_prefix: str | None = None
max_keys = 10
@marshal_with(api_key_list)
def get(self, resource_id):
assert self.resource_id_field is not None, "resource_id_field must be set"
resource_id = str(resource_id)
_get_resource(resource_id, current_user.current_tenant_id, self.resource_model)
keys = (
@@ -55,6 +68,7 @@ class BaseApiKeyListResource(Resource):
@marshal_with(api_key_fields)
def post(self, resource_id):
assert self.resource_id_field is not None, "resource_id_field must be set"
resource_id = str(resource_id)
_get_resource(resource_id, current_user.current_tenant_id, self.resource_model)
if not current_user.is_editor:
@@ -87,11 +101,12 @@ class BaseApiKeyListResource(Resource):
class BaseApiKeyResource(Resource):
method_decorators = [account_initialization_required, login_required, setup_required]
resource_type = None
resource_model = None
resource_id_field = None
resource_type: str | None = None
resource_model: Any = None
resource_id_field: str | None = None
def delete(self, resource_id, api_key_id):
assert self.resource_id_field is not None, "resource_id_field must be set"
resource_id = str(resource_id)
api_key_id = str(api_key_id)
_get_resource(resource_id, current_user.current_tenant_id, self.resource_model)
@@ -1,8 +1,7 @@
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from controllers.console import api
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from libs.login import login_required
from services.advanced_prompt_template_service import AdvancedPromptTemplateService
+2 -3
View File
@@ -1,9 +1,8 @@
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from libs.helper import uuid_value
from libs.login import login_required
from models.model import AppMode
+8 -5
View File
@@ -1,13 +1,16 @@
from flask import request
from flask_login import current_user
from flask_restful import Resource, marshal, marshal_with, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, marshal, marshal_with, reqparse # type: ignore
from werkzeug.exceptions import Forbidden
from controllers.console import api
from controllers.console.app.error import NoFileUploadedError
from controllers.console.datasets.error import TooManyFilesError
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
from controllers.console.wraps import (
account_initialization_required,
cloud_edition_billing_resource_check,
setup_required,
)
from extensions.ext_redis import redis_client
from fields.annotation_fields import (
annotation_fields,
@@ -107,7 +110,7 @@ class AnnotationListApi(Resource):
page = request.args.get("page", default=1, type=int)
limit = request.args.get("limit", default=20, type=int)
keyword = request.args.get("keyword", default=None, type=str)
keyword = request.args.get("keyword", default="", type=str)
app_id = str(app_id)
annotation_list, total = AppAnnotationService.get_annotation_list_by_app_id(app_id, page, limit, keyword)
+36 -67
View File
@@ -1,21 +1,30 @@
import uuid
from typing import cast
from flask_login import current_user
from flask_restful import Resource, inputs, marshal, marshal_with, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, inputs, marshal, marshal_with, reqparse # type: ignore
from sqlalchemy import select
from sqlalchemy.orm import Session
from werkzeug.exceptions import BadRequest, Forbidden, abort
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
from controllers.console.wraps import (
account_initialization_required,
cloud_edition_billing_resource_check,
enterprise_license_required,
setup_required,
)
from core.ops.ops_trace_manager import OpsTraceManager
from extensions.ext_database import db
from fields.app_fields import (
app_detail_fields,
app_detail_fields_with_site,
app_pagination_fields,
)
from libs.login import login_required
from services.app_dsl_service import AppDslService
from models import Account, App
from services.app_dsl_service import AppDslService, ImportMode
from services.app_service import AppService
ALLOW_CREATE_APP_MODES = ["chat", "agent-chat", "advanced-chat", "workflow", "completion"]
@@ -25,6 +34,7 @@ class AppListApi(Resource):
@setup_required
@login_required
@account_initialization_required
@enterprise_license_required
def get(self):
"""Get app list"""
@@ -47,12 +57,13 @@ class AppListApi(Resource):
)
parser.add_argument("name", type=str, location="args", required=False)
parser.add_argument("tag_ids", type=uuid_list, location="args", required=False)
parser.add_argument("is_created_by_me", type=inputs.boolean, location="args", required=False)
args = parser.parse_args()
# get app list
app_service = AppService()
app_pagination = app_service.get_paginate_apps(current_user.current_tenant_id, args)
app_pagination = app_service.get_paginate_apps(current_user.id, current_user.current_tenant_id, args)
if not app_pagination:
return {"data": [], "total": 0, "page": 1, "limit": 20, "has_more": False}
@@ -87,65 +98,11 @@ class AppListApi(Resource):
return app, 201
class AppImportApi(Resource):
@setup_required
@login_required
@account_initialization_required
@marshal_with(app_detail_fields_with_site)
@cloud_edition_billing_resource_check("apps")
def post(self):
"""Import app"""
# The role of the current user in the ta table must be admin, owner, or editor
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("data", type=str, required=True, nullable=False, location="json")
parser.add_argument("name", type=str, location="json")
parser.add_argument("description", type=str, location="json")
parser.add_argument("icon_type", type=str, location="json")
parser.add_argument("icon", type=str, location="json")
parser.add_argument("icon_background", type=str, location="json")
args = parser.parse_args()
app = AppDslService.import_and_create_new_app(
tenant_id=current_user.current_tenant_id, data=args["data"], args=args, account=current_user
)
return app, 201
class AppImportFromUrlApi(Resource):
@setup_required
@login_required
@account_initialization_required
@marshal_with(app_detail_fields_with_site)
@cloud_edition_billing_resource_check("apps")
def post(self):
"""Import app from url"""
# The role of the current user in the ta table must be admin, owner, or editor
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("url", type=str, required=True, nullable=False, location="json")
parser.add_argument("name", type=str, location="json")
parser.add_argument("description", type=str, location="json")
parser.add_argument("icon", type=str, location="json")
parser.add_argument("icon_background", type=str, location="json")
args = parser.parse_args()
app = AppDslService.import_and_create_new_app_from_url(
tenant_id=current_user.current_tenant_id, url=args["url"], args=args, account=current_user
)
return app, 201
class AppApi(Resource):
@setup_required
@login_required
@account_initialization_required
@enterprise_license_required
@get_app_model
@marshal_with(app_detail_fields_with_site)
def get(self, app_model):
@@ -218,10 +175,24 @@ class AppCopyApi(Resource):
parser.add_argument("icon_background", type=str, location="json")
args = parser.parse_args()
data = AppDslService.export_dsl(app_model=app_model, include_secret=True)
app = AppDslService.import_and_create_new_app(
tenant_id=current_user.current_tenant_id, data=data, args=args, account=current_user
)
with Session(db.engine) as session:
import_service = AppDslService(session)
yaml_content = import_service.export_dsl(app_model=app_model, include_secret=True)
account = cast(Account, current_user)
result = import_service.import_app(
account=account,
import_mode=ImportMode.YAML_CONTENT.value,
yaml_content=yaml_content,
name=args.get("name"),
description=args.get("description"),
icon_type=args.get("icon_type"),
icon=args.get("icon"),
icon_background=args.get("icon_background"),
)
session.commit()
stmt = select(App).where(App.id == result.app_id)
app = session.scalar(stmt)
return app, 201
@@ -362,8 +333,6 @@ class AppTraceApi(Resource):
api.add_resource(AppListApi, "/apps")
api.add_resource(AppImportApi, "/apps/import")
api.add_resource(AppImportFromUrlApi, "/apps/import/url")
api.add_resource(AppApi, "/apps/<uuid:app_id>")
api.add_resource(AppCopyApi, "/apps/<uuid:app_id>/copy")
api.add_resource(AppExportApi, "/apps/<uuid:app_id>/export")
+109
View File
@@ -0,0 +1,109 @@
from typing import cast
from flask_login import current_user # type: ignore
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from sqlalchemy.orm import Session
from werkzeug.exceptions import Forbidden
from controllers.console.app.wraps import get_app_model
from controllers.console.wraps import (
account_initialization_required,
setup_required,
)
from extensions.ext_database import db
from fields.app_fields import app_import_check_dependencies_fields, app_import_fields
from libs.login import login_required
from models import Account
from models.model import App
from services.app_dsl_service import AppDslService, ImportStatus
class AppImportApi(Resource):
@setup_required
@login_required
@account_initialization_required
@marshal_with(app_import_fields)
def post(self):
# Check user role first
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("mode", type=str, required=True, location="json")
parser.add_argument("yaml_content", type=str, location="json")
parser.add_argument("yaml_url", type=str, location="json")
parser.add_argument("name", type=str, location="json")
parser.add_argument("description", type=str, location="json")
parser.add_argument("icon_type", type=str, location="json")
parser.add_argument("icon", type=str, location="json")
parser.add_argument("icon_background", type=str, location="json")
parser.add_argument("app_id", type=str, location="json")
args = parser.parse_args()
# Create service with session
with Session(db.engine) as session:
import_service = AppDslService(session)
# Import app
account = cast(Account, current_user)
result = import_service.import_app(
account=account,
import_mode=args["mode"],
yaml_content=args.get("yaml_content"),
yaml_url=args.get("yaml_url"),
name=args.get("name"),
description=args.get("description"),
icon_type=args.get("icon_type"),
icon=args.get("icon"),
icon_background=args.get("icon_background"),
app_id=args.get("app_id"),
)
session.commit()
# Return appropriate status code based on result
status = result.status
if status == ImportStatus.FAILED.value:
return result.model_dump(mode="json"), 400
elif status == ImportStatus.PENDING.value:
return result.model_dump(mode="json"), 202
return result.model_dump(mode="json"), 200
class AppImportConfirmApi(Resource):
@setup_required
@login_required
@account_initialization_required
@marshal_with(app_import_fields)
def post(self, import_id):
# Check user role first
if not current_user.is_editor:
raise Forbidden()
# Create service with session
with Session(db.engine) as session:
import_service = AppDslService(session)
# Confirm import
account = cast(Account, current_user)
result = import_service.confirm_import(import_id=import_id, account=account)
session.commit()
# Return appropriate status code based on result
if result.status == ImportStatus.FAILED.value:
return result.model_dump(mode="json"), 400
return result.model_dump(mode="json"), 200
class AppImportCheckDependenciesApi(Resource):
@setup_required
@login_required
@get_app_model
@account_initialization_required
@marshal_with(app_import_check_dependencies_fields)
def get(self, app_model: App):
if not current_user.is_editor:
raise Forbidden()
with Session(db.engine) as session:
import_service = AppDslService(session)
result = import_service.check_dependencies(app_model=app_model)
return result.model_dump(mode="json"), 200
+11 -8
View File
@@ -1,7 +1,7 @@
import logging
from flask import request
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from werkzeug.exceptions import InternalServerError
import services
@@ -18,12 +18,11 @@ from controllers.console.app.error import (
UnsupportedAudioTypeError,
)
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from core.model_runtime.errors.invoke import InvokeError
from libs.login import login_required
from models.model import AppMode
from models import App, AppMode
from services.audio_service import AudioService
from services.errors.audio import (
AudioTooLargeServiceError,
@@ -71,7 +70,7 @@ class ChatMessageAudioApi(Resource):
except ValueError as e:
raise e
except Exception as e:
logging.exception(f"internal server error, {str(e)}.")
logging.exception("Failed to handle post request to ChatMessageAudioApi")
raise InternalServerError()
@@ -80,7 +79,7 @@ class ChatMessageTextApi(Resource):
@login_required
@account_initialization_required
@get_app_model
def post(self, app_model):
def post(self, app_model: App):
from werkzeug.exceptions import InternalServerError
try:
@@ -99,9 +98,13 @@ class ChatMessageTextApi(Resource):
and app_model.workflow.features_dict
):
text_to_speech = app_model.workflow.features_dict.get("text_to_speech")
if text_to_speech is None:
raise ValueError("TTS is not enabled")
voice = args.get("voice") or text_to_speech.get("voice")
else:
try:
if app_model.app_model_config is None:
raise ValueError("AppModelConfig not found")
voice = args.get("voice") or app_model.app_model_config.text_to_speech_dict.get("voice")
except Exception:
voice = None
@@ -129,7 +132,7 @@ class ChatMessageTextApi(Resource):
except ValueError as e:
raise e
except Exception as e:
logging.exception(f"internal server error, {str(e)}.")
logging.exception("Failed to handle post request to ChatMessageTextApi")
raise InternalServerError()
@@ -171,7 +174,7 @@ class TextModesApi(Resource):
except ValueError as e:
raise e
except Exception as e:
logging.exception(f"internal server error, {str(e)}.")
logging.exception("Failed to handle get request to TextModesApi")
raise InternalServerError()
+5 -7
View File
@@ -1,7 +1,7 @@
import logging
import flask_login
from flask_restful import Resource, reqparse
import flask_login # type: ignore
from flask_restful import Resource, reqparse # type: ignore
from werkzeug.exceptions import InternalServerError, NotFound
import services
@@ -15,13 +15,11 @@ from controllers.console.app.error import (
ProviderQuotaExceededError,
)
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from controllers.web.error import InvokeRateLimitError as InvokeRateLimitHttpError
from core.app.apps.base_app_queue_manager import AppQueueManager
from core.app.entities.app_invoke_entities import InvokeFrom
from core.errors.error import (
AppInvokeQuotaExceededError,
ModelCurrentlyNotSupportError,
ProviderTokenNotInitError,
QuotaExceededError,
@@ -77,7 +75,7 @@ class CompletionMessageApi(Resource):
raise ProviderModelCurrentlyNotSupportError()
except InvokeError as e:
raise CompletionRequestError(e.description)
except (ValueError, AppInvokeQuotaExceededError) as e:
except ValueError as e:
raise e
except Exception as e:
logging.exception("internal server error.")
@@ -142,7 +140,7 @@ class ChatMessageApi(Resource):
raise InvokeRateLimitHttpError(ex.description)
except InvokeError as e:
raise CompletionRequestError(e.description)
except (ValueError, AppInvokeQuotaExceededError) as e:
except ValueError as e:
raise e
except Exception as e:
logging.exception("internal server error.")
+11 -11
View File
@@ -1,17 +1,16 @@
from datetime import datetime, timezone
from datetime import UTC, datetime
import pytz
from flask_login import current_user
from flask_restful import Resource, marshal_with, reqparse
from flask_restful.inputs import int_range
import pytz # pip install pytz
from flask_login import current_user # type: ignore
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from flask_restful.inputs import int_range # type: ignore
from sqlalchemy import func, or_
from sqlalchemy.orm import joinedload
from werkzeug.exceptions import Forbidden, NotFound
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from core.app.entities.app_invoke_entities import InvokeFrom
from extensions.ext_database import db
from fields.conversation_fields import (
@@ -78,8 +77,9 @@ class CompletionConversationApi(Resource):
query = query.where(Conversation.created_at < end_datetime_utc)
# FIXME, the type ignore in this file
if args["annotation_status"] == "annotated":
query = query.options(joinedload(Conversation.message_annotations)).join(
query = query.options(joinedload(Conversation.message_annotations)).join( # type: ignore
MessageAnnotation, MessageAnnotation.conversation_id == Conversation.id
)
elif args["annotation_status"] == "not_annotated":
@@ -223,7 +223,7 @@ class ChatConversationApi(Resource):
query = query.where(Conversation.created_at <= end_datetime_utc)
if args["annotation_status"] == "annotated":
query = query.options(joinedload(Conversation.message_annotations)).join(
query = query.options(joinedload(Conversation.message_annotations)).join( # type: ignore
MessageAnnotation, MessageAnnotation.conversation_id == Conversation.id
)
elif args["annotation_status"] == "not_annotated":
@@ -235,7 +235,7 @@ class ChatConversationApi(Resource):
if args["message_count_gte"] and args["message_count_gte"] >= 1:
query = (
query.options(joinedload(Conversation.messages))
query.options(joinedload(Conversation.messages)) # type: ignore
.join(Message, Message.conversation_id == Conversation.id)
.group_by(Conversation.id)
.having(func.count(Message.id) >= args["message_count_gte"])
@@ -315,7 +315,7 @@ def _get_conversation(app_model, conversation_id):
raise NotFound("Conversation Not Exists.")
if not conversation.read_at:
conversation.read_at = datetime.now(timezone.utc).replace(tzinfo=None)
conversation.read_at = datetime.now(UTC).replace(tzinfo=None)
conversation.read_account_id = current_user.id
db.session.commit()
@@ -1,11 +1,10 @@
from flask_restful import Resource, marshal_with, reqparse
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from sqlalchemy import select
from sqlalchemy.orm import Session
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from extensions.ext_database import db
from fields.conversation_variable_fields import paginated_conversation_variable_fields
from libs.login import login_required
+3 -4
View File
@@ -1,7 +1,7 @@
import os
from flask_login import current_user
from flask_restful import Resource, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, reqparse # type: ignore
from controllers.console import api
from controllers.console.app.error import (
@@ -10,8 +10,7 @@ from controllers.console.app.error import (
ProviderNotInitializeError,
ProviderQuotaExceededError,
)
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from core.llm_generator.llm_generator import LLMGenerator
from core.model_runtime.errors.invoke import InvokeError
+10 -5
View File
@@ -1,8 +1,8 @@
import logging
from flask_login import current_user
from flask_restful import Resource, fields, marshal_with, reqparse
from flask_restful.inputs import int_range
from flask_login import current_user # type: ignore
from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore
from flask_restful.inputs import int_range # type: ignore
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
from controllers.console import api
@@ -14,8 +14,11 @@ from controllers.console.app.error import (
)
from controllers.console.app.wraps import get_app_model
from controllers.console.explore.error import AppSuggestedQuestionsAfterAnswerDisabledError
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
from controllers.console.wraps import (
account_initialization_required,
cloud_edition_billing_resource_check,
setup_required,
)
from core.app.entities.app_invoke_entities import InvokeFrom
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
from core.model_runtime.errors.invoke import InvokeError
@@ -105,6 +108,8 @@ class ChatMessageListApi(Resource):
if rest_count > 0:
has_more = True
history_messages = list(reversed(history_messages))
return InfiniteScrollPagination(data=history_messages, limit=args["limit"], has_more=has_more)
+12 -8
View File
@@ -1,13 +1,13 @@
import json
from typing import cast
from flask import request
from flask_login import current_user
from flask_restful import Resource
from flask_login import current_user # type: ignore
from flask_restful import Resource # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from core.agent.entities import AgentToolEntity
from core.tools.tool_manager import ToolManager
from core.tools.utils.configuration import ToolParameterConfigurationManager
@@ -27,7 +27,9 @@ class ModelConfigResource(Resource):
"""Modify app model config"""
# validate config
model_configuration = AppModelConfigService.validate_configuration(
tenant_id=current_user.current_tenant_id, config=request.json, app_mode=AppMode.value_of(app_model.mode)
tenant_id=current_user.current_tenant_id,
config=cast(dict, request.json),
app_mode=AppMode.value_of(app_model.mode),
)
new_app_model_config = AppModelConfig(
@@ -39,9 +41,11 @@ class ModelConfigResource(Resource):
if app_model.mode == AppMode.AGENT_CHAT.value or app_model.is_agent:
# get original app model config
original_app_model_config: AppModelConfig = (
original_app_model_config = (
db.session.query(AppModelConfig).filter(AppModelConfig.id == app_model.app_model_config_id).first()
)
if original_app_model_config is None:
raise ValueError("Original app model config not found")
agent_mode = original_app_model_config.agent_mode_dict
# decrypt agent tool parameters if it's secret-input
parameter_map = {}
@@ -66,7 +70,7 @@ class ModelConfigResource(Resource):
provider_type=agent_tool_entity.provider_type,
identity_id=f"AGENT.{app_model.id}",
)
except Exception as e:
except Exception:
continue
# get decrypted parameters
@@ -98,7 +102,7 @@ class ModelConfigResource(Resource):
app_id=app_model.id,
agent_tool=agent_tool_entity,
)
except Exception as e:
except Exception:
continue
manager = ToolParameterConfigurationManager(
+7 -7
View File
@@ -1,9 +1,9 @@
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from werkzeug.exceptions import BadRequest
from controllers.console import api
from controllers.console.app.error import TracingConfigCheckError, TracingConfigIsExist, TracingConfigNotExist
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from libs.login import login_required
from services.ops_service import OpsService
@@ -27,7 +27,7 @@ class TraceAppConfigApi(Resource):
return {"has_not_configured": True}
return trace_config
except Exception as e:
raise e
raise BadRequest(str(e))
@setup_required
@login_required
@@ -49,7 +49,7 @@ class TraceAppConfigApi(Resource):
raise TracingConfigCheckError()
return result
except Exception as e:
raise e
raise BadRequest(str(e))
@setup_required
@login_required
@@ -69,7 +69,7 @@ class TraceAppConfigApi(Resource):
raise TracingConfigNotExist()
return {"result": "success"}
except Exception as e:
raise e
raise BadRequest(str(e))
@setup_required
@login_required
@@ -86,7 +86,7 @@ class TraceAppConfigApi(Resource):
raise TracingConfigNotExist()
return {"result": "success"}
except Exception as e:
raise e
raise BadRequest(str(e))
api.add_resource(TraceAppConfigApi, "/apps/<uuid:app_id>/trace-config")
+35 -31
View File
@@ -1,14 +1,14 @@
from datetime import datetime, timezone
from datetime import UTC, datetime
from flask_login import current_user
from flask_restful import Resource, marshal_with, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from sqlalchemy.orm import Session
from werkzeug.exceptions import Forbidden, NotFound
from constants.languages import supported_language
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from extensions.ext_database import db
from fields.app_fields import app_site_fields
from libs.login import login_required
@@ -51,33 +51,37 @@ class AppSite(Resource):
if not current_user.is_editor:
raise Forbidden()
site = db.session.query(Site).filter(Site.app_id == app_model.id).one_or_404()
with Session(db.engine) as session:
site = session.query(Site).filter(Site.app_id == app_model.id).first()
for attr_name in [
"title",
"icon_type",
"icon",
"icon_background",
"description",
"default_language",
"chat_color_theme",
"chat_color_theme_inverted",
"customize_domain",
"copyright",
"privacy_policy",
"custom_disclaimer",
"customize_token_strategy",
"prompt_public",
"show_workflow_steps",
"use_icon_as_answer_icon",
]:
value = args.get(attr_name)
if value is not None:
setattr(site, attr_name, value)
if not site:
raise NotFound
site.updated_by = current_user.id
site.updated_at = datetime.now(timezone.utc).replace(tzinfo=None)
db.session.commit()
for attr_name in [
"title",
"icon_type",
"icon",
"icon_background",
"description",
"default_language",
"chat_color_theme",
"chat_color_theme_inverted",
"customize_domain",
"copyright",
"privacy_policy",
"custom_disclaimer",
"customize_token_strategy",
"prompt_public",
"show_workflow_steps",
"use_icon_as_answer_icon",
]:
value = args.get(attr_name)
if value is not None:
setattr(site, attr_name, value)
site.updated_by = current_user.id
site.updated_at = datetime.now(UTC).replace(tzinfo=None)
session.commit()
return site
@@ -100,7 +104,7 @@ class AppSiteAccessTokenReset(Resource):
site.code = Site.generate_code(16)
site.updated_by = current_user.id
site.updated_at = datetime.now(timezone.utc).replace(tzinfo=None)
site.updated_at = datetime.now(UTC).replace(tzinfo=None)
db.session.commit()
return site
+4 -6
View File
@@ -3,13 +3,12 @@ from decimal import Decimal
import pytz
from flask import jsonify
from flask_login import current_user
from flask_restful import Resource, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, reqparse # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from extensions.ext_database import db
from libs.helper import DatetimeString
from libs.login import login_required
@@ -274,8 +273,7 @@ FROM
messages m
ON c.id = m.conversation_id
WHERE
c.override_model_configs IS NULL
AND c.app_id = :app_id"""
c.app_id = :app_id"""
arg_dict = {"tz": account.timezone, "app_id": app_model.id}
timezone = pytz.timezone(account.timezone)
+117 -70
View File
@@ -2,26 +2,26 @@ import json
import logging
from flask import abort, request
from flask_restful import Resource, marshal_with, reqparse
from flask_restful import Resource, inputs, marshal_with, reqparse # type: ignore
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
import services
from configs import dify_config
from controllers.console import api
from controllers.console.app.error import ConversationCompletedError, DraftWorkflowNotExist, DraftWorkflowNotSync
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from core.app.apps.base_app_queue_manager import AppQueueManager
from core.app.entities.app_invoke_entities import InvokeFrom
from factories import variable_factory
from fields.workflow_fields import workflow_fields
from fields.workflow_fields import workflow_fields, workflow_pagination_fields
from fields.workflow_run_fields import workflow_run_node_execution_fields
from libs import helper
from libs.helper import TimestampField, uuid_value
from libs.login import current_user, login_required
from models import App
from models.account import Account
from models.model import AppMode
from services.app_dsl_service import AppDslService
from services.app_generate_service import AppGenerateService
from services.errors.app import WorkflowHashNotEqualError
from services.workflow_service import WorkflowService
@@ -97,16 +97,19 @@ class DraftWorkflowApi(Resource):
else:
abort(415)
if not isinstance(current_user, Account):
raise Forbidden()
workflow_service = WorkflowService()
try:
environment_variables_list = args.get("environment_variables") or []
environment_variables = [
variable_factory.build_variable_from_mapping(obj) for obj in environment_variables_list
variable_factory.build_environment_variable_from_mapping(obj) for obj in environment_variables_list
]
conversation_variables_list = args.get("conversation_variables") or []
conversation_variables = [
variable_factory.build_variable_from_mapping(obj) for obj in conversation_variables_list
variable_factory.build_conversation_variable_from_mapping(obj) for obj in conversation_variables_list
]
workflow = workflow_service.sync_draft_workflow(
app_model=app_model,
@@ -127,31 +130,6 @@ class DraftWorkflowApi(Resource):
}
class DraftWorkflowImportApi(Resource):
@setup_required
@login_required
@account_initialization_required
@get_app_model(mode=[AppMode.ADVANCED_CHAT, AppMode.WORKFLOW])
@marshal_with(workflow_fields)
def post(self, app_model: App):
"""
Import draft workflow
"""
# The role of the current user in the ta table must be admin, owner, or editor
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("data", type=str, required=True, nullable=False, location="json")
args = parser.parse_args()
workflow = AppDslService.import_and_overwrite_workflow(
app_model=app_model, data=args["data"], account=current_user
)
return workflow
class AdvancedChatDraftWorkflowRunApi(Resource):
@setup_required
@login_required
@@ -165,6 +143,9 @@ class AdvancedChatDraftWorkflowRunApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("inputs", type=dict, location="json")
parser.add_argument("query", type=str, required=True, location="json", default="")
@@ -186,7 +167,7 @@ class AdvancedChatDraftWorkflowRunApi(Resource):
raise ConversationCompletedError()
except ValueError as e:
raise e
except Exception as e:
except Exception:
logging.exception("internal server error.")
raise InternalServerError()
@@ -204,38 +185,7 @@ class AdvancedChatDraftRunIterationNodeApi(Resource):
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("inputs", type=dict, location="json")
args = parser.parse_args()
try:
response = AppGenerateService.generate_single_iteration(
app_model=app_model, user=current_user, node_id=node_id, args=args, streaming=True
)
return helper.compact_generate_response(response)
except services.errors.conversation.ConversationNotExistsError:
raise NotFound("Conversation Not Exists.")
except services.errors.conversation.ConversationCompletedError:
raise ConversationCompletedError()
except ValueError as e:
raise e
except Exception as e:
logging.exception("internal server error.")
raise InternalServerError()
class WorkflowDraftRunIterationNodeApi(Resource):
@setup_required
@login_required
@account_initialization_required
@get_app_model(mode=[AppMode.WORKFLOW])
def post(self, app_model: App, node_id: str):
"""
Run draft workflow iteration node
"""
# The role of the current user in the ta table must be admin, owner, or editor
if not current_user.is_editor:
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
@@ -254,7 +204,44 @@ class WorkflowDraftRunIterationNodeApi(Resource):
raise ConversationCompletedError()
except ValueError as e:
raise e
except Exception as e:
except Exception:
logging.exception("internal server error.")
raise InternalServerError()
class WorkflowDraftRunIterationNodeApi(Resource):
@setup_required
@login_required
@account_initialization_required
@get_app_model(mode=[AppMode.WORKFLOW])
def post(self, app_model: App, node_id: str):
"""
Run draft workflow iteration node
"""
# The role of the current user in the ta table must be admin, owner, or editor
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("inputs", type=dict, location="json")
args = parser.parse_args()
try:
response = AppGenerateService.generate_single_iteration(
app_model=app_model, user=current_user, node_id=node_id, args=args, streaming=True
)
return helper.compact_generate_response(response)
except services.errors.conversation.ConversationNotExistsError:
raise NotFound("Conversation Not Exists.")
except services.errors.conversation.ConversationCompletedError:
raise ConversationCompletedError()
except ValueError as e:
raise e
except Exception:
logging.exception("internal server error.")
raise InternalServerError()
@@ -272,6 +259,9 @@ class DraftWorkflowRunApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("inputs", type=dict, required=True, nullable=False, location="json")
parser.add_argument("files", type=list, required=False, location="json")
@@ -320,13 +310,20 @@ class DraftWorkflowNodeRunApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("inputs", type=dict, required=True, nullable=False, location="json")
args = parser.parse_args()
inputs = args.get("inputs")
if inputs == None:
raise ValueError("missing inputs")
workflow_service = WorkflowService()
workflow_node_execution = workflow_service.run_draft_workflow_node(
app_model=app_model, node_id=node_id, user_inputs=args.get("inputs"), account=current_user
app_model=app_model, node_id=node_id, user_inputs=inputs, account=current_user
)
return workflow_node_execution
@@ -365,6 +362,9 @@ class PublishedWorkflowApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
workflow_service = WorkflowService()
workflow = workflow_service.publish_workflow(app_model=app_model, account=current_user)
@@ -402,14 +402,19 @@ class DefaultBlockConfigApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("q", type=str, location="args")
args = parser.parse_args()
q = args.get("q")
filters = None
if args.get("q"):
if q:
try:
filters = json.loads(args.get("q"))
filters = json.loads(args.get("q", ""))
except json.JSONDecodeError:
raise ValueError("Invalid filters")
@@ -433,6 +438,9 @@ class ConvertToWorkflowApi(Resource):
if not current_user.is_editor:
raise Forbidden()
if not isinstance(current_user, Account):
raise Forbidden()
if request.data:
parser = reqparse.RequestParser()
parser.add_argument("name", type=str, required=False, nullable=True, location="json")
@@ -453,8 +461,46 @@ class ConvertToWorkflowApi(Resource):
}
class WorkflowConfigApi(Resource):
"""Resource for workflow configuration."""
@setup_required
@login_required
@account_initialization_required
@get_app_model(mode=[AppMode.ADVANCED_CHAT, AppMode.WORKFLOW])
def get(self, app_model: App):
return {
"parallel_depth_limit": dify_config.WORKFLOW_PARALLEL_DEPTH_LIMIT,
}
class PublishedAllWorkflowApi(Resource):
@setup_required
@login_required
@account_initialization_required
@get_app_model(mode=[AppMode.ADVANCED_CHAT, AppMode.WORKFLOW])
@marshal_with(workflow_pagination_fields)
def get(self, app_model: App):
"""
Get published workflows
"""
if not current_user.is_editor:
raise Forbidden()
parser = reqparse.RequestParser()
parser.add_argument("page", type=inputs.int_range(1, 99999), required=False, default=1, location="args")
parser.add_argument("limit", type=inputs.int_range(1, 100), required=False, default=20, location="args")
args = parser.parse_args()
page = args.get("page")
limit = args.get("limit")
workflow_service = WorkflowService()
workflows, has_more = workflow_service.get_all_published_workflow(app_model=app_model, page=page, limit=limit)
return {"items": workflows, "page": page, "limit": limit, "has_more": has_more}
api.add_resource(DraftWorkflowApi, "/apps/<uuid:app_id>/workflows/draft")
api.add_resource(DraftWorkflowImportApi, "/apps/<uuid:app_id>/workflows/draft/import")
api.add_resource(WorkflowConfigApi, "/apps/<uuid:app_id>/workflows/draft/config")
api.add_resource(AdvancedChatDraftWorkflowRunApi, "/apps/<uuid:app_id>/advanced-chat/workflows/draft/run")
api.add_resource(DraftWorkflowRunApi, "/apps/<uuid:app_id>/workflows/draft/run")
api.add_resource(WorkflowTaskStopApi, "/apps/<uuid:app_id>/workflow-runs/tasks/<string:task_id>/stop")
@@ -467,6 +513,7 @@ api.add_resource(
WorkflowDraftRunIterationNodeApi, "/apps/<uuid:app_id>/workflows/draft/iteration/nodes/<string:node_id>/run"
)
api.add_resource(PublishedWorkflowApi, "/apps/<uuid:app_id>/workflows/publish")
api.add_resource(PublishedAllWorkflowApi, "/apps/<uuid:app_id>/workflows")
api.add_resource(DefaultBlockConfigsApi, "/apps/<uuid:app_id>/workflows/default-workflow-block-configs")
api.add_resource(
DefaultBlockConfigApi, "/apps/<uuid:app_id>/workflows/default-workflow-block-configs/<string:block_type>"
@@ -1,10 +1,9 @@
from flask_restful import Resource, marshal_with, reqparse
from flask_restful.inputs import int_range
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from flask_restful.inputs import int_range # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from fields.workflow_app_log_fields import workflow_app_log_pagination_fields
from libs.login import login_required
from models import App
+3 -4
View File
@@ -1,10 +1,9 @@
from flask_restful import Resource, marshal_with, reqparse
from flask_restful.inputs import int_range
from flask_restful import Resource, marshal_with, reqparse # type: ignore
from flask_restful.inputs import int_range # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from fields.workflow_run_fields import (
advanced_chat_workflow_run_pagination_fields,
workflow_run_detail_fields,
@@ -3,13 +3,12 @@ from decimal import Decimal
import pytz
from flask import jsonify
from flask_login import current_user
from flask_restful import Resource, reqparse
from flask_login import current_user # type: ignore
from flask_restful import Resource, reqparse # type: ignore
from controllers.console import api
from controllers.console.app.wraps import get_app_model
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from controllers.console.wraps import account_initialization_required, setup_required
from extensions.ext_database import db
from libs.helper import DatetimeString
from libs.login import login_required
+2 -3
View File
@@ -5,11 +5,10 @@ from typing import Optional, Union
from controllers.console.app.error import AppNotFoundError
from extensions.ext_database import db
from libs.login import current_user
from models import App
from models.model import AppMode
from models import App, AppMode
def get_app_model(view: Optional[Callable] = None, *, mode: Union[AppMode, list[AppMode]] = None):
def get_app_model(view: Optional[Callable] = None, *, mode: Union[AppMode, list[AppMode], None] = None):
def decorator(view_func):
@wraps(view_func)
def decorated_view(*args, **kwargs):
+4 -4
View File
@@ -1,14 +1,14 @@
import datetime
from flask import request
from flask_restful import Resource, reqparse
from flask_restful import Resource, reqparse # type: ignore
from constants.languages import supported_language
from controllers.console import api
from controllers.console.error import AlreadyActivateError
from extensions.ext_database import db
from libs.helper import StrLen, email, extract_remote_ip, timezone
from models.account import AccountStatus, Tenant
from models.account import AccountStatus
from services.account_service import AccountService, RegisterService
@@ -27,7 +27,7 @@ class ActivateCheckApi(Resource):
invitation = RegisterService.get_invitation_if_token_valid(workspaceId, reg_email, token)
if invitation:
data = invitation.get("data", {})
tenant: Tenant = invitation.get("tenant", None)
tenant = invitation.get("tenant", None)
workspace_name = tenant.name if tenant else None
workspace_id = tenant.id if tenant else None
invitee_email = data.get("email") if data else None
@@ -65,7 +65,7 @@ class ActivateApi(Resource):
account.timezone = args["timezone"]
account.interface_theme = "light"
account.status = AccountStatus.ACTIVE.value
account.initialized_at = datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
account.initialized_at = datetime.datetime.now(datetime.UTC).replace(tzinfo=None)
db.session.commit()
token_pair = AccountService.login(account, ip_address=extract_remote_ip(request))

Some files were not shown because too many files have changed in this diff Show More