跳过主要内容

插件

浏览、筛选并安装 DeepSeek-Harness 插件。

共 276 个插件

W

dsh-plugin-mail-triage

wth373737/dsh-plugin-mail-triage

IMAP 邮件分拣与清理:增量只读扫描,先过硬保护规则层、再走可选的本地模型分类,产出报告与带哈希的清单,人工批准后才移动到回收站——全程不 expunge。

0前天工具与能力MIT
O

dsh-port-map

ozanstn1-stack/dsh-port-map

只读的 Linux 端口、服务与 Caddy 路由地图:监听套接字及其所属 unit 或容器、反向服务视图,以及 reverse_proxy 存活检查。需要 iproute2(ss),docker 与 Caddyfile 可选。

04天前工具与能力MIT
L

dsh-mail

lucagiftzek/dsh-mail

DSH 的邮件客户端:接入 IMAP、POP3、SMTP 与 OAuth2 账号,提供侧栏阅读标签页、API 发信、定时与 CSV 批量发信(含退订处理),以及 mail_* agent 工具。阅读标签页需配合 dsh-better-sidebar,未装时 agent 工具仍可用。

04天前工具与能力MIT
L

dsh-local-trim

leonlee114514/dsh-local-trim

给小本地模型的一步到位接入 + 轻量 harness。装载时自动探测回环与私有网段上的推理端点(llama.cpp、Ollama、vLLM、LM Studio),从后端读出每个模型的窗口与输出预算,再经 settings 注册 provider —— 不用手写配置就能在模型选择器里选到本地模型。随后只对这一个 provider 裁剪:用 tools.restrict 收缩工具面、按段名丢弃系统提示词段落与记忆 context、把注入的指令块换成一页纸同时保留其首 80 与末 96 字符、截断工具 schema 的 description 而不动结构与 required。云端 provider 原样返回同一个 assembly 对象,不做任何改动。注入正文每次装配都重新读盘,改文件下一次请求就生效,不用重载。插件详情页的面板是一块实时运行视图:显示接管是否生效、走的是哪个钩子,最近一次装配的字符进→出与省下的比例,以及各 provider 的在线灯(多路并发点灯,每个本地 provider 还能发一次真实的最小请求,把延迟与回复原文报出来)。本地后端没起来时,面板能一键拉起:先探测端口(已在应答就不重复启动),再按端口拉起对应后端(ollama serve,或你自己填的启动命令),进程独立于宿主存活,随后轮询到端口应答为止,等待上限夹在 3–600 秒,超时会把刚起的那个进程回收掉不留孤儿,找不到可执行文件时会把搜过的路径写清楚。面板上还有停止按钮,只肯停本插件自己起的后端(先 SIGTERM,1.5 秒不退再 SIGKILL),别人的服务一概不动。模型刚下好、后端还不存在时,面板能扫描本机 .gguf(跳过 .mmproj. 视觉投影、按大小降序,并带 300 个模型 / 20000 个目录项 / Downloads 只扫一层这三道上限),选一个就用它拉起 llama-server(端口上已有服务就复用),按后端自报的模型 id 注册 provider,再发一条真实请求证明能用。真正起之前会做一次装得下算账:只算显存装不下的那部分(hostBytes = 文件体积 − 显存),拿它比 max(总内存 − 2GB, 空闲内存)。文件比「显存 + 内存」还大直接拦;落到宿主的内存太多时先不替你起,要你确认;同样的情况若走 mmap 只给警告,因为权重落在可回收的页缓存里。加载方式下拉(auto / mmap / none / mlock / mmap+mlock)对应 llama.cpp 的 --load-mode,默认交给引擎自己决定。0.4.2 起上面每一条都改成按平台推导,而不是假设本机长什么样:家目录与数据目录走 os.homedir() 和各系统惯例(Windows 用 LOCALAPPDATA,macOS 用 ~/Library/Application Support,其它用 XDG_DATA_HOME);后端二进制按各系统官方安装位置找,也可以用 OLLAMA_BIN / LLAMA_SERVER_BIN / VLLM_BIN / LMSTUDIO_BIN 钉死;找模型依次走 DSH_LOCAL_MODELS_DIR、~/models、~/llama.cpp/models、~/.cache/llama.cpp 与 LM Studio 数据目录,WorkBuddy 的布局降级成其中一个候选。显存先问 nvidia-smi,再问 rocm-smi,Apple Silicon 上问 sysctl hw.memsize 并标成统一内存(同一块字节不重复扣两次)。拼命令行之前会跑一次 llama-server --help,只保留这个 build 真有的参数 —— 老引擎给 --n-gpu-layers 99 且不下发 KV 量化,新引擎给 auto 加 q8_0;探测不出来的参数一律照传,不因为探不到就丢掉。LM Studio 用 lms server start --port N 起,不再和「必须先给模型参数」的引擎混在一起;vLLM 单独给 --model 的示例,不再套 llama.cpp 的写法。Windows、macOS、Linux 三套都在 CI 里跑,另加 windows-latest 与 macos-latest 两个 job —— 只在一个系统上跑过的「跨平台」不算跨平台。其中两套专门用来抓这台开发机的盲区:一套把 process.platform 改掉、整套测试按各系统重跑;另一套把开发机的所有有利条件全删掉(没有 nvidia-smi、没有 rocm-smi、没有 sysctl、PATH 是空的、家目录里没有模型),要求优雅退化而不是崩。后一套抓到过真实的一类 bug:好几处断言写死了 lms.exe,在可执行文件不带后缀的系统上根本不可能过。参考机实测:16.9GB 的 27.2B MoE 配 14.5GB 显存,进程工作集只有 285–691MB,预热 1000–2000 token 后稳定 76 tok/s —— 光看文件大小判断装不装得下是错的。0.4.3 起扫出来的模型是一张表而不是下拉框(每个 gguf 一行,带体积和偏大提示),选之前能看清磁盘上到底有什么。0.4.4 起 provider 表上的删除键删的是这条 provider 配置,不是磁盘上的权重文件。这个区别很重要:真正想清掉的是那种僵尸条目 —— 指向一个从没应答过的端口、同一个端口注册了两遍、或者模型文件早就删了还留着的那几条,而不是一个 15.8GB 的 gguf。删配置随时可以重新导入,删 gguf 不行。删除走settings.mutate 的 unset,路径是 \['providers', id]:不能用 update,因为 update 是合并层,往那儿写null 只会留下一个 null 的 provider 键,loader 会当成配置坏了而不是「没有这一条」;只有 mutate 的unset 内部是 Reflect.deleteProperty。删完会回读一次,因为对「来自下层(profile 的 cordis.patch.yml或 home patch)的键」做 unset 不是删除而是恢复继承值 —— 调用成功但条目还在。条目还在时面板会直说,并把该改哪个文件指出来,不谎报成功;settings 服务太老没有 mutate() 的版本也会明说,而不是默默忽略。删除要点两次,点别的行就撤回确认;删成功会清掉在线缓存与 baseURL 缓存并重算工具面,因为 provider列表变了。gguf 本身插件一个字节都不动 —— 扫描出来的那张表只用来展示和选中。且显存能不能读到取决于驱动。0.4.5 起模型扫描也读 Ollama 自己的存储:它的 blob 叫 sha256-… 、没有后缀,光按扩展名永远列不出来。现在认权重看后缀或文件头 GGUF 魔数(只开「无点号且 ≥8MB」的文件,一趟最多读 600 次魔数;.json/.md/.safetensors/.part 这类明显不是权重的后缀一次都不开)。Ollama 的模型从 manifest 还原:只取 mediaType 为 application/vnd.ollama.image.model 的层(mmproj/adapter 层不算主模型),人话名从 manifest 路径还原(…/qwen3/8b → qwen3:8b,latest 不加冒号),同一份 blob 被多个 tag 引用时合并成一行,metadata 的 kv 给出名称、量化和 context 上限。对 Ollama 的模型点「一键配置」不会再拿同一份权重重复起一份 llama-server:它确认 11434 上的 ollama 在应答(不在就 ollama serve),并按端点自己报的 tag 注册 provider —— 11434 上报的是 qwen3:14b,拿 blob 的 sha256 名永远匹配不上。顺带修掉两个只有真机才暴露的坑:Windows 上 existsSync('<文件>/') 返回 true,manifest 与目录的分岔改成按内容判定,不再依赖尾斜杠语义;量化标签表照搬了旧一代 ggml 枚举,把 ggml_type 15 标成 Q5_K_S,而 ollama show 实测报 Q4_K_M,整表按真实序号重写。同一份文件的去重按 (dev,ino),谁有名字留谁。参考机实测:扫描从 1 行变 4 行 —— qwen3:14b(8.64G)与 qwen3:8b(4.87G)带着 Q4_K_M 徽标出现 —— 耗时 4ms;npm run verify 退出码 0(launcher 57 项、portable 35 项、panel-host 含 linux/darwin 模拟平台两套全绿);panel-host 新增的用法在 tmpdir 里现造一份迷你 Ollama 存储再把 OLLAMA_MODELS 指过去,测试结果不再取决于跑测试的机器装没装 ollama。0.4.6 起面板显示的是模型自己的真名,不再是文件名:有些下载工具会把任何权重都落成同一个通用文件名,真名只写在 GGUF 头部里。扫描会读每个文件的 GGUF KV 区 —— 不是先读一段固定大小的头部,因为 tokenizer.ggml.tokens(大 MoE 模型动辄几十万条字符串)和 chat_template 会把 general.file_type 挤出任何窗口;而且 GGUF 的字符串数组是交错存储(每条 u64 长度加载荷),把它当长度表读会让游标跑偏、算出天文数字的读取量。读与走位分开记账:键名与类型必读,超过 256KB 的字符串值和字符串数组只走位不复制,非字符串数组超过 64 个元素直接跳过,游标越过文件末尾立刻停 —— 越界说明游标错了,不是该把上限调大。显示名依次取 Ollama 的 tag、general.basename 加 size_label、general.name、文件名,整串留在悬停里因为常带内部编号;视觉投影文件现在也靠 general.type 认,不只看文件名。短读(文件被截断)不再把半截字节喂给解析器。参考机实测:读一个文件的头部解析出 44 个键耗时约 16ms,整趟扫描约 31ms。0.4.7 起「试跑」不再出现「第一次失败、第二次成功」。老代码让两轮请求共用一个 AbortController 和一个 30 秒定时器,也就是两轮加起来只有 30 秒:大模型的冷加载第一轮就烧完它,abort 之后 signal 永久处于已中止状态,第二轮(换成 Ollama 认的 reasoning_effort: none 再试一次)连请求都发不出去 —— 这正是第一次点报 This operation was aborted、第二次却能成功的原因。现在每轮各自一个 controller 和定时器;超时自动再来一轮(retryOnTimeout 默认开),因为第一次请求超时几乎总是「权重还在读盘」;非超时错误(连不上、HTTP 报错)完全不重试。超时也会自己说清楚:文案里写明超过了多少秒、是否已自动重试,并指向新增的「试跑超时(秒)」配置项(默认 60,可设 5-600)—— 端口通了不等于能出字,它和「拉起后等端口(秒)」是两个不同的旋钮。顺带:面板提示里那句绑定某一个具体模型的举例去掉了,不是每台机器都下了那个模型,说明改成讲机制。

017小时前模型与账号接入MIT
Z

dsh-token-usage

zhangyongshuai56-hub/dsh-token-usage

DeepSeek Harness 的 Token 用量面板:按模型统计每日消耗,含趋势图、日历热力图与表格视图。

05天前用量与计费MIT
Y

dsh-plugin-token-burned

yuna78/dsh-plugin-token-burned

DSH 的悬浮 Token 燃烧指数 Dock:汇总全部 session 的 provider usage。收起时是一枚胶囊,显示实时燃烧速率(含 token/s 单位)、内嵌近 60 秒速率曲线和今日总 Token;展开后是完整面板,含大号实时速率 Hero、按模型 / 按小时两种粒度、带真实左侧纵轴的柱状图,以及按真实星期对齐的近 30 天热力图。火焰是 16 帧程序生成的序列帧动画,只在真的有 Token 在烧时播放、速率为 0 时熄灭;日 / 小时分桶按浏览器时区(客户端把 UTC 偏移传给 Host),31 天记录先加载再原子落盘,重启不会再把历史覆盖清空。

04天前用量与计费MIT
L

dsh-mobile-keys

liujuntao123/dsh-mobile-keys

为 DSH Web 输入框增加「移动端热键模式」:自动检测移动/触控设备后切换为 Ctrl+Enter 发送、裸 Enter 换行,桌面键位保持不变,并提供设置面板开关、/mobilekeys 命令与 window.__dshMobileKeys 控制台 API。

