‹ Reports
The Dispatch

OSS Report: langgenius/dify


Surge in User-Reported Bugs Highlights Stability Concerns for Dify Project

The Dify project, an open-source platform for developing applications with large language models, has experienced a notable increase in user-reported bugs and enhancement requests, emphasizing the need for improved stability and user experience.

The Dify project aims to facilitate the development of applications utilizing large language models (LLMs) through an intuitive interface that integrates AI workflows, model management, and observability features.

Recent Activity

Recent issues and pull requests (PRs) indicate a focus on addressing critical bugs and enhancing usability. Notable issues include #8498, where the HTTP request node fails to receive LLM output, and #8495, involving errors after importing YAML files. Enhancements such as webhooks for app publishing (#8497) and Elasticsearch index configuration (#8493) suggest ongoing efforts to improve flexibility and integration capabilities.

Development Team and Recent Contributions

  1. Jyong (JohnJyong)
    • 25 commits: Focused on retrieval and dataset handling improvements.
  2. Nam Vu (ZuzooVn)
    • 20 commits: Worked on internationalization and bug fixes.
  3. Yi Xiao (YIXIAO0)
    • 20 commits: Contributed to UI improvements and chat component fixes.
  4. Takatost
    • 15 commits: Addressed workflow execution and model integration bugs.
  5. 非法操作 (hjlarry)
    • 11 commits: Bug fixes related to tools and models.
  6. Zhuhao (hwzhuhao)
    • 6 commits: Improved Docker configurations and tool functionalities.
  7. Charlie Wei (charli117)
    • 6 commits: Enhanced image rendering and markdown components.

The team has been actively working on both feature additions and bug fixes, with a strong emphasis on enhancing user experience through UI improvements and addressing critical bugs in workflows.

Of Note

  1. User-Reported Bugs: A surge in issues related to node execution failures (#8498, #8495) highlights stability concerns.
  2. Internationalization Efforts: Contributions like Farsi translations (#8487) reflect inclusivity efforts.
  3. API Enhancements: New functionalities such as hit-testing in dataset service APIs (#8477) expand integration capabilities.
  4. Security Features: Enhancements like password checks for public URLs (#8486) indicate a focus on security.
  5. Community Engagement: High number of open PRs suggests active community involvement but also potential backlog challenges.

The Dify project is actively evolving with numerous contributions aimed at enhancing its functionality and usability, but maintaining an efficient review process will be vital in managing community contributions effectively.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 160 112 444 11 1
14 Days 300 200 850 20 1
30 Days 367 200 1021 21 1
All Time 3766 3512 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Bowen Liang 4 12/11/0 21 615 54223
takatost 1 14/14/0 15 167 17564
-LAN- 5 8/7/0 23 311 15375
github-actions[bot] 1 3/3/0 3 155 4635
Alex 1 0/0/0 1 24 3330
ybalbert001 1 4/4/0 4 25 2783
Yi Xiao 6 5/5/0 20 137 2665
Nam Vu 3 16/12/1 20 439 2645
zhuhao 1 8/5/0 6 17 2171
tmuife 1 0/0/0 1 23 2110
Charlie.Wei 3 3/3/0 6 32 2044
Xiao Ley 2 1/1/0 2 7 1746
非法操作 5 7/4/2 11 34 1642
Hash Brown (xuzuodong) 3 1/0/1 4 73 1460
zxhlyh 3 3/3/0 7 42 1226
Hélio Lúcio 1 0/0/0 1 15 1158
Joel 6 4/4/0 21 54 1073
走在修行的大街上 2 1/1/0 2 24 952
Chengyu Yan 2 0/0/0 2 17 872
Jyong 8 9/9/0 25 36 703
NFish 2 1/0/0 9 26 581
Yeuoly 3 1/1/0 5 29 550
sino 4 2/1/0 5 6 523
AAEE86 1 5/2/3 2 23 464
kurokobo 3 2/1/1 5 57 453
Ying Wang 1 4/2/1 2 3 437
Leng Yue 1 1/1/0 1 12 433
Xiyuan Chen 1 0/0/0 1 14 420
crazywoola 4 13/13/0 20 52 373
KVOJJJin 2 2/2/0 3 22 367
Joshua 1 0/0/0 1 6 326
KinWang 1 0/0/0 1 17 278
Leo.Wang 1 1/1/0 1 4 274
fanlia 1 1/1/0 1 3 239
Joe 3 4/2/0 14 15 233
Zhi 2 0/0/0 5 11 211
Pika 1 2/2/0 2 4 201
Kenn 1 0/0/0 1 3 163
ChengZi 1 1/1/0 1 9 153
Thales Salazar 1 2/2/0 2 1 152
ice yao 1 3/1/0 1 9 133
呆萌闷油瓶 3 3/3/0 5 11 130
Ethan 3 1/0/0 3 11 85
邹成卓 1 0/0/0 1 1 83
Shota Totsuka (totsukash) 1 1/0/0 1 4 79
Su Yang 1 1/1/0 1 1 74
orangeclk 2 0/0/0 3 11 63
Garfield Dai 2 0/0/0 3 5 57
yalei 1 1/1/0 1 7 55
swingchen01 1 1/1/0 1 1 48
Seayon 1 0/0/0 1 5 40
Byeongjin Kang 2 0/0/0 2 5 39
xiandan-erizo 1 1/1/0 1 2 39
cr-zhichen 1 1/1/0 1 2 37
edo1z 1 0/0/0 1 2 32
legao 1 0/0/0 1 2 31
zhujinle 1 0/0/0 1 1 30
HowardChan 1 4/3/1 3 2 24
Hirotaka Miyagi 1 3/1/2 3 3 21
Vico Chu 1 0/0/0 1 1 20
Aaron Ji 1 1/1/0 1 3 16
Vimpas 2 0/0/0 2 1 13
wochuideng 1 1/1/0 1 1 12
Fei He 2 0/0/0 2 2 11
AllenWriter 1 0/0/0 1 5 10
hisir 2 0/0/0 2 5 9
Ikko Eltociear Ashimine 2 1/1/0 2 2 8
kanoshiou 1 0/0/0 1 4 8
DDDDD12138 1 1/1/0 1 2 8
Sumkor 1 0/0/0 1 1 7
Jiakun Xu 1 0/0/0 1 3 7
Jason Tan 1 2/1/0 1 2 6
snickerjp 2 0/0/0 2 2 6
Hanqing Zhao 1 0/0/0 1 1 4
Leheng Lu 1 0/0/0 1 1 4
None (luckylhb90) 1 1/0/0 1 1 4
Designerxsh 1 1/1/0 1 2 4
YidaHu 1 0/0/0 2 2 3
Kevin9703 1 2/1/1 1 1 3
winsonwhe 1 0/0/0 1 1 3
Qin Liu 1 0/0/0 1 1 2
Incca 1 1/1/0 1 1 2
Yuki Oshima 1 1/1/0 1 1 2
omr 1 1/0/0 1 1 2
Huang YunKun 1 0/0/0 1 1 2
代君 1 0/0/0 1 1 2
Chenhe Gu 1 1/1/0 1 1 2
陳鈞 1 0/0/0 1 1 2
yanxiyue 1 1/1/0 1 1 2
Benjamin 1 0/0/0 1 1 2
Bryan 1 0/0/0 1 1 2
teruo OSHIDA(JP_SMN) 1 0/0/0 1 1 2
Tamer 1 1/1/0 1 1 2
pinsily 1 0/0/0 1 1 1
wellCh4n 1 0/0/0 1 1 1
Mehdi Abou (Meabo) 0 1/0/1 0 0 0
Qun (QunBB) 0 1/0/0 0 0 0
None (G81192) 0 1/0/0 0 0 0
Mahmoud Soliman (MCobra) 0 1/0/1 0 0 0
Hossein Khalili (hos715) 0 2/0/1 0 0 0
HJY (LLmoskk) 0 2/0/0 0 0 0
Waffle (ox01024) 0 1/0/0 0 0 0
Wang Bo (bwanglzu) 0 1/0/0 0 0 0
Josh Etsenake (etsenake) 0 1/0/1 0 0 0
Cling_o3 (ProseGuys) 0 2/0/2 0 0 0
powerfool (powerfooI) 0 1/0/0 0 0 0
x_n (1051690662) 0 1/0/0 0 0 0
Wu Jiayang (Wu-Jiayang) 0 1/0/0 0 0 0
yusuke_ten (yusuke-ten) 0 1/0/0 0 0 0
Đỗ Hữu Đại (daidh152001) 0 1/0/1 0 0 0
Kenneth (kenneth-bro) 0 1/0/1 0 0 0
None (leichangqing) 0 1/0/1 0 0 0
Priyanshu Khawas (Priyanshu1035) 0 1/0/1 0 0 0
None (themanforfree) 0 1/0/0 0 0 0
Null (nullmastermind) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Dify project has recently seen a surge in activity, with 254 open issues currently logged. Among these, several critical bugs and enhancement requests have been raised, indicating ongoing development and user engagement. Notably, issues related to bugs in the HTTP request node, model integration challenges, and feature requests for improved user interaction highlight areas of concern that may impact user experience and functionality.

A recurring theme among the issues is the need for better error handling and user feedback mechanisms. For instance, multiple users have reported problems with tool nodes not executing as expected or returning null values, which suggests a potential gap in the robustness of the workflow execution logic. Additionally, there are numerous requests for enhancements that would improve usability, such as better organization of tools and workflows.

Issue Details

Most Recently Created Issues

  1. Issue #8498: http request node won't receive LLM output

    • Priority: 🐞 Bug
    • Status: Open
    • Created: 0 days ago
    • Details: The user reports that the HTTP request node fails to pass LLM output to a Flask service, resulting in empty input being sent.
  2. Issue #8497: Webhooks for publishing Apps

    • Priority: 💪 Enhancement
    • Status: Open
    • Created: 0 days ago
    • Details: A request to trigger an API after publishing an app or workflow.
  3. Issue #8495: An error occurred after the yml file was imported.

    • Priority: 🐞 Bug
    • Status: Open
    • Created: 0 days ago
    • Details: The user encountered a client-side exception after importing a YAML configuration file.
  4. Issue #8493: Elasticsearch Index Prefix from Env Variable

    • Priority: 💪 Enhancement
    • Status: Open
    • Created: 1 day ago
    • Details: Suggestion to allow index names to be defined via environment variables for better flexibility.
  5. Issue #8492: Make chat logs available for download

    • Priority: 💪 Enhancement
    • Status: Open
    • Created: 1 day ago
    • Details: Request for functionality to download chat logs with filtering options.

Most Recently Updated Issues

  1. Issue #8486: [SECURITY] Add password check for Public URL of published chatbots and agents.

    • Priority: 💪 Enhancement
    • Status: Open
    • Updated: 0 days ago
  2. Issue #8485: Granular Querying by Specific Data Collections in Knowledge Base

    • Priority: 💪 Enhancement
    • Status: Open
    • Updated: 0 days ago
  3. Issue #8481: After dify is started for the first time, the localhost/install page keeps spinning...

    • Priority: 🐞 Bug
    • Status: Open
    • Updated: 0 days ago
  4. Issue #8479: The table 'dataset_keyword_tables' is too large...

    • Priority: 🐞 Bug
    • Status: Open
    • Updated: 0 days ago
  5. Issue #8478: Node re-run and iteration judgment termination

    • Priority: 💪 Enhancement
    • Status: Open
    • Updated: 0 days ago

Summary of Notable Issues

  • Many recent issues focus on bugs related to node execution failures and incorrect data handling (e.g., Issues #8498, #8495).
  • Enhancements are frequently requested to improve usability and flexibility (e.g., Issues #8497, #8493).
  • There is a clear demand for better error reporting and handling mechanisms within workflows.
  • Users are also advocating for features that enhance security (e.g., Issue #8486) and improve data management capabilities (e.g., Issue #8485).

This analysis indicates that while Dify is actively being developed and improved based on user feedback, there are significant areas requiring attention to enhance stability and user experience.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the Dify project reveals a total of 48 open PRs, with a diverse range of enhancements, bug fixes, and new features aimed at improving functionality and user experience. The recent activity indicates a strong community engagement and ongoing development efforts.

Summary of Pull Requests

  1. PR #8494: chore: update the .dockerignore file to include vscode

    • State: Open
    • Significance: Minor improvement to the Docker configuration, ensuring that VSCode files are ignored during the build process.
  2. PR #8491: fix: redundant check for available_document_count

    • State: Open
    • Significance: Refines code by removing redundant checks, improving performance in dataset retrieval.
  3. PR #8488: refactor: rename task_type to task for jina embeddings v3

    • State: Open
    • Significance: Aligns with API changes, indicating active maintenance and adaptation to evolving standards.
  4. PR #8487: Feat/farsi translation for readme

    • State: Open
    • Significance: Enhances accessibility by adding Farsi translations to documentation, reflecting inclusivity efforts.
  5. PR #8484: feat: support workflow multi version recovery

    • State: Open
    • Significance: Introduces significant new functionality for workflow management, enhancing user capabilities.
  6. PR #8483: fix: commands.py

    • State: Open
    • Significance: Improves error messaging in command validation, contributing to better user experience.
  7. PR #8482: fix: form input add tabIndex

    • State: Open
    • Significance: Enhances usability by improving keyboard navigation in forms.
  8. PR #8477: feat: Add hit-testing to the dataset service APIs

    • State: Open
    • Significance: Expands API capabilities, allowing for more complex interactions with datasets.
  9. PR #8473: feat: support MAX_API_KEYS

    • State: Open
    • Significance: Introduces new configuration options for API key management, enhancing security and flexibility.
  10. PR #8470: chore: update the .gitignore file to include opensearch, pgvector, and myscale

    • State: Open
    • Significance: Minor maintenance task improving project hygiene by ignoring unnecessary files.
  11. ... (and so on for other PRs)

Analysis of Pull Requests

The recent activity within the Dify project showcases a vibrant development environment characterized by a mix of enhancements, bug fixes, and new feature implementations. A few notable trends emerge from the analysis:

Themes and Commonalities

  • Usability Enhancements: Many PRs focus on improving user experience through UI/UX adjustments (e.g., PRs related to form handling and navigation improvements). This reflects an ongoing commitment to making the platform more intuitive.
  • Internationalization Efforts: The addition of translations (e.g., Farsi) indicates a strategic effort to broaden the user base and make the platform accessible to non-English speakers.
  • API Improvements: Several PRs enhance or add new API functionalities (e.g., hit-testing in dataset service APIs), suggesting that the team is actively working on expanding integration capabilities and ensuring that the APIs remain robust and versatile.
  • Performance Optimizations: Code refactoring and removal of redundant checks are common themes, indicating a focus on maintaining efficient codebases as features expand.

Anomalies

  • The presence of multiple open PRs from individual contributors suggests that while there is active engagement from the community, there may be challenges in merging these contributions efficiently due to potential conflicts or differing priorities.
  • Some PRs remain open without significant updates or merges (e.g., PRs that are minor changes), which could indicate a backlog or prioritization issues within the review process.

Lack of Recent Merge Activity

  • While there are many open PRs, it is crucial to monitor how many are being merged regularly. A high number of open PRs without merges might lead to contributor frustration or disengagement if not addressed promptly.

Old PRs

  • A few older PRs have not been merged or have been closed without resolution. This could reflect shifting priorities or resource allocation issues within the team.

Conclusion

The Dify project is actively evolving with numerous contributions aimed at enhancing its functionality and usability. However, maintaining an efficient review process will be vital in managing community contributions effectively while ensuring that the project continues to grow in a structured manner. Addressing both usability improvements and performance optimizations will be essential as Dify seeks to solidify its position as a leading platform for LLM application development.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. Xiao Ley (XiaoLey)

    • Recent Activity: Contributed to the Brave search tool by adding base URL settings and secure ASCII options. Collaborated with crazywoola.
    • Commits: 1 commit, 1746 changes across 7 files.
  2. 非法操作 (hjlarry)

    • Recent Activity: Worked on the siliconflow image generation tool and contributed to various bug fixes related to tools and models.
    • Commits: 11 commits, 1642 changes across 34 files.
  3. Nam Vu (ZuzooVn)

    • Recent Activity: Made multiple updates including internationalization (i18n) improvements, bug fixes, and enhancements across various components.
    • Commits: 20 commits, 2645 changes across 439 files.
  4. Hirotaka Miyagi (MH4GF)

    • Recent Activity: Fixed issues related to form submission in the text generation component.
    • Commits: 3 commits, 21 changes across 3 files.
  5. Ying Wang (twisker)

    • Recent Activity: Added KnowledgeBaseClient in the Python SDK along with test cases.
    • Commits: 2 commits, 437 changes across 3 files.
  6. Takatost

    • Recent Activity: Engaged in multiple bug fixes, particularly around workflow execution and model integration.
    • Commits: 15 commits, 17564 changes across 167 files.
  7. Jyong (JohnJyong)

    • Recent Activity: Contributed significantly with multiple features and bug fixes related to retrieval and dataset handling.
    • Commits: 25 commits, 703 changes across 36 files.
  8. Zhuhao (hwzhuhao)

    • Recent Activity: Focused on fixing issues in Docker configurations and improving tool functionalities.
    • Commits: 6 commits, 2171 changes across 17 files.
  9. Charlie Wei (charli117)

    • Recent Activity: Worked on enhancements for image rendering and markdown components.
    • Commits: 6 commits, 2044 changes across 32 files.
  10. 走在修行的大街上 (hgnulb)

    • Recent Activity: Fixed bugs related to Feishu plugins.
    • Commits: 2 commits, 952 changes across 24 files.
  11. Yi Xiao (YIXIAO0)

    • Recent Activity: Contributed to UI improvements and bug fixes in chat components.
    • Commits: 20 commits, 2665 changes across 137 files.
  12. ybalbert001

    • Recent Activity: Enhanced support for Bedrock cross-region inference.
    • Commits: 4 commits, 2783 changes across 25 files.
  13. Aaron Ji (DresAaron)

    • Recent Activity: Updated Jina embedding model configurations.
    • Commits: 1 commit, 16 changes across 3 files.
  14. yanxiyue

    • Recent Activity: Fixed variable handling issues in the workflow component.
    • Commits: 1 commit, 2 changes across 1 file.
  15. kurokobo

    • Recent Activity: Added timeout specifications for text generations and workflows.
    • Commits: 5 commits, 453 changes across 57 files.
  16. JzoNgKVO

    • Recent Activity: Addressed issues related to logs and answer positioning in chat components.
    • Commits: 3 commits, 367 changes across 22 files.
  17. HiChen404

    • Recent Activity: Fixed variable existence checks in workflow nodes.
    • Commits: 2 commits, 201 changes across 4 files.
  18. HowardChan (Howe829)

    • Recent Activity: Worked on various bug fixes within the embedding components.
    • Commits: 3 commits, 24 changes across 2 files.
  19. swingchen01

    • Recent Activity: Resolved runtime errors related to storage handling.
    • Commits: 1 commit, 48 changes across 1 file.
  20. Incca (incca)

    • Recent Activity: Fixed environment variable configurations for Docker setups.
    • Commits: 1 commit, 2 changes across 1 file.

Patterns and Themes

  • The team has been actively working on both feature additions and bug fixes over the past week, with a strong focus on enhancing user experience through UI improvements and addressing critical bugs in workflows and model integrations.
  • Collaboration is evident as many contributions involve co-authored commits indicating teamwork among developers.
  • There is a significant emphasis on internationalization efforts as well as support for various language models which aligns with the project's goal of being a comprehensive platform for LLM application development.
  • The volume of changes suggests ongoing optimization of existing features alongside the introduction of new functionalities which is crucial for maintaining project relevance in a competitive landscape.

Conclusion

The development team is highly active with diverse contributions that enhance both functionality and usability of the Dify platform. Their collaborative efforts reflect a commitment to continuous improvement and responsiveness to user needs within the rapidly evolving AI landscape.