8000 GitHub - EskimosNing/codeedu
[go: up one dir, main page]

Skip to content

EskimosNing/codeedu

Repository files navigation

🤖 CodeEdu Crew — Multi-Agent Coding Education AI Platform

All Contributors

CodeEdu Crew is a multi-agent Coding Education system built with CrewAI, exposed via a Flask backend with a streaming-capable API. It allows AI agents to collaborate on complex tasks such as Python code execution, report writing, research, and education.

🧠 What It Can Do 🧑‍🏫 Explain complex tech topics with code examples

👨‍💻 Analyze, execute, and improve uploaded Python files

📊 Generate summaries and structured reports

🤝 Autonomously assign agents and tasks via planner

📂 Stream logs, thoughts, and outputs to your frontend


📁 Project Structure

src/
└── codeedu/
    ├── main.py                    # Entry Flask App
    ├── config/
    │   ├── agents.yaml
    │   ├── tasks.yaml
    │   └── paths.py
    ├── core/
    │   ├── executor.py
    │   ├── stream.py
    │   ├── registry.py
    │   └── output.py
    ├── routes/
    │   ├── chat.py
    │   ├── upload.py
    │   └── conversation.py
    ├── tools/
    │   ├── custom_tool.py
    ├── utils/
    │   ├── session.py
    │   ├── intention.py
    │   └── log_queues.py
    ├── agent_pool.py
    ├── task.py
    ├── conversations/           # Will be created at runtime
    ├── output/                  # Will be created at runtime

🚀 Getting Started

Requirements

Python >= 3.10 and < 3.13

Docker (for running .py file or container deployment)

1. Install dependencies

git clone https://github.com/your-org/codeedu.git
cd codeedu/src/codeedu
pip install -r requirements.txt

2. Run the Flask backend

python main.py

By default, it will start on http://localhost:5000.


🐳 Docker Setup

✅ Quick Build & Run

./build_and_run.sh

Then visit: http://localhost:5000

🔧 Manual

docker build -t codeedu-backend .
docker run -d -p 5000:5000 \
  -e PROJECT_ROOT="/app/src/codeedu" \
  --name codeedu-app \
  codeedu-backend

🔐 Environment Variables

Create a .env file or export these before running:

MODEL=your-llm-model                            e.g. openai/gpt-4o-mini
OPENAI_API_KEY=your-api-key
OPENROUTER_API_KEY=your-api-key                 (optional)
BASE_URL=https://api.openai.com/v1              (optional)
SERPER_API_KEY=optional 
PROJECT_ROOT=/home/user/.../codeedu/src/codeedu
STORAGE_PATH=${PROJECT_ROOT}/conversations      (conversation history)
OUTPUT_PATH=${PROJECT_ROOT}/output              (output file)
OTHER_MODEL=other-tool-model                    (optional)

🔧 Available API Endpoints

Endpoint Method Description
/chat POST Multi-agent reasoning for custom input
/execute_code_snippet POST Upload a Python file and get agent analysis
/upload_code POST Inject a code snippet into session context
/output/<filename> GET Download files produced by agents
/new_conversation POST Start a new session
/conversations GET List all saved conversations
/conversation/<cid> GET Get full history of a specific conversation
/delete_conversation/<cid> DELETE Delete a conversation and its history

🧠 Agent Configuration Sample

educator:
  role: "AI Educator"
  goal: "Explain technical concepts clearly with code examples"
  backstory: "You are a brilliant teacher known for simplifying complex ideas."

📌 Feature Board

Feature Status
✅ MAS coordination Completed ✅
✅ Flask API with streaming Completed ✅
✅ File upload + code execution Completed ✅
✅ Agent auto-assignment Completed ✅
✅ LLM summarization of thought Completed ✅
✅Frontend log visualization Completed ✅
🔄 LangGraph integration In Progress

📦 Output & Downloads

All generated reports, fixed code files, and result documents are saved in the /output directory and can be downloaded via:

GET /output/<filename>

👥 Team Roles & Contributions

Name Role Description
Jianing ZHAO Backend Architect & AI Agent Designer Led the entire backend system architecture and implementation. Designed and built all AI agents, task flows, session management, streaming, and API layers.
ACCFOOL Frontend Developer Responsible for designing and implementing the frontend interface, enabling seamless interaction between users and the multi-agent system.
YIN Jianing Frontend Developer Responsible for designing and implementing the frontend interface, enabling seamless interaction between users and the multi-agent system.
Try1234567 Co-Designer Contributed in the early stage of the project, helping design agent roles and task planning. Provided conceptual input to the overall architecture direction.

All Contributors

Jianing ZHAO
Jianing ZHAO

💻 🎨 📆
ACCFOOL
ACCFOOL

💻 🎨
YIN Jianing
YIN Jianing

💻 🎨
Try1234567
Try1234567

🎨 💻

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
0