插件
浏览、筛选并安装 DeepSeek-Harness 插件。
共 497 个插件
dsh-moss-draw (plugin)
boltblue121/dsh-moss-draw
给 Agent 增加 7 个 art_* 工具和一个右侧栏绘图工作台(系列、页、修订、区域、相机体块),把工作流提交到你自建的 ComfyUI:MOSS/K2 文生图、局部重绘、角色参考、区域编辑与 Qwen 图像编辑,单次请求可叠加最多 4 个自备 LoRA。需要本机仓库执行一次适配:市场安装后运行 `install/adapt.mjs`(Windows 可用 `install/install.ps1`)把 `__MOSS_*__` 占位符替换为绝对的 `workspaceRoot` 与 ComfyUI 地址,否则 Host 会以 `MOSS_CONFIG_*` 拒绝加载预设。
dsh-obsidian-memory
aoyamabf-max/dsh-obsidian-memory
把 agent 的长期记忆存成 Obsidian vault 里的普通 Markdown 笔记——每条记忆是一个带 YAML frontmatter 的 .md 文件,Obsidian 原生索引,可以直接读、改、链接和备份,不锁在数据库里。提供左侧栏面板(按标签筛选、按时间或重要度排序、就地编辑)、7 个 agent 工具、三档 token 预算的召回、BM25 排序(无需 embedding、无需 API key、离线可用、支持中文二元分词)、重要度衰减与归档(只移到 .archive/ 从不删除),以及可选的 GitHub Contents API 同步。含敏感串的记忆会被拒绝推送而不是打码,因为打码后的记忆读起来像完整的、实际关键信息已经丢了。零运行时依赖,依赖全部来自 DSH 宿主。
dsh-session-monitor
rukawa15/dsh-session-monitor
只读的本机 DSH 会话监视器:实时任务看板、会话事件尾随、阻塞等待回复、Markdown 导出,可选配合 dsh-im 推送 IM。需要 Python 3 与 zstandard 库;IM 推送需另装 dsh-im。
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)—— 端口通了不等于能出字,它和「拉起后等端口(秒)」是两个不同的旋钮。顺带:面板提示里那句绑定某一个具体模型的举例去掉了,不是每台机器都下了那个模型,说明改成讲机制。0.4.8 起「一键配置」一个普通 .gguf 不再注册出不相干的 Ollama 模型。端口这一栏原来跟着上一次点击走而不是跟着文件走:选中 Ollama 的条目会把端口挪到 11434,选中普通 .gguf 时却不挪回来,于是一次先前点击留下的 11434 就一直留着。服务端照单全收,去探那个端口,发现 Ollama 在应答就直接借了它(日志里那句「端口本来就在应答,跳过拉起」就是这条路径),接着按文件名拼出来的模型 id 在 Ollama 的 /v1/models 里对不上,而兜底是抓列表里的第一个 —— embedding 模型往往排在第一位,于是注册出了一个用户从没点过的模型。现在端口跟着文件走:普通 .gguf 落在别的引擎的端口上(ollama 11434、vLLM 8000、LM Studio 1234)就改到 8090 并在面板里说明一句;只改「已知引擎的端口」,自己手填 9999 指向另一台 llama-server 的情况一概不动。模型 id 的兜底也不再瞎猜:只有一个条目时才取它(单模型后端报的 id 本来就可能和文件名不同),有多个而对不上就报错并列出实际看到的 id,而不是注册出一个错的 provider。
dsh-maid-atelier-tod
0xyxy/dsh-maid-atelier-tod
以 bundle 形式挂载的女仆工坊皮肤补丁:窗景按本机时间在破晓、黎明、早中、傍晚、晚上、深夜六档连续插值,立绘自带呼吸、重心移动、浮动与眨眼,可选裙摆与长发位移场;对已安装的皮肤生效,卸载即从 client.js.orig 还原。
dsh-resource-monitor
xiaoluomin/dsh-resource-monitor
DSH 侧栏的 Windows 资源监控:每 60 秒采集 CPU、内存与主频,保留 30 天历史,CPU 与内存各一张 24 小时 / 7 天独立曲线(带 85% / 90% 告警线),另有一张频率曲线标注有负载时的降频,并判定 CPU 持续 ≥ 85%(10 分钟)、内存持续 ≥ 90%(10 分钟)、有负载时频率 ≤ 最高频率 70%(5 分钟)三类异常。
dsh-chat-search
p-ppj/dsh-chat-search
在当前对话里用 Ctrl+F 查找文字:命中处在正文中高亮,上一个/下一个逐个跳转,点计数可列出命中位置并直接跳过去,计数随扫描逐步增长;不展开任何折叠块,也不改变阅读位置。
dsh-mermaid
jakehemmerle/dsh-mermaid
在 DSH Web 对话里把 mermaid 代码块渲染成图:每个代码块头部有切换按钮,可在图与源码之间切换;仍在流式输出的块保持源码,等消息结束后再渲染;首次显示图时才懒加载 mermaid;终端 UI 不受影响。
dsh-grok-buddy
devzer0o0/dsh-grok-buddy
把 Grok Bot 本人那张脸装进 DSH 侧栏会话列表:每行的状态圆点变成会动的 GrokBot 头像,六种动作分别对应空闲、处理中、等待、已阻止、思考与完成——颜色标记项目,动作标记状态。
delivery-video-plugin
lumos-789/delivery-video-plugin
把真实运行的功能做成可信交付演示视频,或把缺陷做成可追溯的问题反馈视频:真实录屏、edge-tts 旁白与逐字对齐字幕、自包含 ffmpeg 管线,配一道拒绝放过造假或残次演示的确定性质量闸(规格、音轨、响度、黑帧/冻结/静音扫描),含渲染前预检与成片证据核验。反馈模式带严重级别/阶段徽标、复现步骤浮层,以及按成片 SHA256 绑定的工单级问题报告。需 Python 3.9+、PATH 上的 ffmpeg/ffprobe,以及 `pip install edge-tts Pillow`;旁白会调用 edge-tts 公共接口。
dsh-quote-selection
tsutsutsuu/dsh-quote-selection
在对话里框选文字后右键引用:引用以原子标签进入输入框,发送后显示为可折叠的引用卡;模型拿到的始终是带消息角色、轮次、段落与字符区间的完整引用块。
dsh-smooth-stream
0-chenai/dsh-smooth-stream
为 DeepSeek Harness 回复提供流畅的流式渲染与平滑滚动,支持 Markdown、代码块、表格及工具结果。
dsh-deepseek-peak-clock
esketids/dsh-deepseek-peak-clock
在 DeepSeek Harness 输入框 HUD 中显示 DeepSeek 高峰/低谷价格时段的时钟。
dsh-brain-kit
xieddenv/dsh-brain-kit
给 AI 编程戴上安全帽:L0 到 L2 分级拦截,把越权操作关进笼子——权限不够就不落盘,改给你一段可直接粘贴的替换稿;路径过两道闸,junction 逃逸也拦得住。
dsh-loose-review
ifiander/dsh-loose-review
破坏性 shell 命令执行前由模型判断会不会造成不可逆破坏,判定会破坏时询问或拦下;命令运行中删除文件过多时中止。
dsh-accelerator
lll-lyh0/dsh-accelerator
在 Windows 上从 DSH 内部修复被 SNI 阻断的域名,不依赖任何自建服务器。
dsh-event-gate
willmylife/dsh-event-gate
事件驱动触发器插件(dsh-proactive 闹钟旁的门铃):递归目录监视按规则防抖合并并支持 glob 过滤,本机回环 webhook 端点按规则 token 鉴权;规则命中后经宿主 agents 服务唤醒目标会话(活会话直接投递,冷会话先恢复再投递),并注入渲染后的 prompt(支持 paths、count、payload 模板变量)。规则文件保存即热更新,无需重启 DSH;每次触发追加 JSONL 审计历史,可通过 trigger_list / trigger_history 工具查询;另提供回环 health 路由报告安装与运行状态。典型用途:下载目录自动整理、CI/监控报警自动诊断、日志错误自动定位。纯 JS 免构建,MIT。
dsh-approval-preflight
making-acid/dsh-approval-preflight
先交计算图、逐节点批准的权限预检:节点写清这件事的本质(下载什么到哪里、写什么、删什么),用户按节点批准,一次批准只对一次成功执行生效;未申报的操作仍走原生审批卡;节点被未答复的审批卡住时会自动挂起,先做不依赖它的工作;节点内实际跑过什么留有审计痕迹。
my-fullstack-journey (align-mode)
778672151/my-fullstack-journey
交付对齐模式:AI 通过 align_deliver 工具一次只交付一块,每块直接落盘、你可以就地在文件里改,AI 重读你的版本后再继续;方向错了可带时间戳备份安全返工。
dsh-skill-triage
douchu004/dsh-skill-triage
触发词命中后先检索本机已安装的 skill,要求对每个候选登记使用或弃用的理由,并拦住其它工具直到选定的 skill 全部加载。
dsh-window-size-lock
koewen/dsh-window-size-lock
仅限 Windows(用 koffi 绑定 user32.dll,macOS/Linux 上不生效)。记住 DeepSeek Harness 主窗口的尺寸与位置:启动时恢复上次的位置和大小,并在宽限期内反复断言以压过默认布局;手动移动或调整窗口后自动保存为新锁定;最小化/最大化/全屏状态不会被记录;DSH 自行放置的默认矩形永远不会被采纳,应用自身的布局重置无法污染锁定;更换显示器时自动防屏外。兼容 DSH 0.2.1-rc.3+。
dsh-api-contract
jojo-adam/dsh-api-contract
DeepSeek Harness 的 API 契约工作室:开工前先定七件事、写/审 OpenAPI、按「客户端具体坏在哪」分类破坏性变更,再定错误结构、版本与弃用——六本手册加一个路由。
sleep-not-permitted
jjjacksong/sleep-not-permitted
禁止 Agent 前台等待:sleep / wait / tail -f / watch / ping 等等待型命令、wait_agent 与 job_output(wait) 等阻塞等待工具,用反复 check 代替等待的轮询(同一条命令在窗口内重复出现),以及需要人输入/确认的命令(sudo 不加 -n、ssh 不开 BatchMode、登录流程、交互式编辑器、docker -it)都会被拒绝,并给出改用后台作业或结束本轮等唤醒的可执行指令;等待预算与轮询窗口可配、文案跟随系统语言(中/英)、零运行时依赖。
dsh-qqnt-chat-export
ariyflow/dsh-qqnt-chat-export
读取 Windows / Linux 本机 NTQQ(QQ 9.9.x)消息库,把群聊与私聊的聊天记录导出成 txt、csv、json、md、html 或 sqlite。包含十六个模型工具:qqnt_status 与 qqnt_doctor(环境体检与排障)、qqnt_extract_key、qqnt_index(建立或查看侧车索引)、qqnt_list_groups、qqnt_list_chats、qqnt_search、qqnt_stats(总量与月度统计)、qqnt_export_group、qqnt_export_chat、qqnt_export_batch(可以直接用用户说的名字指代会话,重名时不猜、返回候选)、qqnt_jobs(截图识别 / 语音转写 / 分块与嵌入 / 下载模型)、qqnt_media(取一个会话已下载的图片)、qqnt_storage(磁盘占用与白名单清理),以及做检索问答与时间线回顾的 qqnt_ask、qqnt_recall。127.0.0.1:46728 上的本地网页界面有六个视图:会话、导出、统计、问答、设置、模型与组件,另有任务面板、窄屏单栏布局、昵称 / QQ 脱敏、媒体打包、按天分文件、导出预设与 AES-256 密码压缩包;OCR、语音与嵌入组件按需装进插件自己的虚拟环境。需要带 sqlcipher3 的 python3(设置页可一键创建独立虚拟环境),数据库密钥从正在登录的 QQ 客户端内存中读取。