npc0-hue
17832f2424
fix: Dify 1.8.1问题修复
...
本次提交整合了多个功能改进和问题修复:
主要功能:
- 批量工作流处理功能完善,支持 Excel 上传和进度跟踪
- 管理中心反向代理和转发配置优化
- 用户同步添加互斥锁,防止并发问题
- 计费系统和额度显示优化
- AI 绘图功能扩展
前端改进:
- 文本生成应用显示修复
- 批量任务进度展示优化
- 按钮样式和 CSS 优化,禁止换行
- 多语言支持完善(新增印尼语等)
- 构建镜像逻辑优化
- 批量处理进度管理器实现
后端改进:
- Docker Compose 配置升级
- 队列任务和 Worker Pool 优化
- Admin API 初始化和验证逻辑改进
- 数据库迁移和初始化完善
- 静态变量处理优化
- URL 签名助手实现
- Celery 扩展优化
- 代码和导入包问题修复(idea 自动调整代码位置)
技术改进:
- 兼容性修复 (flask-restx, jschardet)
- 钉钉 Web API 版本更新
- 代码格式化和导入包问题修复
- 日志处理优化
- 工作流循环管理优化
Docker 相关:
- Nginx 配置更新
- 容器启动脚本优化
- 镜像构建流程改进
- docker-compose.dify-plus.yaml 大幅更新
管理后台:
- 工作流批量处理 API 实现
- 工作池初始化
- 批量工作流服务实现
- 转发扩展配置
- 用户服务扩展
2025-10-17 23:04:25 +08:00
npc0-hue
f26fe2f4d2
Merge tag '1.8.1' into merge-tag-1.8.1
...
# Conflicts:
# .gitignore
# README.md
# api/.env.example
# api/Dockerfile
# api/commands.py
# api/configs/app_config.py
# api/controllers/console/__init__.py
# api/controllers/console/apikey.py
# api/controllers/console/app/statistic.py
# api/controllers/service_api/app/app.py
# api/controllers/service_api/app/audio.py
# api/controllers/service_api/app/completion.py
# api/controllers/service_api/app/conversation.py
# api/controllers/service_api/app/file.py
# api/controllers/service_api/app/message.py
# api/controllers/service_api/app/workflow.py
# api/controllers/service_api/wraps.py
# api/controllers/web/completion.py
# api/core/app/apps/advanced_chat/app_generator.py
# api/core/app/apps/advanced_chat/generate_task_pipeline.py
# api/core/app/apps/agent_chat/app_generator.py
# api/core/app/apps/workflow/app_generator.py
# api/core/app/apps/workflow/generate_task_pipeline.py
# api/core/app/task_pipeline/workflow_cycle_manage.py
# api/core/helper/code_executor/code_executor.py
# api/core/tools/builtin_tool/providers/code/tools/simple_code.py
# api/core/workflow/nodes/code/code_node.py
# api/docker/entrypoint.sh
# api/events/event_handlers/__init__.py
# api/extensions/ext_celery.py
# api/extensions/ext_commands.py
# api/models/model.py
# api/models/workflow.py
# api/poetry.lock
# api/pyproject.toml
# api/services/app_service.py
# api/services/feature_service.py
# api/services/workspace_service.py
# web/.env.example
# web/Dockerfile
# web/app/(commonLayout)/apps/Apps.tsx
# web/app/components/apps/app-card.tsx
# web/app/components/base/chat/embedded-chatbot/index.tsx
# web/app/components/base/mermaid/index.tsx
# web/app/components/develop/index.tsx
# web/app/components/develop/secret-key/secret-key-modal.tsx
# web/app/components/develop/secret-key/style.module.css
# web/app/components/develop/template/template.zh.mdx
# web/app/components/explore/app-list/index.tsx
# web/app/components/explore/category.tsx
# web/app/components/explore/sidebar/index.tsx
# web/app/components/header/account-dropdown/index.tsx
# web/app/components/header/index.tsx
# web/app/components/share/utils.ts
# web/app/layout.tsx
# web/app/signin/components/mail-and-password-auth.tsx
# web/app/signin/normal-form.tsx
# web/app/signin/page.module.css
# web/context/app-context.tsx
# web/i18n/i18next-config.ts
# web/i18n/ja-JP/login.ts
# web/i18n/ko-KR/login.ts
#
if dify_config.WORKFLOW_LOG_CLEANUP_ENABLED:
# 2:00 AM every day
imports.append("schedule.clean_workflow_runlogs_precise")
beat_schedule["clean_workflow_runlogs_precise"] = {
"task": "schedule.clean_workflow_runlogs_precise.clean_workflow_runlogs_precise",
"schedule": crontab(minute="0", hour="2"),
} web/package.json
# web/pnpm-lock.yaml
# web/types/feature.ts
2025-09-25 15:55:13 +08:00
Will
caea6de71f
fix: workflow not published ( #25030 )
2025-09-03 10:07:31 +08:00
Yongtao Huang
0341b20b70
Refactor: use DatasourceType.XX.value instead of hardcoded ( #25015 )
...
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-03 08:56:48 +08:00
GuanMu
354cf90ad4
Export DSL from history ( #24939 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-02 21:36:52 +08:00
Novice
0f1ccd43d9
fix: workflow log status filter add parial success status ( #24977 )
2025-09-02 16:24:03 +08:00
Asuka Minato
20b0f41bff
Update ast-grep pattern for session.query ( #24828 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-31 17:03:51 +08:00
Eric Guo
b825db3185
✨ fix: has_more logic in ChatMessageListApi to ensure correct on behavior when no more messages are available. ( #24661 )
2025-08-28 15:05:52 +08:00
Yongtao Huang
8c5362bc4d
Refactor: replace count() > 0 check with exists() ( #24583 )
...
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-27 17:46:52 +08:00
Yongtao Huang
76ce0afec0
Refactor: use logger = logging.getLogger(__name__) in logging ( #24515 )
...
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
2025-08-26 18:10:31 +08:00
Asuka Minato
3cf8d26459
example: limit current user usage ( #24470 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-26 00:23:29 +08:00
znn
662fe6d97d
fix delete conversations via Api and delete conversations from db as well ( #23591 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <427733928@qq.com >
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-25 09:43:45 +08:00
Asuka Minato
a864ed1985
try flask_restful -> flask_restx ( #24310 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: -LAN- <laipz8200@outlook.com >
2025-08-24 13:45:47 +08:00
Stream
6a95069411
fix: correct behaviour of code fix ( #24152 )
...
Co-authored-by: Joel <iamjoel007@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-19 14:18:49 +08:00
Asuka Minato
08b8fd0d8d
try ast-grep ( #24149 )
2025-08-19 13:41:52 +08:00
Zhehao Peng
0d16663fa7
Use typing.Literal to replace str places ( #24099 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 21:34:13 +08:00
Stream
b829d8c080
fix: treat default template of code as empty ( #24106 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 16:52:27 +08:00
Joel
b4d288448d
feat: enchance prompt and code ( #23633 )
...
Co-authored-by: stream <stream@dify.ai >
Co-authored-by: Stream <1542763342@qq.com >
Co-authored-by: Stream <Stream_2@qq.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 12:29:12 +08:00
耐小心
342ed2045a
fix: move database service call inside session context in workflow draft variable API ( #23996 )
2025-08-15 18:23:42 +08:00
heyszt
f1f2e4a9c4
Feat: External_trace_id compatible with OpenTelemetry ( #23918 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-15 09:13:41 +08:00
QuantumGhost
2735d41d17
fix(api): resolve "Message not exists" error in admin feedback creation ( #23232 )
...
Fix regression introduced in PR #22580 where admin users encountered
"Message not exists" errors when creating feedback on messages created
by other users.
The issue was caused by `MessageService.create_feedback()` incorrectly
filtering messages by the current user's ID, preventing admins from
accessing messages created by end users.
Reverts: #22580
2025-08-13 23:57:25 +08:00
Yongtao Huang
0fb7a2b4c4
Restructure the File errors in controller ( #23801 )
...
Co-authored-by: Yongtao Huang <99629139+hyongtao-db@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-13 17:06:07 +08:00
lyzno1
a5ffaa700e
fix: resolve AppCard description overlap with tag area ( #23585 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-08 09:05:55 +08:00
Yongtao Huang
8db0d7a190
Fix: moved file = after file presence validation ( #23453 )
...
Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com >
2025-08-06 13:44:12 +08:00
Asuka Minato
9c26e19572
replace db with sa to get typing support ( #23240 )
2025-08-02 23:54:23 +08:00
NeatGuyCoding
56ef511a05
minor fix: fix flask api resources only accept one resource for same url ( #23168 )
2025-07-30 17:05:02 +08:00
NeatGuyCoding
46097eb5d3
minor fix: fix wrong check of annotation_ids ( #23164 )
2025-07-30 17:04:31 +08:00
GuanMu
7138adf691
Feat annotations panel ( #22968 )
2025-07-30 13:40:48 +08:00
Yongtao Huang
fe215b8318
Refactor: remove redundant full module paths in exception handlers ( #23076 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-29 09:40:51 +08:00
呆萌闷油瓶
e7630c0e11
feat: clear all annotation ( #22878 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-25 18:06:03 +08:00
Asuka Minato
9bc8bb6e91
make logging not use f-str, change others to f-str ( #22882 )
2025-07-25 10:32:48 +08:00
quicksand
49a42bb5ad
Improve: support custom model parameters in auto-generator ( #22924 )
2025-07-25 09:00:26 +08:00
Asuka Minato
8b2d7fc78e
orm filter -> where ( #22801 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-24 00:57:45 +08:00
Aryan Raj
849f75d2c6
Fix/replace datetime patterns with naive utc now ( #22654 )
2025-07-20 11:05:53 +08:00
jiangbo721
82593082cb
fix: admin feedback uses the same method create_feedback ( #22580 )
...
Co-authored-by: 刘江波 <jiangbo721@163.com >
2025-07-18 10:10:31 +08:00
qfl
003f755e85
feat(app): support custom max_active_requests per app ( #22073 )
2025-07-16 15:31:19 +08:00
baonudesifeizhai
704ea782bc
feat: auto-fill MCP server description with app description #22443 ( #22477 )
2025-07-16 15:03:33 +08:00
QuantumGhost
a92b9971a4
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization ( #22025 )
...
refactor(api): Separate SegmentType for Integer/Float to Enable Pydantic Serialization (#22025 )
This PR addresses serialization issues in the VariablePool model by separating the `value_type` tags for `IntegerSegment`/`FloatSegment` and `IntegerVariable`/`FloatVariable`. Previously, both Integer and Float types shared the same `SegmentType.NUMBER` tag, causing conflicts during serialization.
Key changes:
- Introduce distinct `value_type` tags for Integer and Float segments/variables
- Add `VariableUnion` and `SegmentUnion` types for proper type discrimination
- Leverage Pydantic's discriminated union feature for seamless serialization/deserialization
- Enable accurate serialization of data structures containing these types
Closes #22024 .
2025-07-16 12:31:37 +08:00
-LAN-
9dd14af071
fix: conversatino statistic including data from debugger ( #22412 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
2025-07-15 15:45:45 +08:00
-LAN-
417e538311
feat(api/repo): Allow to config repository implementation ( #21458 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
2025-07-14 14:54:38 +08:00
NeatGuyCoding
149b3eca30
minor fix: wrong and ( #22242 )
2025-07-12 19:59:07 +08:00
NeatGuyCoding
03c10cd4e4
minor fix: remove duplicates, fix typo, and add restriction for get mcp server ( #22170 )
...
Signed-off-by: neatguycoding <15627489+NeatGuyCoding@users.noreply.github.com >
2025-07-11 09:40:17 +08:00
Novice
c346bd7389
feat: add MCP support ( #20716 )
...
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
2025-07-10 14:01:34 +08:00
jiangbo721
4dd7cc9930
fix: Before publish the app, preview the voice of tts, it raise an er… ( #21821 )
...
Co-authored-by: 刘江波 <jiangbo721@163.com >
2025-07-03 10:53:14 +08:00
QuantumGhost
4e7ba9c0b6
feat: Persist Variables for Enhanced Debugging Workflow ( #20699 )
...
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.
By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.
Key highlights of this change:
- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.
Closes #19735 .
2025-06-24 09:05:29 +08:00
Xiyuan Chen
0ed138c21f
feat: use default access mode when importing dsl ( #21231 )
2025-06-19 17:14:28 +08:00
Ganondorf
b885ccd94e
Add Filter of Get Workflow Logs ( #21172 )
...
Co-authored-by: lizb <lizb@sugon.com >
2025-06-19 10:10:16 +08:00
NeatGuyCoding
5c619754a7
Minor Improvements for File Validation and Configuration Handling #21179 ( #21171 )
...
Co-authored-by: tech <cto@sb>
2025-06-18 18:33:28 +08:00
Bowen Liang
f7c7f5d942
chore: bump mypy to 1.16 ( #20608 )
2025-06-11 01:01:33 +08:00
-LAN-
03db78adc6
Refactor/remove db from cycle manager ( #20455 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
2025-05-30 04:34:13 +08:00