前言¶
在 DeepSeek Harness(DSH)里做学科会话时,常见痛点不是「模型不会解题」,而是成稿形态:根号写成 Unicode √ 时横线盖不住被开方式,分数写成 1/2 或斜杠式 (…)/(…),受力图、电路图只能另开工具手画。把这些步骤拆成多次复制粘贴,既慢又难保证打印清晰度。
dsh-subjkit 把同一套 Python 排版引擎挂进 DSH:会话里直接调用工具生成矢量公式、学科图示和可打印 PDF,并附带两个内置技能,说明何时用、公式与图示字段怎么写。下面介绍它是什么、能做什么,以及如何安装与启用。
这是什么¶
dsh-subjkit 是维护者 LoveElysiaFH 发布的 DSH 插件包(package.json 中声明 dsh.bundle.patch,入口 src/index.js 在 apply(ctx) 里向宿主注册工具),不是把技能文件改个名冒充插件。社区目录分类为工作流;GitHub 仓库 LoveElysiaFH/dsh-subjkit 当前 package 版本为 0.3.0。README 写明作者主要自用、环境以 Windows 为主,换机器时便于同步;使用前宜自行阅读源码与许可证。
定位:给 DSH 各学科会话用的排版 + 图示工具包——数学公式排成矢量图,物理/化学/生物/语文等图示按 JSON 规格输出,最终可输出可打印 PDF。
核心功能¶
三个会话工具¶
装上插件后,新会话中多出三个工具(参数与命令行选项一一对应):
| 工具 | 作用 | 主要参数 |
|---|---|---|
subject_pdf |
Markdown → 打印用 PDF;公式转矢量路径,可拆奇偶页、出 PNG 预览 | input(必填)、output、split、preview、title、subtitle、footer |
subject_figure |
物理/数学/化学/生物/语文图示 → SVG / PNG | spec(必填)、output、dpi |
subject_check |
找出正文里的裸符号、1/2、x^2,报「行:列 + 建议写法」 |
input(必填) |
插件通过 spawn 调用同一套 Python CLI(subjkit.py),结果经 --result-json 临时文件回传;命令行与会话内跑的是同一套排版引擎。
两个内置技能¶
插件启动时一并注册技能,「装插件」与「装技能」在同一步完成:
math-typeset:公式排版、试卷 PDF、根号/分数修复;subject-diagram:各科图示模板与字段约定。
工具负责执行;技能负责使用时机与写法说明。
排版与图示能力(README 已说明)¶
公式与 PDF:行内 $...$、独立 $$...$$;根号用 \sqrt{...},分数用 \frac{}{};支持标题、列表、表格、引用、图片、\newpage;--split 可额外生成奇数页/偶数页 PDF 便于单面打印。
图示类型(subject_figure / subjkit.py fig)包括:circuit、force、incline、optics、plot、geometry、numberline、venn、apparatus、molecule、cell、flow、grid 等;复杂图用 JSON spec,参数错误时返回中文说明与最小示例而非裸 traceback。
检查:subject_check / subjkit.py check 按 error/warn/info 分级;出 PDF 前默认跑 paper 档检查,有 error 会拒绝出图;学情类文档可用 --profile report 等选项避免误报比值与箭头。
安装与启用¶
环境要求¶
README 写明:Windows 10/11、Python 3.10+、Node.js 18+、Microsoft Edge(用于 HTML 转 PDF)。首次需在插件仓库根目录安装 Python 依赖与 Node 依赖,并跑自检:
python -m pip install -r requirements.txt
npm install
python subjkit.py doctor
doctor 会检查 Python 库、Node、MathJax、Edge 与图示模板是否可用。
装成 DSH 插件(推荐)¶
前提:上述依赖就绪,且 python subjkit.py doctor 全部通过。
在 DSH 会话中让助手调用插件管理器,将本仓库根目录的绝对路径装进当前 profile:
plugin_manager action: install_bundle target: <本仓库根目录的绝对路径>
管理器会完成 pnpm 安装与 bundle 选择,并报告 application: applied 或 restart-required。装完若工具未立刻出现,重启 DSH 即可。
等价手工做法:在 profile 目录(%USERPROFILE%\.dsh\profiles\<profile名>)的 package.json 的 dependencies 增加 "dsh-subjkit": "link:/path/to/dsh-subjkit",在 dsh.profile.bundles 增加 "dsh-subjkit",执行 pnpm install 后重启 DSH 应用。
卸载:plugin_manager 的 remove_bundle;或从 bundles 与 dependencies 删除后 pnpm install 并重启。
只装技能或只用 CLI¶
不需要工具、只要技能提示词时,可在仓库根目录执行:
python install.py
或 python install.py --project 装到当前工作区;此路径不注册工具,排版仍依赖命令行 subjkit.py。
插件以当前 DSH 进程权限运行子进程;安装前应检查仓库源码与 LICENSE,勿在未审阅的情况下指向不可信路径。
典型用法¶
试卷 Markdown → PDF¶
---
title: 数学 · 函数专项卷 02
subtitle: 满分 60 分 | 限时 40 分钟
footer: 第 1 页 / 共 2 页
---
## 一、选择题
1. 函数 $f(x)=\frac{\sqrt{x+1}}{x-2}$ 的定义域是( )
命令行:
python subjkit.py pdf 试卷.md -o 试卷.pdf
python subjkit.py pdf 试卷.md -o 试卷.pdf --split
python subjkit.py pdf 试卷.md -o 试卷.pdf --preview
在 DSH 中对应 subject_pdf,参数 input、output、split、preview 等与上述选项一致。
图示 spec → SVG/PNG¶
{
"type": "incline",
"angle": 30,
"block_label": "$m$",
"decompose": true,
"base_label": "$L$"
}
python subjkit.py fig --spec 斜面.json -o 斜面.svg
python subjkit.py fig --spec 斜面.json -o 斜面.png
会话内使用 subject_figure,必填 spec。
出 PDF 前检查¶
python subjkit.py check 试卷.md
python subjkit.py pdf 试卷.md --check-only
会话内使用 subject_check,必填 input。建议先改到 0 处 error 再生成 PDF。
适用场景与注意¶
适合:在 DSH 里反复出卷、重排含大量公式的 Markdown、按 JSON 批量画标准学科图,并希望模型在技能引导下统一用 $...$ 与 \frac、\sqrt 写法。
注意:
- 作者 README 强调自用、主要维护 Windows;Linux/macOS 未在资料中作为官方支持环境列出,自行迁移需验证 Edge/PDF 链路与
doctor结果。 - 表格跨页时表头可每页重复;整块不跨页可在块前写
<!--keep-->。 - 数据类文档(学情报告)勿用默认 check 档,应使用
--profile report等,避免274/450、→被误判为公式。 - DSH 社区插件目录 skillhub.cn 上的 dsh-subjkit 页 为独立站点收录,与 DeepSeek / 幻方无官方从属关系;安装与运行责任在用户侧。
结尾¶
dsh-subjkit 把学科 PDF 矢量排版、多科图示和裸符号检查收进 DSH 工作流:三个工具加两个技能,底层与 subjkit.py CLI 共用一套引擎。需要详情、样张 PDF 与仓库内重排示例时,见 GitHub README 与 插件目录页。