MathClaw  by MathClaw-ruc

Multimodal AI learning assistant for middle/high school math

Created 1 month ago
446 stars

Top 66.9% on SourcePulse

GitHubView on GitHub
Project Summary

MathClaw is a multimodal AI learning assistant specifically designed for middle and high school mathematics. It addresses the need for personalized, structured learning support by integrating various communication channels, offering a robust problem-solving workbench, and building a persistent, structured memory of a student's learning progress. The system benefits students by providing tailored feedback and study plans, and educators or administrators by offering oversight and management tools.

How It Works

MathClaw operates through a multi-channel gateway that ingests diverse inputs like text, images, and PDFs. These inputs are processed by a core MathClaw Agent Loop, which leverages Large Language Models (LLMs) from various providers and a suite of tools including web search, filesystem access, and shell execution. Its key differentiator is the structured learning memory, which automatically constructs knowledge and error graphs, tracks learning status, and generates personalized daily/weekly learning plans and summaries, driven by heartbeat and cron scheduling.

Quick Start & Requirements

  • Installation: Clone the repository, create and activate a Python virtual environment (Python 3.11+ recommended), and install the package using pip install -e .. Additional dependencies like [wecom] can be installed for specific SDKs.
  • Prerequisites: Python 3.11+, Linux/macOS/WSL are recommended. Node.js 20+ is required for the WhatsApp bridge. API keys for LLM providers (e.g., DashScope) and tools (e.g., Tavily search) are necessary for full functionality.
  • Configuration: Run mathclaw onboard --workspace ./workspace to initialize configuration and workspace files. Interactive setup is available via --wizard.
  • Running: Start the gateway with mathclaw gateway --workspace ./workspace. Launch the console by navigating to the console/ directory and running MATHCLAW_CONSOLE_WORKSPACE=../workspace python serve.py. Direct CLI interaction is possible with mathclaw agent --workspace ./workspace -m "...".

Highlighted Details

  • Specialized for Math: Tailored for middle/high school math with features like step-by-step explanations, weakness identification, and error summarization.
  • Multimodal Input: Supports text, images, screenshots, and PDF uploads for realistic problem-solving scenarios.
  • Structured Learning Memory: Automatically generates and maintains knowledge graphs and error graphs, tracking learning status over time.
  • Automated Learning Plans: Provides daily study status, weekly plans, and next-day suggestions, alongside automated daily/weekly summaries.
  • Extensive Channel Support: Integrates with numerous messaging platforms including WeCom, QQ, Feishu, Telegram, Slack, WhatsApp, Email, Discord, WeChat, DingTalk, Matrix, and MoChat.
  • Dual-View Console: Offers separate interfaces for students (problem-solving workbench, learning plans) and administrators (system status, channel management).
  • Extensible Toolchain: Supports file operations, web browsing, shell commands, cron jobs, and custom MCP service integrations.

Maintenance & Community

The README does not provide specific details regarding notable contributors, sponsorships, or community channels like Discord or Slack.

Licensing & Compatibility

This project is released under the MIT License, which generally permits commercial use and modification.

Limitations & Caveats

The system requires significant configuration, including obtaining API keys for various services. While versatile, its primary focus is on middle and high school mathematics, potentially limiting its direct applicability to other subjects or educational levels without customization. The WhatsApp bridge component has a specific Node.js dependency.

Health Check
Last Commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
447 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.