Skip to content

潜进 (HeurAMS) - 启发式辅助记忆程序

概述

"潜进" (HeurAMS) 是为习题册, 古诗词, 及其他问答/记忆/理解型知识设计的辅助记忆软件, 提供动态规划的优化记忆方案

技术集成与特性

间隔迭代算法

许多出版物都广泛讨论了不同重复间隔对学习效果的影响. 特别是, 间隔效应被认为是一种普遍现象. 间隔效应是指, 如果重复的间隔是分散/稀疏的, 而不是集中重复, 那么学习任务的表现会更好. 因此, 有观点提出, 学习中使用的最佳重复间隔是最长的、但不会导致遗忘的间隔.

  • 采用经实证的 SM-2 间隔迭代算法, 此算法亦用作 Anki 闪卡记忆软件的默认闪卡调度器
  • 已实现 FSRS 算法 (Anki 的新可选闪卡调度器) 与一种 SM-15 变体算法作为替代

参考 https://github.com/slaypni/SM-15
使用 SM-15 的变体:
SM-2 后续算法并非完全开放, 故使用一种基于 SM-15 描述实现的变体算法

  • 动态规划每个记忆单元的记忆间隔时间表
  • 动态跟踪记忆反馈数据, 优化长期记忆保留率与稳定性

学习进程优化

  • 逐字解析:支持逐字详细释义解析
  • 语法分析:接入生成式人工智能, 支持古文结构交互式解析
  • 自然语音:集成微软神经网络文本转语音 (TTS) 技术
  • 多种谜题类型:选择题 (MCQ)、填空题 (Cloze)、识别题 (Recognition)
  • 动态内容生成:支持宏驱动的模板系统, 根据上下文动态生成题目

现代用户界面

  • 响应式 Textual 框架构建的跨平台 TUI 界面
  • 支持触屏/鼠标/键盘多操作模式
  • 简洁直观的复习流程设计

架构特性

  • 模块化设计:算法、谜题、服务提供者可插拔替换
  • 上下文管理:使用 ContextVar 实现隐式依赖注入
  • 数据持久化:TOML 配置与内容, JSON 算法状态
  • 服务抽象:音频播放、TTS、LLM 通过 provider 架构支持多种后端
  • 完整日志系统:带轮转的日志记录, 便于调试

技术架构

有关技术与实现的细节, 请参阅 项目结构API 文档
提交拉取请求以参与到此开放源代码项目

mermaid
graph TB
    subgraph "用户界面层 (TUI)"
        TUI[Textual TUI]
        Widgets[界面组件]
        Screens[应用屏幕]
    end

    subgraph "服务层"
        Config[配置管理]
        Logger[日志系统]
        Timer[时间服务]
        AudioService[音频服务]
        TTSService[TTS服务]
    end

    subgraph "内核层"
        Algorithms[算法模块]
        Particles[数据模型]
        Puzzles[谜题模块]
        Reactor[调度反应器]
    end

    subgraph "提供者层"
        AudioProvider[音频提供者]
        TTSProvider[TTS提供者]
        LLMProvider[LLM提供者]
    end

    subgraph "数据层"
        Files[本地文件数据]
    end

    subgraph "上下文管理"
        Context[ConfigContext]
        CtxVar[config_var]
    end

    TUI --> Config
    TUI --> Logger
    TUI --> AudioService
    TUI --> TTSService
    Config --> Files
    Config --> Context
    AudioService --> AudioProvider
    TTSService --> TTSProvider
    Reactor --> Algorithms
    Reactor --> Particles
    Reactor --> Puzzles
    Particles --> Files
    Algorithms --> Files

系统要求

  • 平台支持:Windows / macOS / Linux / Android (需要 Termux 或 Linux 环境)
  • Python 版本:3.8 或更高
  • 网络连接:可预缓存语音文件, 需联网使用大模型服务功能
  • 磁盘空间:约 100 MB 用于安装和缓存