Writing, design and game creationOpen source

Craft Your Textbook

Textbook production agent

A six-stage DSH workflow that turns source PDFs into a reviewed AI teaching blueprint with human approval gates.

Project README

View on GitHub

造书工作台(dsh-craft-your-textbook)

把教材 PDF 加工成「AI 教学蓝本」的 6 阶段流水线,是 DeepSeek Harness(dsh) 的一个插件包。

主 AI 亲手跑流水线,你只做四件事:上传材料、确认探查结果、在关卡拍板、抽查提意见。 全程中文,不需要任何技术知识。

  • 上传教材 PDF(学生用书/教师用书/考纲/讲义/真题,一次可多选)
  • 主 AI 亲自探查材料 → 出设计方案 → 写范例章 → 铺完全书 → 最后检查:
    • 源探查/设计/范例章:主 AI 亲手做(质量是后面所有工作的基准)
    • 铺章:小助手执笔 → 小助手审计 → 主 AI 终审,每章都有人把关
    • 最后检查:主 AI 亲手自查 + 机器硬检查兜底
  • 每一步关键决定都做成「请你拍板」关卡:通过或驳回,拍板前流程绝不往下走,随时可回退
  • 成品下载为《书名》.md(保留你一开始敲定的书名),附「这本书怎么用」说明

新上手就能用到的几个小帮手(“四件事”不变,这些只是让它们更好使):

  • 先来一本演示书:第一次用不确定怎么操作,在向导卡上点「先建一本演示书试试」——AI 走一遍全程给你看(不花模型额度),不影响你自己的真书。
  • 全章过目:全部章节写完后 AI 不会直接交稿,先停在「全章过目」卡上让你逐章看——每章可【看看这章】【写意见】,全部满意再点【✅ 都过了,交工】。
  • 定点修改:想改某个已经拍板的历史决定,在该步点【✍️ 定点修改】——界面先告诉你哪些下游会重做、你的风格线原样保留,10 分钟内还能一键撤销。
  • 催办(戳一下 AI):AI 答应了你的事但账上迟迟没跟上、或它像是停了,在对话里点【⏰ 提醒 AI 落账】/【戳一下 AI】,让它动起来。
  • 范例章默认读、要对比再点:AI 改完新稿默认整篇给你看原文,想看改在哪再点「和第 N 稿对比」;段旁 😕/🗑 键同一处点两下=撤销意见。
  • 每章字数清单:定稿时不再只问一个统一字数,而是按章节列出每章多少字、为什么,AI 建议也分章给。
  • 交付卡“风格线条条有着落”:交付时卡片列出你的每条风格意见落实在哪几章(或为什么没用上),给你最后把关。

安装

需要先装好 DeepSeek Harness(dsh) 并能打开网页界面(web profile)。

方式一:npm 一键安装(推荐)

⚠️ 暂时不可用:npm 包正在重新发布中,预计 8 月 23 日后恢复可用。恢复前请用下面的方式二:从 GitHub 直装,不影响正常使用。

npx dsh-craft-your-textbook

