Dify is an open-source platform for developing applications using large language models (LLMs), offering features like AI workflows, RAG pipelines, and model management. The project is actively maintained with a dynamic development environment.
updated_at
field for data bindings.Patterns indicate active bug fixing, feature development, and collaboration among team members.
vanna.py
.Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 105 | 62 | 211 | 9 | 1 |
14 Days | 204 | 118 | 448 | 16 | 1 |
30 Days | 360 | 184 | 788 | 22 | 1 |
All Time | 4131 | 3872 | - | - | - |
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.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
takatost | 3 | 2/2/0 | 12 | 574 | 211829 | |
Jyong | 5 | 6/5/0 | 20 | 107 | 7394 | |
SebastjanPrachovskij | 1 | 1/1/0 | 1 | 3 | 4095 | |
走在修行的大街上 | 1 | 2/1/0 | 1 | 71 | 2887 | |
zhuhao | 1 | 23/25/0 | 25 | 108 | 2830 | |
-LAN- | 8 | 10/8/1 | 49 | 109 | 2400 | |
Yi Xiao | 3 | 4/4/0 | 19 | 54 | 1904 | |
Yeuoly | 2 | 0/0/0 | 23 | 54 | 1857 | |
Joel | 5 | 1/1/0 | 21 | 72 | 1591 | |
github-actions[bot] | 1 | 1/1/0 | 1 | 81 | 1488 | |
Zhaofeng Miao | 1 | 0/1/0 | 1 | 38 | 1002 | |
Xiyuan Chen | 1 | 0/0/0 | 2 | 10 | 845 | |
StyleZhang | 4 | 0/0/0 | 8 | 33 | 838 | |
NFish | 6 | 3/2/0 | 24 | 30 | 789 | |
Bowen Liang | 1 | 13/8/0 | 8 | 89 | 652 | |
CXwudi | 1 | 4/4/0 | 4 | 19 | 419 | |
Joe | 5 | 2/1/0 | 21 | 21 | 343 | |
ice yao | 1 | 3/3/0 | 4 | 12 | 313 | |
Charlie.Wei | 1 | 2/2/0 | 2 | 3 | 265 | |
AAEE86 | 1 | 0/1/0 | 2 | 10 | 217 | |
longzhihun | 1 | 1/1/0 | 1 | 8 | 172 | |
Hash Brown | 3 | 3/3/0 | 5 | 6 | 168 | |
zg0d233 | 1 | 4/2/2 | 2 | 6 | 122 | |
非法操作 | 2 | 17/10/6 | 10 | 15 | 105 | |
HowardChan | 1 | 2/1/0 | 1 | 4 | 100 | |
wenmeng zhou | 1 | 1/1/0 | 1 | 54 | 78 | |
Aaron Ji | 1 | 0/1/0 | 1 | 2 | 63 | |
Sota Oizumi | 1 | 1/1/0 | 1 | 10 | 62 | |
Junyan Qin (RockChinQ) | 1 | 1/0/0 | 1 | 6 | 44 | |
ronaksingh27 | 1 | 1/1/0 | 1 | 7 | 40 | |
Shenghang Tsai | 1 | 0/1/0 | 1 | 1 | 39 | |
Giannis Kepas | 1 | 1/1/0 | 1 | 1 | 38 | |
ybalbert001 | 1 | 1/1/0 | 1 | 1 | 36 | |
dai | 1 | 1/1/0 | 1 | 10 | 36 | |
crazywoola | 1 | 3/3/0 | 3 | 4 | 34 | |
KVOJJJin | 1 | 1/1/0 | 1 | 3 | 32 | |
Pika | 1 | 1/1/0 | 1 | 2 | 27 | |
Ziyu Huang | 1 | 1/1/0 | 1 | 2 | 24 | |
呆萌闷油瓶 | 1 | 2/2/0 | 2 | 3 | 23 | |
kurokobo | 1 | 1/1/0 | 1 | 4 | 21 | |
8bitpd | 1 | 1/1/0 | 1 | 1 | 19 | |
cx | 1 | 2/1/1 | 1 | 1 | 19 | |
Sergio Sacristán | 1 | 1/1/0 | 1 | 1 | 14 | |
luckylhb90 | 1 | 1/1/0 | 1 | 1 | 13 | |
chenxu9741 | 1 | 1/1/0 | 1 | 4 | 11 | |
aiscrm | 1 | 1/1/0 | 1 | 1 | 11 | |
Sa Zhang | 1 | 1/1/0 | 1 | 1 | 6 | |
pinsily | 1 | 1/1/0 | 1 | 1 | 4 | |
Alter-xyz | 1 | 1/1/0 | 1 | 1 | 4 | |
Infinitnet | 1 | 1/1/0 | 1 | 1 | 4 | |
Xiaoguang Sun | 1 | 1/1/0 | 1 | 1 | 4 | |
omr | 1 | 2/2/0 | 2 | 2 | 3 | |
Shai Perednik | 1 | 1/1/0 | 1 | 1 | 2 | |
Kevin9703 | 1 | 1/1/0 | 1 | 1 | 2 | |
Dongsheng Zhao | 1 | 1/1/0 | 1 | 1 | 2 | |
Aurelius Huang | 1 | 1/1/0 | 1 | 1 | 2 | |
gaocarri | 1 | 0/1/0 | 1 | 1 | 1 | |
Zhi (erigo) | 0 | 1/0/1 | 0 | 0 | 0 | |
Wei-shun Bao (wsbao) | 0 | 1/0/0 | 0 | 0 | 0 | |
Fei He (droxer) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (fanlia) | 0 | 1/0/1 | 0 | 0 | 0 | |
svcvit (svcvit) | 0 | 1/0/1 | 0 | 0 | 0 | |
Cillin (CCillin) | 0 | 1/0/1 | 0 | 0 | 0 | |
miwa (minhuaF) | 0 | 1/0/0 | 0 | 0 | 0 | |
Steven Lynn (stvlynn) | 0 | 2/1/1 | 0 | 0 | 0 | |
Shili Cao (WayneCao) | 0 | 1/0/0 | 0 | 0 | 0 | |
hisir (Hisir0909) | 0 | 1/0/0 | 0 | 0 | 0 | |
Happy-Engineer (dwgeneral) | 0 | 1/0/0 | 0 | 0 | 0 | |
kenyo3023 (kenyo3023) | 0 | 2/0/1 | 0 | 0 | 0 | |
Oliver Lee (lichengwu) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (massif-01) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (sexiong306) | 0 | 4/0/4 | 0 | 0 | 0 | |
QuietlyChan (QuietlyChan) | 0 | 1/0/0 | 0 | 0 | 0 | |
Fabian Valle (ranfysvalle02) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (Kota-Yamaguchi) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (LzMingYueShanPao) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a growing backlog of 259 open issues, including high-priority problems like conversation history retention (#9179). The lack of milestones and minimal issue labeling further complicates tracking progress towards specific goals. Additionally, several pull requests lack thorough documentation and testing instructions, which could hinder timely delivery. |
Velocity | 4 | Velocity is at risk due to a net increase in unresolved issues over the past 30 days, indicating challenges in keeping up with development demands. The high volume of comments suggests complex discussions that may slow down resolution. Furthermore, integration challenges and dependency risks with external APIs could lead to prolonged troubleshooting phases. |
Dependency | 3 | Dependency risks are moderate, with issues like inconsistent document upload behavior (#9177) pointing to potential integration problems with external APIs. The reliance on Docker and Kubernetes for deployment also introduces risks if not managed effectively. However, the project's focus on supporting various LLMs shows an awareness of dependency management. |
Team | 2 | The team appears engaged and collaborative, as evidenced by the high number of commits from multiple developers and active discussions on issues. However, the complexity of some issues may lead to burnout if not addressed efficiently. The lack of milestones and issue categorization could also affect team coordination. |
Code Quality | 3 | Code quality risks are present due to incomplete checklists and missing linting steps in several pull requests (#9185, #9184). The high volume of changes by some developers necessitates thorough reviews to maintain standards. Ongoing refactoring efforts indicate awareness but also suggest existing quality concerns. |
Technical Debt | 3 | Technical debt is a concern as ongoing refactoring efforts highlight accumulated issues needing resolution. The lack of comprehensive testing instructions across pull requests could exacerbate this problem if not addressed. However, proactive measures like storage optimizations suggest attempts to manage debt. |
Test Coverage | 3 | Test coverage is insufficiently documented across multiple pull requests, posing risks of undetected bugs and regressions. The absence of detailed testing instructions limits the effectiveness of new features and bug fixes in ensuring robust functionality. |
Error Handling | 3 | Error handling is a moderate risk due to issues like interrupted streaming responses without error logs (#9166). While improvements have been made with added error logs (#9117), the recurring lack of detailed testing instructions suggests potential gaps in robust error reporting mechanisms. |
Recent GitHub issue activity for the Dify project shows a mix of bug reports, feature requests, and enhancement suggestions. Notably, there are issues related to API integration, workflow management, and model compatibility. Some users report challenges with conversation history retention and embedding model synchronization.
Several issues highlight the need for improved user experience, such as enhancing mobile interface usability and managing workflow complexity. There are also requests for new features like multi-turn dialogues and better environment variable management.
#9181: Remove the Scrollbar from the Center of the Screen
#9180: Add OpenAI-compatible TTS
#9179: (Again) Dify forgets the conversation history when working through the API.
#9178: 请问dify有类似fastapi的swagger文档地址吗?
#9177: The document upload behavior of web and API is inconsistent!
#9179: (Again) Dify forgets the conversation history when working through the API.
#9178: 请问dify有类似fastapi的swagger文档地址吗?
#9177: The document upload behavior of web and API is inconsistent!
#9175: docker hub China is not accessible, docker-compose.yaml add a Chinese mirror address
Overall, the issues reflect a dynamic project with active user engagement and ongoing development needs.
#9185: feat:support baidu vector db
#9184: feat: download pkg from marketplace
#9183: Update docker-compose.yaml
#9173: improve: Refresh updated_at field of DataSourceOauthBinding model
#9167: fix: missing usage of metadata in the chatflow app
#9156: feat: add allow_llm_to_see_data flag for vanna
Overall, Dify continues to evolve with significant contributions aimed at expanding its capabilities and improving user experience. However, ensuring thorough documentation and testing for each pull request will be crucial for maintaining code quality and stability.
vanna.py
VannaTool
extends BuiltinTool
and encapsulates the logic for invoking a tool using the Vanna library._invoke
method handles various database connections and training data management, demonstrating comprehensive functionality.vanna.yaml
prompt
, model
, and db_type
.ddl
and memos
.oauth_data_source.py
OAuthDataSource
as a base class and NotionOAuth
as a subclass, promoting reusability.get_access_token
and save_internal_access_token
. Consider refactoring common logic.llm.py
KnowledgeBaseInfo.tsx
generate_task_pipeline.py
_conversation_name_generate_thread
) to handle asynchronous operations efficiently.docker-compose.yaml
&shared-api-worker-env
).langgenius/dify-api:0.9.1
), ensuring consistent deployments.Overall, the codebase demonstrates good practices in structure, error handling, and functionality across different components. However, there are areas where modularization could improve maintainability, especially in larger files like llm.py
.
Zhuhao (hwzhuhao)
Xiaoguang Sun (sunxiaoguang)
updated_at
field for the DataSourceOauthBinding
model.Sa Zhang (Nick17t)
jina.yaml
.Jyong (JohnJyong)
Takatost
Yi Xiao (YIXIAO0)
Charlie Wei (charli117)
Ziyu Huang (ziyu4huang)
llama.cpp
rerank API.Dai (daisuke0926dev)
Joe (ZhouhaoJiang)
Ronak Singh (ronaksingh27)
Crazywoola
Luckylhb90
LAN (-LAN-)
Leslie2046
Hjlarry (非法操作)
Bowen Liang (bowenliang123)
Hash Brown (xuzuodong)
Frequent Bug Fixes: The team is actively fixing bugs across different modules, indicating ongoing maintenance and stability improvements.
Feature Enhancements: New features like workflow system parameters, support for new models, and enhancements in file management are being developed.
Collaboration: Many commits are co-authored or involve multiple contributors, showing a collaborative development environment.
Refactoring Efforts: Significant refactoring is taking place to improve code quality, such as storage optimizations and callback handler improvements.
Tool and Model Updates: Continuous updates to support new tools and models reflect the project's adaptability to new technologies.
Overall, the development team is focused on enhancing features, fixing bugs, and optimizing existing functionalities across the project.