前言¶
在 DeepSeek Harness(DSH)里写提示词或草稿时,若材料说明散在磁盘上的多篇 markdown 笔记里,常见做法是每开一个新会话就让模型去「找文件、读几篇、自己归纳卖点」。同一件事反复做,归纳结果往往没有出处,笔记里空的「待补充」段落还会被一并塞进上下文。
dsh-material-cards(材料卡)针对的是另一类需求:把整个库预先压成一张约 1400 字符以内的卡片——标题、一句话定义、标签、三个最有用的分节,加一行相对出处——从输入框旁一键搜、选、插入,而不是在对话里当文件浏览器用。
这是什么¶
维护者 accoutmissing 在 GitHub 开源的 DSH 插件(@local/dsh-material-cards,当前包版本 0.3.0,MIT)。社区目录 SkillHub 将其归类为「记忆」。
插件在输入区工具栏增加「材料卡」入口:从你配置的本地 markdown 材料库检索,把服务端渲染好的成品卡文本追加到当前草稿末尾。库路径不在插件包内,需自行配置;任何按「一篇笔记讲一种材料」组织的目录都适用。
核心功能¶
界面与操作¶
- 输入区工具栏左侧出现材料卡图标;点开光标进入搜索框。
- 输入即过滤(180ms 防抖,走宿主检索,非前端本地过滤)。
↑/↓选择,Home/End跳首尾,Enter插入;Esc两级——先清空搜索,再按一次关闭面板。- 卡片追加到草稿末尾(空草稿直接写入);已有内容时中间空一行,插入为一次可撤销编辑,不覆盖已有文字。
搜索框为空时展示三个「架子」:置顶(行尾图钉)、最近(最多 8 条,插入时自动记录)、全部(其余按最近改动)。仅一个架子有内容时不显示架子标题;开始搜索后合并为平铺结果。搜索框右侧有清空、命中计数、行距(宽松/紧凑);置顶、最近、行距仅存本机 localStorage。
卡片内容与笔记格式¶
插入文本包含【材料】标题、一句话描述、标签行、三个二级标题分节(由插件按用途打分选取,非固定白名单标题名),以及相对出处(默认不给绝对路径,避免模型再去读盘)。示例结构见仓库 README。
笔记需 frontmatter + ## 分节;title、description、tags、confidence 等可缺省,缺省时从第一个 # 标题或文件名、首段正文推导。行内左侧的 medium / low 来自 frontmatter 的 confidence。
可选:规则注入提示词¶
同一配置文件可指定 rules(相对 root 或绝对路径的文件,或无路径时当作内联正文)、rulesSections、rulesMax(默认 6000,范围 500–12000)。内容注册为系统提示词段,前缀说明「只在相关内容上生效」。GET /plugins/material-cards/rules 可查看当前正文、来源与是否已注册。
服务端行为(只读)¶
- 不写回笔记;不做向量检索;未配置库时不扫全盘。
- 检索:标题 8、description 4、标签 4、slug 3、正文 2 加权;全库内存扫描,5 秒缓存。
- 三个 loopback
GET接口:/plugins/material-cards/search(q≤64 字,limit默认 8、上限 35)、/plugins/material-cards/card(slug,返回prompt即插入文本)、/plugins/material-cards/rules。
安装与启用¶
安装命令以仓库 README 为准:
plugin_manager action: install_bundle
target: <绝对路径>\dsh-material-cards
装完后关闭再打开插件(set_plugin,enabled: false → true)以加载新代码,Ctrl+R 刷新页面,再通过本机配置指向笔记目录。
插件以当前 DSH 进程权限读取你配置的目录;安装前请自行查看 源码 与 MIT 许可证,确认路径与只读行为符合你的环境。
配置库位置¶
优先级从高到低:
| 顺序 | 来源 | 说明 |
|---|---|---|
| 1 | 插件 config 的 root / dir |
bundle patch 内,随 profile |
| 2 | 环境变量 DSH_MATERIAL_CARDS_ROOT |
只覆盖 root |
| 3 | ~/.dsh/material-cards.json |
本机文件,不进仓库 |
| 4 | 兜底 ~/materials |
dir 为空时用 root 本身 |
本机文件示例:
{
"root": "D:\\notes",
"dir": "materials",
"fullPath": false
}
dir 不存在或目录下无 .md 时检索为空,面板提示「材料库里还没有笔记」。需要出处为绝对路径时,将 fullPath 设为 true。
典型用法¶
- 在
~/.dsh/material-cards.json写好root(及可选dir)。 - 按 README 的 frontmatter 与
## 定义、## 核心特性等结构维护材料笔记。 - 在 DSH 输入框点材料卡,输入材料名过滤,
Enter将卡片插入当前草稿,与模型对话时上下文里已带定义、要点与出处。
适用场景与边界¶
适合:已有本地 markdown 材料库、希望在 composer 里快速引用结构化摘要且保留出处、笔记量在几百文件量级、不需要向量检索的场景。
不适合或需知悉:插件不替你在合规或宣传层面判断「能不能这么写」;卡片里的置信度与出处供你对照笔记自行决定。它不猜库路径、不修改笔记、不承担索引与笔记同步的向量方案。
链接¶
- 社区目录:https://www.skillhub.cn/plugins/accoutmissing/dsh-material-cards
- 源码与完整说明:https://github.com/accoutmissing/dsh-material-cards
DSH 生态强调「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。