System Prompt
Moltbot 会为每次 agent run 构建一份定制的 system prompt。该 prompt 由 Moltbot 维护,并且不使用 p-coding-agent 的默认 prompt。
prompt 由 Moltbot 组装,并注入到每次 agent run 中。
结构
该 prompt 有意保持紧凑,并使用固定的分区:
- Tooling:当前工具列表 + 简短描述。
- Skills(可用时):告诉模型如何按需加载 skill 指令。
- Moltbot Self-Update:如何运行
config.apply与update.run。 - Workspace:工作目录(
agents.defaults.workspace)。 - Documentation:本地 Moltbot docs 的路径(repo 或 npm 包)以及何时阅读。
- Workspace Files(injected):提示下方已包含 bootstrap files。
- Sandbox(启用时):提示当前为 sandbox 运行时、sandbox 路径,以及是否允许提权执行。
- Current Date & Time:用户本地时间、时区与时间格式。
- Reply Tags:对支持的 providers 的可选回复标签语法。
- Heartbeats:heartbeat prompt 与 ack 行为。
- Runtime:主机、OS、node、模型、repo root(探测到时)、thinking level(单行)。
- Reasoning:当前可见级别 +
/reasoning切换提示。
Prompt 模式
Moltbot 可以为子 agent 渲染更小的 system prompt。运行时会为每次 run 设置 一个 promptMode(不是用户可配置项):
full(默认):包含上述全部分区。minimal:用于子 agent;会省略 Skills、Memory Recall、Moltbot Self-Update、Model Aliases、User Identity、Reply Tags、 Messaging、Silent Replies 与 Heartbeats。Tooling、Workspace、 Sandbox、Current Date & Time(已知时)、Runtime 以及注入的上下文仍会保留。none:仅返回最基础的 identity 行。
当 promptMode=minimal 时,额外注入的 prompt 会标记为 Subagent Context,而不是 Group Chat Context。
Workspace bootstrap 注入
bootstrap files 会被裁剪并追加到 Project Context 之下,让模型无需显式读取文件也能看到身份与 profile 上下文:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(仅在全新 workspace 上)
大文件会带标记地截断。单文件最大注入大小由 agents.defaults.bootstrapMaxChars 控制(默认:20000)。缺失文件会注入一段简短的 missing-file 标记。
内部 hooks 可以通过 agent:bootstrap 拦截这一步,以变更或替换注入的 bootstrap files(例如用另一个 persona 替换 SOUL.md)。
要查看每个注入文件贡献了多少内容(raw vs injected、截断情况以及 tool schema 的额外开销),使用 /context list 或 /context detail。 参见 Context。
时间处理
当用户时区已知时,system prompt 会包含专门的 Current Date & Time 分区。 为了保持 prompt cache 稳定,它现在只包含时区(不包含动态时钟或时间格式)。
当 agent 需要当前时间时,请使用 session_status;status 卡中包含时间戳行。
配置项:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
完整行为参见 Date & Time。
Skills
当存在可用的 skills 时,Moltbot 会注入一个紧凑的 available skills list (formatSkillsForPrompt),其中包含每个 skill 的文件路径。 prompt 会指示模型使用 read 从列出的路径加载对应的 SKILL.md(workspace、managed 或 bundled)。如果没有可用 skills,则 Skills 分区会被省略。
<available_skills>
<skill>
<name>...</name>
<description>...</description>
<location>...</location>
</skill>
</available_skills>这样可以让 base prompt 维持较小的体积,同时仍支持按需、定向地使用 skills。
Documentation
当可用时,system prompt 会包含一个 Documentation 分区,指向本地 Moltbot docs 目录(repo workspace 下的 docs/,或 npm 包内置的 docs),并同时注明公共镜像、源代码仓库、社区 Discord,以及用于发现 skills 的 ClawdHub(https://clawdhub.com)。prompt 会指示模型在了解 Moltbot 行为、命令、配置或架构时优先阅读本地文档,并在可能的情况下自行运行 moltbot status(只有在自身无权限访问时才询问用户)。