realtimex-deeptutor 0.5.0.post1__tar.gz → 0.5.0.post2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/PKG-INFO +24 -17
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/README.md +22 -16
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/pyproject.toml +11 -3
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor.egg-info/PKG-INFO +24 -17
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor.egg-info/SOURCES.txt +12 -1
- realtimex_deeptutor-0.5.0.post2/realtimex_deeptutor.egg-info/entry_points.txt +4 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor.egg-info/requires.txt +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/__init__.py +2 -2
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/material_organizer_agent.py +2 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/__init__.py +6 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/main_solver.py +9 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/analysis_loop/investigate_agent.yaml +9 -7
- realtimex_deeptutor-0.5.0.post2/src/agents/solve/session_manager.py +345 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/main.py +14 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/chat.py +3 -3
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/co_writer.py +12 -7
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/config.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/guide.py +3 -1
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/ideagen.py +7 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/knowledge.py +64 -12
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/question.py +2 -0
- realtimex_deeptutor-0.5.0.post2/src/api/routers/realtimex.py +137 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/research.py +9 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/solve.py +120 -2
- realtimex_deeptutor-0.5.0.post2/src/cli/__init__.py +13 -0
- realtimex_deeptutor-0.5.0.post2/src/cli/start.py +217 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/constants.py +11 -9
- realtimex_deeptutor-0.5.0.post2/src/knowledge/add_documents.py +846 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/extract_numbered_items.py +9 -10
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/initializer.py +102 -101
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/manager.py +251 -74
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/progress_tracker.py +43 -2
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/start_kb.py +11 -2
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/__init__.py +5 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/adapters/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/adapters/lightrag.py +25 -18
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/adapters/llamaindex.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/config.py +30 -27
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/handlers/__init__.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/logging/handlers/console.py +32 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/handlers/file.py +5 -20
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/handlers/websocket.py +23 -19
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/logger.py +161 -126
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/stats/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/logging/stats/llm_stats.py +37 -17
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/__init__.py +17 -1
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/config/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/config/knowledge_base_config.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/config/loader.py +1 -1
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/config/unified_config.py +211 -4
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/__init__.py +3 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/cohere.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/jina.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/ollama.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/adapters/openai_compatible.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/embedding/adapters/realtimex.py +125 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/client.py +27 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/config.py +3 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/embedding/provider.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/__init__.py +17 -3
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/capabilities.py +47 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/client.py +32 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/cloud_provider.py +21 -4
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/config.py +36 -2
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/error_mapping.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/exceptions.py +30 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/factory.py +55 -16
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/local_provider.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/providers/anthropic.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/providers/base_provider.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/providers/open_ai.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/llm/realtimex_provider.py +240 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/registry.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/telemetry.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/types.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/llm/utils.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/prompt/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/prompt/manager.py +3 -2
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/__init__.py +27 -5
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/chunkers/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/chunkers/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/chunkers/fixed.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/chunkers/numbered_item.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/chunkers/semantic.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/embedders/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/embedders/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/embedders/openai.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/indexers/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/indexers/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/indexers/graph.py +5 -44
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/indexers/lightrag.py +5 -44
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/indexers/vector.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/parsers/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/parsers/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/parsers/markdown.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/parsers/pdf.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/parsers/text.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/retrievers/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/retrievers/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/retrievers/dense.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/retrievers/hybrid.py +5 -44
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/retrievers/lightrag.py +5 -44
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/components/routing.py +48 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/factory.py +112 -46
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/pipeline.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/rag/pipelines/__init__.py +41 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/pipelines/lightrag.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/pipelines/llamaindex.py +99 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/pipelines/raganything.py +67 -100
- realtimex_deeptutor-0.5.0.post2/src/services/rag/pipelines/raganything_docling.py +368 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/service.py +5 -12
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/rag/types.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/rag/utils/__init__.py +17 -0
- realtimex_deeptutor-0.5.0.post2/src/services/rag/utils/image_migration.py +279 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/base.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/consolidation.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/baidu.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/exa.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/jina.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/perplexity.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/serper.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/providers/tavily.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/search/types.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/settings/__init__.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/services/settings/interface_settings.py +78 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/setup/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/tts/__init__.py +1 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/tts/config.py +1 -0
- realtimex_deeptutor-0.5.0.post2/src/utils/realtimex.py +284 -0
- realtimex_deeptutor-0.5.0.post1/realtimex_deeptutor.egg-info/entry_points.txt +0 -2
- realtimex_deeptutor-0.5.0.post1/src/knowledge/add_documents.py +0 -606
- realtimex_deeptutor-0.5.0.post1/src/logging/handlers/console.py +0 -75
- realtimex_deeptutor-0.5.0.post1/src/services/rag/pipelines/__init__.py +0 -32
- realtimex_deeptutor-0.5.0.post1/src/services/rag/pipelines/academic.py +0 -44
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/LICENSE +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor.egg-info/dependency_links.txt +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/realtimex_deeptutor.egg-info/top_level.txt +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/setup.cfg +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/base_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/chat/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/chat/chat_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/chat/prompts/en/chat_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/chat/prompts/zh/chat_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/chat/session_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/edit_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/narrator_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/prompts/en/edit_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/prompts/en/narrator_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/prompts/zh/edit_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/co_writer/prompts/zh/narrator_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/agents/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/agents/chat_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/agents/interactive_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/agents/locate_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/agents/summary_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/guide_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/en/chat_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/en/interactive_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/en/locate_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/en/summary_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/zh/chat_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/zh/interactive_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/zh/locate_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/guide/prompts/zh/summary_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/idea_generation_workflow.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/prompts/en/idea_generation.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/prompts/en/material_organizer.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/prompts/zh/idea_generation.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/ideagen/prompts/zh/material_organizer.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/agents/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/agents/generate_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/agents/relevance_analyzer.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/agents/retrieve_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/coordinator.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/example.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/en/coordinator.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/en/generate_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/en/relevance_analyzer.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/en/retrieve_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/zh/coordinator.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/zh/generate_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/zh/relevance_analyzer.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/question/prompts/zh/retrieve_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/decompose_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/manager_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/note_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/rephrase_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/reporting_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/agents/research_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/data_structures.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/main.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/decompose_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/manager_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/note_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/rephrase_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/reporting_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/en/research_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/decompose_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/manager_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/note_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/rephrase_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/reporting_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/prompts/zh/research_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/research_pipeline.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/utils/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/utils/citation_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/utils/json_utils.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/research/utils/token_tracker.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/analysis_loop/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/analysis_loop/investigate_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/analysis_loop/note_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/memory/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/memory/citation_memory.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/memory/investigate_memory.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/memory/solve_memory.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/analysis_loop/investigate_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/analysis_loop/note_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/solve_loop/manager_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/solve_loop/precision_answer_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/solve_loop/response_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/solve_loop/solve_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/en/solve_loop/tool_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/analysis_loop/note_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/solve_loop/manager_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/solve_loop/precision_answer_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/solve_loop/response_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/solve_loop/solve_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/prompts/zh/solve_loop/tool_agent.yaml +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/citation_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/manager_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/precision_answer_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/response_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/solve_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/solve_loop/tool_agent.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/config_validator.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/display_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/error_handler.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/json_utils.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/performance_monitor.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/utils/token_tracker.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/agent_config.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/dashboard.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/notebook.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/settings.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/routers/system.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/run_server.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/utils/history.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/utils/log_interceptor.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/utils/notebook_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/utils/progress_broadcaster.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/api/utils/task_id_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/accessors.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/defaults.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/schema.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/config/settings.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/core/errors.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/config.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/example_add_documents.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/knowledge/kb.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/services/setup/init.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/code_executor.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/paper_search_tool.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/query_item_tool.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/question/__init__.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/question/exam_mimic.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/question/pdf_parser.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/question/question_extractor.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/rag_tool.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/tex_chunker.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/tex_downloader.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/tools/web_search.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/config_manager.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/document_validator.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/error_rate_tracker.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/error_utils.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/json_parser.py +0 -0
- {realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/utils/network/circuit_breaker.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: realtimex-deeptutor
|
|
3
|
-
Version: 0.5.0.
|
|
3
|
+
Version: 0.5.0.post2
|
|
4
4
|
Summary: RealTimeX DeepTutor - Intelligent learning companion with multi-agent collaboration and LightRAG
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -26,6 +26,7 @@ Requires-Dist: lightrag-hku>=1.0.0
|
|
|
26
26
|
Requires-Dist: PyMuPDF>=1.26.0
|
|
27
27
|
Requires-Dist: numpy<2.0.0,>=1.24.0
|
|
28
28
|
Requires-Dist: arxiv>=2.0.0
|
|
29
|
+
Requires-Dist: realtimex-sdk>=1.1.2
|
|
29
30
|
Provides-Extra: anthropic
|
|
30
31
|
Requires-Dist: anthropic>=0.30.0; extra == "anthropic"
|
|
31
32
|
Provides-Extra: dashscope
|
|
@@ -90,8 +91,6 @@ Dynamic: license-file
|
|
|
90
91
|
---
|
|
91
92
|
### 📰 News
|
|
92
93
|
|
|
93
|
-
> **[2026.1.15]** DeepTutor [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) is out! Fixed multiple environment configuration and stability issues. We recommend everyone to pull the latest version! 🎉
|
|
94
|
-
|
|
95
94
|
> **[2026.1.1]** Happy New Year! Join our [Discord Community](https://discord.gg/zpP9cssj), [Wechat Community](https://github.com/HKUDS/DeepTutor/issues/78), or [Discussions](https://github.com/HKUDS/DeepTutor/discussions) - shape the future of DeepTutor! 💬
|
|
96
95
|
|
|
97
96
|
> **[2025.12.30]** Visit our [Official Website](https://hkuds.github.io/DeepTutor/) for more details!
|
|
@@ -100,10 +99,16 @@ Dynamic: license-file
|
|
|
100
99
|
|
|
101
100
|
### 📦 Releases
|
|
102
101
|
|
|
103
|
-
> **[2026.1.
|
|
102
|
+
> **[2026.1.23]** Release [v0.6.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.6.0) - Frontend session persistence, full Chinese support, Docker deployment updates, and minor bug fixes -- Thanks for all the feedback!
|
|
103
|
+
|
|
104
104
|
<details>
|
|
105
105
|
<summary>History releases</summary>
|
|
106
106
|
|
|
107
|
+
> **[2026.1.18]** Release [v0.5.2](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.1) - Enhance RAG pipeline with Docling support and improve CI/CD workflows with several minor bugs fixed -- Thanks to all the feedbacks!
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
> **[2026.1.15]** Release [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) - Unified LLM & Embedding services, RAG pipeline selection, and major enhancements to Home, History, QuestionGen & Settings modules -- Thanks to all the contributors!
|
|
111
|
+
|
|
107
112
|
> **[2026.1.9]** Release [v0.4.1](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.1) with LLM Provider system overhaul, Question Generation robustness improvements, and codebase cleanup - Thanks to all the contributors!
|
|
108
113
|
|
|
109
114
|
> **[2026.1.9]** Release [v0.4.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.0) with new code structure, multiple llm & embeddings support - Thanks to all the contributors!
|
|
@@ -390,14 +395,14 @@ cp .env.example .env
|
|
|
390
395
|
**Quick Start** — Build from source:
|
|
391
396
|
|
|
392
397
|
```bash
|
|
393
|
-
docker compose up
|
|
394
|
-
docker compose
|
|
398
|
+
docker compose up # Build and start (~11 min first run on mac mini M4)
|
|
399
|
+
docker compose build --no-cache # Clear cache and rebuild after pull the newest repo
|
|
395
400
|
```
|
|
396
401
|
|
|
397
402
|
**Or use pre-built image** (faster):
|
|
398
403
|
|
|
399
404
|
```bash
|
|
400
|
-
#
|
|
405
|
+
# Works on all platforms - Docker auto-detects your architecture
|
|
401
406
|
docker run -d --name deeptutor \
|
|
402
407
|
-p 8001:8001 -p 3782:3782 \
|
|
403
408
|
--env-file .env \
|
|
@@ -405,7 +410,6 @@ docker run -d --name deeptutor \
|
|
|
405
410
|
-v $(pwd)/config:/app/config:ro \
|
|
406
411
|
ghcr.io/hkuds/deeptutor:latest
|
|
407
412
|
|
|
408
|
-
# Apple Silicon (ARM64): use ghcr.io/hkuds/deeptutor:latest-arm64
|
|
409
413
|
# Windows PowerShell: use ${PWD} instead of $(pwd)
|
|
410
414
|
```
|
|
411
415
|
|
|
@@ -421,14 +425,16 @@ docker compose up --build # Rebuild after changes
|
|
|
421
425
|
<details>
|
|
422
426
|
<summary>📋 <b>More Docker Options</b> (Pre-built images, Cloud deployment, Custom ports)</summary>
|
|
423
427
|
|
|
424
|
-
**Pre-built Image
|
|
428
|
+
**Pre-built Image Tags:**
|
|
425
429
|
|
|
426
|
-
|
|
|
427
|
-
|
|
428
|
-
|
|
|
429
|
-
|
|
|
430
|
+
| Tag | Architectures | Description |
|
|
431
|
+
|:----|:--------------|:------------|
|
|
432
|
+
| `:latest` | AMD64 + ARM64 | Latest stable release (auto-detects your architecture) |
|
|
433
|
+
| `:v0.5.x` | AMD64 + ARM64 | Specific version (auto-detects your architecture) |
|
|
434
|
+
| `:v0.5.x-amd64` | AMD64 only | Explicit AMD64 image |
|
|
435
|
+
| `:v0.5.x-arm64` | ARM64 only | Explicit ARM64 image |
|
|
430
436
|
|
|
431
|
-
> 💡
|
|
437
|
+
> 💡 The `:latest` tag is a **multi-architecture image** — Docker automatically pulls the correct version for your system (Intel/AMD or Apple Silicon/ARM)
|
|
432
438
|
|
|
433
439
|
**Cloud Deployment** — Must set external API URL:
|
|
434
440
|
|
|
@@ -1605,8 +1611,9 @@ We hope DeepTutor could become a gift for the community. 🎁
|
|
|
1605
1611
|
|
|
1606
1612
|
This project is licensed under the ***[AGPL-3.0 License](LICENSE)***.
|
|
1607
1613
|
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1614
|
+
<p align="center">
|
|
1615
|
+
<em> Thanks for visiting ✨ DeepTutor!</em><br><br>
|
|
1616
|
+
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1617
|
+
</p>
|
|
1611
1618
|
|
|
1612
1619
|
</div>
|
|
@@ -37,8 +37,6 @@
|
|
|
37
37
|
---
|
|
38
38
|
### 📰 News
|
|
39
39
|
|
|
40
|
-
> **[2026.1.15]** DeepTutor [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) is out! Fixed multiple environment configuration and stability issues. We recommend everyone to pull the latest version! 🎉
|
|
41
|
-
|
|
42
40
|
> **[2026.1.1]** Happy New Year! Join our [Discord Community](https://discord.gg/zpP9cssj), [Wechat Community](https://github.com/HKUDS/DeepTutor/issues/78), or [Discussions](https://github.com/HKUDS/DeepTutor/discussions) - shape the future of DeepTutor! 💬
|
|
43
41
|
|
|
44
42
|
> **[2025.12.30]** Visit our [Official Website](https://hkuds.github.io/DeepTutor/) for more details!
|
|
@@ -47,10 +45,16 @@
|
|
|
47
45
|
|
|
48
46
|
### 📦 Releases
|
|
49
47
|
|
|
50
|
-
> **[2026.1.
|
|
48
|
+
> **[2026.1.23]** Release [v0.6.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.6.0) - Frontend session persistence, full Chinese support, Docker deployment updates, and minor bug fixes -- Thanks for all the feedback!
|
|
49
|
+
|
|
51
50
|
<details>
|
|
52
51
|
<summary>History releases</summary>
|
|
53
52
|
|
|
53
|
+
> **[2026.1.18]** Release [v0.5.2](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.1) - Enhance RAG pipeline with Docling support and improve CI/CD workflows with several minor bugs fixed -- Thanks to all the feedbacks!
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
> **[2026.1.15]** Release [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) - Unified LLM & Embedding services, RAG pipeline selection, and major enhancements to Home, History, QuestionGen & Settings modules -- Thanks to all the contributors!
|
|
57
|
+
|
|
54
58
|
> **[2026.1.9]** Release [v0.4.1](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.1) with LLM Provider system overhaul, Question Generation robustness improvements, and codebase cleanup - Thanks to all the contributors!
|
|
55
59
|
|
|
56
60
|
> **[2026.1.9]** Release [v0.4.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.0) with new code structure, multiple llm & embeddings support - Thanks to all the contributors!
|
|
@@ -337,14 +341,14 @@ cp .env.example .env
|
|
|
337
341
|
**Quick Start** — Build from source:
|
|
338
342
|
|
|
339
343
|
```bash
|
|
340
|
-
docker compose up
|
|
341
|
-
docker compose
|
|
344
|
+
docker compose up # Build and start (~11 min first run on mac mini M4)
|
|
345
|
+
docker compose build --no-cache # Clear cache and rebuild after pull the newest repo
|
|
342
346
|
```
|
|
343
347
|
|
|
344
348
|
**Or use pre-built image** (faster):
|
|
345
349
|
|
|
346
350
|
```bash
|
|
347
|
-
#
|
|
351
|
+
# Works on all platforms - Docker auto-detects your architecture
|
|
348
352
|
docker run -d --name deeptutor \
|
|
349
353
|
-p 8001:8001 -p 3782:3782 \
|
|
350
354
|
--env-file .env \
|
|
@@ -352,7 +356,6 @@ docker run -d --name deeptutor \
|
|
|
352
356
|
-v $(pwd)/config:/app/config:ro \
|
|
353
357
|
ghcr.io/hkuds/deeptutor:latest
|
|
354
358
|
|
|
355
|
-
# Apple Silicon (ARM64): use ghcr.io/hkuds/deeptutor:latest-arm64
|
|
356
359
|
# Windows PowerShell: use ${PWD} instead of $(pwd)
|
|
357
360
|
```
|
|
358
361
|
|
|
@@ -368,14 +371,16 @@ docker compose up --build # Rebuild after changes
|
|
|
368
371
|
<details>
|
|
369
372
|
<summary>📋 <b>More Docker Options</b> (Pre-built images, Cloud deployment, Custom ports)</summary>
|
|
370
373
|
|
|
371
|
-
**Pre-built Image
|
|
374
|
+
**Pre-built Image Tags:**
|
|
372
375
|
|
|
373
|
-
|
|
|
374
|
-
|
|
375
|
-
|
|
|
376
|
-
|
|
|
376
|
+
| Tag | Architectures | Description |
|
|
377
|
+
|:----|:--------------|:------------|
|
|
378
|
+
| `:latest` | AMD64 + ARM64 | Latest stable release (auto-detects your architecture) |
|
|
379
|
+
| `:v0.5.x` | AMD64 + ARM64 | Specific version (auto-detects your architecture) |
|
|
380
|
+
| `:v0.5.x-amd64` | AMD64 only | Explicit AMD64 image |
|
|
381
|
+
| `:v0.5.x-arm64` | ARM64 only | Explicit ARM64 image |
|
|
377
382
|
|
|
378
|
-
> 💡
|
|
383
|
+
> 💡 The `:latest` tag is a **multi-architecture image** — Docker automatically pulls the correct version for your system (Intel/AMD or Apple Silicon/ARM)
|
|
379
384
|
|
|
380
385
|
**Cloud Deployment** — Must set external API URL:
|
|
381
386
|
|
|
@@ -1552,8 +1557,9 @@ We hope DeepTutor could become a gift for the community. 🎁
|
|
|
1552
1557
|
|
|
1553
1558
|
This project is licensed under the ***[AGPL-3.0 License](LICENSE)***.
|
|
1554
1559
|
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1560
|
+
<p align="center">
|
|
1561
|
+
<em> Thanks for visiting ✨ DeepTutor!</em><br><br>
|
|
1562
|
+
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1563
|
+
</p>
|
|
1558
1564
|
|
|
1559
1565
|
</div>
|
|
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "realtimex-deeptutor"
|
|
10
|
-
version = "0.5.0.
|
|
10
|
+
version = "0.5.0.post2"
|
|
11
11
|
description = "RealTimeX DeepTutor - Intelligent learning companion with multi-agent collaboration and LightRAG"
|
|
12
12
|
requires-python = ">=3.10"
|
|
13
13
|
readme = "README.md"
|
|
@@ -43,6 +43,8 @@ dependencies = [
|
|
|
43
43
|
"numpy>=1.24.0,<2.0.0",
|
|
44
44
|
# Academic and research tools
|
|
45
45
|
"arxiv>=2.0.0",
|
|
46
|
+
# RealTimeX SDK
|
|
47
|
+
"realtimex-sdk>=1.1.2",
|
|
46
48
|
]
|
|
47
49
|
|
|
48
50
|
# Optional dependencies for different providers and features
|
|
@@ -79,7 +81,12 @@ dev = [
|
|
|
79
81
|
]
|
|
80
82
|
|
|
81
83
|
[project.scripts]
|
|
82
|
-
|
|
84
|
+
# Main entry point for full-stack startup (uvx realtimex-deeptutor)
|
|
85
|
+
realtimex-deeptutor = "src.cli.start:main"
|
|
86
|
+
deeptutor = "src.cli.start:main" # Shorter alias
|
|
87
|
+
|
|
88
|
+
# Backend-only mode (existing, for advanced users)
|
|
89
|
+
deeptutor-backend = "src.api.run_server:main"
|
|
83
90
|
|
|
84
91
|
[tool.setuptools.packages.find]
|
|
85
92
|
where = ["."]
|
|
@@ -231,7 +238,8 @@ split-on-trailing-comma = true
|
|
|
231
238
|
# ============================================
|
|
232
239
|
[tool.ruff.lint.per-file-ignores]
|
|
233
240
|
# Allow longer lines in test files
|
|
234
|
-
|
|
241
|
+
# F401: Allow unused imports for availability checks in tests
|
|
242
|
+
"**/test_*.py" = ["E501", "PLR2004", "F401"]
|
|
235
243
|
"**/__init__.py" = ["F401"] # Allow unused imports in __init__.py
|
|
236
244
|
|
|
237
245
|
# ============================================
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: realtimex-deeptutor
|
|
3
|
-
Version: 0.5.0.
|
|
3
|
+
Version: 0.5.0.post2
|
|
4
4
|
Summary: RealTimeX DeepTutor - Intelligent learning companion with multi-agent collaboration and LightRAG
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -26,6 +26,7 @@ Requires-Dist: lightrag-hku>=1.0.0
|
|
|
26
26
|
Requires-Dist: PyMuPDF>=1.26.0
|
|
27
27
|
Requires-Dist: numpy<2.0.0,>=1.24.0
|
|
28
28
|
Requires-Dist: arxiv>=2.0.0
|
|
29
|
+
Requires-Dist: realtimex-sdk>=1.1.2
|
|
29
30
|
Provides-Extra: anthropic
|
|
30
31
|
Requires-Dist: anthropic>=0.30.0; extra == "anthropic"
|
|
31
32
|
Provides-Extra: dashscope
|
|
@@ -90,8 +91,6 @@ Dynamic: license-file
|
|
|
90
91
|
---
|
|
91
92
|
### 📰 News
|
|
92
93
|
|
|
93
|
-
> **[2026.1.15]** DeepTutor [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) is out! Fixed multiple environment configuration and stability issues. We recommend everyone to pull the latest version! 🎉
|
|
94
|
-
|
|
95
94
|
> **[2026.1.1]** Happy New Year! Join our [Discord Community](https://discord.gg/zpP9cssj), [Wechat Community](https://github.com/HKUDS/DeepTutor/issues/78), or [Discussions](https://github.com/HKUDS/DeepTutor/discussions) - shape the future of DeepTutor! 💬
|
|
96
95
|
|
|
97
96
|
> **[2025.12.30]** Visit our [Official Website](https://hkuds.github.io/DeepTutor/) for more details!
|
|
@@ -100,10 +99,16 @@ Dynamic: license-file
|
|
|
100
99
|
|
|
101
100
|
### 📦 Releases
|
|
102
101
|
|
|
103
|
-
> **[2026.1.
|
|
102
|
+
> **[2026.1.23]** Release [v0.6.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.6.0) - Frontend session persistence, full Chinese support, Docker deployment updates, and minor bug fixes -- Thanks for all the feedback!
|
|
103
|
+
|
|
104
104
|
<details>
|
|
105
105
|
<summary>History releases</summary>
|
|
106
106
|
|
|
107
|
+
> **[2026.1.18]** Release [v0.5.2](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.1) - Enhance RAG pipeline with Docling support and improve CI/CD workflows with several minor bugs fixed -- Thanks to all the feedbacks!
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
> **[2026.1.15]** Release [v0.5.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.5.0) - Unified LLM & Embedding services, RAG pipeline selection, and major enhancements to Home, History, QuestionGen & Settings modules -- Thanks to all the contributors!
|
|
111
|
+
|
|
107
112
|
> **[2026.1.9]** Release [v0.4.1](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.1) with LLM Provider system overhaul, Question Generation robustness improvements, and codebase cleanup - Thanks to all the contributors!
|
|
108
113
|
|
|
109
114
|
> **[2026.1.9]** Release [v0.4.0](https://github.com/HKUDS/DeepTutor/releases/tag/v0.4.0) with new code structure, multiple llm & embeddings support - Thanks to all the contributors!
|
|
@@ -390,14 +395,14 @@ cp .env.example .env
|
|
|
390
395
|
**Quick Start** — Build from source:
|
|
391
396
|
|
|
392
397
|
```bash
|
|
393
|
-
docker compose up
|
|
394
|
-
docker compose
|
|
398
|
+
docker compose up # Build and start (~11 min first run on mac mini M4)
|
|
399
|
+
docker compose build --no-cache # Clear cache and rebuild after pull the newest repo
|
|
395
400
|
```
|
|
396
401
|
|
|
397
402
|
**Or use pre-built image** (faster):
|
|
398
403
|
|
|
399
404
|
```bash
|
|
400
|
-
#
|
|
405
|
+
# Works on all platforms - Docker auto-detects your architecture
|
|
401
406
|
docker run -d --name deeptutor \
|
|
402
407
|
-p 8001:8001 -p 3782:3782 \
|
|
403
408
|
--env-file .env \
|
|
@@ -405,7 +410,6 @@ docker run -d --name deeptutor \
|
|
|
405
410
|
-v $(pwd)/config:/app/config:ro \
|
|
406
411
|
ghcr.io/hkuds/deeptutor:latest
|
|
407
412
|
|
|
408
|
-
# Apple Silicon (ARM64): use ghcr.io/hkuds/deeptutor:latest-arm64
|
|
409
413
|
# Windows PowerShell: use ${PWD} instead of $(pwd)
|
|
410
414
|
```
|
|
411
415
|
|
|
@@ -421,14 +425,16 @@ docker compose up --build # Rebuild after changes
|
|
|
421
425
|
<details>
|
|
422
426
|
<summary>📋 <b>More Docker Options</b> (Pre-built images, Cloud deployment, Custom ports)</summary>
|
|
423
427
|
|
|
424
|
-
**Pre-built Image
|
|
428
|
+
**Pre-built Image Tags:**
|
|
425
429
|
|
|
426
|
-
|
|
|
427
|
-
|
|
428
|
-
|
|
|
429
|
-
|
|
|
430
|
+
| Tag | Architectures | Description |
|
|
431
|
+
|:----|:--------------|:------------|
|
|
432
|
+
| `:latest` | AMD64 + ARM64 | Latest stable release (auto-detects your architecture) |
|
|
433
|
+
| `:v0.5.x` | AMD64 + ARM64 | Specific version (auto-detects your architecture) |
|
|
434
|
+
| `:v0.5.x-amd64` | AMD64 only | Explicit AMD64 image |
|
|
435
|
+
| `:v0.5.x-arm64` | ARM64 only | Explicit ARM64 image |
|
|
430
436
|
|
|
431
|
-
> 💡
|
|
437
|
+
> 💡 The `:latest` tag is a **multi-architecture image** — Docker automatically pulls the correct version for your system (Intel/AMD or Apple Silicon/ARM)
|
|
432
438
|
|
|
433
439
|
**Cloud Deployment** — Must set external API URL:
|
|
434
440
|
|
|
@@ -1605,8 +1611,9 @@ We hope DeepTutor could become a gift for the community. 🎁
|
|
|
1605
1611
|
|
|
1606
1612
|
This project is licensed under the ***[AGPL-3.0 License](LICENSE)***.
|
|
1607
1613
|
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1614
|
+
<p align="center">
|
|
1615
|
+
<em> Thanks for visiting ✨ DeepTutor!</em><br><br>
|
|
1616
|
+
<img src="https://visitor-badge.laobi.icu/badge?page_id=HKUDS.DeepTutor&style=for-the-badge&color=00d4ff" alt="Views">
|
|
1617
|
+
</p>
|
|
1611
1618
|
|
|
1612
1619
|
</div>
|
|
@@ -88,6 +88,7 @@ src/agents/research/utils/json_utils.py
|
|
|
88
88
|
src/agents/research/utils/token_tracker.py
|
|
89
89
|
src/agents/solve/__init__.py
|
|
90
90
|
src/agents/solve/main_solver.py
|
|
91
|
+
src/agents/solve/session_manager.py
|
|
91
92
|
src/agents/solve/analysis_loop/__init__.py
|
|
92
93
|
src/agents/solve/analysis_loop/investigate_agent.py
|
|
93
94
|
src/agents/solve/analysis_loop/note_agent.py
|
|
@@ -137,6 +138,7 @@ src/api/routers/ideagen.py
|
|
|
137
138
|
src/api/routers/knowledge.py
|
|
138
139
|
src/api/routers/notebook.py
|
|
139
140
|
src/api/routers/question.py
|
|
141
|
+
src/api/routers/realtimex.py
|
|
140
142
|
src/api/routers/research.py
|
|
141
143
|
src/api/routers/settings.py
|
|
142
144
|
src/api/routers/solve.py
|
|
@@ -146,6 +148,8 @@ src/api/utils/log_interceptor.py
|
|
|
146
148
|
src/api/utils/notebook_manager.py
|
|
147
149
|
src/api/utils/progress_broadcaster.py
|
|
148
150
|
src/api/utils/task_id_manager.py
|
|
151
|
+
src/cli/__init__.py
|
|
152
|
+
src/cli/start.py
|
|
149
153
|
src/config/__init__.py
|
|
150
154
|
src/config/accessors.py
|
|
151
155
|
src/config/constants.py
|
|
@@ -190,6 +194,7 @@ src/services/embedding/adapters/cohere.py
|
|
|
190
194
|
src/services/embedding/adapters/jina.py
|
|
191
195
|
src/services/embedding/adapters/ollama.py
|
|
192
196
|
src/services/embedding/adapters/openai_compatible.py
|
|
197
|
+
src/services/embedding/adapters/realtimex.py
|
|
193
198
|
src/services/llm/__init__.py
|
|
194
199
|
src/services/llm/capabilities.py
|
|
195
200
|
src/services/llm/client.py
|
|
@@ -199,6 +204,7 @@ src/services/llm/error_mapping.py
|
|
|
199
204
|
src/services/llm/exceptions.py
|
|
200
205
|
src/services/llm/factory.py
|
|
201
206
|
src/services/llm/local_provider.py
|
|
207
|
+
src/services/llm/realtimex_provider.py
|
|
202
208
|
src/services/llm/registry.py
|
|
203
209
|
src/services/llm/telemetry.py
|
|
204
210
|
src/services/llm/types.py
|
|
@@ -240,10 +246,12 @@ src/services/rag/components/retrievers/dense.py
|
|
|
240
246
|
src/services/rag/components/retrievers/hybrid.py
|
|
241
247
|
src/services/rag/components/retrievers/lightrag.py
|
|
242
248
|
src/services/rag/pipelines/__init__.py
|
|
243
|
-
src/services/rag/pipelines/academic.py
|
|
244
249
|
src/services/rag/pipelines/lightrag.py
|
|
245
250
|
src/services/rag/pipelines/llamaindex.py
|
|
246
251
|
src/services/rag/pipelines/raganything.py
|
|
252
|
+
src/services/rag/pipelines/raganything_docling.py
|
|
253
|
+
src/services/rag/utils/__init__.py
|
|
254
|
+
src/services/rag/utils/image_migration.py
|
|
247
255
|
src/services/search/__init__.py
|
|
248
256
|
src/services/search/base.py
|
|
249
257
|
src/services/search/consolidation.py
|
|
@@ -255,6 +263,8 @@ src/services/search/providers/jina.py
|
|
|
255
263
|
src/services/search/providers/perplexity.py
|
|
256
264
|
src/services/search/providers/serper.py
|
|
257
265
|
src/services/search/providers/tavily.py
|
|
266
|
+
src/services/settings/__init__.py
|
|
267
|
+
src/services/settings/interface_settings.py
|
|
258
268
|
src/services/setup/__init__.py
|
|
259
269
|
src/services/setup/init.py
|
|
260
270
|
src/services/tts/__init__.py
|
|
@@ -276,4 +286,5 @@ src/utils/document_validator.py
|
|
|
276
286
|
src/utils/error_rate_tracker.py
|
|
277
287
|
src/utils/error_utils.py
|
|
278
288
|
src/utils/json_parser.py
|
|
289
|
+
src/utils/realtimex.py
|
|
279
290
|
src/utils/network/circuit_breaker.py
|
|
@@ -17,7 +17,7 @@ Core Modules:
|
|
|
17
17
|
Usage:
|
|
18
18
|
# Import as a package for integration with other services
|
|
19
19
|
from src.api.main import app
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
# Or use individual modules
|
|
22
22
|
from src.services.rag import RAGService
|
|
23
23
|
from src.agents import ChatAgent
|
|
@@ -30,7 +30,7 @@ __package_name__ = "realtimex-deeptutor"
|
|
|
30
30
|
# These are imported lazily to avoid circular imports and heavy startup
|
|
31
31
|
__all__ = [
|
|
32
32
|
"agents",
|
|
33
|
-
"api",
|
|
33
|
+
"api",
|
|
34
34
|
"services",
|
|
35
35
|
"knowledge",
|
|
36
36
|
"logging",
|
|
@@ -25,6 +25,7 @@ class MaterialOrganizerAgent(BaseAgent):
|
|
|
25
25
|
language: str = "en",
|
|
26
26
|
api_key: str | None = None,
|
|
27
27
|
base_url: str | None = None,
|
|
28
|
+
api_version: str | None = None,
|
|
28
29
|
model: str | None = None,
|
|
29
30
|
):
|
|
30
31
|
super().__init__(
|
|
@@ -32,6 +33,7 @@ class MaterialOrganizerAgent(BaseAgent):
|
|
|
32
33
|
agent_name="material_organizer",
|
|
33
34
|
api_key=api_key,
|
|
34
35
|
base_url=base_url,
|
|
36
|
+
api_version=api_version,
|
|
35
37
|
model=model,
|
|
36
38
|
language=language,
|
|
37
39
|
)
|
{realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/__init__.py
RENAMED
|
@@ -42,6 +42,9 @@ from .memory import (
|
|
|
42
42
|
ToolCallRecord,
|
|
43
43
|
)
|
|
44
44
|
|
|
45
|
+
# Session management
|
|
46
|
+
from .session_manager import SolverSessionManager, get_solver_session_manager
|
|
47
|
+
|
|
45
48
|
# Solve loop
|
|
46
49
|
from .solve_loop import (
|
|
47
50
|
ManagerAgent,
|
|
@@ -77,4 +80,7 @@ __all__ = [
|
|
|
77
80
|
"ToolAgent",
|
|
78
81
|
# Main Controller
|
|
79
82
|
"MainSolver",
|
|
83
|
+
# Session Management
|
|
84
|
+
"SolverSessionManager",
|
|
85
|
+
"get_solver_session_manager",
|
|
80
86
|
]
|
{realtimex_deeptutor-0.5.0.post1 → realtimex_deeptutor-0.5.0.post2}/src/agents/solve/main_solver.py
RENAMED
|
@@ -43,6 +43,7 @@ class MainSolver:
|
|
|
43
43
|
api_key: str | None = None,
|
|
44
44
|
base_url: str | None = None,
|
|
45
45
|
api_version: str | None = None,
|
|
46
|
+
language: str | None = None,
|
|
46
47
|
kb_name: str = "ai_textbook",
|
|
47
48
|
output_base_dir: str | None = None,
|
|
48
49
|
):
|
|
@@ -55,6 +56,7 @@ class MainSolver:
|
|
|
55
56
|
api_key: API key (if not provided, read from environment)
|
|
56
57
|
base_url: API URL (if not provided, read from environment)
|
|
57
58
|
api_version: API version (if not provided, read from environment)
|
|
59
|
+
language: Preferred language for prompts ("en"/"zh"/"cn")
|
|
58
60
|
kb_name: Knowledge base name
|
|
59
61
|
output_base_dir: Output base directory (optional, overrides config)
|
|
60
62
|
"""
|
|
@@ -63,6 +65,7 @@ class MainSolver:
|
|
|
63
65
|
self._api_key = api_key
|
|
64
66
|
self._base_url = base_url
|
|
65
67
|
self._api_version = api_version
|
|
68
|
+
self._language = language
|
|
66
69
|
self._kb_name = kb_name
|
|
67
70
|
self._output_base_dir = output_base_dir
|
|
68
71
|
|
|
@@ -108,6 +111,7 @@ class MainSolver:
|
|
|
108
111
|
api_version = self._api_version
|
|
109
112
|
kb_name = self._kb_name
|
|
110
113
|
output_base_dir = self._output_base_dir
|
|
114
|
+
language = self._language
|
|
111
115
|
|
|
112
116
|
# Load config from config directory (main.yaml unified config)
|
|
113
117
|
if config_path is None:
|
|
@@ -156,6 +160,11 @@ class MainSolver:
|
|
|
156
160
|
if self.config is None or not isinstance(self.config, dict):
|
|
157
161
|
self.config = {}
|
|
158
162
|
|
|
163
|
+
# Override system language from UI if provided
|
|
164
|
+
if language:
|
|
165
|
+
self.config.setdefault("system", {})
|
|
166
|
+
self.config["system"]["language"] = parse_language(language)
|
|
167
|
+
|
|
159
168
|
# Override output directory config
|
|
160
169
|
if output_base_dir:
|
|
161
170
|
if "system" not in self.config:
|
|
@@ -11,18 +11,19 @@ system: |
|
|
|
11
11
|
4. **聚焦核心**:只关注解题必须的"硬知识"(定义、公式、定理)。除非用户明确要求,否则不要查询应用案例或背景故事。
|
|
12
12
|
|
|
13
13
|
# 工具使用指南
|
|
14
|
-
- `
|
|
14
|
+
- `query_item`: **编号条目优先**。当用户问题中**明确提到具体编号条目**(例如“公式 2.1.2 / Equation (2.1.2)”、“定理 3.1 / Theorem 3.1”、“图 1.2 / Figure 1.2”)时,**必须优先使用该工具(ALWAYS use this first)**。请从问题中提取标识符并直接查询(常见格式:方程用 `(X.X.X)`,图用 `Figure X.X`,定理用 `Theorem X.X`)。这是检索编号内容最直接、最准确的方式。
|
|
15
|
+
- `rag_naive`: **通用查询首选**。用于查询明确的术语定义、核心公式,或验证某个概念是否存在。速度快。
|
|
15
16
|
- `rag_hybrid`: 用于需要综合多个概念、探究复杂实体关系或深层原理的场景。
|
|
16
17
|
- `web_search`: **慎用**。仅当信息极有可能超出教材范围(如最新新闻、特定技术参数、开源库用法)时使用。
|
|
17
|
-
- `query_item`: **专用**。仅当你明确知道需要获取某个特定编号(如 "Fig 1.2", "Theorem 3.1")的内容时使用。
|
|
18
18
|
- `none`: 当现有信息足以支撑解题,或缺口无法通过检索填补(如需要用户提供)时,返回此状态。
|
|
19
19
|
|
|
20
20
|
# 思考路径
|
|
21
|
-
1.
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
24
|
-
4.
|
|
25
|
-
5.
|
|
21
|
+
1. **识别编号条目**:**首先扫描用户问题中是否存在明确的编号引用**(例如“公式 2.1.2 / Equation (2.1.2)”、“定理 3.1 / Theorem 3.1”、“图 1.2 / Figure 1.2”)。若存在,提取标识符并立即使用 `query_item`。编号条目优先于语义检索。
|
|
22
|
+
2. **解析需求**:解题真正缺的是什么?是某个变量的定义?是某个定理的公式?还是某个常数的数值?
|
|
23
|
+
3. **核查存量**:查看`已有查询内容`。答案是否已经存在?或者是否隐含在已知信息中?
|
|
24
|
+
4. **构建查询**:如果确有缺口,构建原子化的、互不重叠的查询请求。
|
|
25
|
+
5. **判断终止**:如果核心定义和公式都已齐备,果断停止。
|
|
26
|
+
6. **⚠️ 关键 - 及时止损(Know When to Cut Losses)**:如果某话题的第一轮查询没有返回有用信息(结果为空、不相关或质量低),通常意味着知识库不包含相关内容。**你必须立即放弃该话题**,改查其他话题,或直接进入下一阶段。**不要对同一个话题反复查询**——这会浪费资源并拖慢解题。
|
|
26
27
|
|
|
27
28
|
# 输出格式
|
|
28
29
|
直接输出 JSON 对象(无 Markdown 格式):
|
|
@@ -46,6 +47,7 @@ user_template: |
|
|
|
46
47
|
|
|
47
48
|
## 任务
|
|
48
49
|
分析是否存在阻碍解题的知识缺口。
|
|
50
|
+
- **编号条目优先**:若问题提到具体编号条目(公式/定理/图/方程编号如“2.1.2”“3.1”等),**立即使用 `query_item`** 并传入提取的标识符(例如方程用 `(2.1.2)`,图用 `Figure 2.1`)。
|
|
49
51
|
- 检查重复:新查询不得与已有内容重叠。
|
|
50
52
|
- 灵活决策:如果前序工具查询出错,考虑通过其他工具来达到相同的目的。
|
|
51
53
|
- 及时止损:如果某话题的第一轮查询没有返回有用信息,不要反复查询该话题,应该换其他话题或进入下一阶段。
|