DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

yingqi-studio /

yingqi-studio/dsh-material-library

Verified

Material library for DeepSeek Harness: collect folders, files and notes from a conversation, keep them in real folders with tags, reopen a chat's output in one click.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@b0c41ae7

dsh-material-library

A material library for DeepSeek Harness (dsh): collect what a conversation produced — a folder, a file, a note — keep it in real folders with tags, and jump back to the chat it came from in one click.

Material library in the three-pane view

中文说明

What it does

  • Collect from a conversation. A button in the session header and a 从对话采集 / Collect from chat button in the library open a picker: choose a conversation, browse its working directory, pick a folder or a file, name the entry, choose the library folder and tags. Entries point at the original path; nothing is copied.
  • Real folders, real files. A note is a .md file on disk; the folder tree is the directory tree under the library root (default ~/.dsh/materials). Tags live in .index.json beside it. You can edit either from outside the app.
  • Finder-like browsing. Source list (all materials / folders / tags) · list view with name, updated, folder and tags · detail pane with a file card, a default-app button and an "open with…" menu.
  • Open with… runs the macOS open command: the default app, or another installed application picked from a menu, or reveal in Finder. Images preview inline; text and Markdown render in the detail pane.
  • Read like a chat. Markdown is rendered with the typography of conversation messages — headings, nested lists, quotes, code blocks, tables, rules — including when the entry is a reference to a file outside the library.
  • Reopen the source. For a collected entry, Open in original session switches to that conversation and opens the folder in its right sidebar.
  • Everything is editable. Rename or delete a folder or tag from the sidebar (a tag rename rewrites it everywhere; a folder rename moves its files), edit name/folder/tags of any entry, search names, bodies and tags.

Collect dialog

Install

dsh plugin --profile <your-profile> add dsh-material-library

Published on npm as dsh-material-library; installing straight from GitHub also works: dsh plugin --profile <your-profile> add github:yingqi-studio/dsh-material-library.

In DSH Desktop, open Plugins, search the name, and install it there. Restart dsh web (or refresh the page) and the library appears as an icon in the sidebar.

Requires a host with the sidebar-entry and right-sidebar slots (dsh.web 0.2.x). engines.dsh is declared as >=0.2.0.

Where things are stored

~/.dsh/materials/            # library root (override with the plugin config `root`)
├── .index.json              # tags for notes, plus the references you collected
├── 使用说明.md               # a note = a real markdown file
└── 客户项目/                 # a folder = a real folder
    └── 需求.md

Set root in the plugin config to move the library elsewhere. Writes are serialized and atomic (.tmp + rename); paths are confined to the library root, and collected targets must stay inside your home directory.

HTTP API

The UI talks to the host over same-origin JSON routes under /api/dsh-materials (no generated remotes, so it stays dependency-free):

Method Route Purpose
GET /health library root, readiness
GET /home home directory (fallback start for the picker)
GET /state folders, notes, references, tag counts
GET /list?path= list a directory outside the library (for the picker)
GET /file?path= read a note
GET /ref/preview?id= read a referenced text file for the detail pane
GET /ref/raw?id= raw bytes of a referenced file (images)
GET /openers?path= installed apps that can open a target, with icons
GET /search?q=&tag= search names, bodies and tags
GET /session-times last-modified time per session (picker ordering)
POST /create /update /delete notes
POST /folder /folder/rename /folder/delete folders
POST /tag/rename /tag/delete tags
POST /ref/add /ref/update /ref/delete collected references
POST /open open / reveal a target with the OS

Everything that mutates goes through one serialized store; conflicts (duplicate name, non-empty folder, unknown application) come back as readable 4xx errors.

Notes and limits

  • A collected entry is a reference, not a copy: if the original moves, the entry shows as missing.
  • Only targets inside your home directory can be collected.
  • Files you drop into the library by hand are listed but have no tags until you tag them in the UI.
  • The Markdown renderer is built in (~150 lines, no dependency): it covers common syntax but not inline HTML, footnotes or task-list checkboxes.
  • No agent tools yet — everything is done in the UI.

中文说明

把对话里产出的目录、文件和笔记收进一个材料库:真实文件夹 + 标签,Finder 的观感,点开像对话消息一样阅读,一键跳回原始会话。

  • 从对话采集:会话标题栏按钮 / 库内「从对话采集」按钮 → 选对话、浏览目录、选文件或目录、起名、选库内文件夹与标签。收进来的是引用,原文件不动。
  • 真实目录:笔记就是磁盘上的 .md,文件夹就是目录树(默认 ~/.dsh/materials),标签存在 .index.json。
  • 三栏浏览:左栏 全部材料 / 文件夹 / 标签;中栏列表(名称、更新、文件夹、标签);右栏文件卡 + 默认应用 + 「打开方式」菜单。
  • 打开方式:默认应用 / 其它已安装应用 / 在 Finder 中显示;图片行内预览,文本与 Markdown 在右栏渲染。
  • 像对话一样阅读:标题、嵌套列表、引用、代码块、表格、分隔线,引用外部文件时同样渲染。
  • 在原始会话右侧打开:切回那个对话并打开右侧文件面板。
  • 都能改:文件夹、标签可就地改名或删除(标签改名全库生效、文件夹改名带走文件),条目的名称/文件夹/标签可编辑。

安装:dsh plugin --profile <profile> add dsh-material-library(未发布 npm 时用 github:yingqi-studio/dsh-material-library)。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit b0c41ae7807d

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout