OpenClaw从入门到应用——Agent:系统提示词
通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》
OpenClaw 为每次智能体运行构建自定义的系统提示。该提示由OpenClaw 拥有,不使用 pi-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(仅在全新工作区)- 存在时的
MEMORY.md,否则回退为小写的memory.md
所有这些文件在每次交互时都会注入到上下文窗口中,这意味着它们会消耗 token。请保持简洁 —— 尤其是MEMORY.md,它会随时间增长,导致上下文使用量意外增加并更频繁地进行压缩。
注意:
memory/*.md的每日文件不会自动注入。它们通过memory_search和memory_get工具按需访问,因此除非模型显式读取,否则不会计入上下文窗口。
大文件会被截断并添加标记。每个文件的最大大小由agents.defaults.bootstrapMaxChars控制(默认:20000)。所有文件的总注入引导内容上限由agents.defaults.bootstrapTotalMaxChars控制(默认:150000)。缺失的文件会注入一个简短的缺失文件标记。发生截断时,OpenClaw 可在项目上下文中注入警告块;通过agents.defaults.bootstrapPromptTruncationWarning控制此行为(off、once、always;默认:once)。
子智能体会话仅注入AGENTS.md和TOOLS.md(其他引导文件被过滤掉以保持子智能体上下文较小)。
内部钩子可通过agent:bootstrap拦截此步骤以修改或替换注入的引导文件(例如将SOUL.md替换为替代角色)。
要检查每个注入文件的贡献量(原始 vs 注入、截断情况,以及工具模式开销),请使用/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(仅在缺乏访问权限时询问用户)。
