selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

LearnBuddy logo

Self-host LearnBuddy

AI learning companion generating personalized study paths

BetaOpen SourceMIT
Updatedlast month
LanguagePython
Setup difficultyModerate
MobilePWA
Stars
190
CPU
1 core (2 cores with OpenClaw)
RAM
2 GB (4 GB with OpenClaw)
Port
8000 (HTTP API and web UI)
Install with Docker Compose

What is LearnBuddy?

LearnBuddy is a self-hosted AI learning companion that creates personalized study plans through conversational assessment. Users describe their learning goals, receive AI-generated baseline questions, and get a multi-week learning path with daily tasks, spaced repetition reviews, and weekly self-checks. It runs in two modes: cloud (hosted demo) and personal (self-hosted with bring-your-own-key LLM, local SQLite storage, single owner). The personal mode supports optional OpenClaw Gateway integration with a user's own Feishu app for push notifications. The stack uses Python, FastAPI, SQLite, Pydantic, and a native HTML/CSS/JS frontend with PWA support. Current version is a release candidate with core mechanisms implemented but production deployment gates still pending.

Should you self-host LearnBuddy?

LearnBuddy scores 42/100 on selfhost.directory (how scoring works) and ranks #80 of 120 in AI Assistant. It has 190 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is hermes-agent (89/100, 257 989 stars). It scores higher overall, so compare the two before you pick. See LearnBuddy vs hermes-agent side by side.

Features

  • 6-Gate Self-Check with R1-R10 Adjustment RulesEngineered but interactive UI pending V1
  • Anti-Forgetting 5 MechanismsEngineered but push delivery still pending release gates
  • Automated backup and restore
  • BYOK (Bring Your Own Key)
  • Conversational Learning Path Generation
  • Dual Edition (Cloud/Personal)
  • Feishu (Lark) Bot IntegrationRequires separate OpenClaw container and user-managed Feishu app
  • Instant Baseline Assessment
  • Local-first data storage
  • Multi-Domain Learning Support
  • Personalized Learning Plan Generator
  • Single Owner Personal Mode
  • Streaming SSE Chat Interface

LearnBuddy README

How to install LearnBuddy

Install LearnBuddy with Docker Compose

Environment variables
LEARNBUDDY_EDITION=personal, LEARNBUDDY_LLM_API_KEY, LEARNBUDDY_LLM_BASE_URL, LEARNBUDDY_LLM_MODEL, FEISHU_APP_ID, FEISHU_APP_SECRET (optional)

git clone https://github.com/wanghui2323/learnbuddy.git && cd learnbuddy cp .env.example .env

编辑 .env,填 LEARNBUDDY_LLM_API_KEY / BASE_URL / MODEL

bash scripts/setup_personal.sh

Default binds to 127.0.0.1; requires owner initialization via web UI or init_personal_owner.py script

How to configure LearnBuddy

  • ENVdevRuntime environment

    Runtime environment

  • FEISHU_APP_IDFeishu app ID for OpenClaw integration

    Feishu app ID for OpenClaw integration

  • FEISHU_APP_SECRETFeishu app secret for OpenClaw integration

    Feishu app secret for OpenClaw integration

  • HOST127.0.0.1Bind address

    Bind address

  • ITUTOR_AGENT_REMINDERS_ENABLED1Enable agent reminders

    Enable agent reminders

    values: 0|1

  • ITUTOR_AGENT_TOKEN_SECRETAgent token secret (generated by setup script)

    Agent token secret (generated by setup script)

  • ITUTOR_BASE_URLBase URL for push deep links

    Base URL for push deep links

  • ITUTOR_ENVdevelopmentLegacy environment variable

    Legacy environment variable

  • ITUTOR_FEISHU_ACCOUNT_IDdefaultFeishu account identifier

    Feishu account identifier

  • ITUTOR_OPENCLAW_BRIDGE_TOKENOpenClaw bridge token (generated by setup script)

    OpenClaw bridge token (generated by setup script)

  • ITUTOR_PUSH_ENABLED1Enable background push scheduler

    Enable background push scheduler

    values: 0|1

  • ITUTOR_PUSH_HOUR8Daily push hour (local timezone)

    Daily push hour (local timezone)

  • ITUTOR_SCHEDULER_RUN1Run scheduler in this process (0 for multi-worker)

    Run scheduler in this process (0 for multi-worker)

    values: 0|1

  • ITUTOR_VAPID_PRIVATE_KEYWeb Push VAPID private key (DER base64)

    Web Push VAPID private key (DER base64)

  • ITUTOR_VAPID_PUBLIC_KEYWeb Push VAPID public key (Base64URL)

    Web Push VAPID public key (Base64URL)

  • ITUTOR_VAPID_SUBJECTWeb Push VAPID subject (mailto:)

    Web Push VAPID subject (mailto:)

  • LEARNBUDDY_BIND_ADDRESS127.0.0.1LearnBuddy bind address

    LearnBuddy bind address

  • LEARNBUDDY_EDITIONcloudProduct edition: cloud or personal

    Product edition: cloud or personal

    values: cloud|personal

  • LEARNBUDDY_LLM_API_KEYOpenAI-compatible LLM API key for personal edition

    OpenAI-compatible LLM API key for personal edition

  • LEARNBUDDY_LLM_BASE_URLhttps://api.deepseek.comOpenAI-compatible LLM base URL

    OpenAI-compatible LLM base URL

  • LEARNBUDDY_LLM_MODELdeepseek-chatOpenAI-compatible LLM model name

    OpenAI-compatible LLM model name

  • LEARNBUDDY_PORT8000LearnBuddy service port

    LearnBuddy service port

  • LOG_LEVELinfoLog level

    Log level

  • OPENCLAW_FEISHU_PLUGIN_VERSION2026.8.2OpenClaw Feishu plugin version

    OpenClaw Feishu plugin version

  • OPENCLAW_GATEWAY_PORT18789OpenClaw gateway port

    OpenClaw gateway port

  • OPENCLAW_GATEWAY_TOKENOpenClaw gateway token

    OpenClaw gateway token

  • OPENCLAW_IMAGEghcr.io/openclaw/openclaw:2026.8.2OpenClaw Docker image

    OpenClaw Docker image

  • PORT8000Service port

    Service port

More in Education

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…