deepcode-hku 1.0.7__tar.gz → 1.0.9__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.
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/PKG-INFO +153 -14
- deepcode_hku-1.0.7/deepcode_hku.egg-info/PKG-INFO → deepcode_hku-1.0.9/README.md +145 -58
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/__init__.py +1 -1
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/cli_app.py +205 -5
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/cli_interface.py +206 -1
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/main_cli.py +65 -10
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/workflows/cli_workflow_adapter.py +79 -1
- deepcode_hku-1.0.9/deepcode.py +587 -0
- deepcode_hku-1.0.7/README.md → deepcode_hku-1.0.9/deepcode_hku.egg-info/PKG-INFO +197 -13
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/deepcode_hku.egg-info/SOURCES.txt +7 -1
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/deepcode_hku.egg-info/requires.txt +7 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/mcp_agent.config.yaml +48 -27
- deepcode_hku-1.0.9/mcp_agent.secrets.yaml +14 -0
- deepcode_hku-1.0.9/requirements.txt +23 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/code_indexer.py +4 -1
- deepcode_hku-1.0.9/ui/components.py +970 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/ui/handlers.py +189 -2
- deepcode_hku-1.0.9/ui/layout.py +142 -0
- deepcode_hku-1.0.9/ui/sidebar_feed.py +91 -0
- deepcode_hku-1.0.9/ui/styles.py +356 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/llm_utils.py +195 -29
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agent_orchestration_engine.py +60 -11
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/memory_agent_concise.py +51 -2
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/memory_agent_concise_index.py +51 -2
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/memory_agent_concise_multi.py +50 -1
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/code_implementation_workflow.py +320 -26
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/code_implementation_workflow_index.py +306 -23
- deepcode_hku-1.0.9/workflows/plugins/__init__.py +12 -0
- deepcode_hku-1.0.9/workflows/plugins/base.py +392 -0
- deepcode_hku-1.0.9/workflows/plugins/integration.py +283 -0
- deepcode_hku-1.0.9/workflows/plugins/plan_review.py +221 -0
- deepcode_hku-1.0.9/workflows/plugins/requirement_analysis.py +185 -0
- deepcode_hku-1.0.7/deepcode.py +0 -292
- deepcode_hku-1.0.7/mcp_agent.secrets.yaml +0 -9
- deepcode_hku-1.0.7/requirements.txt +0 -13
- deepcode_hku-1.0.7/ui/components.py +0 -1621
- deepcode_hku-1.0.7/ui/layout.py +0 -161
- deepcode_hku-1.0.7/ui/styles.py +0 -3909
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/.pre-commit-config.yaml +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/LICENSE +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/MANIFEST.in +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/cli_launcher.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/cli/workflows/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/deepcode_hku.egg-info/dependency_links.txt +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/deepcode_hku.egg-info/entry_points.txt +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/deepcode_hku.egg-info/top_level.txt +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/prompts/code_prompts.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/schema/mcp-agent.config.schema.json +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/setup.cfg +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/setup.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/bocha_search_server.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/code_implementation_server.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/code_reference_indexer.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/command_executor.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/document_segmentation_server.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/git_command.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/pdf_converter.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/pdf_downloader.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/tools/pdf_utils.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/ui/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/ui/app.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/ui/streamlit_app.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/cli_interface.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/cross_platform_file_handler.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/dialogue_logger.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/file_processor.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/utils/simple_llm_logger.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/__init__.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/code_implementation_agent.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/document_segmentation_agent.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/agents/requirement_analysis_agent.py +0 -0
- {deepcode_hku-1.0.7 → deepcode_hku-1.0.9}/workflows/codebase_index_workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepcode-hku
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
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
|
|
@@ -24,14 +24,21 @@ Requires-Dist: aiohttp>=3.8.0
|
|
|
24
24
|
Requires-Dist: anthropic
|
|
25
25
|
Requires-Dist: asyncio-mqtt
|
|
26
26
|
Requires-Dist: docling
|
|
27
|
+
Requires-Dist: fastapi>=0.104.0
|
|
28
|
+
Requires-Dist: google-genai
|
|
27
29
|
Requires-Dist: mcp-agent
|
|
28
30
|
Requires-Dist: mcp-server-git
|
|
29
31
|
Requires-Dist: nest_asyncio
|
|
30
32
|
Requires-Dist: openai
|
|
31
33
|
Requires-Dist: pathlib2
|
|
34
|
+
Requires-Dist: pydantic-settings>=2.0.0
|
|
32
35
|
Requires-Dist: PyPDF2>=2.0.0
|
|
36
|
+
Requires-Dist: python-multipart>=0.0.6
|
|
37
|
+
Requires-Dist: PyYAML>=6.0
|
|
33
38
|
Requires-Dist: reportlab>=3.5.0
|
|
34
39
|
Requires-Dist: streamlit
|
|
40
|
+
Requires-Dist: uvicorn>=0.24.0
|
|
41
|
+
Requires-Dist: websockets>=12.0
|
|
35
42
|
Dynamic: author
|
|
36
43
|
Dynamic: classifier
|
|
37
44
|
Dynamic: description
|
|
@@ -80,8 +87,9 @@ Dynamic: summary
|
|
|
80
87
|
</p> -->
|
|
81
88
|
<p>
|
|
82
89
|
<a href="https://github.com/HKUDS/DeepCode/stargazers"><img src='https://img.shields.io/github/stars/HKUDS/DeepCode?color=00d9ff&style=for-the-badge&logo=star&logoColor=white&labelColor=1a1a2e' /></a>
|
|
90
|
+
<a href='https://arxiv.org/abs/2512.07921'><img src="https://img.shields.io/badge/Paper-arXiv-orange?style=for-the-badge&logo=arxiv&logoColor=white&labelColor=1a1a2e"></a>
|
|
83
91
|
<img src="https://img.shields.io/badge/🐍Python-3.13-4ecdc4?style=for-the-badge&logo=python&logoColor=white&labelColor=1a1a2e">
|
|
84
|
-
<a href="https://pypi.org/project/deepcode-hku/"><img src="https://img.shields.io/pypi/v/deepcode-hku.svg?style=for-the-badge&logo=pypi&logoColor=white&labelColor=1a1a2e&color=ff6b6b"></a>
|
|
92
|
+
<!-- <a href="https://pypi.org/project/deepcode-hku/"><img src="https://img.shields.io/pypi/v/deepcode-hku.svg?style=for-the-badge&logo=pypi&logoColor=white&labelColor=1a1a2e&color=ff6b6b"></a> -->
|
|
85
93
|
</p>
|
|
86
94
|
<p>
|
|
87
95
|
<a href="https://discord.gg/yF2MmDJyGJ"><img src="https://img.shields.io/badge/💬Discord-Community-7289da?style=for-the-badge&logo=discord&logoColor=white&labelColor=1a1a2e"></a>
|
|
@@ -202,6 +210,22 @@ Dynamic: summary
|
|
|
202
210
|
|
|
203
211
|
## 📰 News
|
|
204
212
|
|
|
213
|
+
🎨 **[2025-02] New Web UI Experience Upgrade!**
|
|
214
|
+
|
|
215
|
+
- 🔄 **User-in-Loop Interaction**: Support real-time user interaction during workflows - AI asks clarifying questions directly in the chat
|
|
216
|
+
- 💬 **Inline Interaction Design**: Interaction prompts appear naturally within the chat flow for a seamless experience
|
|
217
|
+
- 🚀 **One-Click Launch**: Simply run `deepcode` to start the new UI (cross-platform: Windows/macOS/Linux)
|
|
218
|
+
- 🔧 **Improved Process Management**: Enhanced service start/stop mechanism with automatic port cleanup
|
|
219
|
+
- 📡 **WebSocket Real-time Communication**: Fixed message loss issues, ensuring proper interaction state synchronization
|
|
220
|
+
|
|
221
|
+
<div align="center">
|
|
222
|
+
<img src="./assets/NewUI.png" alt="DeepCode New UI" width="85%" style="border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.15);" />
|
|
223
|
+
<br/>
|
|
224
|
+
<sub><em>DeepCode New Web UI - Modern React-based Interface</em></sub>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
205
229
|
🎉 **[2025-10] 🎉 [2025-10-28] DeepCode Achieves SOTA on PaperBench!**
|
|
206
230
|
|
|
207
231
|
DeepCode sets new benchmarks on OpenAI's PaperBench Code-Dev across all categories:
|
|
@@ -569,7 +593,39 @@ Implementation Generation • Testing • Documentation
|
|
|
569
593
|
|
|
570
594
|
## 🚀 Quick Start
|
|
571
595
|
|
|
596
|
+
### 📋 **Prerequisites**
|
|
597
|
+
|
|
598
|
+
Before installing DeepCode, ensure you have the following:
|
|
572
599
|
|
|
600
|
+
| Requirement | Version | Purpose |
|
|
601
|
+
|-------------|---------|---------|
|
|
602
|
+
| **Python** | 3.9+ | Core runtime |
|
|
603
|
+
| **Node.js** | 18+ | New UI frontend |
|
|
604
|
+
| **npm** | 8+ | Package management |
|
|
605
|
+
|
|
606
|
+
```bash
|
|
607
|
+
# Check your versions
|
|
608
|
+
python --version # Should be 3.9+
|
|
609
|
+
node --version # Should be 18+
|
|
610
|
+
npm --version # Should be 8+
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
<details>
|
|
614
|
+
<summary><strong>📥 Install Node.js (if not installed)</strong></summary>
|
|
615
|
+
|
|
616
|
+
```bash
|
|
617
|
+
# macOS (using Homebrew)
|
|
618
|
+
brew install node
|
|
619
|
+
|
|
620
|
+
# Ubuntu/Debian
|
|
621
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
622
|
+
sudo apt-get install -y nodejs
|
|
623
|
+
|
|
624
|
+
# Windows
|
|
625
|
+
# Download from https://nodejs.org/
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
</details>
|
|
573
629
|
|
|
574
630
|
### 📦 **Step 1: Installation**
|
|
575
631
|
|
|
@@ -587,6 +643,14 @@ curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.secrets.
|
|
|
587
643
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
588
644
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
589
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
|
|
590
654
|
|
|
591
655
|
# 🔑 Configure search API keys for web search (optional)
|
|
592
656
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -623,6 +687,14 @@ uv pip install -r requirements.txt
|
|
|
623
687
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
624
688
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
625
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
|
|
626
698
|
|
|
627
699
|
# 🔑 Configure search API keys for web search (optional)
|
|
628
700
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -649,6 +721,14 @@ pip install -r requirements.txt
|
|
|
649
721
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
650
722
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
651
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
|
|
652
732
|
|
|
653
733
|
# 🔑 Configure search API keys for web search (optional)
|
|
654
734
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -734,28 +814,64 @@ bocha-mcp:
|
|
|
734
814
|
|
|
735
815
|
### ⚡ **Step 2: Launch Application**
|
|
736
816
|
|
|
737
|
-
#### 🚀 **Using
|
|
817
|
+
#### 🚀 **Using `deepcode` Command (Recommended)**
|
|
738
818
|
|
|
739
819
|
```bash
|
|
740
|
-
# 🌐 Launch web interface
|
|
820
|
+
# 🌐 Launch the new React-based web interface
|
|
741
821
|
deepcode
|
|
742
822
|
|
|
743
|
-
#
|
|
823
|
+
# Frontend: http://localhost:5173
|
|
824
|
+
# Backend API: http://localhost:8000
|
|
825
|
+
# Press Ctrl+C to stop all services
|
|
826
|
+
```
|
|
827
|
+
<div align="center">
|
|
828
|
+
<img src="https://img.shields.io/badge/Frontend-localhost:5173-00d4ff?style=flat-square&logo=react&logoColor=white" alt="Frontend" />
|
|
829
|
+
<img src="https://img.shields.io/badge/Backend-localhost:8000-4ecdc4?style=flat-square&logo=fastapi&logoColor=white" alt="Backend" />
|
|
830
|
+
</div>
|
|
831
|
+
|
|
832
|
+
> **📦 Auto Install**: On first run, dependencies are automatically installed (`pip install` for backend, `npm install` for frontend)
|
|
833
|
+
|
|
834
|
+
> **✨ Features**: User-in-Loop interaction, real-time progress tracking, inline chat interaction
|
|
835
|
+
|
|
836
|
+
#### 🛠️ **Alternative Launch Methods**
|
|
837
|
+
|
|
838
|
+
<table>
|
|
839
|
+
<tr>
|
|
840
|
+
<td><strong>🍎 macOS / 🐧 Linux</strong></td>
|
|
841
|
+
<td><strong>🪟 Windows</strong></td>
|
|
842
|
+
</tr>
|
|
843
|
+
<tr>
|
|
844
|
+
<td>
|
|
845
|
+
|
|
846
|
+
```bash
|
|
847
|
+
# Using run.sh
|
|
848
|
+
./run.sh
|
|
849
|
+
|
|
850
|
+
# Or using Python directly
|
|
851
|
+
python deepcode.py
|
|
744
852
|
```
|
|
745
853
|
|
|
746
|
-
|
|
854
|
+
</td>
|
|
855
|
+
<td>
|
|
747
856
|
|
|
748
|
-
|
|
857
|
+
```cmd
|
|
858
|
+
# Using run.bat
|
|
859
|
+
run.bat
|
|
860
|
+
|
|
861
|
+
# Or using Python directly
|
|
862
|
+
python deepcode.py
|
|
863
|
+
```
|
|
864
|
+
|
|
865
|
+
</td>
|
|
866
|
+
</tr>
|
|
867
|
+
</table>
|
|
749
868
|
|
|
750
|
-
##### 🌐 **Web Interface** (Recommended)
|
|
751
869
|
```bash
|
|
752
|
-
#
|
|
753
|
-
|
|
754
|
-
# Or using traditional Python
|
|
755
|
-
streamlit run ui/streamlit_app.py
|
|
870
|
+
# Classic Streamlit UI (all platforms)
|
|
871
|
+
deepcode --classic
|
|
756
872
|
```
|
|
757
873
|
<div align="center">
|
|
758
|
-
<img src="https://img.shields.io/badge/
|
|
874
|
+
<img src="https://img.shields.io/badge/Classic_UI-localhost:8501-00d4ff?style=flat-square&logo=streamlit&logoColor=white" alt="Classic UI" />
|
|
759
875
|
</div>
|
|
760
876
|
|
|
761
877
|
##### 🖥️ **CLI Interface** (Advanced Users)
|
|
@@ -900,8 +1016,32 @@ We're continuously enhancing DeepCode with exciting new features:
|
|
|
900
1016
|
|
|
901
1017
|
---
|
|
902
1018
|
|
|
1019
|
+
<div align="left">
|
|
1020
|
+
|
|
1021
|
+
### 📖 **Citation**
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
If you find DeepCode useful in your research or applications, please kindly cite:
|
|
1025
|
+
|
|
1026
|
+
```
|
|
1027
|
+
@misc{li2025deepcodeopenagenticcoding,
|
|
1028
|
+
title={DeepCode: Open Agentic Coding},
|
|
1029
|
+
author={Zongwei Li and Zhonghang Li and Zirui Guo and Xubin Ren and Chao Huang},
|
|
1030
|
+
year={2025},
|
|
1031
|
+
eprint={2512.07921},
|
|
1032
|
+
archivePrefix={arXiv},
|
|
1033
|
+
primaryClass={cs.SE},
|
|
1034
|
+
url={https://arxiv.org/abs/2512.07921},
|
|
1035
|
+
}
|
|
1036
|
+
```
|
|
1037
|
+
|
|
1038
|
+
---
|
|
1039
|
+
|
|
1040
|
+
|
|
903
1041
|
### 📄 **License**
|
|
904
1042
|
|
|
1043
|
+
<div align="center">
|
|
1044
|
+
|
|
905
1045
|
<img src="https://img.shields.io/badge/License-MIT-4ecdc4?style=for-the-badge&logo=opensourceinitiative&logoColor=white" alt="MIT License">
|
|
906
1046
|
|
|
907
1047
|
**MIT License** - Copyright (c) 2025 Data Intelligence Lab, The University of Hong Kong
|
|
@@ -909,7 +1049,6 @@ We're continuously enhancing DeepCode with exciting new features:
|
|
|
909
1049
|
---
|
|
910
1050
|
|
|
911
1051
|
|
|
912
|
-
|
|
913
1052
|
<img src="https://visitor-badge.laobi.icu/badge?page_id=deepcode.readme&style=for-the-badge&color=00d4ff" alt="Visitors">
|
|
914
1053
|
|
|
915
1054
|
</div>
|
|
@@ -1,48 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: deepcode-hku
|
|
3
|
-
Version: 1.0.7
|
|
4
|
-
Summary: AI Research Engine - Transform research papers into working code automatically
|
|
5
|
-
Home-page: https://github.com/HKUDS/DeepCode
|
|
6
|
-
Author: DeepCodeTeam
|
|
7
|
-
Project-URL: Documentation, https://github.com/HKUDS/DeepCode
|
|
8
|
-
Project-URL: Source, https://github.com/HKUDS/DeepCode
|
|
9
|
-
Project-URL: Tracker, https://github.com/HKUDS/DeepCode/issues
|
|
10
|
-
Classifier: Development Status :: 4 - Beta
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: Intended Audience :: Science/Research
|
|
16
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
18
|
-
Classifier: Topic :: Text Processing :: Linguistic
|
|
19
|
-
Requires-Python: >=3.9
|
|
20
|
-
Description-Content-Type: text/markdown
|
|
21
|
-
License-File: LICENSE
|
|
22
|
-
Requires-Dist: aiofiles>=0.8.0
|
|
23
|
-
Requires-Dist: aiohttp>=3.8.0
|
|
24
|
-
Requires-Dist: anthropic
|
|
25
|
-
Requires-Dist: asyncio-mqtt
|
|
26
|
-
Requires-Dist: docling
|
|
27
|
-
Requires-Dist: mcp-agent
|
|
28
|
-
Requires-Dist: mcp-server-git
|
|
29
|
-
Requires-Dist: nest_asyncio
|
|
30
|
-
Requires-Dist: openai
|
|
31
|
-
Requires-Dist: pathlib2
|
|
32
|
-
Requires-Dist: PyPDF2>=2.0.0
|
|
33
|
-
Requires-Dist: reportlab>=3.5.0
|
|
34
|
-
Requires-Dist: streamlit
|
|
35
|
-
Dynamic: author
|
|
36
|
-
Dynamic: classifier
|
|
37
|
-
Dynamic: description
|
|
38
|
-
Dynamic: description-content-type
|
|
39
|
-
Dynamic: home-page
|
|
40
|
-
Dynamic: license-file
|
|
41
|
-
Dynamic: project-url
|
|
42
|
-
Dynamic: requires-dist
|
|
43
|
-
Dynamic: requires-python
|
|
44
|
-
Dynamic: summary
|
|
45
|
-
|
|
46
1
|
<div align="center">
|
|
47
2
|
|
|
48
3
|
<table style="border: none; margin: 0 auto; padding: 0; border-collapse: collapse;">
|
|
@@ -80,8 +35,9 @@ Dynamic: summary
|
|
|
80
35
|
</p> -->
|
|
81
36
|
<p>
|
|
82
37
|
<a href="https://github.com/HKUDS/DeepCode/stargazers"><img src='https://img.shields.io/github/stars/HKUDS/DeepCode?color=00d9ff&style=for-the-badge&logo=star&logoColor=white&labelColor=1a1a2e' /></a>
|
|
38
|
+
<a href='https://arxiv.org/abs/2512.07921'><img src="https://img.shields.io/badge/Paper-arXiv-orange?style=for-the-badge&logo=arxiv&logoColor=white&labelColor=1a1a2e"></a>
|
|
83
39
|
<img src="https://img.shields.io/badge/🐍Python-3.13-4ecdc4?style=for-the-badge&logo=python&logoColor=white&labelColor=1a1a2e">
|
|
84
|
-
<a href="https://pypi.org/project/deepcode-hku/"><img src="https://img.shields.io/pypi/v/deepcode-hku.svg?style=for-the-badge&logo=pypi&logoColor=white&labelColor=1a1a2e&color=ff6b6b"></a>
|
|
40
|
+
<!-- <a href="https://pypi.org/project/deepcode-hku/"><img src="https://img.shields.io/pypi/v/deepcode-hku.svg?style=for-the-badge&logo=pypi&logoColor=white&labelColor=1a1a2e&color=ff6b6b"></a> -->
|
|
85
41
|
</p>
|
|
86
42
|
<p>
|
|
87
43
|
<a href="https://discord.gg/yF2MmDJyGJ"><img src="https://img.shields.io/badge/💬Discord-Community-7289da?style=for-the-badge&logo=discord&logoColor=white&labelColor=1a1a2e"></a>
|
|
@@ -202,6 +158,22 @@ Dynamic: summary
|
|
|
202
158
|
|
|
203
159
|
## 📰 News
|
|
204
160
|
|
|
161
|
+
🎨 **[2025-02] New Web UI Experience Upgrade!**
|
|
162
|
+
|
|
163
|
+
- 🔄 **User-in-Loop Interaction**: Support real-time user interaction during workflows - AI asks clarifying questions directly in the chat
|
|
164
|
+
- 💬 **Inline Interaction Design**: Interaction prompts appear naturally within the chat flow for a seamless experience
|
|
165
|
+
- 🚀 **One-Click Launch**: Simply run `deepcode` to start the new UI (cross-platform: Windows/macOS/Linux)
|
|
166
|
+
- 🔧 **Improved Process Management**: Enhanced service start/stop mechanism with automatic port cleanup
|
|
167
|
+
- 📡 **WebSocket Real-time Communication**: Fixed message loss issues, ensuring proper interaction state synchronization
|
|
168
|
+
|
|
169
|
+
<div align="center">
|
|
170
|
+
<img src="./assets/NewUI.png" alt="DeepCode New UI" width="85%" style="border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.15);" />
|
|
171
|
+
<br/>
|
|
172
|
+
<sub><em>DeepCode New Web UI - Modern React-based Interface</em></sub>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
205
177
|
🎉 **[2025-10] 🎉 [2025-10-28] DeepCode Achieves SOTA on PaperBench!**
|
|
206
178
|
|
|
207
179
|
DeepCode sets new benchmarks on OpenAI's PaperBench Code-Dev across all categories:
|
|
@@ -569,7 +541,39 @@ Implementation Generation • Testing • Documentation
|
|
|
569
541
|
|
|
570
542
|
## 🚀 Quick Start
|
|
571
543
|
|
|
544
|
+
### 📋 **Prerequisites**
|
|
545
|
+
|
|
546
|
+
Before installing DeepCode, ensure you have the following:
|
|
547
|
+
|
|
548
|
+
| Requirement | Version | Purpose |
|
|
549
|
+
|-------------|---------|---------|
|
|
550
|
+
| **Python** | 3.9+ | Core runtime |
|
|
551
|
+
| **Node.js** | 18+ | New UI frontend |
|
|
552
|
+
| **npm** | 8+ | Package management |
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
# Check your versions
|
|
556
|
+
python --version # Should be 3.9+
|
|
557
|
+
node --version # Should be 18+
|
|
558
|
+
npm --version # Should be 8+
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
<details>
|
|
562
|
+
<summary><strong>📥 Install Node.js (if not installed)</strong></summary>
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
# macOS (using Homebrew)
|
|
566
|
+
brew install node
|
|
567
|
+
|
|
568
|
+
# Ubuntu/Debian
|
|
569
|
+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
570
|
+
sudo apt-get install -y nodejs
|
|
571
|
+
|
|
572
|
+
# Windows
|
|
573
|
+
# Download from https://nodejs.org/
|
|
574
|
+
```
|
|
572
575
|
|
|
576
|
+
</details>
|
|
573
577
|
|
|
574
578
|
### 📦 **Step 1: Installation**
|
|
575
579
|
|
|
@@ -587,6 +591,14 @@ curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.secrets.
|
|
|
587
591
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
588
592
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
589
593
|
# - anthropic: api_key (for Claude models)
|
|
594
|
+
# - google: api_key (for Gemini models)
|
|
595
|
+
|
|
596
|
+
# 🤖 Select your preferred LLM provider (optional)
|
|
597
|
+
# Edit mcp_agent.config.yaml to choose your LLM (line ~106):
|
|
598
|
+
# - llm_provider: "google" # Use Google Gemini models
|
|
599
|
+
# - llm_provider: "anthropic" # Use Anthropic Claude models
|
|
600
|
+
# - llm_provider: "openai" # Use OpenAI/compatible models
|
|
601
|
+
# Note: If not set or unavailable, will automatically fallback to first available provider
|
|
590
602
|
|
|
591
603
|
# 🔑 Configure search API keys for web search (optional)
|
|
592
604
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -623,6 +635,14 @@ uv pip install -r requirements.txt
|
|
|
623
635
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
624
636
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
625
637
|
# - anthropic: api_key (for Claude models)
|
|
638
|
+
# - google: api_key (for Gemini models)
|
|
639
|
+
|
|
640
|
+
# 🤖 Select your preferred LLM provider (optional)
|
|
641
|
+
# Edit mcp_agent.config.yaml to choose your LLM (line ~106):
|
|
642
|
+
# - llm_provider: "google" # Use Google Gemini models
|
|
643
|
+
# - llm_provider: "anthropic" # Use Anthropic Claude models
|
|
644
|
+
# - llm_provider: "openai" # Use OpenAI/compatible models
|
|
645
|
+
# Note: If not set or unavailable, will automatically fallback to first available provider
|
|
626
646
|
|
|
627
647
|
# 🔑 Configure search API keys for web search (optional)
|
|
628
648
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -649,6 +669,14 @@ pip install -r requirements.txt
|
|
|
649
669
|
# Edit mcp_agent.secrets.yaml with your API keys and base_url:
|
|
650
670
|
# - openai: api_key, base_url (for OpenAI/custom endpoints)
|
|
651
671
|
# - anthropic: api_key (for Claude models)
|
|
672
|
+
# - google: api_key (for Gemini models)
|
|
673
|
+
|
|
674
|
+
# 🤖 Select your preferred LLM provider (optional)
|
|
675
|
+
# Edit mcp_agent.config.yaml to choose your LLM (line ~106):
|
|
676
|
+
# - llm_provider: "google" # Use Google Gemini models
|
|
677
|
+
# - llm_provider: "anthropic" # Use Anthropic Claude models
|
|
678
|
+
# - llm_provider: "openai" # Use OpenAI/compatible models
|
|
679
|
+
# Note: If not set or unavailable, will automatically fallback to first available provider
|
|
652
680
|
|
|
653
681
|
# 🔑 Configure search API keys for web search (optional)
|
|
654
682
|
# Edit mcp_agent.config.yaml to set your API keys:
|
|
@@ -734,28 +762,64 @@ bocha-mcp:
|
|
|
734
762
|
|
|
735
763
|
### ⚡ **Step 2: Launch Application**
|
|
736
764
|
|
|
737
|
-
#### 🚀 **Using
|
|
765
|
+
#### 🚀 **Using `deepcode` Command (Recommended)**
|
|
738
766
|
|
|
739
767
|
```bash
|
|
740
|
-
# 🌐 Launch web interface
|
|
768
|
+
# 🌐 Launch the new React-based web interface
|
|
741
769
|
deepcode
|
|
742
770
|
|
|
743
|
-
#
|
|
771
|
+
# Frontend: http://localhost:5173
|
|
772
|
+
# Backend API: http://localhost:8000
|
|
773
|
+
# Press Ctrl+C to stop all services
|
|
744
774
|
```
|
|
775
|
+
<div align="center">
|
|
776
|
+
<img src="https://img.shields.io/badge/Frontend-localhost:5173-00d4ff?style=flat-square&logo=react&logoColor=white" alt="Frontend" />
|
|
777
|
+
<img src="https://img.shields.io/badge/Backend-localhost:8000-4ecdc4?style=flat-square&logo=fastapi&logoColor=white" alt="Backend" />
|
|
778
|
+
</div>
|
|
779
|
+
|
|
780
|
+
> **📦 Auto Install**: On first run, dependencies are automatically installed (`pip install` for backend, `npm install` for frontend)
|
|
745
781
|
|
|
746
|
-
|
|
782
|
+
> **✨ Features**: User-in-Loop interaction, real-time progress tracking, inline chat interaction
|
|
747
783
|
|
|
748
|
-
|
|
784
|
+
#### 🛠️ **Alternative Launch Methods**
|
|
785
|
+
|
|
786
|
+
<table>
|
|
787
|
+
<tr>
|
|
788
|
+
<td><strong>🍎 macOS / 🐧 Linux</strong></td>
|
|
789
|
+
<td><strong>🪟 Windows</strong></td>
|
|
790
|
+
</tr>
|
|
791
|
+
<tr>
|
|
792
|
+
<td>
|
|
749
793
|
|
|
750
|
-
##### 🌐 **Web Interface** (Recommended)
|
|
751
794
|
```bash
|
|
752
|
-
# Using
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
795
|
+
# Using run.sh
|
|
796
|
+
./run.sh
|
|
797
|
+
|
|
798
|
+
# Or using Python directly
|
|
799
|
+
python deepcode.py
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
</td>
|
|
803
|
+
<td>
|
|
804
|
+
|
|
805
|
+
```cmd
|
|
806
|
+
# Using run.bat
|
|
807
|
+
run.bat
|
|
808
|
+
|
|
809
|
+
# Or using Python directly
|
|
810
|
+
python deepcode.py
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
</td>
|
|
814
|
+
</tr>
|
|
815
|
+
</table>
|
|
816
|
+
|
|
817
|
+
```bash
|
|
818
|
+
# Classic Streamlit UI (all platforms)
|
|
819
|
+
deepcode --classic
|
|
756
820
|
```
|
|
757
821
|
<div align="center">
|
|
758
|
-
<img src="https://img.shields.io/badge/
|
|
822
|
+
<img src="https://img.shields.io/badge/Classic_UI-localhost:8501-00d4ff?style=flat-square&logo=streamlit&logoColor=white" alt="Classic UI" />
|
|
759
823
|
</div>
|
|
760
824
|
|
|
761
825
|
##### 🖥️ **CLI Interface** (Advanced Users)
|
|
@@ -900,8 +964,32 @@ We're continuously enhancing DeepCode with exciting new features:
|
|
|
900
964
|
|
|
901
965
|
---
|
|
902
966
|
|
|
967
|
+
<div align="left">
|
|
968
|
+
|
|
969
|
+
### 📖 **Citation**
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
If you find DeepCode useful in your research or applications, please kindly cite:
|
|
973
|
+
|
|
974
|
+
```
|
|
975
|
+
@misc{li2025deepcodeopenagenticcoding,
|
|
976
|
+
title={DeepCode: Open Agentic Coding},
|
|
977
|
+
author={Zongwei Li and Zhonghang Li and Zirui Guo and Xubin Ren and Chao Huang},
|
|
978
|
+
year={2025},
|
|
979
|
+
eprint={2512.07921},
|
|
980
|
+
archivePrefix={arXiv},
|
|
981
|
+
primaryClass={cs.SE},
|
|
982
|
+
url={https://arxiv.org/abs/2512.07921},
|
|
983
|
+
}
|
|
984
|
+
```
|
|
985
|
+
|
|
986
|
+
---
|
|
987
|
+
|
|
988
|
+
|
|
903
989
|
### 📄 **License**
|
|
904
990
|
|
|
991
|
+
<div align="center">
|
|
992
|
+
|
|
905
993
|
<img src="https://img.shields.io/badge/License-MIT-4ecdc4?style=for-the-badge&logo=opensourceinitiative&logoColor=white" alt="MIT License">
|
|
906
994
|
|
|
907
995
|
**MIT License** - Copyright (c) 2025 Data Intelligence Lab, The University of Hong Kong
|
|
@@ -909,7 +997,6 @@ We're continuously enhancing DeepCode with exciting new features:
|
|
|
909
997
|
---
|
|
910
998
|
|
|
911
999
|
|
|
912
|
-
|
|
913
1000
|
<img src="https://visitor-badge.laobi.icu/badge?page_id=deepcode.readme&style=for-the-badge&color=00d4ff" alt="Visitors">
|
|
914
1001
|
|
|
915
1002
|
</div>
|