Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
666 commits
Select commit Hold shift + click to select a range
3bc5ed2
Fix: model-provider bugs (#15460)
Lynn-Inf Jun 2, 2026
1092f62
fix: post /api/v1/system/tokens (#15410)
Hz-186 Jun 2, 2026
5733e06
fix(go-models): harden N1N default transport handling (#15351)
glorydavid03023 Jun 2, 2026
4018f02
Feat: mark mysql migrations as applied (#15504)
buua436 Jun 2, 2026
2819d0e
fix(go-models): use per call context timeouts so long streaming respo…
Dexterity104 Jun 2, 2026
a98889c
feat: add Go MCP server update API (#15261)
Helios531 Jun 2, 2026
c990bad
Feature: Add MiniMax M3 (#15513)
wangq8 Jun 2, 2026
d41373c
Feature: Add the new anthropic and voyage models (#15516)
wangq8 Jun 2, 2026
36357a6
Fix: model provider (#15517)
Lynn-Inf Jun 2, 2026
9f969fe
feat[Go] implement check connection by using apikey and region (#15475)
Haruko386 Jun 2, 2026
5f89264
feat[Go]: implement /api/v1/connectors/<connector_id> PATCH (#15512)
Dimon0000000 Jun 2, 2026
9799f33
GOCli check provider region (#15474)
Hz-186 Jun 2, 2026
583daf4
Fix: model provider orders (#15524)
wangq8 Jun 3, 2026
ff59714
[Fix] naive: force-merge short markdown headers to prevent separate c…
VictorECDSA Jun 3, 2026
76968af
Guard missing storage blobs on preview and image endpoints (#15366)
kiannidev Jun 3, 2026
a75ea7b
Fix: Chat completion generation parameter overrides (#15389)
bitloi Jun 3, 2026
76fc1d5
Refa: refine mysql migration version workflow (#15549)
buua436 Jun 3, 2026
c41855d
Fix: Model provider add verify and fixed form in modal not resetting …
dcc123456 Jun 3, 2026
e1f19f6
Go: fix gitee balance api (#15554)
JinHai-CN Jun 3, 2026
dbebc66
Go: refactor provider code (#15564)
JinHai-CN Jun 3, 2026
ac3964b
Feat: display intl url for siliconflow and verify model provider with…
Lynn-Inf Jun 3, 2026
c0e00a7
Fix: agent template smart_customer_service_specialist.json (#15565)
buua436 Jun 3, 2026
473d06d
feat[Go]: implement add multi_models (#15563)
Haruko386 Jun 3, 2026
1134769
Chore: update cohere models (#15576)
6ba3i Jun 3, 2026
a678ed7
Fix: Switching pagesize on a chunk page did not reset the current pag…
dcc123456 Jun 3, 2026
d6fc50a
Fix: no more @token_required (#15562)
wangq8 Jun 3, 2026
d736f35
Go: refactor model provider (#15568)
JinHai-CN Jun 3, 2026
b363146
refactor: overhaul task executor with layered architecture and compre…
xugangqiang Jun 3, 2026
2061edd
Remove unused codes (#15579)
JinHai-CN Jun 3, 2026
ae316b3
fix(api): guard document rename when linked file row is missing (#15536)
bohdansolovie Jun 3, 2026
2eed0d4
refactor(go-models): add unsupported model driver defaults (#15431)
bitloi Jun 3, 2026
b946df8
Fix: consolidate beta auth (#15581)
wangq8 Jun 3, 2026
df55880
feat[Go] implement /connectors/google/oauth (#15584)
Haruko386 Jun 3, 2026
67c3e73
feat: migrate DELETE /api/v1/datasets/:dataset_id/documents to Go (#1…
xugangqiang Jun 3, 2026
9a9d3dd
fix: show default embedding model when provider is not yet registered…
euvre Jun 4, 2026
2196f22
fix(api): restore DocumentService.accessible check on /preview (#15508)
dripsmvcp Jun 4, 2026
d26d799
fix(api): restore accessible check on document preview (#15505)
kiannidev Jun 4, 2026
bbacb31
Fix: think stream tail handling (#15582)
buua436 Jun 4, 2026
597ac1e
Fix: search bot and verify model instance (#15588)
Lynn-Inf Jun 4, 2026
c70f19e
Fix: remove duplicate document preview access check (#15625)
buua436 Jun 4, 2026
01a5598
Fix: markdown fenced code block extraction (#15630)
bitloi Jun 4, 2026
5db1b29
fix: fall back from empty Docling native chunks (#15601)
he-yufeng Jun 4, 2026
c6eee09
feat: migrate POST /api/v1/datasets/<dataset_id>/documents/stop to Go…
xugangqiang Jun 4, 2026
02d163a
feat: implement GET /api/v1/agents/<agent_id>/versions API (#15629)
xugangqiang Jun 4, 2026
b65b18b
Fix: model provider (#15634)
Lynn-Inf Jun 4, 2026
23aae19
feat: implement POST /api/v1/agents/<agent_id>/upload API (#15633)
xugangqiang Jun 4, 2026
04dc3bb
fix: pass search id to searchbots ask (#15646)
buua436 Jun 4, 2026
baeb0c0
Refactor[Go Model Provider]: refactor baseURL and modelConfig (#15627)
Haruko386 Jun 4, 2026
423fb6f
fix: duplicate document ingest guard (#15638)
buua436 Jun 4, 2026
6143205
feat: implement GET /api/v1/agents/<agent_id>/versions/<version_id> A…
xugangqiang Jun 4, 2026
e627f5d
feat: implement POST /api/v1/searchbots/related_questions API (#15639)
xugangqiang Jun 4, 2026
461c190
feat: migrate meta_filter and convert_conditions to Go (#15648)
xugangqiang Jun 4, 2026
a78a3fd
fix: add nil guard to DocumentDAO.GetByIDs and add tests (#15649)
xugangqiang Jun 4, 2026
98f2a2e
feat(connectors): add Azure Blob Storage data source connector (#15466)
Lobster-0429 Jun 4, 2026
96a4166
refactor: change GetFlattedMetaByKBs return type to common.MetaData (…
xugangqiang Jun 4, 2026
eee6ad5
feat: add ResolveReferenceMetadata utility function (#15663)
xugangqiang Jun 4, 2026
7789862
fix(docker): mount tmpfs on es01 /tmp for entrypoint permissions (#15…
whhe Jun 4, 2026
794c1f4
Fix: volc engine and other json key factories (#15653)
Lynn-Inf Jun 5, 2026
bd49fd7
fix(api): set SDK document download Content-Type from filename (#1511…
kiannidev Jun 5, 2026
bf6c091
feat: add KG scoring utilities (#15666)
xugangqiang Jun 5, 2026
a237a89
feat: add QueryRewrite prompt builder and response parser (#15669)
xugangqiang Jun 5, 2026
431f52a
feat[Go]: implement GET /agents/templates (issue #15240) (#15573)
dripsmvcp Jun 5, 2026
9f3e289
Fix: preserve markdown tables during delimiter extraction (#15632)
bitloi Jun 5, 2026
4cbe597
Refactor: consolidate to use @login_required (#15652)
wangq8 Jun 5, 2026
3b1ae3f
feat: support SelectFields override in DocEngine for KG-specific quer…
xugangqiang Jun 5, 2026
ee32d91
feat: add EnrichChunksWithDocMetadata function to attach document met…
xugangqiang Jun 5, 2026
f6ff862
fix: restore case-insensitive contains/not contains/not in and consol…
xugangqiang Jun 5, 2026
71649db
fix: prevent duplicated post-think text (#15651)
buua436 Jun 5, 2026
4b2af13
feat[Go]: implement Agent/Workflow PUT /api/v1/agents/<canvas_id>/tag…
Haruko386 Jun 5, 2026
e629c02
feat: add KG entity/relation/community search functions (#15689)
xugangqiang Jun 5, 2026
1d7e451
feat(connectors): add Salesforce CRM data source connector (#15462)
Lobster-0429 Jun 5, 2026
b8db200
feat(go-api): implement MCP server management endpoints (#15281)
Lobster-0429 Jun 5, 2026
f78ef32
Go: implement Bedrock embeddings (#15543)
tmimmanuel Jun 5, 2026
aab01af
fix: Update Dockerfile and release workflow to use GitHub mirror inst…
asiroliu Jun 5, 2026
6cba5a5
fix(agent): skip empty switch conditions (#15691)
he-yufeng Jun 5, 2026
214ee31
Revert "fix(api): authorize owner_ids for list chats and search apps …
wangq8 Jun 5, 2026
aa9545e
Revert "fix: duplicate document ingest guard" (#15707)
wangq8 Jun 5, 2026
ea79d65
feat: add KGSearchRetrieval for full KG pipeline (N-hop, scoring, que…
xugangqiang Jun 5, 2026
9c14e3f
Fix: When adding a chat in the main interface, a warning will automat…
cike8899 Jun 5, 2026
1deb131
feat(go-cli): support batch model add/remove and optional embedding d…
Hz-186 Jun 5, 2026
5a04ac0
feat: Dify-compatible retrieval API endpoint (#15704)
xugangqiang Jun 5, 2026
b0a4580
fix(onedrive): normalize folder_path for Graph delta URL (#15503)
kiannidev Jun 8, 2026
b05d5a5
Feat: get model list from remote (#15711)
Lynn-Inf Jun 8, 2026
074c331
fix(go-api): sync document handler interface and enforce preview acce…
Hz-186 Jun 8, 2026
c960dc2
Refine handling of POST /api/v1/datasets/search in GO (#15583)
qinling0210 Jun 8, 2026
9198310
fix(retrieval): keep rerank window aligned to page_size for deep pagi…
cleanjunc Jun 8, 2026
3d7adf2
feat[Go]: implement GET /plugin/tools (issue #15240) (#15570)
dripsmvcp Jun 8, 2026
38f9ea5
fix(rerank): normalize reranker scores onto a single scale before hyb…
cleanjunc Jun 8, 2026
5e25e26
Go: implement Xiaomi chat provider (#15626)
tmimmanuel Jun 8, 2026
b1a2210
fix(go-models): increase JieKouAI SSE scanner buffer (#15737)
oktofeesh1 Jun 8, 2026
220ee9d
fix: normalize reasoning model families (#15612)
bitloi Jun 8, 2026
c935f30
Fix: The time zone is not displayed on the personal profile page. (#1…
cike8899 Jun 8, 2026
6bf7056
feat: add placeholder model metas (#15753)
buua436 Jun 8, 2026
5e0a7ce
Update Rerank logic in GO (#15755)
qinling0210 Jun 8, 2026
e81bca7
fix: normalize agent session chunks (#15756)
buua436 Jun 8, 2026
9c32b73
Fix: The embedded website floating component on the agent page does n…
cike8899 Jun 8, 2026
8f4809d
feat: implement POST /api/v1/searchbots/retrieval_test (#15710)
xugangqiang Jun 8, 2026
e2b0da9
fix(opensearch): keep the BM25 leg in hybrid search (#15760)
mateidanut Jun 8, 2026
67ce0c8
feat[Go]: implement /api/v1/agents/<agent_id>/sessions (#15705)
Haruko386 Jun 8, 2026
653d4bd
Fix : Ci fail for infinity on level p3 (#15757)
6ba3i Jun 8, 2026
4bbd598
Addd OpenRouter OpenAI API compatible list models (#15764)
wangq8 Jun 8, 2026
144abbe
feat: Unify the 'Add Model Provider' modal (#15768)
dcc123456 Jun 8, 2026
c8c890b
fix: refine think stream parsing (#15745)
buua436 Jun 8, 2026
04209ff
feat: implement FetchChunkVectors for citation vector hydration (#15749)
xugangqiang Jun 8, 2026
2bd8900
Fix: Model provider bugs (#15770)
dcc123456 Jun 8, 2026
68b9360
fix(nlp): tokenize content_tks by whitespace in FulltextQueryer.parag…
seekmistar01 Jun 8, 2026
14c460a
Fix: Excel parser emits a spurious header-only chunk at exact chunk_r…
devYRPauli Jun 8, 2026
453ade2
fix(opensearch): keep "id" in _source on insert so document metadata …
ef-rintaro Jun 8, 2026
86b320e
feat(web): show provider count on each model-type filter tag (#15444)
sunlight7777777 Jun 8, 2026
8abe627
i18n(it): complete Italian translation (49% → 100%) (#15729)
gaulin-ai Jun 8, 2026
17f27b9
fix(browser): show resolved variables in workflow run log input (#15325)
huang-aoqin Jun 8, 2026
2c64feb
feat: add ModelMeta implementations for Xinference, LocalAI, BaiduYiy…
euvre Jun 8, 2026
d9a04ef
fix: support auto mode in table parser document metadata aggregation …
euvre Jun 8, 2026
7dd4030
fix: Resolve error when checking pipeline parsing result (#15778)
dcc123456 Jun 8, 2026
d025e18
Fix: Add a waiting status to the messages on the chat page. (#15773)
cike8899 Jun 8, 2026
0c5245e
fix: await lmstudio embedding verification (#15772)
buua436 Jun 8, 2026
8e4fba6
Fix OpenRouter key JSONDecodeError (#15776)
wangq8 Jun 8, 2026
d63bd81
fix(go-models): fix Moonshot model and balance requests (#15528)
oktofeesh1 Jun 8, 2026
8dc7f1d
Go: implement ASR and TTS for xiaomi (#15765)
Haruko386 Jun 8, 2026
25df0a6
fix(go-models): validate URL suffix config keys (#15734)
oktofeesh1 Jun 8, 2026
e0dc7af
fix(go-models): fix MiniMax driver requests (#15527)
oktofeesh1 Jun 8, 2026
6fc3955
fix(go-models): normalize Qwen reasoning families (#15735)
oktofeesh1 Jun 8, 2026
c5d0060
Delete not supported model providers list (#15783)
wangq8 Jun 8, 2026
338fdb6
feat(ci): enable go test in CI pipeline (#15750)
xugangqiang Jun 8, 2026
b9f06e6
Feat: model list (#15774)
Lynn-Inf Jun 8, 2026
f2aadd3
Fix: is_english() returns False for any list argument (broken languag…
devYRPauli Jun 8, 2026
35527f6
fix: guard http.DefaultTransport type assertion in xiaomi for Go 1.25…
xugangqiang Jun 8, 2026
55abf4f
Go: new CLI command, list all models and show model (#15786)
JinHai-CN Jun 8, 2026
cbb3896
fix(api): guard missing row in SearchService.get_detail (#15622)
dearsishs Jun 8, 2026
d94b8c1
fix(api): await asyncio.wait_for in verify_api_key embedding branch (…
dearsishs Jun 8, 2026
93e4f6b
Fix: Add bge as embedding (#15784)
wangq8 Jun 9, 2026
faf78d3
Fix: OceanBase tenant startup drift and docs (#15829)
6ba3i Jun 9, 2026
9c0cc77
Fix empty response set not take effect (#15824)
wangq8 Jun 9, 2026
298a23f
fix: resolve issue where some models do not use modelInfo parameter (…
dcc123456 Jun 9, 2026
1ab51a2
Fix: list intl Tongyi-Qianwen base_url (#15831)
Lynn-Inf Jun 9, 2026
d02eb6b
Go: refactor CLI (#15728)
JinHai-CN Jun 9, 2026
c586292
feat: Implement checkpoint/resume support for GraphRAG community extr…
jonathanchang31 Jun 9, 2026
287a4cf
Fix: An error message appears when accessing the agent's launch page:…
cike8899 Jun 9, 2026
01a2a44
Clean CLI for filesystem (#15838)
yingfeng Jun 9, 2026
d1c436b
feat(api): implement `GET /api/v1/agents/prompts` endpoint in Go (#15…
Hz-186 Jun 9, 2026
c1496ff
fix: propagate memory tenant id in task collect (#15837)
buua436 Jun 9, 2026
f0efa63
fix: Remove trailing comma in CREATE TABLE tenant_model SQL (#15832) …
Dr1985 Jun 9, 2026
719ce15
Go CLI: update list supported models (#15845)
JinHai-CN Jun 9, 2026
7b8d6f3
fix: force image parser json output (#15847)
buua436 Jun 9, 2026
f97d639
fix: BaiduYiyan API key validation fails in set_api_key (#15828)
euvre Jun 9, 2026
08a4071
Fix: model list (#15839)
Lynn-Inf Jun 9, 2026
2773208
Fix: MinerU cannot be added (#15841)
wangq8 Jun 9, 2026
3eff413
fix: prevent None values in auto-metadata from causing KeyError (#15842)
xugangqiang Jun 9, 2026
7ed1f1c
Fix VLLM cannot add without /v1 (#15851)
wangq8 Jun 9, 2026
8448276
feat: support custom editing for model list (#15855)
dcc123456 Jun 9, 2026
e050f18
fix(models): guard unsafe index access in Google and Ollama drivers (…
Lobster-0429 Jun 9, 2026
d4fe3bb
feat(go-api): Add GET dataset metadata summary API (#15843)
Hz-186 Jun 9, 2026
acae932
fix(go): guard four nil-pointer dereferences causing runtime panics (…
Lobster-0429 Jun 9, 2026
10bbe6b
Fix: The variables in the Visual Input File of the agent operator are…
cike8899 Jun 9, 2026
64b860f
fix(elasticsearch): complete Go result functions (#15148)
JSONbored Jun 9, 2026
88e4d6b
Fix: restore GraphRAG entity ranking by indexing pagerank and n-hop p…
cleanjunc Jun 9, 2026
2f99d52
fix(ci): re-enable Go tests and fix compilation errors after ListMode…
xugangqiang Jun 9, 2026
cf5cca5
Fix wrong unit test path (#15864)
yingfeng Jun 9, 2026
87b8062
feat: implement POST /api/v1/searchbots/ask — streaming RAG with cita…
xugangqiang Jun 9, 2026
a396b1a
feat[Go]: implement /api/v1/agents/<agent_id> and test_db_connection …
Haruko386 Jun 10, 2026
d56aeb2
feat[Go]: api datasets/<dataset_id>/documents/<document_id>/metadata/…
Haruko386 Jun 10, 2026
9d9c2dc
Docs: Supported model providers and URLs updated (#15866)
writinwaters Jun 10, 2026
7c1bd9a
Go CLI: switch to admin/api server (#15861)
JinHai-CN Jun 10, 2026
bbc1f2e
feat(go-api): add RAG retrieval to chat completions (#15739)
oktofeesh1 Jun 10, 2026
7f4bf69
Enhancement: slim Docker image, add .dockerignore, fix Go binary ship…
6ba3i Jun 10, 2026
9aa81e7
Fix paddle ocr / minerU cannot add (#15858)
wangq8 Jun 10, 2026
093eec3
fix: handle qwen rerank error response (#15881)
buua436 Jun 10, 2026
38755c7
feat(go): Add DeepSeek models and Gitee alias metadata tests (#15885)
Hz-186 Jun 10, 2026
c23809a
Fix: Fix some model provider-related UI issues (#15884)
dcc123456 Jun 10, 2026
f632bb4
Fix: tenant_model migrate (#15886)
Lynn-Inf Jun 10, 2026
6822307
fix: rename ark_api_key to api_key for volcengine provider config (#1…
dcc123456 Jun 10, 2026
899f76a
Fix add OpenRouter base_url, UI need to select at least one model to …
wangq8 Jun 10, 2026
478c984
Fix: model list (#15860)
Lynn-Inf Jun 10, 2026
dcf623d
feat: support multi-type factory models (#15893)
buua436 Jun 10, 2026
357cb84
Fix: cohere call failing (#15899)
6ba3i Jun 10, 2026
139f451
Go: refactor CLI (#15898)
JinHai-CN Jun 10, 2026
3796835
feat(go-api): migrate agent file download handler to Go with strict P…
Hz-186 Jun 10, 2026
16d5b4f
feat[Go]: implement POST /api/v1/files/link-to-datasets (#15674)
hunnyboy1217 Jun 10, 2026
3091d91
Fix no need to put inactive models to bottom (#15903)
wangq8 Jun 10, 2026
8e17a12
fix: remove think text buffering for real-time reasoning stream (#15891)
shaoqing404 Jun 10, 2026
ad63877
Fix cannot add bedrock (#15904)
wangq8 Jun 10, 2026
7355db1
Fix: model list (#15905)
Lynn-Inf Jun 10, 2026
0d3e410
fix: strip Ollama-style tag suffix from LocalAI model names (#15908)
xugangqiang Jun 10, 2026
2980981
fix: route visual agent calls to image model (#15906)
buua436 Jun 10, 2026
aafe6c5
Fix: The dataset retrieval test returned an incorrect total number. (…
cike8899 Jun 10, 2026
1fd9e1d
Fix: add thin scrollbar styling for x-spreadsheet component (#15912)
dcc123456 Jun 10, 2026
acaeb41
Fix cannot add fish audio (#15913)
wangq8 Jun 10, 2026
dfa4c5a
Fix: add image2text/speech2text/ocr support (#15915)
dcc123456 Jun 10, 2026
515acf4
fix(go): Fix case-insensitive model alias lookup (#15911)
Hz-186 Jun 10, 2026
e132173
feat(go): Update Qwen models in all_models.json (#15910)
Hz-186 Jun 10, 2026
3e4fb8c
Go: fix test and remove unused code (#15909)
JinHai-CN Jun 10, 2026
dfcf226
feat: Implement API of ragflow server in Go (#15256)
jonathanchang31 Jun 10, 2026
bf59eb7
feat(go-api): port forgot-password flow to Go (#15282) (#15290)
Rene0422 Jun 10, 2026
32559d2
Fix: model list (#15914)
Lynn-Inf Jun 11, 2026
238a01d
Fix multiple tags (#15931)
wangq8 Jun 11, 2026
a079c08
fix(deps): exclude litellm 1.82.6 (internal ImportError) — #15916 (#1…
Rene0422 Jun 11, 2026
c50f9c5
fix: allow zero message history window and clear history for new sess…
zaviermeekz-cpu Jun 11, 2026
1910416
fix(sync): tolerate list inputs for Discord server_ids / channels (#1…
Rene0422 Jun 11, 2026
4b10c0b
fix(go-models): guard nil pointers in DeepSeek and VolcEngine streami…
Lobster-0429 Jun 11, 2026
84edf53
Go: Refactor list-models func (#15900)
Haruko386 Jun 11, 2026
ca00d23
Go: add parse and chunk command (#15936)
JinHai-CN Jun 11, 2026
906618f
Fix Agent chat Minimax content in thinking (#15937)
wangq8 Jun 11, 2026
5d3f8bb
Fix: The regular expression configuration for pipeline header-based c…
cike8899 Jun 11, 2026
a1dc2da
fix: add model_name to embed completion request (#15883) (#15888)
zaviermeekz-cpu Jun 11, 2026
3f929e3
fix(es): downgrade LLM-generated invalid SQL to WARNING in ES sql() (…
Rene0422 Jun 11, 2026
9871a7e
fix: replicate model provider (#15933)
6ba3i Jun 11, 2026
47fb462
fix(api): guard dataset delete when File2Document row is missing (#15…
bohdansolovie Jun 11, 2026
a851228
fix(preview): authenticate markdown document preview requests (#15589)
monsterdavidliu-ux Jun 11, 2026
b978e26
fix(db): drop Peewee-auto-named unique index on tenant_model_instance…
Rene0422 Jun 11, 2026
c15b2b3
fix(connectors): enforce WebDAV numeric string size limits (#15731)
oktofeesh1 Jun 11, 2026
de18313
fix(api): POST /documents/stop removes partial chunks and resets coun…
kiannidev Jun 11, 2026
381091d
fix(dialog): guard async_ask() against empty or invalid kb_ids (#15530)
bohdansolovie Jun 11, 2026
d4fbc01
fix: tolerate raw api_key string in AzureEmbed and AzureGptV4 __init_…
jaso0n0818 Jun 11, 2026
2971849
fix: guard docStoreConn.delete with index_exist in parse and stop_par…
jaso0n0818 Jun 11, 2026
70ae25f
Fix: Remove the pagination from the search and retrieval pages. (#15942)
cike8899 Jun 11, 2026
49ef959
i18n(ko): add Korean (한국어) translation (#15863)
yooxdb Jun 11, 2026
9614605
fix: propagate max_tokens from model config to downstream consumers (…
shaoqing404 Jun 11, 2026
9d59509
Fix: get is_tools from model record (#15946)
Lynn-Inf Jun 11, 2026
312514c
feat(go): Add embedding dimension metadata and validation (#15939)
Hz-186 Jun 11, 2026
290432d
Fix: Search mindmap not working (#15949)
wangq8 Jun 11, 2026
7efa481
Docs: Added initial draft for v0.26.0 release notes. (#15603)
writinwaters Jun 11, 2026
92c4b76
Docs: Update version references to v0.26.0 in READMEs and docs (#15941)
asiroliu Jun 11, 2026
9c30557
Go: add dimensions for list models and fix some embed-bug in provider…
Haruko386 Jun 11, 2026
daa3811
feat(models): add shared HTTP client, SSE parser, and stub helpers fo…
Lobster-0429 Jun 11, 2026
ec89fc0
fix(user-settings): collapse sidebar to icon-only rail on mobile (#15…
carlh7777 Jun 11, 2026
bde2b1f
fix(llm): correct error handling, token accounting, and truncation in…
Dexterity104 Jun 11, 2026
bae8c6f
Improve docx preview (#15907)
yingfeng Jun 11, 2026
0d836af
fix: keep max pagerank for repeated n-hop edges (#15696)
he-yufeng Jun 11, 2026
de06c9a
feat: Langfuse session grouping for multi-turn chat traces (#15679)
jonathanchang31 Jun 12, 2026
a2de880
fix(profile): enforce profile name validation and input constraints (…
carlh7777 Jun 12, 2026
e3be39d
Json: add some models (#15947)
Haruko386 Jun 12, 2026
3072414
feat(go): Add Z.ai model entries to all_models.json Add missing Qwen …
Hz-186 Jun 12, 2026
e96bc37
Go: use NATS as the message queue (#15327)
JinHai-CN Jun 12, 2026
22a058f
fix(go): redact internal handler errors (#15746)
bitloi Jun 12, 2026
89aac82
Fix: chat/agent -- Default avatar is not displaying correctly. (#15948)
cike8899 Jun 12, 2026
115b730
Go: parse ingestion DSL (#15938)
JinHai-CN Jun 12, 2026
5a7d777
Decouple skill space from Python API (#15971)
yingfeng Jun 12, 2026
b5a426e
Feat: chat channels — connect assistants to external messaging bots (…
KevinHuSh Jun 12, 2026
547139d
fix(Go-models): preserve model name lookup when aliases exist (#15969)
Haruko386 Jun 12, 2026
4115282
Json[model-provider] add nvidia, moonshot, minimax, claude, GPT model…
Haruko386 Jun 12, 2026
234f1b7
Go: add office_oxide and parse docx file. (#15976)
JinHai-CN Jun 12, 2026
cafa0f2
fix: SSE write timeout (#15852)
bitloi Jun 12, 2026
3fa15c0
feat(agent): Go port — canvas engine, 22 components, DSL v2, 13 endpo…
yuzhichang Jun 12, 2026
d32e05d
Go: add more file parser (#15979)
JinHai-CN Jun 12, 2026
f671e7c
i18n(fr): add ~70 missing French translation keys (#15983)
vincentlambert Jun 13, 2026
e89afba
Go: file parser config (#15989)
JinHai-CN Jun 13, 2026
59d4203
Fix last login time (#16004)
wangq8 Jun 15, 2026
32d5c00
Go: refactor model API to accept model id (#15999)
JinHai-CN Jun 15, 2026
6257532
feat(go): add OceanBase status endpoint with live health probe
kinjitakabe Jun 15, 2026
21d352b
fix(go): error-path message reflects failure, not "success" (#16038 r…
kinjitakabe Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
62 changes: 62 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# RAGFlow .dockerignore
# Reduces Docker build context sent to the daemon.
# All excluded items are either rebuilt inside Docker, mounted from
# infiniflow/ragflow_deps, or are local-only artifacts.

# ── Python virtual environments ─────────────────────────────────────────────
.venv/
venv/
__pycache__/
*.pyc
*.pyo
*.egg-info/
.pytest_cache/

# ── Frontend dependencies and build outputs ─────────────────────────────────
web/node_modules/
web/dist/

# ── Runtime logs ────────────────────────────────────────────────────────────
logs/
*.log
docker/ragflow-logs/

# ── Docker runtime data ─────────────────────────────────────────────────────
docker/data/
docker/oceanbase/
docker/seekdb/

# ── Go and C++ build outputs ────────────────────────────────────────────────
internal/cpp/build/
internal/cpp/cmake-build-release/
internal/cpp/cmake-build-debug/
target/

# ── Downloaded dependency artifacts (mounted from infiniflow/ragflow_deps) ──
chrome-linux64-*
chromedriver-linux64-*
tika-server-standard-*.jar
tika-server-standard-*.jar.md5
cl100k_base.tiktoken
libssl*.deb
uv-*.tar.gz
huggingface.co/
nltk_data/
9b5ad71b2ce5302211f9c61530b329a4922fc6a4

# ── IDE and editor config ──────────────────────────────────────────────────
.idea/
.vscode/
.cursor/
.trae/
.DS_Store

# ── Test and coverage artifacts ─────────────────────────────────────────────
coverage/
htmlcov/
.coverage
.hypothesis/
.nox/

# ── Docker env (contains secrets) ───────────────────────────────────────────
docker/.env
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
- name: Build and push image
run: |
sudo docker login --username infiniflow --password-stdin <<< ${{ secrets.DOCKERHUB_TOKEN }}
sudo docker build --build-arg NEED_MIRROR=1 --build-arg HTTPS_PROXY=${HTTPS_PROXY} --build-arg HTTP_PROXY=${HTTP_PROXY} -t infiniflow/ragflow:${RELEASE_TAG} -f Dockerfile .
sudo docker build -t infiniflow/ragflow:${RELEASE_TAG} -f Dockerfile .
sudo docker tag infiniflow/ragflow:${RELEASE_TAG} infiniflow/ragflow:latest
sudo docker push infiniflow/ragflow:${RELEASE_TAG}
sudo docker push infiniflow/ragflow:latest
Expand Down
218 changes: 161 additions & 57 deletions .github/workflows/tests.yml

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Cargo.lock

.idea/
.vscode/
.cursor/settings.json

# Exclude Mac generated files
.DS_Store
Expand Down Expand Up @@ -231,4 +232,6 @@ internal/cpp/cmake-build-debug/
# Go server build output
bin/*
!bin/.gitkeep
.claude/settings.local.json
.claude/settings.local.json

.run/
85 changes: 85 additions & 0 deletions .rooignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# .rooignore for RAGFlow
# Purpose: reduce indexing noise, token waste, and accidental reads of generated files

# Git / platform
.git/
.github/

# IDE / local editor
.idea/
.vscode/
.trae/

# Python caches / build artifacts
__pycache__/
*.pyc
*.pyo
*.pyd
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.coverage
*.egg-info/
ragflow.egg-info/
sdk/python/ragflow_sdk.egg-info/
sdk/python/build/
sdk/python/dist/
build/
dist/

# Virtual environments
.venv/
venv/
env/

# Node / frontend dependencies and build output
node_modules/
web/node_modules/
web/dist/
web/build/
web/.cache/
*.tsbuildinfo

# Logs / runtime artifacts
logs/
docker/ragflow-logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# Large local dependency artifacts
libssl*.deb
tika-server*.jar*
cl100k_base.tiktoken
chrome*
huggingface.co/
nltk_data/
uv-x86_64*.tar.gz
uv-aarch64*.tar.gz

# Temp / data / local storage
tmp/
cache/
backup/
docker/data/
docker/oceanbase/conf
docker/oceanbase/data
docker/seekdb

# Native / compiled build dirs
target/
bin/
internal/cpp/build/
internal/cpp/cmake-build-release/
internal/cpp/cmake-build-debug/

# Optional: skip tests and docs from indexing
# test/
# tests/
# docs/

# Ignore Roo's own config file
.rooignore
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The project uses **uv** for dependency management.

1. **Setup Environment**:
```bash
uv sync --python 3.12 --all-extras
uv sync --python 3.13 --all-extras
uv run python3 download_deps.py
```

Expand Down
68 changes: 43 additions & 25 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,52 +6,70 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. It's a full-stack application with:

- Python backend (Flask-based API server)
- Python backend (Quart-based async API server — Quart is the async reimplementation of Flask)
- React/TypeScript frontend (built with vitejs)
- Microservices architecture with Docker deployment
- Multiple data stores (MySQL, Elasticsearch/Infinity, Redis, MinIO)
- Background task executor workers (separate Python processes, Redis-queue-driven)
- Peewee ORM for database models (not SQLAlchemy)
- Multiple data stores (MySQL/PostgreSQL, Elasticsearch/Infinity/OpenSearch/OceanBase, Redis, MinIO)

## Architecture

### Backend (`/api/`)
### Runtime Architecture

- **Main Server**: `api/ragflow_server.py` - Flask application entry point
- **Apps**: Modular Flask blueprints in `api/apps/` for different functionalities:
- `kb_app.py` - Knowledge base management
- `dialog_app.py` - Chat/conversation handling
- `document_app.py` - Document processing
- `canvas_app.py` - Agent workflow canvas
- `file_app.py` - File upload/management
- **Services**: Business logic in `api/db/services/`
- **Models**: Database models in `api/db/db_models.py`
RAGFlow runs as **two separate Python process types**, orchestrated by `docker/launch_backend_service.sh`:

- **API Server** (`api/ragflow_server.py`): Quart-based async HTTP server
- **Task Executors** (`rag/svr/task_executor.py`): Background workers processing documents from Redis streams. Multiple instances run in parallel (controlled by `WS` env var). Each consumes from priority-ordered Redis streams (`te.1.common`, `te.0.common`), using consumer groups for load distribution.

Key consequence: task executors import a different code surface than the API server, so always check which process a module is meant for.

### Backend API (`/api/`)

- **App factory**: `api/apps/__init__.py` — creates the Quart app, configures auth (`login_required` decorator, JWT + API token + session fallback), and dynamically discovers/registers blueprints
- **Two API coexisting patterns**:
- **RESTful APIs** in `api/apps/restful_apis/` — newer pattern with Pydantic request validation, service layer in `api/apps/services/`, routes registered under `/api/v1`
- **Legacy APIs** in `api/apps/*_app.py` — older pattern using `@validate_request()`, routes registered under `/v1/<page_name>`
- **SDK APIs** in `api/apps/sdk/` — registered under `/v1/`
- **Services**: `api/db/services/` — business logic wrapping Peewee model operations. `api/apps/services/` — service layer for the RESTful APIs
- **Models**: `api/db/db_models.py` — Peewee ORM models with pooled MySQL/PostgreSQL connections, custom `JSONField`/`ListField` types, retry logic on connection loss

### Core Processing (`/rag/`)

- **Document Processing**: `deepdoc/` - PDF parsing, OCR, layout analysis
- **LLM Integration**: `rag/llm/` - Model abstractions for chat, embedding, reranking
- **RAG Pipeline**: `rag/flow/` - Chunking, parsing, tokenization
- **Graph RAG**: `rag/graphrag/` - Knowledge graph construction and querying
- **Document ingestion pipeline**: `rag/flow/pipeline.py` — `Pipeline` (extends `agent.canvas.Graph`) orchestrates the ingestion DAG. Components: File (fetches binary from storage), Parser (dispatches to `deepdoc.parser` based on file type), TokenChunker/TitleChunker (splits into chunks), Tokenizer (computes full-text tokens + embedding vectors), Extractor (LLM-based extraction). Data flows via Pydantic `*FromUpstream` schemas.
- **Document parsing**: `deepdoc/` — PDF parsing (vision-based OCR, layout analysis, table structure recognition) and format-specific parsers (DOCX, XLSX, PPT, Markdown, HTML, images). All parsers normalize to a common structure (list of bbox dicts for PDFs, `{text, doc_type_kwd}` for others).
- **LLM Integration**: `rag/llm/` — factory pattern with runtime class discovery. `chat_model.py` (30+ providers via OpenAI SDK and LiteLLM wrappers), `embedding_model.py`, `rerank_model.py`, `cv_model.py` (image-to-text), `sequence2txt_model.py` (ASR), `tts_model.py`. Use `LLMBundle` (from `api.db.services.llm_service`) as the unified interface.
- **Graph RAG**: `rag/graphrag/` — multi-phase pipeline: per-document subgraph extraction (LLM or spaCy NER), Leiden community detection, entity resolution, community summarization. Entities/relations/reports are indexed as chunks alongside regular text chunks, differentiated by `knowledge_graph_kwd`.
- **Search**: `rag/nlp/search.py` — `Dealer` class combines vector similarity + BM25 + re-ranking. `KGSearch` extends it for graph-aware retrieval (entity resolution, n-hop enrichment).

### Agent System (`/agent/`)

- **Components**: Modular workflow components (LLM, retrieval, categorize, etc.)
- **Templates**: Pre-built agent workflows in `agent/templates/`
- **Tools**: External API integrations (Tavily, Wikipedia, SQL execution, etc.)
- **Execution engine**: `agent/canvas.py` — `Canvas` (extends `Graph`) executes the DAG. Components are run in topological order via `_run_batch`, each receiving upstream outputs as kwargs. Control-flow components (`Categorize`, `Switch`, `Iteration`, `Loop`) dynamically modify the execution path.
- **Component base**: `agent/component/base.py` — `ComponentBase` with `invoke(**kwargs)` / `invoke_async(**kwargs)` lifecycle. Variable references (`{component_id@output_var}` or `{sys.query}`) are resolved from the canvas graph at runtime.
- **Components**: Modular workflow components in `agent/component/` — Begin, LLM, Agent (tool-calling LLM), Categorize, Switch, Iteration, Loop, Message, Invoke (HTTP), and data manipulation nodes. Auto-discovered by `__init__.py`.
- **Templates**: Pre-built agent workflows as JSON DSL files in `agent/templates/`. Each contains a complete `components` DAG, `path`, and `globals`.
- **Tools**: `agent/tools/` — Retrieval, web search (DuckDuckGo, Google, Tavily, SearXNG), academic search (ArXiv, PubMed, Google Scholar, Wikipedia), code execution, SQL execution, email, GitHub, finance data, translation, weather. Tools implement `ToolBase` (extends `ComponentBase`) and produce OpenAI-compatible function descriptors.
- **Plugins**: `agent/plugin/` — plugin system using `pluginlib` for loading external LLM tool plugins from `embedded_plugins/`.

### Frontend (`/web/`)

- React/TypeScript with vitejs framework
- shadcn/ui components
- State management with Zustand
- Tailwind CSS for styling
- shadcn/ui components (Radix UI primitives + Tailwind CSS)
- `@tanstack/react-query` for server state (cache keys, mutations, invalidation)
- Zustand for local state (primarily agent canvas graph store)
- `react-router` v7 with lazy-loaded pages
- `react-i18next` for i18n (17 languages)
- Axios for HTTP with a layered pattern: endpoint definitions (`utils/api.ts`) → HTTP client (`utils/next-request.ts`) → service layer (`services/`) → query hooks (`hooks/use-*-request.ts`) → components
- `@xyflow/react` for the agent workflow canvas
- `react-hook-form` + `zod` for form validation
- Two API proxy prefixes: `webAPI = '/v1'` (legacy) and `restAPIv1 = '/api/v1'` (RESTful)

## Common Development Commands

### Backend Development

```bash
# Install Python dependencies
uv sync --python 3.12 --all-extras
uv sync --python 3.13 --all-extras
uv run python3 download_deps.py
pre-commit install

Expand Down Expand Up @@ -118,7 +136,7 @@ RAGFlow supports switching between Elasticsearch (default) and Infinity:

## Development Environment Requirements

- Python 3.10-3.12
- Python 3.10-3.13
- Node.js >=18.20.4
- Docker & Docker Compose
- uv package manager
Expand Down
Loading