系统提示

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.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.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.userTimezone
  • agents.defaults.timeFormatauto | 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(仅在缺乏访问权限时询问用户)?