| name | satellite |
| description | Observe recent OpenClaw history, propose reusable Skills or cognition updates, validate them through Evaluation and Shadow, and apply only after explicit approval. |
| metadata | {"openclaw":{"emoji":"🛰️","recommended_interval_hours":168,"default_command":"python3 scripts/run_satellite.py run --hours 168 --source markdown --memory \"$OPENCLAW_WORKSPACE/memory\" --skills-dir \"$OPENCLAW_WORKSPACE/skills\" --identity \"$OPENCLAW_WORKSPACE/IDENTITY.md\" --registry-dir \"$OPENCLAW_WORKSPACE/.satellite/registry\" --result-file \"$OPENCLAW_WORKSPACE/.satellite/runs/scheduled/result.json\" --proposal-only","safety":["Do not activate or publish generated Skills without explicit approval.","Do not edit cognition documents without explicit approval.","Keep Registry, result, staging, Skills, and cognition paths isolated per user."]}} |
Satellite
Satellite 是 OpenClaw 的观测和能力治理 Skill。它把近期真实历史导入结构化 Telemetry,建立 Context,发现重复工作流,并生成两类彼此独立的建议:
- 经过 SkillSpec、Forge、Evaluation 和多 case Shadow 验证的 Skill 新建/升级提案;
- 对
IDENTITY.md、SOUL.md、AGENTS.md、USER.md 的认知更新提案。
何时使用
- 周期性复盘最近一到两周历史;
- 用户明确要求把重复工作做成 Skill;
- 产品页面需要生成一份可应用或拒绝的审核 proposal;
- 检查某个新版本是否能安全替换 active Skill。
一次性问题、证据不足、已有 Skill 完整覆盖或权限风险过高时,不应创建新 Skill。
唯一入口
python3 scripts/run_satellite.py run
不要直接调用内部阶段来完成生产运行。旧嗅探、旧 Gateway 和旧 Executor 入口已经删除。
推荐审核模式
python3 scripts/run_satellite.py run \
--run-id "$RUN_ID" \
--hours 168 \
--source markdown \
--memory "$OPENCLAW_WORKSPACE/memory" \
--staging "$USER_RUNTIME/proposal/staging" \
--skills-dir "$USER_RUNTIME/skills" \
--identity "$USER_RUNTIME/self_cognition/IDENTITY.md" \
--registry-dir "$USER_RUNTIME/proposal/registry" \
--result-file "$USER_RUNTIME/proposal/result.json" \
--proposal-only
--proposal-only 必须满足:
- 只写 proposal staging、proposal Registry 和结构化 result;
- 不把 Registry 版本标成 active;
- 不发布到正式 Skill 目录;
- 不修改四个认知文档;
- result 终态为
proposal_ready 或无变更/失败终态。
用户确认
审核界面至少展示:
- Skill 名称和要解决的问题;
- Capability 决策理由;
- Evaluation 分数、是否允许 Shadow、失败原因;
- 所有 Shadow case 的通过率和错误;
- Cognition 目标文档、提议文本、置信度和证据。
用户选择应用后,调用方负责在一个可恢复事务中:
- 合并 proposal Registry 到 durable Registry;
- 将选中版本标记 active,并禁用旧 active 版本;
- 原子发布正式 Skill 包;
- 去重合并认知建议;
- relink OpenClaw workspace;
- 最后把 proposal 标记为 applied。
任一步失败都应恢复 durable Registry、正式 Skill 和认知文档,并让 proposal 保持待审核。拒绝时只记录 rejected,不修改 active 数据。
人工 CLI 模式
省略 --proposal-only 时,Satellite 会在安装到 Registry 后询问:
[Y]确认激活并发布 | [N]拒绝并保留审计记录
只有精确输入 Y 才应用。输入 N、EOF 或中断都不能发布。
结果契约
调用方只能依据 --result-file 的 JSON 判断状态,不得解析 stdout 文案。支持的终态包括:
proposal_ready
succeeded
no_action
user_rejected
failed
configuration_error
evaluation_summary.score 和 shadow_summary 是审核摘要;evaluation_attempts、shadow_attempts 保存修复循环的每次完整重跑结果。
Provider 参数
Gateway 和 Cognition 保持确定性。Forge 在 SATELLITE_LLM_*、DeepSeek、OpenAI 或 OpenClaw Gateway 凭据可用时调用 OpenAI-compatible 模型,根据 SkillSpec、模板和脱敏历史案例生成 executor.py 与 SKILL.md。--provider、--model 是 LLM Forge 覆盖参数;API key 不得放入 CLI 或 TOML。skill_generation.require_llm_implementation 默认为 true,无模型时 fail-closed;Native 模板回退只能显式开启。外部 provider 只有在 privacy.allow_network_export=true 时才允许调用;OpenClaw 本地 Gateway 不受该开关影响。
安全规则
- Registry 是 active 状态的事实来源。
- 未通过 Evaluation/Shadow 的版本不得安装或激活。
- 发布前重新验证包;校验失败不得删除当前正常 Skill。
- Registry 激活与运行时发布必须持有同一 Registry 事务锁。
- 运行时发布按 Skill 加锁并使用唯一备份;恢复不得覆盖更新发布。
- Telemetry 在持久化前脱敏,导入必须幂等。
- Cognition 更新按文档白名单路由、去重、备份并支持全量恢复。
- Web 默认端口 3000;小程序后端部署默认端口 3001。
详细配置和运维信息见 README.md 与 docs/。