├── .DS_Store ├── .cursor └── rules │ ├── 1.project.mdc │ ├── 2.project-structure-description.mdc │ ├── 3.development.mdc │ ├── frontend │ ├── 1.frontend-project.mdc │ ├── 2.ai-sdk-doc.mdc │ ├── 3.ai-element.mdc │ ├── 4.AI SDK v6 – Providers Documentation.mdc │ └── 4.icons.mdc │ └── langchain-docs.mdc ├── .dockerignore ├── .trae └── documents │ ├── 从模型回复生成动态建议并通过流式 chunk 返回.md │ └── 提升深度研究输出质量与风格方案.md ├── DOCKER.md ├── LICENSE ├── README.md ├── backend ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README-ENHANCED-CHAT.md ├── README.md ├── agents │ ├── __init__.py │ └── base_agent.py ├── api │ ├── __init__.py │ ├── http_server.py │ └── routers │ │ ├── __init__.py │ │ ├── chat.py │ │ ├── deep_research.py │ │ ├── rag.py │ │ └── workflow.py ├── config │ ├── __init__.py │ ├── logging.py │ └── settings.py ├── core │ ├── __init__.py │ ├── extractors.py │ ├── guardrails │ │ ├── __init__.py │ │ ├── content_filters.py │ │ ├── input_validators.py │ │ ├── middleware.py │ │ ├── output_validators.py │ │ └── schemas.py │ ├── models.py │ ├── prompts.py │ ├── tools │ │ ├── __init__.py │ │ ├── calculator.py │ │ ├── filesystem.py │ │ ├── time_tools.py │ │ ├── weather.py │ │ └── web_search.py │ └── usage_tracker.py ├── data │ ├── documents │ │ └── test │ │ │ ├── deep_learning.md │ │ │ ├── machine_learning.md │ │ │ ├── neural_networks.md │ │ │ ├── python_basics.txt │ │ │ └── 长江赋.md │ └── indexes │ │ └── test_index │ │ ├── index.faiss │ │ ├── index.pkl │ │ └── metadata.json ├── deep_research │ ├── __init__.py │ ├── deep_agent.py │ ├── safe_deep_agent.py │ └── subagents.py ├── docs │ ├── README-CHATBOT-ENHANCED.md │ ├── stage_01 │ │ ├── DEVELOPMENT_SUMMARY.md │ │ ├── INSTALL_TAVILY.md │ │ ├── PROJECT_STRUCTURE.md │ │ ├── QUICKSTART.md │ │ ├── QUICKSTART_WEATHER_DEMO.md │ │ ├── REFACTORING_V1.md │ │ ├── STAGE1_COMPLETION.md │ │ ├── WEATHER_CONTEXT_MEMORY.md │ │ ├── WEATHER_INTEGRATION_SUMMARY.md │ │ └── WEATHER_TOOL.md │ ├── stage_02 │ │ ├── FEATURES.md │ │ ├── FINAL_FIX_SUMMARY.md │ │ ├── INDEX_UPDATE_GUIDE.md │ │ ├── LANGCHAIN_1.0.3_FIXES.md │ │ ├── LEARNING_SUMMARY.md │ │ ├── QUICK_FIX.md │ │ ├── README.md │ │ ├── STAGE2_COMPLETION.md │ │ └── STAGE2_PLAN.md │ ├── stage_03 │ │ ├── FIXES.md │ │ ├── IMPLEMENTATION.md │ │ ├── QUICKSTART.md │ │ ├── README.md │ │ ├── STAGE3_COMPLETION.md │ │ └── STAGE3_PLAN.md │ ├── stage_04 │ │ ├── BUGFIX_RACE_CONDITION.md │ │ ├── FINAL_IMPROVEMENTS.md │ │ ├── IMPROVEMENTS.md │ │ ├── QUICKSTART.md │ │ ├── README.md │ │ ├── SOLUTION_COMPARISON.md │ │ ├── STAGE4_COMPLETION.md │ │ └── STAGE4_PLAN.md │ └── stage_05 │ │ ├── FEATURES.md │ │ ├── QUICKSTART.md │ │ ├── README.md │ │ ├── STAGE5_COMPLETION.md │ │ └── STAGE5_PLAN.md ├── env.example ├── rag │ ├── __init__.py │ ├── embeddings.py │ ├── index_manager.py │ ├── loaders.py │ ├── rag_agent.py │ ├── retrievers.py │ ├── safe_rag_agent.py │ ├── splitters.py │ └── vector_stores.py ├── requirements.txt ├── scripts │ ├── __init__.py │ ├── demo_cli.py │ ├── rag_cli.py │ ├── test_basic.py │ ├── test_deep_research.py │ ├── test_enhanced_stream.py │ ├── test_guardrails.py │ ├── test_rag_query.py │ ├── test_safe_rag.py │ ├── test_weather.py │ ├── test_workflow.py │ ├── test_workflow.sh │ └── update_index.py ├── start_cli.sh ├── start_rag_cli.sh ├── start_server.sh ├── test_deep_research.sh ├── test_enhanced.sh └── workflows │ ├── __init__.py │ ├── nodes │ ├── __init__.py │ ├── feedback_node.py │ ├── grading_node.py │ ├── planner_node.py │ ├── quiz_generator_node.py │ └── retrieval_node.py │ ├── safe_nodes.py │ ├── safe_study_flow.py │ ├── state.py │ └── study_flow_graph.py ├── docker-compose.yml ├── docker-start.bat ├── docker-start.sh └── frontend ├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── TROUBLESHOOTING.md ├── app ├── api │ └── chat │ │ └── route.ts ├── chat-ui │ └── page.tsx ├── chat │ └── page.tsx ├── deep-research │ └── page.tsx ├── favicon.ico ├── globals.css ├── layout.tsx ├── page.tsx ├── rag │ └── page.tsx ├── settings │ └── page.tsx └── workflows │ └── page.tsx ├── assets └── images │ └── svg │ └── panel-left.svg ├── components.json ├── components ├── ai-elements │ ├── artifact.tsx │ ├── canvas.tsx │ ├── chain-of-thought.tsx │ ├── checkpoint.tsx │ ├── code-block.tsx │ ├── confirmation.tsx │ ├── connection.tsx │ ├── context.tsx │ ├── controls.tsx │ ├── conversation.tsx │ ├── edge.tsx │ ├── image.tsx │ ├── inline-citation.tsx │ ├── loader.tsx │ ├── message.tsx │ ├── model-selector.tsx │ ├── node.tsx │ ├── open-in-chat.tsx │ ├── panel.tsx │ ├── plan.tsx │ ├── prompt-input.tsx │ ├── queue.tsx │ ├── reasoning.tsx │ ├── shimmer.tsx │ ├── sources.tsx │ ├── suggestion.tsx │ ├── task.tsx │ ├── tool.tsx │ ├── toolbar.tsx │ └── web-preview.tsx ├── chat │ ├── chat-enhanced.tsx │ ├── chat-example.tsx │ ├── chat-header.tsx │ ├── chat-mode-selector.tsx │ ├── chat-panel.tsx │ ├── chat-right-panel.tsx │ └── enhanced-message-renderer.tsx ├── layout │ ├── app-header.tsx │ ├── app-layout.tsx │ └── app-sidebar.tsx └── ui │ ├── alert.tsx │ ├── avatar.tsx │ ├── badge.tsx │ ├── button-group.tsx │ ├── button.tsx │ ├── card.tsx │ ├── carousel.tsx │ ├── collapsible.tsx │ ├── command.tsx │ ├── dialog.tsx │ ├── dropdown-menu.tsx │ ├── hover-card.tsx │ ├── input-group.tsx │ ├── input.tsx │ ├── progress.tsx │ ├── scroll-area.tsx │ ├── select.tsx │ ├── separator.tsx │ ├── sonner.tsx │ ├── tabs.tsx │ ├── textarea.tsx │ └── tooltip.tsx ├── docs └── sprint_01 │ ├── 09-chatbot-complete-features-plan.md │ ├── 10-progress-summary.md │ ├── 11-implementation-summary-cn.md │ ├── 12-completion-summary.md │ ├── AI_ELEMENTS_USAGE.md │ ├── CHAT_EXAMPLE_UPGRADE.md │ ├── QUICKSTART.md │ ├── SPRINT1_COMPLETION.md │ ├── SPRINT1_SUMMARY.md │ ├── chat-scrolling-layout-update.md │ ├── chat-ui-page-implementation.md │ └── header-scroll-shadow-implementation.md ├── eslint.config.mjs ├── hooks ├── use-enhanced-chat.ts └── use-mobile.ts ├── lib ├── api-client-enhanced.ts ├── api-client.ts ├── message-manager.ts ├── session.ts ├── types.ts └── utils.ts ├── next.config.ts ├── package.json ├── pnpm-lock.yaml ├── postcss.config.mjs ├── providers ├── session-provider.tsx └── theme-provider.tsx ├── public ├── file.svg ├── globe.svg ├── next.svg ├── vercel.svg └── window.svg ├── start_dev.sh └── tsconfig.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.DS_Store -------------------------------------------------------------------------------- /.cursor/rules/1.project.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/1.project.mdc -------------------------------------------------------------------------------- /.cursor/rules/2.project-structure-description.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/2.project-structure-description.mdc -------------------------------------------------------------------------------- /.cursor/rules/3.development.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/3.development.mdc -------------------------------------------------------------------------------- /.cursor/rules/frontend/1.frontend-project.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/frontend/1.frontend-project.mdc -------------------------------------------------------------------------------- /.cursor/rules/frontend/2.ai-sdk-doc.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/frontend/2.ai-sdk-doc.mdc -------------------------------------------------------------------------------- /.cursor/rules/frontend/3.ai-element.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/frontend/3.ai-element.mdc -------------------------------------------------------------------------------- /.cursor/rules/frontend/4.AI SDK v6 – Providers Documentation.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/frontend/4.AI SDK v6 – Providers Documentation.mdc -------------------------------------------------------------------------------- /.cursor/rules/frontend/4.icons.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/frontend/4.icons.mdc -------------------------------------------------------------------------------- /.cursor/rules/langchain-docs.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.cursor/rules/langchain-docs.mdc -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.dockerignore -------------------------------------------------------------------------------- /.trae/documents/从模型回复生成动态建议并通过流式 chunk 返回.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.trae/documents/从模型回复生成动态建议并通过流式 chunk 返回.md -------------------------------------------------------------------------------- /.trae/documents/提升深度研究输出质量与风格方案.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/.trae/documents/提升深度研究输出质量与风格方案.md -------------------------------------------------------------------------------- /DOCKER.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/DOCKER.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/README.md -------------------------------------------------------------------------------- /backend/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/.dockerignore -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/.gitignore -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/Dockerfile -------------------------------------------------------------------------------- /backend/README-ENHANCED-CHAT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/README-ENHANCED-CHAT.md -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/README.md -------------------------------------------------------------------------------- /backend/agents/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/agents/__init__.py -------------------------------------------------------------------------------- /backend/agents/base_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/agents/base_agent.py -------------------------------------------------------------------------------- /backend/api/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | API 模块 3 | 提供 HTTP 接口和路由 4 | """ 5 | 6 | __all__ = [] 7 | 8 | -------------------------------------------------------------------------------- /backend/api/http_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/http_server.py -------------------------------------------------------------------------------- /backend/api/routers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/routers/__init__.py -------------------------------------------------------------------------------- /backend/api/routers/chat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/routers/chat.py -------------------------------------------------------------------------------- /backend/api/routers/deep_research.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/routers/deep_research.py -------------------------------------------------------------------------------- /backend/api/routers/rag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/routers/rag.py -------------------------------------------------------------------------------- /backend/api/routers/workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/api/routers/workflow.py -------------------------------------------------------------------------------- /backend/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/config/__init__.py -------------------------------------------------------------------------------- /backend/config/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/config/logging.py -------------------------------------------------------------------------------- /backend/config/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/config/settings.py -------------------------------------------------------------------------------- /backend/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/__init__.py -------------------------------------------------------------------------------- /backend/core/extractors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/extractors.py -------------------------------------------------------------------------------- /backend/core/guardrails/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/__init__.py -------------------------------------------------------------------------------- /backend/core/guardrails/content_filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/content_filters.py -------------------------------------------------------------------------------- /backend/core/guardrails/input_validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/input_validators.py -------------------------------------------------------------------------------- /backend/core/guardrails/middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/middleware.py -------------------------------------------------------------------------------- /backend/core/guardrails/output_validators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/output_validators.py -------------------------------------------------------------------------------- /backend/core/guardrails/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/guardrails/schemas.py -------------------------------------------------------------------------------- /backend/core/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/models.py -------------------------------------------------------------------------------- /backend/core/prompts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/prompts.py -------------------------------------------------------------------------------- /backend/core/tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/__init__.py -------------------------------------------------------------------------------- /backend/core/tools/calculator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/calculator.py -------------------------------------------------------------------------------- /backend/core/tools/filesystem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/filesystem.py -------------------------------------------------------------------------------- /backend/core/tools/time_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/time_tools.py -------------------------------------------------------------------------------- /backend/core/tools/weather.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/weather.py -------------------------------------------------------------------------------- /backend/core/tools/web_search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/tools/web_search.py -------------------------------------------------------------------------------- /backend/core/usage_tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/core/usage_tracker.py -------------------------------------------------------------------------------- /backend/data/documents/test/deep_learning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/documents/test/deep_learning.md -------------------------------------------------------------------------------- /backend/data/documents/test/machine_learning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/documents/test/machine_learning.md -------------------------------------------------------------------------------- /backend/data/documents/test/neural_networks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/documents/test/neural_networks.md -------------------------------------------------------------------------------- /backend/data/documents/test/python_basics.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/documents/test/python_basics.txt -------------------------------------------------------------------------------- /backend/data/documents/test/长江赋.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/documents/test/长江赋.md -------------------------------------------------------------------------------- /backend/data/indexes/test_index/index.faiss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/indexes/test_index/index.faiss -------------------------------------------------------------------------------- /backend/data/indexes/test_index/index.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/indexes/test_index/index.pkl -------------------------------------------------------------------------------- /backend/data/indexes/test_index/metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/data/indexes/test_index/metadata.json -------------------------------------------------------------------------------- /backend/deep_research/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/deep_research/__init__.py -------------------------------------------------------------------------------- /backend/deep_research/deep_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/deep_research/deep_agent.py -------------------------------------------------------------------------------- /backend/deep_research/safe_deep_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/deep_research/safe_deep_agent.py -------------------------------------------------------------------------------- /backend/deep_research/subagents.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/deep_research/subagents.py -------------------------------------------------------------------------------- /backend/docs/README-CHATBOT-ENHANCED.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/README-CHATBOT-ENHANCED.md -------------------------------------------------------------------------------- /backend/docs/stage_01/DEVELOPMENT_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/DEVELOPMENT_SUMMARY.md -------------------------------------------------------------------------------- /backend/docs/stage_01/INSTALL_TAVILY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/INSTALL_TAVILY.md -------------------------------------------------------------------------------- /backend/docs/stage_01/PROJECT_STRUCTURE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/PROJECT_STRUCTURE.md -------------------------------------------------------------------------------- /backend/docs/stage_01/QUICKSTART.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/QUICKSTART.md -------------------------------------------------------------------------------- /backend/docs/stage_01/QUICKSTART_WEATHER_DEMO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/QUICKSTART_WEATHER_DEMO.md -------------------------------------------------------------------------------- /backend/docs/stage_01/REFACTORING_V1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/REFACTORING_V1.md -------------------------------------------------------------------------------- /backend/docs/stage_01/STAGE1_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/STAGE1_COMPLETION.md -------------------------------------------------------------------------------- /backend/docs/stage_01/WEATHER_CONTEXT_MEMORY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/WEATHER_CONTEXT_MEMORY.md -------------------------------------------------------------------------------- /backend/docs/stage_01/WEATHER_INTEGRATION_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/WEATHER_INTEGRATION_SUMMARY.md -------------------------------------------------------------------------------- /backend/docs/stage_01/WEATHER_TOOL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_01/WEATHER_TOOL.md -------------------------------------------------------------------------------- /backend/docs/stage_02/FEATURES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/FEATURES.md -------------------------------------------------------------------------------- /backend/docs/stage_02/FINAL_FIX_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/FINAL_FIX_SUMMARY.md -------------------------------------------------------------------------------- /backend/docs/stage_02/INDEX_UPDATE_GUIDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/INDEX_UPDATE_GUIDE.md -------------------------------------------------------------------------------- /backend/docs/stage_02/LANGCHAIN_1.0.3_FIXES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/LANGCHAIN_1.0.3_FIXES.md -------------------------------------------------------------------------------- /backend/docs/stage_02/LEARNING_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/LEARNING_SUMMARY.md -------------------------------------------------------------------------------- /backend/docs/stage_02/QUICK_FIX.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/QUICK_FIX.md -------------------------------------------------------------------------------- /backend/docs/stage_02/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/README.md -------------------------------------------------------------------------------- /backend/docs/stage_02/STAGE2_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/STAGE2_COMPLETION.md -------------------------------------------------------------------------------- /backend/docs/stage_02/STAGE2_PLAN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_02/STAGE2_PLAN.md -------------------------------------------------------------------------------- /backend/docs/stage_03/FIXES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/FIXES.md -------------------------------------------------------------------------------- /backend/docs/stage_03/IMPLEMENTATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/IMPLEMENTATION.md -------------------------------------------------------------------------------- /backend/docs/stage_03/QUICKSTART.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/QUICKSTART.md -------------------------------------------------------------------------------- /backend/docs/stage_03/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/README.md -------------------------------------------------------------------------------- /backend/docs/stage_03/STAGE3_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/STAGE3_COMPLETION.md -------------------------------------------------------------------------------- /backend/docs/stage_03/STAGE3_PLAN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_03/STAGE3_PLAN.md -------------------------------------------------------------------------------- /backend/docs/stage_04/BUGFIX_RACE_CONDITION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/BUGFIX_RACE_CONDITION.md -------------------------------------------------------------------------------- /backend/docs/stage_04/FINAL_IMPROVEMENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/FINAL_IMPROVEMENTS.md -------------------------------------------------------------------------------- /backend/docs/stage_04/IMPROVEMENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/IMPROVEMENTS.md -------------------------------------------------------------------------------- /backend/docs/stage_04/QUICKSTART.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/QUICKSTART.md -------------------------------------------------------------------------------- /backend/docs/stage_04/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/README.md -------------------------------------------------------------------------------- /backend/docs/stage_04/SOLUTION_COMPARISON.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/SOLUTION_COMPARISON.md -------------------------------------------------------------------------------- /backend/docs/stage_04/STAGE4_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/STAGE4_COMPLETION.md -------------------------------------------------------------------------------- /backend/docs/stage_04/STAGE4_PLAN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_04/STAGE4_PLAN.md -------------------------------------------------------------------------------- /backend/docs/stage_05/FEATURES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_05/FEATURES.md -------------------------------------------------------------------------------- /backend/docs/stage_05/QUICKSTART.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_05/QUICKSTART.md -------------------------------------------------------------------------------- /backend/docs/stage_05/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_05/README.md -------------------------------------------------------------------------------- /backend/docs/stage_05/STAGE5_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_05/STAGE5_COMPLETION.md -------------------------------------------------------------------------------- /backend/docs/stage_05/STAGE5_PLAN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/docs/stage_05/STAGE5_PLAN.md -------------------------------------------------------------------------------- /backend/env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/env.example -------------------------------------------------------------------------------- /backend/rag/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/__init__.py -------------------------------------------------------------------------------- /backend/rag/embeddings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/embeddings.py -------------------------------------------------------------------------------- /backend/rag/index_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/index_manager.py -------------------------------------------------------------------------------- /backend/rag/loaders.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/loaders.py -------------------------------------------------------------------------------- /backend/rag/rag_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/rag_agent.py -------------------------------------------------------------------------------- /backend/rag/retrievers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/retrievers.py -------------------------------------------------------------------------------- /backend/rag/safe_rag_agent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/safe_rag_agent.py -------------------------------------------------------------------------------- /backend/rag/splitters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/splitters.py -------------------------------------------------------------------------------- /backend/rag/vector_stores.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/rag/vector_stores.py -------------------------------------------------------------------------------- /backend/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/requirements.txt -------------------------------------------------------------------------------- /backend/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | 脚本工具模块 3 | """ 4 | 5 | -------------------------------------------------------------------------------- /backend/scripts/demo_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/demo_cli.py -------------------------------------------------------------------------------- /backend/scripts/rag_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/rag_cli.py -------------------------------------------------------------------------------- /backend/scripts/test_basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_basic.py -------------------------------------------------------------------------------- /backend/scripts/test_deep_research.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_deep_research.py -------------------------------------------------------------------------------- /backend/scripts/test_enhanced_stream.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_enhanced_stream.py -------------------------------------------------------------------------------- /backend/scripts/test_guardrails.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_guardrails.py -------------------------------------------------------------------------------- /backend/scripts/test_rag_query.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_rag_query.py -------------------------------------------------------------------------------- /backend/scripts/test_safe_rag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_safe_rag.py -------------------------------------------------------------------------------- /backend/scripts/test_weather.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_weather.py -------------------------------------------------------------------------------- /backend/scripts/test_workflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_workflow.py -------------------------------------------------------------------------------- /backend/scripts/test_workflow.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/test_workflow.sh -------------------------------------------------------------------------------- /backend/scripts/update_index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/scripts/update_index.py -------------------------------------------------------------------------------- /backend/start_cli.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/start_cli.sh -------------------------------------------------------------------------------- /backend/start_rag_cli.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/start_rag_cli.sh -------------------------------------------------------------------------------- /backend/start_server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/start_server.sh -------------------------------------------------------------------------------- /backend/test_deep_research.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/test_deep_research.sh -------------------------------------------------------------------------------- /backend/test_enhanced.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/test_enhanced.sh -------------------------------------------------------------------------------- /backend/workflows/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/__init__.py -------------------------------------------------------------------------------- /backend/workflows/nodes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/__init__.py -------------------------------------------------------------------------------- /backend/workflows/nodes/feedback_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/feedback_node.py -------------------------------------------------------------------------------- /backend/workflows/nodes/grading_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/grading_node.py -------------------------------------------------------------------------------- /backend/workflows/nodes/planner_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/planner_node.py -------------------------------------------------------------------------------- /backend/workflows/nodes/quiz_generator_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/quiz_generator_node.py -------------------------------------------------------------------------------- /backend/workflows/nodes/retrieval_node.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/nodes/retrieval_node.py -------------------------------------------------------------------------------- /backend/workflows/safe_nodes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/safe_nodes.py -------------------------------------------------------------------------------- /backend/workflows/safe_study_flow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/safe_study_flow.py -------------------------------------------------------------------------------- /backend/workflows/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/state.py -------------------------------------------------------------------------------- /backend/workflows/study_flow_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/backend/workflows/study_flow_graph.py -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker-start.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/docker-start.bat -------------------------------------------------------------------------------- /docker-start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/docker-start.sh -------------------------------------------------------------------------------- /frontend/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/.dockerignore -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/Dockerfile -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/TROUBLESHOOTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/TROUBLESHOOTING.md -------------------------------------------------------------------------------- /frontend/app/api/chat/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/api/chat/route.ts -------------------------------------------------------------------------------- /frontend/app/chat-ui/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/chat-ui/page.tsx -------------------------------------------------------------------------------- /frontend/app/chat/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/chat/page.tsx -------------------------------------------------------------------------------- /frontend/app/deep-research/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/deep-research/page.tsx -------------------------------------------------------------------------------- /frontend/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/favicon.ico -------------------------------------------------------------------------------- /frontend/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/globals.css -------------------------------------------------------------------------------- /frontend/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/layout.tsx -------------------------------------------------------------------------------- /frontend/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/page.tsx -------------------------------------------------------------------------------- /frontend/app/rag/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/rag/page.tsx -------------------------------------------------------------------------------- /frontend/app/settings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/settings/page.tsx -------------------------------------------------------------------------------- /frontend/app/workflows/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/app/workflows/page.tsx -------------------------------------------------------------------------------- /frontend/assets/images/svg/panel-left.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/assets/images/svg/panel-left.svg -------------------------------------------------------------------------------- /frontend/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components.json -------------------------------------------------------------------------------- /frontend/components/ai-elements/artifact.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/artifact.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/canvas.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/canvas.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/chain-of-thought.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/chain-of-thought.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/checkpoint.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/checkpoint.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/code-block.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/code-block.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/confirmation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/confirmation.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/connection.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/connection.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/context.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/controls.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/controls.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/conversation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/conversation.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/edge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/edge.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/image.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/inline-citation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/inline-citation.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/loader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/loader.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/message.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/message.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/model-selector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/model-selector.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/node.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/node.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/open-in-chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/open-in-chat.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/panel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/panel.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/plan.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/plan.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/prompt-input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/prompt-input.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/queue.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/queue.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/reasoning.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/reasoning.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/shimmer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/shimmer.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/sources.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/sources.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/suggestion.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/suggestion.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/task.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/task.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/tool.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/tool.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/toolbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/toolbar.tsx -------------------------------------------------------------------------------- /frontend/components/ai-elements/web-preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ai-elements/web-preview.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-enhanced.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-enhanced.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-example.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-example.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-header.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-mode-selector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-mode-selector.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-panel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-panel.tsx -------------------------------------------------------------------------------- /frontend/components/chat/chat-right-panel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/chat-right-panel.tsx -------------------------------------------------------------------------------- /frontend/components/chat/enhanced-message-renderer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/chat/enhanced-message-renderer.tsx -------------------------------------------------------------------------------- /frontend/components/layout/app-header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/layout/app-header.tsx -------------------------------------------------------------------------------- /frontend/components/layout/app-layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/layout/app-layout.tsx -------------------------------------------------------------------------------- /frontend/components/layout/app-sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/layout/app-sidebar.tsx -------------------------------------------------------------------------------- /frontend/components/ui/alert.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/alert.tsx -------------------------------------------------------------------------------- /frontend/components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/avatar.tsx -------------------------------------------------------------------------------- /frontend/components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/badge.tsx -------------------------------------------------------------------------------- /frontend/components/ui/button-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/button-group.tsx -------------------------------------------------------------------------------- /frontend/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/button.tsx -------------------------------------------------------------------------------- /frontend/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/card.tsx -------------------------------------------------------------------------------- /frontend/components/ui/carousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/carousel.tsx -------------------------------------------------------------------------------- /frontend/components/ui/collapsible.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/collapsible.tsx -------------------------------------------------------------------------------- /frontend/components/ui/command.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/command.tsx -------------------------------------------------------------------------------- /frontend/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/dialog.tsx -------------------------------------------------------------------------------- /frontend/components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /frontend/components/ui/hover-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/hover-card.tsx -------------------------------------------------------------------------------- /frontend/components/ui/input-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/input-group.tsx -------------------------------------------------------------------------------- /frontend/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/input.tsx -------------------------------------------------------------------------------- /frontend/components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/progress.tsx -------------------------------------------------------------------------------- /frontend/components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /frontend/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/select.tsx -------------------------------------------------------------------------------- /frontend/components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/separator.tsx -------------------------------------------------------------------------------- /frontend/components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/sonner.tsx -------------------------------------------------------------------------------- /frontend/components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/tabs.tsx -------------------------------------------------------------------------------- /frontend/components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/textarea.tsx -------------------------------------------------------------------------------- /frontend/components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /frontend/docs/sprint_01/09-chatbot-complete-features-plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/09-chatbot-complete-features-plan.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/10-progress-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/10-progress-summary.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/11-implementation-summary-cn.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/11-implementation-summary-cn.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/12-completion-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/12-completion-summary.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/AI_ELEMENTS_USAGE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/AI_ELEMENTS_USAGE.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/CHAT_EXAMPLE_UPGRADE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/CHAT_EXAMPLE_UPGRADE.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/QUICKSTART.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/QUICKSTART.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/SPRINT1_COMPLETION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/SPRINT1_COMPLETION.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/SPRINT1_SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/SPRINT1_SUMMARY.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/chat-scrolling-layout-update.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/chat-scrolling-layout-update.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/chat-ui-page-implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/chat-ui-page-implementation.md -------------------------------------------------------------------------------- /frontend/docs/sprint_01/header-scroll-shadow-implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/docs/sprint_01/header-scroll-shadow-implementation.md -------------------------------------------------------------------------------- /frontend/eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/eslint.config.mjs -------------------------------------------------------------------------------- /frontend/hooks/use-enhanced-chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/hooks/use-enhanced-chat.ts -------------------------------------------------------------------------------- /frontend/hooks/use-mobile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/hooks/use-mobile.ts -------------------------------------------------------------------------------- /frontend/lib/api-client-enhanced.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/api-client-enhanced.ts -------------------------------------------------------------------------------- /frontend/lib/api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/api-client.ts -------------------------------------------------------------------------------- /frontend/lib/message-manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/message-manager.ts -------------------------------------------------------------------------------- /frontend/lib/session.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/session.ts -------------------------------------------------------------------------------- /frontend/lib/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/types.ts -------------------------------------------------------------------------------- /frontend/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/lib/utils.ts -------------------------------------------------------------------------------- /frontend/next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/next.config.ts -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/pnpm-lock.yaml -------------------------------------------------------------------------------- /frontend/postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/postcss.config.mjs -------------------------------------------------------------------------------- /frontend/providers/session-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/providers/session-provider.tsx -------------------------------------------------------------------------------- /frontend/providers/theme-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/providers/theme-provider.tsx -------------------------------------------------------------------------------- /frontend/public/file.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/public/file.svg -------------------------------------------------------------------------------- /frontend/public/globe.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/public/globe.svg -------------------------------------------------------------------------------- /frontend/public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/public/next.svg -------------------------------------------------------------------------------- /frontend/public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/public/vercel.svg -------------------------------------------------------------------------------- /frontend/public/window.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/public/window.svg -------------------------------------------------------------------------------- /frontend/start_dev.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/start_dev.sh -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hefeng6500/lc-studylab/HEAD/frontend/tsconfig.json --------------------------------------------------------------------------------