Compare commits

..
Author SHA1 Message Date
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
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
Novice Lee 4765728cef feat: add agent node stream output 2025-01-22 09:59:40 +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
Novice Lee 8865bdca05 feat: add agent strategy on node start 2025-01-13 13:30:35 +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
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
Novice Lee ffbbd47d13 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-09 16:55:58 +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
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
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
kurokoboandGitHub 1b940e7daa feat: add ci job to test template for docker compose (#12514) 2025-01-09 00:04:58 +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
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
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
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
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
AkaraChen 93806148cd chore: plugin mutation modal component 2025-01-08 12:37:33 +08:00
JzoNg adf0d94a9a unsupported actions 2025-01-08 11:51:59 +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
Novice Lee 86318d9137 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-08 08:04:48 +08:00
Yeuoly c706226b2f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-07 20:53:25 +08:00
Yeuoly f9f48b7139 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-07 20:16:04 +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
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 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
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
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
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
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
AkaraChen 15f3e46c49 refactor: some field name in strategy status 2025-01-07 09:30:35 +08:00
Joel 61d2f70927 feat: add transform node to node data 2025-01-06 18:36:45 +08:00
Joel 228cd1cdbe feat: add iteration id 2025-01-06 16:48:24 +08:00
Joel e0ed17a2e6 chore: can generator middle struct 2025-01-06 15:31:25 +08:00
zxhlyh 07aa2ca9cf fix: single run log 2025-01-03 16:34:23 +08:00
Joel 5fdfba6b00 feat: make iteration 2025-01-03 15:41:04 +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 beeb11a5dc Merge branch 'fix/chore-fix' into dev/plugin-deploy 2025-01-03 14:10:22 +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
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
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
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
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
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
Yeuoly 65077cd388 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-31 17:43:16 +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
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
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
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
Yi 232fb66edd ui fixes in model selector 2024-12-31 11:08:53 +08:00
Yeuoly f5dc873b81 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-30 21:14:47 +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 7330a4a783 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-30 13:35:10 +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
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
Yeuoly 7122bf3e8e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 22:56:55 +08:00
Yeuoly 4fb5cf675b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 18:37:54 +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
Yeuoly b1522e860a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 17:55:57 +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
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
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
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
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
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
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
Yeuoly 494cca82a0 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-27 11:33:13 +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
Yeuoly 2b8f31ec98 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 22:58:48 +08:00
Yeuoly 673ba9330c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 22:30:38 +08:00
JzoNg 95da3a4cf1 tool credential panel 2024-12-26 18:58:01 +08:00
Yeuoly b7f04c1ba8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 18:07:39 +08:00
JzoNg bfecc73de9 support extra for tool selector 2024-12-26 17:58:34 +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
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
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 f0178bd603 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-26 13:24:16 +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
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
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
Joel e1ea82475d feat: format agent 2024-12-25 18:37:05 +08:00
Yeuoly cd00602213 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-25 18:25:21 +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
Joel 8d225264fa feat: retry 2024-12-25 16:25:19 +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
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
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
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
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
Yeuoly 527abcb2e9 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-24 18:39:42 +08:00
Yi d43b2c62f5 Merge branch 'main' into feat/plugins 2024-12-24 17:44:12 +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
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
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
Joel c3f3b79b79 merge main 2024-12-23 15:33:08 +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
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
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
Yeuoly 82f6803e25 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 01:09:34 +08:00
Yeuoly 69b43c513a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 01:02:56 +08:00
Yeuoly f407cf4e13 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-19 00:52:02 +08:00
Yeuoly f8bbea224f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-18 23:55:18 +08:00
Joel 289a040508 chore: merge 2024-12-18 17:54:18 +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
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
NFish 4e6db1f4fb fix: update parent child style 2024-12-18 11:46:41 +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
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
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
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
AkaraChen 175f5fe6af fix: input number width & default value for child delimiter 2024-12-17 14:12:34 +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
Yeuoly 040a6fbc5f fix: refresh token 2024-12-16 19:41:50 +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
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
zxhlyh e792e91777 fix: model page 2024-12-16 14:56:55 +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
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
Yeuoly fa03ba23bb Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-15 18:12:43 +08:00
Yeuoly a48608dd9b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-13 22:53:20 +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
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
AkaraChen 031c2ad899 chore: update pnpm lock 2024-12-13 17:27:04 +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
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
Yeuoly 11c4bf5574 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-13 00:06:09 +08:00
Yeuoly 4cbaa6b77d Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 23:46:58 +08:00
Yeuoly d01f0278f4 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 19:16:31 +08:00
Yeuoly 8278c8a27e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 18:27:58 +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
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
Yeuoly 85caf51ad1 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-12 13:51:00 +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
AkaraChen 3f1b92a23f fix: data source web & notion 2024-12-12 13:37:36 +08:00
AkaraChen ac24163fb9 chore: change some color for dark mode 2024-12-12 13:13:08 +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
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
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
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
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
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
Yeuoly 80b3de5c4f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-10 02:21:56 +08:00
Yeuoly 6868ee5431 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-10 00:23:08 +08:00
Yeuoly 054b59c702 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-09 23:26:38 +08:00
Yeuoly ff81d12426 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-09 23:02:50 +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
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
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
Joel 82e2b68d9e feat: preview document picker 2024-12-09 15:42:19 +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
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
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
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
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
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
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
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
Yeuoly fbcd4fe1f7 fix: use default_factory for list fields 2024-12-05 20:58:03 +08:00
Joel 768073ddac feat: batch action ui 2024-12-05 17:34:40 +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
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
Yi 0e419a7a16 feat: move linear gradient bg to common config 2024-12-05 14:44:45 +08:00
Joel 8a8fc7ab50 feat: finish add chunk mode 2024-12-05 14:08:45 +08:00
Joel 1578dc50ef feat: add chunking mode 2024-12-05 11:40:46 +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
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
Yeuoly df68b6befa Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-04 19:26:23 +08:00
Yeuoly 3d3a42945f Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-04 19:02:50 +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
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
AkaraChen 539050c56b style: fix component naming 2024-12-04 16:16:00 +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
Yeuoly e5e8277c2d Merge remote-tracking branch 'origin/feat/plugins' into dev/plugin-deploy 2024-12-04 15:40:39 +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
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
Joel f634a4488f merge main 2024-12-04 11:06:00 +08:00
Yeuoly d5cf64f289 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 19:45:25 +08:00
Yeuoly 9cb2a031ed Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 19:28:22 +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
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 e6fcf06e59 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-03 16:29:02 +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
AkaraChen c960f78035 refactor: step 2 2024-12-03 14:14:37 +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
Yeuoly 1dad2fdaaf Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 22:00:05 +08:00
Yeuoly dbc555f698 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 21:26:12 +08:00
Yeuoly 78a0c3c13c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 21:08:53 +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
Yeuoly 5abbe76ca0 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-12-02 16:51:57 +08:00
JzoNg 86f45d7e25 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-12-02 16:13:31 +08:00
Yeuoly e23d322c1c Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 18:20:59 +08:00
Yeuoly 48c9a25393 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 16:49:18 +08:00
Yeuoly 8266bf6fa8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 16:17:48 +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
Yeuoly f36a50ad09 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-29 14:09:54 +08:00
Joel 35ef874867 fix: detect is same packege use uniqid 2024-11-29 10:56:58 +08:00
Yeuoly df67200e18 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 20:44:58 +08:00
Yeuoly d409d30ee5 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 19:35:48 +08:00
Yeuoly 5df52b33d7 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-28 19:09:27 +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
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
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
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
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
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
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
Joel cc64419c84 feat: use new file icon 2024-11-27 17:57:28 +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
StyleZhang e145dba487 fix: dsl check 2024-11-27 14:30:47 +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
Yeuoly 3a18aaebd2 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-26 18:59:18 +08:00
Yeuoly 66d4de39b8 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-26 18:04:34 +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
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
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
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
StyleZhang b84b0c8ba8 merge main 2024-11-26 11:38:37 +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
StyleZhang a0873a956f merge main 2024-11-26 10:27:48 +08:00
Yeuoly 6e37eeabca Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-25 23:36:35 +08:00
Yeuoly cdeda89801 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-25 23:22:52 +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
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
StyleZhang 4f54ac6ed6 fix: marketplace collection condition 2024-11-25 12:03:49 +08:00
Yeuoly dfc94cd7c2 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-22 20:04:42 +08:00
Yeuoly f69d5caa14 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-22 18:19:27 +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
JzoNg 27ea150a44 Merge branch 'feat/plugins' into dev/plugin-deploy 2024-11-22 15:11:52 +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
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
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
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
JzoNg bd6c2e519c fix: corner mark 2024-11-22 09:09:35 +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
Joel 1b3f4f1f2a feat: support icon size 2024-11-21 18:00:13 +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
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
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
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
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
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
Joel 498222371c chore: parse marketplace bundle new api 2024-11-20 17:52:35 +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
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
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
Joel bb2914652a feat: finsh loading error comp 2024-11-20 13:56:32 +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
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
Joel 5947e38ea0 feat: install by local bundle change 2024-11-19 18:32:17 +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
Yeuoly 6c9f77092a Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-19 16:50:47 +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
Yeuoly ba148952bd Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-19 14:04:15 +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
Yeuoly 44e9758549 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-18 17:21: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
JzoNg afdfc8c609 chore: enabled for useQuery 2024-11-18 11:02:37 +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
Yeuoly 2698b1c222 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 19:54:56 +08:00
Yeuoly 59b76900d7 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 18:39:40 +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
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
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
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
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
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
Yeuoly 1812af6cfe Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-15 00:47:46 +08:00
Yeuoly 94a8547217 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-14 22:59:18 +08:00
Yeuoly 5bd7598a37 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-14 18:34:32 +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
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
Yi a403fb565d chore: update the plan tags 2024-11-14 16:21:28 +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
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
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
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
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
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
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
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
Yeuoly 8ed2695286 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 21:43:44 +08:00
Yeuoly a42b081e32 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 20:48:51 +08:00
Yeuoly beea9d01f3 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-12 19:57:32 +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
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
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
AkaraChen e175ad9963 fix: sse post no token 2024-11-12 14:41:09 +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
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
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
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
Joel f47b5ce63a chore: install plugin by local use use query 2024-11-11 14:58:17 +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 2a87f61515 fix: avoid empty plugin entity 2024-11-11 13:32:03 +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
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
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
takatost 48fac5187a Merge branch 'refs/heads/fix/chore-fix' into dev/plugin-deploy 2024-11-08 19:24:44 +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
Yeuoly 1a5c2d1d58 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 17:27:35 +08:00
AkaraChen d4f7ebfd2e feat: refactor http client 2024-11-08 17:21:55 +08:00
Yeuoly c34970c631 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-08 17:21:06 +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
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
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
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
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
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
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
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
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
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
AkaraChen b1242ba1ac build: init @tanstack/react-query 2024-11-07 09:44:36 +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
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
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
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
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
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
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
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
Joel 99a9bf6d56 feat: support search from marketplace list 2024-11-01 18:36:24 +08:00
Yeuoly 02a296bbec Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-11-01 16:55:45 +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
Joel 3c8548c562 feat: create tool model 2024-11-01 16:14:01 +08:00
StyleZhang 8874837dc3 feat: plugin tasks 2024-11-01 16:08:31 +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
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
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 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
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
Joel 66be03f622 fix: search tools ui and some ui problem 2024-11-01 14:02:10 +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
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
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
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
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
Joel ae21d48132 feat: list flat view 2024-10-31 15:59:39 +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 a196de195e Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-31 15:19:49 +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
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
StyleZhang 3db9174f55 fix: marketplace list 2024-10-30 17:24:46 +08:00
StyleZhang 02854b273f fix: marketplace 2024-10-30 16:36:08 +08:00
Yeuoly fb3d03b790 Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-30 16:09:33 +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
StyleZhang 0f4291bd36 merge main 2024-10-30 11:20:20 +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
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
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
Joel 0dcbb34cab feat: handle from market install 2024-10-29 16:33:46 +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
Joel 6726ca102e feat: add get marketpalce get 2024-10-29 14:53:14 +08:00
Yeuoly 6246cf047b Merge branch 'fix/chore-fix' into dev/plugin-deploy 2024-10-29 12:32:25 +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
Joel ca9e23d6ea fix: check status 2024-10-28 18:36:23 +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
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
Joel 966d42a4db Merge branch 'main' into feat/plugins 2024-10-28 15:53:39 +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
StyleZhang 0d85d44de5 feat: marketplace list 2024-10-28 11:50:45 +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
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
Joel c777d55a1c feat: marketplace install 2024-10-25 16:46:02 +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
StyleZhang 0ef35a0ee0 fix: enable_marketplace 2024-10-25 10:41:25 +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
Joel d7def41acc feat: fetch debug key api 2024-10-24 16:07:46 +08:00
AkaraChen b6a560ce86 style: lint 2024-10-24 14:52:07 +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
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
Yi a567cff809 chore: update the install from GitHub component 2024-10-22 17:51:14 +08:00
Joel 583b0e9f97 chore: remove replicated types 2024-10-22 17:29:58 +08:00
Joel 5fddb23516 feat: install progress 2024-10-22 17:21:44 +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
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
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
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
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
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
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
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
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
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
Joel 36f8b5711d feat: plugin types 2024-09-30 15:29:53 +08:00
Joel f9c48e9ea9 fix: eslint to find top dir 2024-09-29 18:27:36 +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
Joel cb4875a3a7 chore: split the common tailwind config 2024-09-26 15:06:36 +08:00
StyleZhang bbca708832 add marketplace card 2024-09-24 11:18:34 +08:00
JzoNg 05aec43ee3 Merge branch 'main' into tp 2024-09-23 11:39:46 +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
291 changed files with 2768 additions and 4552 deletions
+14
View File
@@ -6,6 +6,7 @@ on:
- "main"
- "deploy/dev"
- "plugins/beta"
- "dev/plugin-deploy"
release:
types: [published]
@@ -140,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}"
+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
@@ -1,47 +0,0 @@
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
-3
View File
@@ -25,9 +25,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -21,9 +21,6 @@
<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">
-3
View File
@@ -25,9 +25,6 @@
<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">
-3
View File
@@ -22,9 +22,6 @@
<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">
+6 -3
View File
@@ -21,9 +21,6 @@
<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">
@@ -65,6 +62,8 @@ 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.
@@ -151,6 +150,8 @@ 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>**
@@ -176,6 +177,8 @@ 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
-3
View File
@@ -21,9 +21,6 @@
<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">
+11 -12
View File
@@ -48,18 +48,16 @@ ENV TZ=UTC
WORKDIR /app/api
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 \
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 expat=2.6.4-1 libldap-2.5-0=2.5.19+dfsg-1 perl=5.40.0-8 libsqlite3-0=3.46.1-1 zlib1g=1:1.3.dfsg+really1.3.1-1+b1 \
# install a chinese font to support the use of tools like matplotlib
&& apt-get install -y fonts-noto-cjk \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
@@ -82,6 +80,7 @@ COPY . /app/api/
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ARG COMMIT_SHA
ENV COMMIT_SHA=${COMMIT_SHA}
-5
View File
@@ -556,11 +556,6 @@ class AuthConfig(BaseSettings):
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):
"""
+1 -34
View File
@@ -1,40 +1,9 @@
from typing import Optional
from pydantic import Field, NonNegativeInt, computed_field
from pydantic import Field, NonNegativeInt
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
@@ -233,7 +202,5 @@ class HostedServiceConfig(
HostedZhipuAIConfig,
# moderation
HostedModerationConfig,
# credit config
HostedCreditConfig,
):
pass
+1 -1
View File
@@ -9,7 +9,7 @@ class PackagingInfo(BaseSettings):
CURRENT_VERSION: str = Field(
description="Dify version",
default="1.0.0",
default="1.0.0-beta.1",
)
COMMIT_SHA: str = Field(
-27
View File
@@ -1,32 +1,12 @@
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
@@ -67,13 +47,6 @@ def guess_file_info_from_response(response: httpx.Response):
# 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
-6
View File
@@ -59,9 +59,3 @@ class EmailCodeAccountDeletionRateLimitExceededError(BaseHTTPException):
error_code = "email_code_account_deletion_rate_limit_exceeded"
description = "Too many account deletion emails have been sent. Please try again in 5 minutes."
code = 429
class EmailPasswordResetLimitError(BaseHTTPException):
error_code = "email_password_reset_limit"
description = "Too many failed password reset attempts. Please try again in 24 hours."
code = 429
@@ -8,13 +8,7 @@ from sqlalchemy.orm import Session
from constants.languages import languages
from controllers.console import api
from controllers.console.auth.error import (
EmailCodeError,
EmailPasswordResetLimitError,
InvalidEmailError,
InvalidTokenError,
PasswordMismatchError,
)
from controllers.console.auth.error import EmailCodeError, InvalidEmailError, InvalidTokenError, PasswordMismatchError
from controllers.console.error import AccountInFreezeError, AccountNotFound, EmailSendIpLimitError
from controllers.console.wraps import setup_required
from events.tenant_event import tenant_was_created
@@ -71,10 +65,6 @@ class ForgotPasswordCheckApi(Resource):
user_email = args["email"]
is_forgot_password_error_rate_limit = AccountService.is_forgot_password_error_rate_limit(args["email"])
if is_forgot_password_error_rate_limit:
raise EmailPasswordResetLimitError()
token_data = AccountService.get_reset_password_data(args["token"])
if token_data is None:
raise InvalidTokenError()
@@ -83,10 +73,8 @@ class ForgotPasswordCheckApi(Resource):
raise InvalidEmailError()
if args["code"] != token_data.get("code"):
AccountService.add_forgot_password_error_rate_limit(args["email"])
raise EmailCodeError()
AccountService.reset_forgot_password_error_rate_limit(args["email"])
return {"is_valid": True, "email": token_data.get("email")}
@@ -14,7 +14,6 @@ from controllers.console.wraps import account_initialization_required, enterpris
from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
from core.indexing_runner import IndexingRunner
from core.model_runtime.entities.model_entities import ModelType
from core.plugin.entities.plugin import ModelProviderID
from core.provider_manager import ProviderManager
from core.rag.datasource.vdb.vector_type import VectorType
from core.rag.extractor.entity.extract_setting import ExtractSetting
@@ -73,9 +72,7 @@ class DatasetListApi(Resource):
data = marshal(datasets, dataset_detail_fields)
for item in data:
# convert embedding_model_provider to plugin standard format
if item["indexing_technique"] == "high_quality":
item["embedding_model_provider"] = str(ModelProviderID(item["embedding_model_provider"]))
item_model = f"{item['embedding_model']}:{item['embedding_model_provider']}"
if item_model in model_names:
item["embedding_available"] = True
+1 -1
View File
@@ -50,7 +50,7 @@ class MessageListApi(InstalledAppResource):
try:
return MessageService.pagination_by_first_id(
app_model, current_user, args["conversation_id"], args["first_id"], args["limit"]
app_model, current_user, args["conversation_id"], args["first_id"], args["limit"], "desc"
)
except services.errors.conversation.ConversationNotExistsError:
raise NotFound("Conversation Not Exists.")
@@ -1,5 +1,3 @@
import json
from flask_restful import Resource, reqparse # type: ignore
from controllers.console.wraps import setup_required
@@ -31,34 +29,4 @@ class EnterpriseWorkspace(Resource):
return {"message": "enterprise workspace created."}
class EnterpriseWorkspaceNoOwnerEmail(Resource):
@setup_required
@enterprise_inner_api_only
def post(self):
parser = reqparse.RequestParser()
parser.add_argument("name", type=str, required=True, location="json")
args = parser.parse_args()
tenant = TenantService.create_tenant(args["name"], is_from_dashboard=True)
tenant_was_created.send(tenant)
resp = {
"id": tenant.id,
"name": tenant.name,
"encrypt_public_key": tenant.encrypt_public_key,
"plan": tenant.plan,
"status": tenant.status,
"custom_config": json.loads(tenant.custom_config) if tenant.custom_config else {},
"created_at": tenant.created_at.isoformat() if tenant.created_at else None,
"updated_at": tenant.updated_at.isoformat() if tenant.updated_at else None,
}
return {
"message": "enterprise workspace created.",
"tenant": resp,
}
api.add_resource(EnterpriseWorkspace, "/enterprise/workspace")
api.add_resource(EnterpriseWorkspaceNoOwnerEmail, "/enterprise/workspace/ownerless")
@@ -18,7 +18,6 @@ from controllers.service_api.app.error import (
from controllers.service_api.dataset.error import (
ArchivedDocumentImmutableError,
DocumentIndexingError,
InvalidMetadataError,
)
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_resource_check
from core.errors.error import ProviderTokenNotInitError
@@ -51,9 +50,6 @@ class DocumentAddByTextApi(DatasetApiResource):
"indexing_technique", type=str, choices=Dataset.INDEXING_TECHNIQUE_LIST, nullable=False, location="json"
)
parser.add_argument("retrieval_model", type=dict, required=False, nullable=False, location="json")
parser.add_argument("doc_type", type=str, required=False, nullable=True, location="json")
parser.add_argument("doc_metadata", type=dict, required=False, nullable=True, location="json")
args = parser.parse_args()
dataset_id = str(dataset_id)
tenant_id = str(tenant_id)
@@ -65,28 +61,6 @@ class DocumentAddByTextApi(DatasetApiResource):
if not dataset.indexing_technique and not args["indexing_technique"]:
raise ValueError("indexing_technique is required.")
# Validate metadata if provided
if args.get("doc_type") or args.get("doc_metadata"):
if not args.get("doc_type") or not args.get("doc_metadata"):
raise InvalidMetadataError("Both doc_type and doc_metadata must be provided when adding metadata")
if args["doc_type"] not in DocumentService.DOCUMENT_METADATA_SCHEMA:
raise InvalidMetadataError(
"Invalid doc_type. Must be one of: " + ", ".join(DocumentService.DOCUMENT_METADATA_SCHEMA.keys())
)
if not isinstance(args["doc_metadata"], dict):
raise InvalidMetadataError("doc_metadata must be a dictionary")
# Validate metadata schema based on doc_type
if args["doc_type"] != "others":
metadata_schema = DocumentService.DOCUMENT_METADATA_SCHEMA[args["doc_type"]]
for key, value in args["doc_metadata"].items():
if key in metadata_schema and not isinstance(value, metadata_schema[key]):
raise InvalidMetadataError(f"Invalid type for metadata field {key}")
# set to MetaDataConfig
args["metadata"] = {"doc_type": args["doc_type"], "doc_metadata": args["doc_metadata"]}
text = args.get("text")
name = args.get("name")
if text is None or name is None:
@@ -133,8 +107,6 @@ class DocumentUpdateByTextApi(DatasetApiResource):
"doc_language", type=str, default="English", required=False, nullable=False, location="json"
)
parser.add_argument("retrieval_model", type=dict, required=False, nullable=False, location="json")
parser.add_argument("doc_type", type=str, required=False, nullable=True, location="json")
parser.add_argument("doc_metadata", type=dict, required=False, nullable=True, location="json")
args = parser.parse_args()
dataset_id = str(dataset_id)
tenant_id = str(tenant_id)
@@ -143,32 +115,6 @@ class DocumentUpdateByTextApi(DatasetApiResource):
if not dataset:
raise ValueError("Dataset is not exist.")
# indexing_technique is already set in dataset since this is an update
args["indexing_technique"] = dataset.indexing_technique
# Validate metadata if provided
if args.get("doc_type") or args.get("doc_metadata"):
if not args.get("doc_type") or not args.get("doc_metadata"):
raise InvalidMetadataError("Both doc_type and doc_metadata must be provided when adding metadata")
if args["doc_type"] not in DocumentService.DOCUMENT_METADATA_SCHEMA:
raise InvalidMetadataError(
"Invalid doc_type. Must be one of: " + ", ".join(DocumentService.DOCUMENT_METADATA_SCHEMA.keys())
)
if not isinstance(args["doc_metadata"], dict):
raise InvalidMetadataError("doc_metadata must be a dictionary")
# Validate metadata schema based on doc_type
if args["doc_type"] != "others":
metadata_schema = DocumentService.DOCUMENT_METADATA_SCHEMA[args["doc_type"]]
for key, value in args["doc_metadata"].items():
if key in metadata_schema and not isinstance(value, metadata_schema[key]):
raise InvalidMetadataError(f"Invalid type for metadata field {key}")
# set to MetaDataConfig
args["metadata"] = {"doc_type": args["doc_type"], "doc_metadata": args["doc_metadata"]}
if args["text"]:
text = args.get("text")
name = args.get("name")
@@ -215,30 +161,6 @@ class DocumentAddByFileApi(DatasetApiResource):
args["doc_form"] = "text_model"
if "doc_language" not in args:
args["doc_language"] = "English"
# Validate metadata if provided
if args.get("doc_type") or args.get("doc_metadata"):
if not args.get("doc_type") or not args.get("doc_metadata"):
raise InvalidMetadataError("Both doc_type and doc_metadata must be provided when adding metadata")
if args["doc_type"] not in DocumentService.DOCUMENT_METADATA_SCHEMA:
raise InvalidMetadataError(
"Invalid doc_type. Must be one of: " + ", ".join(DocumentService.DOCUMENT_METADATA_SCHEMA.keys())
)
if not isinstance(args["doc_metadata"], dict):
raise InvalidMetadataError("doc_metadata must be a dictionary")
# Validate metadata schema based on doc_type
if args["doc_type"] != "others":
metadata_schema = DocumentService.DOCUMENT_METADATA_SCHEMA[args["doc_type"]]
for key, value in args["doc_metadata"].items():
if key in metadata_schema and not isinstance(value, metadata_schema[key]):
raise InvalidMetadataError(f"Invalid type for metadata field {key}")
# set to MetaDataConfig
args["metadata"] = {"doc_type": args["doc_type"], "doc_metadata": args["doc_metadata"]}
# get dataset info
dataset_id = str(dataset_id)
tenant_id = str(tenant_id)
@@ -306,29 +228,6 @@ class DocumentUpdateByFileApi(DatasetApiResource):
if "doc_language" not in args:
args["doc_language"] = "English"
# Validate metadata if provided
if args.get("doc_type") or args.get("doc_metadata"):
if not args.get("doc_type") or not args.get("doc_metadata"):
raise InvalidMetadataError("Both doc_type and doc_metadata must be provided when adding metadata")
if args["doc_type"] not in DocumentService.DOCUMENT_METADATA_SCHEMA:
raise InvalidMetadataError(
"Invalid doc_type. Must be one of: " + ", ".join(DocumentService.DOCUMENT_METADATA_SCHEMA.keys())
)
if not isinstance(args["doc_metadata"], dict):
raise InvalidMetadataError("doc_metadata must be a dictionary")
# Validate metadata schema based on doc_type
if args["doc_type"] != "others":
metadata_schema = DocumentService.DOCUMENT_METADATA_SCHEMA[args["doc_type"]]
for key, value in args["doc_metadata"].items():
if key in metadata_schema and not isinstance(value, metadata_schema[key]):
raise InvalidMetadataError(f"Invalid type for metadata field {key}")
# set to MetaDataConfig
args["metadata"] = {"doc_type": args["doc_type"], "doc_metadata": args["doc_metadata"]}
# get dataset info
dataset_id = str(dataset_id)
tenant_id = str(tenant_id)
+1 -1
View File
@@ -91,7 +91,7 @@ class MessageListApi(WebApiResource):
try:
return MessageService.pagination_by_first_id(
app_model, end_user, args["conversation_id"], args["first_id"], args["limit"]
app_model, end_user, args["conversation_id"], args["first_id"], args["limit"], "desc"
)
except services.errors.conversation.ConversationNotExistsError:
raise NotFound("Conversation Not Exists.")
-1
View File
@@ -329,7 +329,6 @@ class BaseAgentRunner(AppRunner):
)
if not updated_agent_thought:
raise ValueError("agent thought not found")
agent_thought = updated_agent_thought
if thought:
agent_thought.thought = thought
@@ -384,7 +384,6 @@ class AdvancedChatAppGenerateTaskPipeline:
task_id=self._application_generate_entity.task_id,
workflow_node_execution=workflow_node_execution,
)
session.commit()
if node_finish_resp:
yield node_finish_resp
+30 -5
View File
@@ -8,16 +8,16 @@ from core.agent.fc_agent_runner import FunctionCallAgentRunner
from core.app.apps.agent_chat.app_config_manager import AgentChatAppConfig
from core.app.apps.base_app_queue_manager import AppQueueManager, PublishFrom
from core.app.apps.base_app_runner import AppRunner
from core.app.entities.app_invoke_entities import AgentChatAppGenerateEntity
from core.app.entities.app_invoke_entities import AgentChatAppGenerateEntity, ModelConfigWithCredentialsEntity
from core.app.entities.queue_entities import QueueAnnotationReplyEvent
from core.memory.token_buffer_memory import TokenBufferMemory
from core.model_manager import ModelInstance
from core.model_runtime.entities.llm_entities import LLMMode
from core.model_runtime.entities.llm_entities import LLMMode, LLMUsage
from core.model_runtime.entities.model_entities import ModelFeature, ModelPropertyKey
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
from core.moderation.base import ModerationError
from extensions.ext_database import db
from models.model import App, Conversation, Message
from models.model import App, Conversation, Message, MessageAgentThought
logger = logging.getLogger(__name__)
@@ -191,8 +191,7 @@ class AgentChatAppRunner(AppRunner):
# change function call strategy based on LLM model
llm_model = cast(LargeLanguageModel, model_instance.model_type_instance)
model_schema = llm_model.get_model_schema(model_instance.model, model_instance.credentials)
if not model_schema:
raise ValueError("Model schema not found")
assert model_schema is not None
if {ModelFeature.MULTI_TOOL_CALL, ModelFeature.TOOL_CALL}.intersection(model_schema.features or []):
agent_entity.strategy = AgentEntity.Strategy.FUNCTION_CALLING
@@ -248,3 +247,29 @@ class AgentChatAppRunner(AppRunner):
stream=application_generate_entity.stream,
agent=True,
)
def _get_usage_of_all_agent_thoughts(
self, model_config: ModelConfigWithCredentialsEntity, message: Message
) -> LLMUsage:
"""
Get usage of all agent thoughts
:param model_config: model config
:param message: message
:return:
"""
agent_thoughts = (
db.session.query(MessageAgentThought).filter(MessageAgentThought.message_id == message.id).all()
)
all_message_tokens = 0
all_answer_tokens = 0
for agent_thought in agent_thoughts:
all_message_tokens += agent_thought.message_tokens
all_answer_tokens += agent_thought.answer_tokens
model_type_instance = model_config.provider_model_bundle.model_type_instance
model_type_instance = cast(LargeLanguageModel, model_type_instance)
return model_type_instance._calc_response_usage(
model_config.model, model_config.credentials, all_message_tokens, all_answer_tokens
)
+1
View File
@@ -387,6 +387,7 @@ class WorkflowBasedAppRunner(AppRunner):
status=event.status,
data=event.data,
metadata=event.metadata,
node_id=event.node_id,
)
)
elif isinstance(event, ParallelBranchRunStartedEvent):
+1
View File
@@ -331,6 +331,7 @@ class QueueAgentLogEvent(AppQueueEvent):
status: str
data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None
node_id: str
class QueueNodeRetryEvent(QueueNodeStartedEvent):
+1
View File
@@ -719,6 +719,7 @@ class AgentLogStreamResponse(StreamResponse):
status: str
data: Mapping[str, Any]
metadata: Optional[Mapping[str, Any]] = None
node_id: str
event: StreamEvent = StreamEvent.AGENT_LOG
data: Data
@@ -864,5 +864,6 @@ class WorkflowCycleManage:
status=event.status,
data=event.data,
metadata=event.metadata,
node_id=event.node_id,
),
)
+12 -6
View File
@@ -11,6 +11,15 @@ from configs import dify_config
SSRF_DEFAULT_MAX_RETRIES = dify_config.SSRF_DEFAULT_MAX_RETRIES
proxy_mounts = (
{
"http://": httpx.HTTPTransport(proxy=dify_config.SSRF_PROXY_HTTP_URL),
"https://": httpx.HTTPTransport(proxy=dify_config.SSRF_PROXY_HTTPS_URL),
}
if dify_config.SSRF_PROXY_HTTP_URL and dify_config.SSRF_PROXY_HTTPS_URL
else None
)
BACKOFF_FACTOR = 0.5
STATUS_FORCELIST = [429, 500, 502, 503, 504]
@@ -41,11 +50,7 @@ def make_request(method, url, max_retries=SSRF_DEFAULT_MAX_RETRIES, **kwargs):
if dify_config.SSRF_PROXY_ALL_URL:
with httpx.Client(proxy=dify_config.SSRF_PROXY_ALL_URL) as client:
response = client.request(method=method, url=url, **kwargs)
elif dify_config.SSRF_PROXY_HTTP_URL and dify_config.SSRF_PROXY_HTTPS_URL:
proxy_mounts = {
"http://": httpx.HTTPTransport(proxy=dify_config.SSRF_PROXY_HTTP_URL),
"https://": httpx.HTTPTransport(proxy=dify_config.SSRF_PROXY_HTTPS_URL),
}
elif proxy_mounts:
with httpx.Client(mounts=proxy_mounts) as client:
response = client.request(method=method, url=url, **kwargs)
else:
@@ -65,7 +70,8 @@ def make_request(method, url, max_retries=SSRF_DEFAULT_MAX_RETRIES, **kwargs):
retries += 1
if retries <= max_retries:
time.sleep(BACKOFF_FACTOR * (2 ** (retries - 1)))
raise MaxRetriesExceededError(f"Reached maximum retries ({max_retries}) for URL {url}")
raise MaxRetriesExceededError(
f"Reached maximum retries ({max_retries}) for URL {url}")
def get(url, max_retries=SSRF_DEFAULT_MAX_RETRIES, **kwargs):
+1 -2
View File
@@ -1,4 +1,4 @@
from .llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from .llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from .message_entities import (
AssistantPromptMessage,
AudioPromptMessageContent,
@@ -23,7 +23,6 @@ __all__ = [
"AudioPromptMessageContent",
"DocumentPromptMessageContent",
"ImagePromptMessageContent",
"LLMMode",
"LLMResult",
"LLMResultChunk",
"LLMResultChunkDelta",
@@ -1,5 +1,5 @@
from decimal import Decimal
from enum import StrEnum
from enum import Enum
from typing import Optional
from pydantic import BaseModel
@@ -8,7 +8,7 @@ from core.model_runtime.entities.message_entities import AssistantPromptMessage,
from core.model_runtime.entities.model_entities import ModelUsage, PriceInfo
class LLMMode(StrEnum):
class LLMMode(Enum):
"""
Enum class for large language model mode.
"""
@@ -3,11 +3,8 @@ from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
from core.model_runtime.entities.common_entities import I18nObject
from core.model_runtime.entities.defaults import PARAMETER_RULE_TEMPLATE
from core.model_runtime.entities.model_entities import (
AIModelEntity,
DefaultParameterName,
ModelType,
PriceConfig,
PriceInfo,
@@ -21,7 +18,6 @@ from core.model_runtime.errors.invoke import (
InvokeRateLimitError,
InvokeServerUnavailableError,
)
from core.model_runtime.model_providers.__base.tokenizers.gpt2_tokenzier import GPT2Tokenizer
from core.plugin.entities.plugin_daemon import PluginDaemonInnerError, PluginModelProviderEntity
from core.plugin.manager.model import PluginModelManager
@@ -148,102 +144,3 @@ class AIModel(BaseModel):
model=model,
credentials=credentials or {},
)
def get_customizable_model_schema_from_credentials(self, model: str, credentials: dict) -> Optional[AIModelEntity]:
"""
Get customizable model schema from credentials
:param model: model name
:param credentials: model credentials
:return: model schema
"""
return self._get_customizable_model_schema(model, credentials)
def _get_customizable_model_schema(self, model: str, credentials: dict) -> Optional[AIModelEntity]:
"""
Get customizable model schema and fill in the template
"""
schema = self.get_customizable_model_schema(model, credentials)
if not schema:
return None
# fill in the template
new_parameter_rules = []
for parameter_rule in schema.parameter_rules:
if parameter_rule.use_template:
try:
default_parameter_name = DefaultParameterName.value_of(parameter_rule.use_template)
default_parameter_rule = self._get_default_parameter_rule_variable_map(default_parameter_name)
if not parameter_rule.max and "max" in default_parameter_rule:
parameter_rule.max = default_parameter_rule["max"]
if not parameter_rule.min and "min" in default_parameter_rule:
parameter_rule.min = default_parameter_rule["min"]
if not parameter_rule.default and "default" in default_parameter_rule:
parameter_rule.default = default_parameter_rule["default"]
if not parameter_rule.precision and "precision" in default_parameter_rule:
parameter_rule.precision = default_parameter_rule["precision"]
if not parameter_rule.required and "required" in default_parameter_rule:
parameter_rule.required = default_parameter_rule["required"]
if not parameter_rule.help and "help" in default_parameter_rule:
parameter_rule.help = I18nObject(
en_US=default_parameter_rule["help"]["en_US"],
)
if (
parameter_rule.help
and not parameter_rule.help.en_US
and ("help" in default_parameter_rule and "en_US" in default_parameter_rule["help"])
):
parameter_rule.help.en_US = default_parameter_rule["help"]["en_US"]
if (
parameter_rule.help
and not parameter_rule.help.zh_Hans
and ("help" in default_parameter_rule and "zh_Hans" in default_parameter_rule["help"])
):
parameter_rule.help.zh_Hans = default_parameter_rule["help"].get(
"zh_Hans", default_parameter_rule["help"]["en_US"]
)
except ValueError:
pass
new_parameter_rules.append(parameter_rule)
schema.parameter_rules = new_parameter_rules
return schema
def get_customizable_model_schema(self, model: str, credentials: dict) -> Optional[AIModelEntity]:
"""
Get customizable model schema
:param model: model name
:param credentials: model credentials
:return: model schema
"""
return None
def _get_default_parameter_rule_variable_map(self, name: DefaultParameterName) -> dict:
"""
Get default parameter rule for given name
:param name: parameter name
:return: parameter rule
"""
default_parameter_rule = PARAMETER_RULE_TEMPLATE.get(name)
if not default_parameter_rule:
raise Exception(f"Invalid model parameter rule name {name}")
return default_parameter_rule
def _get_num_tokens_by_gpt2(self, text: str) -> int:
"""
Get number of tokens for given prompt messages by gpt2
Some provider models do not provide an interface for obtaining the number of tokens.
Here, the gpt2 tokenizer is used to calculate the number of tokens.
This method can be executed offline, and the gpt2 tokenizer has been cached in the project.
:param text: plain text of prompt. You need to convert the original message to plain text
:return: number of tokens
"""
return GPT2Tokenizer.get_num_tokens(text)
@@ -1,5 +1,4 @@
- openai
- deepseek
- anthropic
- azure_openai
- google
@@ -33,6 +32,7 @@
- localai
- volcengine_maas
- openai_api_compatible
- deepseek
- hunyuan
- siliconflow
- perfxcloud
@@ -20,7 +20,6 @@ from core.model_runtime.model_providers.__base.text_embedding_model import TextE
from core.model_runtime.model_providers.__base.tts_model import TTSModel
from core.model_runtime.schema_validators.model_credential_schema_validator import ModelCredentialSchemaValidator
from core.model_runtime.schema_validators.provider_credential_schema_validator import ProviderCredentialSchemaValidator
from core.plugin.entities.plugin import ModelProviderID
from core.plugin.entities.plugin_daemon import PluginModelProviderEntity
from core.plugin.manager.asset import PluginAssetManager
from core.plugin.manager.model import PluginModelManager
@@ -113,9 +112,6 @@ class ModelProviderFactory:
:param provider: provider name
:return: provider schema
"""
if "/" not in provider:
provider = str(ModelProviderID(provider))
# fetch plugin model providers
plugin_model_provider_entities = self.get_plugin_model_providers()
@@ -367,4 +363,4 @@ class ModelProviderFactory:
plugin_id = "/".join(provider.split("/")[:-1])
provider_name = provider.split("/")[-1]
return str(plugin_id), provider_name
return plugin_id, provider_name
@@ -1,41 +0,0 @@
model: gemini-2.0-flash-001
label:
en_US: Gemini 2.0 Flash 001
model_type: llm
features:
- agent-thought
- vision
- tool-call
- stream-tool-call
- document
- video
- audio
model_properties:
mode: chat
context_size: 1048576
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,41 +0,0 @@
model: gemini-2.0-flash-lite-preview-02-05
label:
en_US: Gemini 2.0 Flash Lite Preview 0205
model_type: llm
features:
- agent-thought
- vision
- tool-call
- stream-tool-call
- document
- video
- audio
model_properties:
mode: chat
context_size: 1048576
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,39 +0,0 @@
model: gemini-2.0-flash-thinking-exp-01-21
label:
en_US: Gemini 2.0 Flash Thinking Exp 0121
model_type: llm
features:
- agent-thought
- vision
- document
- video
- audio
model_properties:
mode: chat
context_size: 32767
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,39 +0,0 @@
model: gemini-2.0-flash-thinking-exp-1219
label:
en_US: Gemini 2.0 Flash Thinking Exp 1219
model_type: llm
features:
- agent-thought
- vision
- document
- video
- audio
model_properties:
mode: chat
context_size: 32767
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,37 +0,0 @@
model: gemini-2.0-pro-exp-02-05
label:
en_US: Gemini 2.0 Pro Exp 0205
model_type: llm
features:
- agent-thought
- document
model_properties:
mode: chat
context_size: 2000000
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
en_US: Top k
type: int
help:
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: presence_penalty
use_template: presence_penalty
- name: frequency_penalty
use_template: frequency_penalty
- name: max_output_tokens
use_template: max_tokens
required: true
default: 8192
min: 1
max: 8192
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,41 +0,0 @@
model: gemini-exp-1114
label:
en_US: Gemini exp 1114
model_type: llm
features:
- agent-thought
- vision
- tool-call
- stream-tool-call
- document
- video
- audio
model_properties:
mode: chat
context_size: 32767
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,41 +0,0 @@
model: gemini-exp-1121
label:
en_US: Gemini exp 1121
model_type: llm
features:
- agent-thought
- vision
- tool-call
- stream-tool-call
- document
- video
- audio
model_properties:
mode: chat
context_size: 32767
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,41 +0,0 @@
model: gemini-exp-1206
label:
en_US: Gemini exp 1206
model_type: llm
features:
- agent-thought
- vision
- tool-call
- stream-tool-call
- document
- video
- audio
model_properties:
mode: chat
context_size: 2097152
parameter_rules:
- name: temperature
use_template: temperature
- name: top_p
use_template: top_p
- name: top_k
label:
zh_Hans: 取样数量
en_US: Top k
type: int
help:
zh_Hans: 仅从每个后续标记的前 K 个选项中采样。
en_US: Only sample from the top K options for each subsequent token.
required: false
- name: max_output_tokens
use_template: max_tokens
default: 8192
min: 1
max: 8192
- name: json_schema
use_template: json_schema
pricing:
input: '0.00'
output: '0.00'
unit: '0.000001'
currency: USD
@@ -1,66 +0,0 @@
model: glm-4-air-0111
label:
en_US: glm-4-air-0111
model_type: llm
features:
- multi-tool-call
- agent-thought
- stream-tool-call
model_properties:
mode: chat
context_size: 131072
parameter_rules:
- name: temperature
use_template: temperature
default: 0.95
min: 0.0
max: 1.0
help:
zh_Hans: 采样温度,控制输出的随机性,必须为正数取值范围是:(0.0,1.0],不能等于 0,默认值为 0.95 值越大,会使输出更随机,更具创造性;值越小,输出会更加稳定或确定建议您根据应用场景调整 top_p 或 temperature 参数,但不要同时调整两个参数。
en_US: Sampling temperature, controls the randomness of the output, must be a positive number. The value range is (0.0,1.0], which cannot be equal to 0. The default value is 0.95. The larger the value, the more random and creative the output will be; the smaller the value, The output will be more stable or certain. It is recommended that you adjust the top_p or temperature parameters according to the application scenario, but do not adjust both parameters at the same time.
- name: top_p
use_template: top_p
default: 0.7
help:
zh_Hans: 用温度取样的另一种方法,称为核取样取值范围是:(0.0, 1.0) 开区间,不能等于 0 或 1,默认值为 0.7 模型考虑具有 top_p 概率质量tokens的结果例如:0.1 意味着模型解码器只考虑从前 10% 的概率的候选集中取 tokens 建议您根据应用场景调整 top_p 或 temperature 参数,但不要同时调整两个参数。
en_US: Another method of temperature sampling is called kernel sampling. The value range is (0.0, 1.0) open interval, which cannot be equal to 0 or 1. The default value is 0.7. The model considers the results with top_p probability mass tokens. For example 0.1 means The model decoder only considers tokens from the candidate set with the top 10% probability. It is recommended that you adjust the top_p or temperature parameters according to the application scenario, but do not adjust both parameters at the same time.
- name: do_sample
label:
zh_Hans: 采样策略
en_US: Sampling strategy
type: boolean
help:
zh_Hans: do_sample 为 true 时启用采样策略,do_sample 为 false 时采样策略 temperature、top_p 将不生效。默认值为 true。
en_US: When `do_sample` is set to true, the sampling strategy is enabled. When `do_sample` is set to false, the sampling strategies such as `temperature` and `top_p` will not take effect. The default value is true.
default: true
- name: max_tokens
use_template: max_tokens
default: 1024
min: 1
max: 4095
- name: web_search
type: boolean
label:
zh_Hans: 联网搜索
en_US: Web Search
default: false
help:
zh_Hans: 模型内置了互联网搜索服务,该参数控制模型在生成文本时是否参考使用互联网搜索结果。启用互联网搜索,模型会将搜索结果作为文本生成过程中的参考信息,但模型会基于其内部逻辑“自行判断”是否使用互联网搜索结果。
en_US: The model has a built-in Internet search service. This parameter controls whether the model refers to Internet search results when generating text. When Internet search is enabled, the model will use the search results as reference information in the text generation process, but the model will "judge" whether to use Internet search results based on its internal logic.
- name: response_format
label:
zh_Hans: 回复格式
en_US: Response Format
type: string
help:
zh_Hans: 指定模型必须输出的格式
en_US: specifying the format that the model must output
required: false
options:
- text
- json_object
pricing:
input: '0.0005'
output: '0.0005'
unit: '0.001'
currency: RMB
-15
View File
@@ -169,21 +169,6 @@ class GenericProviderID:
return f"{self.organization}/{self.plugin_name}"
class ModelProviderID(GenericProviderID):
def __init__(self, value: str, is_hardcoded: bool = False) -> None:
super().__init__(value, is_hardcoded)
if self.organization == "langgenius" and self.provider_name == "google":
self.plugin_name = "gemini"
class ToolProviderID(GenericProviderID):
def __init__(self, value: str, is_hardcoded: bool = False) -> None:
super().__init__(value, is_hardcoded)
if self.organization == "langgenius":
if self.provider_name in ["jina", "siliconflow"]:
self.plugin_name = f"{self.provider_name}_tool"
class PluginDependency(BaseModel):
class Type(enum.StrEnum):
Github = PluginInstallationSource.Github.value
+1 -2
View File
@@ -30,7 +30,6 @@ from core.model_runtime.entities.provider_entities import (
ProviderEntity,
)
from core.model_runtime.model_providers.model_provider_factory import ModelProviderFactory
from core.plugin.entities.plugin import ModelProviderID
from extensions import ext_hosting_provider
from extensions.ext_database import db
from extensions.ext_redis import redis_client
@@ -192,7 +191,7 @@ class ProviderManager:
model_settings=model_settings,
)
provider_configurations[str(ModelProviderID(provider_name))] = provider_configuration
provider_configurations[provider_name] = provider_configuration
# Return the encapsulated object
return provider_configurations
@@ -1,6 +1,6 @@
import json
import time
from typing import Any, cast
from typing import cast
import requests
@@ -14,47 +14,48 @@ class FirecrawlApp:
if self.api_key is None and self.base_url == "https://api.firecrawl.dev":
raise ValueError("No API key provided")
def scrape_url(self, url, params=None) -> dict[str, Any]:
# Documentation: https://docs.firecrawl.dev/api-reference/endpoint/scrape
headers = self._prepare_headers()
json_data = {
"url": url,
"formats": ["markdown"],
"onlyMainContent": True,
"timeout": 30000,
}
def scrape_url(self, url, params=None) -> dict:
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {self.api_key}"}
json_data = {"url": url}
if params:
json_data.update(params)
response = self._post_request(f"{self.base_url}/v1/scrape", json_data, headers)
response = requests.post(f"{self.base_url}/v0/scrape", headers=headers, json=json_data)
if response.status_code == 200:
response_data = response.json()
data = response_data["data"]
return self._extract_common_fields(data)
elif response.status_code in {402, 409, 500, 429, 408}:
self._handle_error(response, "scrape URL")
return {} # Avoid additional exception after handling error
if response_data["success"] == True:
data = response_data["data"]
return {
"title": data.get("metadata").get("title"),
"description": data.get("metadata").get("description"),
"source_url": data.get("metadata").get("sourceURL"),
"markdown": data.get("markdown"),
}
else:
raise Exception(f"Failed to scrape URL. Error: {response_data['error']}")
elif response.status_code in {402, 409, 500}:
error_message = response.json().get("error", "Unknown error occurred")
raise Exception(f"Failed to scrape URL. Status code: {response.status_code}. Error: {error_message}")
else:
raise Exception(f"Failed to scrape URL. Status code: {response.status_code}")
def crawl_url(self, url, params=None) -> str:
# Documentation: https://docs.firecrawl.dev/api-reference/endpoint/crawl-post
headers = self._prepare_headers()
json_data = {"url": url}
if params:
json_data.update(params)
response = self._post_request(f"{self.base_url}/v1/crawl", json_data, headers)
response = self._post_request(f"{self.base_url}/v0/crawl", json_data, headers)
if response.status_code == 200:
# There's also another two fields in the response: "success" (bool) and "url" (str)
job_id = response.json().get("id")
job_id = response.json().get("jobId")
return cast(str, job_id)
else:
self._handle_error(response, "start crawl job")
# FIXME: unreachable code for mypy
return "" # unreachable
def check_crawl_status(self, job_id) -> dict[str, Any]:
def check_crawl_status(self, job_id) -> dict:
headers = self._prepare_headers()
response = self._get_request(f"{self.base_url}/v1/crawl/{job_id}", headers)
response = self._get_request(f"{self.base_url}/v0/crawl/status/{job_id}", headers)
if response.status_code == 200:
crawl_status_response = response.json()
if crawl_status_response.get("status") == "completed":
@@ -65,48 +66,42 @@ class FirecrawlApp:
url_data_list = []
for item in data:
if isinstance(item, dict) and "metadata" in item and "markdown" in item:
url_data = self._extract_common_fields(item)
url_data = {
"title": item.get("metadata", {}).get("title"),
"description": item.get("metadata", {}).get("description"),
"source_url": item.get("metadata", {}).get("sourceURL"),
"markdown": item.get("markdown"),
}
url_data_list.append(url_data)
if url_data_list:
file_key = "website_files/" + job_id + ".txt"
try:
if storage.exists(file_key):
storage.delete(file_key)
storage.save(file_key, json.dumps(url_data_list).encode("utf-8"))
except Exception as e:
raise Exception(f"Error saving crawl data: {e}")
return self._format_crawl_status_response("completed", crawl_status_response, url_data_list)
if storage.exists(file_key):
storage.delete(file_key)
storage.save(file_key, json.dumps(url_data_list).encode("utf-8"))
return {
"status": "completed",
"total": crawl_status_response.get("total"),
"current": crawl_status_response.get("current"),
"data": url_data_list,
}
else:
return self._format_crawl_status_response(
crawl_status_response.get("status"), crawl_status_response, []
)
return {
"status": crawl_status_response.get("status"),
"total": crawl_status_response.get("total"),
"current": crawl_status_response.get("current"),
"data": [],
}
else:
self._handle_error(response, "check crawl status")
# FIXME: unreachable code for mypy
return {} # unreachable
def _format_crawl_status_response(
self, status: str, crawl_status_response: dict[str, Any], url_data_list: list[dict[str, Any]]
) -> dict[str, Any]:
return {
"status": status,
"total": crawl_status_response.get("total"),
"current": crawl_status_response.get("completed"),
"data": url_data_list,
}
def _extract_common_fields(self, item: dict[str, Any]) -> dict[str, Any]:
return {
"title": item.get("metadata", {}).get("title"),
"description": item.get("metadata", {}).get("description"),
"source_url": item.get("metadata", {}).get("sourceURL"),
"markdown": item.get("markdown"),
}
def _prepare_headers(self) -> dict[str, Any]:
def _prepare_headers(self):
return {"Content-Type": "application/json", "Authorization": f"Bearer {self.api_key}"}
def _post_request(self, url, data, headers, retries=3, backoff_factor=0.5) -> requests.Response:
def _post_request(self, url, data, headers, retries=3, backoff_factor=0.5):
for attempt in range(retries):
response = requests.post(url, headers=headers, json=data)
if response.status_code == 502:
@@ -115,7 +110,7 @@ class FirecrawlApp:
return response
return response
def _get_request(self, url, headers, retries=3, backoff_factor=0.5) -> requests.Response:
def _get_request(self, url, headers, retries=3, backoff_factor=0.5):
for attempt in range(retries):
response = requests.get(url, headers=headers)
if response.status_code == 502:
@@ -124,6 +119,6 @@ class FirecrawlApp:
return response
return response
def _handle_error(self, response, action) -> None:
def _handle_error(self, response, action):
error_message = response.json().get("error", "Unknown error occurred")
raise Exception(f"Failed to {action}. Status code: {response.status_code}. Error: {error_message}")
@@ -13,10 +13,9 @@ class FirecrawlWebExtractor(BaseExtractor):
api_key: The API key for Firecrawl.
base_url: The base URL for the Firecrawl API. Defaults to 'https://api.firecrawl.dev'.
mode: The mode of operation. Defaults to 'scrape'. Options are 'crawl', 'scrape' and 'crawl_return_urls'.
only_main_content: Only return the main content of the page excluding headers, navs, footers, etc.
"""
def __init__(self, url: str, job_id: str, tenant_id: str, mode: str = "crawl", only_main_content: bool = True):
def __init__(self, url: str, job_id: str, tenant_id: str, mode: str = "crawl", only_main_content: bool = False):
"""Initialize with url, api_key, base_url and mode."""
self._url = url
self.job_id = job_id
@@ -47,8 +47,6 @@ class ParentChildIndexProcessor(BaseIndexProcessor):
embedding_model_instance=kwargs.get("embedding_model_instance"),
)
for document in documents:
if kwargs.get("preview") and len(all_documents) >= 10:
return all_documents
# document clean
document_text = CleanProcessor.clean(document.page_content, process_rule)
document.page_content = document_text
+1 -1
View File
@@ -125,7 +125,7 @@ class ToolInvokeMessage(BaseModel):
class VariableMessage(BaseModel):
variable_name: str = Field(..., description="The name of the variable")
variable_value: Any = Field(..., description="The value of the variable")
variable_value: str = Field(..., description="The value of the variable")
stream: bool = Field(default=False, description="Whether the variable is streamed")
@model_validator(mode="before")
+2 -2
View File
@@ -160,8 +160,8 @@ class ToolManager:
"""
get the tool runtime
:param provider_type: the type of the provider
:param provider_name: the name of the provider
:param provider_type: the type of the provider
:param provider_name: the name of the provider
:param tool_name: the name of the tool
:return: the tool
+2 -10
View File
@@ -223,14 +223,14 @@ class WorkflowTool(Tool):
if isinstance(value, list):
for item in value:
if isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY:
item = self._update_file_mapping(item)
item["tool_file_id"] = item.get("related_id")
file = build_from_mapping(
mapping=item,
tenant_id=str(cast(ToolRuntime, self.runtime).tenant_id),
)
files.append(file)
elif isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY:
value = self._update_file_mapping(value)
value["tool_file_id"] = value.get("related_id")
file = build_from_mapping(
mapping=value,
tenant_id=str(cast(ToolRuntime, self.runtime).tenant_id),
@@ -240,11 +240,3 @@ class WorkflowTool(Tool):
result[key] = value
return result, files
def _update_file_mapping(self, file_dict: dict) -> dict:
transfer_method = FileTransferMethod.value_of(file_dict.get("transfer_method"))
if transfer_method == FileTransferMethod.TOOL_FILE:
file_dict["tool_file_id"] = file_dict.get("related_id")
elif transfer_method == FileTransferMethod.LOCAL_FILE:
file_dict["upload_file_id"] = file_dict.get("related_id")
return file_dict
@@ -207,6 +207,7 @@ class AgentLogEvent(BaseAgentEvent):
status: str = Field(..., description="status")
data: Mapping[str, Any] = Field(..., description="data")
metadata: Optional[Mapping[str, Any]] = Field(default=None, description="metadata")
node_id: str = Field(..., description="agent node id")
InNodeEvent = BaseNodeEvent | BaseParallelBranchEvent | BaseIterationEvent | BaseAgentEvent
@@ -590,8 +590,6 @@ class Graph(BaseModel):
start_node_id=node_id,
routes_node_ids=routes_node_ids,
)
# Exclude conditional branch nodes
and all(edge.run_condition is None for edge in reverse_edge_mapping.get(node_id, []))
):
if node_id not in merge_branch_node_ids:
merge_branch_node_ids[node_id] = []
+42 -10
View File
@@ -8,12 +8,12 @@ from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from core.plugin.manager.exc import PluginDaemonClientSideError
from core.plugin.manager.plugin import PluginInstallationManager
from core.tools.entities.tool_entities import ToolProviderType
from core.tools.entities.tool_entities import ToolParameter, ToolProviderType
from core.tools.tool_manager import ToolManager
from core.workflow.entities.node_entities import NodeRunResult
from core.workflow.entities.variable_pool import VariablePool
from core.workflow.enums import SystemVariableKey
from core.workflow.nodes.agent.entities import AgentNodeData
from core.workflow.nodes.agent.entities import AgentNodeData, ParamsAutoGenerated
from core.workflow.nodes.base.entities import BaseNodeData
from core.workflow.nodes.enums import NodeType
from core.workflow.nodes.event.event import RunCompletedEvent
@@ -161,11 +161,29 @@ class AgentNode(ToolNode):
value = cast(list[dict[str, Any]], value)
tool_value = []
for tool in value:
provider_type = ToolProviderType(tool.get("type", ToolProviderType.BUILT_IN.value))
# handle the original settings
original_parameters = tool.get("parameters", {})
setting_params = tool.get("settings", {})
manual_input_params = []
# handle legacy data compatibility
if not all(isinstance(v, dict) for _, v in original_parameters.items()):
parameters = original_parameters
else:
params = {}
for key, param in original_parameters.items():
if param.get("auto", ParamsAutoGenerated.OPEN.value) == ParamsAutoGenerated.CLOSE.value:
params[key] = param.get("value", "")
manual_input_params.append(key)
else:
params[key] = None
settings = {k: v.get("value", None) for k, v in setting_params.items()}
parameters = {**params, **settings}
entity = AgentToolEntity(
provider_id=tool.get("provider_name", ""),
provider_type=ToolProviderType.BUILT_IN,
provider_type=provider_type,
tool_name=tool.get("tool_name", ""),
tool_parameters=tool.get("parameters", {}),
tool_parameters=parameters,
plugin_unique_identifier=tool.get("plugin_unique_identifier", None),
)
@@ -178,13 +196,27 @@ class AgentNode(ToolNode):
tool_runtime.entity.description.llm = (
extra.get("descrption", "") or tool_runtime.entity.description.llm
)
tool_value.append(
{
**tool_runtime.entity.model_dump(mode="json"),
"runtime_parameters": tool_runtime.runtime.runtime_parameters,
for params in tool_runtime.entity.parameters:
params.form = (
ToolParameter.ToolParameterForm.FORM
if params.name in manual_input_params
else params.form
)
if tool_runtime.entity.parameters:
manual_input_value = {
key: value for key, value in parameters.items() if key in manual_input_params
}
)
runtime_parameters = {
**tool_runtime.runtime.runtime_parameters,
**manual_input_value,
}
tool_value.append(
{
**tool_runtime.entity.model_dump(mode="json"),
"runtime_parameters": runtime_parameters,
"provider_type": provider_type.value,
}
)
value = tool_value
if parameter.type == "model-selector":
value = cast(dict[str, Any], value)
@@ -1,3 +1,4 @@
from enum import Enum
from typing import Any, Literal, Union
from pydantic import BaseModel
@@ -16,3 +17,8 @@ class AgentNodeData(BaseNodeData):
type: Literal["mixed", "variable", "constant"]
agent_parameters: dict[str, AgentInput]
class ParamsAutoGenerated(Enum):
CLOSE = 0
OPEN = 1
+4 -4
View File
@@ -195,7 +195,7 @@ class CodeNode(BaseNode[CodeNodeData]):
if output_config.type == "object":
# check if output is object
if not isinstance(result.get(output_name), dict):
if result[output_name] is None:
if isinstance(result.get(output_name), type(None)):
transformed_result[output_name] = None
else:
raise OutputValidationError(
@@ -223,7 +223,7 @@ class CodeNode(BaseNode[CodeNodeData]):
elif output_config.type == "array[number]":
# check if array of number available
if not isinstance(result[output_name], list):
if result[output_name] is None:
if isinstance(result[output_name], type(None)):
transformed_result[output_name] = None
else:
raise OutputValidationError(
@@ -244,7 +244,7 @@ class CodeNode(BaseNode[CodeNodeData]):
elif output_config.type == "array[string]":
# check if array of string available
if not isinstance(result[output_name], list):
if result[output_name] is None:
if isinstance(result[output_name], type(None)):
transformed_result[output_name] = None
else:
raise OutputValidationError(
@@ -265,7 +265,7 @@ class CodeNode(BaseNode[CodeNodeData]):
elif output_config.type == "array[object]":
# check if array of object available
if not isinstance(result[output_name], list):
if result[output_name] is None:
if isinstance(result[output_name], type(None)):
transformed_result[output_name] = None
else:
raise OutputValidationError(
@@ -64,7 +64,7 @@ class EndStreamGeneratorRouter:
node_type = node.get("data", {}).get("type")
if (
variable_selector.value_selector not in value_selectors
and node_type == NodeType.LLM.value
and (node_type in (NodeType.LLM.value, NodeType.AGENT.value))
and variable_selector.value_selector[1] == "text"
):
value_selectors.append(list(variable_selector.value_selector))
+2 -2
View File
@@ -3,7 +3,7 @@ from typing import Any, Optional
from pydantic import BaseModel, Field, field_validator
from core.model_runtime.entities import ImagePromptMessageContent, LLMMode
from core.model_runtime.entities import ImagePromptMessageContent
from core.prompt.entities.advanced_prompt_entities import ChatModelMessage, CompletionModelPromptTemplate, MemoryConfig
from core.workflow.entities.variable_entities import VariableSelector
from core.workflow.nodes.base import BaseNodeData
@@ -12,7 +12,7 @@ from core.workflow.nodes.base import BaseNodeData
class ModelConfig(BaseModel):
provider: str
name: str
mode: LLMMode
mode: str
completion_params: dict[str, Any] = {}
+15 -5
View File
@@ -3,7 +3,6 @@ import logging
from collections.abc import Generator, Mapping, Sequence
from typing import TYPE_CHECKING, Any, Optional, cast
from configs import dify_config
from core.app.entities.app_invoke_entities import ModelConfigWithCredentialsEntity
from core.entities.model_entities import ModelStatus
from core.entities.provider_entities import QuotaUnit
@@ -186,8 +185,6 @@ class LLMNode(BaseNode[LLMNodeData]):
result_text = event.text
usage = event.usage
finish_reason = event.finish_reason
# deduct quota
self.deduct_llm_quota(tenant_id=self.tenant_id, model_instance=model_instance, usage=usage)
break
except LLMNodeError as e:
yield RunCompletedEvent(
@@ -243,7 +240,17 @@ class LLMNode(BaseNode[LLMNodeData]):
user=self.user_id,
)
return self._handle_invoke_result(invoke_result=invoke_result)
# handle invoke result
generator = self._handle_invoke_result(invoke_result=invoke_result)
usage = LLMUsage.empty_usage()
for event in generator:
yield event
if isinstance(event, ModelInvokeCompletedEvent):
usage = event.usage
# deduct quota
self.deduct_llm_quota(tenant_id=self.tenant_id, model_instance=model_instance, usage=usage)
def _handle_invoke_result(self, invoke_result: LLMResult | Generator) -> Generator[NodeEvent, None, None]:
if isinstance(invoke_result, LLMResult):
@@ -733,7 +740,10 @@ class LLMNode(BaseNode[LLMNodeData]):
if quota_unit == QuotaUnit.TOKENS:
used_quota = usage.total_tokens
elif quota_unit == QuotaUnit.CREDITS:
used_quota = dify_config.get_model_credits(model_instance.model)
used_quota = 1
if "gpt-4" in model_instance.model:
used_quota = 20
else:
used_quota = 1
@@ -44,11 +44,13 @@ class QuestionClassifierNode(LLMNode):
variable_pool = self.graph_runtime_state.variable_pool
# extract variables
variable = variable_pool.get(node_data.query_variable_selector) if node_data.query_variable_selector else None
variable = variable_pool.get(
node_data.query_variable_selector) if node_data.query_variable_selector else None
query = variable.value if variable else None
variables = {"query": query}
# fetch model config
model_instance, model_config = self._fetch_model_config(node_data.model)
model_instance, model_config = self._fetch_model_config(
node_data.model)
# fetch memory
memory = self._fetch_memory(
node_data_memory=node_data.memory,
@@ -56,7 +58,8 @@ class QuestionClassifierNode(LLMNode):
)
# fetch instruction
node_data.instruction = node_data.instruction or ""
node_data.instruction = variable_pool.convert_template(node_data.instruction).text
node_data.instruction = variable_pool.convert_template(
node_data.instruction).text
files = (
self._fetch_files(
@@ -178,12 +181,15 @@ class QuestionClassifierNode(LLMNode):
variable_mapping = {"query": node_data.query_variable_selector}
variable_selectors = []
if node_data.instruction:
variable_template_parser = VariableTemplateParser(template=node_data.instruction)
variable_selectors.extend(variable_template_parser.extract_variable_selectors())
variable_template_parser = VariableTemplateParser(
template=node_data.instruction)
variable_selectors.extend(
variable_template_parser.extract_variable_selectors())
for variable_selector in variable_selectors:
variable_mapping[variable_selector.variable] = variable_selector.value_selector
variable_mapping = {node_id + "." + key: value for key, value in variable_mapping.items()}
variable_mapping = {node_id + "." + key: value for key,
value in variable_mapping.items()}
return variable_mapping
@@ -204,7 +210,8 @@ class QuestionClassifierNode(LLMNode):
context: Optional[str],
) -> int:
prompt_transform = AdvancedPromptTransform(with_variable_tmpl=True)
prompt_template = self._get_prompt_template(node_data, query, None, 2000)
prompt_template = self._get_prompt_template(
node_data, query, None, 2000)
prompt_messages = prompt_transform.get_prompt(
prompt_template=prompt_template,
inputs={},
@@ -217,13 +224,15 @@ class QuestionClassifierNode(LLMNode):
)
rest_tokens = 2000
model_context_tokens = model_config.model_schema.model_properties.get(ModelPropertyKey.CONTEXT_SIZE)
model_context_tokens = model_config.model_schema.model_properties.get(
ModelPropertyKey.CONTEXT_SIZE)
if model_context_tokens:
model_instance = ModelInstance(
provider_model_bundle=model_config.provider_model_bundle, model=model_config.model
)
curr_message_tokens = model_instance.get_llm_num_tokens(prompt_messages)
curr_message_tokens = model_instance.get_llm_num_tokens(
prompt_messages)
max_tokens = 0
for parameter_rule in model_config.model_schema.parameter_rules:
@@ -264,7 +273,8 @@ class QuestionClassifierNode(LLMNode):
prompt_messages: list[LLMNodeChatModelMessage] = []
if model_mode == ModelMode.CHAT:
system_prompt_messages = LLMNodeChatModelMessage(
role=PromptMessageRole.SYSTEM, text=QUESTION_CLASSIFIER_SYSTEM_PROMPT.format(histories=memory_str)
role=PromptMessageRole.SYSTEM, text=QUESTION_CLASSIFIER_SYSTEM_PROMPT.format(
histories=memory_str)
)
prompt_messages.append(system_prompt_messages)
user_prompt_message_1 = LLMNodeChatModelMessage(
@@ -305,4 +315,5 @@ class QuestionClassifierNode(LLMNode):
)
else:
raise InvalidModelTypeError(f"Model mode {model_mode} not support.")
raise InvalidModelTypeError(
f"Model mode {model_mode} not support.")
@@ -338,6 +338,7 @@ class ToolNode(BaseNode[ToolNodeData]):
data=message.message.data,
label=message.message.label,
metadata=message.message.metadata,
node_id=self.node_id,
)
# check if the agent log is already in the list
+2 -2
View File
@@ -20,11 +20,11 @@ if [[ "${MODE}" == "worker" ]]; then
CONCURRENCY_OPTION="-c ${CELERY_WORKER_AMOUNT:-1}"
fi
exec celery -A app.celery worker -P ${CELERY_WORKER_CLASS:-gevent} $CONCURRENCY_OPTION --loglevel ${LOG_LEVEL:-INFO} \
exec celery -A app.celery worker -P ${CELERY_WORKER_CLASS:-gevent} $CONCURRENCY_OPTION --loglevel ${LOG_LEVEL} \
-Q ${CELERY_QUEUES:-dataset,mail,ops_trace,app_deletion}
elif [[ "${MODE}" == "beat" ]]; then
exec celery -A app.celery beat --loglevel ${LOG_LEVEL:-INFO}
exec celery -A app.celery beat --loglevel ${LOG_LEVEL}
else
if [[ "${DEBUG}" == "true" ]]; then
exec flask run --host=${DIFY_BIND_ADDRESS:-0.0.0.0} --port=${DIFY_PORT:-5001} --debug
@@ -1,4 +1,3 @@
from configs import dify_config
from core.app.entities.app_invoke_entities import AgentChatAppGenerateEntity, ChatAppGenerateEntity
from core.entities.provider_entities import QuotaUnit
from events.message_event import message_was_created
@@ -41,7 +40,10 @@ def handle(sender, **kwargs):
if quota_unit == QuotaUnit.TOKENS:
used_quota = message.message_tokens + message.answer_tokens
elif quota_unit == QuotaUnit.CREDITS:
used_quota = dify_config.get_model_credits(model_config.model)
used_quota = 1
if "gpt-4" in model_config.model:
used_quota = 20
else:
used_quota = 1
+2 -1
View File
@@ -27,11 +27,12 @@ def init_app(app: DifyApp):
# Always add StreamHandler to log to console
sh = logging.StreamHandler(sys.stdout)
sh.addFilter(RequestIdFilter())
log_formatter = logging.Formatter(fmt=dify_config.LOG_FORMAT)
sh.setFormatter(log_formatter)
log_handlers.append(sh)
logging.basicConfig(
level=dify_config.LOG_LEVEL,
format=dify_config.LOG_FORMAT,
datefmt=dify_config.LOG_DATEFORMAT,
handlers=log_handlers,
force=True,
+1 -5
View File
@@ -32,11 +32,7 @@ class AwsS3Storage(BaseStorage):
aws_access_key_id=dify_config.S3_ACCESS_KEY,
endpoint_url=dify_config.S3_ENDPOINT,
region_name=dify_config.S3_REGION,
config=Config(
s3={"addressing_style": dify_config.S3_ADDRESS_STYLE},
request_checksum_calculation="when_required",
response_checksum_validation="when_required",
),
config=Config(s3={"addressing_style": dify_config.S3_ADDRESS_STYLE}),
)
# create bucket
try:
@@ -1,8 +1,6 @@
from collections.abc import Generator
from datetime import UTC, datetime, timedelta
from typing import Optional
from azure.identity import ChainedTokenCredential, DefaultAzureCredential
from azure.storage.blob import AccountSasPermissions, BlobServiceClient, ResourceTypes, generate_account_sas
from configs import dify_config
@@ -20,12 +18,6 @@ class AzureBlobStorage(BaseStorage):
self.account_name = dify_config.AZURE_BLOB_ACCOUNT_NAME
self.account_key = dify_config.AZURE_BLOB_ACCOUNT_KEY
self.credential: Optional[ChainedTokenCredential] = None
if self.account_key == "managedidentity":
self.credential = DefaultAzureCredential()
else:
self.credential = None
def save(self, filename, data):
client = self._sync_client()
blob_container = client.get_container_client(container=self.bucket_name)
@@ -65,9 +57,6 @@ class AzureBlobStorage(BaseStorage):
blob_container.delete_blob(filename)
def _sync_client(self):
if self.account_key == "managedidentity":
return BlobServiceClient(account_url=self.account_url, credential=self.credential) # type: ignore
cache_key = "azure_blob_sas_token_{}_{}".format(self.account_name, self.account_key)
cache_result = redis_client.get(cache_key)
if cache_result is not None:
+1 -1
View File
@@ -748,7 +748,7 @@ class DatasetKeywordTable(db.Model): # type: ignore[name-defined]
if keyword_table_text:
return json.loads(keyword_table_text.decode("utf-8"), cls=SetDecoder)
return None
except Exception as e:
except Exception:
logging.exception(f"Failed to load keyword table from file: {file_key}")
return None
-4
View File
@@ -1147,10 +1147,8 @@ class Message(Base):
"id": self.id,
"app_id": self.app_id,
"conversation_id": self.conversation_id,
"model_id": self.model_id,
"inputs": self.inputs,
"query": self.query,
"total_price": self.total_price,
"message": self.message,
"answer": self.answer,
"status": self.status,
@@ -1171,9 +1169,7 @@ class Message(Base):
id=data["id"],
app_id=data["app_id"],
conversation_id=data["conversation_id"],
model_id=data["model_id"],
inputs=data["inputs"],
total_price=data["total_price"],
query=data["query"],
message=data["message"],
answer=data["answer"],
+27
View File
@@ -0,0 +1,27 @@
from datetime import datetime
from sqlalchemy.orm import Mapped
from extensions.ext_database import db
from models.base import Base
from .types import StringUUID
class StagingAccountWhitelist(Base):
__tablename__ = "staging_account_whitelists"
__table_args__ = (
db.PrimaryKeyConstraint("id", name="staging_account_whitelist_pkey"),
db.Index("account_email_idx", "email"),
)
id: Mapped[str] = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))
email: Mapped[str] = db.Column(db.String(255), nullable=False)
disabled: Mapped[bool] = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
created_at: Mapped[datetime] = db.Column(
db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)")
)
updated_at: Mapped[datetime] = db.Column(
db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)")
)
+707 -860
View File
File diff suppressed because it is too large Load Diff
+3 -17
View File
@@ -18,7 +18,7 @@ package-mode = false
authlib = "1.3.1"
azure-identity = "1.16.1"
beautifulsoup4 = "4.12.2"
boto3 = "1.36.12"
boto3 = "1.35.74"
bs4 = "~0.0.1"
cachetools = "~5.3.0"
celery = "~5.4.0"
@@ -47,7 +47,7 @@ mailchimp-transactional = "~1.0.50"
markdown = "~3.5.1"
numpy = "~1.26.4"
oci = "~2.135.1"
openai = "~1.61.0"
openai = "~1.52.0"
openpyxl = "~3.1.5"
opik = "~1.3.4"
pandas = { version = "~2.2.2", extras = ["performance", "excel"] }
@@ -73,6 +73,7 @@ starlette = "0.41.0"
tiktoken = "~0.8.0"
tokenizers = "~0.15.0"
transformers = "~4.35.0"
types-pytz = "~2024.2.0.20241003"
unstructured = { version = "~0.16.1", extras = ["docx", "epub", "md", "msg", "ppt", "pptx"] }
validators = "0.21.0"
yarl = "~1.18.3"
@@ -149,21 +150,6 @@ pytest = "~8.3.2"
pytest-benchmark = "~4.0.0"
pytest-env = "~1.1.3"
pytest-mock = "~3.14.0"
types-beautifulsoup4 = "~4.12.0.20241020"
types-flask-cors = "~5.0.0.20240902"
types-flask-migrate = "~4.1.0.20250112"
types-html5lib = "~1.1.11.20241018"
types-openpyxl = "~3.1.5.20241225"
types-protobuf = "~5.29.1.20241207"
types-psutil = "~6.1.0.20241221"
types-psycopg2 = "~2.9.21.20250121"
types-python-dateutil = "~2.9.0.20241206"
types-pytz = "~2024.2.0.20241221"
types-pyyaml = "~6.0.12.20241230"
types-regex = "~2024.11.6.20241221"
types-requests = "~2.32.0.20241016"
types-six = "~1.17.0.20241205"
types-tqdm = "~4.67.0.20241221"
############################################################
# [ Lint ] dependency group
+24 -30
View File
@@ -33,6 +33,7 @@ from models.account import (
TenantStatus,
)
from models.model import DifySetup
from models.staging import StagingAccountWhitelist
from services.billing_service import BillingService
from services.errors.account import (
AccountAlreadyInTenantError,
@@ -78,7 +79,6 @@ class AccountService:
prefix="email_code_account_deletion_rate_limit", max_attempts=1, time_window=60 * 1
)
LOGIN_MAX_ERROR_LIMITS = 5
FORGOT_PASSWORD_MAX_ERROR_LIMITS = 5
@staticmethod
def _get_refresh_token_key(refresh_token: str) -> str:
@@ -348,6 +348,9 @@ class AccountService:
@staticmethod
def login(account: Account, *, ip_address: Optional[str] = None) -> TokenPair:
if not AccountService.verify_account_whitelist(account.email):
raise ValueError("Account is not whitelisted")
if ip_address:
AccountService.update_login_info(account=account, ip_address=ip_address)
@@ -379,6 +382,9 @@ class AccountService:
if not account:
raise ValueError("Invalid account")
if not AccountService.verify_account_whitelist(account.email):
raise ValueError("Account is not whitelisted")
# Generate new access token and refresh token
new_access_token = AccountService.get_account_jwt_token(account)
new_refresh_token = _generate_refresh_token()
@@ -388,6 +394,16 @@ class AccountService:
return TokenPair(access_token=new_access_token, refresh_token=new_refresh_token)
@staticmethod
def verify_account_whitelist(email: str) -> bool:
with Session(db.engine) as session:
return (
session.query(StagingAccountWhitelist)
.filter(StagingAccountWhitelist.email == email, StagingAccountWhitelist.disabled == False)
.first()
is not None
)
@staticmethod
def load_logged_in_account(*, account_id: str):
return AccountService.load_user(account_id)
@@ -432,9 +448,13 @@ class AccountService:
def send_email_code_login_email(
cls, account: Optional[Account] = None, email: Optional[str] = None, language: Optional[str] = "en-US"
):
email = account.email if account else email
if email is None:
raise ValueError("Email must be provided.")
if email:
if not AccountService.verify_account_whitelist(email):
raise ValueError("Account is not whitelisted")
elif account:
if not AccountService.verify_account_whitelist(account.email):
raise ValueError("Account is not whitelisted")
if cls.email_code_login_rate_limiter.is_rate_limited(email):
from controllers.console.auth.error import EmailCodeLoginRateLimitExceededError
@@ -505,32 +525,6 @@ class AccountService:
key = f"login_error_rate_limit:{email}"
redis_client.delete(key)
@staticmethod
def add_forgot_password_error_rate_limit(email: str) -> None:
key = f"forgot_password_error_rate_limit:{email}"
count = redis_client.get(key)
if count is None:
count = 0
count = int(count) + 1
redis_client.setex(key, dify_config.FORGOT_PASSWORD_LOCKOUT_DURATION, count)
@staticmethod
def is_forgot_password_error_rate_limit(email: str) -> bool:
key = f"forgot_password_error_rate_limit:{email}"
count = redis_client.get(key)
if count is None:
return False
count = int(count)
if count > AccountService.FORGOT_PASSWORD_MAX_ERROR_LIMITS:
return True
return False
@staticmethod
def reset_forgot_password_error_rate_limit(email: str):
key = f"forgot_password_error_rate_limit:{email}"
redis_client.delete(key)
@staticmethod
def is_email_send_ip_limit(ip_address: str):
minute_key = f"email_send_ip_limit_minute:{ip_address}"
+3 -5
View File
@@ -21,12 +21,10 @@ class FirecrawlAuth(ApiKeyAuthBase):
headers = self._prepare_headers()
options = {
"url": "https://example.com",
"includePaths": [],
"excludePaths": [],
"limit": 1,
"scrapeOptions": {"onlyMainContent": True},
"crawlerOptions": {"excludes": [], "includes": [], "limit": 1},
"pageOptions": {"onlyMainContent": True},
}
response = self._post_request(f"{self.base_url}/v1/crawl", options, headers)
response = self._post_request(f"{self.base_url}/v0/crawl", options, headers)
if response.status_code == 200:
return True
else:
-15
View File
@@ -44,7 +44,6 @@ from models.source import DataSourceOauthBinding
from services.entities.knowledge_entities.knowledge_entities import (
ChildChunkUpdateArgs,
KnowledgeConfig,
MetaDataConfig,
RerankingModel,
RetrievalModel,
SegmentUpdateArgs,
@@ -916,9 +915,6 @@ class DocumentService:
document.data_source_info = json.dumps(data_source_info)
document.batch = batch
document.indexing_status = "waiting"
if knowledge_config.metadata:
document.doc_type = knowledge_config.metadata.doc_type
document.metadata = knowledge_config.metadata.doc_metadata
db.session.add(document)
documents.append(document)
duplicate_document_ids.append(document.id)
@@ -935,7 +931,6 @@ class DocumentService:
account,
file_name,
batch,
knowledge_config.metadata,
)
db.session.add(document)
db.session.flush()
@@ -991,7 +986,6 @@ class DocumentService:
account,
page.page_name,
batch,
knowledge_config.metadata,
)
db.session.add(document)
db.session.flush()
@@ -1032,7 +1026,6 @@ class DocumentService:
account,
document_name,
batch,
knowledge_config.metadata,
)
db.session.add(document)
db.session.flush()
@@ -1070,7 +1063,6 @@ class DocumentService:
account: Account,
name: str,
batch: str,
metadata: Optional[MetaDataConfig] = None,
):
document = Document(
tenant_id=dataset.tenant_id,
@@ -1086,9 +1078,6 @@ class DocumentService:
doc_form=document_form,
doc_language=document_language,
)
if metadata is not None:
document.doc_metadata = metadata.doc_metadata
document.doc_type = metadata.doc_type
return document
@staticmethod
@@ -1201,10 +1190,6 @@ class DocumentService:
# update document name
if document_data.name:
document.name = document_data.name
# update doc_type and doc_metadata if provided
if document_data.metadata is not None:
document.doc_metadata = document_data.metadata.doc_type
document.doc_type = document_data.metadata.doc_type
# update document to be waiting
document.indexing_status = "waiting"
document.completed_at = None
@@ -93,11 +93,6 @@ class RetrievalModel(BaseModel):
score_threshold: Optional[float] = None
class MetaDataConfig(BaseModel):
doc_type: str
doc_metadata: dict
class KnowledgeConfig(BaseModel):
original_document_id: Optional[str] = None
duplicate: bool = True
@@ -110,7 +105,6 @@ class KnowledgeConfig(BaseModel):
embedding_model: Optional[str] = None
embedding_model_provider: Optional[str] = None
name: Optional[str] = None
metadata: Optional[MetaDataConfig] = None
class SegmentUpdateArgs(BaseModel):
+3
View File
@@ -1,6 +1,7 @@
import datetime
import json
import logging
import sys
import time
from collections.abc import Mapping, Sequence
from concurrent.futures import ThreadPoolExecutor
@@ -417,6 +418,8 @@ class PluginMigration:
logger.info("Uninstall plugins")
sys.exit(-1)
# get installation
try:
installation = manager.list_plugins(fake_tenant_id)
@@ -7,7 +7,7 @@ from sqlalchemy.orm import Session
from configs import dify_config
from core.helper.position_helper import is_filtered
from core.model_runtime.utils.encoders import jsonable_encoder
from core.plugin.entities.plugin import GenericProviderID, ToolProviderID
from core.plugin.entities.plugin import GenericProviderID
from core.plugin.manager.exc import PluginDaemonClientSideError
from core.tools.builtin_tool.providers._positions import BuiltinToolProviderSort
from core.tools.entities.api_entities import ToolApiEntity, ToolProviderApiEntity
@@ -240,7 +240,10 @@ class BuiltinToolManageService:
# rewrite db_providers
for db_provider in db_providers:
db_provider.provider = str(ToolProviderID(db_provider.provider))
try:
GenericProviderID(db_provider.provider)
except Exception:
db_provider.provider = f"langgenius/{db_provider.provider}/{db_provider.provider}"
# find provider
def find_provider(provider):
@@ -255,7 +258,7 @@ class BuiltinToolManageService:
include_set=dify_config.POSITION_TOOL_INCLUDES_SET, # type: ignore
exclude_set=dify_config.POSITION_TOOL_EXCLUDES_SET, # type: ignore
data=provider_controller,
name_func=lambda x: x.identity.name,
name_func=lambda x: x.entity.identity.name,
):
continue
@@ -54,7 +54,7 @@ class ToolTransformService:
@staticmethod
def repack_provider(tenant_id: str, provider: Union[dict, ToolProviderApiEntity]):
"""
repack provider
repack provider
:param provider: the provider dict
"""
+18 -10
View File
@@ -38,22 +38,30 @@ class WebsiteService:
only_main_content = options.get("only_main_content", False)
if not crawl_sub_pages:
params = {
"includePaths": [],
"excludePaths": [],
"limit": 1,
"scrapeOptions": {"onlyMainContent": only_main_content},
"crawlerOptions": {
"includes": [],
"excludes": [],
"generateImgAltText": True,
"limit": 1,
"returnOnlyUrls": False,
"pageOptions": {"onlyMainContent": only_main_content, "includeHtml": False},
}
}
else:
includes = options.get("includes").split(",") if options.get("includes") else []
excludes = options.get("excludes").split(",") if options.get("excludes") else []
params = {
"includePaths": includes,
"excludePaths": excludes,
"limit": options.get("limit", 1),
"scrapeOptions": {"onlyMainContent": only_main_content},
"crawlerOptions": {
"includes": includes,
"excludes": excludes,
"generateImgAltText": True,
"limit": options.get("limit", 1),
"returnOnlyUrls": False,
"pageOptions": {"onlyMainContent": only_main_content, "includeHtml": False},
}
}
if options.get("max_depth"):
params["maxDepth"] = options.get("max_depth")
params["crawlerOptions"]["maxDepth"] = options.get("max_depth")
job_id = firecrawl_app.crawl_url(url, params)
website_crawl_time_cache_key = f"website_crawl_{job_id}"
time = str(datetime.datetime.now().timestamp())
@@ -220,7 +228,7 @@ class WebsiteService:
# decrypt api_key
api_key = encrypter.decrypt_token(tenant_id=tenant_id, token=credentials.get("config").get("api_key"))
firecrawl_app = FirecrawlApp(api_key=api_key, base_url=credentials.get("config").get("base_url", None))
params = {"onlyMainContent": only_main_content}
params = {"pageOptions": {"onlyMainContent": only_main_content, "includeHtml": False}}
result = firecrawl_app.scrape_url(url, params)
return result
else:
@@ -10,17 +10,19 @@ def test_firecrawl_web_extractor_crawl_mode(mocker):
base_url = "https://api.firecrawl.dev"
firecrawl_app = FirecrawlApp(api_key=api_key, base_url=base_url)
params = {
"includePaths": [],
"excludePaths": [],
"maxDepth": 1,
"limit": 1,
"crawlerOptions": {
"includes": [],
"excludes": [],
"generateImgAltText": True,
"maxDepth": 1,
"limit": 1,
"returnOnlyUrls": False,
}
}
mocked_firecrawl = {
"id": "test",
"jobId": "test",
}
mocker.patch("requests.post", return_value=_mock_response(mocked_firecrawl))
job_id = firecrawl_app.crawl_url(url, params)
print(f"job_id: {job_id}")
assert job_id is not None
print(job_id)
assert isinstance(job_id, str)
@@ -68,7 +68,8 @@ def test_executor_with_json_body_and_object_variable():
system_variables={},
user_inputs={},
)
variable_pool.add(["pre_node_id", "object"], {"name": "John Doe", "age": 30, "email": "john@example.com"})
variable_pool.add(["pre_node_id", "object"], {
"name": "John Doe", "age": 30, "email": "john@example.com"})
# Prepare the node data
node_data = HttpRequestNodeData(
@@ -123,7 +124,8 @@ def test_executor_with_json_body_and_nested_object_variable():
system_variables={},
user_inputs={},
)
variable_pool.add(["pre_node_id", "object"], {"name": "John Doe", "age": 30, "email": "john@example.com"})
variable_pool.add(["pre_node_id", "object"], {
"name": "John Doe", "age": 30, "email": "john@example.com"})
# Prepare the node data
node_data = HttpRequestNodeData(
@@ -18,6 +18,14 @@ from models.enums import UserFrom
from models.workflow import WorkflowNodeExecutionStatus, WorkflowType
def test_plain_text_to_dict():
assert _plain_text_to_dict("aa\n cc:") == {"aa": "", "cc": ""}
assert _plain_text_to_dict("aa:bb\n cc:dd") == {"aa": "bb", "cc": "dd"}
assert _plain_text_to_dict("aa:bb\n cc:dd\n") == {"aa": "bb", "cc": "dd"}
assert _plain_text_to_dict("aa:bb\n\n cc : dd\n\n") == {
"aa": "bb", "cc": "dd"}
def test_http_request_node_binary_file(monkeypatch):
data = HttpRequestNodeData(
title="test",
@@ -183,7 +191,8 @@ def test_http_request_node_form_with_file(monkeypatch):
def attr_checker(*args, **kwargs):
assert kwargs["data"] == {"name": "test"}
assert kwargs["files"] == {"file": (None, b"test", "application/octet-stream")}
assert kwargs["files"] == {
"file": (None, b"test", "application/octet-stream")}
return httpx.Response(200, content=b"")
monkeypatch.setattr(
+3 -3
View File
@@ -2,7 +2,7 @@ x-shared-env: &shared-api-worker-env
services:
# API service
api:
image: langgenius/dify-api:1.0.0
image: langgenius/dify-api:1.0.0-beta.1
restart: always
environment:
# Use the shared environment variables.
@@ -27,7 +27,7 @@ services:
# worker service
# The Celery worker for processing the queue.
worker:
image: langgenius/dify-api:1.0.0
image: langgenius/dify-api:1.0.0-beta.1
restart: always
environment:
# Use the shared environment variables.
@@ -51,7 +51,7 @@ services:
# Frontend web application.
web:
image: langgenius/dify-web:1.0.0
image: langgenius/dify-web:1.0.0-beta.1
restart: always
environment:
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
+5 -3
View File
@@ -410,7 +410,7 @@ x-shared-env: &shared-api-worker-env
services:
# API service
api:
image: langgenius/dify-api:1.0.0
image: langgenius/dify-api:1.0.0-beta.1
restart: always
environment:
# Use the shared environment variables.
@@ -435,7 +435,7 @@ services:
# worker service
# The Celery worker for processing the queue.
worker:
image: langgenius/dify-api:1.0.0
image: langgenius/dify-api:1.0.0-beta.1
restart: always
environment:
# Use the shared environment variables.
@@ -459,11 +459,13 @@ services:
# Frontend web application.
web:
image: langgenius/dify-web:1.0.0
image: langgenius/dify-web:1.0.0-beta.1
restart: always
environment:
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
APP_API_URL: ${APP_API_URL:-}
MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-}
MARKETPLACE_URL: ${MARKETPLACE_URL:-}
SENTRY_DSN: ${WEB_SENTRY_DSN:-}
NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0}
TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000}
@@ -31,7 +31,6 @@ server {
location /e {
proxy_pass http://plugin_daemon:5002;
proxy_set_header Dify-Hook-Url $scheme://$host$request_uri;
include proxy.conf;
}
-1
View File
@@ -7,7 +7,6 @@ acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
# acl SSL_ports port 1025-65535 # Enable the configuration to resolve this issue: https://github.com/langgenius/dify/issues/12792
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
+1 -1
View File
@@ -87,7 +87,7 @@ class TestKnowledgeBaseClient(unittest.TestCase):
def _test_005_batch_indexing_status(self):
client = self._get_dataset_kb_client()
response = client.batch_indexing_status(self.batch_id)
response.json()
data = response.json()
self.assertEqual(response.status_code, 200)
def _test_006_update_document_by_file(self):
+1
View File
@@ -68,6 +68,7 @@ RUN pnpm add -g pm2 \
&& chown -R 1001:0 /.pm2 /app/web \
&& chmod -R g=u /.pm2 /app/web
ARG COMMIT_SHA
ENV COMMIT_SHA=${COMMIT_SHA}
@@ -162,9 +162,9 @@ const AppDetailLayout: FC<IAppDetailLayoutProps> = (props) => {
}
return (
<div className={cn(s.app, 'flex relative', 'overflow-hidden')}>
<div className={cn(s.app, 'flex', 'overflow-hidden')}>
{appDetail && (
<AppSideBar title={appDetail.name} icon={appDetail.icon} icon_background={appDetail.icon_background as string} desc={appDetail.mode} navigation={navigation} />
<AppSideBar title={appDetail.name} icon={appDetail.icon} icon_background={appDetail.icon_background} desc={appDetail.mode} navigation={navigation} />
)}
<div className="bg-components-panel-bg grow overflow-hidden">
{children}
@@ -24,11 +24,9 @@ import AppContext from '@/context/app-context'
export type ICardViewProps = {
appId: string
isInPanel?: boolean
className?: string
}
const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
const CardView: FC<ICardViewProps> = ({ appId }) => {
const { t } = useTranslation()
const { notify } = useContext(ToastContext)
const appDetail = useAppStore(state => state.appDetail)
@@ -122,11 +120,10 @@ const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
return <Loading />
return (
<div className={className || 'grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6'}>
<div className="grid gap-6 grid-cols-1 xl:grid-cols-2 w-full mb-6">
<AppCard
appInfo={appDetail}
cardType="webapp"
isInPanel={isInPanel}
onChangeStatus={onChangeSiteStatus}
onGenerateCode={onGenerateCode}
onSaveSiteConfig={onSaveSiteConfig}
@@ -134,7 +131,6 @@ const CardView: FC<ICardViewProps> = ({ appId, isInPanel, className }) => {
<AppCard
cardType="api"
appInfo={appDetail}
isInPanel={isInPanel}
onChangeStatus={onChangeApiStatus}
/>
</div>
@@ -11,7 +11,6 @@ import type { LangFuseConfig, LangSmithConfig, OpikConfig } from './type'
import { TracingProvider } from './type'
import TracingIcon from './tracing-icon'
import ConfigButton from './config-button'
import cn from '@/utils/classnames'
import { LangfuseIcon, LangsmithIcon, OpikIcon } from '@/app/components/base/icons/src/public/tracing'
import Indicator from '@/app/components/header/indicator'
import { fetchTracingConfig as doFetchTracingConfig, fetchTracingStatus, updateTracingStatus } from '@/service/apps'
@@ -20,6 +19,7 @@ import Toast from '@/app/components/base/toast'
import { useAppContext } from '@/context/app-context'
import Loading from '@/app/components/base/loading'
import Divider from '@/app/components/base/divider'
import cn from '@/utils/classnames'
const I18N_PREFIX = 'app.tracing'
@@ -80,9 +80,7 @@ const Panel: FC = () => {
? LangsmithIcon
: inUseTracingProvider === TracingProvider.langfuse
? LangfuseIcon
: inUseTracingProvider === TracingProvider.opik
? OpikIcon
: null
: OpikIcon
const [langSmithConfig, setLangSmithConfig] = useState<LangSmithConfig | null>(null)
const [langFuseConfig, setLangFuseConfig] = useState<LangFuseConfig | null>(null)
@@ -283,7 +283,7 @@ const ProviderConfigModal: FC<Props> = ({
>
<span className='text-[#D92D20]'>{t('common.operation.remove')}</span>
</Button>
<Divider className='mx-3 h-[18px]' />
<Divider className='mx-3 h-[18px]'/>
</>
)}
<Button
@@ -30,7 +30,9 @@ const ApiServer: FC<ApiServerProps> = ({
{t('appApi.ok')}
</div>
<SecretKeyButton
className='shrink-0 !h-8 bg-white'
className='flex-shrink-0 !h-8 bg-white'
textCls='!text-gray-700 font-medium'
iconCls='stroke-[1.2px]'
/>
</div>
)
@@ -47,44 +47,6 @@ import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstructi
<Property name='text' type='string' key='text'>
Document content
</Property>
<Property name='doc_type' type='string' key='doc_type'>
Type of document (optional):
- <code>book</code> Book
- <code>web_page</code> Web page
- <code>paper</code> Academic paper/article
- <code>social_media_post</code> Social media post
- <code>wikipedia_entry</code> Wikipedia entry
- <code>personal_document</code> Personal document
- <code>business_document</code> Business document
- <code>im_chat_log</code> Chat log
- <code>synced_from_notion</code> Notion document
- <code>synced_from_github</code> GitHub document
- <code>others</code> Other document types
</Property>
<Property name='doc_metadata' type='object' key='doc_metadata'>
Document metadata (required if doc_type is provided). Fields vary by doc_type:
For <code>book</code>:
- <code>title</code> Book title
- <code>language</code> Book language
- <code>author</code> Book author
- <code>publisher</code> Publisher name
- <code>publication_date</code> Publication date
- <code>isbn</code> ISBN number
- <code>category</code> Book category
For <code>web_page</code>:
- <code>title</code> Page title
- <code>url</code> Page URL
- <code>language</code> Page language
- <code>publish_date</code> Publish date
- <code>author/publisher</code> Author or publisher
- <code>topic/keywords</code> Topic or keywords
- <code>description</code> Page description
Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
For doc_type "others", any valid JSON object is accepted
</Property>
<Property name='indexing_technique' type='string' key='indexing_technique'>
Index mode
- <code>high_quality</code> High quality: embedding using embedding model, built as vector database index
@@ -233,68 +195,6 @@ import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstructi
- <code>hierarchical_model</code> Parent-child mode
- <code>qa_model</code> Q&A Mode: Generates Q&A pairs for segmented documents and then embeds the questions
- <code>doc_type</code> Type of document (optional)
- <code>book</code> Book
Document records a book or publication
- <code>web_page</code> Web page
Document records web page content
- <code>paper</code> Academic paper/article
Document records academic paper or research article
- <code>social_media_post</code> Social media post
Content from social media posts
- <code>wikipedia_entry</code> Wikipedia entry
Content from Wikipedia entries
- <code>personal_document</code> Personal document
Documents related to personal content
- <code>business_document</code> Business document
Documents related to business content
- <code>im_chat_log</code> Chat log
Records of instant messaging chats
- <code>synced_from_notion</code> Notion document
Documents synchronized from Notion
- <code>synced_from_github</code> GitHub document
Documents synchronized from GitHub
- <code>others</code> Other document types
Other document types not listed above
- <code>doc_metadata</code> Document metadata (required if doc_type is provided)
Fields vary by doc_type:
For <code>book</code>:
- <code>title</code> Book title
Title of the book
- <code>language</code> Book language
Language of the book
- <code>author</code> Book author
Author of the book
- <code>publisher</code> Publisher name
Name of the publishing house
- <code>publication_date</code> Publication date
Date when the book was published
- <code>isbn</code> ISBN number
International Standard Book Number
- <code>category</code> Book category
Category or genre of the book
For <code>web_page</code>:
- <code>title</code> Page title
Title of the web page
- <code>url</code> Page URL
URL address of the web page
- <code>language</code> Page language
Language of the web page
- <code>publish_date</code> Publish date
Date when the web page was published
- <code>author/publisher</code> Author or publisher
Author or publisher of the web page
- <code>topic/keywords</code> Topic or keywords
Topics or keywords of the web page
- <code>description</code> Page description
Description of the web page content
Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
For doc_type "others", any valid JSON object is accepted
- <code>doc_language</code> In Q&A mode, specify the language of the document, for example: <code>English</code>, <code>Chinese</code>
- <code>process_rule</code> Processing rules
@@ -407,44 +307,6 @@ import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstructi
<Property name='description' type='string' key='description'>
Knowledge description (optional)
</Property>
<Property name='doc_type' type='string' key='doc_type'>
Type of document (optional):
- <code>book</code> Book
- <code>web_page</code> Web page
- <code>paper</code> Academic paper/article
- <code>social_media_post</code> Social media post
- <code>wikipedia_entry</code> Wikipedia entry
- <code>personal_document</code> Personal document
- <code>business_document</code> Business document
- <code>im_chat_log</code> Chat log
- <code>synced_from_notion</code> Notion document
- <code>synced_from_github</code> GitHub document
- <code>others</code> Other document types
</Property>
<Property name='doc_metadata' type='object' key='doc_metadata'>
Document metadata (required if doc_type is provided). Fields vary by doc_type:
For <code>book</code>:
- <code>title</code> Book title
- <code>language</code> Book language
- <code>author</code> Book author
- <code>publisher</code> Publisher name
- <code>publication_date</code> Publication date
- <code>isbn</code> ISBN number
- <code>category</code> Book category
For <code>web_page</code>:
- <code>title</code> Page title
- <code>url</code> Page URL
- <code>language</code> Page language
- <code>publish_date</code> Publish date
- <code>author/publisher</code> Author or publisher
- <code>topic/keywords</code> Topic or keywords
- <code>description</code> Page description
Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
For doc_type "others", any valid JSON object is accepted
</Property>
<Property name='indexing_technique' type='string' key='indexing_technique'>
Index technique (optional)
- <code>high_quality</code> High quality
@@ -762,67 +624,6 @@ import { Row, Col, Properties, Property, Heading, SubProperty, PropertyInstructi
- <code>separator</code> Segmentation identifier. Currently, only one delimiter is allowed. The default is <code>***</code>
- <code>max_tokens</code> The maximum length (tokens) must be validated to be shorter than the length of the parent chunk
- <code>chunk_overlap</code> Define the overlap between adjacent chunks (optional)
- <code>doc_type</code> Type of document (optional)
- <code>book</code> Book
Document records a book or publication
- <code>web_page</code> Web page
Document records web page content
- <code>paper</code> Academic paper/article
Document records academic paper or research article
- <code>social_media_post</code> Social media post
Content from social media posts
- <code>wikipedia_entry</code> Wikipedia entry
Content from Wikipedia entries
- <code>personal_document</code> Personal document
Documents related to personal content
- <code>business_document</code> Business document
Documents related to business content
- <code>im_chat_log</code> Chat log
Records of instant messaging chats
- <code>synced_from_notion</code> Notion document
Documents synchronized from Notion
- <code>synced_from_github</code> GitHub document
Documents synchronized from GitHub
- <code>others</code> Other document types
Other document types not listed above
- <code>doc_metadata</code> Document metadata (required if doc_type is provided)
Fields vary by doc_type:
For <code>book</code>:
- <code>title</code> Book title
Title of the book
- <code>language</code> Book language
Language of the book
- <code>author</code> Book author
Author of the book
- <code>publisher</code> Publisher name
Name of the publishing house
- <code>publication_date</code> Publication date
Date when the book was published
- <code>isbn</code> ISBN number
International Standard Book Number
- <code>category</code> Book category
Category or genre of the book
For <code>web_page</code>:
- <code>title</code> Page title
Title of the web page
- <code>url</code> Page URL
URL address of the web page
- <code>language</code> Page language
Language of the web page
- <code>publish_date</code> Publish date
Date when the web page was published
- <code>author/publisher</code> Author or publisher
Author or publisher of the web page
- <code>topic/keywords</code> Topic or keywords
Topics or keywords of the web page
- <code>description</code> Page description
Description of the web page content
Please check [api/services/dataset_service.py](https://github.com/langgenius/dify/blob/main/api/services/dataset_service.py#L475) for more details on the fields required for each doc_type.
For doc_type "others", any valid JSON object is accepted
</Property>
</Properties>
</Col>

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