脚本自动完成三步:

  1. 把插件装进 dsh 的 web profile(等价于 dsh plugin --profile web add dsh-craft-your-textbook
  2. dsh-craft-your-textbook 写进 profile 的 bundles 列表(没有它宿主不会挂载插件)
  3. 把「造书模式」preset 装到 ~/.dsh/.agent-presets/textbook/

装到别的 profile:npx dsh-craft-your-textbook --profile tui

方式二:从 GitHub 直装(不经过 npm)

# 1) 安装插件(拉取 GitHub 仓库 main 分支;包已预构建,无需构建授权)
dsh plugin --profile web add github:xx-hub/dsh-craft-your-textbook

# 2) 安装「造书模式」preset(dsh 不会自动装插件的 preset,手动拷一次即可)
mkdir -p ~/.dsh/.agent-presets/textbook
cp ~/.dsh/profiles/web/node_modules/dsh-craft-your-textbook/preset/*.yml ~/.dsh/.agent-presets/textbook/

# 3) 重启 dsh

想固定版本(后续往 main 推送不会悄悄改内容)可以锁定 commit:

dsh plugin --profile web add github:xx-hub/dsh-craft-your-textbook#<commit>

打开

  1. 重启 dsh(关掉再打开),浏览器自动打开(地址 http://127.0.0.1:3080);
  2. 新会话,在"模式"里选 造书模式
  3. 中间多了一个 工作台 页签——点进去开始造书。

第一次用想先看看全程长什么样?新建书时点「先建一本演示书试试」——AI 走一遍给你看,不花模型额度,也不影响你自己建书。

造一本书(流程)

  1. 上传材料:工作台里点"+ 新建书"填书名和目标 → 上传教材 PDF(标一下角色:学生用书/教师用书/考纲/讲义/真题)→ 点"开始转换"。理科教材记得勾"理科内容"。
  2. 确认探查结果:AI 亲手通读你的教材,整理出"源材料索引和知识地图"。工作台出现"🔍 探查结果"卡——上面直接能看到:重点难点、建议的章节安排;点开还能看知识点清单(带难度)每本材料里读到的小节。满意点【✅ 满意,继续设计】;不满意点【🔁 让 AI 重做】——可以勾个理由或写一句哪里不满意,AI 会照着改(不填也能重做)。
  3. 三关拍板:AI 亲手起草三个设计方案(学习目标与方法/章节架构)。每关都是"请你拍板"——
    • 满意 → 【✅ 通过,继续】
    • 不满意 → 【❌ 驳回,提意见】:选"方案不对"或"我看不懂",再点选理由(讲太深/太浅/不是重点……),不用打字;AI 会改出新版再给你看。
    • 拍板前流程绝不往下走;每个拍板点都自动存档,之后随时能回退。
  4. 确认最佳范例章:AI 亲笔写出全书第 1 章给你看效果(这是全书的样板)。
    • 新稿默认整篇给你看原文;想看改在哪,点「和第 N 稿对比」(红删绿增一目了然),看够了再点「只看这一稿」回来继续读。
    • 读到不顺眼的地方,鼠标停在那一行会浮出三个键:😕 这种写法不喜欢 / 🗑 这类内容不需要 / ✏️ 要改成……;同一个键在同一处点两下=撤销刚才那条意见。
    • 定稿区按章节列出「每章多少字、为什么」的字数清单,AI 建议也分章给,不用再敲一个统一字数。
    • 满意点【✅ 满意,继续写全书】,不满意点【❌ 重写】。
  5. 铺章(可随时抽查):其余章节由小助手执笔、小助手自查、AI 最后把关。工作台出现"章节清单"——每章可点【👀 看看这章】预览,点【✍️ 写意见】给 AI 提意见(比如"例子太难、多给几道练习"),AI 会照改并重新自查。
  6. 全章过目:全部章节写完,AI 不会直接交稿——先停在「全章过目」卡上等你逐章看:每章可【👀 看看这章】预览、【✍️ 写意见】给 AI 改,改了会再自查回来;全部满意点【✅ 都过了,交工】,才进入最后检查。
  7. 最后检查 & 下载:AI 亲自读成品逐项检查(机器兜底再验一遍),通过后交付卡出现——上面有一份「你的风格线条条有着落」清单(每条风格意见落在哪几章、为什么没用上),给你最后把关;然后点【⬇️ 下载《书名》.md】(文件名保留你一开始敲定的书名)。附"这本书怎么用"说明。

随时可以在下面输入框问我(比如"这章为什么这么写?"),不会打断 AI 干活。

随时能用的几个小工具

  • 定点修改(改已拍板的历史决定):想改某个已经定下来的决定(比如某关方案、体量),在那一步点【✍️ 定点修改】——先弹出影响预告,告诉你哪些下游要重做、哪些原样保留(你的风格线和豁免不动),每一步仍会请你拍板,10 分钟内还能一键撤销
  • 催办(戳一下 AI):AI 答应了你的事但工作台迟迟没跟上(账上没动静),或者它像是停了,就在对话里点【⏰ 提醒 AI 落账】/【戳一下 AI】——它会立刻查账,把答应没做的事补上、把停下的活接上。

需要的两个钥匙(首次使用前配置)

  1. 大模型接口:右上角 设置 → 模型 → 添加你自己的模型接口(任何兼容 OpenAI 的都行,比如 DeepSeek 官方 key)。
  2. MinerU Token:PDF 转换要用。去 https://mineru.net 注册并申请免费 Token,然后在造书工作台里粘贴保存(转换 PDF 时如果没填,界面会提示)。

手动安装

dsh plugin --profile web add dsh-craft-your-textbook

然后编辑 ~/.dsh/profiles/web/package.json,把 dsh-craft-your-textbook 加进 dsh.profile.bundles 列表:

"dsh": {
  "profile": {
    "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-craft-your-textbook"]
  }
}

再把 preset/ 文件夹(本包内)整个拷到 ~/.dsh/.agent-presets/textbook/,重启 dsh。

卸载

dsh plugin --profile web remove dsh-craft-your-textbook
rm -rf ~/.dsh/.agent-presets/textbook

重启 dsh 即恢复原样。你的书项目数据保留在 ~/.dsh/textbook/projects(要彻底删除就删这个文件夹)。

你的数据

  • 新建书时,书文件夹建在当前会话的工作区目录里(文件夹名=书名),上传的 PDF、中间产物、成品都在里面
  • 文件夹内一切过程都以文档留存:README.md过程记录.md提案/关卡N-vX.mdwork/sources/
  • 工作区拿不到时(很少见)会退回默认目录 ~/.dsh/textbook/projects/;老书仍留在默认目录,可正常使用
  • 每本书有一个内部编号(book-xxx),对应关系记录在 ~/.dsh/textbook/registry.json
  • 每个阶段交办/拍板点都有快照存档,随时能回退(工作台与对话里都有入口)
  • 造出来的内容是教学参考,AI 可能讲错,请老师/家长复核后再使用

常见问题

问题怎么办
提示「需要先配置」按「需要的两个钥匙」配好,配好后点「我配好了,继续」
某一步出错卡片上点【🔁 重试】;还不行就在对话里问向导
想反悔关卡卡上点「⏪ 回退到上一个拍板点」,旧版本只读保留
想中途加一章告诉向导,AI 先判断能不能塞进现有章节;不能就走「新增一章」流程(会带新版本号让你确认)
想改某一章铺章时点那章的「写意见」,AI 会照意见修订;已交付的书在对话里告诉 AI
想先试试看再动手新建书时点「先建一本演示书试试」,AI 走一遍给你看
全书写完想逐章过目会有「全章过目」卡:每章看看/写意见,全满意再点【✅ 都过了,交工】
想改一个已拍板的历史决定那段上点【✍️ 定点修改】,先看影响预告,10 分钟内可一键撤销
AI 答应的事没落账 / 像停了对话里点【⏰ 提醒 AI 落账】或【戳一下 AI】
担心花太多钱在对话里告诉向导一个预算上限,超过会先暂停问你

License

MIT