插件
浏览、筛选并安装 DeepSeek-Harness 插件。
共 2646 个插件
dsh-plugin-ollama-bridge
wth373737/dsh-plugin-ollama-bridge
本机 Ollama 工具:模型清单、单次(未校验)问答,以及跑长文本的批处理——分块并发、逐条确定性校验、回传一小段抽样原文供复核,结果可选择写入会话工作区。
dsh-subagent-setup
twoweeks1995/dsh-subagent-setup
给子智能体配命名模型路由:每个别名绑定子智能体代理、模型与可选的思考档位、令牌上限、Agent 预设、标签,并写清「何时使用」供模型选路,委派时只写别名。插件提供委派、查目录、改配置、等后台、释放五个工具,在设置页完成全部配置(两级下拉、逐项校验),在子代理会话头部显示其实际运行的路由,界面元素均可单独停用;配置存于本地 JSON,不需要改任何 YAML。
dsh-um-proxy-ondemand
tingod2006/dsh-um-proxy-ondemand
管理 DSH 的 um-genai provider 所連的本機 UM GenAI 反代(127.0.0.1:8788)的生命週期:llm/stream 請求進來時按需喚醒、閒置一段時間後關閉、提供健康檢查與唯讀狀態端點。另附 DSH 設定頁(埠號、常駐模式、閒置分鐘、解譯器與路徑、UM 帳號、代理金鑰),以及一顆按鈕:把 providers.um-genai 寫進 profile patch 並補上模型清單(全新 profile 沒有這段設定,模型選單本來會是空的)。續期看門狗在上游 token 過期時於隱藏 Windows 桌面完成校園 gateway 登入。反代本體是 um_opencode_setup.py(澳門大學校內發放的單檔工具),外掛在 vendor/ 自帶一份讓全新安裝即可運作,而 ~/.um-opencode/ 那份優先;它仍然不產生 token,token 由登入校園 gateway 取得。需要 Windows(進程發現與閒置關閉依賴 netstat/taskkill,續期依賴 PowerShell 與隱藏桌面)、Python 3.10+ 與澳門大學帳號。
dsh-chatgpt-subscription
qiubai-di/dsh-chatgpt-subscription
通过 OAuth 将 ChatGPT 订阅模型接入 DSH,并在会话回放中保留本地工具调用身份。
dsh-plugin-select-model
mhxy13867806343/dsh-plugin-select-model
在模型菜单底部增加「添加模型」与「管理已添加模型」:接入第三方服务商并写入 DSH 模型配置,可编辑 / 删除条目,并一键切换当前对话的模型、高亮正在使用的那一行。
dsh-subagent-tiering
lucagiftzek/dsh-subagent-tiering
为未指定 provider/model/effort 的 subagent 调用补上更便宜的同类路由(例如 Opus → Sonnet 5.5 @ medium、Qwen max → Qwen flash);显式指定的选择与 subagent_fork 保持不动。需在设置里启用 subagent-model-selection 且目标路由在其 allowedModels 中,否则插件不产生任何效果。
dsh-request-image-cap
lucagiftzek/dsh-request-image-cap
把发给模型的每张图片按单边像素上限(默认 2000 px)压缩:通过包装 attachments.readImageRequest 实现,修复 Anthropic 多图请求报错,且不改动已存储的图片。
dsh-qoder-link
liubaicai/dsh-qoder-link
通过官方 Qoder CLI 以原生 ACP stdio 接入 Qoder 模型(无需逆向模型 API);qoderclicn 中国版已通过真实 ACP 工具链路验证,qodercli 国际版可选但真实推理路径尚未验证。需 Node.js 22.18+,并在同一台机器上安装并登录所选 Qoder CLI;插件不安装 CLI、不管理账户。
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 替身载入真正的面板模块,真调用组件、真在渲染期执行状态更新函数、真去按扫描按钮,这类错误不会再走到发布版里。
dsh-speed
jakehemmerle/dsh-speed
为 OpenAI 与 Codex 模型增加 Speed 设置(Standard/Fast/Ultrafast),但需要打过补丁的 dsh 构建:钉住的 dsh 0.2.1-alpha.2 Web 客户端要加上 Model / Effort 子槽补丁,宿主 pi-ai 必须是 0.87.1 或 1.1.0(其他版本会拒绝加载),终端控制还需打过补丁的 dsh-TUI。满足条件后它会出现在 Model / Effort 菜单;在 dst 里 /speed 可打开选择器或直接设置,底栏显示当前档位。选择按会话、供应商和模型分别保存,并作为请求的 service tier 发送。
dsh-plugins (dsh-lightvela)
cc1104666/dsh-plugins
微信扫码登录 LightVela,从你自己的实例里读出模型网关凭据并写进 llm-pi-ai,让套餐里的模型出现在模型选择器中。
dsh-plugins (dsh-grok3ai)
cc1104666/dsh-plugins
直连 grok3ai.org 仅用 iframe 嵌进去的两个公开 Hugging Face Space(MiniMax-VL-01 与 Llama-2-7B-Chat),当作 OpenAI 兼容模型使用。
dsh-plugins (dsh-grok-online)
cc1104666/dsh-plugins
在本机跑一个 OpenAI 兼容反代,把 DSH 的对话请求转给 grok.online,无需 API key 即可在模型选择器里用它的两个对话模型。
dsh-resource-center
backtomyfuture/dsh-resource-center
DeepSeek Harness 侧边栏面板,用于 LiteLLM 虚拟钥匙、动态模型注入、MCP 转发与花费统计。
dsh-opencode-quota-router
2869949486/dsh-opencode-quota-router
让 dsh 里的 DeepSeek 模型优先走 OpenCode Go 套餐额度,额度耗尽时只把该模型切回 DeepSeek 账户,其它模型继续用套餐;凭证异常等整体失败时整体回退。
dsh-codearts-connect
2239058652/dsh-codearts-connect
华为云 CodeArts 的 DeepSeek Harness 接入插件:内置 OAuth2(PKCE + DPoP)登录、多账号轮转、模型发现,以及积分与用量查看。本项目是 elegant01/dsh-codearts(MIT)的衍生版,补充了账号与图片相关能力;请勿与上游同时安装——两者注册同一个 `codearts` provider。
token-usage-statistic
zhiwuli0228/token-usage-statistic
统计本机每次模型调用的 token 用量与预估费用,提供每日图表、会话/工作区名称、账户余额、预算与无凭据 CSV/JSON 导出。
dsh-token-usage
zhangyongshuai56-hub/dsh-token-usage
DeepSeek Harness 的 Token 用量面板:按模型统计每日消耗,含趋势图、日历热力图与表格视图。
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 天记录先加载再原子落盘,重启不会再把历史覆盖清空。
dsh-subscribe-meter (dsh-opendesign-go-meter)
ycm50/dsh-subscribe-meter
dsh-cost-meter 的 OpenDesign Cloud 定制版:本会话与当日费用、39 个 OpenDesign 模型价格目录、OpenDesign Cloud 额度(联动官方 funding-check 接口,5 小时 / 7 天两档已用/全部进度条)、Coding Plan 额度、自定义 Provider 余额、峰谷计价提醒,界面中英双语。 额度卡需要 OpenDesign Cloud 账号(插件内置登录),且它与 Han-1413141/dsh-cost-meter 及同仓库其它变体提供同一个 service:cost-meter,只能装一个费用统计插件:本条目替代 dsh-cost-meter 安装,不能与上游同装。
dsh-subscribe-meter (dsh-opencode-go-meter)
ycm50/dsh-subscribe-meter
dsh-cost-meter 的 OpenCode Go 定制版:本会话与当日费用、内置 90+ 模型价格目录与自动匹配、OpenCode Go 订阅用量(滚动 5 小时 / 本周 / 本月百分比 + 进度条)、Coding Plan 额度、自定义 Provider 余额、峰谷计价提醒,界面中英双语。 它与 Han-1413141/dsh-cost-meter 及同仓库其它变体提供同一个 service:cost-meter,只能装一个费用统计插件:本条目替代 dsh-cost-meter 安装,不能与上游同装。
dsh-subscribe-meter (dsh-newapi-meter)
ycm50/dsh-subscribe-meter
dsh-cost-meter 的 new-api 定制版:本会话与当日费用、内置 90+ 模型价格目录与自动匹配、网关额度(自动识别 one-api / new-api / sub2api,取 DSH「模型」设置里的 provider)以已用/全部进度条显示、Coding Plan 额度、自定义 Provider 余额、峰谷计价提醒,界面中英双语。 它与 Han-1413141/dsh-cost-meter 及同仓库其它变体提供同一个 service:cost-meter,只能装一个费用统计插件:本条目替代 dsh-cost-meter 安装,不能与上游同装。
dsh-subscribe-meter
ycm50/dsh-subscribe-meter
dsh-cost-meter 的 Command Code GOAT 定制版:本会话与当日费用、内置 90+ 模型价格目录与自动匹配、GOAT 订阅额度(5 小时 / 周 / 月度池,已用/全部 进度条)、Coding Plan 额度、自定义 Provider 余额、峰谷计价提醒,界面中英双语。 它与 Han-1413141/dsh-cost-meter 及同仓库其它变体提供同一个 service:cost-meter,只能装一个费用统计插件:本条目替代 dsh-cost-meter 安装,不能与上游同装。
dsh-token-rmb
liuyun2025/dsh-token-rmb
在本轮对话的操作行「用量 / 时间」右侧追加该轮 token 费用估算(人民币)。单价来自内置的 DeepSeek 峰谷价目(北京时间,周一至周五 9:00–12:00、14:00–18:00),可在 profile 的 cordis.patch.yml 里整表覆盖;没有配置单价的模型显示「¥—」,不套用其它价格。跟随官方「性能与用量 = 简洁」设置一起隐藏。只算 token 费用、只显示本轮。