DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Goodtypst — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-goodtypst

Plugin Goodtypst

GoodTypst:把 Typst 文档接进 DSH 会话——内置阅读文稿与演示文稿两套模板,并用风格检查守住版式

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:James-Yao-xj/dsh-plugin-goodtypst#8dac2feb9418e26cb806a3d005bc3ad4f9133222
README兼容性版本
阅读文稿示例演示文稿封面演示文稿内容页

兼容性与来源证明

Plugin Goodtypst 以 dsh-plugin-goodtypst 发布,当前版本为 0.4.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/19

版本

0.4.1stable
2026/10/19
0.3.0stable
2026/10/17
0.2.0stable
2026/10/17

相关插件

正在加载相关插件…

最新版
0.4.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 2
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README


description: "GoodTypst:把 Typst 文档接进 DSH 会话——内置阅读文稿与演示文稿两套模板,并用风格检查守住版式" kind: "package-bundle"

dsh-plugin-goodtypst

Typst 是一套排版语言:一份 .typ 源文件编译成 PDF、PNG 或 SVG。

这个插件解决的事很具体——在会话里写 typst 稿子时,版式守不住。模型很容易把课程笔记写成五彩斑斓的卡片堆,把幻灯片写成左右两块带框的对比框。所以这里内置两套模板(阅读文稿 / 演示文稿),与用户认可的样例逐字同版式,再用一份风格检查把跑偏的写法拦下来。

两种模板

kind适用版式生成的文件
reading课程笔记、讲稿整理、长文阅读A4 纵向、单栏、纯黑白、ctyp 处理中英混排<name>.typ
slides课程汇报、论文分享、答辩4:3、PKU 配色、单栏要点式<name>.typ、template.typ、assets/images/pku-logo.svg

两份模板的版式分别对齐 Lesson2.typ 与 Slides/template.typ:页边距、页眉页脚、标题字号字重、表格与代码的居中方式都是照抄的,不是“看着像”。

预览

阅读文稿:A4 单栏、纯黑白,页眉一行灰线,页脚居中页码。

阅读文稿示例

演示文稿:封面与内容页。页眉左侧是本页语境、右侧校徽,页脚右侧页码;标题用红、强调句用蓝,其余全是黑色正文。

演示文稿封面

演示文稿内容页

工具

工具作用
goodtypst_templates列出两种模板的适用场景与硬性约束,用来在两者之间做选择
goodtypst_new用模板起稿:写入口文件、填标题页元数据;幻灯片同时写主题与校徽。已存在的文件不覆盖
goodtypst_check按风格约束检查现有 .typ,返回带行号的违规列表(error / warn)
goodtypst_status插件是否就绪;传入路径时顺带报文件行数、首行

风格约束

用户在会话里说“用 Typst 写个文稿”时,插件注入的系统提示要求模型先问一句:阅读文稿还是演示文稿。选定之后按模板起稿,写完用 goodtypst_check 自查,error 清零才算交付。

阅读文稿

  • 整份文档只有黑白灰:没有 fill、rgb(...)、highlight、底色、渐变。不要写出五彩斑斓的页面。
  • 不用卡片容器(rect、box、block),不用多栏(columns、grid)。
  • 页眉页脚、字体、标题编号由模板固定:不写 #set page、#set text、#show。
  • 表格、代码块、图片一律居中;来源说明用脚注。
  • 不用直角引号与双直角引号(U+300C/U+300D、U+300E/U+300F):引文用“……”或者不加引号。

演示文稿

  • 一页一个论点:title 是结论(“操作带来明显提升”),section 是这句结论的语境,不是章节名。
  • 一列往下排:禁止 grid、columns 这类并列结构,包括两列 keypoint 并排。
  • 数字写进句子:禁止 metric 那种“大号数字 + 一行小字”的排版。
  • 禁止带边框或底色的卡片:rect、box、block 配 stroke / fill。这是 AI 味最重的写法。
  • 不用表格;需要对比就按“A 是……;B 是……”的顺序陈述。
  • 颜色只能来自主题变量:pku-red、pku-blue、pku-gray、pku-light、accent。
  • 一页正文不超过 60 个汉字,长句拆成要点。
  • 不用直角引号与双直角引号(U+300C/U+300D、U+300E/U+300F):引文用“……”或者不加引号。

