跳到主要内容

智能体运行时 (Agent Runtime) 🤖

Clawdbot 运行一个源自 p-mono 的单一嵌入式智能体运行时。

工作区 (必须)

Clawdbot 使用单个智能体工作区目录 (agents.defaults.workspace) 作为智能体在工具和上下文方面的 唯一 工作目录 (cwd)。

推荐:如果缺失 ~/.clawdbot/clawdbot.json,请使用 clawdbot setup 创建并初始化工作区文件。

完整的工作区布局 + 备份指南:智能体工作区

如果启用了 agents.defaults.sandbox,非主会话可以使用 agents.defaults.sandbox.workspaceRoot 下的每会话工作区覆盖此设置(参见 网关配置)。

引导文件 (注入)

agents.defaults.workspace 内部,Clawdbot 期望这些用户可编辑的文件:

  • AGENTS.md —— 操作指令 + “记忆”
  • SOUL.md —— 人设、界限、语气
  • TOOLS.md —— 用户维护的工具说明(例如 imsgsag、惯例)
  • BOOTSTRAP.md —— 一次性的首次运行仪式(完成后删除)
  • IDENTITY.md —— 智能体名称/氛围/表情符号
  • USER.md —— 用户档案 + 偏好称呼

在新会话的第一轮,Clawdbot 会将这些文件的内容直接注入到智能体上下文中。

空白文件会被跳过。大文件会被修剪和截断,并带有标记,以保持提示词精简(读取文件以获取完整内容)。

如果文件缺失,Clawdbot 会注入一行“文件缺失”标记行(且 clawdbot setup 会创建一个安全的默认模板)。

BOOTSTRAP.md 仅为 全新的工作区(不存在其他引导文件)创建。如果您在完成仪式后将其删除,它不应在以后的重启中重新创建。

要完全禁用引导文件创建(用于预设的工作区),请设置:

{ agent: { skipBootstrap: true } }

内置工具 (Built-in tools)

核心工具(读取/执行/编辑/写入及相关的系统工具)始终可用,受工具策略约束。apply_patch 是可选的,并受 tools.exec.applyPatch 控制。TOOLS.md 并不 控制存在哪些工具;它只是关于 希望如何使用它们的指南。

技能 (Skills)

Clawdbot 从三个位置加载技能(名称冲突时工作区优先):

  • 内置(随安装程序一起发布)
  • 托管/本地:~/.clawdbot/skills
  • 工作区:<workspace>/skills

技能可以通过配置/环境变量进行限制(参见 网关配置 中的 skills)。

p-mono 集成

Clawdbot 复用了 p-mono 代码库的一部分(模型/工具),但 会话管理、发现和工具接线由 Clawdbot 拥有

  • 没有 p-coding 智能体运行时。
  • 不会咨询 ~/.pi/agent<workspace>/.pi 设置。

会话 (Sessions)

会话转录以 JSONL 格式存储在:

  • ~/.clawdbot/agents/<agentId>/sessions/<SessionId>.jsonl

会话 ID 是稳定的,由 Clawdbot 选择。 不会 读取旧版的 Pi/Tau 会话文件夹。

流式传输时的转向 (Steering while streaming)

当队列模式为 steer 时,入站消息会注入到当前的运行中。 队列在 每次工具调用后 都会被检查;如果存在排队的消息,当前助手消息中剩余的工具调用将被跳过(工具结果显示为“由于排队的助手消息而跳过。”),然后在下一个助手响应之前注入排队的用户消息。

当队列模式为 followupcollect 时,入站消息会保留到当前轮次结束,然后以排队的负载开始新的智能体轮次。有关模式 + 防抖/限制行为,请参见 队列

分块流式传输会在助手分块完成后立即发送;它是 默认关闭 的 (agents.defaults.blockStreamingDefault: "off")。 通过 agents.defaults.blockStreamingBreak 调整边界(text_end 对比 message_end;默认为 text_end)。 使用 agents.defaults.blockStreamingChunk 控制软分块(默认为 800–1200 字符;优先选择段落换行,然后是换行符,最后是句子)。 使用 agents.defaults.blockStreamingCoalesce 合并流式分块,以减少单行垃圾信息(发送前的基于空闲的合并)。非 Telegram 频道需要显式的 *.blockStreaming: true 来启用分块回复。 详细的工具摘要在工具开始时发出(无防抖);当可用时,控制 UI 通过智能体事件流式传输工具输出。 更多详情:流式传输 + 分块

模型引用 (Model refs)

配置中的模型引用(例如 agents.defaults.modelagents.defaults.models)通过在 第一个 / 处拆分来解析。

  • 配置模型时使用 provider/model
  • 如果模型 ID 本身包含 /(OpenRouter 风格),请包含提供商前缀(例如:openrouter/moonshotai/kimi-k2)。
  • 如果省略提供商,Clawdbot 将输入视为 默认提供商 的别名或模型(仅当模型 ID 中没有 / 时有效)。

配置 (最低要求)

最低限度,请设置:

  • agents.defaults.workspace
  • channels.whatsapp.allowFrom(强烈建议)

下一篇:群聊 🦞