系统提示
OpenClaw 为每次代理运行构建自定义系统提示。提示是 **OpenClaw 自有?*,不使用 pi-coding-agent 默认提示?
提示?OpenClaw 组装并注入到每次代理运行中?
结构
提示故意简洁,使用固定部分?
- 工具:当前工具列?+ 简短描述?
- 安全:简短的安全防护提醒,避免追求权力或绕过监督的行为?
- **技?*(如有):告诉模型如何按需加载技能指令?
- **OpenClaw 自更?*:如何运?
config.apply?update.run? - **工作?*:工作目录(
agents.defaults.workspace)? - 文档:OpenClaw 文档的本地路径(仓库?npm 包)以及何时阅读它们?
- **工作区文件(注入?*:表示引导文件包含在下方?
- 沙盒(启用时):表示沙盒化运行时、沙盒路径,以及是否有提升的 exec 可用?
- **当前日期和时?*:用户本地时区、时区和时间格式?
- 回复标签:支持提供商的可选回复标签语法?
- 心跳:心跳提示和确认行为?
- **运行?*:主机、OS、node、模型、repo 根(检测到时)、思考级别(一行)?
- 推理:当前可见性级?+ /reasoning 切换提示?
系统提示中的安全防护是建议性的。它们指导模型行为,但不强制执行策略。使用工具策略、exec 批准、沙盒和通道白名单进行硬执行;运营商可以按设计禁用这些?
提示模式
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)。缺失文件注入短缺失文件标记?
子代理会话仅注入 AGENTS.md ?TOOLS.md(其他引导文件被过滤掉以保持子代理上下文小)?
内部 hooks 可以通过 agent:bootstrap 拦截此步骤,以修改或替换注入的引导文件(例如交换 SOUL.md 以替代角色)?
要检查每个注入文件贡献了多少(原?vs 注入、截断,加上工具模式开销),使用 /context list ?/context detail。请参阅 Context?
时间处理
系统提示包含一个专门的当前日期和时?*部分,当用户时区已知时。为了保持提示缓存稳定,它现在只包含时区**(无动态时钟或时间格式)?
当代理需要当前时间时使用 session_status;状态卡包含时间戳行?
配置?
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24?
请参?Date & Time 获取完整行为详情?
技?
当存在符合条件的技能时,OpenClaw 注入一个紧凑的可用技能列?*(formatSkillsForPrompt),包括每个技能的文件路径**。提示指示模型使?read 在列出位置加?SKILL.md(工作区、托管或捆绑)。如果没有符合条件的技能,则省略技能部分?
<available_skills>
<skill>
<name>...</name>
<description>...</description>
<location>...</location>
</skill>
</available_skills>
这保持基础提示小,同时仍支持有针对性的技能使用?
文档
系统提示包含一?*文档**部分(如果有),指向本地 OpenClaw 文档目录(仓库工作区中的 docs/ 或捆绑的 npm 包文档),还注明公共镜像、源码仓库、社?Discord ?ClawHub(https://clawhub.com)用于技能发现。提示指示模型首先咨询本地文档以了解 OpenClaw 行为、命令、配置或架构,并在可能时自己运行 openclaw status(仅在缺乏访问权限时询问用户)?