-
Notifications
You must be signed in to change notification settings - Fork 1
Scope zh
pawaca edited this page Aug 30, 2026
·
2 revisions
上游作用域注册和 Agent 作用域生命周期词汇在 Edge 中的适配。
上游参考:Scope
scope 包()是一个库原语——不是 cordis Service——提供身份、载体和作用域层词汇,用于 Agent 作用域的注册:
-
ScopeKey — 不透明的对象标识,用于路由。Agent 循环使用 对象作为 key。
- Scoped<T> — 品牌类型,标记由 创建的作用域过滤事件接收器。
- ScopeLayer — 一个作用域对注册表的完整贡献,带空置追踪用于资源回收。
- ScopedLayers — 管理全局和惰性创建的作用域特定层。读取不创建; 按插入顺序实体化条目。 此词汇由 、、 等需要按 Agent 可见性的注册表内部消费。它的工作方式类似编程语言的变量作用域:在 Agent 作用域内注册的资源对外部不可见,Agent dispose 时自动清理。
对 Edge 来说什么时候重要? 目前完全透明——Edge 只有一个 Agent preset,所有工具注册在根 Context。Scope 在以下场景变得关键:
-
Subagent:子 Agent 不能看到父 Agent 的工具,也不能把自己的工具泄漏给父 Agent。
- Agent Preset:不同 session 使用不同 preset 时需要隔离的工具集。
是上游插件的传递依赖(AgentRegistry 使用 ,ToolRuntime 使用作用域过滤的工具可见性)。Edge 不直接导入或配置它——通过上游插件栈透明工作。
创建自己的私有 (session-store.ts 第 193 行),而不是从外部接收。这是 Durable Object 生命周期驱动的 Edge 设计选择:
- 每次 DO 激活创建新的 和新的 Context
- 所有插件在 期间安装到此私有 Context
- DO 休眠或被驱逐时 Context 销毁
- 所有 workspace 和 session 共享同一个 DO 实例内的 Context 这与上游不同——上游的单个长生命周期 Context 贯穿 Node.js 进程生命周期。
- ScopeKey 身份和路由机制
- Agent 作用域事件过滤和可见性
- ScopeLayer 空置追踪和资源回收
- 上游注册表(tools、system prompt、projections)如何使用作用域层
Context 初始化:Edge 在每次 DO 激活时创建新 Context 并安装约 30 个插件。耗时 50–200ms,取决于插件数量和存储读取。同一激活内的后续请求复用已初始化的 Context,零开销。
Scope 开销:作用域路由是 O(1) 查找—— 用作 Map key。通常每个 session 一个 agent,作用域层增加的开销可忽略。
| 组件 | 分类 | Edge 代码 |
|---|---|---|
| 词汇 | 复用 | 传递依赖,不直接导入 |
| 私有 cordis Context | 替换 | 每次 DO 激活 |
关键观察:Scope 是不可见的基础设施——Edge 既不导入也不配置它。唯一的 Edge 特点是每个 DO 创建自己的短生命周期 Context,而不是共享长生命周期的进程 Context。这种隔离是 serverless 模型的自然结果,不是刻意的适配。
- Home
- Architecture
- Core & Scope
- Session & Persistence
- Model & Context
-
Execution & Tools
- Tools
- Bash
- Subprocess 🚫
- PTY Session 🚫
- Background Jobs 🚫
- Filesystem
- LSP Navigation 🚫
- Code Runtime 🚫
-
Web Access
⚠️ -
Skills
⚠️ - Workflow 🚫
- Subagent 🚫
-
Policy & Interaction
- Goal
- Approval 🚫
- Permission Presets 🚫
-
Sandbox
⚠️ - Plan Mode 🚫
- User Interaction 🚫
- Commands 🚫
- Schedule 🚫
- Message Feedback 🚫
- Platform & Access
- Development
- 首页
- 架构
- 核心与作用域
- 会话与持久化
- 模型与上下文
- 执行与工具
- 策略与交互
- 平台与接入
- 开发