# ts-fsrs > Developer documentation for ts-fsrs ## 指南 - [介绍](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/index.md): ts-fsrs 是什么,以及模型、时间系统和可选 middleware 如何组合成可复用的调度器定义 - [快速开始](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/quick-start.md): 安装 ts-fsrs,先使用 DefaultScheduler 快速接入,再在浏览器中运行默认与自定义调度器示例并用 Rating.Good 完成复习 - [迁移到 v6 与 FSRS-7](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/migration.md): 将 ts-fsrs v5 迁移到 v6 的 defineScheduler,再通过复习历史重建 FSRS-7 记忆状态,不改变已有卡片的下次复习时间,并避免使用 legacy API。 - [架构](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/architecture.md): 理解 ts-fsrs 中 model、chrono、middleware 与 scheduler 的职责,组合可复用预设,并追踪一次 review 如何生成新的 card 与 revlog - [状态转换](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/state-transitions.md): 了解评分如何让卡片在 New、Learning、Review 和 Relearning 之间转换,以及 card、revlog、记忆状态与队列状态的区别 - [LLM](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/llms.md): 通过 llms.txt 和 llms-full.txt 以 Markdown 形式阅读 ts-fsrs 文档,并通过共享的英文 Atom 订阅源跟进更新 - [模型概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/index.md): 了解 FSRS 模型契约、直接使用各版本模型,以及通过 defineModel 定义自定义模型的方式和职责边界 - [FSRS-7](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-7.md): FSRS-7 双分量遗忘曲线、混合权重、稳定性与难度更新、数值求间隔以及参数和记忆状态迁移限制的实现说明 - [FSRS-6](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-6.md): FSRS-6 的可训练衰减、间隔计算、初始记忆、难度、稳定性和同日更新公式,以及与上一版本的核心差异 - [FSRS-5](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-5.md): FSRS-5 的幂函数遗忘曲线、间隔计算、难度、稳定性和同日更新公式,以及与相邻版本的核心差异和实现说明 - [FSRS-4.5](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-4dot5.md): FSRS-4.5 的幂函数遗忘曲线、间隔计算、初始记忆、难度和稳定性更新公式,以及与相邻版本的核心差异 - [FSRS-4](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-4.md): FSRS-4 的幂函数遗忘曲线、间隔计算、初始记忆、难度和稳定性更新公式,以及与相邻版本的核心差异和实现说明 - [FSRS-3](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/model/fsrs-3.md): FSRS-3 的指数遗忘曲线、间隔计算、初始记忆、难度和稳定性更新公式,以及与后续版本的核心差异和实现说明 - [Chrono 概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/chrono/index.md): 选择 ts-fsrs 的时间表示,理解 normalize 和天数运算,并通过 defineChrono 自定义 dateChrono - [Date](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/chrono/date.md): 使用 dateChrono 计算 UTC 日期差和固定时长,理解 card 与 revlog 的时间字段 - [Numeric](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/chrono/numeric.md): 使用 numericChrono 表示相对天数,理解以零为起点的 normalize 及其适用范围 - [Temporal Instant](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/chrono/temporal-instant.md): 配置 temporalInstantChrono 的时区与小数天数,理解日历运算和夏令时行为 - [中间件概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/middleware/index.md): 理解中间件如何为调度器添加调度策略与应用字段,并了解如何使用 defineMiddleware 定义字段与处理函数 - [生命周期](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/middleware/lifecycle.md): 了解中间件处理函数如何按注册顺序环绕调度器核心运行,以及撤销与预览如何复用这些处理函数 - [内置策略](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/middleware/built-in.md): 了解 ts-fsrs 自带的中间件策略,以及 DefaultScheduler 如何按顺序组合它们 - [调度器概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/scheduler/index.md): 用 defineScheduler 把模型与 chrono 组合成可复用的调度器定义,用 .create 为每个配置创建独立调度器,并与 DefaultScheduler 预设对照 - [DefaultScheduler](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/scheduler/default-scheduler.md): 配置 DefaultScheduler 预设、选择 FSRS 模型版本,并判断何时用预设、何时用自定义 defineScheduler 定义 - [训练器概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/optimizer/index.md): 用 binding 从复习记录重新训练 FSRS 权重,选择 Node 或浏览器 / Worker 运行时,并走通从 CSV 到参数的流程 - [训练与评估](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/guide/optimizer/train-evaluate.md): 沿 binding 走通复习日志流程——把 CSV 转成项、训练权重、评估拟合,并调整步骤 ## API - [ts-fsrs API 概览](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/index.md): 受支持的 ts-fsrs API 索引 —— 面向应用代码的定义、预设、策略、模型与类型 - [DefaultScheduler](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/default-scheduler.md): DefaultScheduler 参考 —— 返回现成调度器预设的异步工厂 - [Scheduler](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/scheduler.md): defineScheduler.create 与 DefaultScheduler 返回的调度器实例的参考 - [定义](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/define/index.md): define* 定义函数——声明调度器、模型、时间抽象与中间件 - [defineScheduler](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/define/define-scheduler.md): defineScheduler 参考 —— 用模型与 chrono 组合出可复用的调度器定义 - [defineModel](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/define/define-model.md): defineModel 参考 —— 打包模型定义及其 schema 与模型核心 - [defineChrono](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/define/define-chrono.md): defineChrono 参考 —— 为调度器定义自定义时间抽象 - [defineMiddleware](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/define/define-middleware.md): defineMiddleware 参考 —— 扩展 schema 并在调度器核心周围运行处理函数 - [Chrono 预设](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/chrono-presets.md): dateChrono、numericChrono 与 temporalInstantChrono 参考 - [Rating、Grade、State](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/rating-grade-state.md): 复习与卡片使用的评分与状态枚举及其校验 schema - [模型](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/index.md): ts-fsrs/models/fsrs-3 到 fsrs-7 各版本入口的参考 - [FSRS-7](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-7.md): ts-fsrs/models/fsrs-7 参考——模型方法、权重、参数辅助函数、Schema 与类型 - [FSRS-6](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-6.md): ts-fsrs/models/fsrs-6 的参考——权重、边界与参数辅助函数 - [FSRS-5](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-5.md): ts-fsrs/models/fsrs-5 的参考——权重、边界与参数辅助函数 - [FSRS-4.5](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-4dot5.md): ts-fsrs/models/fsrs-4dot5 的参考——权重、边界与参数辅助函数 - [FSRS-4](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-4.md): ts-fsrs/models/fsrs-4 的参考——权重、边界与参数辅助函数 - [FSRS-3](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/models/fsrs-3.md): ts-fsrs/models/fsrs-3 的参考——权重、边界与参数辅助函数 - [中间件](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/index.md): ts-fsrs/middlewares 索引——内置策略,以及与之一同导出的默认值、辅助函数与 schema - [DesiredRetention](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/desired-retention.md): 内置中间件 schedulerDesiredRetentionMiddleware —— 在计算间隔前应用目标保留率 - [Cost ADR](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/cost-adr.md): Cost ADR 根据记忆状态和复习成本调整保留率。组合时用 `schedulerCostAdrMiddleware` 替换 `schedulerDesiredRetentionMiddleware`;它不包含在 `DefaultScheduler` 中。间隔上限仍由 `schedulerMaximumIntervalMiddleware` 负责。 - [LearningSteps](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/learning-steps.md): 内置中间件 schedulerLearningStepsMiddleware —— 在短期调度中应用学习与再学习步骤 - [Fuzzing](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/fuzz.md): 内置中间件 schedulerFuzzingMiddleware —— 开启 enableFuzz 时为增加变化而分散间隔 - [MaximumInterval](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/maximum-interval.md): 内置中间件 schedulerMaximumIntervalMiddleware —— 将天级间隔限制在 maximumInterval - [Stats](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/stats.md): 内置中间件 schedulerStatsMiddleware —— 维护 reps 与 lapses 计数器 - [MonotonicInterval](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/monotonic-interval.md): 内置中间件 schedulerMonotonicIntervalMiddleware —— 跨评分排序间隔 - [ScheduledDays](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/scheduled-days.md): 内置中间件 schedulerScheduledDaysMiddleware —— 将最终间隔保存为已安排天数 - [Leech](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/middlewares/leech.md): 内置中间件 schedulerLeechMiddleware —— 遗忘超过阈值时暂停卡片 - [Reschedule](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/reschedule.md): ts-fsrs/reschedule 入口点 —— 在常规复习流程之外重放复习历史并重排卡片 - [Utils](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/utils.md): ts-fsrs 根入口导出的小型数值辅助函数参考 —— clamp 与 roundTo - [类型](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/api/ts-fsrs/types.md): 从 ts-fsrs 根入口导出的类型参考 ## Playground - [Playground](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/playground.md): 在浏览器中编辑并运行带真实类型提示的 ts-fsrs 与 WASIP1 优化器示例。 ## Others - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/index.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/page/2.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/page/3.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/page/4.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/page/5.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/page/6.md): Published package releases, changelogs, and npm downloads. - [Updates](https://open-spaced-repetition.github.io/ts-fsrs/zh-CN/updates/binding/index.md): Published package releases, changelogs, and npm downloads.