Agent Workspace
工作区是 agent 的家。包含配置、工作区上下文文件、skills、日志和存储。默认位置为 ~/.MushroomAgent/。
目录结构
~/.MushroomAgent/
├── config.yaml # 主配置文件
├── prompts/ # init 生成的工作区上下文
│ ├── AGENTS.md # 规则与约束
│ ├── SOUL.md # 人格与语调
│ └── IDENTITY.md # 自我身份
├── HEARTBEAT.md # 工作区上下文:心跳检查清单
├── skills/ # 本地 skills 目录
├── storage/ # Agent 存储
└── logs/ # 运行时日志
根目录下的 AGENTS.md、SOUL.md、IDENTITY.md 仍然受支持;当根目录与 prompts/ 中同时存在同名文件时,根目录文件优先生效。
工作区上下文文件
Agent 在每次会话启动时读取这些文件,并将其内容注入系统 prompt:
| 文件 | 用途 | 注入时机 |
|---|---|---|
AGENTS.md | 项目规则、操作约束、执行边界 | 每轮(除非被跳过) |
SOUL.md | 人格与语调 — 语气、风格、角色 | 每轮(除非被跳过) |
IDENTITY.md | 规范的自我身份和角色 | 每轮(除非被跳过) |
HEARTBEAT.md | 心跳检查清单和指导 | 仅心跳轮次 |
所有文件均为可选 — agent 只加载工作区中存在的文件。
加载行为
文件由 load_workspace_context_files() 加载,由 render_workspace_context_message() 注入:
- 从工作区根目录读取文件
- 按顺序加载(AGENTS.md → SOUL.md → IDENTITY.md)
- 每个文件上限 4000 字符
- 所有文件的上下文总计上限 12000 字符
- 超出部分截断并标记:
[truncated to fit prompt budget] - 如果存在
IDENTITY.md,agent 将其视为规范的自我身份来源 - 缺失的文件静默跳过(不注入标记)
跳过上下文
在 config.yaml 中设置 agent.skip_context_files: true 可阻止注入任何工作区上下文文件。子 agent 默认使用此设置以保持隔离。
子 agent 工作区
通过 delegate_task 派生时,子 agent:
- 完全跳过工作区上下文文件
- 以
quiet_mode: true运行 - 通过
ephemeral_system_prompt接收任务指令 - 与父 agent 共享同一工作区目录
参见
- Templates — 每个工作区上下文文件的详细文档
- System Prompt — 工作区文件在完整 prompt 中的位置
- 配置参考 — 全部配置字段