360 Secure SkillHub
360 安全技能中心

Lobster Fork Mode

该 Skill 提供在 OpenClaw 中 fork 子 Agent 的模板流程:先收集父会话的目标、文件路径、代码片段、决策记录与用户偏好,再按模板构建 Fork Prompt,最后通过 sessions_spawn 生成子 Agent 并将结果流回父会话;同时给出上下文长度上限、截断策略和适用场景对照。

wangxiaofei860208-source
wangxiaofei860208-source
热度 46.29
最近更新 2026-05-11 17:40:12
分类:自动化依赖:MCP 服务应用场景:工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add lobster-fork-mode
Metadata
name
lobster-fork-mode
description
Fork子Agent模式 — 子Agent继承父上下文。当需要子Agent了解父会话的关键上下文时自动激活。
metadata
{"openclaw":{"requires":["sessions_spawn","read","memory_search"]}}

Fork Mode — 子Agent上下文继承

参考 Claude Code 的 forkSubagent.ts 和 runForkedAgent()。

问题

sessions_spawn 创建的子Agent是全新会话,没有父会话的上下文。这导致子Agent缺少关键信息。

解决方案

在spawn子Agent时,手动注入父上下文。

Fork 模板

Step 1: 收集父上下文

需要注入的上下文:
1. 当前任务的目标和约束
2. 相关文件路径和关键代码片段
3. 已做出的决策和原因
4. 用户偏好(从MEMORY.md提取)
5. 项目结构概要

Step 2: 构建Fork Prompt

你是一个子Agent,从父会话 fork 出来。以下是你的继承上下文:

## 父会话上下文
{从Step 1收集的信息}

## 你的任务
{具体任务描述}

## 约束
- 工具白名单:{从Agent定义读取}
- 不要修改父会话的文件(除非明确要求)
- 完成后返回:{期望的输出格式}

Step 3: Spawn

sessions_spawn:
  runtime: "subagent"
  mode: "run"
  task: "{Fork Prompt}"
  streamTo: "parent"

上下文大小控制

上下文类型 最大长度 截断策略
任务目标 500字 保留核心需求
文件路径 10个文件 保留最相关的
代码片段 2000字 保留签名+关键逻辑
决策记录 5条 保留最新的
用户偏好 3条 保留最相关的

缓存共享(模拟Claude Code的CacheSafeParams)

OpenClaw没有prompt cache共享机制,但可以通过以下方式减少重复:

  1. 子Agent使用相同模型(model: zai/glm-5.1)
  2. system prompt结构一致
  3. 避免在task中重复注入完整的SKILL.md内容

适用场景

场景 Fork模式 普通spawn
需要了解项目背景 ✅ ❌
需要知道已做决策 ✅ ❌
纯机械任务(格式化、搜索) ❌ ✅
需要用户偏好 ✅ ❌
独立的新项目 ❌ ✅