dsh-study-desk:在 DSH 里搭一套按复习时长记账的学习工作台

前言

在 DeepSeek Harness(DSH)里写代码、查资料、让模型代劳,会话往往很长,但「今天到底专注复习了多少分钟」「到期该过哪几张卡」并不自动出现在对话上下文里。不少客户端插件用「当天有没有消耗 token」来画热力图——那是使用强度,开着窗口摸鱼一天格子也会亮,对学习进度几乎没有诊断价值。

下面介绍社区插件 dsh-study-desk(维护者 slow-stack):在 DSH 侧栏挂一块 Notion 式待办墙、间隔重复复习队列、按实际复习分钟点亮的热力图,以及跨面板仍按绝对截止时间恢复的番茄钟;数据落在本机一份可读可改的 JSON,也可导出 Markdown 进 Obsidian。插件分类为客户端,运行时零依赖,界面只消费宿主主题 token,不覆写颜色。

这是什么

dsh-study-desk 是跑在 DSH 里的学习工作台,面向需要长期投入、反复记忆、且进度可核对的使用场景:考研与考公备考、期末与考证、语言学习、论文与实验推进、组会文献跟踪等。

仓库:https://github.com/slow-stack/dsh-study-desk
社区目录页:https://www.skillhub.cn/plugins/slow-stack/dsh-study-desk
许可证:MIT(README 与 package.json 一致)。npm 包名 dsh-study-desk,当前资料中版本为 0.7.0;Node 要求 ≥ 22.13.0。

DSH 生态的理念是「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

待办墙与过滤

三列看板(待办 / 进行中 / 已完成),卡片带科目、标签、预计与累计时长,可拖拽换列。顶部过滤栏支持搜标题 / 备注 / 标签、按科目与标签筛选、以及「只看到期」。

间隔重复与「今天先过哪几张」

卡片可进入间隔重复队列,用「忘了 / 记得 / 很简单」三档打分;下次复习时间由简化版 SM-2 推进(忘了清零留在当晚,记得按难度倍乘,很简单再多拉 30%)。已完成的卡仍会到期——背过的内容才是复习对象。

配套能力包括:单卡记忆曲线(横轴固定 30 天,便于比较「稳的卡近乎水平、刚忘过的往下掉」)、未来 7 天到期预报、以及「今日建议」——在到期队列之上再排序并写明理由(逾期、忘过次数、难度、新卡等),并按科目轮换;量超过一轮的 1.5 倍时会建议顺延而非硬扛。

热力图、周报与复盘

热力图类似 GitHub 贡献图:亮度由当天专注分钟数相对每日目标的比例决定,不是「有没有开过 AI 会话」。周报按周(周一起算)汇总时长、活跃天数、复习次数与环比,并带科目分布。每日复盘为按天一条短记录(今天卡在哪、明天第一件事)。

番茄钟与分布

专注 / 短休 / 长休自动轮换;换面板、刷新或关闭再打开,都按绝对截止时间恢复。起钟需报名字(手写优先,否则用关联卡片标题)。预设 25 / 45 / 60 分钟,也可自由设定 1–240 分钟。「番茄分布」用环形图按番茄名字聚合时长,可切今天或近 30 天。

目标节点、单词打卡与迷你条

右上角可设考试 / 答辩等倒计时与节点 chip(名称与日期在设置页填写,留空则不显示)。侧栏另有独立「单词打卡」面板:从不背单词 App 本机 shared_prefs 读取数据,不登录网页端、不回写 App。

右下角「常驻迷你条」在对话页也能看到剩余时间、今日进度与到期张数,可拖动位置,双击回右下角。

给模型的 study_desk 工具

插件向模型暴露 study_desk 工具(11 个 action),例如查看板全貌、增删改移卡片、复习打分与排期、起停番茄钟、统计与周报、读写复盘、读取不背单词打卡(bbdc,支持 refresh / offline)。每轮对话还可向系统提示注入距目标天数、今日专注、进行中任务、今日复习张数等摘要,可在设置页关闭以节省上下文。

界面模块与 action 对照以 GitHub README 为准。

安装与启用

装进某个 DSH profile 时,README 给出两种方式。

方式一:仓库自带安装脚本(幂等,会先备份 profile 的 package.json)

node install.mjs --profile <profile 目录>

方式二:手工

在 profile 目录执行:

dsh plugin add dsh-study-desk

并将包名 dsh-study-desk 加入该 profile package.json 的 dsh.profile.bundles 数组。

装完后新开一个会话:DSH 的工具表是会话开始时的快照,新增工具需新会话才会加载。运行时零依赖,不需要构建,不需要联网。

插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证,确认符合你的环境与安全要求。

数据与 Obsidian 往返

主数据文件:

<DSH_HOME>/study-desk/desk.json

纯 JSON,可手工编辑、用 git 或 Syncthing 等自行同步(README 标明单人单机、无内置多设备同步)。主要字段包括 tasks[](含 review 排期)、sessions[](热力图与统计来源)、reviews[]、journal{}、timer、settings。写入采用临时文件 + rename 原子替换;文件损坏会改名留档,不会清空。

可一键导出 desk.md(Obsidian 友好),并在 vault 中改完后「从 Markdown 读回」,按 id 合并而非覆盖。

典型用法

  1. 在设置页填写每日专注目标、番茄时长、科目表与可选的考试倒计时;新开 DSH 会话后打开客户端侧栏工作台。
  2. 在待办墙建卡、拖列变更状态;将需要记忆的条目拉进复习队列,在「今日复习」对到期卡三档打分。
  3. 起番茄钟并命名(绑定任务标题或手写),专注记录进入 sessions[],热力图与周报据此更新。
  4. 在对话中直接说「今天该复习什么」「这个我忘了」「把第 3 章拉进复习」「帮我记一下今天的复盘」「最近四周学得怎么样」,由模型调用 study_desk 对应 action。
  5. 需要备份或二次编辑时,导出 desk.md 或直接把 desk.json 纳入版本管理。

适用场景与注意

适合谁: 复习排期、专注时长、看板进度需要落在同一份本机数据里,且希望模型能读写在同一张「桌子」上的用户。

已知限制(摘自 README): 间隔重复为简化 SM-2,非 Anki FSRS;图表色板走宿主 --dsw-static-*,换主题时图表色不随主题翻转(看板其余部分仍跟主题);不背单词时长可能因 App 本地刷盘滞后而与服务端统计有差,连不上服务时会标注「本地只刷到某一天」;README 写明仅在 Windows 上的 DSH 桌面版实测过。顶部倒计时默认值仅为 2027 届考研初试示例,可在设置中改或留空隐藏。

结尾

dsh-study-desk 把待办、复习排期、专注时长与复盘收进 DSH 客户端与一份 desk.json,并用「复习分钟」而非 token 消耗来点亮热力图,更适合用来核对真实学习量。进一步了解功能与界面截图见仓库 README;安装与分类信息见社区目录 slow-stack/dsh-study-desk,源码与 issue 见 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