npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

magic-memory

v0.1.0

Published

> AI 驱动的知识图谱学习系统 — 自动生成概念节点,对齐理解度评估,SM-2 间隔重复复习

Downloads

36

Readme

Magic Memory

AI 驱动的知识图谱学习系统 — 自动生成概念节点,对齐理解度评估,SM-2 间隔重复复习


项目概述

Magic Memory 是一个交互式知识图谱学习系统,围绕三个核心环节构建学习闭环:

  📥 AI 从文档提取/生成概念节点   →   🧩 知识图谱可视化
              ↓                                ↓
  📊 用户自述 → KEY CONCEPTS 对齐评估   →   🔁 SM-2 间隔复习
  • 🤖 AI 生成节点:从文档 KEY CONCEPTS 解析概念,AI 推荐提炼新概念并自动建链
  • 📊 对齐评估:用户自述 vs 原文 KEY CONCEPTS 自动对比,计算覆盖率和掌握度
  • 🔁 SM-2 复习:每次对齐完成后触发 SM-2 排期,图谱显示复习徽章和掌握度颜色

功能全景

🧩 交互式知识图谱

Cytoscape.js 渲染的关系图谱,支持全维度交互:

| 交互 | 行为 | |------|------| | 单击节点 | 查看概念详情、关联文档、对齐面板 | | 右键菜单 | 手动建链、AI 探索、聚焦视图 | | 悬停节点 | 预览概念摘要 | | 拖拽连线 | 连线模式下手动建立关系 | | 图例 | 关系类型(依赖/引出/相关)+ 掌握度色阶 |

图谱控制:

  • 全局搜索 — 输入概念名即时定位
  • 自适应布局 — 一键自动排列
  • 聚焦模式 (Focus View) — BFS 展开关联层,深度可调 (1-3 层)
  • 焦点链路着色 — 黄色入边 / 绿色出边,直观展示流向
  • 复习模式 — 切换后图谱显示待复习节点徽章

🤖 AI 概念生成与建链

| 功能 | 说明 | |------|------| | KEY CONCEPTS 解析 | 从文档中 # KEY CONCEPTS 章节自动提取概念创建节点 | | AI 建议建链 | 选中节点后 AI 分析 problem 字段,推荐关联概念 | | 一键批量建链 | BatchLinkDialog 展示 AI 推荐列表,勾选即建 | | 探索模式 | ExploreDialog — 从节点出发,AI 生成延伸问题并提炼为新概念 | | 快捷探索 | QuickExploreDialog — 选中文本一键创建节点并关联 | | 连接模式 | 工具栏切换连线模式,手动拖拽建链 |

📊 理解度对齐评估 (Alignment)

核心机制 — 用户阅读后用自己的话描述,系统自动对比原文:

  原文 KEY CONCEPTS              用户自述             对齐结果
  ┌─────────────────┐         ┌──────────────┐      ✅ PagedAttention
  │ PagedAttention   │         │ "Attention    │      ❌ Block Table
  │ Block Table      │ ────→   │  通过 Q/K/V   │      ⚠️ Q/K/V (模糊匹配)
  │ CacheBlock       │         │   计算权重..." │
  └─────────────────┘         └──────────────┘
  • 图谱级对比:同时对比节点(概念覆盖)和边(关系理解)
  • 三级匹配策略:精确子串 → charJaccard 模糊 → transformers.js 语义匹配
  • 浏览器端语义模型all-MiniLM-L6-v2,无后端依赖
  • 手动干预:标记已理解 / 忽略 / 从原文删除
  • 掌握度评分:综合对齐次数、覆盖率、手动标记,0-100 分
  • 颜色反馈:图谱节点背景色随掌握度变化(灰→黄→绿→蓝)

🔁 SM-2 间隔复习系统

每次对齐完成后自动触发:

  用户完成对齐
      ↓
  评估理解质量 (0-5) ──→ SM-2 算法 ──→ 更新 ease_factor
                                       计算 interval
                                       设定 next_review
                                           ↓
  图谱显示复习徽章 ←───────────── 到期概念入队
  SummaryPanel 复习队列             横幅提醒
  • 复习徽章:🔥(逾期) / 今日 / N天 / New / ✓
  • 复习队列SummaryPanel 按 urgency 排序展示待复习列表
  • 提醒横幅:待复习数量和最久逾期天数
  • 掌握度色阶:图谱颜色随复习进度变化

📚 文档阅读与标注

  • Markdown 渲染:kaTeX 公式 + highlight.js 代码高亮 + mermaid 图表
  • 注释系统:评论 / 问题 / 建议 / 纠正,行内触发 + 悬停预览
  • 分类筛选:按 Foundation / Model / Attention 等分类浏览

