The "Tool approval needed" toast (and several sibling surfaces) could linger after the state they represent was already gone. User-scoped SSE events (tool.approval.required, schedule.autopaused, attachment.queued, …) are durable and replayed on reconnect, but no terminal path emitted a matching clearing event and the reconciler only wrote operator-facing stack_logs — so a failed/expired message replayed its approval prompt with nothing to act on, and the toast trusted event presence over the actual message state. Backend — emit a user-facing event on every terminal path: - reconciler deletes pending_tool_state and publishes tool.approval.cleared when a stuck message is failed; cleanup_pending_tool_state does the same for TTL-reaped rows - reconciler now publishes source.ingest.failed (stalled ingest), schedule.run.failed (timeout/pending) and schedule.completed (once) - schedules PATCH-resume / DELETE publish schedule.resumed / .cancelled so a stale schedule.autopaused can't outvote them on replay - store_attachment gains the on_poison terminal-event hook the ingest tasks already have; mcp_oauth_task gains a soft/hard time limit so a hung flow self-reports mcp.oauth.failed - tighten the reconciler exemption to the (conversation_id, user_id) composite key Frontend — stop trusting event presence over truth: - notificationsSlice.resolveToolApproval evicts the matching tool.approval.required and persists its (stable) id dismissed so the backlog replay stays suppressed - ToolApprovalToast drops approval events older than the resumable TTL window as a backstop for a lost clearing event - schedulesSlice handles schedule.resumed / .cancelled / .completed - upload dismissals now outlive the SSE backlog retention window Tests cover the new clearing events at the reconciler, slice and dispatch layers.
DocsGPT 🦖
Private AI for agents, assistants and enterprise search
DocsGPT is an open-source AI platform for building intelligent agents and assistants. Features Agent Builder, deep research tools, document analysis (PDF, Office, web content, and audio), Multi-model support (choose your provider or run locally), and rich API connectivity for agents with actionable tools and integrations. Deploy anywhere with complete privacy control.
Key Features:
- 🗂️ Wide Format Support: Reads PDF, DOCX, CSV, XLSX, EPUB, MD, RST, HTML, MDX, JSON, PPTX, images, and audio files such as MP3, WAV, M4A, OGG, and WebM.
- 🎙️ Speech Workflows: Record voice input into chat, transcribe audio on the backend, and ingest meeting recordings or voice notes as searchable knowledge.
- 🌐 Web & Data Integration: Ingests from URLs, sitemaps, Reddit, GitHub and web crawlers.
- ✅ Reliable Answers: Get accurate, hallucination-free responses with source citations viewable in a clean UI.
- 🔑 Streamlined API Keys: Generate keys linked to your settings, documents, and models, simplifying chatbot and integration setup.
- 🔗 Actionable Tooling: Connect to APIs, tools, and other services to enable LLM actions.
- 🧩 Pre-built Integrations: Use readily available HTML/React chat widgets, search tools, Discord/Telegram bots, and more.
- 🔌 Flexible Deployment: Works with major LLMs (OpenAI, Google, Anthropic) and local models (Ollama, llama_cpp).
- 🏢 Secure & Scalable: Run privately and securely with Kubernetes support, designed for enterprise-grade reliability.
Roadmap
- Agent Workflow Builder with conditional nodes ( February 2026 )
- SharePoint & Confluence connectors ( March – April 2026 )
- Research mode ( March 2026 )
- Postgres migration for user data ( April 2026 )
- OpenTelemetry observability ( April 2026 )
- Bring Your Own Model (BYOM) ( April 2026 )
- Agent scheduling (RedBeat-backed) ( Q2 2026 )
You can find our full roadmap here. Please don't hesitate to contribute or create issues, it helps us improve DocsGPT!
Production Support / Help for Companies:
We're eager to provide personalized assistance when deploying your DocsGPT to a live environment.
Join the Lighthouse Program 🌟
Calling all developers and GenAI innovators! The DocsGPT Lighthouse Program connects technical leaders actively deploying or extending DocsGPT in real-world scenarios. Collaborate directly with our team to shape the roadmap, access priority support, and build enterprise-ready solutions with exclusive community insights.
QuickStart
Note
Make sure you have Docker installed
A more detailed Quickstart is available in our documentation
-
Clone the repository:
git clone https://github.com/arc53/DocsGPT.git cd DocsGPT
For macOS and Linux:
-
Run the setup script:
./setup.sh
For Windows:
-
Run the PowerShell setup script:
PowerShell -ExecutionPolicy Bypass -File .\setup.ps1
Either script will guide you through setting up DocsGPT. Five options available: using the public API, running locally, connecting to a local inference engine, using a cloud API provider, or build the docker image locally. Scripts will automatically configure your .env file and handle necessary downloads and installations based on your chosen option.
Navigate to http://localhost:5173/
To stop DocsGPT, open a terminal in the DocsGPT directory and run:
docker compose -f deployment/docker-compose.yaml down
(or use the specific docker compose down command shown after running the setup script).
Note
For development environment setup instructions, please refer to the Development Environment Guide.
Contributing
Please refer to the CONTRIBUTING.md file for information about how to get involved. We welcome issues, questions, and pull requests.
Architecture
Project Structure
-
Application - Flask app (main application).
-
Extensions - Extensions, like react widget or discord bot.
-
Scripts - Miscellaneous scripts.
Code Of Conduct
We as members, contributors, and leaders, pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. Please refer to the CODE_OF_CONDUCT.md file for more information about contributing.
Many Thanks To Our Contributors⚡
License
The source code license is MIT, as described in the LICENSE file.
