-
Notifications
You must be signed in to change notification settings - Fork 1
Workspace zh
pawaca edited this page Aug 30, 2026
·
1 revision
上游工作区目录管理系统在 Edge 中的适配。
上游参考:工作区
WorkspaceRegistry(ctx.workspaceRegistry)将稳定的 UUID 与工作目录关联,每个工作区携带显示标题和有序的 session 账本。操作包括创建、重命名、删除、排序、关联/分离 session 和归档 session。状态通过 storageDomain 持久化。
原封安装。所有工作区逻辑——身份、成员关系、排序、session 账本、归档——都是上游代码。
instance.ts 中每个工作区变更操作在完成后手动广播 host/workspace-changed 或 host/workspace-removed WebSocket 帧。上游通过进程内的 Connection 插件完成此操作;Edge 用显式的 broadcast() 调用替代传输。
首次 DO 激活时(无已有工作区状态),Edge 在 /workspace 创建默认工作区。此路径与 Computer VFS 文件存储根目录一致。
- 工作区身份(branded UUID)、路径规范化、唯一性规则
- Session 成员关系和关联逻辑
- 排序语义(
insertBefore) - 归档 session 集合管理
- 持久化格式(storageDomain 记录)
工作区状态存在 storageDomain(DO KV 后端)中。注册表在启动后将完整列表缓存在内存中。列表读取是 O(1) 的内存缓存读取。变更操作是单键 KV 写入。
每个工作区变更产生一个 WebSocket 帧广播。由于工作区操作不频繁(用户发起),开销可忽略。上游通过不同传输广播相同帧。
| 组件 | 分类 | Edge 代码 |
|---|---|---|
| WorkspaceRegistry | 复用 | 一行 ctx.plugin() 调用 |
| CRUD 广播 | 桥接 | 每次变更的 broadcast()
|
| 默认工作区 | 桥接 | 首次启动时创建 /workspace
|
关键观察:WorkspaceRegistry 完全是上游代码。Edge 只加了上游 Connection 插件会提供的 WebSocket 广播,以及为 VFS 根目录创建默认工作区。
- 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
- 首页
- 架构
- 核心与作用域
- 会话与持久化
- 模型与上下文
- 执行与工具
- 策略与交互
- 平台与接入
- 开发