Commit Graph

37 Commits

Author SHA1 Message Date
Willem Jiang
6686a531bd fix: improve config loading resilience for non-localhost access (#510) (#658)
* fix: improve config loading resilience for non-localhost access (#510)

- Add DEFAULT_CONFIG fallback to always return valid config even if fetch fails
- Implement retry logic with exponential backoff (max 2 retries) to handle transient failures
- Add 5-second fetch timeout to prevent hanging on unreachable backends
- Improve error logging with clear messages about config fetch status
- Always return DeerFlowConfig (never null) to prevent UI rendering issues
- Add safety checks in input-box component to verify reasoning models before access
- Improve type safety: verify array length before accessing array indices
- Add comprehensive documentation in .env.example with examples for different deployment scenarios
- Document NEXT_PUBLIC_API_URL variable behavior and fallback mechanism

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: add nullish coalescing to prevent TypeScript error in input-box

- Add ?? operator to handle potential undefined value when accessing reasoning[0]
- Fixes TS2322 error: Type 'string | undefined' is not assignable to type 'string | number | Date'

---------

Co-authored-by: Willem Jiang <143703838+willem-bd@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-26 07:34:12 +08:00
jimmyuconn1982
1ecf7859e7 fix: add max_clarification_rounds parameter passing from frontend to backend (#616)
Bug Fix
This PR fixes the issue where max_clarification_rounds parameter was not being passed from the frontend to the backend, causing a TypeError: '<' not supported between instances of 'int' and 'NoneType' error.

Technical Details
The issue was that the frontend was not passing the max_clarification_rounds parameter to the backend API, causing the backend to receive None values and fail during comparison operations. This fix ensures the parameter is properly typed and passed through the entire request chain.
2025-10-14 17:56:20 +08:00
jimmyuconn1982
fabec4abb6 feat: Add intelligent clarification feature in coordinate step for research queries (#613)
* fix: support local models by making thought field optional in Plan model

- Make thought field optional in Plan model to fix Pydantic validation errors with local models
- Add Ollama configuration example to conf.yaml.example
- Update documentation to include local model support
- Improve planner prompt with better JSON format requirements

Fixes local model integration issues where models like qwen3:14b would fail
due to missing thought field in JSON output.

* feat: Add intelligent clarification feature for research queries

- Add multi-turn clarification process to refine vague research questions
- Implement three-dimension clarification standard (Tech/App, Focus, Scope)
- Add clarification state management in coordinator node
- Update coordinator prompt with detailed clarification guidelines
- Add UI settings to enable/disable clarification feature (disabled by default)
- Update workflow to handle clarification rounds recursively
- Add comprehensive test coverage for clarification functionality
- Update documentation with clarification feature usage guide

Key components:
- src/graph/nodes.py: Core clarification logic and state management
- src/prompts/coordinator.md: Detailed clarification guidelines
- src/workflow.py: Recursive clarification handling
- web/: UI settings integration
- tests/: Comprehensive test coverage
- docs/: Updated configuration guide

* fix: Improve clarification conversation continuity

- Add comprehensive conversation history to clarification context
- Include previous exchanges summary in system messages
- Add explicit guidelines for continuing rounds in coordinator prompt
- Prevent LLM from starting new topics during clarification
- Ensure topic continuity across clarification rounds

Fixes issue where LLM would restart clarification instead of building upon previous exchanges.

* fix: Add conversation history to clarification context

* fix: resolve clarification feature message to planer, prompt, test issues

- Optimize coordinator.md prompt template for better clarification flow
- Simplify final message sent to planner after clarification
- Fix API key assertion issues in test_search.py

* fix: Add configurable max_clarification_rounds and comprehensive tests

- Add max_clarification_rounds parameter for external configuration
- Add comprehensive test cases for clarification feature in test_app.py
- Fixes issues found during interactive mode testing where:
  - Recursive call failed due to missing initial_state parameter
  - Clarification exited prematurely at max rounds
  - Incorrect logging of max rounds reached

* Move clarification tests to test_nodes.py and add max_clarification_rounds to zh.json
2025-10-14 13:35:57 +08:00
HagonChan
4de5724389 feat: add strategic_investment report style (#595)
* add strategic_investment mode

* make format

* make lint

* fix: repair
lint-frontend
2025-09-24 09:50:36 +08:00
JeffJiang
e4411d80d7 fix: next server fetch error (#374) 2025-06-27 14:23:04 +08:00
Abeautifulsnow
2fcbb91c10 improve: add abort btn to abort the mcp add request. (#284) 2025-06-26 08:51:46 +08:00
DanielWalnut
b6edc0fc8a feat: add deep think feature (#311)
* feat: implement backend logic

* feat: implement api/config endpoint

* rename the symbol

* feat: re-implement configuration at client-side

* feat: add client-side of deep thinking

* fix backend bug

* feat: add reasoning block

* docs: update readme

* fix: translate into English

* fix: change icon to lightbulb

* feat: ignore more bad cases

* feat: adjust thinking layout, and implement auto scrolling

* docs: add comments

---------

Co-authored-by: Henry Li <henry1943@163.com>
2025-06-14 13:12:43 +08:00
Lan
5ae07878d5 feat: append try catch (#280) 2025-06-12 20:43:50 +08:00
DanielWalnut
ffa6604297 feat: implement enhance prompt (#294)
* feat: implement enhance prompt

* add unit test

* fix prompt

* fix: fix eslint and compiling issues

* feat: add border-beam animation

* fix: fix importing issues

---------

Co-authored-by: Henry Li <henry1943@163.com>
2025-06-08 19:41:59 +08:00
DanielWalnut
01b1c21044 feat: support to adjust writing style (#290)
* feat: implment backend for adjust report style

* feat: add web part

* fix test cases

* fix: fix typing

---------

Co-authored-by: Henry Li <henry1943@163.com>
2025-06-07 20:48:39 +08:00
Aeolusw
c0005a997a fix: normalize line endings for consistent chunk splitting (#235) 2025-05-29 20:46:57 +08:00
JeffJiang
96fd196baa feat: RAG Integration (#238)
* feat: add rag provider and retriever

* feat: retriever tool

* feat: add retriever tool to the researcher node

* feat: add rag http apis

* feat: new message input supports resource mentions

* feat: new message input component support resource mentions

* refactor: need_web_search to need_search

* chore: RAG integration docs

* chore: change example api host

* fix: user message color in dark mode

* fix: mentions style

* feat: add local_search_tool to researcher prompt

* chore: research prompt

* fix: ragflow page size and reporter with

* docs: ragflow integration and add acknowledgment projects

* chore: format
2025-05-28 14:13:46 +08:00
DanielWalnut
bc95f4fca6 feat: config max_search_results for search engine (#192)
* feat: implement UI

* feat: config max_search_results for search engine via api

---------

Co-authored-by: Henry Li <henry1943@163.com>
2025-05-18 13:23:52 +08:00
Henry Li
0e0433cc5d feat: Enhanced Development Experience with Mock Mode (#35)
* feat: support mock for re-planning

* chore: update mock example: vibe coding

* chore: update final-answer.txt
2025-05-12 20:24:49 +08:00
Li Xin
d255bfe47a feat: fast-forward in mock mode 2025-05-08 12:05:15 +08:00
Li Xin
3cbece05f1 feat: enable mock specific files located in the public/mock folder 2025-05-08 12:01:31 +08:00
Li Xin
30a2a03ab8 fix: fix replay loading 2025-05-08 11:53:50 +08:00
Li Xin
03bf6f1f07 feat: enhance replay mode in static website 2025-05-08 09:53:09 +08:00
Li Xin
549f386d54 feat: change replay speed 2025-05-01 14:53:53 +08:00
Li Xin
0a0f705aca feat: enable investigation mode 2025-04-30 19:53:14 +08:00
Li Xin
0a59fc5439 fix: fix inheritance 2025-04-30 10:04:48 +08:00
Jiang Feng
906df61d81 feat: use tailwindcss-typography as markdown styling 2025-04-28 10:29:35 +08:00
Jiang Feng
66794a4b73 feat: prose completion api 2025-04-28 10:29:35 +08:00
Li Xin
7566f73757 feat: adjust animation speed 2025-04-25 14:48:08 +08:00
Li Xin
e24a05bc76 feat: adjust animation speed 2025-04-25 13:36:21 +08:00
Li Xin
cb9201bd34 feat: enhance replay and fast-forward replay 2025-04-24 22:15:17 +08:00
Li Xin
cb4b7b7495 feat: add Replay Mode 2025-04-24 21:51:08 +08:00
Li Xin
1755128209 feat: add autoAcceptedPlan to options 2025-04-24 17:24:58 +08:00
Li Xin
10b1d63834 feat: implement MCP UIs 2025-04-24 15:41:33 +08:00
Li Xin
6987ca67c3 feat: change the default API base URL 2025-04-22 11:03:53 +08:00
Li Xin
a57db4fa4a feat: support dark mode 2025-04-20 11:18:05 +08:00
Li Xin
2f06f0c433 feat: enable podcast 2025-04-19 22:11:57 +08:00
Li Xin
7dfd04af68 feat: adjust duration of mocking the tool-call 2025-04-19 13:58:31 +08:00
Li Xin
9758180e96 feat: enhance mocking data 2025-04-19 11:03:33 +08:00
Li Xin
86b05dac35 feat: enable API proxy 2025-04-17 16:39:27 +08:00
He Tao
fd85115f6f chore: add license header for web 2025-04-17 14:26:41 +08:00
Li Xin
fd7a803753 chore: merge with web UI project 2025-04-17 12:02:23 +08:00