Skip to content
10and01Public

About

Develop from NanoBot by HKUDS and specialize it for Education

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

6 Commits

Folders and files

Repository files navigation

EduBot Logo

๐ŸŽ“ EduBot โ€” AI-Powered Education Assistant

An intelligent teaching assistant built on nanobot that helps educators design lesson plans, manage course materials, and interact with students via a modern web interface.

Python License Next.js FastAPI ChromaDB


โœจ Features

Feature Description
๐Ÿ’ฌ AI Chat Conversational AI assistant powered by any LLM (OpenAI, Claude, Gemini, DeepSeek, etc.)
๐Ÿ“ Lesson Plan Generator Auto-generates structured, pedagogically sound lesson plans in Chinese or English
๐ŸŽฌ Video Prompt Generator Converts lesson plans into storyboard-style prompts for educational video production
๐Ÿ“š Document Library Import, index, and semantically search course materials (PDF, DOCX, TXT, Markdown)
๐Ÿงฉ Skills & MCP Extend agent capabilities via custom skills or Model Context Protocol (MCP) servers
๐Ÿ“ File Manager Browse and edit workspace files directly from the web UI
โš™๏ธ Config Panel Manage API keys, LLM providers, and agent settings through the browser

Demo

EduBot Demo


๐Ÿ—๏ธ Architecture

EduBot
โ”œโ”€โ”€ nanobot/              # Core agent framework (based on nanobot)
โ”‚   โ”œโ”€โ”€ agent/
โ”‚   โ”‚   โ”œโ”€โ”€ tools/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ education_lesson.py    # Lesson plan & video prompt tools
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ education_document.py  # Document import / vector search
โ”‚   โ”‚   โ””โ”€โ”€ loop.py                    # Agent reasoning loop
โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ””โ”€โ”€ app.py        # FastAPI backend (REST API)
โ”‚   โ”œโ”€โ”€ channels/         # Chat platform integrations
โ”‚   โ”œโ”€โ”€ providers/        # LLM provider adapters
โ”‚   โ””โ”€โ”€ frontend/         # Next.js web console
โ”‚       โ””โ”€โ”€ app/page.tsx  # Main UI (chat, config, skills, files, docs)
โ””โ”€โ”€ workspace/            # Agent workspace (memory, skills, sessions)

๐Ÿ“ฆ Installation

Prerequisites

  • Python โ‰ฅ 3.11
  • Node.js โ‰ฅ 18 (for the web frontend)

1. Clone the repository

git clone https://github.com/10and01/EduBot.git
cd EduBot

2. Install Python dependencies

pip install -e ./nanobot

Or with uv (faster):

uv pip install -e ./nanobot

3. Install frontend dependencies

cd nanobot/frontend
npm install

๐Ÿš€ Quick Start

Configure your LLM provider

Create or edit ~/.nanobot/config.json:

{
  "providers": {
    "openrouter": {
      "apiKey": "sk-or-v1-YOUR_KEY"
    }
  },
  "agents": {
    "defaults": {
      "model": "anthropic/claude-opus-4-5",
      "provider": "openrouter"
    }
  }
}

Supported providers: OpenAI, Anthropic, Azure OpenAI, Gemini, DeepSeek, Qwen, Moonshot, VolcEngine, vLLM (local), OpenRouter, and more.

Start the backend

python -m uvicorn nanobot.api.app:app --host 127.0.0.1 --port 8000

Start the frontend

cd nanobot/frontend
npm run dev

Open http://localhost:3000 to access the EduBot web console.


๐ŸŽ“ Education Features

Lesson Plan Generation

EduBot can produce fully structured lesson plans conforming to standard pedagogical frameworks. A lesson plan includes:

  • ๅญฆไน ็›ฎๆ ‡ / Learning Objectives โ€” scaffolded knowledge, skill, and attitude goals
  • ๅญฆๆƒ…ๅˆ†ๆž / Learner Analysis โ€” prerequisite knowledge assessment
  • ๆ•™ๅญฆ้‡็‚นไธŽ้šพ็‚น / Key Points & Challenges โ€” core concepts and common misconceptions
  • ๆ•™ๅญฆๆต็จ‹ / Teaching Process โ€” timed phases (warm-up โ†’ instruction โ†’ practice โ†’ assessment)
  • ่ฏ„ไปทไธŽไฝœไธš / Assessment & Homework โ€” formative and summative strategies, tiered homework
  • ๆฟไนฆไธŽ่ต„ๆบ / Board Plan & Resources โ€” visual layout and material checklist