风格检查是行级正则,不是语法检查:它拦的是上色、卡片、并列结构、数字块、改版式这几类典型跑偏,Typst 语法错误交给 typst compile。

用法

最省事的是让模型走一遍:

  1. “用 Typst 写一份汇报”→ 模型问:阅读文稿还是演示文稿;
  2. 用户选定后,goodtypst_new 在指定路径生成模板副本;
  3. 模型往模板里填内容,goodtypst_check 自查到 error 为零;
  4. 交付后自行 typst compile <file>.typ 出 PDF。

也可以手动起稿:把 templates/reading.typ 或整个 templates/slides/ 目录复制到项目里,改文件顶部的几个变量即可。

安装

插件的源码放在工作区的 plugins/ 下,profile 用 link: 链进去,改完源码立刻可见。

# 1. 装依赖(插件自己的 node_modules)
cd plugins/dsh-plugin-goodtypst
pnpm install

# 2. 链进 profile
cd ~/.dsh/profiles/desktop
pnpm add link:/Users/capyapple/Documents/deepseek-harness/default-workspace/plugins/dsh-plugin-goodtypst

然后确认 profile 的 package.json 里 dsh.profile.bundles 包含 dsh-plugin-goodtypst,重启 DeepSeek Harness 生效。

卸载:pnpm remove dsh-plugin-goodtypst,并把 dsh.profile.bundles 里那一项删掉。

配置

默认值在 cordis.patch.yml 里声明,想改就在 profile 自己的 cordis.patch.yml 里用同一个 id(goodtypst)覆盖——覆盖是整块 config 替换。

字段默认含义
typstBinarytypst编译器位置;默认走 PATH,也可以写绝对路径
maxSourceBytes4194304单个 .typ 的读取上限,超过就报错

环境要求

  • DSH 0.2.0-rc.2(cordis ~4.0.4)
  • Typst 编译器(本机验证版本 0.15.1)——插件本身不调用它,出 PDF 时用
  • 阅读文稿模板依赖 @preview/ctyp:0.3.0,首次编译时 Typst 会自动下载并缓存

已知限制

  • 还不会编译:编译、错误定位、按页出图是下一版的事,见下面的路线。
  • 写文件走 ctx.fs,受 DSH 文件策略约束;workspace-write 模式下只能写工作区内的路径。
  • 风格检查只看写法,不看内容长度;“一页不超过 60 个汉字”这类密度要求靠提示词约束。

路线

  1. 两套模板 + 风格提示 + 风格检查(0.2.0 已完成)
  2. goodtypst_compile:调 typst compile,把 PDF 放到临时目录,失败时带回 typst 的原始报错与行号
  3. 出图:--format png --ppi 按页出图,让模型和你都能直接看到排版结果
  4. 可调:--root、--font-path、默认输出格式做成配置项

关于校徽

templates/slides/assets/images/pku-logo.svg 是北京大学校徽,原始位图打包进 SVG,这样整套模板保持纯文本、可以直接随仓库分发。校徽版权归北京大学,仓库里的这份只用于个人课程与汇报场景;换成自己的单位标志只需替换该文件。

开发

pnpm install
pnpm test          # node --test test/*.test.js

测试不启动 DSH,也不用真 ctx:ctx.tools / ctx.fs / ctx.systemPrompt 换成记录用的假对象,defineTool 和 schemastery 用真包,所以 schema 与配置默认值走的是和线上同一条代码路径。

模板改动的验证方式:templates/slides/ 目录本身就能直接 typst compile slides.typ;阅读文稿需要先装 ctyp。

许可

MIT,见 LICENSE。