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

今天花了一上午在插件市场上挑插件,装了 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. 失败要撤回并留注释,别留半挂状态给下一个人。
相关推荐
西安小哥9 小时前
把 200K 上下文跑满之后,我给编码智能体立了四条规矩
aigc·ai编程
西安小哥9 小时前
让大模型稳定输出 JSON,我换了三次方案,最后败给一个土办法
ai编程
ryn483989 小时前
01 一个功能模块,怎么分层才不乱
前端·ai编程·claude
文谦南宁AI普工9 小时前
CVSS 10.0 沙箱逃逸 + 假扩展后门:给 Agent 开发者的供应链与沙箱安全复盘(附可跑的配置审计器)
安全·agent·ai编程
vivo互联网技术9 小时前
把 Agent 的判断与行动变成可恢复的软件事实|KDC 系列 工程篇
架构·agent·ai编程
T_Wizard9 小时前
后端转 AI 应用开发,我先把这 12 个名词理清了:一张图看懂架构、RAG、Tool Calling 与 MCP
java·ai编程
Potato_土豆10 小时前
AI 工具链的三层架构:Function Calling、MCP 与 Agent 的边界
ai编程
ZzT12 小时前
AI-SDLC 实践 02|工作流到底该怎么设计,Agent 串联还是脚本串联?
ai编程·claude
youcans_13 小时前
【嵌入式软件AI编程】(3)面向 AI 协同开发的 STM32 硬件信息标准化
人工智能·stm32·嵌入式硬件·ai编程
挖掘狂人14 小时前
AI PC 分水岭:2026 过半 PC 搭载本地 AI,端云协同才是核心
人工智能·程序员·ai编程