03天前UI 增强MIT
A

dsh-claude-effort-slider

ariakage/dsh-claude-effort-slider

把 composer 的 Effort 切换换成 Claude Desktop 风格的五档滑块(Low/Medium/High/Max/Ultracode):药丸打开 composer 上方的弹层,拖动带弹簧吸附、松手只写一次,Ultracode 映射到模型的最大推理强度。含 Ultracode 的 WebGL2 能量网格、按会话记录的 Ultracode 模式,修饰键 + 点击仍走官方等级列表。

04天前UI 增强
G

dsh-enter-remap

goose-gusi/dsh-enter-remap

重映射 DSH 输入框的 Enter、Ctrl+Enter、Shift+Enter,使换行及两种原生发送行为各占一键;可在设置中自定义。

014天前UI 增强MIT
Q

dsh-session-map

qian-dsh/dsh-session-map

在 DSH 对话视图添加可拖动、缩放的放射状会话树地图,显示对话分支关系,点击节点即可切换。

013天前会话与消息MIT
Z

dsh-tavily

zx06/dsh-tavily

DSH Tavily 搜索:ctx.web provider 及 search/extract/crawl/map/research 工具;在插件详情页配置。

07天前工具与能力MIT
L

dsh-profile-stats

lovenndme/dsh-profile-stats

