Release v0.20.0 created from 47ba683 at 2025-08-01 21:59:24+08:00What's ChangedFeat: Add Tavily operator #3221 by @cike8899 in #8400Docs: Added v0.19.1 release notes by @writinwaters in #8398Fix: Document parse via API will alot problen by @Woody-Hu in #8407Fix: rank feature score should be greater than 0. by @KevinHuSh in #8416Feat: Solved the conflict between the Handle click and drag events of the canvas node #3221 by @cike8899 in #8413Fix: doc_aggs issue. by @KevinHuSh in #8418Fix: Database Query Vulnerable to Injection Attacks in rag/utils/opendal_conn.py by @kira-offgrid in #8408Feat: The delete button is displayed only when the cursor is hovered over the connection line #3221 by @cike8899 in #8422Feat: Add HTTPS setup instructions and configuration for Nginx by @yesidc in #8401Fix: AzureChat model code by @asiroliu in #8426Update .env ,Defaults to the v0.19.1-slim edition by @jason-this in #8412Refa: upgrade MCP SDK to v1.9.4 by @yongtenglei in #8421Docs: Miscellaneous editorial updates by @writinwaters in #8430Feat: Scratch MCP tool calling support. by @notsyncing in #8263Feat: Use the message_id returned by the interface as the id of the reply message #3221 by @cike8899 in #8434fix a bug when using huggingface embedding api by @Rainman5042 in #8432Feat: Delete the agent and tool nodes downstream of the agent node #3221 by @cike8899 in #8450Refactor:Improve insert file logic by @Woody-Hu in #8445Test: Add document app tests by @asiroliu in #8456FIX:Saving an RGBA image directly as JPEG will cause an error. If the… by @WuWeiFlow in #8399Feat: Add IterationNode component #3221 by @cike8899 in #8461Fix the bug of long type value overflow by @HaiyangPeng in #8313Docs: exporting created knowledge graphs is not supported by @writinwaters in #8465Feat: add MCP dashboard operations by @yongtenglei in #8460Fix: some cases Task return but not set progress by @Woody-Hu in #8469Feat: add MCP treamable-http transport by @yongtenglei in #8449Fix: Solve the OOM issue when passing large PDF files while using QA chunking method. by @liuzhenghua in #8464Feat: Insert the node data of the bottom subagent into the tool array of the head agent #3221 by @cike8899 in #8471RAGFlow service_conf using .env variable by @ruansheng8 in #8454Fixes typo in variable name by @tuankg1028 in #8476Refa: improve GraphRAG similarity sensitivity to numeric differences by @yongtenglei in #8479Feat: Filter the query variable drop-down box options by type #3221 by @cike8899 in #8485fix the error 'Unknown field for GenerationConfig: max_tokens' when u… by @Rainman5042 in #8473Fix: Enforce default embedding model in create_dataset / update_dataset by @asiroliu in #8486Adds retrieval result fields to Chunk by @tuankg1028 in #8478Feat: Add retrieval tool #3221 by @cike8899 in #8491Feat: Allow operators inside the loop operator to reference the output parameters of external operators #3221 by @cike8899 in #8498Fix parser_config access for layout_recognize in presentation.py by @tuankg1028 in #8492Feat: add MCP dashboard functionalities list_tools and test_tool by @yongtenglei in #8505Perf: ignore concate between rows. by @KevinHuSh in #8507Feat: Add UserFillUpForm component #3221 by @cike8899 in #8508Feat: Customize the output variable name of the loop operator #3221 by @cike8899 in #8514Fix: Add input validation to chunk creation endpoint by @asiroliu in #8516Feat: Displays the output variable type selected by the loop operator #3221 by @cike8899 in #8515Fix: chunk number error after re-parsing by @yongtenglei in #8513fix(prompt-editor): resolve initial cursor position and auto-newline … by @FatMii in #8511Feat: Add StringTransform operator #3221 by @cike8899 in #8520fix: list index out of range by @LeiZhang-Hunter in #8518Fix: user_default_llm configuration doesn't work for OpenAI API compatible LLM factory by @Woody-Hu in #8502Refactor:improve the logic to check cancel by @Woody-Hu in #8524Refactor: remove useless initialize logic in list_doc by @Woody-Hu in #8523Fix memory leaks in PIL image and BytesIO handling during chunk processing by @tuankg1028 in #8522Feat: allow users to choose which MCP tools are enabled by @yongtenglei in #8519Fix: chat with tools bug. by @KevinHuSh in #8528Feat: Fixed the issue where the prompt menu content was hidden #3221 by @cike8899 in #8530Feat: Display sub-agents in agent form #3221 by @cike8899 in #8536Feat: Fixed the issue where the begin operator parameters could not be submitted during debugging #3221 by @cike8899 in #8539Refa: limit embedding concurrency and fix chat_with_tool by @KevinHuSh in #8543Feat: add gitee as LLM provider. by @KevinHuSh in #8545Feat: Allow users to enter text in the middle of a chat #3221 by @cike8899 in #8569Feat: Support GiteeAI model #1853 by @cike8899 in #8573Feat: add GiteeAI as a llm provider. by @KevinHuSh in #8572Feat: Fixed the issue that the top toolbar disappears when opening the agent operator form #3221 by @cike8899 in #8579Adding semaphore usage on the '/run' endpoint by @RafaelFFAumo in #8526Feat: In a dialog message, users can enter different types of data #3221 by @cike8899 in #8583Refa: change mcp_client module to rag/utils/conn by @yongtenglei in #8578doc: change to chunk_token num by @Woody-Hu in #8590Pass Form Instance to GoogleModal Form Component by @tuankg1028 in #8586Feat: Add file management HTTP_API by @huang-aoqin in #8395Fix: the output log is incorrect by @symvation in #8577Feat: Add agent advanced settings form #3221 by @cike8899 in #8592Trivals. by @KevinHuSh in #8597fix: Correctly format message parts in GoogleChat by @tuankg1028 in #8596Fixed the issue where variables were not displayed in the switch operator #3221 by @cike8899 in #8601Fix: Fixed the issue that the global variables of the code operator cannot be selected #3221 by @cike8899 in #8605Fix: docx parse error. by @zhangwenxuanQAQ in #8600Test: Add tests for chunk API endpoints by @asiroliu in #8616Feat: Construct the to field of the classification operator when saving data #3221 by @cike8899 in #8610Add service_conf and llm_factories options to Helm chart by @sd109 in #8607Add Google Cloud Vision API Integration (Image2Text) by @tuankg1028 in #8608fix opendal config 'oss_table' and 'max_allowed_packet' by @whhe in #8611Feat: Convert the arguments parameter of the code operator to a dictionary #3221 by @cike8899 in #8623Update Chrome download URL in use_china_mirrors configuration by @huansinho in #8628make dirs with 'exist_ok=True' by @whhe in #8629Fix: anthropic llm issue. by @KevinHuSh in #8633Refa: more robust mcp tool call by @yongtenglei in #8631Fix: page_size can be None error by @CamWang in #8603Minor: fixed broken links. by @writinwaters in #8636Feat: add MCP server test endpoint by @yongtenglei in #8632Feat: Combine the output logs of the same operator together #3221 by @cike8899 in #8638Optimize the style and logic of the profile by @dcc123456 in #8639Feat: Display the iteration operator toolbar #3221 by @cike8899 in #8645Feat: Edit the output data of the code operator #3221 by @cike8899 in #8649Update svg of SiliconFlow with new LOGO by @jackalcooper in #8647Fix: Fixed the issue of retrieval operator text overlapping #3221 by @cike8899 in #8652Refa: automatic LLMs registration by @yongtenglei in #8651Fix: Fixed the issue where the debug form Switch component had no default value #3221 by @cike8899 in #8662Fix: The data set created by API call failed to parse after uploading the file. by @Woody-Hu in #8657feat: use official sources for chromedriver-linux in download_deps.py by @gnowland in #8665Fix(docker-compose)Update docker-compose-base.yml by @Hwting in #8650fix:Optimized the style of the dataset configuration page and added the l… by @dcc123456 in #8655Refa: refactor prompts into markdown-style structure using Jinja2 by @yongtenglei in #8667fix: optimize the chunk result page by @dcc123456 in #8676Fix: Wrong Citation Display #8594 #8474 by @cike8899 in #8671Fix: secure canvas by @yongtenglei in #8670Fix a small typo in count of used fragments by @djstrong in #8673fix(docker-compose):The old base image lost the curl command, and the image has been updated to fix this issue. Add Health Check by @Hwting in #8672Fix: add ES re-connect once request timeout. by @KevinHuSh in #8678fix task_service.py by @feeingHe in #8687fix: retry embedding with Qwen family models when limits temporarily reached. by @6607changchun in #8690Feat: Support uploading files when running agent #3221 by @cike8899 in #8697Refa: Update Minio image to specific release version in docker-compose-base.yml by @asiroliu in #8693Fix: Prevent Duplicate Retrieval Requests on Knowledge Testing by @cutiechi in #8683Fix: typo process_duration by @yongtenglei in #8696fix:Use use-chunk-request.ts to replace chunk-hooks.ts; implement chunk selectAll, enable, disable and other functions by @dcc123456 in #8695Fix:disallowed special token while embedding by @Woody-Hu in #8692Fix: suppress docker-compose warning by @yongtenglei in #8698Fix: Fix text errors #3221 by @cike8899 in #8708Fix: EsLint Problem of index.tsx by @feeingHe in #8710Feat: Get the running log of each message through the trace interface #3221 by @cike8899 in #8711fix:Added support for preview of txt, md, excel, csv, ppt, image, doc and other files by @dcc123456 in #8712Refactor:Improve the logic in search.py by @Woody-Hu in #8716Test: Add dialog app test suite and update common.py with dialog endpoints by @asiroliu in #8729Feat: Add note node #3221 by @cike8899 in #8728fix: Change the data in the dataset page to be obtained using the interface by @dcc123456 in #8726Fix: Add validation for dialog name by @asiroliu in #8722Docs: miscellaneous editorial updates by @writinwaters in #8731Fix:use the same logic to handle pos in tokenize_chunks_with_images by @Woody-Hu in #8732Feat: List MCP servers #3221 by @cike8899 in #8730Feat: add advanced document filter by @yongtenglei in #8723Feat: Display MCP multiple selection bar #3221 by @cike8899 in #8737Fix: Change Ollama Embedding Keep Alive by @Woody-Hu in #8734Fix: graphrag, raptor can be null for api created kb issue by @CamWang in #8743Docs: Updated upgrading guide by @writinwaters in #8746Feat: Test MCP server #3221 by @cike8899 in #8757Refactor: Improve How To Handle QWenEmbed by @Woody-Hu in #8765fix: use tenant_id of kb to get index name in rm chunk func by @whhe in #8760Feat: Avoid the form sheet covering the chat sheet #3221 by @cike8899 in #8768Feat: Delete MCP server #3221 by @cike8899 in #8772Refa: refine retry gap. by @KevinHuSh in #8773Fix: Resolve typo in /list route function by @haol-co in #8769Feat: Modify the agent tool name #3221 by @cike8899 in #8780Feat: Edit MCP server #3221 by @cike8899 in #8784Feat: add xAI provider by @yongtenglei in #8781Feat: change document status in bulk by @yongtenglei in #8777Fix: Wrong_Input_type_for_Gemin by @Woody-Hu in #8783fix: fix dataset-page's bugs by @dcc123456 in #8786Fix: Improve Memory Usage For Presentation by @Woody-Hu in #8792Feat: Import and export MCP Server #3221 by @cike8899 in #8806Docs: Updated tips by @writinwaters in #8809Fix: better_handle_different_types by @Woody-Hu in #8775Refa: better MIME content type by @yongtenglei in #8801Feat: Add text and markdown file view by @EchoEkhi in #8767fix redundancy package import. by @zhanluxianshen in #8754BugFix: AgentCreateBUGFix:required argument are missing: dsl; by @yungongzi in #8794Feat: Filter MCP server list by text. #3221 by @cike8899 in #8820Perf:Remove Useless Convert When BGE Embedding by @Woody-Hu in #8816Feat: refine create and list operations for MCP dashboard by @yongtenglei in #8823Feat: Render the mcp list on the agent page #3221 by @cike8899 in #8829Fix:Better Support Table Value Type by @Woody-Hu in #8822Perf: Enhance timeout handling. by @KevinHuSh in #8826Feat: Synchronize MCP data to agent #3221 by @cike8899 in #8832Feat: Adjust agent mcp style #3221 by @cike8899 in #8841Fix: no chunks parsed out for Law by @yongtenglei in #8842Adds 'Vietnamese' to the list of available languages in the cross-language item components by @tuankg1028 in #8843Fix: fixed context loss caused by separating markdown tables from original text by @yongtenglei in #8844Update embedding_model.py by @Woody-Hu in #8836Perf: make do_cancel quicker. by @KevinHuSh in #8846Feat: Add authorization token field to the MCP form #3221 by @cike8899 in #8850Fix: Remove antd from dataset-page by @dcc123456 in #8830Pref: use redis to check if canceled. by @KevinHuSh in #8853Fix: fixed invalid save() arguments for slide thumbnails by @yongtenglei in #8851Feat: Display file references for agent dialogues #3221 by @cike8899 in #8854Feat: Add CrawlerForm component #3221 by @cike8899 in #8857Perf: retryable mysql connection. by @KevinHuSh in #8858Docs: Updated tag set tips. by @writinwaters in #8860Feat: Add agent tool CrawlerForm #3221 by @cike8899 in #8859Adds new Voyage embedding models by @tuankg1028 in #8845Fix: graphknowledge Tree structure not found for treeKey: combo (#7819) by @wingjson in #8862Feat: Add sql form #3221 by @cike8899 in #8874Feat: Add bing form #3221 by @cike8899 in #8875Perf: set timeout of some steps in KG. by @KevinHuSh in #8873Perf: add limit to embedding druing KG. by @KevinHuSh in #8881Refa: Remove useless conver and fix a bug for DefaultRerank by @Woody-Hu in #8887Feat: Display the thinking process according to the start_to_think flag of the message #3221 by @cike8899 in #8888fix s3 init config . by @zhanluxianshen in #8886fix settings global docStoreConn for opensearch by @zhanluxianshen in #8885fix: Fix the problem that the custom footer of modal component by @dcc123456 in #8877Refa: add more logs to KG. by @KevinHuSh in #8889Fix: Fixed the issue that the knowledge graph could not be displayed #8890 by @cike8899 in #8891Fix: parameter missing. by @KevinHuSh in #8895Perf: test llm before RAPTOR. by @KevinHuSh in #8897Feat: Add TavilyExtract operator #3221 by @cike8899 in #8899Fix: wrong parameters. by @KevinHuSh in #8900Feat: Add knowledge graph http api by @huang-aoqin in #8896Feat: Show agent embed dialog #3221 by @cike8899 in #8903Feat: Adjust the EmbedDialog style #3221 by @cike8899 in #8911Fix: when parse markdown support extract image at local by @Woody-Hu in #8906Fix: Fixed the issue that the content of the Dropdown section cannot be seen when selecting the next operator #3221 by @cike8899 in #8918Add OpenSearch support to Helm chart by @sd109 in #8921Feat: Adjust the style of the agent canvas connection line #3221 by @cike8899 in #8922Perf: limit embedding in KG. by @KevinHuSh in #8917Docs: Updated knowledge graph-specific APIs by @writinwaters in #8927Refactor improve codes for ranker by @Woody-Hu in #8936Fix:Add a component of calendar by @dcc123456 in #8923Perf: set timeout for building chunks. by @KevinHuSh in #8940Feat: Display agent history versions #3221 by @cike8899 in #8942Fix: support cross language for API. by @KevinHuSh in #8946Feat: Display agent version in pages #3221 by @cike8899 in #8947Fix: Fixed the issue that variables defined in the begin operator cannot be referenced in the switch operator. #3221 by @cike8899 in #8950Fix: Generate avatar; Add knowledge graph; Modify the style of the MultiSelect component by @dcc123456 in #8952Feat: Add model editing functionality with improved UI labels by @adrianad in #8855Fix: Fixed the issue of clicking to run the agent causing an error #3221 by @cike8899 in #8956Fix:Improve float operation when rerank by @Woody-Hu in #8963Fix: Fixed the issue that the key parameter duplication check of the begin operator was incorrect #3221 by @cike8899 in #8964Feat: Add the option to use the knowledge graph to the retrieval form #3221 by @cike8899 in #8968Feat: Adjust the page header to breadcrumbs #3221 by @cike8899 in #8971Fix: correct cancel logic error by @yongtenglei in #8973Refa: improve usability of Node.js/JavaScript code executor by @yongtenglei in #8979Fix: Refactor parser config handling and add GraphRAG defaults by @asiroliu in #8778Refa: remove temperature since some LLMs fail to support. by @KevinHuSh in #8981use quote_plus to escape password in opendal's mysql url by @whhe in #8976Fix: Adds newest Gemini models to fit google's standard API rate limits by @es-zx in #8970Refactor:remove use less convert for FastEmbed by @Woody-Hu in #8984Switch to StatefulSet resources for stateful components by @sd109 in #8985fix: use consistent filenames for chrome & chromedriver by @gnowland in #8991Fix: Increase timeouts for document parsing and model checks by @asiroliu in #8996Fix: Fixed the issue where the error prompt box on the Agent page would be covered #3221 by @cike8899 in #8992Feat: OpenAI-compatible-API supports references by @yongtenglei in #8997Feat: Share agent dialog box externally #3221 by @cike8899 in #9005Feat: add model provider DeepInfra by @yongtenglei in #9003Fix: typo Bearer token by @yongtenglei in #8998Bump to infinity v0.6.0-dev4 by @yuzhichang in #9013Fix:Optimize Agent template page, fix bugs in knowledge base by @dcc123456 in #9009Fix OpenSearch liveness probe by @sd109 in #9012Trival. by @KevinHuSh in #9015Ensure Redis volumeClaimTemplate labels are deterministic by @sd109 in #9016fix: obfuscate additional server secrets values by @gnowland in #9014Feat: Modify the background color of the agent canvas #3221 by @cike8899 in #9020Fix issue with keep_alive=-1 for ollama chat model by allowing a user to set an additional configuration option by @vdmitriyev in #9017Feat: Allows users to delete a condition of a conditional operator #3221 by @cike8899 in #9022Fix: exception layout_type in is_caption by @yongtenglei in #9028Feat: Upload files in the chat box on the agent page #3221 by @cike8899 in #9035Docs: Updated UI tips by @writinwaters in #9033Feat: Downstream operators can get the variables defined by the user input operator #3221 by @cike8899 in #9036Bug fix: OpenSearch chunk update some api error by @pyyuhao in #9032Feature: Support set chats kbs to empty by @Woody-Hu in #9038Refactor parser code by @JinHai-CN in #9042Fix: Add parsing animations to the agent log and optimize some page styles by @dcc123456 in #9040get keep alive from env by @Woody-Hu in #9039Refa: validation utils to use Pydantic v2 style models by @asiroliu in #9037Refa: suppress DB migration error logs by @yongtenglei in #9043Feat: Keep the workflow page link unchanged #3221 by @cike8899 in #9045Feat: Filter the agent form's large model list by type #3221 by @cike8899 in #9049Fix:in the knowledge base operation file will result in an error by @Woody-Hu in #8962Refactor: Remove Useless split for BedrockEmbed by @Woody-Hu in #9067adding platform: linux/amd64 to the mac build by @chopley in #9059Fix: Fixed the issue that the condition of deleting the classification operator cannot be connected anymore #3221 by @cike8899 in #9068Feat: Add agent log-sheet in cavas and log-sheet in share's page by @dcc123456 in #9072Feat: Click the edit tool button of the agent form to open the corresponding form #3221 by @cike8899 in #9071Fix:When deleting a knowledge base that is currently performing a parsing task, the parsing queue will not be deleted! by @Woody-Hu in #9018Feat: The operator is displayed only when the number of conditions is greater than 1 #3221 by @cike8899 in #9077Added infinity rank_feature support by @yuzhichang in #9044Feat: Render the uploaded agent message file #3221 by @cike8899 in #9081Feat: Add Google operator #3221 by @cike8899 in #9086Feat: Add Yahoo Finance Operator #3221 by @cike8899 in #9088Docs: add MCP streamable-http transport by @yongtenglei in #9093Feat: Add Email and DuckDuckGo and Wikipedia Operator #3221 by @cike8899 in #9090Feat: Add Arxiv GoogleScholar operator #3221 by @cike8899 in #9102Feat: Enable MCP streamable-http model via docker compose by @yongtenglei in #9092Update embedding_model.py by @Woody-Hu in #9083Feat: parsing supports jsonl or ldjson format by @yongtenglei in #9087Feat: Add agent-log-list page by @dcc123456 in #9076docs: Complete tool calling bash script in MCP client example by @Imyukehan in #9073Add Redis data retention policy config options by @sd109 in #9080Fix: fix error 429 api rate limit when building knowledge graph for all chat model and Mistral embedding model by @es-zx in #9106Feat: Add invoke and github operators #3221 by @cike8899 in #9112Fix : API /document/thumbnails using wrong method to get ''doc_ids' by @zhangwenxuanQAQ in #9097Image validation of the image2text model without using local paths by @kuschzzp in #9052Feat: Add wencai operator #3221 by @cike8899 in #9116Refa: Update base64 test image with new sample data by @asiroliu in #9115Feat: Translate operator names and allow mailboxes to reference operator names #3221 by @cike8899 in #9118Feat: Add log-detail page,Improve the style of chat boxes by @dcc123456 in #9119Feat: Handling abnormal anchor points of agent operators #3221 by @cike8899 in #9121Feat: Redesign and refactor agent module by @KevinHuSh in #9113Feat: Make the agent dialog window exposed to the outside world fill in the begin form #3221 by @cike8899 in #9124Fix: Disable Auto-scroll when user looks back through historical chat-Bug 9062 by @chopley in #9107Rafe: Update LLMService type hints by @asiroliu in #9131Feat: Replace the link of the old version of the agent module #3221 by @cike8899 in #9130Refactor: Improve the try catch logic for XinferenceEmbed by @Woody-Hu in #9128add Kimi-K2-Instruct from Tongyi-Qianwen API by @TeslaZY in #9125Feat/support 302ai provider by @JI4JUN in #8742Feat: Displays the tool operator icon #3221 by @cike8899 in #9133Feat: Add thought info to every component. by @KevinHuSh in #9134Fix: Improve Agent templates functionality and fix some UI style issues by @dcc123456 in #9129Feat: Display operator icons on the agent form #3221 by @cike8899 in #9138Feat: Delete the operator node and hide the corresponding sheet #3221 by @cike8899 in #9142Fix: Redis stream lag can be nil by @yongtenglei in #9139Refactor:Introduce Image Close For GeminiCV by @Woody-Hu in #9147Fix: Fix share-chat bugs by @dcc123456 in #9150Fix: kimi-latest is not authorized by @yongtenglei in #9151Feat: Remove the exception comment field from the agent form #3221 by @cike8899 in #9153Add a series of qwen3 latest SOTA models by @TeslaZY in #9140Feat: Add industry-related search keyword generation function by @huang-aoqin in #9156Feat: Modify the style of the agent page bright theme #3221 by @cike8899 in #9162Fix: Fixed share-log UI issues and log-template bugs by @dcc123456 in #9166Feat: Adjust the style of the note node #3221 by @cike8899 in #9167Docs: Updated docs for 0.20.0 by @writinwaters in #9169Docs: Update version references to v0.20.0 in READMEs and docs by @asiroliu in #9164Docs: Update demo GIFs in README files by @asiroliu in #9170Docs: Add agentic workflow support to latest updates in READMEs by @asiroliu in #9171Refa: add result to callback for agent tool use. by @KevinHuSh in #9137Fix: Share-log bugs by @dcc123456 in #9172New Contributors@kira-offgrid made their first contribution in #8408@yesidc made their first contribution in #8401@jason-this made their first contribution in #8412@Rainman5042 made their first contribution in #8432@WuWeiFlow made their first contribution in #8399@ruansheng8 made their first contribution in #8454@tuankg1028 made their first contribution in #8476@FatMii made their first contribution in #8511@RafaelFFAumo made their first contribution in #8526@symvation made their first contribution in #8577@zhangwenxuanQAQ made their first contribution in #8600@huansinho made their first contribution in #8628@CamWang made their first contribution in #8603@jackalcooper made their first contribution in #8647@Hwting made their first contribution in #8650@djstrong made their first contribution in #8673@feeingHe made their first contribution in #8687@6607changchun made their first contribution in #8690@haol-co made their first contribution in #8769@EchoEkhi made their first contribution in #8767@zhanluxianshen made their first contribution in #8754@es-zx made their first contribution in #8970@vdmitriyev made their first contribution in #9017@chopley made their first contribution in #9059@Imyukehan made their first contribution in #9073@JI4JUN made their first contribution in #8742Full Changelog: v0.19.1...v0.20.0