Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文

maimemo-desktop

A local web-based vocabulary review tool for MaiMemo (墨墨背单词) on desktop.

It works as a one-way sync: pulls your daily study tasks from MaiMemo's open API, lets you review them locally, and stores all feedback locally — nothing is written back to your MaiMemo account.

Features

  • Daily task sync — pulls today's study plan from MaiMemo, filtering out words already finished on your phone or locally.
  • Card-based review — press Space to reveal the definition; four-level feedback (1 know / 2 vague / 3 forgot / 4 familiar).
  • Automatic re-review — words marked as forgotten are requeued automatically until everything is correct.
  • Pronunciation — TTS audio via Youdao dictvoice (American English first, falls back to British English).
  • Statistics dashboard — streak (doesn't break if you skip today but studied yesterday), total words studied, error rate, today's count, and an 8-week heatmap calendar.
  • Wrong-word review — words are ranked by how often you marked them "forgot/vague"; pick any and re-review with one click.
  • Fallback definitions — when MaiMemo returns no interpretation (common for accounts without custom definitions), it automatically falls back to Youdao's public dictionary, including phonetics.

Requirements

  • Node.js ≥ 18 (no other dependencies, no build step)

Quick Start

Windows — double-click start.bat.

macOS / Linux:

./start.sh

Or manually:

node server/index.js

Then open http://localhost:8765 in your browser (port 8765).

Usage

  1. Open the Settings page and paste your MaiMemo API token.
  2. Go to Review — today's tasks are loaded (phone-finished and locally-finished words are skipped).
  3. Review each card: press Space to reveal the definition, listen to the pronunciation, then rate it with 1 (know) / 2 (vague) / 3 (forgot) / 4 (familiar). Forgot words are re-queued until you finish.
  4. Check the Stats and Review tabs for your dashboard and wrong-word review.

Your MaiMemo account must have auto-sync enabled in the app for the study data API to return data.

Data Storage

All data is stored locally in the data/ directory (gitignored):

File Content
data/config.json API token
data/study.json Study records (atomically written)
data/interpretations.json Definition cache

API Overview

Endpoint Method Description
/api/config GET / POST Read / save API token
/api/today GET Today's task list
/api/progress GET Study progress
/api/feedback POST Submit a feedback rating
/api/interpretation?voc_id= GET Definition (cached, with Youdao fallback)
/api/reset-today POST Clear today's task feedback and re-review everything
/api/stats GET Dashboard statistics
/api/review GET Wrong-word review list

Project Structure

server/index.js       HTTP server, routing, static files
server/maimemo-api.js MaiMemo API wrapper (rate-limited serial queue)
server/store.js       JSON storage + statistics aggregation
public/index.html     Single-page UI
public/style.css      Dark minimal card style
public/app.js         Frontend logic
data/                 Local data (gitignored)

Known Limitations

  • Feedback is not written back to MaiMemo — the open API has no endpoint for submitting study feedback, so words remain "unfinished" on your phone. This is a hard API limitation; the design intentionally follows one-way sync.
  • Study data API is in public beta — the official docs state it may change or become unavailable at any time.
  • MaiMemo interpretations return user-created definitions only; for accounts without them, the Youdao fallback is used (this is the normal case).

Disclaimer

This is an unofficial tool. It uses MaiMemo's public open API and Youdao's public dictionary endpoints. All data stays on your machine. Use it at your own risk and follow MaiMemo's platform terms.

About

Desktop vocabulary review tool for MaiMemo — one-way sync: pull daily study tasks from the open API, review locally with four-level feedback. Zero-dependency Node.js app, no build step.墨墨背单词电脑端背诵工具(本地 Web 应用,单向同步:拉取学习任务,本地背诵并记录反馈,零依赖 Node.js)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages