edgemind 1.0.1__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.
- edgemind-1.0.1/PKG-INFO +843 -0
- edgemind-1.0.1/README.md +828 -0
- edgemind-1.0.1/app/__init__.py +3 -0
- edgemind-1.0.1/app/cli/__init__.py +0 -0
- edgemind-1.0.1/app/cli/banner.py +35 -0
- edgemind-1.0.1/app/cli/commands.py +78 -0
- edgemind-1.0.1/app/cli/interactive.py +293 -0
- edgemind-1.0.1/app/cli/main.py +128 -0
- edgemind-1.0.1/app/cli/session.py +69 -0
- edgemind-1.0.1/app/editing/__init__.py +0 -0
- edgemind-1.0.1/app/editing/code_modifier.py +99 -0
- edgemind-1.0.1/app/editing/diff_generator.py +46 -0
- edgemind-1.0.1/app/editing/editing_service.py +246 -0
- edgemind-1.0.1/app/editing/file_manager.py +137 -0
- edgemind-1.0.1/app/editing/models.py +44 -0
- edgemind-1.0.1/app/editing/validator.py +146 -0
- edgemind-1.0.1/app/graph/__init__.py +0 -0
- edgemind-1.0.1/app/graph/evaluator.py +20 -0
- edgemind-1.0.1/app/graph/nodes.py +510 -0
- edgemind-1.0.1/app/graph/planner.py +371 -0
- edgemind-1.0.1/app/graph/planner_schema.py +51 -0
- edgemind-1.0.1/app/graph/state.py +33 -0
- edgemind-1.0.1/app/graph/workflow.py +80 -0
- edgemind-1.0.1/app/memory/__init__.py +0 -0
- edgemind-1.0.1/app/memory/database.py +14 -0
- edgemind-1.0.1/app/memory/memory_manager.py +75 -0
- edgemind-1.0.1/app/memory/schema.py +24 -0
- edgemind-1.0.1/app/models/__init__.py +0 -0
- edgemind-1.0.1/app/models/model_router.py +36 -0
- edgemind-1.0.1/app/models/ollama_client.py +35 -0
- edgemind-1.0.1/app/resources/__init__.py +0 -0
- edgemind-1.0.1/app/resources/system_monitor.py +14 -0
- edgemind-1.0.1/app/scripts/__init__.py +1 -0
- edgemind-1.0.1/app/scripts/export_graph.py +5 -0
- edgemind-1.0.1/app/setup/__init__.py +1 -0
- edgemind-1.0.1/app/setup/checks.py +91 -0
- edgemind-1.0.1/app/setup/installer.py +127 -0
- edgemind-1.0.1/app/setup/models.py +8 -0
- edgemind-1.0.1/app/tools/__init__.py +0 -0
- edgemind-1.0.1/app/tools/code_explainer.py +46 -0
- edgemind-1.0.1/app/tools/code_scanner.py +50 -0
- edgemind-1.0.1/app/tools/debug_assistant.py +31 -0
- edgemind-1.0.1/app/tools/deployment_generator.py +63 -0
- edgemind-1.0.1/app/tools/docker_compose_generator.py +70 -0
- edgemind-1.0.1/app/tools/file_discovery.py +175 -0
- edgemind-1.0.1/app/tools/file_reader.py +16 -0
- edgemind-1.0.1/app/tools/project_analyzer.py +69 -0
- edgemind-1.0.1/app/tools/requirements_generator.py +98 -0
- edgemind-1.0.1/edgemind.egg-info/PKG-INFO +843 -0
- edgemind-1.0.1/edgemind.egg-info/SOURCES.txt +61 -0
- edgemind-1.0.1/edgemind.egg-info/dependency_links.txt +1 -0
- edgemind-1.0.1/edgemind.egg-info/entry_points.txt +2 -0
- edgemind-1.0.1/edgemind.egg-info/requires.txt +6 -0
- edgemind-1.0.1/edgemind.egg-info/top_level.txt +1 -0
- edgemind-1.0.1/pyproject.toml +37 -0
- edgemind-1.0.1/setup.cfg +4 -0
- edgemind-1.0.1/tests/test_adversarial_e2e.py +298 -0
- edgemind-1.0.1/tests/test_agent_workflow.py +132 -0
- edgemind-1.0.1/tests/test_editing.py +65 -0
- edgemind-1.0.1/tests/test_file_manager.py +37 -0
- edgemind-1.0.1/tests/test_memory.py +42 -0
- edgemind-1.0.1/tests/test_v2_complex_agentic.py +116 -0
- edgemind-1.0.1/tests/test_v2_comprehensive.py +309 -0
edgemind-1.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,843 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: edgemind
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Resource-Aware Agentic Coding Assistant for Local AI Software Engineering
|
|
5
|
+
Author: Akhilesh Venkiteswaran
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Requires-Dist: ollama
|
|
10
|
+
Requires-Dist: langgraph
|
|
11
|
+
Requires-Dist: langchain
|
|
12
|
+
Requires-Dist: pydantic>=2.0
|
|
13
|
+
Requires-Dist: typer
|
|
14
|
+
Requires-Dist: psutil
|
|
15
|
+
|
|
16
|
+
<div align = "center">
|
|
17
|
+
|
|
18
|
+
# EdgeMind
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div align="center">
|
|
23
|
+
|
|
24
|
+
## A Resource-Aware Agentic Coding Assistant for Efficient Edge AI Deployment
|
|
25
|
+
|
|
26
|
+
*"Building intelligent software engineering agents that run locally on consumer hardware."*
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+

