LAYER 05 · 从单 Agent 扩到协作系统

Skills、MCP、LSP 与 Web 能力

操作指南、动态工具、代码语义与互联网访问各有独立服务边界

19 min4 处源码锚点upstream@47f9438
discover → normalize → register → same tool pipeline
本章要解决的问题

Skill 和 Plugin 都能扩展 Agent,为什么它们不是一回事?

先建立直觉

Skill 是给操作员的标准作业指导书;Plugin 是给工厂安装的新设备;MCP 是外部设备协议;LSP 是专门的代码测量仪。

MECHANISM

机制拆解

ctx.skills 合并 provider 目录,tool-skill 先展示目录再按需注入完整正文;内容进入模型上下文但不注册新 JS service。

MCP client 动态发现外部工具后注册到 ctx.tools;LSP seam 只暴露四种标准化查询,不提供协议逃生口;Web seam 把 search/fetch provider 放在稳定 tool-web 名称之后。

第 1 步 / 共 5 步

发现能力

扫描 Skill 文件、MCP server 或 provider 注册。

INVARIANTS

无论怎么扩展,都不能破坏

  • MCP 工具不能绕过 ctx.tools
  • Skill 正文是模型上下文,不是受信任代码
  • LSP provider 必须转换成标准结果
FAILURE MODES

最容易踩中的坑

  • ×把 Skill 当 Plugin 执行任意代码
  • ×直接把 MCP schema 原样信任为内部类型
  • ×暴露通用 LSP request 方法破坏 seam
VERIFY IN SOURCE

不要相信结论,去源码里复核

以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。

KNOWLEDGE CHECK

先停十秒,再揭晓答案

MCP 工具发现后为什么仍需注册到 ctx.tools?

为什么下一章紧接在这里

能力地图已经完整;最后一层把它落实为四种扩展任务:工具、Provider、客户端表面和产品组合。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。