Tencent/WeSmartFlow

Every question can open a new path. WeSmartFlow turns learning into conversation, exploration, stories, and hands-on discovery.

WeSmartFlow – An Open‑Source Adaptive Learning Platform

What it is – WeSmartFlow is an open‑source framework that lets an AI agent act as a personal learning companion. It can understand a learner’s goal, generate a learning path, create interactive content (cards, visualisations, quizzes, audio), track progress in a personal knowledge graph, and even embed the experience in a game‑like “exploration” world. The repo contains a reusable agent core, FastAPI back‑end services, a Vue‑3 front‑end, and example “exploration” topics.


Core capabilities

Capability What it does
ReAct‑style tutoring agent Uses tools (search, knowledge‑graph, HTML card generator, EduViz visualiser, quiz maker, TTS) to answer questions, create learning artefacts and update the learner’s knowledge graph.
Graph Memory (personal knowledge brain) Stores concepts as nodes with relationships (prerequisite, related, etc.), tracks mastery level with SM‑2 spaced‑repetition, and shares this graph across free tutoring and immersive courses.
Multi‑agent course generation A pipeline of specialised agents (planner, researcher, writer, illustrator, voice, quiz) automatically builds a full course (PDF + audio + exercises + knowledge‑graph entries).
HTML knowledge cards & EduViz Card: static, printable summary of a concept. EduViz: JavaScript‑based interactive visualisations generated from a SDK and rendered in the browser.
Exploration mode Plug‑in learning worlds (e.g., “Magic English Town”, “Math Garden”) built with any front‑end tech (Vue, React, Three.js, etc.). The main site loads them via a catalog JSON.
WeClaw WeChat bridge Optional channel that forwards WeChat messages to the same tutoring service, rendering cards as images with Playwright before sending.

Architecture snapshot

WeSmartFlow/
├─ backend/                # FastAPI server, agent_core, services, DB (SQLite + vector store)
│   ├─ agent_core/        # ReAct, DAG workflow, tool registration
│   ├─ agents/            # Prompt templates for tutoring, research, etc.
│   ├─ services/          # tutoring, course creation, knowledge‑graph APIs
│   └─ channels/          # WeClaw (WeChat) integration
├─ frontend/               # Vue‑3 SPA – chat, course viewer, graph, quiz, explore page
├─ examples/               # Independent “exploration” topics + catalog JSON
└─ environment.yml         # Conda env (Python 3.10+, Node 25)

The back‑end talks to any OpenAI‑compatible LLM via LLM_API_KEY, LLM_BASE_URL, LLM_MODEL. Front‑end consumes the REST API, streams agent responses, and displays generated cards/visualisations.


Getting started (as described in the README)

  1. Clone (with Git LFS for media assets).
  2. Create the Conda environment (conda env create -f environment.yml).
  3. Install front‑end deps (npm --prefix frontend install).
  4. Configure an LLM in .env (OpenAI, DeepSeek, etc.) and optional auth providers (GitHub OAuth, email SMTP, WeChat).
  5. Run:
    # terminal 1
    cd backend && python main.py   # FastAPI on :8080
    # terminal 2
    cd frontend && npm run dev    # Vue dev server on :5173
    
  6. Open http://localhost:5173 – you can try free tutoring, immersive courses, or the exploration page.

Optional extras:

  • WeClaw – enable WECLAW_ENABLED=true and bind a WeChat bot.
  • PDF course generation – install XeLaTeX/latexmk and the SimplePlus Beamer theme.

Who might use it?

  • Educators who want to author interactive, AI‑generated courses without building the whole stack.
  • Developers looking for a reusable agent framework (agent_core) tailored to education.
  • Learners who want a personalised AI tutor that remembers past sessions and adapts the curriculum.

License

MIT – free for commercial and non‑commercial use.


All details above are taken directly from the repository’s README; no external assumptions have been added.

Related

  • Project
  • Project
  • Project
  • Project
  • Project