DAG总览 / 组目录 / G25 MCP 协议

dsh-mcp-resources · @deepseek-ai/dsh-mcp-resources

Layer 5G25
目录:ACP 协议API 网关与控制器附件启动与插件管理客户端运行时客户端 UI 包上下文压缩上下文注入核心运行时凭据与授权交付物文档处理实验特性宿主扩展反馈通道文件系统目标与计划工具守卫Hooks 扩展宿主服务交互命令作业调度LLM 适配LSP 集成MCP 协议规划模式Agent 预设代码执行运行时运行时诊断沙箱定时调度SDK 与协议会话核心会话检索设置Shell 执行技能溢出存储SSH 远程执行存储子代理子进程终端待办类型契约框架 vendorWeb 访问Webhook工作流工作区
依赖链 · 上游(该插件依赖的前驱):
依赖链 · 下游(依赖该插件的节点):
同一拓扑层(Layer 5,层次遍历层序):
↑ Layer 4(13 插件)Layer 5↓ Layer 6(18 插件)

插件信息

包名@deepseek-ai/dsh-mcp-resources
分组G25 · MCP 协议
拓扑层Layer 5(层次遍历:被依赖方先于依赖方)
源码路径packages/mcp/mcp-resources

① 实现逻辑

McpResourceRuntime 继承 Service 并声明 ctx.mcpResources,以 ScopedLayers/NamedEntries 按作用域存放各 MCP 连接的资源 provider;某作用域首个 provider 注册时挂载三条共享工具,末个移除时同步卸载(src/index.ts:36-119)。request() 先按 exec.agent 的可视作用域解析目标 server,找不到即报错,再把操作委托给 provider(src/index.ts:122-126)。tools.ts 定义 list_mcp_resources、list_mcp_resource_templates、read_mcp_resource 三工具并适配模型参数(src/tools.ts:31-63);render.ts 以 JSON replacer 把 blob 二进制替换为描述文本,避免其进入模型历史(src/render.ts:16-23)。

内部结构动态 DAG(深色主题:橙色=上游依赖 · 绿色=下游依赖 · 棕色=外部seam · 蓝=本插件)
本插件 上游依赖 下游依赖 外部 seam

② 注册/提供(provides)

③ 依赖(depends_on · 上游前驱)

dsh-llmE1
把资源结果投影为核心内容块
src/render.ts:7 type ContentBlock
dsh-scopeE1
按 Agent 作用域分层保存与合并资源 provider
src/index.ts:8 createScope/NamedEntries/ScopedLayers/scopeOf
dsh-system-promptE1+E2
发布资源服务器清单提示段
src/index.ts:11 type import + src/index.ts:59 ctx.inject(['systemPrompt'])
dsh-toolsE1+E2
注册并注销三条共享资源工具
src/tools.ts:8 import defineTool + src/index.ts:49 static inject ['tools'] + src/tools.ts:33 ctx.tools.register

④ 被依赖(dependents · 下游消费者)

dsh-mcp-client
向资源运行时发布本连接的资源请求能力
src/server-context.ts:8 type McpResourceProvider + src/server-context.ts:29 ctx.inject(['mcpResources'])