最后更新于 2026 年 9 月 18 日。本文按官方仓库、插件配置目录与安装说明核对,依据是 DeepSeek Harness 官方仓库、Plugin Config Catalog、插件打包与安装文档,以及 DeepSeek API 定价页。
配置目录里能列出几十个 @deepseek-ai/dsh-* 包。很多人的第一反应是:能装的都装上,Agent 就会更会写代码。结果通常相反——工具名挤满上下文,MCP 进程在沙箱外裸跑,会话日志膨胀,账单先响,补丁质量并没有跟着上去。
结论先说:DeepSeek Harness(dsh)的口号是 Everything is a Plugin,但写代码时你真正要买的不是「插件个数」,而是读仓库、改文件、跑测试、按需说明书、可回放、可计量这六件事。下面 10 个包覆盖这六件事;其余多数是界面、演示或可替换后端,等场景到了再加。
8 月我们写过 DeepSeek Harness 架构解析,9 月写过 Harness / Skill / Sandbox 实测。那两篇回答「执行层为什么要拆开」。这篇只回答更日常的问题:已经决定用 dsh 写代码了,该装哪几个、怎么搭配、一个月大概花多少。
别先装全家桶:插件是组合,不是功能清单
官方把模型适配、工具注册、会话日志、Agent 循环都做成可替换包,再用 Cordis 叠进 Profile。安装入口是 dsh plugin --profile web add <包名>,它把命令转给 profile 目录里的 pnpm,并只把声明了 dsh.bundle 的包推进层栈。后写的 bundle、profile 自己的 cordis.patch.yml、家目录补丁和 --patch 依次覆盖。
对写代码的人,这意味着三件事。
- 能加载,不等于该暴露给模型。MCP 客户端会把外部工具登记成
mcp__服务名__工具名。官方写得很清楚:每个 MCP server 都是沙箱外的受信任可执行代码,默认一个都不开。 - 层序决定谁赢。你要换模型、换沙箱或关掉某个工具,优先打 Patch,不要复制核心包。用
dsh --profile web --dump-config看机器实际启动的树,比看文档目录更准。 - 仓库仍是开发者预览。兼容性破坏变更可能发生。把它当可替换的执行层来验证可以,别当成已经认证完的生产平台。
所以这篇的 10 个包,不是「官网最全清单」,而是按 AI Coding 出现频率筛过的最小够用集。工具循环一旦失控,字段名不同、失败模式几乎一样——如果你已经在别的模型上踩过,可以对照 Kimi K3 Tool Calls 止损:先停循环,再谈插件。
10 个对 AI Coding 真正有用的 Plugin
下面每个包只写「它替你扛哪一类翻车」。名称以配置目录为准;成对出现的是同一能力缝的定义、提供者或消费者,安装时要一起看,不要只装半边。
1. dsh-tool-fs + dsh-tool-fs-search:先看见仓库
模型还没读过目录,就开始「重构」。读文件和按符号/文本搜索,是所有后续编辑的前提。没有这一对,后面的精确替换只会在错误路径上自信地改。
2. dsh-tool-str-replace-editor:按块改,不要整文件重写
写代码最贵的失败不是「没改到」,而是一次调用把整个文件重写成模型记忆里的旧版本。字符串替换编辑器逼模型给出旧片段和新片段,冲突时失败,而不是静默覆盖。多文件重构时,它比「生成完整文件」便宜,也更好回滚。
3. dsh-tool-bash + dsh-bash-sandbox:测试必须能跑,也必须关得住
修红灯、跑 linter、看构建日志,最终都要进 shell。官方 Process Sandbox 只管同机子进程的文件副作用:read-only 拒写,workspace-write 只许写会话工作区,danger-full-access 则绕过隔离。请求了隔离却没有后端,必须报 SANDBOX_UNAVAILABLE,禁止裸跑。网络隔离不在这套模式里,别指望只读模式顺便挡住出站。
4. dsh-tool-lsp + dsh-lsp-stdio:把编译器的嘴接到循环里
模型自己「觉得类型对了」,和语言服务器报错,不是一回事。stdio LSP 把跳转定义、诊断和符号查询变成工具。适合 TypeScript、Go、Rust 这类强诊断语言;脚本仓库或纯文档任务可以先不装,少占一轮工具名。
5. dsh-tool-skill + dsh-skill-filesystem:说明书按需出现
把代码风格、发版清单、测试入口写成 Skill,模型平时只看见目录,动手时再 skill({ name })。项目根下 .dsh/skills 优先于 .agents/skills。Skill 不是权限系统:手册写得越清楚,没有沙箱时越危险。细节见上一篇实测,这里只强调——写代码时它替代的是系统提示里那堆「务必遵守」。
6. dsh-mcp-client:把 GitHub 一类外部工具接进来
一个实例对应一个 MCP server。stdio 可拉 @modelcontextprotocol/server-github,模型看到的是 mcp__github__create_issue 这种限定名。它适合「对着 PR 评论、列 issue、读 checks」,不适合当默认日用工具。密钥走环境变量,进程在沙箱外,多开一个 server 就是多一份信任面。
7. dsh-plan-mode:先写计划,再碰工作区
跨文件重构、改公共 API、动迁移脚本,最怕模型边想边写。Plan mode 把「先列出步骤并等人看」变成插件行为,而不是靠提示词求它冷静。单测修复可以不开;一旦改动会碰到三个以上目录,先开它。
8. dsh-tool-todo:把多步任务钉在会话里
一次「修 flaky + 补回归 + 更新 README」如果只靠聊天记忆,模型会漏最后一步。Todo 工具让清单成为会话里的可更新对象。它不替代 Skill(Skill 是怎么做),也不替代 Plan(Plan 是做不做、先做什么)。
9. dsh-compaction-tool-result-pruner + dsh-token-meter:长会话先剪结果,再谈换模型
AI Coding 的账单很少死在第一轮,而死在第十轮还把完整测试日志、完整 diff 和完整网页抓取留在上下文里。结果裁剪负责丢掉不再被引用的工具输出;token meter 让你看见每一轮花了多少。没有计量,你分不清是模型贵,还是插件把窗口喂满了。
10. dsh-session-persistence-sqlite:会话要能回放,不要只活在内存
进程重启、切页、换人排障,下一轮必须能从落盘日志重建。JSONL 也能记,SQLite 更适合按会话查询和事后对照「它为什么改了那一行」。没有这一层,上面 9 个插件的现场都只能靠截图复盘。
四个常见写代码场景,怎么选插件
同一套 10 个包,不会在每个任务里全开。按任务选,比按「看起来专业」选更省钱。
场景 A:修红灯测试。最小集是 fs / search、str-replace、bash+sandbox。先读失败日志,再改最小范围,再跑同一条测试。Skill 只在仓库有固定「先跑哪条命令」时值得加载。Plan 和 MCP 此时是噪音。
场景 B:跨文件重构。在 A 的基础上加 plan-mode、todo、LSP。先让模型写出将改哪些符号、哪些测试必须绿,再批准写入。没有计划就开放替换,常见结局是公共函数改了一半,调用方还留着旧名字。
场景 C:对着 GitHub 做审查或补丁。加 MCP 客户端,只开这一个 server。用它拉 PR diff、checks 和评论,真正改文件仍走 editor + sandbox。不要把「创建 issue、合并、删分支」和日用编辑放在同一条默认工具列表里。
场景 D:长会话、多轮探索。加 compaction 和 token-meter,会话改走 SQLite。模型连续读了 20 个文件之后,再不剪工具结果,后面每一轮都在为已经过期的日志付钱。换更强的模型救不了膨胀的窗口。
三套搭配:日用、团队、控成本
把上面的场景收成三套可复制的 Profile,比每次任务手改 cordis.yml 不容易回潮。
| 搭配 | 默认打开 | 先别开 | 适合谁 |
|---|---|---|---|
| 日用写码 | fs / search、editor、bash+sandbox、skill | MCP、子 Agent、全量 Web Search | 一个人修 bug、写小功能 |
| 团队协作 | 日用 + plan + todo + SQLite + 一个 GitHub MCP | 第二个 MCP、danger-full-access | 要回放、要对着 PR 工作 |
| 控成本 | 日用 + token-meter + 结果裁剪 + Flash 模型 | Pro 当默认、长日志不裁剪 | 每天几十轮循环 |
Web 搜索和子 Agent 不是不能用,而是默认成本高、失败面大。官方配置目录里有 dsh-web-search-deepseek、dsh-tool-web 和多种 subagent 实现;需要查文档或拆出只读调研时再打 Patch 打开,不要写进日用 bundle。
安装时记住层序:@deepseek-ai/dsh-base 先上,再 dsh plugin --profile <名> add 你的包,最后用 profile 自己的 patch 关掉不想暴露的工具。GitHub 托管、带 prepare 的源码插件,pnpm 10 会拦住构建脚本,按官方提示放行后再装,不要改成全局危险权限。
部署成本:令牌、机器、插件税
插件本身几乎没有许可证费用。你真正付钱的是模型令牌、常驻机器,以及每一个逃出沙箱的外部进程。
令牌是大头。2026 年 9 月官方价卡按 100 万 token 计:deepseek-flash(V4.1-Flash)缓存命中约 0.003 / 0.006 美元,缓存未命中 0.15 / 0.30 美元,输出 0.60 / 1.20 美元(低峰 / 高峰);deepseek-v4-pro 未命中 0.66 / 1.32,输出 1.98 / 3.96。高峰是周一到周五 UTC 01:00–04:00 与 06:00–10:00,对应北京时间上午和下午两段工作时间,低峰半价。一次「读 8 个文件 + 两轮测试日志 + 一小段补丁」很容易吃掉数万输入 token;如果不裁剪,第十轮会把前九轮的日志再付一遍。
粗算日用:每天 30 轮循环、平均每轮 2 万输入(未命中)+ 1 千输出,用 Flash 低峰大约每天 0.11 美元,一个月约 3 美元。同样次数若默认 Pro、再把完整测试输出留在窗口里,月账单可以轻易上到数十美元。省钱的顺序是:先裁工具结果和复用缓存,再决定要不要上 Pro,而不是先换模型。
机器是第二项。npx @deepseek-ai/dsh web 默认只在本机 127.0.0.1:3080 打开界面,适合白天开发、晚上关机。你若希望会话 SQLite、Skill 目录和沙箱策略 24/7 可连,就需要一台不关机的节点。笔记本合盖掉线、家里 NAT 变化,都会让远程同事看不成同一条会话。云端 Mac mini 的价值不在「比 API 更聪明」,而在于把预览版 Harness 从正在出包的机器上拆出去:Seatbelt 沙箱、Unix 工具链和固定 cwd 都比在 Windows 上远程控一台会休眠的笔记本可预期。
插件税是第三项。多开一个 MCP server,就多一个沙箱外进程和一套密钥。LSP 要常驻语言服务器。Web 抓取会把整页 HTML 灌进上下文。这些都不出现在 DeepSeek 价卡上,但会把 Flash 的便宜优势吃掉。日用四件套的「税」接近零;团队套多一个 GitHub MCP,通常仍划算;把搜索、子 Agent、第二个 MCP 全部默认打开,成本会从令牌漏到运维。
仓库仍是预览。把 Harness 和客户工程焊在同一台构建机上,等于把循环、手册和文件隔离三件事叠在发布路径上。隔离节点可以丢、可以回滚、可以限权,这才是部署成本该买的东西。
什么时候该加插件,什么时候别加
| 你的情况 | 建议 | 理由 |
|---|---|---|
| 只要补一个函数、跑一条测试 | 日用四件套 | Plan / MCP / LSP 都是额外工具名 |
| 改公共 API 或三个以上目录 | 加上 plan + todo + LSP | 先对齐步骤,再允许写入 |
| 要对着 PR 评论或 checks 工作 | 只开一个 GitHub MCP | 外部工具默认信任面,不要堆 |
| 每天几十轮、账单开始跳 | meter + 裁剪 + Flash | 先看窗口里堆了什么,再换模型 |
| 还没分清 Skill 和 Sandbox | 先不要扩插件 | 手册越全,裸写越危险 |
和自研「while 循环 + 两三个工具」相比,dsh 的收益是层序、会话和隔离已经分开;成本是预览阶段的破坏性变更,以及你必须克制自己不去点齐配置目录。每年如果你真的会换模型后端、换沙箱或把同一套 Skill 用在多个仓库,这 10 个包才值。只是想看模型会不会聊天,不必上完整栈。
最后一句话:2026 年用 DeepSeek Harness 写代码,赢的不是装得最多的人,而是能说清「这一次任务只需要哪几层」的人。先读、再改、再跑、再按需说明,会话可回放、令牌可计量。插件是组合,不是收藏。
常见问题
10 个插件要一次全部安装吗?
不用。先装 fs / search、editor、bash+sandbox 和 skill。Plan、LSP、MCP、裁剪和 SQLite 按场景再加。配置目录里的其余包多数是可替换后端或界面,不是写代码的必选项。
MCP 插件安全吗?
官方把每个 MCP server 写成沙箱外的受信任可执行代码,默认一个都不启用。只开你需要的那一个,密钥放环境变量,不要和日用编辑工具混在同一条默认列表。
为什么不建议默认用 Pro 模型写代码?
写代码的费用主要来自多轮工具结果,不是来自「模型不够聪明」。官方 Flash 低峰输出约 0.60 美元 / 百万 token,Pro 约 1.98 美元。先裁剪日志和命中缓存,再决定单次任务要不要升 Pro。
现在能当生产编码平台直接上吗?
可以当执行层样板做验证和隔离实验,不建议视为已完成生产认证。官方仓库仍是开发者预览。把预览版和正在出包的机器分开,比争论「能不能上生产」更实际。
在云端 Mac mini 上跑一套可丢弃的 dsh 节点
AI Coding 的插件栈要固定 cwd、常驻 SQLite 会话,还要在 macOS 上走 Seatbelt。拿唯一的出包机构建机去跑预览版 dsh 和 GitHub MCP,等于把循环、手册和外部进程叠在客户工程上。M4 Mac mini 统一内存适合一边跑稳定构建,一边放一套可限权、可回滚的 Harness;待机功耗约 4W,原生 Unix 和 SSH 让 Skill 目录和沙箱工作区钉在同一台不休眠的机器上。
若你要把日用写码节点和发布机构建拆开,Kvmkit 云端 Mac mini M4 可按需扩一台隔离机——立即了解套餐方案,让插件组合和令牌实验有地方试,而不拖累正在出包的机器。