Commit Graph

723 Commits

Author SHA1 Message Date
山程漫悟
3743188eec Merge pull request #1018 from SuanmoSuanyangTechnology/feat/wxy-dev
feat(workflow): incorporate model references and streamline parsing logic
2026-04-30 14:04:58 +08:00
Eternity
6f4c72c13a fix(prompt): update terminology and improve language consistency
- Replace "document" with "file" in perceptual summary prompts
- Adjust summary length from 2-4 to 3-5 sentences
- Add explicit language output instruction in problem split prompt
2026-04-30 13:27:04 +08:00
Ke Sun
f45cbfec65 Merge pull request #1034 from SuanmoSuanyangTechnology/release/v0.3.2
Release/v0.3.2
2026-04-30 11:13:07 +08:00
Eternity
e38a60e107 feat(core): add configurable SANDBOX_URL for code node sandbox requests 2026-04-29 20:24:10 +08:00
miao
80902eb79a refactor(memory): extract memory count sync utility
- Add shared utility for syncing end user memory_count from Neo4j
2026-04-29 18:35:49 +08:00
miao
f86c023477 fix(memory): call renamed memory count sync method
- Update forgetting cycle call sites to use _sync_memory_count_to_db
2026-04-29 18:06:48 +08:00
miao
89bdb9f4b5 fix(memory): allow end user id keyword search
- Match keyword against end_user_id even when other_name exists
- Keep Neo4j and RAG end user list search behavior consistent
2026-04-29 16:38:11 +08:00
miao
a7d3930f4d feat(memory): add end user memory count filtering
- Sync memory_count after Neo4j write and forgetting cycle
- Filter Neo4j end user list by memory_count > 0
- Filter RAG end user list by Memory knowledge chunk count
2026-04-29 15:02:09 +08:00
wxy
461674c8d8 feat(workflow): parse and substitute template variables in node configurations
- Implement regex matching for {{xxx}} template variable format.
- Enable recursive parsing of all string template variables within node configurations.
- Resolve and substitute template variables with runtime values during input data extraction.
- Support dynamic parsing and substitution of file selector variables in the document extraction node.
- Make strict template variable mode optional and introduce support for default values.
2026-04-29 14:10:02 +08:00
Timebomb2018
28694fefb0 fix(app): adjust thinking budget tokens default and validation range
The default thinking budget tokens value was changed from 10000 to 1024 in base.py, and the minimum validation constraint was updated from 1024 to 1 in app_schema.py to allow smaller budgets while maintaining backward compatibility.
2026-04-28 16:10:44 +08:00
Timebomb2018
531d785629 fix(multimodal): support HTML image tags in document extraction and chat responses
- Replace plain image URLs with `<img src="..." data-url="...">` HTML tags in multimodal and document extractor services
- Propagate citations from workflow end events to client responses
- Update system prompts to instruct LLMs to render images using Markdown `![alt](url)` with strict UUID-preserving URL copying
2026-04-27 17:56:58 +08:00
Mark
2997558bc8 Merge branch 'release/v0.3.2' into feature/rag2
* release/v0.3.2: (245 commits)
  fix(conversation_schema): refine citations field type to Dict[str, Any]
  fix(tool_controller): re-raise HTTPException to preserve original status codes
  fix(workflow): add reasoning content, suggested questions, citations and audio status support
  feat(workflow): augment logging queries and ameliorate error handling
  fix(api_key): bypass publication check for SERVICE type API keys
  fix(multimodal_service): add '文档内容:' prefix to document text and simplify image placeholder text
  fix(api): convert config_id to string in write_router
  fix(api): convert end_user_id to string in write_router
  fix(multimodal_service): refactor image processing to use intermediate list before extending result
  fix(web): node status ui
  fix(api): correct import paths in memory_read and celery task command
  fix(api): correct import paths in memory_read and celery task command
  refactor(tool): flatten request body parameters for model exposure
  fix(api): correct import paths in memory_read and celery task command
  refactor(workflow): streamline node execution handling and log service logic
  feat(web): http request add process
  feat(web): workflow app logs
  fix(app_chat_service,draft_run_service): move system_prompt augmentation before LangChainAgent instantiation
  fix(app_chat_service,draft_run_service): move system_prompt augmentation before LangChainAgent instantiation
  refactor(http_request): simplify request handling and remove unused fields
  ...

