利用多智能体编排、隔离记忆及智能体间通信,管理多个工作区(项目目录)。当用户提及……时使用。
工作场所技能:管理多个项目工作场所,每个工作空间的代理、孤立的内存和Swarm式代理管弦乐是一项面向实际任务的技能,主要用于./工作场所指挥(电话/斜线).Hierarchical marching。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过为每个工作区配置独立代理、隔离内存及 Swarm 风格的代理编排机制,统一管理多个项目工作区。
/workplace 命令(Telegram / Slash)支持父子层级导航,可逐级向下钻取。
/workplace 或 /workplace list → 显示顶层视图:以按钮形式列出父级工作区与独立工作区。父级工作区标注子项数量 (N);当前工作区以 ✓ 标记。/workplace → 若目标为独立工作区或子工作区,则直接切换;若为目标为含子项的父工作区,则展示其子级列表(即钻取)。/workplace parent:child → 使用冒号语法直接切换(例如:log-stream:logstream)。/workplace status → 显示当前工作区卡片,含父工作区、关联工作区、代理列表、部署环境等信息。/workplace agents → 列出当前工作区所有代理,并提供启动/停止按钮。/workplace log-stream:logstream 会先按名称解析父工作区,再在其下查找指定子工作区。该语法支持免菜单导航的快速切换。
当用户通过按钮点击、名称或冒号语法切换工作区时,系统执行以下操作:
~/.openclaw/workspace/.workplaces/current.json,写入所选工作区的 UUID 和路径registry.json 中对应条目的 lastActive 字段.workplace/config.json 以获取上下文信息任何工作区操作启动前,均须读取 current.json 以确定当前激活的工作区。
完整按钮布局、回调路由逻辑及平台降级策略详见 telegram-ui.md。
| 命令 | 作用 |
|---|---|
workplace init [path] |
初始化工作区(扫描已有项目或新建) |
workplace list |
列出全部工作区(内联按钮支持一键切换) |
workplace switch |
切换当前激活工作区 |
workplace scan [path] |
在子目录中发现含 .git 的工作区 |
workplace link |
关联一个相关工作区 |
workplace unlink |
解除已关联的工作区 |
workplace status |
显示当前工作区信息及代理运行状态 |
workplace agents |
列出当前工作区内的所有代理 |
workplace agent start |
启动指定代理(作为子代理运行) |
workplace agent stop |
停止正在运行的代理 |
workplace kernel start |
启动持久化内核代理 |
workplace kernel stop |
停止内核代理 |
workplace export [zip|json] |
导出工作区配置 |
workplace import |
从导出文件导入工作区 |
workplace delete |
从注册中心移除该工作区 |
workplace deploy |
显示或执行指定环境的部署说明 |
workplace sync |
为 Cursor / Claude / OpenCode / all 等 IDE 生成上下文 |
中央注册中心位于 ~/.openclaw/workspace/.workplaces/:
registry.json — 记录所有已知工作区,含 UUID、路径、主机名、关联关系等current.json — 记录当前激活的工作区每个项目根目录下拥有一个 .workplace/ 目录:
.workplace/ ├── config.json # UUID、名称、路径、主机名、关联工作区、父工作区 ├── agents/*.md # 代理角色定义(kernel.md 始终存在) ├── memory/ # 隔离式每日日志(YYYY-MM-DD.md) ├── skills/ # 工作区专属技能(由用户通过 git 维护) ├── chat.md # 代理间通信记录 ├── structure.json # 自动扫描生成的文件树结构 ├── full-tree.md # 完整树状结构(含父工作区 + 同主机名关联工作区) ├── process-status.json # 代理运行时状态与错误信息 └── deploy/ # 部署文档:dev.md、main.md、pre.md
.git/ 目录的路径均视为潜在工作区workplace link 手动建立关联scripts/init_workplace.sh [--name ] [--desc ] *.md 文件、分析项目类型、推荐代理配置.workplace/ 目录结构,注册至中央注册中心,并设为当前工作区init-guide.md代理定义为 .workplace/agents/ 下的 .md 文件,含 YAML 前置元数据(name、role、triggers、handoff_to)。通过 sessions_spawn 启动代理,其系统提示词由代理定义与工作区上下文共同构建。
agent-system.md代理通过 chat.md 进行结构化消息通信。Rust 编写的文件监听服务实时监控该文件变更,并将解析后的消息以 JSON 行格式输出。
chat-protocol.md二进制文件位于 assets/bin/workplace-server-{os}-{arch},源码构建方式为 scripts/build.sh。
# 启动指定项目的工作区监听服务
workplace-server /path/to/project
# 服务将每个新增的 chat.md 消息以 JSON 行格式输出至 stdout
{"timestamp":"...","sender":"coder","recipient":"reviewer","broadcast":[],"message":"...","line_number":1}
.workplace/ 目录(默认排除 memory/)在支持内联按钮的平台(如 Telegram / Discord)上:workplace list 显示可点击的工作区切换器;workplace agents 为每个代理提供独立的启动/停止按钮;workplace deploy 显示各部署环境按钮。
消息格式、按钮组件与回调处理逻辑详见 telegram-ui.md。
降级方案:在不支持按钮的平台(如 WhatsApp、Signal)上,以编号文本列表形式呈现。
将工作区上下文同步至外部编码工具:
.cursor/rules/workplace.mdc(含前置元数据的 MDC 文件)CLAUDE.md(Markdown 格式,基于标记增量更新)opencode.jsonc 中的 instructions 字段运行 workplace sync all 可批量更新所有已检测到的 IDE;也可指定单一目标,如:workplace sync cursor。
实现细节详见 ide-sync.md。
| 脚本 | 用途 |
|---|---|
scripts/init_workplace.sh |
在指定目录中初始化 .workplace/ |
scripts/scan_workplaces.sh |
在指定路径下查找含 .git 的工作区 |
scripts/build.sh |
为当前平台构建 Rust 服务端二进制文件 |
每个工作区以其 UUID 作为 containerTag 执行 Supermemory 操作:
containerTag 实现严格隔离完整命令参考(含示例)详见 commands.md。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习