装插件踩到的三种坑:版本不匹配、没有挂载点、还有"它说可以强行装"

今天花了一上午在插件市场上挑插件,装了 4 个,真正能用的只有 2 个 。 这篇把踩到的三个坑写下来------每个都附命令原文,你可以直接拿去对照自己的环境。

一、坑一:宿主升级了,插件没跟上,能力悄悄少了一块

我的宿主从 0.2.1-alpha.2 升到了 0.2.1-alpha.4,但两个子代理插件还停在 alpha.2 。 后果不是报错,而是守卫把它们静默跳过:

vbnet 复制代码
dsh: skipping profile bundle "@deepseek-ai/dsh-subagent-claude-code":
     incompatible with dsh 0.2.1-alpha.4: requirements {"@deepseek-ai/dsh-llm":"0.2.1-alpha.2", ...}
dsh: disabling profile plugin row "tool-subagent": ...

"跳过"两个字最坑:你不去看启动日志,就以为一切正常,实际上**"派子代理"这类能力已经被关掉了**。

  • 怎么发现 :升级宿主后,回头看一遍 dsh plugin list,把版本号跟宿主版本对一遍; 再跑一次 dsh --profile <名字> --dump-config,grep 一下你想用的插件 id 在不在树里。

  • 怎么修 :注册表里通常已经有匹配版本 ⇒ 直接升到同版本 ,不用开任何"风险豁免"。

    bash 复制代码
    dsh plugin --profile web add "@scope/插件名@<与宿主同版本>"

    我这次就是这么修好的:升完 dump 里有行,工具表里也真的出现了 subagent 系列。

二、坑二:装上了 ≠ 能用------它可能"没有挂载点"

第二个插件(一个提供 MCP 工具的包)装得干干净净,dsh plugin list 里也有它。 可我等了一上午,一个工具都没出现 。原因是它根本挂不进这份 profile,两个证据:

yaml 复制代码
# ① 写进「补丁层」
dsh: [cordis.patch.yml] patch: entry "mcp-graphflow" not found
#     ------补丁层只能改**已存在**的条目,不能新建

# ② 写进「bundle 列表」
dsh: skipping profile bundle "@deepseek-ai/dsh-mcp-client":
     Error: declares no dsh.bundle in its package.json
#     ------它压根不是 bundle(package.json 里没有 dsh 字段)
  • 教训 :"依赖里装了"和"它在跑"是两件事 。判断标准应该是运行时痕迹 : 进程在不在、工具表里有没有、产物有没有落盘------不是安装日志里的 "Done in 4m"。
  • 收尾动作 :我把两处无效改动撤回 了,还留了一行注释写明"试过什么、为什么不行"。 半挂状态比失败更危险:下一个人会以为它已经能用。

三、坑三:守卫说"可以强行装",你装不装?

工具链很克制,它给你留了后门,但同时把话说全:

bash 复制代码
dsh plugin --profile web allow-version <包>@<版本> --dsh-version 0.2.1-alpha.4 --accept-risk
# Running it may cause crashes or data loss.

这句话的翻译是:"我可以放你过去,但崩了别怪我" 。 我这里的取舍是不装 ------因为这是宿主 :宿主崩了,整个工作台(包括正在跑的会话)一起没 。 而这个插件给的只是"扩展生态"的可能性,不是现在缺的能力。

一个顺手的判据:先问"这个能力现在多缺",再问"最坏情况我能不能接受" 。 两个问题有一个答"不"就别装------留个候选,等它出匹配版本更划算。

四、附送一个小坑:BOM

改写配置文件时我用了一条 PowerShell:

powershell 复制代码
Set-Content -Path package.json -Value $new -Encoding UTF8

结果它给 JSON 文件写进去了 BOM (备份头 4 字节是 7B 0A 20 20,改完变成 EF BB BF 7B), 严格解析器直接报 Unexpected UTF-8 BOM。

  • 改 JSON/YAML 一律用 Python 读写 (pathlib + encoding="utf-8"),别用会自动加 BOM 的写法;
  • 改完回读字节确认,别只看"文件写成功了"。

五、四条可以抄走的检查法

  1. 升级宿主之后,回头对一遍插件版本(不然能力会静默消失);
  2. 验证要看运行时痕迹,不是看安装成功日志;
  3. "能强行装"意味着"崩了算你的"------宿主上的东西,默认不冒险;
  4. 失败要撤回并留注释,别留半挂状态给下一个人。
相关推荐
传人3 小时前
从 PPT 到可交互原型:用 AI 做小程序原型的实践 | 深度实践版
产品经理·ai编程
wangruofeng3 小时前
27 万星逆向工程 MCP rea 全拆解,它把「模型别瞎编」焊进了协议
github·aigc·ai编程
god_cvz3 小时前
第三章:4、补充:对话记忆与会话管理
后端·ai编程
god_cvz3 小时前
第三章:5、MCP协议入门
后端·ai编程
单向箔4 小时前
10|Skill:把重复 prompt 固化成自己的 AI 工作流
人工智能·prompt·ai编程
七牛云行业应用5 小时前
DeepSeek Harness 插件 dsh-zen-remote 教程:手机访问、桌面配对与通知配置
人工智能·ai·智能手机·ai编程
用户842558130877 小时前
按坐标点按钮,换了块屏幕就全错:自动化判据该怎么建
ai编程
小虎AI生活7 小时前
AI 内容标识新规下的个人内容产线:一套每天 5 分钟的口播产稿法(附提示词)
aigc·ai编程
长明7 小时前
关于 AI 记忆系统的一轮思考
aigc·ai编程