dsh-idle-scholar:把智能体等待时间变成闪卡学习

前言

在 DeepSeek Harness(DSH)里跑智能体时,一轮对话里常有空档:等工具返回、连 MCP、读大文件、派发子 agent。这些间隙用户只能盯着界面,任务本身又不好打断。idle-scholar 插件的思路是:在「会让用户继续等」的回合开头先出一张学习卡,再照常执行主任务,一张卡对应一次等待回合,不挡主线。

下面介绍插件定位、能力、安装配置与课程包格式,事实均来自 GitHub 仓库 README 与 package.json(当前版本 0.3.0,MIT 许可证)。

这是什么

idle-scholar(npm 包名 @dsh-plugin/idle-scholar)由维护者 Smallballoons01 发布,在 SkillHub 插件目录 中归类为「记忆」。它面向 DSH 的 idle-time micro-learning:把 agent 等待空档变成闪卡(flash cards)。

内置种子牌组覆盖 英语、日语,以及中国国家司法考试(法考)八科(刑法、民法、刑诉、民诉、行政法、商经知、三国法、理论法)。新科目用普通 JSON 课程包扩展,社区牌组可通过 PR 追加文件。

核心功能

插件同时做两件事,并供给牌面内容与进度跟踪。

系统提示与 Skill

  1. 系统提示片段:当某回合会让用户继续等待时,在该回合最开头展示一张学习卡,然后继续主任务。
  2. 内嵌 Skill idle-scholar:完整工作流,包括卡片格式、课程轮换,以及「别学了」退出选项。

三个工具

工具 作用
study_card 抽一张卡;可选 course / deck / type 过滤。未见过优先,刚重复过的会排除。
study_status 今日张数 vs 每日目标、连续天数、牌组覆盖、课程目录。
study_switch 切换默认课程,跨会话持久化。

进度(每张卡的见过次数、每日合计、连续天数)写在 $DSH_HOME/idle-scholar.json,不在仓库目录里。

卡片类型

课程包里的单张卡支持:vocab(词汇)、quiz(选择题,answer 为 choices 下标)、concept(知识点)、tip(文化/实用建议)。所有卡需非空 explanation。

安装与启用

DSH 插件方式

官方 README 给出的安装命令如下(路径需换成你本地的插件目录,不要凭仓库名拼 dsh plugin add github:…):

dsh plugin --profile web add /path/to/idle_scholar

安装后重新加载 harness。在 DeepSeek Harness ≥ 0.2.1-alpha.3 且开启热重载时,插件代码更新可不必重启;首次安装仍需要一次重载。若 profile 的 cordis.patch.yml 里已有 idle-scholar 行,需先删掉——重复注册会导致无法启动。

用 dsh … --from-default-profile 重建 profile 会替换该 profile(含插件列表),之后需重新添加本插件。

独立 Skill(任意 Agent 工具)

Skill 遵循 Agent Skills,可复制到常见 skills 目录:

cp -r skills/idle-scholar ~/.claude/skills/   # 或 ~/.agents/skills、~/.codex/skills 等

不装 DSH 插件工具时,Skill 仍可工作:模型按 skills/idle-scholar/references/course-topics.md 实时生成卡片。

配置项

字段 默认值 含义
enabled true 总开关;关闭后不再注入提示片段(工具与 Skill 仍挂载)。
defaultCourse 'en' 未传过滤时 study_card 使用的课程。
dailyGoal 10 每日目标张数,用于进度展示。
promptSection true 是否暴露系统提示片段。
skill true 是否注册内嵌 idle-scholar Skill。
coursesDir — 额外课程包目录,与内置牌组一并加载。
stateFile $DSH_HOME/idle-scholar.json 进度文件路径。

典型用法与课程包

抽卡与切换课程

模型在等待回合开头调用 study_card;需要时可传 course、deck、type。查看进度用 study_status;换默认课程用 study_switch。

课程包格式

一个 deck 是 courses/<course>/<deck>.json 下的一个 JSON 文件,结构示例(摘自 README):

{
  "id": "en-vocab",
  "course": "en",
  "name": "English core vocabulary",
  "cards": [
    {
      "id": "en-vocab-001",
      "type": "vocab",
      "prompt": "**serendipity** means?",
      "hint": "noun, related to chance",
      "answer": "The faculty of making fortunate discoveries by accident",
      "explanation": "From The Three Princes of Serendip.",
      "tags": ["CET6"]
    }
  ]
}

贡献新科目时:在 courses/<course-id>/<deck-id>.json 按格式添加(deck 与 card 的 id 需全局唯一,仓库内 test/decks.test.js 会校验);同步更新 course-topics.md 与 skill.js 中的课程表;跑 npm test 做牌组校验。

适用场景与注意

适合谁:长期在 DSH 里开发或日常使用智能体、希望在工具等待间隙做轻量复习(英语、日语、法考或自建 JSON 牌组)的开发者。

运行与信任:插件以当前 DSH 进程权限运行,会读写 $DSH_HOME/idle-scholar.json 并在等待回合注入学习内容。安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的环境与合规要求。SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,目录站点是独立发现渠道,不是官方应用商店。

环境:package.json 要求 Node ≥ 20。开发侧针对的 harness 相关包版本在 README 中有说明(如 @deepseek-ai/dsh-tools 0.2.1-alpha.4 等),与你的 DSH 版本对齐后再装插件更稳妥。

路线图(README 列出的未完成项):Web 面板(设置区 + 侧边栏连续天数)、间隔重复(SM-2 式调度替代当前 seen-weighting)、更多种子牌组(如法考真题风格案例卡、TOEFL/IELTS、文言等)。

结尾

idle-scholar 把「等工具」变成「一张卡」,不占用主任务流程;内置英日法考种子包,扩展靠 JSON 课程包与社区 PR。目录页:SkillHub - dsh-idle-scholar;源码与完整说明:GitHub - Smallballoons01/dsh-idle-scholar。

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

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

小夜