🧭 分析面板

| 面板 | 功能 | |------|------| | SummaryPanel | 图谱统计、入口节点、枢纽、最长路径、待复习队列、复习准时率 | | AnalysisPanel | 数据流路径展示与追踪 | | AlignmentPanel | 当前概念对齐结果详情 | | ClusterView | Louvain 社区聚类可视化 |

📦 多项目管理 CLI

memo init ./docs           # 扫描目录构建图谱并注册
memo list                  # 列出已注册项目
memo remove <id>           # 删除项目
memo server start          # 启动后端服务 + Web UI(端口 4321 + 3000)
memo server stop           # 停止所有服务
memo server status         # 查看服务运行状态

架构

                  ┌──────────────────────┐
  用户自述 ──────→│  Vite SPA (端口 3000)  │────→ 浏览器端:
  文档选择        │  React 19             │     - 图谱渲染 (Cytoscape)
                  │  Zustand 状态管理       │     - Louvain 聚类
                  │  transformers.js 语义   │     - SM-2 调度
                  └──────────┬───────────┘     - KEY CONCEPTS 对齐
                             │ API
                             ↓
                  ┌──────────────────────┐
                  │  Bun HTTP (端口 4321)  │
                  │  项目注册 / 图谱持久化   │
                  │  文件扫描              │
                  └──────────────────────┘

技术栈

| 层级 | 技术 | |------|------| | 前端 | React 19 + TypeScript + Vite 6 + Tailwind CSS 4 | | 状态 | Zustand 5 + Immer | | 图谱 | Cytoscape.js (@viz-js/viz) | | 图算法 | graphology + Louvain | | 语义匹配 | @xenova/transformers (all-MiniLM-L6-v2, 浏览器端) | | 间隔复习 | SM-2 算法(纯前端) | | 流程图 | @xyflow/react (ReactFlow) | | 文档渲染 | marked + kaTeX + highlight.js + mermaid | | 后端 | Bun + TypeScript | | 测试 | Vitest | | NLP | jieba |


快速开始

前置依赖

  • Node.js ≥ 18
  • Bun安装curl -fsSL https://bun.sh/install | bash

安装

# 克隆仓库
git clone <repo-url> && cd magic-memory

# 安装依赖
npm install

# 注册 memo 命令到全局(任意目录可用)
npm install -g .

使用

# 1. 初始化项目 — 扫描文档目录,构建知识图谱
memo init ~/notes/my-vllm-study

# 2. 启动完整服务(后端 + Web UI)
memo server start
# → Web UI: http://localhost:3000
# → API:    http://localhost:4321

# 3. 管理多个项目
memo list
memo remove <project-id>

首次使用也可在 Web UI 中点 "添加项目" 选择目录。

开发模式(项目目录下)

npm install
npm run dev            # http://localhost:3000

学习流程

阅读文档 → 用自己的话描述 → 对齐评估 → 接收复习提醒 → 间隔复习

项目结构

magic-memory/
├── src/
│   ├── components/       # 27 个组件
│   │   ├── KnowledgeGraph.tsx    # 图谱主组件 (Cytoscape)
│   │   ├── AlignmentPanel.tsx    # KEY CONCEPTS 对齐
│   │   ├── SummaryPanel.tsx      # 摘要 + 复习队列
│   │   ├── ExploreDialog.tsx     # AI 探索
│   │   ├── BatchLinkDialog.tsx   # 批量建链
│   │   └── ...
│   ├── store/            # Zustand 状态
│   │   └── knowledgeGraphStore.ts  # 核心: 概念/掌握度/复习/对齐
│   ├── utils/            # 核心算法
│   │   ├── alignment.ts         # KEY CONCEPTS 对齐
│   │   ├── semanticMatch.ts     # transformers.js 语义匹配
│   │   ├── knowledgeGraph.ts    # SM-2 调度 + 复习徽章
│   │   └── graphAnalysis.ts     # 图谱分析
│   └── types/
├── server/               # Bun API (端口 4321)
├── scripts/              # CLI: memo / cluster
├── tests/                # Vitest
└── docs/                 # 知识文档

学习路径

  1. 导入项目 — 选择文档目录,自动构建知识图谱
  2. 浏览图谱 — 三种视图切换,了解概念全貌
  3. 逐概念学习 — 单击节点 → 阅读文档 → 对齐评估
  4. 间隔复习 — 跟随图谱徽章和复习队列定期回顾
  5. AI 扩展 — 使用探索/建链功能扩展图谱