DAG总览 / 组目录 / G08 上下文注入

dsh-file-reference-local · @deepseek-ai/dsh-file-reference-local

Layer 5G08L2 web-app
目录: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-file-reference-local
分组G08 · 上下文注入
拓扑层Layer 5(层次遍历:被依赖方先于依赖方)
源码路径packages/context/file-reference-local
来源层L2 web-app bundle(base 之上装配)

① 实现逻辑

ctx.fileReferences 的本地文件系统实现 LocalFileReferenceService,继承 dsh-file-reference 的服务基类并以 WorkspaceFileSearch 对 agent 工作目录建立可取消/可复用的模糊索引(src/index.ts:44-127、src/search.ts:84-255)。索引只含路径;目录前缀查询走实时列举,裸模糊查询共享一次有界遍历,且失效时旧索引继续应答、重建在后台进行(src/search.ts:114-130、src/search.ts:159-199)。按 agent 生命周期安装/卸载 system-prompt 的 context:file-reference 段落与搜索缓存,并在 tool/result 时使缓存失效(src/index.ts:66-102)。

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

② 注册/提供(provides)

③ 依赖(depends_on · 上游前驱)

dsh-agentE1+E2
按 agent 维护搜索索引与提示词 fiber 生命周期,并用 agent 的会话 cwd 作为搜索根
src/index.ts:9 import type Agent + src/index.ts:45 static inject ['agents'] + src/index.ts:91 ctx.agents.list + src/index.ts:92-93 ctx.on('agent/created'/'agent/disposed')
dsh-sessionE2
订阅会话事件流以在工具结果提交后失效文件索引
src/index.ts:98 ctx.on('session/event', ...) + src/index.ts:100 ctx.agents.get(session.id)
dsh-toolsE1+E2
仅在 read 工具存在时展示 @ 提示词,并在工具结果后使工作区索引失效
src/index.ts:14 type-only import + src/index.ts:73 agent.ctx.tools.get('read', agent) + src/index.ts:98 ctx.on('session/event') tool-result invalidate

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

无下游(叶子/被消费端)