dsh-material-cards: Retrieve and insert finished cards from the local material note repository

前言

在 DeepSeek Harness(DSH)里写提示词或草稿时,若材料说明散在磁盘上的多篇 markdown 笔记里,常见做法是每开一个新会话就让模型去「找文件、读几篇、自己归纳卖点」。同一件事反复做,归纳结果往往没有出处,笔记里空的「待补充」段落还会被一并塞进上下文。

dsh-material-cards(材料卡)针对的是另一类需求:把整个库预先压成一张约 1400 字符以内的卡片——标题、一句话定义、标签、三个最有用的分节,加一行相对出处——从输入框旁一键搜、选、插入,而不是在对话里当文件浏览器用。

这是什么

维护者 accoutmissing 在 GitHub 开源的 DSH 插件(@local/dsh-material-cards,当前包版本 0.3.0,MIT)。社区目录 SkillHub 将其归类为「记忆」。

插件在输入区工具栏增加「材料卡」入口:从你配置的本地 markdown 材料库检索,把服务端渲染好的成品卡文本追加到当前草稿末尾。库路径不在插件包内,需自行配置;任何按「一篇笔记讲一种材料」组织的目录都适用。

核心功能

界面与操作

  1. 输入区工具栏左侧出现材料卡图标;点开光标进入搜索框。
  2. 输入即过滤(180ms 防抖,走宿主检索,非前端本地过滤)。
  3. ↑ / ↓ 选择,Home / End 跳首尾,Enter 插入;Esc 两级——先清空搜索,再按一次关闭面板。
  4. 卡片追加到草稿末尾(空草稿直接写入);已有内容时中间空一行,插入为一次可撤销编辑,不覆盖已有文字。

搜索框为空时展示三个「架子」:置顶(行尾图钉)、最近(最多 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。

典型用法

  1. 在 ~/.dsh/material-cards.json 写好 root(及可选 dir)。
  2. 按 README 的 frontmatter 与 ## 定义、## 核心特性 等结构维护材料笔记。
  3. 在 DSH 输入框点材料卡,输入材料名过滤,Enter 将卡片插入当前草稿,与模型对话时上下文里已带定义、要点与出处。

适用场景与边界

适合:已有本地 markdown 材料库、希望在 composer 里快速引用结构化摘要且保留出处、笔记量在几百文件量级、不需要向量检索的场景。

不适合或需知悉:插件不替你在合规或宣传层面判断「能不能这么写」;卡片里的置信度与出处供你对照笔记自行决定。它不猜库路径、不修改笔记、不承担索引与笔记同步的向量方案。

链接

DSH 生态强调「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye