System Prompt

System Prompt

适用范围

在以下情况使用此页面:

  • 编辑系统提示文本、工具列表或时间/心跳部分
  • 更改工作空间引导或技能注入行为

Moltbot 为每个代理运行构建自定义系统提示。提示是Moltbot 拥有的,不使用 p-coding-agent 默认提示。

提示由 Moltbot 组装并注入到每个代理运行中。

结构

提示故意紧凑并使用固定的部分:

  • 工具:当前工具列表 + 简短描述。
  • 技能(可用时):告诉模型如何按需加载技能说明。
  • Moltbot 自更新:如何运行 config.applyupdate.run
  • 工作空间:工作目录(agents.defaults.workspace)。
  • 文档:Moltbot 文档的本地路径(存储库或 npm 包)以及何时阅读它们。
  • 工作空间文件(注入):指示引导文件包含在下面。
  • 沙盒(启用时):指示沙盒运行时、沙盒路径以及是否提供提升的 exec。
  • 当前日期和时间:用户本地时间、时区和时间格式。
  • 回复标签:支持的提供程序的可选回复标签语法。
  • 心跳:心跳提示和确认行为。
  • 运行时:主机、操作系统、节点、模型、存储库根(检测到时)、思考级别(一行)。
  • 推理:当前可见性级别 + /reasoning 切换提示。

提示模式

Moltbot 可以为子代理渲染更小的系统提示。运行时为每次运行设置 promptMode(不是面向用户的配置):

  • full(默认):包括上述所有部分。
  • minimal:用于子代理;省略技能内存召回Moltbot 自更新模型别名用户身份回复标签消息传递静默回复心跳。工具、工作空间、沙盒、当前日期和时间(已知时)、运行时和注入的上下文保持可用。
  • none:仅返回基本身份行。

promptMode=minimal 时,额外的注入提示标记为子代理上下文而不是群组聊天上下文

工作空间引导注入

引导文件被修剪并附加在项目上下文下,以便模型看到身份和配置文件上下文而无需显式读取:

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md(仅限于全新的工作空间)

大文件用标记截断。每个文件的最大大小由 agents.defaults.bootstrapMaxChars 控制(默认:20000)。缺少的文件注入简短的缺少文件标记。

内部挂钩可以通过 agent:bootstrap 拦截此步骤以变异或替换注入的引导文件(例如交换 SOUL.md 以获得备用角色)。

要检查每个注入文件的贡献程度(原始 vs 注入、截断,加上工具模式开销),请使用 /context list/context detail。请参阅 上下文

时间处理

当用户时区已知时,系统提示包括专用的当前日期和时间部分。为了保持提示缓存稳定,现在它仅包括时区(无动态时钟或时间格式)。

当代理需要当前时间时使用 session_status;状态卡包括时间戳行。

配置:

  • agents.defaults.userTimezone
  • agents.defaults.timeFormatauto | 12 | 24

有关完整的行为详细信息,请参阅 日期和时间

技能

当存在符合条件的技能时,Moltbot 注入紧凑的可用技能列表formatSkillsForPrompt),其中每个技能的文件路径。提示指示模型使用 read 在列出的位置(工作空间、托管或捆绑)加载 SKILL.md。如果没有符合条件的技能,则省略技能部分。

<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>

这保持基本提示小,同时仍然启用有针对性的技能使用。

文档

当可用时,系统提示包括文档部分,指向本地 Moltbot 文档目录(存储库工作空间中的 docs/ 或捆绑的 npm 包文档),并注意公共镜像、源存储库、社区 Discord 和 ClawdHub (https://clawdhub.com) 用于技能发现。提示指示模型首先查阅本地文档以获取 Moltbot 行为、命令、配置或架构,并在可能时自己运行 moltbot status(仅在缺乏访问权限时询问用户)。