DSH 侧栏的个人用量主页:五个核心数字(累计 Token、今日 Token、最长任务用时、最长/当前连续活跃天数)、近 12 个月活动热力图(每天/每周/累计总量三档)、把每个 Token 拆成「缓存命中 / 未缓存输入 / 输出」的分段占比条 Cache Lens(可放大查看未缓存内部构成)、按模型家族(版本 + 档位,自动归并不同供应商写法与无版本别名)堆叠的时间柱状图,以及按供应商的今日/累计分类。页面级时间范围(全部/今日/7 天/30 天)驱动上述用量数字。全部由本机会话日志经 ctx.sessionQuery 折叠而来;唯一的外发请求是每 6 小时读一次本包自己在 npm 上的版本号(供面板内的更新按钮使用),不上报数据、不碰凭据。

022小时前用量与计费MIT
A

dsh-mishu

aicivilization/dsh-mishu

DSH 小秘书:每 15 分钟按当前状态分诊 GitHub 未读通知(已解决的替你关掉),记住你交代的到期事项(账单、续费、证件、生日)到时提醒,只读盯着邮箱收件箱;密码只进系统钥匙串。

014天前集成与远程MIT
J

dsh-workflow-map

joz739/dsh-workflow-map

DeepSeek Harness 分步工作流地图:把会话折叠成一条分步列表,给每个进度百分比标注来源而不是只报一个数,并支持把提示词排入下一步队列、被取用前可撤回。

03天前工作流与自动化MIT
N

call-map

nicegsp/call-map

在会话中新增一个视图,用归因树展示本会话实际调用了哪些技能、MCP 工具与子代理,并附调用明细与未使用清单。

09天前UI 增强MIT
K

dsh-plugins

kiritoking/dsh-plugins

为中断的 DSH 对话提供原生继续按钮及可重映射快捷键。

024天前UI 增强MIT
C

dsh-codeeek

cyrusgogogo/dsh-codeeek

只读代码阅读工作台,支持多仓库项目、源码关联笔记、代码地图与 Mermaid 图表。

012天前开发与插件工具MIT
D

dsh-mask-pixel-lock

dingchenhui0618-arch/dsh-mask-pixel-lock

证明一次局部改图没有动蒙版外的像素。输入原图、生成图和蒙版三张 PNG,输出可 grep 的 `MASK_PIXEL_LOCK=PASS|FAIL|EMPTY` 结论、差异热力图、逐通道统计、差异包围盒与最大差异像素,并生成自包含 HTML 报告和 `report.json`;后者包含文件 SHA-256、规范化受保护像素摘要,以及把两者与判定策略绑定在一起的证明摘要。支持 edit / lock 两种蒙版语义、蒙版阈值、容差与忽略 alpha;PNG 覆盖颜色类型 0/2/3/4/6、位深 1-16、五种过滤器和 Adam7。零依赖、纯本地:不调模型、不联网、不上传。

09天前视觉、语音与多模态MIT
D

dsh-token-workbench

dragonestdwolf/dsh-token-workbench

