跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

Fork 上下文与执行限制

继承父对话,通过 fork_tools 或项目 profile 限制工具,并理解缓存和目录共享。

Fork 适合需要当前对话背景的独立调查。必须显式选择 subagent_type: "fork";普通具名 subagent 从自己的新上下文开始。

继承多少历史

仅 fork 接受 fork_turns:省略或 all 表示完整父对话,正整数字符串如 "3" 表示最近三个真实用户轮次。工具响应和纯系统提醒不计入用户轮次。常规 subagent、具名团队队友不接受它。

Fork 保留父级系统提示和派生工具声明,以利共享请求前缀缓存。实际缓存收益取决于模型提供商和请求情况,不能把官方并行示例中的成本比例当作每次运行保证。

Fork 使用后台分离路径,父会话可继续工作,无头会话同样支持。它不能再启动子智能体;调用 Agent 会被运行时拒绝。

限制执行,不改变声明

fork_tools 是调用时的工具执行白名单。它保留模型可见声明,执行调度和审批前再拒绝未匹配调用。

写法含义
省略允许其余可执行的继承工具
[]拒绝所有工具调用
read_file 等规范名允许对应内置工具
mcp__github对应 MCP 服务器模式
mcp__*允许所有 MCP,不同时允许未列出的内置工具
mcp__github__read_*尾部 MCP 工具名前缀匹配

不接受单独 *、首尾空白工具名或 shell 参数模式。允许 run_shell_command 只是让它继续正常权限检查,不会预先批准命令。

Fork 始终不能执行 ask_user_question;需要人提供信息时应报告给父级。调用者可以省略或扩大白名单,所以这不是管理员强制沙箱。

保存可复用 profile

把以下内容保存为 .qwen/fork-profiles/ro-research.md:

---
name: ro-research
tools:
  - read_file
  - grep_search
  - glob
promptHint: Inspect the requested files and cite concrete evidence.
---

启动 fork 时选择 fork_profile: "ro-research"。它不能与 fork_tools 或具名队友组合。

Profile 目前只来自项目。请求名、文件名和 frontmatter name 必须完全一致;文件必须解析为该目录内的普通文件,最大 64 KiB。tools 必需,空列表仍代表拒绝全部工具。

promptHint 可选,最多 200 字符,会作为转义后的项目指导放在权威工具限制之前,不改变继承系统提示。文件只接受 frontmatter,结束标记后有非空 Markdown 会被拒绝。

Profile 在启动时解析一次,续接保留原快照,之后改文件不会改变已有 fork。安全模式和 Bare 模式不提供项目 profiles。

工作目录不是隔离副本

Fork 与父级共享工作目录,不支持 worktree 隔离,也不能组合 working_dir。多个 fork 改相同文件可能冲突;需要文件修改时先划清范围,或使用支持独立 worktree 的常规 agent。