Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Claude Code Stop Hook — 任务完成自动回调

当 Claude Code(含 Agent Teams)完成任务后,自动:

  1. 将结果写入 JSON 文件
  2. 发送 聊天软件 通知到指定群组
  3. 写入 pending-wake 文件供 AGI 主会话读取

架构

dispatch-claude-code.sh
  │
  ├─ 写入 task-meta.json(任务名、目标群组)
  ├─ 启动 Claude Code(via claude_code_run.py)
  │   └─ Agent Teams lead + sub-agents 运行
  │
  └─ Claude Code 完成 → Stop Hook 自动触发
      │
      ├─ notify-agi.sh 执行:
      │   ├─ 读取 task-meta.json + task-output.txt
      │   ├─ 写入 latest.json(完整结果)
      │   ├─ openclaw message send → 聊天软件 群
      │   └─ 写入 pending-wake.json
      │
      └─ AGI heartbeat 读取 pending-wake.json(备选)

文件说明

文件位置作用
hooks/notify-agi.sh~/.claude/hooks/Stop Hook 脚本
hooks/claude-settings.json~/.claude/settings.jsonClaude Code 配置(注册 hook)
scripts/dispatch-claude-code.sh任意位置一键派发任务
scripts/claude_code_run.py任意位置Claude Code PTY 运行器

使用方法

基础任务

dispatch-claude-code.sh \
  -p "实现一个 Python 爬虫" \
  -n "my-scraper" \
  -g "-5189558203" \
  --permission-mode "bypassPermissions" \
  --workdir "/home/ubuntu/projects/scraper"

Agent Teams 任务

dispatch-claude-code.sh \
  -p "重构整个项目的测试" \
  -n "test-refactor" \
  -g "-5189558203" \
  --agent-teams \
  --teammate-mode auto \
  --permission-mode "bypassPermissions" \
  --workdir "/home/ubuntu/projects/myapp"

参数

参数说明
-p, --prompt任务提示(必需)
-n, --name任务名称(用于跟踪)
-g, --group聊天软件 群组 ID(结果自动发送)
-w, --workdir工作目录
--agent-teams启用 Agent Teams
--teammate-modeAgent Teams 模式 (auto/in-process/tmux)
--permission-mode权限模式
--allowed-tools允许的工具列表

Hook 配置

~/.claude/settings.json 中注册:

{
  "hooks": {
    "Stop": [{"hooks": [{"type": "command", "command": "~/.claude/hooks/notify-agi.sh", "timeout": 10}]}],
    "SessionEnd": [{"hooks": [{"type": "command", "command": "~/.claude/hooks/notify-agi.sh", "timeout": 10}]}]
  }
}

防重复机制

Hook 在 Stop 和 SessionEnd 都会触发。脚本使用 .hook-lock 文件去重:

  • 30秒内重复触发自动跳过
  • 只处理第一个事件(通常是 Stop)

结果文件

任务完成后,结果写入 /home/ubuntu/clawd/data/claude-code-results/latest.json

{
  "session_id": "...",
  "timestamp": "2026-02-10T01:02:33+00:00",
  "task_name": "fibonacci-demo",
  "telegram_group": "-5189558203",
  "output": "...",
  "status": "done"
}

关于 About

No description, website, or topics provided.

语言 Languages

Python54.6%
Shell45.4%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
5
Total Commits
峰值: 5次/周
Less
More

核心贡献者 Contributors