SkillPkg Logo
README.md

Watchdog(看门狗)

版本: 1.2.0

一个安全代理,会每天自动巡检系统:扫描是否存在泄露的密钥、审计文件权限,并只在真正需要注意时才报告问题。系统安全时保持安静,一旦发现问题就会发出提醒。 

文件结构

agent/
├── SOUL.md
├── BOOTSTRAP.md
├── IDENTITY.md
├── AGENTS.md
├── USER.md
├── TOOLS.md
├── MEMORY.md
├── HEARTBEAT.md
└── skills/
    ├── security-audit/
    ├── permission-sweep/
    ├── secret-scanner/
    └── nightly-compound/

安装与配置

新建代理。 创建工作空间、完成配置并进行验证。

1. 命名

询问用户:“你希望为这个安全代理取什么名字?”

将用户的回答作为代理 ID(使用 kebab-case 命名)。

工作空间路径:~/.openclaw/workspace-{agent-id}/

2. 冲突检查

读取 openclaw.json。

如果已经存在具有 security / watchdog / audit 角色的代理,需要询问用户:

  • replace(替换现有代理)
  • keep both(同时保留)
  • cancel(取消创建)

3. 运行模式

询问用户: “独立聊天(Direct)还是作为现有代理的子代理运行(Delegated)?”

  • Direct:询问所使用的平台,如有需要创建新的机器人
  • Delegated:询问要挂载到哪个父代理下

4. 创建工作空间

创建目录:

`~/.openclaw/workspace-{agent-id}/``

将 agent/ 目录中的所有内容复制进去,包括 skills/。

5. 配置

在 openclaw.json 的 agents.list 中添加:

{
  "id": "{agent-id}",
  "skills": ["security-audit", "permission-sweep", "secret-scanner", "nightly-compound"],
  "subagents": { "allowAgents": ["*"] }
}

推荐使用的模型:Sonnet 如果是 Delegated 模式,需要把该 agent ID 加入父代理的:subagents.allowAgents

6. Cron 定时任务配置

询问用户的 时区,然后添加三个定时任务。

每日巡检(早上 6 点)

{
  "name": "watchdog-patrol-{agent-id}", "agentId": "{agent-id}",
  "schedule": { "kind": "cron", "expr": "0 6 * * *", "tz": "{tz}" },
  "sessionTarget": "isolated",
  "payload": { "kind": "agentTurn", "model": "anthropic/claude-sonnet-4-6",
    "message": "DAILY PATROL. Run full security audit. Include permission sweep. Deliver report in chat.",
    "timeoutSeconds": 900 },
  "delivery": { "mode": "none" }, "enabled": true
}

含义:每天早上 6 点执行完整安全审计,并包含权限扫描,然后在聊天中生成报告。

每周深度扫描(周一早上 5 点)

{
  "name": "watchdog-deep-scan-{agent-id}", "agentId": "{agent-id}",
  "schedule": { "kind": "cron", "expr": "0 5 * * 1", "tz": "{tz}" },
  "sessionTarget": "isolated",
  "payload": { "kind": "agentTurn", "model": "anthropic/claude-sonnet-4-6",
    "message": "WEEKLY DEEP SCAN. Run secret-scanner across all workspaces and configs. Report findings with severity levels.",
    "timeoutSeconds": 900 },
  "delivery": { "mode": "none" }, "enabled": true
}

含义:每周执行一次全量密钥扫描,检查所有工作空间和配置文件,并按严重级别报告发现的问题。

每夜复合扫描(错峰执行) 具体的 cron 配置请参考:skills/nightly-compound/SKILL.md

7. 心跳检测(Heartbeat)

在代理配置中加入:

{ "heartbeat": { "prompt": "HEARTBEAT CHECK: Have all scheduled patrols run in the last 24 hours? Any unresolved CRITICAL findings?" } }

含义:检查过去 24 小时内所有巡检任务是否成功运行,以及是否存在尚未解决的 CRITICAL(严重)级别问题。

8. 验证

重启 gateway,然后发送消息:“Run a quick security check on my system.”

确认代理会执行真实的安全扫描,而不是只给出通用建议。