deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DSH web GUI client plugin: sidebar Markdown preview — browse, render, edit & save.
DSH web GUI 客户端插件:侧栏 Markdown 预览 —— 浏览、渲染、编辑与保存。
A client plugin for the DSH web GUI: adds an "MD preview" button at the bottom of the sidebar. Clicking it opens a floating preview window where you can browse, render, and edit & save Markdown files.
.md files; enter a directory / open a file by clicking, .. to go up;Ctrl/Cmd+S; unsaved changes are flagged in the title bar; switching files / closing the window asks for confirmation;.md file) and press Enter to jump;<video> background, current page session only);localStorage, with a one-click "restore theme default";sessionStorage);/md-preview-prefixed routes; read/list are GET/HEAD only, write is POST only;.md / .markdown / .mdown extensions, content ≤ 2 MB; write request body ≤ 3 MB;| File | Role |
|---|---|
package.json |
Package manifest + dsh.bundle (install layer) + dsh.client (browser-half discovery) |
cordis.patch.yml |
Bundle patch layer activated by dsh plugin add; registers the md-preview Loader row |
index.js |
Host half (node): /md-preview/read, /md-preview/list, /md-preview/write routes |
client.js |
Browser half (classic script bundle, no build step) |
Install the official runtime with Node.js:
npx @deepseek-ai/dsh web
Install this plugin into a profile (the ecosystem convention):
dsh plugin --profile web add "github:anitman/dsh-plugin-md-preview#main"
The #<ref> suffix selects a branch, tag, or commit: #main follows the default branch; pin #<sha> or a release tag to make the installed content immutable; omit it to track the repo's default branch.
dsh plugin forwards package operations to pnpm, so npm, Git/GitHub, local path, file: and link: package specs are all supported — e.g. from a local clone:
dsh plugin --profile web add .
Only packages declaring dsh.bundle.patch become active profile layers; this package declares it, so dsh plugin add completes the link and layer activation in one step. Pure JS, no build scripts — a git install needs no allowBuilds approval.
Restart dsh --profile web after installing or updating a bundle: the document icon button then appears at the bottom of the sidebar (above the settings button); manage it under Settings → Plugins.
dsh plugin --profile web remove dsh-plugin-md-preview
Removes the dependency and the patch layer together; restart dsh to take effect.
dsh-plugin-md-preview in ~/.dsh/profiles/web/node_modules/ pointing at this directory (or copy the directory if symlinks fail);dependencies in ~/.dsh/profiles/web/package.json: "dsh-plugin-md-preview": "file:<absolute path to this repo>";~/.dsh/profiles/web/cordis.patch.yml:- insert:
- id: md-preview
name: "dsh-plugin-md-preview"
client.js changed: no restart needed, client-HMR hot-reloads the plugin (requires the host-side watch chain to be active; otherwise refresh the page);index.js (host half) changed: dsh restart required;add .: git pull, then restart dsh;github:: re-run the install command with a new #ref to upgrade;DSH web GUI 客户端插件:侧栏底部多一个「MD 预览」按钮,点开是一个浮动预览窗口,可直接浏览、渲染并编辑保存 Markdown 文件。
.md 文件,点击进入 / 点击文件打开,.. 回上级;Ctrl/Cmd+S 写回磁盘;有未保存修改时标题栏显示「保存 ●」,切换文件 / 关窗前会弹确认;<video> 铺底循环静音播放,仅当前页面会话有效);localStorage,可「恢复主题默认」一键还原;sessionStorage);/md-preview 前缀路由;read/list 仅 GET/HEAD,write 仅 POST;.md / .markdown / .mdown 扩展名,且内容 ≤ 2MB;write 请求体 ≤ 3MB;| 文件 | 作用 |
|---|---|
package.json |
包描述 + dsh.bundle(安装层声明)+ dsh.client(浏览器半边发现机制) |
cordis.patch.yml |
组合包补丁层:由 dsh plugin add 激活,注册 md-preview Loader 行 |
index.js |
宿主半边(node):/md-preview/read、/md-preview/list、/md-preview/write 路由 |
client.js |
浏览器半边(classic script bundle,无需构建) |
用 Node.js 安装官方运行时:
npx @deepseek-ai/dsh web
把本插件装进 profile(生态标准写法):
dsh plugin --profile web add "github:anitman/dsh-plugin-md-preview#main"
#<ref> 后缀可选分支、tag 或 commit:#main 跟随默认分支;锁 #<sha> 或 release tag 可让安装内容不可变;省略则跟随仓库默认分支。
dsh plugin 把包操作转发给 pnpm,因此 npm、Git/GitHub、本地路径、file: 与 link: 包规范都支持——例如从本地 clone 安装:
dsh plugin --profile web add .
声明了 dsh.bundle.patch 的包才会成为激活的 profile 层;本包已声明,dsh plugin add 一步完成链接与补丁层激活。纯 JS 无构建脚本,git 安装不需要 allowBuilds 授权。
安装或更新后重启 dsh --profile web:GUI 左侧栏底部(设置按钮上方)会出现文档图标按钮;管理入口在设置 → 插件。
dsh plugin --profile web remove dsh-plugin-md-preview
同时移除依赖和补丁层,重启 dsh 生效。
~/.dsh/profiles/web/node_modules/ 下创建指向本目录的符号链接 dsh-plugin-md-preview(失败则直接拷贝本目录);~/.dsh/profiles/web/package.json 的 dependencies 加:"dsh-plugin-md-preview": "file:<本机此仓库的绝对路径>";~/.dsh/profiles/web/cordis.patch.yml 顶层数组追加:- insert:
- id: md-preview
name: "dsh-plugin-md-preview"
client.js:无需重启,client-HMR 会自动热重载插件(需要宿主侧 watch 链生效;否则刷新页面);index.js(宿主半边):必须重启 dsh;add . 安装的:git pull 后重启 dsh;github: 安装的:用新的 #ref 重新执行安装命令升级;CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。