deepcode-hku 1.0.9__tar.gz → 1.1.0__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.
Files changed (70) hide show
  1. {deepcode_hku-1.0.9/deepcode_hku.egg-info → deepcode_hku-1.1.0}/PKG-INFO +190 -92
  2. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/README.md +189 -91
  3. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/__init__.py +1 -1
  4. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode.py +171 -3
  5. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0/deepcode_hku.egg-info}/PKG-INFO +190 -92
  6. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/code_implementation_workflow.py +4 -2
  7. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/.pre-commit-config.yaml +0 -0
  8. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/LICENSE +0 -0
  9. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/MANIFEST.in +0 -0
  10. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/__init__.py +0 -0
  11. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/cli_app.py +0 -0
  12. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/cli_interface.py +0 -0
  13. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/cli_launcher.py +0 -0
  14. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/main_cli.py +0 -0
  15. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/workflows/__init__.py +0 -0
  16. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/cli/workflows/cli_workflow_adapter.py +0 -0
  17. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode_hku.egg-info/SOURCES.txt +0 -0
  18. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode_hku.egg-info/dependency_links.txt +0 -0
  19. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode_hku.egg-info/entry_points.txt +0 -0
  20. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode_hku.egg-info/requires.txt +0 -0
  21. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/deepcode_hku.egg-info/top_level.txt +0 -0
  22. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/mcp_agent.config.yaml +0 -0
  23. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/mcp_agent.secrets.yaml +0 -0
  24. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/prompts/code_prompts.py +0 -0
  25. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/requirements.txt +0 -0
  26. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/schema/mcp-agent.config.schema.json +0 -0
  27. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/setup.cfg +0 -0
  28. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/setup.py +0 -0
  29. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/__init__.py +0 -0
  30. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/bocha_search_server.py +0 -0
  31. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/code_implementation_server.py +0 -0
  32. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/code_indexer.py +0 -0
  33. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/code_reference_indexer.py +0 -0
  34. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/command_executor.py +0 -0
  35. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/document_segmentation_server.py +0 -0
  36. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/git_command.py +0 -0
  37. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/pdf_converter.py +0 -0
  38. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/pdf_downloader.py +0 -0
  39. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/tools/pdf_utils.py +0 -0
  40. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/__init__.py +0 -0
  41. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/app.py +0 -0
  42. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/components.py +0 -0
  43. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/handlers.py +0 -0
  44. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/layout.py +0 -0
  45. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/sidebar_feed.py +0 -0
  46. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/streamlit_app.py +0 -0
  47. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/ui/styles.py +0 -0
  48. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/__init__.py +0 -0
  49. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/cli_interface.py +0 -0
  50. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/cross_platform_file_handler.py +0 -0
  51. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/dialogue_logger.py +0 -0
  52. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/file_processor.py +0 -0
  53. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/llm_utils.py +0 -0
  54. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/utils/simple_llm_logger.py +0 -0
  55. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/__init__.py +0 -0
  56. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agent_orchestration_engine.py +0 -0
  57. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/__init__.py +0 -0
  58. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/code_implementation_agent.py +0 -0
  59. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/document_segmentation_agent.py +0 -0
  60. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/memory_agent_concise.py +0 -0
  61. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/memory_agent_concise_index.py +0 -0
  62. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/memory_agent_concise_multi.py +0 -0
  63. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/agents/requirement_analysis_agent.py +0 -0
  64. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/code_implementation_workflow_index.py +0 -0
  65. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/codebase_index_workflow.py +0 -0
  66. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/plugins/__init__.py +0 -0
  67. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/plugins/base.py +0 -0
  68. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/plugins/integration.py +0 -0
  69. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/plugins/plan_review.py +0 -0
  70. {deepcode_hku-1.0.9 → deepcode_hku-1.1.0}/workflows/plugins/requirement_analysis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepcode-hku
3
- Version: 1.0.9
3
+ Version: 1.1.0
4
4
  Summary: AI Research Engine - Transform research papers into working code automatically
5
5
  Home-page: https://github.com/HKUDS/DeepCode
6
6
  Author: DeepCodeTeam
@@ -629,6 +629,8 @@ sudo apt-get install -y nodejs
629
629
 
630
630
  ### 📦 **Step 1: Installation**
631
631
 
632
+ Choose one of the following installation methods:
633
+
632
634
  #### ⚡ **Direct Installation (Recommended)**
633
635
 
634
636
  ```bash
@@ -638,29 +640,6 @@ pip install deepcode-hku
638
640
  # 🔑 Download configuration files
639
641
  curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.config.yaml
640
642
  curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.secrets.yaml
641
-
642
- # 🔑 Configure API keys (required)
643
- # Edit mcp_agent.secrets.yaml with your API keys and base_url:
644
- # - openai: api_key, base_url (for OpenAI/custom endpoints)
645
- # - anthropic: api_key (for Claude models)
646
- # - google: api_key (for Gemini models)
647
-
648
- # 🤖 Select your preferred LLM provider (optional)
649
- # Edit mcp_agent.config.yaml to choose your LLM (line ~106):
650
- # - llm_provider: "google" # Use Google Gemini models
651
- # - llm_provider: "anthropic" # Use Anthropic Claude models
652
- # - llm_provider: "openai" # Use OpenAI/compatible models
653
- # Note: If not set or unavailable, will automatically fallback to first available provider
654
-
655
- # 🔑 Configure search API keys for web search (optional)
656
- # Edit mcp_agent.config.yaml to set your API keys:
657
- # - For Brave Search: Set BRAVE_API_KEY: "your_key_here" in brave.env section (line ~28)
658
- # - For Bocha-MCP: Set BOCHA_API_KEY: "your_key_here" in bocha-mcp.env section (line ~74)
659
-
660
- # 📄 Configure document segmentation (optional)
661
- # Edit mcp_agent.config.yaml to control document processing:
662
- # - enabled: true/false (whether to use intelligent document segmentation)
663
- # - size_threshold_chars: 50000 (document size threshold to trigger segmentation)
664
643
  ```
665
644
 
666
645
  #### 🔧 **Development Installation (From Source)**
@@ -671,79 +650,91 @@ curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.secrets.
671
650
  ##### 🔥 **Using UV (Recommended for Development)**
672
651
 
673
652
  ```bash
674
- # 🔽 Clone the repository
675
653
  git clone https://github.com/HKUDS/DeepCode.git
676
654
  cd DeepCode/
677
655
 
678
- # 📦 Install UV package manager
679
656
  curl -LsSf https://astral.sh/uv/install.sh | sh
680
-
681
- # 🔧 Install dependencies with UV
682
657
  uv venv --python=3.13
683
658
  source .venv/bin/activate # On Windows: .venv\Scripts\activate
684
659
  uv pip install -r requirements.txt
685
660
 
686
- # 🔑 Configure API keys (required)
687
- # Edit mcp_agent.secrets.yaml with your API keys and base_url:
688
- # - openai: api_key, base_url (for OpenAI/custom endpoints)
689
- # - anthropic: api_key (for Claude models)
690
- # - google: api_key (for Gemini models)
691
-
692
- # 🤖 Select your preferred LLM provider (optional)
693
- # Edit mcp_agent.config.yaml to choose your LLM (line ~106):
694
- # - llm_provider: "google" # Use Google Gemini models
695
- # - llm_provider: "anthropic" # Use Anthropic Claude models
696
- # - llm_provider: "openai" # Use OpenAI/compatible models
697
- # Note: If not set or unavailable, will automatically fallback to first available provider
698
-
699
- # 🔑 Configure search API keys for web search (optional)
700
- # Edit mcp_agent.config.yaml to set your API keys:
701
- # - For Brave Search: Set BRAVE_API_KEY: "your_key_here" in brave.env section (line ~28)
702
- # - For Bocha-MCP: Set BOCHA_API_KEY: "your_key_here" in bocha-mcp.env section (line ~74)
703
-
704
- # 📄 Configure document segmentation (optional)
705
- # Edit mcp_agent.config.yaml to control document processing:
706
- # - enabled: true/false (whether to use intelligent document segmentation)
707
- # - size_threshold_chars: 50000 (document size threshold to trigger segmentation)
661
+ # Install frontend dependencies
662
+ npm install --prefix new_ui/frontend
708
663
  ```
709
664
 
710
665
  ##### 🐍 **Using Traditional pip**
711
666
 
712
667
  ```bash
713
- # 🔽 Clone the repository
714
668
  git clone https://github.com/HKUDS/DeepCode.git
715
669
  cd DeepCode/
716
670
 
717
- # 📦 Install dependencies
718
671
  pip install -r requirements.txt
719
672
 
720
- # 🔑 Configure API keys (required)
721
- # Edit mcp_agent.secrets.yaml with your API keys and base_url:
722
- # - openai: api_key, base_url (for OpenAI/custom endpoints)
723
- # - anthropic: api_key (for Claude models)
724
- # - google: api_key (for Gemini models)
725
-
726
- # 🤖 Select your preferred LLM provider (optional)
727
- # Edit mcp_agent.config.yaml to choose your LLM (line ~106):
728
- # - llm_provider: "google" # Use Google Gemini models
729
- # - llm_provider: "anthropic" # Use Anthropic Claude models
730
- # - llm_provider: "openai" # Use OpenAI/compatible models
731
- # Note: If not set or unavailable, will automatically fallback to first available provider
732
-
733
- # 🔑 Configure search API keys for web search (optional)
734
- # Edit mcp_agent.config.yaml to set your API keys:
735
- # - For Brave Search: Set BRAVE_API_KEY: "your_key_here" in brave.env section (line ~28)
736
- # - For Bocha-MCP: Set BOCHA_API_KEY: "your_key_here" in bocha-mcp.env section (line ~74)
737
-
738
- # 📄 Configure document segmentation (optional)
739
- # Edit mcp_agent.config.yaml to control document processing:
740
- # - enabled: true/false (whether to use intelligent document segmentation)
741
- # - size_threshold_chars: 50000 (document size threshold to trigger segmentation)
673
+ # Install frontend dependencies
674
+ npm install --prefix new_ui/frontend
742
675
  ```
743
676
 
744
677
  </details>
745
678
 
746
- #### 🪟 **Windows Users: Additional MCP Server Configuration**
679
+ ### 🔧 **Step 2: Configuration**
680
+
681
+ > The following configuration applies to **all installation methods** (pip, UV, source, and Docker).
682
+
683
+ #### 🔑 API Keys *(required)*
684
+
685
+ Edit `mcp_agent.secrets.yaml` with your API keys:
686
+
687
+ ```yaml
688
+ # At least ONE provider API key is required
689
+ openai:
690
+ api_key: "your_openai_api_key"
691
+ base_url: "https://openrouter.ai/api/v1" # Optional: for OpenRouter or custom endpoints
692
+
693
+ anthropic:
694
+ api_key: "your_anthropic_api_key" # For Claude models
695
+
696
+ google:
697
+ api_key: "your_google_api_key" # For Gemini models
698
+ ```
699
+
700
+ #### 🤖 LLM Provider *(optional)*
701
+
702
+ Edit `mcp_agent.config.yaml` to choose your preferred LLM provider (line ~106):
703
+
704
+ ```yaml
705
+ # Options: "google", "anthropic", "openai"
706
+ # If not set or unavailable, will automatically fallback to first available provider
707
+ llm_provider: "google"
708
+ ```
709
+
710
+ #### 🔍 Search API Keys *(optional)*
711
+
712
+ Configure web search in `mcp_agent.config.yaml`:
713
+
714
+ ```yaml
715
+ # For Brave Search (default) — set in brave.env section (line ~28)
716
+ brave:
717
+ env:
718
+ BRAVE_API_KEY: "your_brave_api_key_here"
719
+
720
+ # For Bocha-MCP (alternative) — set in bocha-mcp.env section (line ~74)
721
+ bocha-mcp:
722
+ env:
723
+ BOCHA_API_KEY: "your_bocha_api_key_here"
724
+ ```
725
+
726
+ #### 📄 Document Segmentation *(optional)*
727
+
728
+ Control document processing in `mcp_agent.config.yaml`:
729
+
730
+ ```yaml
731
+ document_segmentation:
732
+ enabled: true # true/false — whether to use intelligent document segmentation
733
+ size_threshold_chars: 50000 # Document size threshold to trigger segmentation
734
+ ```
735
+
736
+ <details>
737
+ <summary><strong>🪟 Windows Users: Additional MCP Server Configuration</strong></summary>
747
738
 
748
739
  If you're using Windows, you may need to configure MCP servers manually in `mcp_agent.config.yaml`:
749
740
 
@@ -771,7 +762,10 @@ mcp:
771
762
 
772
763
  > **Note**: Replace the path with your actual global node_modules path from step 2.
773
764
 
774
- #### 🔍 **Search Server Configuration (Optional)**
765
+ </details>
766
+
767
+ <details>
768
+ <summary><strong>🔍 Search Server Configuration (Optional)</strong></summary>
775
769
 
776
770
  DeepCode supports multiple search servers for web search functionality. You can configure your preferred option in `mcp_agent.config.yaml`:
777
771
 
@@ -782,17 +776,10 @@ default_search_server: "brave"
782
776
  ```
783
777
 
784
778
  **Available Options:**
785
- - **🔍 Brave Search** (`"brave"`):
786
- - Default option with high-quality search results
787
- - Requires BRAVE_API_KEY configuration
788
- - Recommended for most users
789
-
790
- - **🌐 Bocha-MCP** (`"bocha-mcp"`):
791
- - Alternative search server option
792
- - Requires BOCHA_API_KEY configuration
793
- - Uses local Python server implementation
779
+ - **🔍 Brave Search** (`"brave"`): Default option with high-quality search results. Requires `BRAVE_API_KEY`. Recommended for most users.
780
+ - **🌐 Bocha-MCP** (`"bocha-mcp"`): Alternative search server. Requires `BOCHA_API_KEY`. Uses local Python server implementation.
794
781
 
795
- **API Key Configuration in mcp_agent.config.yaml:**
782
+ **Full MCP server configuration in mcp_agent.config.yaml:**
796
783
  ```yaml
797
784
  # For Brave Search (default) - around line 28
798
785
  brave:
@@ -812,9 +799,54 @@ bocha-mcp:
812
799
 
813
800
  > **💡 Tip**: Both search servers require API key configuration. Choose the one that best fits your API access and requirements.
814
801
 
