deepcode-hku 1.0.4__tar.gz → 1.0.5__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.4/deepcode_hku.egg-info → deepcode_hku-1.0.5}/PKG-INFO +5 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/README.md +4 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/__init__.py +1 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/cli_app.py +3 -55
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/cli_interface.py +62 -2
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/main_cli.py +6 -8
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode.py +74 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5/deepcode_hku.egg-info}/PKG-INFO +5 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode_hku.egg-info/SOURCES.txt +3 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/mcp_agent.config.yaml +5 -4
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/mcp_agent.secrets.yaml +1 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/prompts/code_prompts.py +188 -92
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/code_implementation_server.py +432 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/pdf_downloader.py +11 -1
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/components.py +526 -349
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/handlers.py +221 -0
- deepcode_hku-1.0.5/ui/layout.py +161 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/styles.py +1390 -71
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/file_processor.py +12 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/llm_utils.py +6 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agent_orchestration_engine.py +309 -7
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agents/memory_agent_concise.py +131 -43
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agents/memory_agent_concise_index.py +180 -73
- deepcode_hku-1.0.5/workflows/agents/memory_agent_concise_multi.py +1659 -0
- deepcode_hku-1.0.5/workflows/agents/requirement_analysis_agent.py +410 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/code_implementation_workflow.py +114 -2
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/code_implementation_workflow_index.py +121 -7
- deepcode_hku-1.0.4/ui/layout.py +0 -106
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/.pre-commit-config.yaml +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/LICENSE +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/MANIFEST.in +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/cli_launcher.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/workflows/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/cli/workflows/cli_workflow_adapter.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode_hku.egg-info/dependency_links.txt +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode_hku.egg-info/entry_points.txt +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode_hku.egg-info/requires.txt +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/deepcode_hku.egg-info/top_level.txt +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/requirements.txt +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/schema/mcp-agent.config.schema.json +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/setup.cfg +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/setup.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/bocha_search_server.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/code_indexer.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/code_reference_indexer.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/command_executor.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/document_segmentation_server.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/git_command.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/pdf_converter.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/tools/pdf_utils.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/app.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/ui/streamlit_app.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/cli_interface.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/dialogue_logger.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/utils/simple_llm_logger.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agents/__init__.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agents/code_implementation_agent.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/workflows/agents/document_segmentation_agent.py +0 -0
- {deepcode_hku-1.0.4 → deepcode_hku-1.0.5}/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.5
|
|
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
|
|
@@ -60,6 +60,10 @@ Dynamic: summary
|
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
|
|
63
|
+
<div align="center">
|
|
64
|
+
<a href="https://trendshift.io/repositories/14665" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14665" alt="HKUDS%2FDeepCode | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
63
67
|
<!-- <img src="https://readme-typing-svg.herokuapp.com?font=Russo+One&size=28&duration=2000&pause=800&color=06B6D4&background=00000000¢er=true&vCenter=true&width=800&height=50&lines=%E2%9A%A1+OPEN+AGENTIC+CODING+%E2%9A%A1" alt="DeepCode Tech Subtitle" style="margin-top: 5px; filter: drop-shadow(0 0 12px #06B6D4) drop-shadow(0 0 24px rgba(6,182,212,0.4));"/> -->
|
|
64
68
|
|
|
65
69
|
# <img src="https://github.com/Zongwei9888/Experiment_Images/raw/43c585dca3d21b8e4b6390d835cdd34dc4b4b23d/DeepCode_images/title_logo.svg" alt="DeepCode Logo" width="32" height="32" style="vertical-align: middle; margin-right: 8px;"/> DeepCode: Open Agentic Coding
|
|
@@ -16,6 +16,10 @@
|
|
|
16
16
|
</tr>
|
|
17
17
|
</table>
|
|
18
18
|
|
|
19
|
+
<div align="center">
|
|
20
|
+
<a href="https://trendshift.io/repositories/14665" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14665" alt="HKUDS%2FDeepCode | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
19
23
|
<!-- <img src="https://readme-typing-svg.herokuapp.com?font=Russo+One&size=28&duration=2000&pause=800&color=06B6D4&background=00000000¢er=true&vCenter=true&width=800&height=50&lines=%E2%9A%A1+OPEN+AGENTIC+CODING+%E2%9A%A1" alt="DeepCode Tech Subtitle" style="margin-top: 5px; filter: drop-shadow(0 0 12px #06B6D4) drop-shadow(0 0 24px rgba(6,182,212,0.4));"/> -->
|
|
20
24
|
|
|
21
25
|
# <img src="https://github.com/Zongwei9888/Experiment_Images/raw/43c585dca3d21b8e4b6390d835cdd34dc4b4b23d/DeepCode_images/title_logo.svg" alt="DeepCode Logo" width="32" height="32" style="vertical-align: middle; margin-right: 8px;"/> DeepCode: Open Agentic Coding
|
|
@@ -37,8 +37,7 @@ class CLIApp:
|
|
|
37
37
|
self.app = None # Will be initialized by workflow adapter
|
|
38
38
|
self.logger = None
|
|
39
39
|
self.context = None
|
|
40
|
-
# Document segmentation
|
|
41
|
-
self.segmentation_config = {"enabled": True, "size_threshold_chars": 50000}
|
|
40
|
+
# Document segmentation will be managed by CLI interface
|
|
42
41
|
|
|
43
42
|
async def initialize_mcp_app(self):
|
|
44
43
|
"""初始化MCP应用 - 使用工作流适配器"""
|
|
@@ -49,50 +48,10 @@ class CLIApp:
|
|
|
49
48
|
"""清理MCP应用 - 使用工作流适配器"""
|
|
50
49
|
await self.workflow_adapter.cleanup_mcp_app()
|
|
51
50
|
|
|
52
|
-
def update_segmentation_config(self):
|
|
53
|
-
"""Update document segmentation configuration in mcp_agent.config.yaml"""
|
|
54
|
-
import yaml
|
|
55
|
-
import os
|
|
56
|
-
|
|
57
|
-
config_path = os.path.join(
|
|
58
|
-
os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
|
|
59
|
-
"mcp_agent.config.yaml",
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
try:
|
|
63
|
-
# Read current config
|
|
64
|
-
with open(config_path, "r", encoding="utf-8") as f:
|
|
65
|
-
config = yaml.safe_load(f)
|
|
66
|
-
|
|
67
|
-
# Update document segmentation settings
|
|
68
|
-
if "document_segmentation" not in config:
|
|
69
|
-
config["document_segmentation"] = {}
|
|
70
|
-
|
|
71
|
-
config["document_segmentation"]["enabled"] = self.segmentation_config[
|
|
72
|
-
"enabled"
|
|
73
|
-
]
|
|
74
|
-
config["document_segmentation"]["size_threshold_chars"] = (
|
|
75
|
-
self.segmentation_config["size_threshold_chars"]
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
# Write updated config
|
|
79
|
-
with open(config_path, "w", encoding="utf-8") as f:
|
|
80
|
-
yaml.dump(config, f, default_flow_style=False, allow_unicode=True)
|
|
81
|
-
|
|
82
|
-
self.cli.print_status(
|
|
83
|
-
"📄 Document segmentation configuration updated", "success"
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
except Exception as e:
|
|
87
|
-
self.cli.print_status(
|
|
88
|
-
f"⚠️ Failed to update segmentation config: {str(e)}", "warning"
|
|
89
|
-
)
|
|
90
|
-
|
|
91
51
|
async def process_input(self, input_source: str, input_type: str):
|
|
92
52
|
"""处理输入源(URL或文件)- 使用升级版智能体编排引擎"""
|
|
93
53
|
try:
|
|
94
|
-
#
|
|
95
|
-
self.update_segmentation_config()
|
|
54
|
+
# Document segmentation configuration is managed by CLI interface
|
|
96
55
|
|
|
97
56
|
self.cli.print_separator()
|
|
98
57
|
self.cli.print_status(
|
|
@@ -281,20 +240,9 @@ class CLIApp:
|
|
|
281
240
|
self.cli.show_history()
|
|
282
241
|
|
|
283
242
|
elif choice in ["c", "config", "configure"]:
|
|
284
|
-
#
|
|
285
|
-
self.segmentation_config["enabled"] = self.cli.segmentation_enabled
|
|
286
|
-
self.segmentation_config["size_threshold_chars"] = (
|
|
287
|
-
self.cli.segmentation_threshold
|
|
288
|
-
)
|
|
289
|
-
|
|
243
|
+
# Show configuration menu - all settings managed by CLI interface
|
|
290
244
|
self.cli.show_configuration_menu()
|
|
291
245
|
|
|
292
|
-
# Sync back from CLI interface after configuration changes
|
|
293
|
-
self.segmentation_config["enabled"] = self.cli.segmentation_enabled
|
|
294
|
-
self.segmentation_config["size_threshold_chars"] = (
|
|
295
|
-
self.cli.segmentation_threshold
|
|
296
|
-
)
|
|
297
|
-
|
|
298
246
|
else:
|
|
299
247
|
self.cli.print_status(
|
|
300
248
|
"Invalid choice. Please select U, F, T, C, H, or Q.", "warning"
|
|
@@ -40,9 +40,67 @@ class CLIInterface:
|
|
|
40
40
|
self.is_running = True
|
|
41
41
|
self.processing_history = []
|
|
42
42
|
self.enable_indexing = True # Default configuration
|
|
43
|
-
self.segmentation_enabled = True # Default to smart segmentation
|
|
44
|
-
self.segmentation_threshold = 50000 # Default threshold
|
|
45
43
|
|
|
44
|
+
# Load segmentation config from the same source as UI
|
|
45
|
+
self._load_segmentation_config()
|
|
46
|
+
|
|
47
|
+
# Initialize tkinter availability
|
|
48
|
+
self._init_tkinter()
|
|
49
|
+
|
|
50
|
+
def _load_segmentation_config(self):
|
|
51
|
+
"""Load segmentation configuration from mcp_agent.config.yaml"""
|
|
52
|
+
try:
|
|
53
|
+
from utils.llm_utils import get_document_segmentation_config
|
|
54
|
+
|
|
55
|
+
seg_config = get_document_segmentation_config()
|
|
56
|
+
self.segmentation_enabled = seg_config.get("enabled", True)
|
|
57
|
+
self.segmentation_threshold = seg_config.get("size_threshold_chars", 50000)
|
|
58
|
+
except Exception as e:
|
|
59
|
+
print(f"⚠️ Warning: Failed to load segmentation config: {e}")
|
|
60
|
+
# Fall back to defaults
|
|
61
|
+
self.segmentation_enabled = True
|
|
62
|
+
self.segmentation_threshold = 50000
|
|
63
|
+
|
|
64
|
+
def _save_segmentation_config(self):
|
|
65
|
+
"""Save segmentation configuration to mcp_agent.config.yaml"""
|
|
66
|
+
import yaml
|
|
67
|
+
import os
|
|
68
|
+
|
|
69
|
+
# Get the project root directory (where mcp_agent.config.yaml is located)
|
|
70
|
+
current_file = os.path.abspath(__file__)
|
|
71
|
+
cli_dir = os.path.dirname(current_file) # cli directory
|
|
72
|
+
project_root = os.path.dirname(cli_dir) # project root
|
|
73
|
+
config_path = os.path.join(project_root, "mcp_agent.config.yaml")
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
# Read current config
|
|
77
|
+
with open(config_path, "r", encoding="utf-8") as f:
|
|
78
|
+
config = yaml.safe_load(f)
|
|
79
|
+
|
|
80
|
+
# Update document segmentation settings
|
|
81
|
+
if "document_segmentation" not in config:
|
|
82
|
+
config["document_segmentation"] = {}
|
|
83
|
+
|
|
84
|
+
config["document_segmentation"]["enabled"] = self.segmentation_enabled
|
|
85
|
+
config["document_segmentation"]["size_threshold_chars"] = (
|
|
86
|
+
self.segmentation_threshold
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
# Write updated config
|
|
90
|
+
with open(config_path, "w", encoding="utf-8") as f:
|
|
91
|
+
yaml.dump(config, f, default_flow_style=False, allow_unicode=True)
|
|
92
|
+
|
|
93
|
+
print(
|
|
94
|
+
f"{Colors.OKGREEN}✅ Document segmentation configuration updated{Colors.ENDC}"
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
except Exception as e:
|
|
98
|
+
print(
|
|
99
|
+
f"{Colors.WARNING}⚠️ Failed to update segmentation config: {str(e)}{Colors.ENDC}"
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
def _init_tkinter(self):
|
|
103
|
+
"""Initialize tkinter availability check"""
|
|
46
104
|
# Check tkinter availability for file dialogs
|
|
47
105
|
self.tkinter_available = True
|
|
48
106
|
try:
|
|
@@ -765,6 +823,8 @@ class CLIInterface:
|
|
|
765
823
|
elif choice in ["s", "segmentation"]:
|
|
766
824
|
current_state = getattr(self, "segmentation_enabled", True)
|
|
767
825
|
self.segmentation_enabled = not current_state
|
|
826
|
+
# Save the configuration to file
|
|
827
|
+
self._save_segmentation_config()
|
|
768
828
|
seg_mode = (
|
|
769
829
|
"📄 Smart Segmentation"
|
|
770
830
|
if self.segmentation_enabled
|
|
@@ -230,18 +230,16 @@ async def main():
|
|
|
230
230
|
print(
|
|
231
231
|
f"\n{Colors.MAGENTA}📄 Document segmentation disabled - using traditional processing{Colors.ENDC}"
|
|
232
232
|
)
|
|
233
|
-
app.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
233
|
+
app.cli.segmentation_enabled = False
|
|
234
|
+
app.cli.segmentation_threshold = args.segmentation_threshold
|
|
235
|
+
app.cli._save_segmentation_config()
|
|
237
236
|
else:
|
|
238
237
|
print(
|
|
239
238
|
f"\n{Colors.BLUE}📄 Smart document segmentation enabled (threshold: {args.segmentation_threshold} chars){Colors.ENDC}"
|
|
240
239
|
)
|
|
241
|
-
app.
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
240
|
+
app.cli.segmentation_enabled = True
|
|
241
|
+
app.cli.segmentation_threshold = args.segmentation_threshold
|
|
242
|
+
app.cli._save_segmentation_config()
|
|
245
243
|
|
|
246
244
|
# 检查是否为直接处理模式
|
|
247
245
|
if args.file or args.url or args.chat:
|
|
@@ -146,8 +146,81 @@ def print_banner():
|
|
|
146
146
|
print(banner)
|
|
147
147
|
|
|
148
148
|
|
|
149
|
+
def launch_paper_test(paper_name: str, fast_mode: bool = False):
|
|
150
|
+
"""Launch paper testing mode"""
|
|
151
|
+
try:
|
|
152
|
+
print("\n🧪 Launching Paper Test Mode")
|
|
153
|
+
print(f"📄 Paper: {paper_name}")
|
|
154
|
+
print(f"⚡ Fast mode: {'enabled' if fast_mode else 'disabled'}")
|
|
155
|
+
print("=" * 60)
|
|
156
|
+
|
|
157
|
+
# Run the test setup
|
|
158
|
+
setup_cmd = [sys.executable, "test_paper.py", paper_name]
|
|
159
|
+
if fast_mode:
|
|
160
|
+
setup_cmd.append("--fast")
|
|
161
|
+
|
|
162
|
+
result = subprocess.run(setup_cmd, check=True)
|
|
163
|
+
|
|
164
|
+
if result.returncode == 0:
|
|
165
|
+
print("\n✅ Paper test setup completed successfully!")
|
|
166
|
+
print("📁 Files are ready in deepcode_lab/papers/")
|
|
167
|
+
print("\n💡 Next steps:")
|
|
168
|
+
print(" 1. Install MCP dependencies: pip install -r requirements.txt")
|
|
169
|
+
print(
|
|
170
|
+
f" 2. Run full pipeline: python -m workflows.paper_test_engine --paper {paper_name}"
|
|
171
|
+
+ (" --fast" if fast_mode else "")
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
except subprocess.CalledProcessError as e:
|
|
175
|
+
print(f"\n❌ Paper test setup failed: {e}")
|
|
176
|
+
sys.exit(1)
|
|
177
|
+
except Exception as e:
|
|
178
|
+
print(f"\n❌ Unexpected error: {e}")
|
|
179
|
+
sys.exit(1)
|
|
180
|
+
|
|
181
|
+
|
|
149
182
|
def main():
|
|
150
183
|
"""Main function"""
|
|
184
|
+
# Parse command line arguments
|
|
185
|
+
if len(sys.argv) > 1:
|
|
186
|
+
if sys.argv[1] == "test" and len(sys.argv) >= 3:
|
|
187
|
+
# Paper testing mode: python deepcode.py test rice [--fast]
|
|
188
|
+
paper_name = sys.argv[2]
|
|
189
|
+
fast_mode = "--fast" in sys.argv or "-f" in sys.argv
|
|
190
|
+
|
|
191
|
+
print_banner()
|
|
192
|
+
launch_paper_test(paper_name, fast_mode)
|
|
193
|
+
return
|
|
194
|
+
elif sys.argv[1] in ["--help", "-h", "help"]:
|
|
195
|
+
print_banner()
|
|
196
|
+
print("""
|
|
197
|
+
🔧 Usage:
|
|
198
|
+
python deepcode.py - Launch web interface
|
|
199
|
+
python deepcode.py test <paper> - Test paper reproduction
|
|
200
|
+
python deepcode.py test <paper> --fast - Test paper (fast mode)
|
|
201
|
+
|
|
202
|
+
📄 Examples:
|
|
203
|
+
python deepcode.py test rice - Test RICE paper reproduction
|
|
204
|
+
python deepcode.py test rice --fast - Test RICE paper (fast mode)
|
|
205
|
+
|
|
206
|
+
📁 Available papers:""")
|
|
207
|
+
|
|
208
|
+
# List available papers
|
|
209
|
+
papers_dir = "papers"
|
|
210
|
+
if os.path.exists(papers_dir):
|
|
211
|
+
for item in os.listdir(papers_dir):
|
|
212
|
+
item_path = os.path.join(papers_dir, item)
|
|
213
|
+
if os.path.isdir(item_path):
|
|
214
|
+
paper_md = os.path.join(item_path, "paper.md")
|
|
215
|
+
addendum_md = os.path.join(item_path, "addendum.md")
|
|
216
|
+
status = "✅" if os.path.exists(paper_md) else "❌"
|
|
217
|
+
addendum_status = "📄" if os.path.exists(addendum_md) else "➖"
|
|
218
|
+
print(f" {status} {item} {addendum_status}")
|
|
219
|
+
print(
|
|
220
|
+
"\n Legend: ✅ = paper.md exists, 📄 = addendum.md exists, ➖ = no addendum"
|
|
221
|
+
)
|
|
222
|
+
return
|
|
223
|
+
|
|
151
224
|
print_banner()
|
|
152
225
|
|
|
153
226
|
# Check dependencies
|
|
@@ -182,7 +255,7 @@ def main():
|
|
|
182
255
|
"run",
|
|
183
256
|
str(streamlit_app_path),
|
|
184
257
|
"--server.port",
|
|
185
|
-
"
|
|
258
|
+
"8503",
|
|
186
259
|
"--server.address",
|
|
187
260
|
"localhost",
|
|
188
261
|
"--browser.gatherUsageStats",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepcode-hku
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.5
|
|
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
|
|
@@ -60,6 +60,10 @@ Dynamic: summary
|
|
|
60
60
|
</tr>
|
|
61
61
|
</table>
|
|
62
62
|
|
|
63
|
+
<div align="center">
|
|
64
|
+
<a href="https://trendshift.io/repositories/14665" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14665" alt="HKUDS%2FDeepCode | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
63
67
|
<!-- <img src="https://readme-typing-svg.herokuapp.com?font=Russo+One&size=28&duration=2000&pause=800&color=06B6D4&background=00000000¢er=true&vCenter=true&width=800&height=50&lines=%E2%9A%A1+OPEN+AGENTIC+CODING+%E2%9A%A1" alt="DeepCode Tech Subtitle" style="margin-top: 5px; filter: drop-shadow(0 0 12px #06B6D4) drop-shadow(0 0 24px rgba(6,182,212,0.4));"/> -->
|
|
64
68
|
|
|
65
69
|
# <img src="https://github.com/Zongwei9888/Experiment_Images/raw/43c585dca3d21b8e4b6390d835cdd34dc4b4b23d/DeepCode_images/title_logo.svg" alt="DeepCode Logo" width="32" height="32" style="vertical-align: middle; margin-right: 8px;"/> DeepCode: Open Agentic Coding
|
|
@@ -56,4 +56,6 @@ workflows/agents/__init__.py
|
|
|
56
56
|
workflows/agents/code_implementation_agent.py
|
|
57
57
|
workflows/agents/document_segmentation_agent.py
|
|
58
58
|
workflows/agents/memory_agent_concise.py
|
|
59
|
-
workflows/agents/memory_agent_concise_index.py
|
|
59
|
+
workflows/agents/memory_agent_concise_index.py
|
|
60
|
+
workflows/agents/memory_agent_concise_multi.py
|
|
61
|
+
workflows/agents/requirement_analysis_agent.py
|
|
@@ -75,6 +75,7 @@ mcp:
|
|
|
75
75
|
args:
|
|
76
76
|
- -y
|
|
77
77
|
- '@modelcontextprotocol/server-filesystem'
|
|
78
|
+
- .
|
|
78
79
|
command: npx
|
|
79
80
|
github-downloader:
|
|
80
81
|
args:
|
|
@@ -83,8 +84,8 @@ mcp:
|
|
|
83
84
|
env:
|
|
84
85
|
PYTHONPATH: .
|
|
85
86
|
openai:
|
|
86
|
-
|
|
87
|
+
base_max_tokens: 16384
|
|
88
|
+
default_model: anthropic/claude-3.5-sonnet
|
|
89
|
+
max_tokens_policy: adaptive
|
|
90
|
+
retry_max_tokens: 32768
|
|
87
91
|
planning_mode: traditional
|
|
88
|
-
|
|
89
|
-
anthropic:
|
|
90
|
-
default_model: ""
|