System Prompt
适用范围
在以下情况使用此页面:
- 编辑系统提示文本、工具列表或时间/心跳部分
- 更改工作空间引导或技能注入行为
Moltbot 为每个代理运行构建自定义系统提示。提示是Moltbot 拥有的,不使用 p-coding-agent 默认提示。
提示由 Moltbot 组装并注入到每个代理运行中。
结构
提示故意紧凑并使用固定的部分:
- 工具:当前工具列表 + 简短描述。
- 技能(可用时):告诉模型如何按需加载技能说明。
- Moltbot 自更新:如何运行
config.apply和update.run。 - 工作空间:工作目录(
agents.defaults.workspace)。 - 文档:Moltbot 文档的本地路径(存储库或 npm 包)以及何时阅读它们。
- 工作空间文件(注入):指示引导文件包含在下面。
- 沙盒(启用时):指示沙盒运行时、沙盒路径以及是否提供提升的 exec。
- 当前日期和时间:用户本地时间、时区和时间格式。
- 回复标签:支持的提供程序的可选回复标签语法。
- 心跳:心跳提示和确认行为。
- 运行时:主机、操作系统、节点、模型、存储库根(检测到时)、思考级别(一行)。
- 推理:当前可见性级别 + /reasoning 切换提示。
提示模式
Moltbot 可以为子代理渲染更小的系统提示。运行时为每次运行设置 promptMode(不是面向用户的配置):
full(默认):包括上述所有部分。minimal:用于子代理;省略技能、内存召回、Moltbot 自更新、模型别名、用户身份、回复标签、消息传递、静默回复和心跳。工具、工作空间、沙盒、当前日期和时间(已知时)、运行时和注入的上下文保持可用。none:仅返回基本身份行。
当 promptMode=minimal 时,额外的注入提示标记为子代理上下文而不是群组聊天上下文。
工作空间引导注入
引导文件被修剪并附加在项目上下文下,以便模型看到身份和配置文件上下文而无需显式读取:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(仅限于全新的工作空间)
大文件用标记截断。每个文件的最大大小由 agents.defaults.bootstrapMaxChars 控制(默认:20000)。缺少的文件注入简短的缺少文件标记。
内部挂钩可以通过 agent:bootstrap 拦截此步骤以变异或替换注入的引导文件(例如交换 SOUL.md 以获得备用角色)。
要检查每个注入文件的贡献程度(原始 vs 注入、截断,加上工具模式开销),请使用 /context list 或 /context detail。请参阅 上下文。
时间处理
当用户时区已知时,系统提示包括专用的当前日期和时间部分。为了保持提示缓存稳定,现在它仅包括时区(无动态时钟或时间格式)。
当代理需要当前时间时使用 session_status;状态卡包括时间戳行。
配置:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|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(仅在缺乏访问权限时询问用户)。