Commit Graph

7575 Commits

Author SHA1 Message Date
Hz_
45ca5f9a3d fix(go-agent): route graph step errors through exception outputs (#17167)
## Summary

- Route ReAct graph step-limit errors through the Agent `_ERROR` output.
- Align the Go Agent default max rounds with Python by using five
rounds.
- Preserve cancellation, timeout, and configuration errors as real
failures.

## Testing

- `bash build.sh --test ./internal/agent/component/...`

<img width="2050" height="1409" alt="image"
src="https://github.com/user-attachments/assets/108e2d27-e115-4595-91a2-21f90c2531ae"
/>
2026-07-22 19:00:53 +08:00
euvre
ffccf0b0fa fix(web): preserve MCP authorization token across edits (#17177) 2026-07-22 17:25:18 +08:00
Jin Hai
df963cf4a1 Doc: fix typo and format (#17249)
### Summary

As title.

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-07-22 17:14:32 +08:00
Muhammad Zuhaib Zahid
d5ff75746c docs: point begin/message component links at .md, not .mdx (#17237)
### Summary

Most files in `docs/guides/agent/agent_component_reference/` are `.mdx`,
but `begin` and
`message` are `.md`. Four links use the `.mdx` extension for those two,
so Docusaurus cannot
resolve the reference and they render as broken links.

Co-authored-by: Muhammad Zuhaib Zahid <288755265+muhzuhaib@users.noreply.github.com>
2026-07-22 17:08:42 +08:00
Muhammad Zuhaib Zahid
de978c5302 docs: fix invalid chunk_method value and NameError in Python SDK reference (#17238)
### Summary

Docs-only, two single-line changes.

Co-authored-by: Muhammad Zuhaib Zahid <288755265+muhzuhaib@users.noreply.github.com>
2026-07-22 17:07:16 +08:00
euvre
53d0613bb2 fix: Make MCP bulk-manage select-all checkbox reflect selection state (#17174) 2026-07-22 17:06:36 +08:00
Muhammad Zuhaib Zahid
073fa123b3 docs: correct firecrawl README paths to tools/firecrawl (#17239)
### Summary

`tools/firecrawl/README.md` documents the integration as living in
`intergrations/firecrawl`,

Co-authored-by: Muhammad Zuhaib Zahid <288755265+muhzuhaib@users.noreply.github.com>
2026-07-22 17:06:21 +08:00
euvre
58127f594c fix: MCP import now processes all files instead of only the first (#17179) 2026-07-22 17:04:37 +08:00
euvre
21e5f00a53 fix: i18n for data source internal configuration fields (#17217) 2026-07-22 16:13:20 +08:00
euvre
dabe426c36 fix: render documentation URLs as hyperlinks in model tooltips (#17224) 2026-07-22 16:03:03 +08:00
euvre
86113fb7d4 fix(web): fix team member status badge hover text readability (#17178) 2026-07-22 15:35:47 +08:00
euvre
35595c9183 Feat: add open-in-new-tab button to search share embed dialog (#17159) 2026-07-22 15:29:43 +08:00
euvre
a81b5057bb fix(web): show builtin chunk methods in file pipeline dialog under Go backend (#17169) 2026-07-22 15:14:02 +08:00
euvre
e0ae22e83b fix(agent): prevent double reply when Agent node is followed by Message node (#17233) 2026-07-22 14:59:29 +08:00
euvre
ade2f3a5ab fix(web): use outline-none instead of outline-0 on focusable controls (#17165) 2026-07-22 14:57:23 +08:00
euvre
f2a48df56b Fix flickering document count and total when toggling file filter on search page (#17161) 2026-07-22 14:57:04 +08:00
euvre
ff1274895f fix: prevent collapse button from overlapping expanded content in next-search (#17157) 2026-07-22 14:56:20 +08:00
Dexterity
18ea0fb7f9 fix(deepdoc): prevent figure and equation crops from merging on scientific PDFs (#15873)
### What problem does this PR solve?

Closes #15872 

On pages that contain both a textless equation and a figure, the layout
recognizer could merge the two unrelated regions into a single cropped
image with concatenated captions. This shows up most often on scientific
and technical PDFs.

The cause is a `layoutno` namespace collision in
`deepdoc/vision/layout_recognizer.py`. Text-overlapping boxes are tagged
per type by `findLayout`: figures become `figure-{ii}` using the
figure-only index, and equations become `equation-{ii}` using the
equation-only index. The fallback loop that handles textless regions,
however, indexes the combined figure plus equation list and always uses
a `figure` prefix.

Because the two paths use different index spaces and prefixes, a page
laid out as `[textless equation, figure with text]` produces two boxes
tagged `figure-0`. `_extract_table_figure` in
`deepdoc/parser/pdf_parser.py` buckets boxes by `f"{page}-{layoutno}"`,
so both fall into the same `page-figure-0` bucket, and `cropout`
stitches the disjoint regions into one image.

**Fix**

The fallback loop now iterates per type, indexes within each type's own
list, and reuses the type as the `layoutno` prefix (`figure-{i}` or
`equation-{i}`). This matches the namespace that `findLayout` already
assigns to text-overlapping boxes. Since the `visited` flag is shared by
reference, each layout is tagged by exactly one path, so per-type
indices stay collision free. Textless equations now land under
`equation-N`, consistent with text-overlapping equations, instead of the
old `figure-N`.

The same fix is applied to `AscendLayoutRecognizer`, which shared the
identical defect.

Downstream consumers of `layoutno` were checked and all treat it as an
opaque equality or bucketing key, so no other code paths are affected.
When a page has no equations, the combined index equals the figure-only
index and the output is unchanged.

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
2026-07-22 14:28:44 +08:00
maoyifeng
863dec759c CI update lefthook and gitee to github (#17230)
### Summary

CI update lefthook and gitee to github
2026-07-22 14:26:00 +08:00
euvre
bab7302265 fix(go): nil pointer dereference in ZhipuAI Embed method (#17219) 2026-07-22 13:59:06 +08:00
euvre
e8f4584fec Fix punctuation in useKnowledgeGraphTip tooltip (#17226) 2026-07-22 13:56:04 +08:00
Wang Qi
c6d9f848bc Fix CVE-2026-42533 (#17218) 2026-07-22 13:18:33 +08:00
Lynn
fc7d4bdf98 Feat: openrouter embedding (#17213) 2026-07-22 13:17:52 +08:00
dependabot[bot]
675c86a7c3 build(deps-dev): bump pillow from 12.2.0 to 12.3.0 (#17208) 2026-07-22 12:25:54 +08:00
euvre
8408f9a4e2 Go: only unlink file-manager files when deleting documents from a knowledge base (#17175) 2026-07-22 12:14:22 +08:00
euvre
4697ee29aa fix: avoid duplicate document names when linking files to datasets (#17181) 2026-07-22 12:12:23 +08:00
euvre
fe3e87361d fix(agent): restrict permission field edits to canvas owner only (#17185) 2026-07-22 12:09:22 +08:00
euvre
03e583f9bc fix: add create_date field to APIKeyResponse for token list display (#17186) 2026-07-22 12:08:16 +08:00
Hz_
b175ed582f fix(go-agent): support Tavily tool names (#17163)
## Summary

- Register `TavilySearch` and `TavilyExtract` Canvas component names in
the Go Agent tool registry.
- Add regression coverage for building both tools by their Python
component names.

## Testing

- `bash build.sh --test ./internal/agent/tool/...`
- `bash build.sh --test ./internal/agent/component/...`
2026-07-22 10:38:26 +08:00
chanx
744ae77290 feat(model): forward instance_id on per-model verify and auto-populate models (#17055) 2026-07-22 10:22:18 +08:00
Wang Qi
a08d203ce7 Fix: enhance ragflow-client (#17206) 2026-07-22 10:07:23 +08:00
rayhan
6a85d1c5c4 migrate: replace zhipuai with zai-sdk to unblock pyjwt CVE fix (#17197)
## Summary

Old `zhipuai==2.0.1` SDK (MetaGLM/zhipuai-sdk-python-v4) requires
`pyjwt~=2.8.0`, which blocks upgrading pyjwt past 2.8.0 to address
active CVEs. The upstream project now recommends the maintained
successor [`zai-sdk`](https://github.com/zai-org/z-ai-sdk-python).

`zai-sdk` relaxes the pyjwt constraint to `>=2.9.0,<3.0.0`, allowing
pyjwt 2.13.0+. The embedding API surface (`client.embeddings.create`) is
identical, no functional changes required.

Related CVE's:

- CVE-2026-48522
- CVE-2026-48524
- CVE-2026-48525
- CVE-2026-48526
- CVE-2026-32597
dev-20260722
2026-07-21 22:24:29 +08:00
rayhan
6c22310582 fix: remediate CVE-2025-69534, upgrade Markdown from 3.6 to >=3.8.1 (#17198) 2026-07-21 22:23:27 +08:00
Jin Hai
9f080a4f45 Py: ruff format (#17193)
### Summary

format issue

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-07-21 21:04:09 +08:00
Wang Qi
1c5a22e226 Enrich the ragflow_client.py (#17189) 2026-07-21 20:18:20 +08:00
Haruko386
b9de586043 fix: add accessible check for datasets (#17116)
### Summary

As title:

Some operations on datasets have been fixed as they previously lacked
authentication, preventing team members from proper or correct usage.

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
dev-20260721-2
2026-07-21 19:20:56 +08:00
Haruko386
d57edee9c3 Go: add funASR provider (#17171)
### Summary

As title

verif ied from CLI

```
RAGFlow(api/default)>  asr with 'paraformer@test@funasr' audio './internal/test.wav' param '{"language": "en"}'
+----------------------------------------------------------------------------------------------------------------------+
| text                                                                                                                 |
+----------------------------------------------------------------------------------------------------------------------+
| The examination and testimony of the experts enabled the commission to conclude that five shots may have been fired. |
+----------------------------------------------------------------------------------------------------------------------+
```
---

<img width="2876" height="1377" alt="image"
src="https://github.com/user-attachments/assets/4cee62c6-1c71-43ce-b398-4d9fbff33c3c"
/>

```bash
INFO:     127.0.0.1:51910 - "POST /v1/audio/transcriptions HTTP/1.1" 200 OK██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  2.19it/s]
INFO:     127.0.0.1:60934 - "GET /v1/models HTTP/1.1" 200 OK%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  2.10it/s]
```

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-07-21 19:20:34 +08:00
Lynn
340d30eb12 Fix: verify model api (#17183) 2026-07-21 19:09:46 +08:00
euvre
3f9d9529b3 fix(file2document): batch link should add to existing KBs, not replace them (#17172) 2026-07-21 19:05:02 +08:00
Lynn
3f5b765a5f Fix(go): check model availability (#17156) 2026-07-21 19:02:14 +08:00
Jin Hai
a5488d035a Go: refactor to avoid conflicts (#17191)
### Summary

1. merge registery test into ingestion
2. move license code to EE version

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-07-21 18:47:02 +08:00
qinling0210
edeb47cd54 Implement Tagger in Extractor component in GO (#17128)
### Summary

Implement Tagger in Extractor component in GO
2026-07-21 17:52:06 +08:00
qinling0210
0189ca3700 Port PR14140 and PR16881 to GO (#17102)
### Summary

Port
https://github.com/infiniflow/ragflow/pull/14140/
https://github.com/infiniflow/ragflow/pull/16881
2026-07-21 17:46:23 +08:00
balibabu
20b760f266 Feat: Highlight wiki force graph. (#17160) 2026-07-21 16:48:52 +08:00
Haruko386
08ed962aed fix: Refactor ListConnectors to validate userID and simplify logic (#17152)
### Summary

Trim whitespace from userID and check for empty value. Use userID
directly for listing connectors instead of tenant ID.
2026-07-21 16:47:28 +08:00
Haruko386
294dff4701 fix: add chunk_method field to document handler (#17154)
### Summary

As title
2026-07-21 16:47:12 +08:00
maoyifeng
49374eede3 Go cli: fix list users failed: invalid JSON (unexpected end of JSON ) (#17153)
### Summary

Go cli: fix list users failed: invalid JSON (unexpected end of JSON )
2026-07-21 16:46:45 +08:00
Haruko386
b4ca5d0bfe refactor: encapsulate the code related to tools (#17101)
### Summary

As title
2026-07-21 16:45:29 +08:00
euvre
456e2be161 fix(web): hide folder upload tab for Gmail and Google Drive OAuth JSON upload (#17162) 2026-07-21 16:41:38 +08:00
euvre
5f2b3fc6c5 fix(web): use title case 'API Key' in UI labels across all locales (#17164) 2026-07-21 16:37:27 +08:00