# 双Agent交流协作

> 智能体协作空间全盘扫描。每5分钟由独立看门狗进程定时触发，完全不受对话阻塞影响，发现新内容后微信通知用户。

- Skill: `ambin-d/agent` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ambin-d/agent`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ambin-d/agent/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ambin-d (https://skillmd.com/u/ambin-d)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ambin-d/agent

---


# 双Agent交流协作

## 概述
Agent A与Agent B通过本地知识库文件系统交流。本技能由**独立看门狗进程**驱动——一个运行在后台的 PowerShell 脚本，每5分钟固定扫描协作空间，发现新内容后由Agent A负责处理并通知用户。

> 核心变化 v2.0：扫描触发从"我在行动间隙检查"变为"后台进程定时间隔执行"，彻底解决对话阻塞导致的漏扫。

## 架构
```
┌──────────────────────────────────────────────┐
│          agent-collab-watchdog.ps1          │
│         (后台独立进程，每5分钟固定扫描)        │
│                                              │
│  1. 扫描8个目标                               │
│  2. 发现新内容 → 写入 .watchdog_state.json    │
│  3. 更新 .scan_trigger 时间戳                │
│  4. 写入日志                                  │
│  5. 休眠300秒 → 循环                          │
└──────────────────────┬───────────────────────┘
                       │ 读取状态
                       ▼
┌──────────────────────────────────────────────┐
│           Agent A                     │
│                                              │
│  TICK / 用户消息 / 动作完成 → 读取状态文件    │
│  → 处理新内容 → 写已读标记 → 微信通知用户     │
└──────────────────────────────────────────────┘
```

## 触发机制（v2.0 — 看门狗驱动）

本技能不再依赖"我记住去检查"。扫描定时由独立看门狗进程保障：

- **看门狗进程** `<VAULT>\scripts\agent-collab-watchdog.ps1` 作为后台进程运行
- 每 **300秒（5分钟）** 执行一次全量扫描
- 扫描结果写入 `共享规则\.watchdog_state.json`（含发现数和明细）
- 同时更新 `共享规则\.scan_trigger` 时间戳
- Agent A在**每次激活**（TICK/用户消息/自主动作完成）时读取状态文件：
  - 有发现 → 处理并微信通知用户
  - 无发现 → 跳过
- 看门狗**不受对话阻塞影响**——它在独立 PowerShell 进程中运行

> 即使Agent A连续对话30分钟不抬头，看门狗依然每5分钟忠实扫描，把结果累计在状态文件中。Agent A在对话间隙就能顺手处理。

## 扫描范围（同v1.x）
```
<VAULT>\07-智能体协作\
├── 任务队列/        ← 双方投递的任务卡片
├── 交流记录/        ← 双方相互留言（Agent A只读与己相关的）
├── 共享规则/        ← 共享行为守则
├── Agent B工作记录/    ← Agent B单方面产出（Agent A自动发现知识萃取）
├── Agent A审查/      ← Agent A的审查记录（检查Agent B是否回复）
├── 共享凭证库.md    ← 共享凭证明细（变更需关注）
├── 监督板.md        ← 协作状态总览（变更需读取）
└── 致Agent A.md      ← Agent B专门致Agent A的留言
```

> 所有目标自动扫描，不留手动通知缺口。

## 主流程

### Step 1：读取看门狗状态
每次激活（TICK/用户消息/自主动作完成），读取 `.watchdog_state.json`：
- `has_findings` → 有发现才继续处理
- `findings` → 新内容的类型和文件列表
- 避免重复扫描：看门狗已完成了目录级扫描，Agent A只需针对性读文件

### Step 2：逐文件处理
对每个新发现的文件：

1. 读取文件内容（全文）
2. 判断内容类别（任务/交流/规则/产出/审查/凭证/监督板/留言）
3. 执行对应处理（自己能做的直接做，需要用户判断的通知）
4. 写入已读标记

### Step 3：写入已读标记（统一格式）
处理完一个文件后，在其末尾追加分隔线和已读标记：

```
---
✅ Agent A已读 @2026-07-13 HH:MM
```

- 如果文件末尾已有 --- 分隔线和标记，覆盖更新最后一行时间
- 标记始终在文件末尾倒数3行以内
- 看门狗通过检查 --- 后的标记来判断新内容，Agent A处理完必须写标记

### Step 4：通知用户（全部微信推送）
所有协作动态一律通过微信通知用户，包括但不限于：
- 任务队列有新任务/新回复
- 交流记录有新留言
- Agent B工作记录有新增产出
- 共享规则有更新
- 审查记录有回复
- 凭证库有变更
- 致Agent A有新留言
- 监督板有更新

用户通过微信获知所有协作动态，自行决定是否介入。

同一文件不重复通知（已有已读标记的视为已通知过）。

## 看门狗管理

### 启动
```powershell
# 手动启动
powershell -File "<VAULT>\scripts\agent-collab-watchdog.ps1"

# 后台启动（带窗口）
Start-Process -WindowStyle Hidden -FilePath "powershell" -ArgumentList "-File `"<VAULT>\scripts\agent-collab-watchdog.ps1`""
```

### 状态检查
```powershell
Get-Content "<VAULT>\07-智能体协作\共享规则\.watchdog_state.json" | ConvertFrom-Json
Get-Content "<VAULT>\scripts\logs\watchdog.log" -Tail 10
```

### 重启
看门狗进程死亡后，Agent A需要重启它。宿主应用重启时Agent A会自动尝试启动看门狗。

### 日志
`<VAULT>\scripts\logs\watchdog.log` — 每轮扫描有记录，错误有堆栈。

## 行为规则（10条）
1. **主动通知**：所有协作动态通过微信通知用户，不设静默分类
2. **不重复通知**：同一文件处理过一次后不再向用户报告第二次（除非用户主动再问）
3. **已读标记必写**：任何读完的文件必须加标记，禁止同一文件反复读取
4. **看门狗不处理内容**：看门狗只做目录级文件扫描（查文件名、修改时间、末尾标记），不读正文、不决策、不发微信
5. **Agent A不重复扫描目录**：Agent A直接读看门狗的状态文件，不做全量目录遍历——减少重复IO和API时间
6. **全盘覆盖**：看门狗每次扫描检查全部8个目标（5目录+3文件），不得遗漏
7. **用户手动触发优先**：用户明确说「看看任务」「协作空间」时，Agent A直接执行全量扫描（跳过看门狗状态）
8. **恢复机制**：宿主应用重启后Agent A自动检查看门狗进程是否存活，不存活则自动重启
9. **问题报告**：如果看门狗日志中有连续3次以上错误，Agent A通知用户
10. **Agent B必须同步**：Agent B应使用相同的扫描间隔和标记协议，双方对齐

## 版本历史
- v1.0~v1.7 (2026-07-13~14)：三层触发回路（TICK+消息+动作），仍依赖Agent A的激活间隙，有漏扫风险
- v2.0 (2026-07-14)：**架构重构**——引入独立看门狗后台进程，扫描定时与Agent A脱钩；简化触发回路为"看门狗状态驱动"；新增看门狗管理规则

