系统提示
OpenClaw 为每次代理运行构建自定义系统提示。该提示由 OpenClaw 自主管理,不使用 p-coding-agent 的默认提示。 提示由 OpenClaw 组装,并在每次代理运行时注入。结构
提示经过精心设计,结构紧凑,采用固定板块:- 工具:当前工具列表 + 简短描述。
- 技能(如有):告知模型如何按需加载技能指令。
- OpenClaw 自我更新:说明如何运行
config.apply和update.run。 - 工作区:工作目录 (
agents.defaults.workspace)。 - 文档:OpenClaw 文档的本地路径(仓库或 npm 包),以及何时查阅这些文档。
- 工作区文件(注入):表明下方包含引导文件。
- 沙箱(启用时):指示沙箱运行时、沙箱路径,以及是否可进行提升权限执行。
- 当前日期与时间:用户本地时间、时区和时间格式。
- 回复标签:适用于支持提供商的可选回复标签语法。
- 心跳:心跳提示及确认行为。
- 运行时:主机、操作系统、Node.js 版本、模型、检测到的仓库根目录(如适用)、思考层级(一行)。
- 推理:当前可见性级别 + /reasoning 切换提示。
提示模式
OpenClaw 可为子代理渲染更小的系统提示。运行时会为每次运行设置一个promptMode(非面向用户的配置):
full(默认):包含上述所有板块。minimal:用于子代理;省略技能、记忆调用、OpenClaw 自我更新、模型别名、用户身份、回复标签、消息传递、静默回复和心跳。工具、工作区、沙箱、已知的当前日期与时间、运行时以及注入的上下文仍可用。none:仅返回基础身份行。
promptMode=minimal 时,额外注入的提示被标记为子代理上下文,而非群聊上下文。
工作区引导注入
裁剪后的引导文件附加到项目上下文下,使模型无需显式读取即可访问身份和配置文件上下文:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(仅适用于全新工作区)
agents.defaults.bootstrapMaxChars 控制(默认:20000)。缺失的文件会注入一个简短的缺失文件标记。
内部钩子可通过 agent:bootstrap 拦截此步骤,以修改或替换注入的引导文件(例如用 SOUL.md 替换为备选角色)。
要检查每个注入文件的实际贡献量(原始代码与注入代码、截断代码以及工具模式开销),可使用 /context list 或 /context detail。详情参见 上下文。
时间处理
当已知用户时区时,系统提示包含专门的“当前日期与时间”板块。为保持提示缓存稳定,目前该板块仅显示“时区”,而不包含动态时钟或时间格式。 当代理需要当前时间时,请使用session_status;状态卡中包含时间戳行。
可通过以下配置进行设置:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
技能
当存在符合条件的技能时,OpenClaw 会注入一份精简的可用技能列表(formatSkillsForPrompt),其中包含每项技能的文件路径。提示指示模型使用read在所列位置(工作区、托管或捆绑)加载SKILL.md文件。如果没有符合条件的技能,则省略技能板块。
文档
在可用时,系统提示包含文档板块,指向本地 OpenClaw 文档目录(位于仓库工作区中的docs/ 或捆绑的 npm 包文档),并注明公开镜像、源代码仓库、社区 Discord 以及 ClawHub(https://clawhub.com),以方便发现技能。提示指示模型首先查阅本地文档,了解)。OpenClaw 的行为、命令、配置或架构,并在可能的情况下自行运行 openclaw status(仅在无访问权限时才询问用户)。