v1.5.7
codex-team/editor.jsv1.5.7Sep 2, 2026by danielaskdd
Upgrading?
AI Summary
This release introduces a new end-user-facing entry point `/workspace` for the WebUI, featuring customizable branding, login pages, and prompt controls via the `USER_PROMPT_PREFIX` configuration. It also includes performance improvements for vector indexing, a new graph-first ingestion mode, and an offline tool for migrating data from Apache AGE to PostgreSQL.
Key Highlights
- New `/workspace` entry point optimized for mobile and query-only use.
- Customizable UI templates allowing operators to define welcome, login, and empty states via Markdown files.
- Global `USER_PROMPT_PREFIX` feature for deployment-wide prompt instructions.
- Performance improvements deferring vector deletes and indexing.
- Offline migration tool for Apache AGE to PostgreSQL.
Breaking Changes
- Removal of deprecated GET /documents listing and get_docs_by_status API endpoints.
New Features
- End-user facing `/workspace` entry point with mobile optimization.
- Customizable welcome, login, and empty-state pages via UI templates.
- Global `USER_PROMPT_PREFIX` for deployment-wide prompt configuration.
- Graph-first ingestion with deferred vector indexing.
- Explicit custom chunking selector.
- ENABLE_API_DOCS switch for API documentation exposure.
- Bedrock default credential provider support.
- Ollama token usage reporting.
- Apache AGE to PostgreSQL migration tool.
Full Release Notes
## Important Notes **New Feature: Add end-user-facing entry point to WebUI** v1.5.7 adds a second, end-user-facing entry — `/workspace` — together with the **branding** and **prompt controls** a deployment needs before it can be handed to real users. * A query-only entry for end users: `/workspace` * Customizable welcome, login and empty-state pages * A global `USER_PROMPT_PREFIX` `/workspace` UI shows the chat surface and nothing else — no document management, no knowledge graph, no API-docs links — and is built for mobile use. Point `UI_TEMPLATES_DIR` at a small directory of Markdown files plus a `manifest.json`, and LightRAG serves **your** welcome page, login-page blurb, query empty state, brand logo and copyright line — in several languages, without rebuilding the WebUI. A locale that declares both a login blurb and an agreement document also switches on a login consent checkbox. A ready-to-copy bundle ships in `docs/ui_templates_example/`. `USER_PROMPT_PREFIX` (or `USER_PROMPT_PREFIX_FILE` for long, multi-paragraph text) prepends deployment-wide instructions to every request's `user_prompt`. It gives the operator one place to set the LLM's role, tone and output format — Mermaid diagrams, LaTeX delimiters, citation style — for both UI entries and the API alike. Requests can never read or replace it; only the API field `disable_user_prompt_prefix` opts out. For more information, please refer to: - [`docs/LightRAG-API-Server.md`](https://github.com/HKUDS/LightRAG/blob/main/docs/LightRAG-API-Server.md) — § *The `/workspace` Query Entry* - [`docs/UserDefinedUI.md`](https://github.com/HKUDS/LightRAG/blob/main/docs/UserDefinedUI.md) — the complete UI customization guide, plus [`docs/ui_templates_example/`](https://github.com/HKUDS/LightRAG/tree/main/docs/ui_templates_example) - [`README.md`](https://github.com/HKUDS/LightRAG/blob/main/README.md) — `USER_PROMPT_PREFIX` / `USER_PROMPT_PREFIX_FILE` ## What's New * Add an offline tool to migrate a graph from Apache AGE to PostgreSQL tables by @ysys143 in https://github.com/HKUDS/LightRAG/pull/3620 * feat: support graph-first ingestion with deferred vector indexing by @letsgetai in https://github.com/HKUDS/LightRAG/pull/3473 * feat: add explicit custom chunking selector by @er-s-an in https://github.com/HKUDS/LightRAG/pull/3665 * feat(api): add ENABLE_API_DOCS switch for API documentation exposure by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3672 * perf(nano): defer vector deletes to flush time by @0xPabloxx in https://github.com/HKUDS/LightRAG/pull/3680 * perf(faiss): defer vector deletes to flush time by @yzxcj797 in https://github.com/HKUDS/LightRAG/pull/3693 * feat(Bedrock): Allow Bedrock default credential providers by @a-bruhn in https://github.com/HKUDS/LightRAG/pull/3726 * feat(ollama): report token usage through the TokenTracker contract by @YashvantHange in https://github.com/HKUDS/LightRAG/pull/3747 * feat(webui): standalone /workspace query entry for end users (dual-entry WebUI) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3729 * feat(webui): add a login-page consent gate driven by the UI bundle by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3755 * feat(webui): use WEBUI_TITLE as the browser tab title by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3763 * Add user-defined UI customization bundle support (UI_TEMPLATES_DIR) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3765 * Use custom logo and deployment title on login page by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3768 * feat(webui): customer-defined copyright line at the foot of the pre-login pages by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3773 * feat(query): Add global user prompt prefix feature with cache partitioning by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3781 * refactor: remove the deprecated GET /documents listing and get_docs_by_status by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3788 ## What's Changed * fix(kg): return copies from NetworkXStorage get_node and get_edge by @santhreal in https://github.com/HKUDS/LightRAG/pull/3588 * fix(operate): compute most common entity type and normalize keywords on rebuild by @santhreal in https://github.com/HKUDS/LightRAG/pull/3589 * fix(kg): return boolean values from get_all_update_flags_status by @santhreal in https://github.com/HKUDS/LightRAG/pull/3590 * fix(utils): split GRAPH_FIELD_SEP in merge_source_ids by @santhreal in https://github.com/HKUDS/LightRAG/pull/3592 * fix(utils): correct docstring example and harden compute_incremental_chunk_ids by @santhreal in https://github.com/HKUDS/LightRAG/pull/3591 * fix(parser): bound native markdown image downloads per document (GHSA-25c3-j78v-83qx) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3605 * fix(kg): hydrate track docs via shared row helper and catch TypeError by @santhreal in https://github.com/HKUDS/LightRAG/pull/3595 * fix(kg): make get_knowledge_graph truncation deterministic across graph backends by @santhreal in https://github.com/HKUDS/LightRAG/pull/3593 * fix(security): bound DOCX decompression and contain sidecar image paths by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3614 * fix(rebuild_vdb): drop lossy agtype quote-strip that corrupts quote-bearing entity_ids by @ysys143 in https://github.com/HKUDS/LightRAG/pull/3587 * fix(extraction): surface token-limit truncation and fail on empty truncated responses by @pengpengyi92 in https://github.com/HKUDS/LightRAG/pull/3607 * build(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3616 * fix(parser): enforce OOXML member and DOCX image budgets by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3619 * fix(graph): validate attributes on the manual entity/relation APIs (GHSA-c922-pw4m-4wcv) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3623 * fix(kg): enforce the graph-attribute contract in the backends that need it by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3624 * fix(api): reject unstorable characters in a document source by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3626 * fix(graph): preserve self-loops on entity rename by @pengpengyi92 in https://github.com/HKUDS/LightRAG/pull/3622 * fix(graph): reject self-loop relations at the manual write paths by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3625 * perf(kg): drop the seed-degree round trip from PGTable traversal by @ysys143 in https://github.com/HKUDS/LightRAG/pull/3618 * fix(milvus): page vector/id lookups to respect the gRPC response ceiling #3584 by @El-Tatane in https://github.com/HKUDS/LightRAG/pull/3629 * fix: forward embedding_dim to Ollama's embed API by @Vishwamitra in https://github.com/HKUDS/LightRAG/pull/3604 * fix: disable thinking for Ollama extract/keyword roles by default by @Vishwamitra in https://github.com/HKUDS/LightRAG/pull/3599 * fix(base): tolerate undeclared fields when rehydrating DocProcessingStatus by @qianheng-aws in https://github.com/HKUDS/LightRAG/pull/3633 * fix(llm): close OpenAI stream/client when GeneratorExit interrupts a mid-COT close by @AmirF194 in https://github.com/HKUDS/LightRAG/pull/3635 * fix(api): fail fast for custom Ollama embedding dimensions by @pengpengyi92 in https://github.com/HKUDS/LightRAG/pull/3636 * build(deps-dev): bump the build-tools group in /lightrag_webui with 5 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3641 * build(deps): bump the react group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3639 * build(deps): bump lucide-react from 1.26.0 to 1.29.0 in /lightrag_webui in the ui-components group by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3640 * build(deps): bump the content-rendering group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3642 * build(deps): bump the frontend-minor-patch group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3643 * fix(kg): refuse PGGraphStorage on Apache AGE >= 1.8.0, which crashes the backend by @ysys143 in https://github.com/HKUDS/LightRAG/pull/3621 * Refactor/parser cancellation exception rename by @MasaSN in https://github.com/HKUDS/LightRAG/pull/3637 * refactor(neo4j): clarify batch edge read contract by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3648 * Add an offline tool to migrate a graph from Apache AGE to PostgreSQL tables by @ysys143 in https://github.com/HKUDS/LightRAG/pull/3620 * fix(api): preserve source files when deleting duplicate markers by @pengpengyi92 in https://github.com/HKUDS/LightRAG/pull/3632 * docs: fix broken example links in programming guide by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3649 * docs: fix outdated defaults and env var names by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3653 * fix(parser): bound external result downloads for MinerU and Docling by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3638 * fix(webui): harden graph type color resolution against reserved property names by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3655 * docs(env.example): add the missing EXTRACT role variables by @torvalstrom in https://github.com/HKUDS/LightRAG/pull/3651 * fix(lmdeploy): preserve do_sample setting by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3654 * fix(parser): prevent quadratic Markdown image parsing by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3656 * feat: support graph-first ingestion with deferred vector indexing by @letsgetai in https://github.com/HKUDS/LightRAG/pull/3473 * fix(api): generalize EMBEDDING_DIM startup guard to all embedding bindings by @ClaireXi99 in https://github.com/HKUDS/LightRAG/pull/3646 * docs: document OrcaRouter as an OpenAI-compatible LLM binding by @Marc-oss-hub in https://github.com/HKUDS/LightRAG/pull/3650 * fix: warn when selectors bypass custom chunking by @er-s-an in https://github.com/HKUDS/LightRAG/pull/3662 * fix(chunker): reject negative token overlap by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3663 * fix(rerank): reject negative chunk overlap by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3667 * fix(lollms): honour configured binding host by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3668 * feat: add explicit custom chunking selector by @er-s-an in https://github.com/HKUDS/LightRAG/pull/3665 * build(deps): update openai requirement from <3.0.0,>=2.0.0 to >=2.0.0,<4.0.0 by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3670 * feat(api): add ENABLE_API_DOCS switch for API documentation exposure by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3672 * fix(merge): amerge_entities relation weight must track distinct-source count, not max by @AmirF194 in https://github.com/HKUDS/LightRAG/pull/3674 * fix(postgres): make AGE graph initialization idempotent by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3677 * fix(hf): exclude padding tokens from embedding pooling by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3675 * fix(kg): rank BFS levels by degree then label on mongo and opensearch by @Dhruv-kys in https://github.com/HKUDS/LightRAG/pull/3652 * Fix chunk-tracking reseed: distinguish absent row from present-but-empty row (#3609) by @jaideeppyne in https://github.com/HKUDS/LightRAG/pull/3660 * fix(graph): enforce relation evidence weight floor by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3676 * fix(hf): place generation inputs on model device by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3678 * fix(hf): honor generation token limits by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3687 * fix(lmdeploy): honor native max_new_tokens by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3689 * fix(ollama): map max_tokens to num_predict by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3690 * build(deps): bump lucide-react from 1.29.0 to 1.31.0 in /lightrag_webui in the ui-components group by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3682 * build(deps-dev): bump the build-tools group in /lightrag_webui with 2 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3683 * build(deps): bump the frontend-minor-patch group in /lightrag_webui with 4 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3684 * build(deps): bump react-dropzone from 15.0.0 to 19.1.1 in /lightrag_webui by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3685 * fix(gemini): map max_tokens to max_output_tokens by @AmirF194 in https://github.com/HKUDS/LightRAG/pull/3696 * fix(lollms): map max_tokens to n_predict by @Shizoqua in https://github.com/HKUDS/LightRAG/pull/3692 * test(utils): cover validate_file_path_security and subtract_source_ids by @YashvantHange in https://github.com/HKUDS/LightRAG/pull/3702 * fix(faiss): materialize an overwrite in one atomic rebuild by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3705 * fix(kg): keep unsaved upserts as a redo log and replay them after a reload by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3709 * fix(llm): close OpenAI stream on GeneratorExit during error-path COT close by @JessYanCoding in https://github.com/HKUDS/LightRAG/pull/3713 * fix(openai): encode embedding input with disallowed_special=() by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3718 * fix(embeddings): keep provider API keys request-local by @pengpengyi92 in https://github.com/HKUDS/LightRAG/pull/3717 * chore(deps): allow pandas 3.x by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3719 * fix(tokenizer): bisect the prefix bracket instead of clamping to one char by @JessYanCoding in https://github.com/HKUDS/LightRAG/pull/3722 * fix(pipeline): keep generated failure summary within varchar(255) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3735 * fix(llm): stop retrying permanent spend-stop 429s (LiteLLM budget_exceeded / OpenAI insufficient_quota) by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3736 * fix(extraction): stop dumping full chunk id list in KEEP skip log by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3737 * build(deps-dev): bump @types/react-dom from 19.2.4 to 19.2.5 in /lightrag_webui in the react group by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3730 * build(deps): bump lucide-react from 1.31.0 to 1.33.0 in /lightrag_webui in the ui-components group by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3731 * build(deps-dev): bump the build-tools group in /lightrag_webui with 2 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3732 * build(deps): bump mermaid from 11.16.1 to 11.17.0 in /lightrag_webui in the content-rendering group across 1 directory by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3733 * build(deps): bump the frontend-minor-patch group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3734 * fix(kg): save FaissVectorDBStorage off the event loop by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3742 * fix: move file-backend persistence off the event loop by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3740 * fix: keep LoLLMs stream session alive by @gry67673905 in https://github.com/HKUDS/LightRAG/pull/3741 * fix(webui): keep the document list refreshing when the backend stalls by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3743 * fix: accept valid empty JSON extraction results in cache rebuild by @AmirF194 in https://github.com/HKUDS/LightRAG/pull/3745 * fix(extraction): report an unparseable rebuild payload once, not twice by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3749 * 🐛 fix(webui): stop the conversation area from scrolling horizontally on phones by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3750 * Fix WebUI document refresh after BFCache restore by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3751 * fix(webui): show workspace description in tooltip by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3769 * fix(setup): enable UI templates in compose by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3770 * fix(setup): close the lightrag service at any top-level compose key by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3772 * refact(webui): Let the bundle name and render the login consent document by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3771 * fix(query): enforce meaningful RAG query length by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3776 * fix(query): refuse empty prompts and stop walking whole queries by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3780 * fix(reproduce): batch_eval.py always exits with TypeError — give it a CLI by @Anai-Guo in https://github.com/HKUDS/LightRAG/pull/3779 * refact(test): add React component tests and test harness isolation checks by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3783 * fix: read evaluation datasets as UTF-8 by @zjn20030811 in https://github.com/HKUDS/LightRAG/pull/3782 * Fail legibly when bun test runs without the DOM preload by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3784 * perf(chunker): defer whole-document encode to the fixed-window path by @hata33 in https://github.com/HKUDS/LightRAG/pull/3758 * refac(test): convert five source-text WebUI tests to real renders by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3786 * refactor(webui): drop the buildLegacyDocs compatibility layer left over from GET /documents by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3791 * test(webui): stop replacing the window global in the workspace entry test by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3793 * fix(export): stop aexport_data crashing on backends without client_storage by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3785 * perf(operate): encode chunk-invariant extraction prompts once per run by @hata33 in https://github.com/HKUDS/LightRAG/pull/3760 * test(extraction): pin the gleaning guard arithmetic and lazy invariant precompute by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3787 * docs: clarify file processing concurrency limits by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3794 * test(webui): finish converting source-text tests to real renders by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3792 * chore(deps): update anthropic requirement from <1.0.0,>=0.18.0 to >=0.18.0,<2.0.0 by @dependabot[bot] in https://github.com/HKUDS/LightRAG/pull/3795 * chore(deps): widen spacy ceiling to <3.8.17, lock to 3.8.16 by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3797 * docs(workspace): document the query entry, and show its parameter scope in the WebUI by @danielaskdd in https://github.com/HKUDS/LightRAG/pull/3798 ## New Contributors * @El-Tatane made their first contribution in https://github.com/HKUDS/LightRAG/pull/3629 * @Vishwamitra made their first contribution in https://github.com/HKUDS/LightRAG/pull/3604 * @qianheng-aws made their first contribution in https://github.com/HKUDS/LightRAG/pull/3633 * @AmirF194 made their first contribution in https://github.com/HKUDS/LightRAG/pull/3635 * @MasaSN made their first contribution in https://github.com/HKUDS/LightRAG/pull/3637 * @Shizoqua made their first contribution in https://github.com/HKUDS/LightRAG/pull/3649 * @torvalstrom made their first contribution in https://github.com/HKUDS/LightRAG/pull/3651 * @letsgetai made their first contribution in https://github.com/HKUDS/LightRAG/pull/3473 * @ClaireXi99 made their first contribution in https://github.com/HKUDS/LightRAG/pull/3646 * @Marc-oss-hub made their first contribution in https://github.com/HKUDS/LightRAG/pull/3650 * @er-s-an made their first contribution in https://github.com/HKUDS/LightRAG/pull/3662 * @Dhruv-kys made their first contribution in https://github.com/HKUDS/LightRAG/pull/3652 * @jaideeppyne made their first contribution in https://github.com/HKUDS/LightRAG/pull/3660 * @YashvantHange made their first contribution in https://github.com/HKUDS/LightRAG/pull/3702 * @0xPabloxx made their first contribution in https://github.com/HKUDS/LightRAG/pull/3680 * @yzxcj797 made their first contribution in https://github.com/HKUDS/LightRAG/pull/3693 * @JessYanCoding made their first contribution in https://github.com/HKUDS/LightRAG/pull/3713 * @gry67673905 made their first contribution in https://github.com/HKUDS/LightRAG/pull/3741 * @Anai-Guo made their first contribution in https://github.com/HKUDS/LightRAG/pull/3779 * @zjn20030811 made their first contribution in https://github.com/HKUDS/LightRAG/pull/3782 **Full Changelog**: https://github.com/HKUDS/LightRAG/compare/v1.5.6...v1.5.7
Related Repositories
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Reverse engineer anything with agents, from app behavior down to native binaries.
The open source coding agent.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.