# Conflicts:
#	api/app/controllers/file_controller.py
#	api/app/tasks.py
2026-04-27 16:13:57 +08:00
Mark
30cdf229de [modify] rag file system 2026-04-27 16:05:27 +08:00
山程漫悟
ce4a3daec7 Merge pull request #1012 from SuanmoSuanyangTechnology/fix/wxy-032
feat(workflow): augment logging queries and ameliorate error handling
2026-04-27 16:00:49 +08:00
Timebomb2018
faf8d1a51a fix(workflow): add reasoning content, suggested questions, citations and audio status support
- Introduce `reasoning_content`, `suggested_questions`, `citations`, and `audio_status` fields in conversation and app response schemas
- Conditionally set `audio_status` to `"pending"` only when `audio_url` is present
- Replace `model_dump` override with `@model_serializer(mode="wrap")` for cleaner serialization logic
- Change knowledge base validation failure from `RuntimeError` to warning + `continue` to avoid halting retrieval on invalid KB
2026-04-27 15:35:26 +08:00
wxy
b64bcc2c50 feat(workflow): augment logging queries and ameliorate error handling
- Augment log search with app type filtering to enable keyword searching within workflow_executions.
- Introduce execution sequence markers to ensure logs are displayed in the correct chronological order.
- Ameliorate error handling to capture successful node outputs alongside failure details.
- Rectify the processing of empty JSON bodies in HTTP request nodes.
2026-04-27 15:20:25 +08:00
Ke Sun
675c7faf32 Merge pull request #1004 from SuanmoSuanyangTechnology/fix/memory_search
fix(api): convert config_id to string in write_router
2026-04-25 11:08:51 +08:00
Eternity
cd34d5f5ce fix(api): convert config_id to string in write_router 2026-04-24 20:13:46 +08:00
Ke Sun
1403b38648 Merge pull request #1003 from SuanmoSuanyangTechnology/fix/memory_search
fix(api): convert end_user_id to string in write_router
2026-04-24 19:59:24 +08:00
Eternity
b6e27da7b0 fix(api): convert end_user_id to string in write_router 2026-04-24 19:56:55 +08:00
Ke Sun
ed5f98a746 Merge pull request #1000 from SuanmoSuanyangTechnology/fix/memory_search
fix(api): correct import paths in memory_read and celery task command
2026-04-24 19:11:23 +08:00
Eternity
422af69904 fix(api): correct import paths in memory_read and celery task command
- Fix relative imports in memory_read.py to use absolute app paths
- Change celery scheduler command from `python app/celery_task_scheduler.py` to `python -m app.celery_task_scheduler`
2026-04-24 19:09:18 +08:00
山程漫悟
6cb48664b7 Merge pull request #992 from wanxunyang/develop-wxy
fix(workflow): rectify error handling and bolster execution logging
2026-04-24 18:58:40 +08:00
Eternity
8dee2eae6a fix(api): correct import paths in memory_read and celery task command
- Fix relative imports in memory_read.py to use absolute app paths
- Change celery scheduler command from `python app/celery_task_scheduler.py` to `python -m app.celery_task_scheduler`
2026-04-24 18:50:58 +08:00
wxy
f63bcd6321 refactor(tool): flatten request body parameters for model exposure
- Refactor the extraction logic in tool service to flatten request body parameters into independent arguments exposed to the model.
2026-04-24 18:49:55 +08:00
Eternity
caef0fe44e fix(api): correct import paths in memory_read and celery task command
- Fix relative imports in memory_read.py to use absolute app paths
- Change celery scheduler command from `python app/celery_task_scheduler.py` to `python -m app.celery_task_scheduler`
2026-04-24 18:36:27 +08:00
wxy
21eb500680 refactor(workflow): streamline node execution handling and log service logic
- Consolidate node data retrieval from workflow_executions.output_data to unify storage access.
- Optimize the construction of messages and execution records to support opening suggestions.
- Eliminate redundant queries and storage logic to simplify the overall codebase structure.
2026-04-24 18:20:14 +08:00
Ke Sun
c70f536acc Merge pull request #986 from SuanmoSuanyangTechnology/feat/episodic-memory-detail-and-pagination
feat:episodic memory detail and pagination
2026-04-24 18:19:11 +08:00
Ke Sun
5f96a6380e Merge pull request #990 from SuanmoSuanyangTechnology/feature/celery-task-scheduler
Feature/celery task scheduler
2026-04-24 18:19:00 +08:00
Timebomb2018
f2aedd29bc refactor(http_request): simplify request handling and remove unused fields
- Removed `last_request` field and related logic for storing raw request string
- Replaced `_extract_output` and `_extract_extra_fields` to use `process_data` instead of `request`
- Updated `_build_content` to directly parse JSON body without intermediate rendering step
- Modified `execute` to generate `process_data` from actual HTTP request object instead of manual string building
- Added `process_data` field to `HttpRequestNodeOutput` model for consistent debugging info
2026-04-24 17:09:01 +08:00
wwq
cf8db47389 feat(workflow): augment logging capabilities with execution status and loop support
- Augment workflow logs with execution status fields and loop node information.
- Refactor log service to handle distinct processing logic for workflows and agents.
- Construct message and node logs derived from workflow_executions data.
2026-04-24 17:02:03 +08:00
Eternity
be10bab763 refactor(core): migrate task scheduler to per-user queue with dynamic sharding 2026-04-24 14:21:18 +08:00
Timebomb2018
89f2f9a045 feat(citation): support downloading cited documents with allow_download toggle
Added `allow_download` flag to citation config and `download_url` field to citation output. Implemented `/citations/{document_id}/download` endpoint to serve original files when enabled. Removed unused `files` field and `HttpRequestDataProcessing` model from HTTP request node config.
2026-04-24 14:18:25 +08:00
wwq
b33f5951d8 fix(workflow): rectify error handling and bolster execution logging
- Rectify exception propagation during node execution failures to ensure errors are correctly raised.
- Bolster workflow logging to support failed status records and persist node execution data, including loop nodes.
2026-04-24 11:52:15 +08:00
wwq
2d120a64b1 fix(workflow): rectify error handling and bolster execution logging
- Rectify exception propagation during node execution failures to ensure errors are correctly raised.
- Bolster workflow logging to support failed status records and persist node execution data, including loop nodes.
2026-04-24 11:50:48 +08:00
wwq
0f7a7263eb fix(workflow): rectify error handling and bolster execution logging
- Rectify exception propagation during node execution failures to ensure errors are correctly raised.
- Bolster workflow logging to support failed status records and persist node execution data, including loop nodes.
2026-04-24 11:39:33 +08:00
Timebomb2018
767eb5e6f2 feat(multimodal): support document image extraction and inline vision processing
Added document image extraction capability for PDF and DOCX files, including page/index metadata and storage integration. Extended `process_files` with `document_image_recognition` flag to conditionally enable vision-based image processing when model supports it. Updated knowledge repository and workflow node logic to enforce status=1 checks. Added PyMuPDF dependency.
2026-04-24 11:18:50 +08:00
山程漫悟
9fdb952396 Merge pull request #985 from wanxunyang/develop-wxy
feat: enhance workflow debugging, logging and auth middleware
2026-04-24 10:17:32 +08:00
wwq
fb23c34475 feat: enhance HTTP request debugging and extend logging data
- feat(http_request): augment debugging capabilities with raw request generation and improved error handling.
- feat(app_log): extend session filtering logic to support retrieving all session types.
- feat(log): add 'process' field to node execution records for better data tracking.
2026-04-23 20:55:34 +08:00
wwq
5f39d9a208 feat(workflow): enhance HTTP request node with curl debugging support 2026-04-23 18:26:49 +08:00
wwq
f6cf53f81c feat(workflow): enhance HTTP request node with curl debugging support 2026-04-23 18:24:19 +08:00
wwq
08a455f6b3 feat(workflow): enhance HTTP request node with curl debugging support 2026-04-23 18:20:05 +08:00
miao
7ac0eff0b8 fix(memory): fix problems
- Parameterize SKIP/LIMIT in Cypher query instead of f-string interpolation
- Add UUID format validation in validate_end_user_in_workspace before DB query
- Update limit/depth Query descriptions to clarify auto-cap behavior in service layer
- Move uuid import to module level in api_key_utils.py

