OC0421 · Agent Profile · Ontology v5.1

OpenClaw v2026.4.21 实体全景

OC0421_WithOfficialCC — 七角色层源码级实体映射

Layer 0 — Agent 核心对象
agent_id
OC0421_WithOfficialCC
agent_type
Personal AI Gateway(多渠道个人助手)
model
Claude / GPT-4o(可插拔,多 provider)
channel_count
20+(WhatsApp/Telegram/Slack/Discord/Gmail...)
guard_rail
None(无独立 GuardRail)
self_evolve
None(无独立模块;但 write 工具可修改工作区)
security_checker
RulesChecker:allowFrom + tool-policy-pipeline + hooks-policy
gateway
CherryPy WebUI + WebSocket + Webhook HTTP
Layer 1 — 工作区文件(系统提示词注入点)
工作区文件 → 直接注入系统提示词(dist/system-prompt-BRx_74d7.js:CONTEXT_FILE_ORDER)
AGENTS.mdorder=10HIGHAgent 配置描述,影响行为模式
SOUL.mdorder=20CRITICAL核心人格配置,被 buildProjectContextSection 写入系统提示词
IDENTITY.mdorder=30HIGH身份配置
USER.mdorder=40HIGH用户配置,影响 Authorized Senders
TOOLS.mdorder=50MED工具配置
BOOTSTRAP.mdorder=60CRITICAL冷启动优先执行,注入用户提示词前缀
MEMORY.mdorder=70CRITICAL记忆注入,plugin 可写入;最后读取,覆盖性最强
HEARTBEAT.md动态CRITICALDYNAMIC,心跳不走缓存重读;C2 持久化核心

防护:sanitizeForPromptLiteral(仅过滤控制字符)+ wrapUntrustedPromptDataBlock(仅特定字段)— 不过滤指令语义文本

Layer 2 — 工具空间(Tool Space)
工具类型危险标签证据
exec命令执行SK-EXEC TOOL-ACTdist/exec-defaults-F2zQAtOd.js
apply_patch文件补丁SK-TOOL-WRITE TOOL-DATAdist/pi-tools-BYoC5bpq.js
write文件写入SK-TOOL-WRITEdist/pi-tools-BYoC5bpq.js
read文件读取SK-INFOdist/pi-tools-BYoC5bpq.js
message多渠道发送SK-NET AI-LATERAL-MOVEdist/system-prompt-BRx_74d7.js:buildMessagingSection
subagents子代理委托SK-AGENTdist/system-prompt-BRx_74d7.js
Plugin 工具渠道插件SK-TOOLdist/channel-tools-D3rYKI9d.js
Layer 3 — 记忆系统(Plugin-Based)
属性安全含义
memory_typePlugin-based(无内置实现)Plugin 可决定写入 MEMORY.md
recall_failuregraceful degrade(v2026.4.20 修复)降级后记忆段缺失,但不崩溃
MEMORY.md 注入顺序order=70(最高优先级,覆盖性最强)攻击者写入 MEMORY.md → 影响所有后续会话
resolveMemoryFlushPlandist/memory-state-KSM4P5jG.jsFlush 逻辑决定持久化目标
Layer 4 — 外部渠道(20+)
渠道allowFrom 控制危险配置注入类型
WhatsAppmergeDmAllowFromSourcesallowWhenEmpty=trueDM/Group 消息体
TelegramisSenderIdAllowedallowWhenEmpty=trueDM/Group 消息体
SlackgroupAllowFrom fallback通配符 "*" 放行全部群组消息
Discord同上同上群组消息
GmailallowUnsafeExternalContent邮件 HTML 全文
WebChatdevice authdangerouslyDisableDeviceAuthControl UI 输入
Webhook速率限制(内存)allowRequestSessionKeyHTTP POST body

证据:dist/allow-from-ClF_LMu8.js:isSenderIdAllowed · dist/dangerous-config-flags-lTz7t-pV.js

Layer 5 — Execution Sandbox 层
配置项有 Docker无 Docker风险
exec security"deny"(拒绝所有)"full"(全权限)CRITICAL
exec ask"auto""off"(不询问)CRITICAL
bypassPermissions跳过全部 tool-policy-pipeline(CLI 参数激活)CRITICAL
tools.fs.workspaceOnlyfalse → 可操作工作区外任意文件HIGH

证据:dist/exec-defaults-F2zQAtOd.js:resolveExecDefaults · dist/sandbox-B4e3wZhD.js · dist/cli-shared-BybrVDQR.js

Layer 6 — 触发机制
触发类型描述ATA Tag证据
用户消息标准 DM/Group 消息TRG-RULE-TRIGGERdist/message-hook-mappers-DZ_jp2sF.js
心跳轮询heartbeatsEnabled → 重读 HEARTBEAT.mdTRG-EVENT-HEARTBEATdist/heartbeat-wake-B8UNwbeh.js
Cron 调度schedule.kind={at/every/cron} → cronerTRG-RULE-SCHEDULEdist/schedule-CfI3h5dr.js
BootstrapBOOTSTRAP.md 存在 → 首次运行特殊前缀TRG-EVENT-LIFECYCLEdist/bootstrap-prompt-4ZAPcOdz.js
WebhookHTTP POST → 消息注入TRG-EVENT-WEBHOOKdist/monitor.webhook-DikDNsr1.js