工作区与隔离配置
用工作区分开不同场景的来源、技能、会话与配置,让个人项目、客户项目与开发环境互不干扰。
理解工作区
工作区是一套独立配置,存放在本机的 ~/.zero-works/workspaces/{workspace-slug}/ 目录下。
个人项目、公司工作、客户项目或不同环境,各自用一个工作区,互不影响。
同一台机器上可以存在多个工作区,它们之间的来源、技能、会话与配置彼此隔离。
工作区是比项目更粗的一层组织,某个上下文下的项目都放在它里面。
| 组成 | 说明 |
|---|---|
| 来源 | 连接到这个工作区的 MCP 服务、接口与本地文件夹 |
| 技能 | 可以用 @ 提及调用的可复用任务说明 |
| 会话 | 只属于这个工作区的对话历史 |
| 配置 | 工作区自己的默认模型连接与主题设置 |
添加工作区
- 点击侧栏的工作区下拉菜单,菜单顶部显示当前工作区名称。
- 选择“添加工作区”。
- 填写工作区名称,并选择这个工作区对应的项目目录。
- 保存后工作区出现在下拉菜单中,随时可以切换过去。
切换工作区
侧栏始终显示当前工作区名称,让你随时知道自己在哪里。
切换之后,该工作区的来源、技能、会话与配置都会一并加载进来,可以直接开始。
- 点击侧栏的工作区下拉菜单。
- 选择要切换到的工作区。
- 核对会话列表与来源,确认已经进入正确的上下文。
工作区专属配置
每个工作区各自维护下面这些内容,彼此互不覆盖;修改其中一个工作区,不会影响其他任何工作区的设置。
| 数据 | 说明 |
|---|---|
| 来源 | 本工作区连接的 MCP 服务、接口与本地文件夹 |
| 技能 | 定义在 skills/ 目录中的可复用任务说明 |
| 会话 | 保存在 sessions/ 目录中的对话历史 |
| 项目 | 可选的工作区级项目目录,各自带配置与长期记忆 |
| 默认模型连接 | 新建会话时优先使用的模型连接 |
| 主题 | 可选的配色覆盖,在“设置 → 外观”中配置 |
目录结构
工作区目录是可读、可备份的普通文件夹,不需要额外工具就能查看和复制。
下面是常用结构,实际使用过程中还会出现其他条目与文件。
~/.zero-works/workspaces/{workspace-slug}/ ├── config.json # 工作区配置 ├── sources/ # 已连接的来源,每个来源一个目录 │ └── {source-slug}/ │ ├── config.json # 来源配置 │ └── guide.md # 来源的使用说明 ├── skills/ # 技能定义 │ └── {skill-slug}/ │ └── SKILL.md # 技能正文 ├── sessions/ # 对话记录 │ └── {session-id}/ │ └── session.jsonl └── projects/ # 项目(可选) └── {project-slug}/ ├── config.json # 项目配置 ├── MEMORY.md # 长期项目记忆 └── assets/ # 项目素材
工作区默认值
工作区可以覆盖应用级的默认值,例如新建会话默认使用哪个模型连接。
它也能设置界面的配色主题,让每个工作区各自保持自己的外观与模型。
- 会话中显式选择的连接。
- 工作区默认:defaults.defaultLlmConnection。
- 全局默认:config.json 中的 defaultLlmConnection。
- 连接列表中的第一个可用连接。
{ "defaults": { "defaultLlmConnection": "your-model-connection", "colorTheme": "your-theme" } }
多个窗口
可以同时打开多个窗口,通常一个工作区一个窗口,这样不用反复切换就能把不同的上下文并排放着。
标题会在打开或关闭窗口、以及某个窗口切换到其他工作区时自动更新,方便在任务栏或窗口切换器里认准要的那一个。
同一个工作区的几个窗口会显示同一批会话,所以真正并行的进度需要分开放在不同的工作区中处理。
| 打开的窗口数 | 窗口标题显示 |
|---|---|
| 1 | ZeroWorks(应用名) |
| 2 个及以上 | 该窗口正在查看的工作区名称 |
从另一台设备连接同一工作区
工作区和会话保存在实际运行 ZeroWorks Agent 的主机上。当前桌面端没有接入 ZeroWorks 账号云同步;登录官网或控制台不会自动同步桌面工作区、会话与文件。
跨设备继续同一条会话,需要让客户端连接到同一台主机上的同一个远程工作区。连接依赖服务器 URL、认证 token 与远程工作区 ID,Agent、命令和文件操作仍在服务器主机上运行。
- 在主机上打开“设置 → 服务端”,启用服务器模式,保存端口与可选的 TLS 证书设置;界面提示需要重启时,重启 ZeroWorks。
- 从服务端设置复制可由另一台设备访问的 ws:// 或 wss:// 服务器 URL,以及认证 token;客户端的 localhost 指向客户端自身,不能用来连接另一台主机。
- 在另一台设备的桌面端选择“添加工作区 → 连接远程”,填入 URL 和 token,先点 Test Connection。
- 测试成功后,从返回列表选择已有的远程工作区,再点 Connect。只有确实需要独立内容时才选择创建远程工作区。
- 打开已有会话,核对标题、消息和工作目录,确认连接到了原来的工作区。
- 这是对同一服务器数据的远程访问,不会把主机文件复制到客户端;更换客户端不需要把服务器工作目录改成客户端路径。
- 主机必须持续运行并保持网络可达;连接失败时检查服务器状态、URL、端口、防火墙、TLS 与 token。
- 没有 TLS 的 ws:// 连接会以明文传输 token 和内容。需要加密传输时配置证书并使用 wss://。
典型用法
- 个人与工作分离:两个工作区各有自己的来源、技能和会话历史,私人事务不会混进工作上下文。
- 客户项目:按客户各建一个工作区,配置各自的来源与技能,交付时的材料不会串味。
- 区分开发环境:开发、预发布、生产各用一个工作区,各自指向对应的接口与权限。
- 团队协作:把工作区目录结构复制给同事,或者把配置随项目一起提交,大家拿到同一套工作方式。
提示
- 给工作区起清楚的名字:一眼能分辨上下文,之后切换和查找都更快。
- 先用一个工作区:把基本流程用熟之后再拆分,随时都可以增加。
- 按需放宽权限:只在确实需要时才提高某个工作区的权限范围,并保持每个来源各自独立。
- 定期清理归档:把完成的工作归档或删除,让收件箱始终反映正在推进的事。