跳转至

MCP / ACP / LSP 扩展协议

拥抱开放生态:Model Context Protocol、Agent Client Protocol、Language Server Protocol 与 Skills。

DeepSeek Harness 绝不是一个孤立的系统,它全面支持并融合了业界主流的开放通信协议。


核心文件速查

路径 职责 重要度
packages/mcp/mcp-client/src/index.ts Anthropic MCP 协议客户端接入 ⭐⭐⭐
packages/acp/acp/src/index.ts 自动化专用的 Agent Client Protocol 网关 ⭐⭐⭐
packages/lsp/lsp/src/index.ts 统一 Language Server Protocol 适配层 ⭐⭐
packages/skill/skill/src/index.ts Skill 技能动态注册、搜索与加载器 ⭐⭐⭐

1. MCP (Model Context Protocol) 客户端

DSH 原生支持接入任何标准的 MCP Server(如 GitHub MCP、PostgreSQL MCP、Brave Search MCP)。 - 当配置了外部 MCP 服务后,mcp-client 会在启动时通过 JSON-RPC 自动握手并拉取其暴露的 Tools 和 Resources; - 这些工具会被自动转换为 DSH 标准的 ToolSchema 并注册到 ctx.tools 中; - 模型调用 MCP 工具时,DSH 自动代理转发并回灌结果。


2. ACP (Agent Client Protocol) 自动化网关

除了人机交互的 Web GUI 之外,DSH 还专为 CI/CD、自动化评估和 IDE 插件提供了 ACP(Agent Client Protocol) 服务(packages/acp): - 允许外部 IDE(如 VS Code、Cursor、JetBrains)通过标准的 ACP 协议操控 DSH; - 无头(Headless)环境下执行端到端基准测试(Benchmark)和代码评测。


3. LSP (Language Server Protocol) 代码智能

为了让 Agent 具备像资深工程师一样的代码语义导航能力,DSH 封装了 LSP 服务: - 支持后台与 TypeScript/Pyright/Rust-Analyzer 等语言服务器交互; - 提供 find_definitions(跳转定义)、find_references(查找引用)、document_symbols(提取大纲)等能力; - 相比盲目的全库文本 grep,LSP 能让 Agent 精准定位类型与调用图,极大地减少无效探索。


4. Skills 技能系统

Skill 是一种可动态加载的结构化知识包: - 每个 Skill 包含一个 SKILL.md,定义了在特定任务下的专业工作流与最佳实践; - packages/skill/tool-skill 提供了 skill 发现与加载工具; - 只有当用户任务与特定技能匹配时,Agent 才会按需加载详细指南,避免所有规则一直塞在 Prompt 中浪费 Token。


本章思考与自测

  1. 思考题:MCP 工具与 DSH 内置的本地工具(如 fsbash)在沙箱权限控制上有什么区别?
  2. 自测题:为什么 DSH 将 Skill 的内容设计为"按需加载"而不是在一开始就全部拼接到 System Prompt 中?