SKILL.md
唯讀
名稱
autonomous-agent-harness
描述
將 Claude Code 轉換為完全自主的代理系統,具備持久記憶、排程操作、電腦使用與任務佇列功能。取代獨立的代理框架(如 Hermes、AutoGPT),利用 Claude Code 原生的 crons、dispatch、MCP 工具與記憶。當使用者需要持續自主運作、排程任務或自我導向的代理循環時使用。
自主代理框架
僅使用原生功能與 MCP 伺服器,將 Claude Code 轉變為持久、自我導向的代理系統。
同意與安全邊界
自主操作必須由使用者明確要求並設定範圍。除非使用者已核准該能力及目前設定的目標工作區,否則請勿建立排程、派遣遠端代理、寫入持久記憶、使用電腦控制、對外發布、修改第三方資源,或處理私人通訊。
在啟用週期性或事件驅動動作之前,建議先進行乾執行計畫與本地佇列檔案。請勿將憑證、私人工作區匯出、個人資料集及帳戶特定的自動化功能放入可重複使用的 ECC 成品中。
啟用時機
- 使用者想要一個持續執行或按排程運作的代理
- 設定定期觸發的自動化工作流程
- 建立能跨工作階段記住上下文的個人 AI 助理
- 使用者說「每天執行這個」、「定期檢查這個」、「持續監控」
- 想要複製 Hermes、AutoGPT 或類似自主代理框架的功能
- 需要結合電腦使用與排程執行
架構
┌──────────────────────────────────────────────────────────────┐
│ Claude Code 執行環境 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ Crons │ │ Dispatch │ │ Memory │ │ Computer │ │
│ │ 排程任務 │ │ 遠端代理 │ │ 儲存 │ │ 使用 │ │
│ │ │ │ │ │ │ │ │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └──────┬──────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ ECC 技能 + 代理層 │ │
│ │ │ │
│ │ skills/ agents/ commands/ hooks/ │ │
│ └──────────────────────────────────────────────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP 伺服器層 │ │
│ │ │ │
│ │ memory github exa supabase browser-use │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
核心元件
1. 持久記憶
使用 Claude Code 內建的記憶系統,並搭配 MCP 記憶伺服器處理結構化資料。
內建記憶(~/.claude/projects/*/memory/):
- 使用者偏好、回饋、專案上下文
- 以帶有 frontmatter 的 Markdown 檔案儲存
- 工作階段開始時自動載入
MCP 記憶伺服器(結構化知識圖譜):
- 實體、關係、觀察
- 可查詢的圖譜結構
- 跨工作階段持久化
記憶模式:
# 短期:目前工作階段上下文
使用 TodoWrite 進行工作階段內任務追蹤
# 中期:專案記憶檔案
寫入 ~/.claude/projects/*/memory/ 以跨工作階段回憶
# 長期:MCP 知識圖譜
使用 mcp__memory__create_entities 儲存永久結構化資料
使用 mcp__memory__create_relations 建立關係對應
使用 mcp__memory__add_observations 新增已知實體的事實
2. 排程操作(Crons)
使用 Claude Code 的排程任務建立週期性代理操作。
設定 cron:
# 透過 MCP 工具
mcp__scheduled-tasks__create_scheduled_task({
name: "daily-pr-review",
schedule: "0 9 * * 1-5", # 週一至週五早上 9 點
prompt: "Review all open PRs in affaan-m/everything-claude-code. For each: check CI status, review changes, flag issues. Post summary to memory.",
project_dir: "/path/to/repo"
})
# 透過 claude -p(程式模式)
echo "Review open PRs and summarize" | claude -p --project /path/to/repo
實用的 cron 模式:
| 模式 | 排程 | 使用案例 |
|---|---|---|
| 每日站會 | 0 9 * * 1-5 |
檢視 PR、議題、部署狀態 |
| 每週回顧 | 0 10 * * 1 |
程式碼品質指標、測試覆蓋率 |
| 每小時監控 | 0 * * * * |
生產環境健康度、錯誤率檢查 |
| 夜間建置 | 0 2 * * * |
執行完整測試套件、安全掃描 |
| 會議前準備 | */30 * * * * |
準備即將到來的會議上下文 |
3. Dispatch / 遠端代理
遠端觸發 Claude Code 代理以進行事件驅動的工作流程。
Dispatch 模式:
# 從 CI/CD 觸發
curl -X POST "https://api.anthropic.com/dispatch" \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-d '{"prompt": "Build failed on main. Diagnose and fix.", "project": "/repo"}'
# 從 Webhook 觸發
# GitHub webhook → dispatch → Claude 代理 → 修復 → PR
# 從另一個代理觸發
claude -p "Analyze the output of the security scan and create issues for findings"
4. 電腦使用
利用 Claude 的 computer-use MCP 進行實體世界互動。
能力:
- 瀏覽器自動化(導航、點擊、填寫表單、截圖)
- 桌面控制(開啟應用程式、打字、滑鼠控制)
- 超越 CLI 的檔案系統操作
在框架中的使用案例:
- 網頁 UI 自動化測試
- 表單填寫與資料輸入
- 基於截圖的監控
- 多應用程式工作流程
5. 任務佇列
管理一個跨工作階段持續存在的任務佇列。
實作方式:
# 透過記憶持久化任務佇列
將任務佇列寫入 ~/.claude/projects/*/memory/task-queue.md
# 任務格式
---
name: task-queue
type: project
description: Persistent task queue for autonomous operation
---
## 進行中的任務
- [ ] PR #123:檢視並在 CI 通過時核准
- [ ] 監控部署:每 30 分鐘檢查 /health,持續 2 小時
- [ ] 研究:在 AI 工具領域尋找 5 個潛在客戶
## 已完成
- [x] 每日站會:檢視了 3 個 PR、2 個議題
取代 Hermes
| Hermes 元件 | ECC 對應 | 方式 |
|---|---|---|
| Gateway/Router | Claude Code dispatch + crons | 排程任務觸發代理工作階段 |
| 記憶系統 | Claude 記憶 + MCP 記憶伺服器 | 內建持久化 + 知識圖譜 |
| 工具註冊表 | MCP 伺服器 | 動態載入工具提供者 |
| 編排 | ECC 技能 + 代理 | 技能定義引導代理行為 |
| 電腦使用 | computer-use MCP | 原生瀏覽器與桌面控制 |
| 上下文管理器 | 工作階段管理 + 記憶 | ECC 2.0 工作階段生命週期 |
| 任務佇列 | 記憶持久化的任務清單 | TodoWrite + 記憶檔案 |
設定指南
步驟 1:設定 MCP 伺服器
確保 ~/.claude.json 中包含以下內容:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@anthropic/memory-mcp-server"]
},
"scheduled-tasks": {
"command": "npx",
"args": ["-y", "@anthropic/scheduled-tasks-mcp-server"]
},
"computer-use": {
"command": "npx",
"args": ["-y", "@anthropic/computer-use-mcp-server"]
}
}
}
步驟 2:建立基本 Crons
# 每日晨間簡報
claude -p "Create a scheduled task: every weekday at 9am, review my GitHub notifications, open PRs, and calendar. Write a morning briefing to memory."
# 持續學習
claude -p "Create a scheduled task: every Sunday at 8pm, extract patterns from this week's sessions and update the learned skills."
步驟 3:初始化記憶圖譜
# 建立你的身分與上下文
claude -p "Create memory entities for: me (user profile), my projects, my key contacts. Add observations about current priorities."
步驟 4:啟用電腦使用(選用)
授予 computer-use MCP 必要的瀏覽器與桌面控制權限。
範例工作流程
自主 PR 審查員
Cron:工作時間每 30 分鐘
1. 檢查受監控儲存庫的新 PR
2. 對每個新 PR:
- 在本機拉取分支
- 執行測試
- 使用 code-reviewer 代理審查變更
- 透過 GitHub MCP 發布審查意見
3. 更新記憶中的審查狀態
個人研究代理
Cron:每天早上 6 點
1. 檢查記憶中儲存的搜尋查詢
2. 對每個查詢執行 Exa 搜尋
3. 摘要新的發現
4. 與昨天的結果比較
5. 將摘要寫入記憶
6. 標記高優先級項目供早上檢視
會議準備代理
觸發:每個行事曆事件前 30 分鐘
1. 讀取行事曆事件詳細資訊
2. 搜尋記憶中與會者的上下文
3. 擷取近期與與會者的電子郵件/Slack 討論串
4. 準備談話要點與議程建議
5. 將準備文件寫入記憶
限制
- Cron 任務在隔離的工作階段中執行——除非透過記憶,否則不會與互動式工作階段共享上下文。
- 電腦使用需要明確的權限授予。請勿假設可以存取。
- 遠端 dispatch 可能有速率限制。設計 cron 時請使用適當的間隔。
- 記憶檔案應保持簡潔。歸檔舊資料,避免檔案無限增長。
- 務必確認排程任務已成功完成。在 cron 提示中加入錯誤處理。






