跳过主要内容

插件

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

共 140 个插件

B

dsh-plugin-webrelay

baisbt/dsh-plugin-webrelay

通过同源反向代理把外部 AI 对话站点嵌进 DSH 右侧面板(DOM 适配器写在配置里,站点改版无需改代码),并在输入框旁加一个按钮:要么用宿主模型改写草稿,要么跑一轮闭环——压缩对话、优化、发送到嵌入站点、捕获回复、整理成终稿写回输入框。

32个月前工具与能力MIT
F

dsh-llm-longcat

ffyuuu/dsh-llm-longcat

LongCat-2.0 模型适配器:100 万上下文、二元思考模式、工具调用,基于 OpenAI 兼容接口的流式输出。

33个月前模型与账号接入MIT
T

dsh-mobile

tecfancy/dsh-mobile

DSH Web 移动端适配插件:侧边栏/详情抽屉浮层化、输入栏与设置页响应式适配,桌面零回归。

32个月前UI 增强MIT
O

dsh-gpt-adapter

oh-dsh-plugins/dsh-gpt-adapter

为 DeepSeek Harness 接入 GPT 模型,复用 Codex 指令、技能、插件资源和 MCP 配置。

2昨天MCP 与连接器MIT
K

dsh-llm-adapters

k1-h2/dsh-llm-adapters

为 Loomy、商汤小浣熊及 Trae 提供 DSH 适配。前两者微信扫码,Trae 专窗登录或复用已登录的本机客户端进行国内版签到。

27天前模型与账号接入MIT
T

dsh-model-visibility

tzyceng/dsh-model-visibility

管理哪些模型出现在输入框的模型菜单里。设置页按 Provider 列出模型,支持逐模型开关、渠道级批量显隐、整组折叠和按类型筛选;关闭的模型从菜单中消失,当前会话正在使用的模型保留。还能按名称 / ID 搜索,按能力(多模态、支持推理)和上下文下限(128K / 256K / 512K / 1M)过滤。每行标注模型类型,对话模型另外标注是否支持推理、适配器公布的思考强度档位、上下文窗口和输入模态。标签按优先级合并手动覆盖、设置文档、适配器、中转站 GET /models 响应、内置 pi-ai / models.dev 目录、模型名推断和厂商校正,悬停显示来源,虚线边框表示推断值。任意模型都可以手动指定类型、上下文窗口、输入模态和思考强度档位;这些覆盖不写 profile 补丁,并且可以写回模型提供商的设置。工具栏的「重新获取能力」会让全部缓存作废并重新询问适配器与所有中转站。一个默认开启的开关让声明纯文本输入的中转站模型真正能接收图片,只在内存里生效,不改配置文件。隐藏列表保存在 profile patch 中,并镜像到 $DSH_HOME。

2前天UI 增强MIT
G

dsh-connect-cursor

greatyao/dsh-connect-cursor

把本机已登录的 Cursor 桌面应用接入 dsh,原生 LlmAdapter 直连:从 state.vscdb 或 auth.json 读登录态,驱动 agent.v1.AgentService/Run 的 HTTP/2 双向流,把 InteractionUpdate 增量翻成 dsh StreamChunk,不走 loopback 代理。支持 macOS / Windows / Linux。

222天前模型与账号接入MIT
I

dsh-desktop-glass

inmessionante19/dsh-desktop-glass

为 Windows 11 版 DeepSeek Harness 提供可切换的原生毛玻璃与完全透明背景,实时显示 Wallpaper Engine 壁纸;需先手动安装一次桌面原生适配;需 Node 20+。

224天前主题与外观MIT
W

dsh-antigravity

wisexin/dsh-antigravity

Google Antigravity 与 Cloud Code Assist 模型提供方插件,支持 Gemini 3.8 Flash、沙箱端点容灾与多账号配额管理。

226天前模型与账号接入MIT
1

dsh-plugin-ide-hub

121212165/dsh-plugin-ide-hub

一个入口管住所有编码 IDE(dsh/Claude Code/Codex/ZCode/Qoder/CatPaw/Trae/OpenCode):零 API 读各自磁盘状态,出会话盘点、按 IDE 用量与缓存命中率、一键恢复命令,并用指针文件把一份规则本体接入全部 8 个工具。国产 IDE 适配位从本机安装的二进制里逐一逆向核实,补齐海外工具的空缺。

28天前工作流与自动化MIT
A

dsh-oauth-login

aa2246740/dsh-oauth-login

通过 Pi 适配器接入订阅 OAuth 和厂商 Plan API Key 登录,使用独立的 DSH 凭据存储。

212天前模型与账号接入Apache-2.0
E

dsh-netassist

edge-echo/dsh-netassist

DSH 的网络与代理诊断工具:检查系统代理设置、探测本地代理端口、识别 TUN 适配器、测试 GitHub/TCP/HTTP 连通性、扫描 hosts 冲突,并给出具体的修改建议。

226天前工具与能力MIT
B

dsh-vision-plugin

bug-huntter/dsh-vision-plugin

为纯文本 DSH 模型增加可配置识图能力:在 DSH 0.1.7-rc.2 中,上传图片会完整通过适配链路,由 OpenAI 兼容视觉模型转写为文字后交给主模型;支持 OpenAI / Anthropic / Gemini / Azure 风格密钥鉴权,缺少 API Key 时会在发起请求前明确提示。