Example prompt:

ๅธฎๆˆ‘่ฎพ่ฎกไธ€ไปฝไธƒๅนด็บงๆ•ฐๅญฆ"ไธ€ๆฌกๅ‡ฝๆ•ฐ"็š„45ๅˆ†้’Ÿๆ•™ๆกˆ

Document Library (RAG)

Import your teaching materials and ask questions grounded in your own content:

  1. Upload a PDF, DOCX, TXT, or Markdown file via the ๆ–‡ๆกฃๅบ“ panel
  2. Specify subject and grade for metadata filtering
  3. Chat with the AI โ€” it will retrieve and cite relevant passages from your documents

Example:

ๆ นๆฎไธŠไผ ็š„่ฏพๆ–‡๏ผŒไธบไบ”ๅนด็บง่ฏญๆ–‡่ฎพ่ฎกไธ‰้“้˜…่ฏป็†่งฃ้ข˜

Video Prompt Generation

Convert a lesson plan into a storyboard prompt ready for AI video tools (e.g., Sora, Kling):

ๆŠŠๅˆšๆ‰็š„ๆ•™ๆกˆ่ฝฌๆˆ้€‚ๅˆๆ‹ๆ‘„ๆ•™ๅญฆ่ง†้ข‘็š„ๅˆ†้•œ่„šๆœฌ

๐Ÿ’ฌ Chat Platform Integrations

EduBot inherits all chat channels from nanobot:

Platform Notes
Web Console Built-in โ€” no extra setup needed
Telegram Bot token from @BotFather
DingTalk App Key + App Secret
Feishu / Lark App ID + App Secret
Slack Bot token + App-Level token
Discord Bot token + Message Content intent
WeChat Work Bot ID + Bot Secret
Email IMAP/SMTP credentials
QQ App ID + App Secret

Configure any channel in ~/.nanobot/config.json, then run:

nanobot gateway

๐Ÿณ Docker

docker compose up -d

The docker-compose.yml in the nanobot/ directory starts the agent and API server together.


๐Ÿงฉ Extending with Skills & MCP

Place custom skill files in workspace/skills/ or configure MCP servers in the Skills / MCP panel of the web console.

A skill is a Markdown file that instructs the agent on specialized behavior. See workspace/TOOLS.md for built-in tool constraints and the workspace/skills/weather/ example for a simple reference implementation.


๐Ÿ—‚๏ธ Project Structure

workspace/
โ”œโ”€โ”€ SOUL.md        # Agent personality and values
โ”œโ”€โ”€ AGENTS.md      # Agent behavioral instructions
โ”œโ”€โ”€ TOOLS.md       # Tool usage notes
โ”œโ”€โ”€ USER.md        # User profile (personalize interactions)
โ”œโ”€โ”€ HEARTBEAT.md   # Periodic background tasks
โ”œโ”€โ”€ memory/        # Persistent agent memory
โ”œโ”€โ”€ sessions/      # Conversation history
โ””โ”€โ”€ skills/        # Custom agent skills

๐ŸŒŸ Quick Tips

For Educators

  1. Upload course materials โ†’ Ask questions โ†’ AI cites relevant content
  2. Generate lesson plans โ†’ Convert to video prompts โ†’ Use with video AI tools
  3. Extend with custom skills โ†’ Add domain-specific tools for your subject area

For Developers

  • Backend: FastAPI + Pydantic (async-first Python)
  • Frontend: Next.js 14 + Ant Design (React Server Components)
  • Vector Database: Chroma for semantic search (RAG)
  • Extensibility: MCP servers, custom skills, multiple LLM providers

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m "feat: add my feature"
  4. Push and open a pull request

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ™ Acknowledgements

EduBot is built on top of nanobot by HKUDS, an ultra-lightweight personal AI assistant framework.

About

Develop from NanoBot by HKUDS and specialize it for Education

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages