插件
浏览、筛选并安装 DeepSeek-Harness 插件。
共 35 个插件
dsh-plugin-memory
littleblacktong/dsh-plugin-memory
带 LLM Wiki 结构与 SOUL 人格文件的长期 markdown 记忆库:会话启动注入 boot 块(默认提问后才注入、且只注入当前激活会话),含 remember/recall/consolidate/forget 工作流、内嵌 memory 技能、pack/unpack 迁移工具,以及空闲时以第一人称主动追忆(recall nudge)的拟人化能力。同时补上记忆库原先缺的“可观测 + 可维护”:按文件分配 boot 预算(索引路由表不再被截断)、自动戳记 last_access(salience 衰减真正生效)、只读记忆健康看板(体量/新鲜度/与 lint 同源的体检)、声明式索引编译器(页面声明 summary:,一条命令重写索引行),可拖动、可滚轮缩放的记忆图谱(页间链接 + 共享 tag)、结构化检索(tag/type/salience/hot/stale 过滤)、针对「尚无内容关系」页面的补链建议,以及以「最该做的 N 件事」收尾的 `checkup` 体检报告。同时把操作细节移到按需加载的技能,boot 注入体量减少约 23%。设置区块现在还有专属侧栏图标(半脑 + 节点——因为设置 shell 不给插件留图标位)和直达本仓库的反馈入口。要求 DSH session format v4(官方 DeepSeek Harness 0.1.7+):注入消息使用 producer-owned source kind plugin:memory。 v0.11 起设置面板与侧栏 label 跟随 DSH 语言设置(中文「记忆」/英文 "Memory");v0.12 新增跨插件共享发言权、按语境微调的语气段与每周成长回顾;v0.13 用 engines.dsh 声明 DSH 兼容范围(官方 0.2.1-rc.5 系列,旧宿主会被闸门拒绝),新增「立即回顾」按钮(POST /api/memory/control,action growth-now,立即发一次成长回顾且仍尊重发言权)、面板可访问性(aria-label、status/alert role、focus-visible 焦点环)与公开的 PROACTIVE-PROTOCOL.md。v0.14 新增按会话记忆开关:输入框芯片(下拉可选本会话 / 此工作区默认)、/memory on|off|status 命令与设置面板开关共用同一判定——关闭后该会话不注入 boot 块、不发 digest/追忆提醒、不盖 last_access(记忆文件不删);disabledWorkspaces 可让整个项目默认关闭,会话选择持久化 7 天。v0.15 新增「人格基础(快速铸魂)」卡片:我的名字 / 你的称呼 / 基础人格描述,保存写入 SOUL.md 受管区块(其余内容一字不动)并把 BOOTSTRAP 标 complete;对话铸魂的老库会从 SOUL 文本回显,未铸魂时 boot 块会先提醒用户完成铸魂。
dsh-win-gitbash
buhuikongpan/dsh-win-gitbash
面向 Windows 的 Git Bash 工具:通过 Git for Windows 自带的 bash 执行命令,支持超时、沙箱、输出截断与后台任务,替代卡顿的 pwsh 工具与仅限 WSL 的 bash 工具。
dsh-capability-panel
pure-craft/dsh-capability-panel
一站式管理 MCP 服务器、技能与工具——真实的在上下文状态(已加载/已截断/已挤出),并按会话开关。
dsh-token-saver
shaw529/dsh-token-saver
为 DeepSeek Harness 设计的 token 节省插件:不损失任务效果。默认 conservative 档对工具结果做无损头尾裁剪与 grep 折叠;balanced 档在压力阈值委托 dsh-compaction-basic;aggressive 档以 LLM-summary 引擎子类化替换官方压缩。8 个合成场景累计节省 97.6% 输入 tokens,所有削减走 dsh 事件流,model-visible = logged 不变式仍成立。
dsh-rollback
domitor-syh/dsh-rollback
TRAE 式「回退到本轮对话发起前」插件:按轮次建立检查点(10 轮滑动窗口),同时回滚工作区文件与原位截断模型上下文,保持同一 session id。回退只能由人发起:/rollback 命令或每轮的 Web 回退按钮(被中断的轮次也可用),弹窗逐条列出受影响文件及其动作(恢复/找回/删除/跳过)。
dsh-at-any
hatsuyuki0103/dsh-at-any
Codex 风格的 `@file` 文件引用:输入框里搜索并引用工作区所有格式的文件(.java、.vue、PDF、图片、无扩展名、隐藏文件),无索引上限。dsh-at-file 的替代品。
dsh-message-rewind
xcube007/dsh-message-rewind
给自己的消息气泡加「编辑 / 删除」:编辑会截断其后的轮次并重发新内容,删除会移除这条消息及其后的轮次;两者都可选择同时回滚被移除轮次记录到的文件改动(文件之后又被改过则拒绝回滚)。侧边栏始终只保留一条会话。
dsh-sidebar-mode
meredith2328/dsh-sidebar-mode
把默认 agent 预设切换嵌入「新会话」按钮:点按即选,长名称自动省略号截断。
dsh-continue-on-limit
qwert702/dsh-continue-on-limit
dsh 网页端输出上限自动继续:本地模型输出到上限出现提示时,自动发送「继续」让回复接上;双源截断检测、防死循环保护,完全无 UI。
dsh-cache-precision
cheng-cheng9669/dsh-cache-precision
把内置缓存命中率原位显示为 3 位小数,并加宽底部统计行避免内容被截断。
dsh-skill-doctor
shuxidemosheng/dsh-skill-doctor
诊断技能为什么没被模型选中——简介被截断、文件头损坏、引用文件缺失——并检查已安装插件之间是否存在 loader 条目冲突;按 profile 自动保存体检病历、每次复诊对比上次差值,把重复出现的问题归并为同一根因,为超长简介生成改写工单,并列出改动了技能目录配置的插件 patch。
dsh-virtual-person
yimengsuper2432/dsh-virtual-person
一份 AGENT.md 同时管人格与记忆:整份注入每个会话的系统提示(上限 4 万字,超出按整行截断并在提示里注明),设置页直接编辑;每轮日记按相似度合并、按被提起的次数分节,只有到 2 MB 上限才淘汰。
dsh-session-rescue
jayyuen666/dsh-session-rescue
回合异常收尾时的自动补救:瞬时失败后续跑、输出截断后继续、待办未完成时重跑,另有一层请求级 429 兜底,以及带「改后重发 / 手动重试 / 停止并重问」的客户端停靠栏。
dsh-rollback
zhaozew/dsh-rollback
TRAE 式「回退到本轮对话发起前」:按轮次建立文件检查点,回滚工作区文件并在同一 session id 下原位截断模型上下文,已适配 DSH 0.1.7-rc.2。新增 /rollback doctor 契约自检、按当前磁盘状态实时计算的受影响文件 diff 预览(重启后依然准确)、一键「回退最近一轮」(快捷键 Ctrl+Shift+Z)、「回退后隐藏已回退消息」开关,以及英文界面文案。
dsh-shell-card-plus
antnesswcm/dsh-shell-card-plus
用自定义 Shell 命令卡片替换 DSH Web 原版 bash/pwsh 工具行:长命令自动换行带行号不再截断,并提供独立的复制命令/复制输出按钮。
dsh-wide-stats-footer
thomasvvugt/dsh-wide-stats-footer
解除输入框统计行的宽度限制:较长的轮次与 token 统计行横跨输入框全宽居中显示,不再以省略号截断。
dsh-auto-continue
vergilye/dsh-auto-continue
避免轮次停在「话没说完」或「只写了下一步计划」上关闭:把静默截断的流转成同一步内可重试的失败,并要求模型在每轮结束时声明收尾方式。
dsh-relaycheck
yanyuncy/dsh-relaycheck
提供 relay_check 工具,用 relaycheck 检测 LLM API 中转是否调包模型、虚报用量、截断上下文或注入提示词;key 只从环境变量读取。
dsh-Session-Turncate
l7x6899/dsh-session-turncate
单个会话的空闲定时上下文截断:可配置空闲多少小时后整段丢弃较早的对话(不生成摘要),避免长期存活的会话把上一个任务带进下一个;带每会话开关、会话上方的「上下文截断」选项卡,以及 IM 桥接可直接驱动的 /truncate 命令。
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)—— 端口通了不等于能出字,它和「拉起后等端口(秒)」是两个不同的旋钮。顺带:面板提示里那句绑定某一个具体模型的举例去掉了,不是每台机器都下了那个模型,说明改成讲机制。
dsh-auto-title
sumingwang233/dsh-auto-title
给 DSH 会话自动起名:首轮问答结束后用「项目|具体任务」命名,而不是把提问截断。通过 bundle patch 顶替内置标题 provider,在会话行「…」菜单里加「AI 重命名」(先预览再应用),设置页可改 provider/model、命名规则并查看诊断日志。49 个单元测试。
dsh-capability-panel
yezack/dsh-capability-panel
管理 DSH 的 MCP 服务器、技能及工具,展示真实上下文状态(已加载/截断/挤出),按会话切换每项能力。
dsh-skills-hub
xiatian-wuhan/dsh-skills-hub
显示每个已安装 skill 在模型上下文中占多少,并能在不删除文件的前提下把它从目录里摘掉。按 DSH 的渲染规则给出模型实际看到的那一行(介绍归一化并按目录上限截断)、正文体积与 token 估算;可逐字预览模型将收到的目录消息,与会话里已发布的那份比对,并列出来自磁盘却进不了目录的 skill(frontmatter 无效,或被更高优先级的同名 skill 覆盖)。隐藏会写入 disable-model-invocation 并保留文件,skill 仍可通过 /名字 调用。同时支持从 ClawHub、Skills.sh 与 GitHub 链接导入,以及卸载用户目录下的 skill。
dsh-qzone-echo
nineoooo/dsh-qzone-echo
把你本人发过的 QQ 空间说说收进本地库,自动分成「思考/感想」「梦记」「介绍/推荐」三栏,三栏都能人工纠正 —— 逐条改,一条只动它自己那一栏,撤销也不会连累另外两栏。配一个可用口令锁住的私人网页查看器,会把被上游接口截到前 500 字左右的长说明确补回全文,按年月统计字数,并把配图备份到本地离线可读。Cookie 只存在本机。