目录:ACP 协议API 网关与控制器附件启动与插件管理客户端运行时客户端 UI 包上下文压缩上下文注入核心运行时凭据与授权交付物文档处理实验特性宿主扩展反馈通道文件系统目标与计划工具守卫Hooks 扩展宿主服务交互命令作业调度LLM 适配LSP 集成MCP 协议规划模式Agent 预设代码执行运行时运行时诊断沙箱定时调度SDK 与协议会话核心会话检索设置Shell 执行技能溢出存储SSH 远程执行存储子代理子进程终端待办类型契约框架 vendorWeb 访问Webhook工作流工作区
依赖链 · 上游(该插件依赖的前驱):
依赖链 · 下游(依赖该插件的节点):
dsh-agentdsh-agent-loopdsh-agent-preset-registrydsh-api-remotesdsh-api-session-controllerdsh-client-connectiondsh-client-file-uploaddsh-commandsdsh-cordis-host-runnerdsh-goaldsh-jobs-localdsh-mcp-clientdsh-mcp-resourcesdsh-sdk-jsonrpc-serverdsh-sessiondsh-skilldsh-subagentdsh-system-promptdsh-tool-subagentdsh-toolsdsh-user-approvaldsh-user-questions
同一拓扑层(Layer 1,层次遍历层序):
插件信息
| 包名 | @deepseek-ai/dsh-scope |
|---|---|
| 分组 | G09 · 核心运行时 |
| 拓扑层 | Layer 1(层次遍历:被依赖方先于依赖方) |
| 源码路径 | packages/core/scope |
| 来源层 | L3 其余插件(独立于 bundle 装配的扩展/变体/示例) |
① 实现逻辑
提供作用域上下文原语:`createScope` 用 `ctx.plugin()` 铸造带 `kScope` 标记的子上下文并给出 exact/shared 两种拆卸边界 (src/index.ts:137-147);`bindScopeParent`/`scopeParentOf`/`scopeChainOf` 维护 key 的父子链并做环检测 (src/index.ts:54-102);`scopeTarget` 构造保留基础 filter、按 key 及其祖先准入监听的作用域载体 (src/index.ts:170-185)。store.ts 提供 `NamedEntries`/`AnonymousEntries` 插入有序存储与 `ScopedLayers` 全局/精确作用域层聚合,经 `ctx.effect()` 绑定注册所有权与可见性 (src/store.ts:30-266)。invariant.ts 注册作用域派发不变量,要求 scope-filtered 事件必须携带匹配的 scope carrier (src/invariant.ts:16-32)。
内部结构动态 DAG(深色主题:橙色=上游依赖 · 绿色=下游依赖 · 棕色=外部seam · 蓝=本插件)
本插件
上游依赖
下游依赖
外部 seam
② 注册/提供(provides)
- createScope/bindScopeParent/scopeParentOf/scopeChainOf/scopeOf (作用域铸造与父子链)
- scopeTarget/isScopeCarrier/carrierKeyOf (作用域路由载体)
- NamedEntries/AnonymousEntries/ScopedLayers/ScopeLayer (作用域感知注册表存储)
- ScopeKey/Scope/Scoped/ScopeParentBinding 类型
③ 依赖(depends_on · 上游前驱)
dsh-invariantsE1+E2
注册作用域派发关系的运行时不变量
package.json:35 peerDep + src/invariant.ts:4 import + src/invariant.ts:13 inject(['invariants']) + src/invariant.ts:41 register
④ 被依赖(dependents · 下游消费者)
dsh-agent-loop
为每个 agent 铸造作用域上下文
src/agent.ts:28-29 import createScope + src/agent.ts:130 createScope(loopCtx, this)
dsh-agent-preset-registry
建立 Agent scope 与 preset standing scope 的父子绑定关系
src/index.ts:5 bindScopeParent/createScope/scopeOf + src/mount.ts:6 scopeOf/scopeParentOf
dsh-api-remotes
从 waterfall 的 this 提取 carrier Agent 作用域
src/index.ts:13 import carrierKeyOf + package.json peerDependencies dsh-scope
dsh-commands
全局与 agent 作用域的命令分层
package.json:61 peerDep + src/index.ts:12-13 import NamedEntries/ScopedLayers; src/index.ts:264 ScopedLayers
dsh-goal
goal/changed 事件按 agent 作用域分发的类型约束
src/domain.ts:114 import('@deepseek-ai/dsh-scope').Scoped + package.json peerDependencies
dsh-mcp-resources
按 Agent 作用域分层保存与合并资源 provider
src/index.ts:8 createScope/NamedEntries/ScopedLayers/scopeOf
dsh-session
为会话构造作用域路由载体并读取上下文作用域
src/index.ts:13-14 import scopeOf/scopeTarget + src/index.ts:426 scopeTarget 构造 carrier + package.json:50 peerDep
dsh-skill
复用 ScopedLayers/NamedEntries/scopeOf/scopeChainOf 实现按 agent scope 分层的注册表与缓存键 (src/index.ts:362-371)
package.json:32 peerDep + src/index.ts:16-17 import
dsh-subagent
按委派父级做作用域过滤的事件派发
src/index.ts:36-37 (import scopeTarget, Scoped) + src/index.ts:216 (scopeTarget(this, parent))
dsh-system-prompt
以作用域层存储并合并各作用域的提示贡献
src/index.ts:9-10 import AnonymousEntries/NamedEntries/ScopedLayers/scopeTarget
dsh-tool-subagent
识别 preset 组合作用域
src/index.ts:13 (import scopeChainOf, scopeOf) + src/index.ts:654 (scopeOf(ctx))
dsh-user-approval
按 agent 过滤审批请求分派
package.json:44 peerDep + src/index.ts:19、src/types.ts:9 import scopeTarget/Scoped; src/index.ts:282 作用域 waterfall
dsh-user-questions
按 agent 作用域分派问答请求
package.json:37 peerDep + src/index.ts:13、src/types.ts:3 import scopeTarget/Scoped; src/index.ts:138 作用域 waterfall