2上个月视觉、语音与多模态MIT
J

hooks-adapter

johnxu22786/hooks-adapter

把 Claude Code、Codex、opencode 配置里声明的 hooks 原样复用到 dsh,执行 shell、webhook、oracle、proxy 四类 handler,零运行时依赖。

22个月前开发与插件工具MIT
5

dsh-youreyes

54xkeee/dsh-youreyes

纯文本 DeepSeek 的识图工具包:模型可主动调用的 `vision` 工具、deepseek/opencode-go 包装适配器(v4 flash/pro)、反重力额度(默认,flash/pro)/ 任意 OpenAI 兼容 VLM / Gemini / 本地 Ollama 通道、证据记忆与会话压缩恢复、内容哈希缓存、双语客户端面板。

23个月前视觉、语音与多模态MIT
3

dsh-vision (vision-route)

314857493/dsh-vision

注册 `deepseek-vision` 路由:Web GUI 直接粘贴图片,由免费智谱 GLM 视觉模型转译为文字后,再交给 DeepSeek 适配器作答。

223天前视觉、语音与多模态MIT
J

dsh-commandcode-go-provider

jiesou/dsh-commandcode-go-provider

Command Code Go 的 dsh provider 适配器:动态扫描 Go 订阅模型目录,经 Harness LLM 接缝提供 /alpha/generate 服务

23个月前模型与账号接入MIT
W

dsh-diff-review

wyk4447/dsh-diff-review

写入前的审查闸门:write、edit 与删除操作在执行前被挂起,右侧边栏展示算好的 diff(统一视图或原文/新文并排),点「接受」才真正落盘;pwsh 里通过字面路径创建、覆盖、删除文件的命令同样挂起,目标在运行时才确定的命令则展示原始命令行而非 diff。一条命令动了多个文件时只挂起一次,面板里按文件逐格切换查看。算不出 diff 的改动改为报告可知的信息:二进制文件与 sourcemap 显示字节数,只改了换行符或缩进的变更直接说明。已接受的改动留有快照,可在「历史」里还原;插件没有专门适配的工具按参数判定,点名了路径又带改动动词才拦,读操作不拦。

112小时前安全与权限MIT
G

mirror-dsh-adapter

gjhhjfgh/mirror-dsh-adapter

本地优先的记忆治理:把对话蒸馏成分类记忆,冲突交由人裁决,并预览下一轮会注入什么。

15天前记忆
R

habit-hint

root-7-khx/habit-hint

《习惯提示小模型》:本地小模型每隔几轮读一次近期对话,生成「习惯 / 重点 / 提示语」并注入系统提示词,训练与模型数据都在本机。需要带 torch/transformers/peft 的 Python 虚拟环境,以及用户自备的 Qwen3-0.6B 基座与 LoRA 适配器(插件不打包);默认只在开启伴侣记忆(companion-memory)的会话里工作,路径没配好时静默不注入。

17天前模型与账号接入
S

dsh-fine-tune

songrui111/dsh-fine-tune

面板里的本地 LoRA / QLoRA 微调:导入 JSONL、开始前先看显存估算、评测并导出适配器。一键创建 Python 虚拟环境,但需自备 Python 3.10+ 与 NVIDIA 显卡(6 GB 显存起)。已在 Windows 11 + RTX 3060 6 GB 上完整跑通;安装器会直接拒绝非 Windows 平台,Linux、macOS 与其他显卡暂不支持。

14天前模型与账号接入MIT
Y

dsh-opencode-local

yuchaos0927/dsh-opencode-local

通过本机已安装的 OpenCode 客户端的本地回环接口接入其免费模型:首次使用时才启动子进程,OpenCode 自身不执行工具——它发起的调用被交给同名的 DSH 工具执行,没有对应工具时则拒绝,无需 API Key。

112天前模型与账号接入
B

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_*` 拒绝加载预设。

111天前工具与能力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)—— 端口通了不等于能出字,它和「拉起后等端口(秒)」是两个不同的旋钮。顺带:面板提示里那句绑定某一个具体模型的举例去掉了,不是每台机器都下了那个模型,说明改成讲机制。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。0.4.9 起面板不会再整块消失。以前插件详情页里那一块可能凭空不见,而宿主照常运行、HTTP bridge 照常应答、连崩溃日志都不留一条。原因是一个作用域错误:某个辅助函数声明在一个组件里面,却被另一个组件引用 —— 这是合法 JavaScript,语法检查完全通过,于是它只在渲染期炸,也就是用户按下扫描按钮、React 执行状态更新函数的那一瞬间。宿主给每个插槽条目都包了一层错误边界,兜底渲染是一个空的锚点,所以异常被就地吞掉:插件没有被卸载、进程也没有崩,面板只是被换成了一个空 div。现在这两个辅助函数放在两个组件共享的模块作用域里。客户端这一半也有了专门的用例 —— 一个最小 React 替身载入真正的面板模块,真调用组件、真在渲染期执行状态更新函数、真去按扫描按钮,这类错误不会再走到发布版里。

111小时前模型与账号接入MIT