815
- ### ⚡ **Step 2: Launch Application**
802
+ </details>
803
+
804
+ ### ⚡ **Step 3: Launch Application**
805
+
806
+ #### 🐳 **Docker** (Recommended — Easiest Setup)
807
+
808
+ No need to install Python, Node.js, or any dependencies — everything runs inside the container.
809
+
810
+ **Prerequisites:** Install [Docker Desktop](https://www.docker.com/products/docker-desktop) (includes Docker Engine + Docker Compose).
811
+
812
+ ```bash
813
+ # 1. Clone the repository (if not already done)
814
+ git clone https://github.com/HKUDS/DeepCode.git
815
+ cd DeepCode/
816
+
817
+ # 2. Configure your API keys (see Step 2: Configuration above)
818
+ cp mcp_agent.secrets.yaml.example mcp_agent.secrets.yaml
819
+ # Edit mcp_agent.secrets.yaml with your API keys
820
+
821
+ # 3. Start with one command
822
+ ./deepcode_docker/run_docker.sh # Build & start (auto-builds on first run)
823
+
824
+ # Access at http://localhost:8000
825
+ ```
826
+
827
+ **Management Commands:**
828
+ ```bash
829
+ ./deepcode_docker/run_docker.sh stop # Stop the service
830
+ ./deepcode_docker/run_docker.sh restart # Restart (after config changes, no rebuild needed)
831
+ ./deepcode_docker/run_docker.sh --build # Rebuild (after code changes)
832
+ ./deepcode_docker/run_docker.sh logs # View real-time logs
833
+ ./deepcode_docker/run_docker.sh status # Check service status
834
+ ./deepcode_docker/run_docker.sh clean # Remove containers and images
835
+ ```
836
+
837
+ Or use Docker Compose directly:
838
+ ```bash
839
+ docker compose -f deepcode_docker/docker-compose.yml up --build # Build and start
840
+ docker compose -f deepcode_docker/docker-compose.yml up -d # Start in background
841
+ docker compose -f deepcode_docker/docker-compose.yml down # Stop
842
+ docker compose -f deepcode_docker/docker-compose.yml logs -f # View logs
843
+ ```
844
+
845
+ > **💡 Config changes don't need rebuild**: `mcp_agent.config.yaml` and `mcp_agent.secrets.yaml` are mounted as volumes — just edit them and run `./deepcode_docker/run_docker.sh restart`.
846
+ >
847
+ > **💡 Windows users**: Run `docker compose -f deepcode_docker/docker-compose.yml up --build` directly if the shell script is not available.
816
848
 
817
- #### 🚀 **Using `deepcode` Command (Recommended)**
849
+ #### 🚀 **Using `deepcode` Command** (Local Installation)
818
850
 
819
851
  ```bash
820
852
  # 🌐 Launch the new React-based web interface
@@ -876,21 +908,87 @@ deepcode --classic
876
908
 
877
909
  ##### 🖥️ **CLI Interface** (Advanced Users)
878
910
  ```bash
879
- # Using UV
880
- uv run python cli/main_cli.py
881
- # Or using traditional Python
911
+ # CLI via Docker (no local Python needed)
912
+ ./deepcode_docker/run_docker.sh cli
913
+
914
+ # Or: deepcode --cli
915
+
916
+ # CLI locally (requires Python environment)
882
917
  python cli/main_cli.py
883
918
  ```
884
919
  <div align="center">
885
920
  <img src="https://img.shields.io/badge/Mode-Interactive_Terminal-9b59b6?style=flat-square&logo=terminal&logoColor=white" alt="CLI Mode" />
886
921
  </div>
887
922
 
888
- ### 🎯 **Step 3: Generate Code**
923
+ ### 🎯 **Step 4: Generate Code**
889
924
 
890
925
  1. **📄 Input**: Upload your research paper, provide requirements, or paste a URL
891
926
  2. **🤖 Processing**: Watch the multi-agent system analyze and plan
892
927
  3. **⚡ Output**: Receive production-ready code with tests and documentation
893
928
 
929
+ ---
930
+
931
+ ### 🔧 **Troubleshooting**
932
+
933
+ <details>
934
+ <summary><strong>❓ Common Issues & Solutions</strong></summary>
935
+
936
+ #### 🐳 Docker build fails with `tsc: not found`
937
+
938
+ ```
939
+ node_modules/.bin/tsc: line 1: ../typescript/bin/tsc: not found
940
+ ```
941
+
942
+ **Cause**: Corrupted Docker build cache.
943
+
944
+ **Fix**: Clear the cache and rebuild:
945
+ ```bash
946
+ docker builder prune -f
947
+ docker compose -f deepcode_docker/docker-compose.yml build --no-cache
948
+ docker compose -f deepcode_docker/docker-compose.yml up -d
949
+ ```
950
+
951
+ #### 🐳 Docker command returns `error during connect` / `cannot find the file specified`
952
+
953
+ **Cause**: Docker Desktop is not running.
954
+
955
+ **Fix**: Start **Docker Desktop** from the Start menu (Windows) or Applications (macOS), wait until it's fully ready, then retry.
956
+
957
+ #### 🌐 Frontend displays abnormally or shows a blank page
958
+
959
+ **Cause**: Corrupted `node_modules` — frontend dependencies are incomplete.
960
+
961
+ **Fix**: Reinstall frontend dependencies:
962
+ ```bash
963
+ cd new_ui/frontend
964
+ rm -rf node_modules
965
+ npm install
966
+ ```
967
+
968
+ Then rebuild (for Docker) or restart (for local mode).
969
+
970
+ #### 🌐 Browser shows `ERR_CONNECTION_REFUSED` or JSON response instead of UI
971
+
972
+ **Cause**: Accessing the wrong port or backend not running.
973
+
974
+ **Fix**:
975
+ - **Docker mode** (`deepcode`): Access **http://localhost:8000**. Make sure the container is running: `docker ps`
976
+ - **Local mode** (`deepcode --local`): Access **http://localhost:5173** (not 8000). Port 5173 is the frontend dev server.
977
+
978
+ #### 📦 `npm install` fails with `Could not read package.json`
979
+
980
+ **Cause**: Running `npm install` in the project root instead of the frontend directory.
981
+
982
+ **Fix**: Run it in the correct directory:
983
+ ```bash
984
+ npm install --prefix new_ui/frontend
985
+ ```
986
+
987
+ #### 🪟 Windows: MCP servers not working
988
+
989
+ See the [Windows MCP Server Configuration](#-step-2-configuration) section above for setting up absolute paths.
990
+
991
+ </details>
894
992
 
895
993
  ---
896
994