Modified files:
- api/app/services/memory_explicit_service.py
- api/app/core/api_key_utils.py
- api/app/controllers/service/user_memory_api_controller.py
2026-04-23 16:29:22 +08:00
wwq
404ce9f9ba feat(workflow): enhance HTTP request node with curl debugging support
- Augment HTTP request node capabilities and add generated curl commands for easier debugging.

feat(log): implement workflow execution logs and search functionality

- Add detailed logging for workflow node execution and enable search capabilities within application logs.

feat(auth): introduce middleware to verify application publication status

- Add a check to ensure the application is published before allowing access.

fix(converter): rectify variable handling logic in Dify converter

- Correct issues related to processing variables within the Dify converter module.

refactor(model): remove quota check decorator from model update operations

- Decouple quota validation from the model update process to streamline the logic.
2026-04-23 15:46:12 +08:00
miao
bf9a3503de feat(memory-api): add memory detail external service APIs
Add external service APIs for memory detail queries
Provides memory data access endpoints for external service integration
Add utility functions for API key user resolution and end_user validation

Modified files:
- api/app/controllers/service/user_memory_api_controller.py
- api/app/core/api_key_utils.py
- api/app/controllers/service/__init__.py
2026-04-23 15:36:45 +08:00
Ke Sun
b8009074d5 Merge branch 'release/v0.3.1' into develop 2026-04-23 12:16:57 +08:00
山程漫悟
09393b2326 Merge pull request #982 from SuanmoSuanyangTechnology/fix/wxy_031
fix(quota_manager): retrieve workspace_id from api_key_auth context
2026-04-23 00:17:04 +08:00
wwq
eaa66ba71a fix(quota_manager): retrieve workspace_id from api_key_auth context
- Add logic to resolve the workspace ID derived from the API key authentication context.
2026-04-23 00:14:29 +08:00
山程漫悟
5f33cec8ad Merge pull request #977 from SuanmoSuanyangTechnology/fix/Timebomb_031
fix(workflow/llm)
2026-04-22 20:08:11 +08:00
山程漫悟
334502f06b Merge pull request #976 from SuanmoSuanyangTechnology/fix/wxy_031
feat(quota): implement workspace-level quota enforcement and statistics
2026-04-22 20:06:56 +08:00