|
|
30
|
+

|
|
31
|
+

|
|
32
|
+

|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
# 📖 Overview
|
|
40
|
+
|
|
41
|
+
EdgeMind is a **terminal-first autonomous software engineering assistant** designed to operate **entirely on local hardware**.
|
|
42
|
+
|
|
43
|
+
Unlike conventional AI coding assistants that rely heavily on cloud infrastructure, EdgeMind focuses on **resource-aware execution**, **dynamic model routing**, and **agentic orchestration** to intelligently perform software engineering tasks on consumer-grade devices.
|
|
44
|
+
|
|
45
|
+
Rather than being "another chatbot", EdgeMind behaves like a lightweight software engineer capable of:
|
|
46
|
+
|
|
47
|
+
- Understanding projects
|
|
48
|
+
- Explaining code
|
|
49
|
+
- Debugging errors
|
|
50
|
+
- Generating deployment files
|
|
51
|
+
- Planning execution steps
|
|
52
|
+
- Remembering previous project interactions
|
|
53
|
+
- Selecting the best local LLM for every task
|
|
54
|
+
|
|
55
|
+
All while running completely offline using local language models.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
# 🎯 Vision
|
|
60
|
+
|
|
61
|
+
Modern AI coding assistants are powerful but expensive.
|
|
62
|
+
|
|
63
|
+
They often require:
|
|
64
|
+
|
|
65
|
+
- Continuous internet connectivity
|
|
66
|
+
- Cloud GPUs
|
|
67
|
+
- API subscriptions
|
|
68
|
+
- External infrastructure
|
|
69
|
+
|
|
70
|
+
EdgeMind explores a different question:
|
|
71
|
+
|
|
72
|
+
> **Can autonomous software engineering agents operate efficiently on local consumer hardware while intelligently adapting to limited computational resources?**
|
|
73
|
+
|
|
74
|
+
The project combines:
|
|
75
|
+
|
|
76
|
+
- Edge AI
|
|
77
|
+
- Agentic AI
|
|
78
|
+
- Local LLM Inference
|
|
79
|
+
- Resource-Aware Computing
|
|
80
|
+
- Autonomous Planning
|
|
81
|
+
|
|
82
|
+
to build an intelligent coding assistant that works entirely on edge devices.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
# 🧠 Core Philosophy
|
|
87
|
+
|
|
88
|
+
EdgeMind follows four simple principles.
|
|
89
|
+
|
|
90
|
+
### 🖥️ Local First
|
|
91
|
+
|
|
92
|
+
Everything should execute locally whenever possible.
|
|
93
|
+
|
|
94
|
+
No cloud dependency.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
### ⚡ Resource Aware
|
|
99
|
+
|
|
100
|
+
The assistant continuously monitors system resources and dynamically adapts model selection based on available hardware.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### 🤖 Agentic Workflow
|
|
105
|
+
|
|
106
|
+
Instead of executing one command at a time, EdgeMind plans, routes, evaluates and remembers tasks.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### 🧩 Keep It Simple (KISS)
|
|
111
|
+
|
|
112
|
+
Rather than building hundreds of disconnected AI features,
|
|
113
|
+
|
|
114
|
+
EdgeMind focuses on solving one problem extremely well:
|
|
115
|
+
|
|
116
|
+
> Building a lightweight autonomous software engineering assistant.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
# ✨ Current Features
|
|
121
|
+
|
|
122
|
+
## 🤖 AI Features
|
|
123
|
+
|
|
124
|
+
- ✅ Intelligent Project Analysis
|
|
125
|
+
- ✅ AI-Powered Code Explanation
|
|
126
|
+
- ✅ Automated Debugging Assistant
|
|
127
|
+
- ✅ Dynamic Task Planning
|
|
128
|
+
- ✅ LangGraph Agent Workflow
|
|
129
|
+
- ✅ Execution Evaluation
|
|
130
|
+
- ✅ Local LLM Inference
|
|
131
|
+
- ✅ Dynamic Model Routing
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## ⚙️ Deployment Features
|
|
136
|
+
|
|
137
|
+
- ✅ Dockerfile Generation
|
|
138
|
+
- ✅ Requirements.txt Generation
|
|
139
|
+
- ✅ Docker Compose Generation
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 💻 System Features
|
|
144
|
+
|
|
145
|
+
- ✅ Resource Monitoring
|
|
146
|
+
- ✅ CPU Monitoring
|
|
147
|
+
- ✅ RAM Monitoring
|
|
148
|
+
- ✅ SQLite Project Memory
|
|
149
|
+
- ✅ Terminal-Based CLI
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
# 🚀 Future Features
|
|
154
|
+
|
|
155
|
+
- 🔄 Intelligent Code Editing
|
|
156
|
+
- 🧠 Context-Aware Project Memory
|
|
157
|
+
- 💻 VS Code Extension
|
|
158
|
+
- ⚡ Apple MLX Optimization
|
|
159
|
+
- 🔌 MCP (Model Context Protocol)
|
|
160
|
+
- 📦 Production Packaging
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
# 🏗️ Current System Architecture
|
|
165
|
+
|
|
166
|
+
```text
|
|
167
|
+
User
|
|
168
|
+
│
|
|
169
|
+
▼
|
|
170
|
+
EdgeMind CLI
|
|
171
|
+
│
|
|
172
|
+
▼
|
|
173
|
+
Memory Lookup
|
|
174
|
+
│
|
|
175
|
+
▼
|
|
176
|
+
Planner
|
|
177
|
+
│
|
|
178
|
+
▼
|
|
179
|
+
Current Task
|
|
180
|
+
│
|
|
181
|
+
▼
|
|
182
|
+
Model Router
|
|
183
|
+
│
|
|
184
|
+
▼
|
|
185
|
+
Tool Executor
|
|
186
|
+
│
|
|
187
|
+
┌──────────┬──────────┬──────────┬──────────┐
|
|
188
|
+
▼ ▼ ▼ ▼
|
|
189
|
+
Project Code Debug Deployment
|
|
190
|
+
Analyzer Explainer Assistant Generator
|
|
191
|
+
│
|
|
192
|
+
▼
|
|
193
|
+
Execution Evaluator
|
|
194
|
+
│
|
|
195
|
+
▼
|
|
196
|
+
SQLite Memory Update
|
|
197
|
+
│
|
|
198
|
+
▼
|
|
199
|
+
Continue?
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
# 🧩 Core Components
|
|
205
|
+
|
|
206
|
+
## 🧠 Planner
|
|
207
|
+
|
|
208
|
+
Responsible for converting a user request into an executable task plan.
|
|
209
|
+
|
|
210
|
+
Example:
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Debug my project and generate Dockerfile
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
becomes
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Analyze Project
|
|
223
|
+
↓
|
|
224
|
+
Debug Errors
|
|
225
|
+
↓
|
|
226
|
+
Generate Dockerfile
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 🗂️ Memory Layer
|
|
233
|
+
|
|
234
|
+
Uses SQLite to store previous project executions.
|
|
235
|
+
|
|
236
|
+
Instead of remembering conversations,
|
|
237
|
+
|
|
238
|
+
EdgeMind remembers:
|
|
239
|
+
|
|
240
|
+
- Previous project analyses
|
|
241
|
+
- Previous debugging sessions
|
|
242
|
+
- Generated deployment files
|
|
243
|
+
- Execution history
|
|
244
|
+
- Task outcomes
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 🔀 Model Router
|
|
249
|
+
|
|
250
|
+
Chooses the best local model for every task.
|
|
251
|
+
|
|
252
|
+
Current routing strategy:
|
|
253
|
+
|
|
254
|
+
| Task | Model |
|
|
255
|
+
|-------|--------|
|
|
256
|
+
| Analyze | Phi-3 Mini |
|
|
257
|
+
| Deployment | Phi-3 Mini |
|
|
258
|
+
| Explain | Qwen2.5-Coder |
|
|
259
|
+
| Debug | Qwen2.5-Coder |
|
|
260
|
+
|
|
261
|
+
Future versions will also consider:
|
|
262
|
+
|
|
263
|
+
- Available RAM
|
|
264
|
+
- CPU Usage
|
|
265
|
+
- Battery Level
|
|
266
|
+
- Thermal Constraints
|
|
267
|
+
|
|
268
|
+
before selecting models.
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## 🧠 Execution Evaluator
|
|
273
|
+
|
|
274
|
+
Every completed task is validated before the planner proceeds.
|
|
275
|
+
|
|
276
|
+
Instead of blindly executing workflows,
|
|
277
|
+
|
|
278
|
+
EdgeMind asks:
|
|
279
|
+
|
|
280
|
+
> "Was this execution successful?"
|
|
281
|
+
|
|
282
|
+
before moving to the next task.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 📊 Resource Monitor
|
|
287
|
+
|
|
288
|
+
Continuously monitors:
|
|
289
|
+
|
|
290
|
+
- CPU Utilization
|
|
291
|
+
- Available RAM
|
|
292
|
+
|
|
293
|
+
using **psutil**.
|
|
294
|
+
|
|
295
|
+
This information is later used for intelligent model selection.
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 💾 SQLite Memory
|
|
300
|
+
|
|
301
|
+
Instead of storing chat history,
|
|
302
|
+
|
|
303
|
+
EdgeMind stores:
|
|
304
|
+
|
|
305
|
+
- Project Path
|
|
306
|
+
- Executed Task
|
|
307
|
+
- Selected Model
|
|
308
|
+
- Execution Result
|
|
309
|
+
- Success Status
|
|
310
|
+
- Timestamp
|
|
311
|
+
|
|
312
|
+
allowing future executions to become context-aware.
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
# 📂 Project Structure
|
|
317
|
+
|
|
318
|
+
```text
|
|
319
|
+
EdgeMind
|
|
320
|
+
│
|
|
321
|
+
├── app
|
|
322
|
+
│ │
|
|
323
|
+
│ ├── cli
|
|
324
|
+
│ │ └── main.py
|
|
325
|
+
│ │
|
|
326
|
+
│ ├── graph
|
|
327
|
+
│ │ ├── workflow.py
|
|
328
|
+
│ │ ├── planner.py
|
|
329
|
+
│ │ ├── evaluator.py
|
|
330
|
+
│ │ ├── nodes.py
|
|
331
|
+
│ │ └── state.py
|
|
332
|
+
│ │
|
|
333
|
+
│ ├── memory
|
|
334
|
+
│ │ ├── database.py
|
|
335
|
+
│ │ ├── schema.py
|
|
336
|
+
│ │ └── memory_manager.py
|
|
337
|
+
│ │
|
|
338
|
+
│ ├── models
|
|
339
|
+
│ │ ├── ollama_client.py
|
|
340
|
+
│ │ └── model_router.py
|
|
341
|
+
│ │
|
|
342
|
+
│ ├── resources
|
|
343
|
+
│ │ └── system_monitor.py
|
|
344
|
+
│ │
|
|
345
|
+
│ └── tools
|
|
346
|
+
│ ├── project_analyzer.py
|
|
347
|
+
│ ├── code_explainer.py
|
|
348
|
+
│ ├── debug_assistant.py
|
|
349
|
+
│ ├── deployment_generator.py
|
|
350
|
+
│ ├── requirements_generator.py
|
|
351
|
+
│ └── docker_compose_generator.py
|
|
352
|
+
│
|
|
353
|
+
├── tests
|
|
354
|
+
│
|
|
355
|
+
├── docs
|
|
356
|
+
│
|
|
357
|
+
├── README.md
|
|
358
|
+
├── requirements.txt
|
|
359
|
+
└── edgemind.db
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
# 🔨 Tech Stack
|
|
365
|
+
|
|
366
|
+
## AI Framework
|
|
367
|
+
|
|
368
|
+
- LangGraph
|
|
369
|
+
|
|
370
|
+
## Local Inference
|
|
371
|
+
|
|
372
|
+
- Ollama
|
|
373
|
+
|
|
374
|
+
## Language Models
|
|
375
|
+
|
|
376
|
+
- Qwen2.5-Coder 3B
|
|
377
|
+
- Phi-3 Mini
|
|
378
|
+
|
|
379
|
+
## Backend
|
|
380
|
+
|
|
381
|
+
- Python
|
|
382
|
+
- Typer CLI
|
|
383
|
+
- SQLite
|
|
384
|
+
|
|
385
|
+
## Resource Monitoring
|
|
386
|
+
|
|
387
|
+
- psutil
|
|
388
|
+
|
|
389
|
+
## Deployment
|
|
390
|
+
|
|
391
|
+
- Docker
|
|
392
|
+
- Docker Compose
|
|
393
|
+
|
|
394
|
+
## Future Runtime
|
|
395
|
+
|
|
396
|
+
- Apple MLX
|
|
397
|
+
|
|
398
|
+
## Future Standard
|
|
399
|
+
|
|
400
|
+
- MCP (Model Context Protocol)
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
# 🎯 Research Contribution
|
|
405
|
+
|
|
406
|
+
EdgeMind is **not** another chatbot.
|
|
407
|
+
|
|
408
|
+
Its contribution lies in combining:
|
|
409
|
+
|
|
410
|
+
- Resource-Aware Computing
|
|
411
|
+
- Dynamic Model Routing
|
|
412
|
+
- LangGraph Agent Orchestration
|
|
413
|
+
- Local LLM Inference
|
|
414
|
+
- Persistent Project Memory
|
|
415
|
+
|
|
416
|
+
to build a lightweight software engineering assistant capable of operating entirely on consumer hardware.
|
|
417
|
+
|
|
418
|
+
The project investigates:
|
|
419
|
+
|
|
420
|
+
> **Can autonomous software engineering agents intelligently perform development workflows without relying on cloud infrastructure?**
|
|
421
|
+
---
|
|
422
|
+
# ⚙️ Installation & Setup
|
|
423
|
+
|
|
424
|
+
## Install via PyPI
|
|
425
|
+
|
|
426
|
+
Install the official package directly into your project virtual environment:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
pip install edgemind
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
To upgrade an existing installation to the latest version:
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
pip install -U edgemind
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
Once installed, launch the interactive CLI shell from any project directory:
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
edgemind
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Install from Source
|
|
447
|
+
|
|
448
|
+
```bash
|
|
449
|
+
git clone https://github.com/Akhilesh-Venkiteswaran/EdgeMind.git
|
|
450
|
+
cd EdgeMind
|
|
451
|
+
python3 -m venv venv
|
|
452
|
+
source venv/bin/activate
|
|
453
|
+
pip install -e .
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## Install Ollama
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
Download Ollama from:
|
|
462
|
+
|
|
463
|
+
https://ollama.com
|
|
464
|
+
|
|
465
|
+
Verify installation.
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
ollama --version
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## Download Local Models
|
|
474
|
+
|
|
475
|
+
### Qwen2.5 Coder
|
|
476
|
+
|
|
477
|
+
```bash
|
|
478
|
+
ollama pull qwen2.5-coder:3b
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
### Phi-3 Mini
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
ollama pull phi3:mini
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
Verify the installed models.
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
ollama list
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
Expected:
|
|
494
|
+
|
|
495
|
+
```text
|
|
496
|
+
qwen2.5-coder:3b
|
|
497
|
+
|
|
498
|
+
phi3:mini
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
## Initialize SQLite Database
|
|
504
|
+
|
|
505
|
+
Run once.
|
|
506
|
+
|
|
507
|
+
```python
|
|
508
|
+
from app.memory.schema import initialize_database
|
|
509
|
+
|
|
510
|
+
initialize_database()
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
This creates:
|
|
514
|
+
|
|
515
|
+
```
|
|
516
|
+
edgemind.db
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
# 🚀 Usage
|
|
522
|
+
|
|
523
|
+
## Analyze a Project
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
python -m app.cli.main analyze
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
## Explain a Python File
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
python -m app.cli.main explain app/models/model_router.py
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
---
|
|
538
|
+
|
|
539
|
+
## Debug an Error Log
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
python -m app.cli.main debug sample_error.txt
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## Generate Dockerfile
|
|
548
|
+
|
|
549
|
+
```bash
|
|
550
|
+
python -m app.cli.main generate-docker
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
## Generate Requirements
|
|
556
|
+
|
|
557
|
+
```bash
|
|
558
|
+
python -m app.cli.main generate-requirements
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
---
|
|
562
|
+
|
|
563
|
+
## Generate Docker Compose
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
python -m app.cli.main generate-compose
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
---
|
|
570
|
+
|
|
571
|
+
# 🧪 Running Tests
|
|
572
|
+
|
|
573
|
+
EdgeMind includes integration tests for the complete agent workflow.
|
|
574
|
+
|
|
575
|
+
Run:
|
|
576
|
+
|
|
577
|
+
```bash
|
|
578
|
+
python -m tests.test_agent_workflow
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
The integration test validates:
|
|
582
|
+
|
|
583
|
+
- Planner
|
|
584
|
+
- Model Router
|
|
585
|
+
- Project Analyzer
|
|
586
|
+
- Code Explainer
|
|
587
|
+
- Debug Assistant
|
|
588
|
+
- Deployment Tools
|
|
589
|
+
- Execution Evaluator
|
|
590
|
+
- SQLite Memory
|
|
591
|
+
|
|
592
|
+
---
|
|
593
|
+
|
|
594
|
+
# 📊 Evaluation Metrics
|
|
595
|
+
|
|
596
|
+
EdgeMind is evaluated using the following metrics.
|
|
597
|
+
|
|
598
|
+
| Metric | Description |
|
|
599
|
+
|---------|-------------|
|
|
600
|
+
| Inference Latency | Time taken by local models |
|
|
601
|
+
| CPU Utilization | Resource consumption |
|
|
602
|
+
| Memory Usage | RAM utilization |
|
|
603
|
+
| Task Completion | Successful execution percentage |
|
|
604
|
+
| Execution Quality | Quality of generated outputs |
|
|
605
|
+
| Resource Efficiency | Compute-aware routing performance |
|
|
606
|
+
|
|
607
|
+
---
|
|
608
|
+
|
|
609
|
+
# 📈 Development Roadmap
|
|
610
|
+
|
|
611
|
+
## ✅ Phase 1 — Core AI Utilities
|
|
612
|
+
|
|
613
|
+
Completed
|
|
614
|
+
|
|
615
|
+
- Local LLM Integration
|
|
616
|
+
- Ollama Runtime
|
|
617
|
+
- Resource Monitoring
|
|
618
|
+
- Project Analysis
|
|
619
|
+
- Code Explanation
|
|
620
|
+
- Debug Assistant
|
|
621
|
+
- Dockerfile Generation
|
|
622
|
+
- Requirements Generation
|
|
623
|
+
- Docker Compose Generation
|
|
624
|
+
|
|
625
|
+
---
|
|
626
|
+
|
|
627
|
+
## ✅ Phase 2 — Agentic Orchestration
|
|
628
|
+
|
|
629
|
+
Completed
|
|
630
|
+
|
|
631
|
+
- LangGraph Workflow
|
|
632
|
+
- Planner Node
|
|
633
|
+
- Dynamic Task Planning
|
|
634
|
+
- Model Router
|
|
635
|
+
- Execution Evaluator
|
|
636
|
+
- Multi-Step Agent Execution
|
|
637
|
+
|
|
638
|
+
---
|
|
639
|
+
|
|
640
|
+
## ✅ Phase 3 — Persistent Project Memory
|
|
641
|
+
|
|
642
|
+
Completed
|
|
643
|
+
|
|
644
|
+
- SQLite Database
|
|
645
|
+
- Memory Lookup
|
|
646
|
+
- Memory Update
|
|
647
|
+
- Project-Based Execution History
|
|
648
|
+
- Context-Aware Planning Foundation
|
|
649
|
+
|
|
650
|
+
---
|
|
651
|
+
|
|
652
|
+
## 🚧 Phase 4 — Intelligent Code Editing
|
|
653
|
+
|
|
654
|
+
In Progress
|
|
655
|
+
|
|
656
|
+
Planned Features
|
|
657
|
+
|
|
658
|
+
- Generate Code Fixes
|
|
659
|
+
- Preview Code Changes
|
|
660
|
+
- Apply Approved Changes
|
|
661
|
+
- File Safety Validation
|
|
662
|
+
- Automatic Backup Before Editing
|
|
663
|
+
|
|
664
|
+
---
|
|
665
|
+
|
|
666
|
+
## 📅 Phase 5 — VS Code Extension
|
|
667
|
+
|
|
668
|
+
Planned
|
|
669
|
+
|
|
670
|
+
- Native VS Code Extension
|
|
671
|
+
- Inline AI Suggestions
|
|
672
|
+
- Code Actions
|
|
673
|
+
- Project Sidebar
|
|
674
|
+
- Integrated Terminal Commands
|
|
675
|
+
|
|
676
|
+
---
|
|
677
|
+
|
|
678
|
+
## 📅 Phase 6 — Apple MLX Optimization
|
|
679
|
+
|
|
680
|
+
Planned
|
|
681
|
+
|
|
682
|
+
Current Runtime
|
|
683
|
+
|
|
684
|
+
```
|
|
685
|
+
Ollama
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
Future Runtime
|
|
689
|
+
|
|
690
|
+
```
|
|
691
|
+
MLX
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
Goals
|
|
695
|
+
|
|
696
|
+
- Faster Inference
|
|
697
|
+
- Better Apple Silicon Performance
|
|
698
|
+
- Reduced Memory Usage
|
|
699
|
+
- Efficient Local Execution
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## 📅 Phase 7 — MCP Integration
|
|
704
|
+
|
|
705
|
+
Planned
|
|
706
|
+
|
|
707
|
+
EdgeMind tools will be exposed through the **Model Context Protocol (MCP)**.
|
|
708
|
+
|
|
709
|
+
This allows EdgeMind to become compatible with modern AI agents and IDEs while maintaining the same backend architecture.
|
|
710
|
+
|
|
711
|
+
Planned MCP Tools
|
|
712
|
+
|
|
713
|
+
- Project Analyzer
|
|
714
|
+
- Code Explainer
|
|
715
|
+
- Debug Assistant
|
|
716
|
+
- Deployment Generator
|
|
717
|
+
- Code Editor
|
|
718
|
+
- Project Memory
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
# 🔬 Research Focus
|
|
723
|
+
|
|
724
|
+
This project investigates:
|
|
725
|
+
|
|
726
|
+
- Resource-Aware Computing
|
|
727
|
+
- Dynamic Model Routing
|
|
728
|
+
- Edge AI
|
|
729
|
+
- Agentic AI
|
|
730
|
+
- Local LLM Inference
|
|
731
|
+
- Autonomous Software Engineering
|
|
732
|
+
- Efficient AI Systems
|
|
733
|
+
- Intelligent Planning
|
|
734
|
+
- Persistent Project Memory
|
|
735
|
+
|
|
736
|
+
---
|
|
737
|
+
|
|
738
|
+
# 🎓 Academic Information
|
|
739
|
+
|
|
740
|
+
**Project Title**
|
|
741
|
+
|
|
742
|
+
> EdgeMind: A Resource-Aware Agentic Coding Assistant for Efficient Edge AI Deployment
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
**Project Type**
|
|
747
|
+
|
|
748
|
+
Research
|
|
749
|
+
|
|
750
|
+
---
|
|
751
|
+
|
|
752
|
+
**Domain**
|
|
753
|
+
|
|
754
|
+
Artificial Intelligence
|
|
755
|
+
|
|
756
|
+
Edge AI
|
|
757
|
+
|
|
758
|
+
Agentic AI
|
|
759
|
+
|
|
760
|
+
Software Engineering
|
|
761
|
+
|
|
762
|
+
---
|
|
763
|
+
|
|
764
|
+
**Relevant SDG**
|
|
765
|
+
|
|
766
|
+
SDG 9
|
|
767
|
+
|
|
768
|
+
Industry, Innovation and Infrastructure
|
|
769
|
+
|
|
770
|
+
---
|
|
771
|
+
|
|
772
|
+
# 🌟 Why EdgeMind?
|
|
773
|
+
|
|
774
|
+
Unlike many student projects that simply wrap cloud APIs into chatbots,
|
|
775
|
+
|
|
776
|
+
EdgeMind focuses on solving a real systems engineering problem.
|
|
777
|
+
|
|
778
|
+
It investigates how autonomous software engineering agents can:
|
|
779
|
+
|
|
780
|
+
- Operate fully offline
|
|
781
|
+
- Adapt to hardware limitations
|
|
782
|
+
- Route tasks intelligently
|
|
783
|
+
- Persist project knowledge
|
|
784
|
+
- Execute software engineering workflows
|
|
785
|
+
- Scale from lightweight laptops to production-ready environments
|
|
786
|
+
|
|
787
|
+
The project emphasizes **AI Systems Engineering**, combining planning, orchestration, resource awareness, memory, and local inference into one unified architecture.
|
|
788
|
+
|
|
789
|
+
---
|
|
790
|
+
|
|
791
|
+
# 🤝 Contributing
|
|
792
|
+
|
|
793
|
+
Contributions are always welcome.
|
|
794
|
+
|
|
795
|
+
If you would like to improve EdgeMind,
|
|
796
|
+
|
|
797
|
+
feel free to:
|
|
798
|
+
|
|
799
|
+
- Open an Issue
|
|
800
|
+
- Submit a Pull Request
|
|
801
|
+
- Suggest New Features
|
|
802
|
+
- Improve Documentation
|
|
803
|
+
- Share Research Ideas
|
|
804
|
+
|
|
805
|
+
---
|
|
806
|
+
|
|
807
|
+
# 📜 License
|
|
808
|
+
|
|
809
|
+
This project is released under the MIT License.
|
|
810
|
+
|
|
811
|
+
Feel free to use, modify, and build upon this work.
|
|
812
|
+
|
|
813
|
+
---
|
|
814
|
+
|
|
815
|
+
# 👨💻 Author
|
|
816
|
+
|
|
817
|
+
**Akhilesh Venkiteswaran**
|
|
818
|
+
|
|
819
|
+
B.Tech Artificial Intelligence & Data Science
|
|
820
|
+
|
|
821
|
+
Chennai Institute of Technology
|
|
822
|
+
|
|
823
|
+
---
|
|
824
|
+
|
|
825
|
+
# ⭐ Future Vision
|
|
826
|
+
|
|
827
|
+
EdgeMind is being developed as a lightweight software engineering agent capable of running entirely on consumer hardware.
|
|
828
|
+
|
|
829
|
+
Rather than competing with large cloud-based coding assistants,
|
|
830
|
+
|
|
831
|
+
its goal is to demonstrate that **efficient, resource-aware autonomous agents** can perform meaningful software engineering tasks locally while remaining modular, explainable, and extensible.
|
|
832
|
+
|
|
833
|
+
The long-term vision is to evolve EdgeMind into a production-ready AI engineering assistant that seamlessly integrates with developer workflows through VS Code, MLX acceleration, and the Model Context Protocol.
|
|
834
|
+
|
|
835
|
+
---
|
|
836
|
+
|
|
837
|
+
<div align="center">
|
|
838
|
+
|
|
839
|
+
## ⭐ If you found this project interesting, consider giving it a star!
|
|
840
|
+
|
|
841
|
+
**Building the future of Edge AI, one agent at a time.**
|
|
842
|
+
|
|
843
|
+
</div>
|