给 token plan 用户的 Token 用量工作台:把会话日志里的 assistant/message usage 折成按天分片的调用级明细(按跨会话 responseId 去重,fork/resume 复制的历史只算一次),并按你填写的套餐口径把本机用量换算成积分(默认 1M token = 0.2 积分,日 600 / 周 2500 / 月 6000,可只统计指定通道),在输入框下方给常驻读数、在设置页给分通道成本表、7/30 天柱状与折线趋势、近半年热力图。不读取任何凭据:厂商藏在控制面接口里的剩余百分比,用明确标注「本机换算」的本地口径替代;参考金额来自公开的 DeepSeek 定价页。

010天前用量与计费MIT
P

dsh-tokstats

plusqi/dsh-tokstats

可能有用的 DSH token 用量插件,跨会话统计 token 都花在哪儿了:用量总览四项指标、上下文长度分布、近 12 周热力图与按周趋势,工作区与模型排行;另附有发送前 token 预告和输入草稿优化功能。

03天前用量与计费MIT
D

dsh-im-union

drscrewdriver/dsh-im-union

DSH 的 IM 联合桥:整合社区同类插件(xmanrui/dsh-im、MichengAI/dsh-im-connect)能力合集的独立实现——用 12 个平台的 15 个渠道适配器(含邮件;企微/钉钉/QQ 各含机器人与自建应用或推送两档)驱动宿主会话——微信(官方 iLink 扫码绑定)、飞书(长连接+流式卡片,语音档需系统 ffmpeg)、Telegram、Discord、企微智能机器人与自建应用(回调验签)、钉钉(stream+AI Card 与自定义机器人推送)、QQ 官方机器人(另含推送档)、Slack(Socket Mode)、WhatsApp(Baileys 扫码,依赖以插件包 optionalDependencies 随包分发)、Matrix、iMessage(仅 macOS)、邮件(IMAP/SMTP 线程路由)。跨版本窄腰在 0.1.2-rc.1→0.2.1-rc.2 宿主间(12 tag 枚举,rc.2 已按桌面 profile 装机双回读实证)以能力探测自适配设置面 gen1/gen2/gen3(禁版本号分支);IM 内 25 命令面板、工具审批与交互提问原聊天闭环(默认拒绝、发起者限定、5 分钟超时)、图片/文件输入(宿主元数据判视觉)、产物文件回传、投递日志限额补发(结果不明绝不重发)、主动投递与碎片续写;原生侧栏「任务/频道」两页签自持分离(检测到该槽位已被其它插件接管则完全不插手)、im-concise 智能体预设配合出站净化把 GenUI 围栏与裸 HTML 等富结构挡在纯文字聊天之外、svg 围栏自动渲染为 PNG 图片发送、模型白名单护栏、/relay 把每回合最终回答镜像到通知渠道(按账号 ID 或别名绑定,歧义不猜)。secret 单向入凭据库,永不回显。npm 包名:`dsh-im-union`。

08天前集成与远程
H

dsh-sync

huangfuren/dsh-sync

把整台机器的 dsh 搬到另一台并逐条核对。三层一起走:声明层(设置、凭据、插件声明与 link: 插件源码)、状态层(会话、storages、skills、附件),以及可选的工作区项目代码。会话只改写 zstd 首帧,工作区路径按显式映射改写,最后核对 14 项检查(I1–I13,另含 I6b)并给出 PASS / FAIL / WARN。另可局域网配对直传;merge 模式把 bundle 与「已经在用的机器」逐项比对,分歧未决议就停在写盘之前。

011天前开发与插件工具MIT
K

dsh-skill-map

kissfirembx/dsh-skill-map

在右侧栏用一个或多个「工作区」给已加载的 skill 分类:每个工作区有自己的分类表和每个 skill 的归属,分类可就地新建、改名、排序、删除,skill 可拖动或用选择器改归位;首次使用可以让这个 profile 的模型从零分一版,也可以先自己建分类再让模型按分类分配。点击行复制 /skill-name,悬停展开 skill 自带的描述。

019天前技能包MIT
H

dsh-open-with

hildebrandyu/dsh-open-with

讓 DSH 擁有自己的「副檔名 → 開啟 app」規則:卡片、側邊預覽與變更審查用你指定的 app 開啟, 而 macOS 的 Finder 雙擊預設不受影響。規則在設定頁編輯、存於 ~/.dsh/open-with.json; 「顯示文件位置」仍走 Finder。

08天前工具与能力MIT