尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

OpenClaw Agent 引导(Bootstrapping)机制详解:首次运行的“出生仪式“、身份播种与完整配置指南

OpenClaw Agent 引导(Bootstrapping)机制详解:首次运行的“出生仪式“、身份播种与完整配置指南 OpenClaw Agent 引导Bootstrapping机制详解首次运行的出生仪式、身份播种与完整配置指南【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclawAgent 第一次真正开口说话之前OpenClaw 会为它执行一场只有一次的引导仪式Bootstrapping向全新工作区播种身份与操作文件让 Agent 通过一段受限的四拍出生序列确立名字、气质与安全边界并完成插件/技能推荐的安装决策。本文以 docs/start/bootstrapping.md 为核心骨架结合 BOOTSTRAP.md 模板、Agent 工作区文档、Onboard CLI 参考 与源码测试完整还原引导机制的触发时机、执行流程、全部命令行参数与可配置项读完即可理解并掌控这一首次运行流程。什么是 BootstrappingAgent 的首次运行仪式Bootstrapping 是 OpenClaw 在全新工作区上执行的首次运行仪式负责两件事播种工作区与身份文件向默认的~/.openclaw/workspace写入AGENTS.md、SOUL.md、IDENTITY.md、USER.md和BOOTSTRAP.md五份初始文件引导 Agent 完成身份确立对话让 Agent 在首次真实回合first real turn中用一段简短对话确认自己的名字、气质与安全注意事项并把结论持久化到文件与配置两个层面。它只在 onboarding引导设置见 macOS App onboarding完成之后、Agent 的第一次真实回合运行时执行一次。工作区一旦看起来已配置完成BOOTSTRAP.md就会被删除仪式不会再次运行。从 Agent 工作区文档 可以看到工作区与配置目录是严格分离的~/.openclaw/workspace是 Agent 的家存放人格与记忆文件而~/.openclaw/根目录下存放的是openclaw.json配置、凭据与会话数据库不应被提交进工作区的 git 仓库。引导播种的五份工作区文件首次运行时OpenClaw 会在工作区根目录种下以下标准文件文件映射详见 Agent workspace 的 Workspace file map文件作用加载时机AGENTS.md操作指令规则、优先级、如何表现环境相关的工具说明应写入其中的## Tools小节每个会话开始时加载SOUL.md人格、语气与边界每个会话加载IDENTITY.md名字、气质、表情符号等身份记录引导仪式期间创建/更新USER.md基于指令的用户模型可选稳定的偏好、沟通风格、活跃项目上下文每个会话以独立的 4,000 字符预算加载BOOTSTRAP.md一次性首次运行仪式脚本见下文出生序列仅全新工作区存在完成后删除模板分别位于 BOOTSTRAP.md 模板、AGENTS.md 模板 与 IDENTITY 模板。值得注意的是工作区默认位置是可配置的Agent workspace默认~/.openclaw/workspace设置了非default的OPENCLAW_PROFILE时变为~/.openclaw-profile/workspaceOPENCLAW_WORKSPACE_DIR优先于上述两者也可在openclaw.json中配置agents.defaults.workspace或按 Agent 覆盖agents.entries.*.workspace。如果你自行管理工作区文件可以在配置中禁用引导文件的自动创建{ agents: { defaults: { skipBootstrap: true, }, }, }四拍出生序列一次简短而非问卷的对话BOOTSTRAP.md模板docs/reference/templates/BOOTSTRAP.md定义了完整的出生对话脚本核心原则是用户请求永远优先。如果第一条消息要求的是真实工作Agent 应先把活干完并交付结果再在安静时刻补上出生序列——This file is a ritual, not a gate这是一个仪式不是关卡。出生序列严格限定为四拍four beats禁止把它变成问卷或长篇传记第 1 拍询问如何称呼你Agent 以用户的新助手身份自我介绍然后询问用户想怎么称呼它。不能自行选择、发明或建议名字必须等待用户回答后再继续。第 2 拍确定你的气质Vibe给出一句简短、真实的气质描述soul/vibe line用户有一次否决或调整的机会同时挑选一个签名 emoji。名字与气质确认后需要双重持久化——两处都重要写入IDENTITY.md名字、你是什么、气质行、emoji并把气质行放入SOUL.md。这两个文件是 Agent 读取我是谁的来源如果停留在模板状态就等于抹掉了这次对话的成果。运行现有配置命令让频道与 UI 显示同样的身份openclaw agents set-identity --workspace this workspace --name name --theme vibe --emoji emoji必须使用真实的工作区路径并对值做安全引号包裹不要手工编辑openclaw.json。第 3 拍处理应用推荐读取 onboarding 期间已存储的待处理应用匹配结果该命令只读、绝不重新扫描机器若用户已应答过该邀请则返回空列表openclaw onboard recommendations --json输出只包含不透明的安装 IDopaque install IDs、本地生成的来源与层级每个层级为recommended推荐或optional可选。ID 仅作为标识符使用不含任何市场文案。如果存在匹配简要说明后询问用户minimal set or maximum convenience?最小集还是最大便利最小集只安装recommended匹配项最大便利额外提供optional匹配项。安装规则有严格边界官方插件匹配项只用openclaw plugins install id安装用户选定集合ClawHub 技能属于第三方必须单独列出且除非用户明确选择某个特定技能否则绝不安装安装用openclaw skills install id如果没有存储的匹配跳过本拍且不发表评论。用户回答且所有选中的安装成功后记录完成状态让该邀请永不再次出现openclaw onboard recommendations acknowledge若某个安装失败则消耗成功与已拒绝的推荐但把失败 ID 保留为待处理供后续 onboarding 运行重试openclaw onboard recommendations acknowledge --retry failed-id [failed-id...]这里必须使用读取命令返回的确切不透明 ID。绝不能在未带--retry的情况下确认一个失败的安装。中断的技能安装可能在下次尝试时报目标已存在此时需要用发布者限定的 ID 精确校验openclaw skills verify owner/slug只有当校验对同一个 ID 成功、且 JSON 输出中openclaw.resolution.source为installed时才算安装成功——注册表校验不能证明本地已安装。若校验失败、报告了不同发布者或不同解析来源则保留该 ID 为待处理--retry不要覆盖已有技能。第 4 拍一句安全提示在仪式之后或交付完用户工作后用一两句话而非说教Agent 以对这台机器的真实访问权限运行。在连接频道或暴露 Gateway 之前请用户浏览网关安全文档可随时用openclaw security audit检查当前设置。仪式收尾删除 BOOTSTRAP.md 与已配置判定四拍完成后Agent 删除BOOTSTRAP.md并说一句话Ask me anything; for system things Ill ask OpenClaw.文件删除后OpenClaw 将出生序列视为完成不会重新创建BOOTSTRAP.md。如果 Agent 把文件留在原地一旦工作区看起来已配置OpenClaw 会代为删除。一个工作区在以下任一条件满足时被视为已配置configuredSOUL.md、IDENTITY.md或USER.md与各自的起始模板产生差异或存在memory/文件夹。身份的双重持久化IDENTITY.md / SOUL.md 与 set-identity身份既写入 Agent 自己读取的文件IDENTITY.mdSOUL.md也通过openclaw agents set-identity写入配置供频道与 UI 显示。IDENTITY 模板 定义了身份字段格式Name名字Creature生物类型AI机器人灵宠机魂……Vibe气质锐利温暖混乱冷静Emoji签名表情Avatar工作区相对路径、http(s)URL 或 data URI。其中Theme、Creature、Vibe三者按Theme若设置→Creature→Vibe的优先级共同作用于同一个有效身份值工具同步时只把Name、Theme、Emoji、Avatar写回文件Creature与Vibe是只读输入。openclaw agents set-identity会把字段写入agents.entries.*.identity见 Agents CLI 参考# 从 IDENTITY.md 读取并同步 openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity # 显式覆盖字段 openclaw agents set-identity --agent main --name OpenClaw --emoji --avatar avatars/openclaw.png写入配置的效果示例{ agents: { entries: { main: { default: true, identity: { name: OpenClaw, theme: space lobster, emoji: , avatar: avatars/openclaw.png, }, }, }, }, }--agent与--workspace用于选择目标 Agent若--workspace匹配多个 Agent 则命令失败并要求指定--agent--workspace与--identity-file只用于选择目标不会改变agents.entries.*.workspace。工作区相对的头像路径不能逃逸工作区根目录即使通过符号链接也不行本地头像文件限制为 2 MB。源码测试 src/commands/agents.identity.test.ts 覆盖了身份文件的创建、持久化与命令集成测试通过makeTempWorkspace构建临时工作区、写入IDENTITY.md并断言agentsSetIdentityCommand正确地把身份写入agents.entries.main.identity印证了文件 配置双通道持久化的实现路径。应用推荐命令族的更多细节Onboard CLI 参考 补充了推荐命令族的完整用法openclaw onboard recommendations --json openclaw onboard recommendations --agent writer --json openclaw onboard recommendations acknowledge --agent writer openclaw onboard recommendations refresh --agent writer openclaw onboard recommendations acknowledge --retry failed-id openclaw onboard recommendations refreshopenclaw onboard recommendations读取 onboarding 期间存储的待处理应用匹配--json输出供首次运行引导使用。该命令不重新扫描已安装应用、不调用模型输出只包含校验过的安装 ID、来源与层级刻意省略不可信的市场文案、模型理由与本地应用标签邀请被应答后命令返回空列表后续 onboarding 运行直接跳过该步骤openclaw onboard recommendations refresh清除已存储的邀请使下一次 onboarding 重新扫描已安装应用并生成新邀请--agent id用于选择已配置的 Agent 进行读取、acknowledge、acknowledge --retry或refresh操作只作用于该 Agent 工作区的推荐未知或空白的 Agent ID 直接失败且不改变存储的推荐全新工作区把推荐选择推迟到引导对话中进行对话处理完用户选择后acknowledge将存储的邀请标记为已应答该操作是幂等的失败 ID 用--retry保持待处理成功与已拒绝的匹配被消耗。嵌入与本地模型运行的特殊处理对于嵌入式或本地模型运行OpenClaw 把BOOTSTRAP.md排除在特权系统上下文之外见 docs/start/bootstrapping.md在主要的交互式首次运行中仍会通过用户提示user prompt传入文件内容因此不能可靠调用read工具的模型也能完成仪式如果当前运行无法安全访问工作区Agent 会收到一段简短的受限引导说明limited-bootstrap note而不是一句泛泛的问候。这保证了即使模型工具调用能力受限、或运行环境访问不到工作区首次运行流程也不会静默失败。跳过引导--skip-bootstrap 与 skipBootstrap对已预先播种pre-seeded的工作区可以在 onboarding 时跳过引导openclaw onboard --skip-bootstrap从 Onboard CLI 参考 可以看到--skip-bootstrap的实际作用是设置agents.defaults.skipBootstrap: true并跳过创建AGENTS.md、SOUL.md、IDENTITY.md、USER.md与BOOTSTRAP.md。与之对应配置层面直接写{ agents: { defaults: { skipBootstrap: true } } }也能达到同样效果Agent workspace。openclaw setup可以重建缺失的默认文件而不覆盖已有文件。引导在哪里运行Gateway 主机引导始终运行在 Gateway 主机上docs/start/bootstrapping.md。如果 macOS App 连接的是远程 Gateway那么工作区及其引导文件位于那台远程机器上而不是 Mac 上当 Gateway 运行在其他机器时应在 Gateway 主机上编辑工作区文件例如usergateway-host:~/.openclaw/workspace这也意味着引导仪式的实际执行、身份文件的写入、推荐安装插件/技能都发生在 Gateway 主机侧。引导文件的系统提示注入机制从 System prompt 文档 可以深入理解这些引导文件是如何进入模型上下文的引导文件按各自的生命周期被解析并路由到提示表面AGENTS.md、SOUL.md、USER.md、MEMORY.md以及仅存在于全新工作区的BOOTSTRAP.md都会参与注入BOOTSTRAP.md只在品牌新工作区注入如果某个必需引导文件缺失OpenClaw 会在会话中注入一个缺失文件标记并继续可选的USER.md、MEMORY.md缺失时直接省略大型引导文件会被截断注入相关限额可用agents.defaults.bootstrapMaxChars默认20000与agents.defaults.bootstrapTotalMaxChars默认60000调整USER.md保持独立的 4,000 字符上限子 Agent 会话只注入AGENTS.md其他引导文件被过滤以保持子 Agent 上下文精简内部钩子可通过agent:bootstrap事件在注入前拦截并修改或替换引导文件例如为SOUL.md换用另一人格。这套机制保证了出生仪式的产出身份文件在后续每个会话中稳定生效且截断、缺失都有明确的降级行为不会破坏会话启动。小结OpenClaw 的 Bootstrapping 是一个设计精巧的一次性流程通过四拍出生序列让 Agent 在首次真实回合确立身份、气质与安全认知用文件 配置双重持久化保证身份在 Agent 自读层面与频道/UI 展示层面一致用只读推荐命令族把插件/技能安装决策收敛成一次最小集还是最大便利的选择最后以删除BOOTSTRAP.md作为仪式完成的标志。理解这套机制无论你是手动预播种工作区、排查身份初始化问题还是在远程 Gateway 架构下规划首次运行都能准确掌握每一步的触发条件与影响范围。相关文档Onboarding (macOS app)引导前的 App 端首次设置流程Agent workspace工作区位置、文件映射与备份策略BOOTSTRAP.md 模板出生序列完整脚本IDENTITY 模板身份字段格式与同步规则System prompt引导文件注入机制与限额Onboard CLI 参考openclaw onboard全量参数与推荐命令族Agents CLI 参考openclaw agents set-identity用法与配置示例源码测试src/commands/agents.identity.test.ts身份持久化与命令集成的测试验证【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表