mcpField
H
herobrine

herobrine

github.com/aaarnvAgent 工作流037 次安装37 周前更新
代码仓库

关于 herobrine

herobrine 是用于在 macOS 上定时运行 Claude Code 的 skill。它根据提示词和计划创建 launchd 任务,保存运行日志,并可通过 Beeper 和 macOS 通知发送结果。

主要功能

  1. 01创建、列出、移除或立即运行 Agent
  2. 02使用 launchd 安排运行时间
  3. 03设置提示词、模型和轮次上限
  4. 04保存带时间戳的运行日志
  5. 05通过 Beeper 和通知发送结果

适用场景

  1. 01定时接收市场或研究摘要
  2. 02定时审查未关闭的 Pull Request
  3. 03安排夜间项目任务
  4. 04定时扫描代码仓库安全问题

MCP 相关

该 skill 说明 Claude 实例可通过 MCP 使用 Beeper 发送结果,但未介绍 MCP 服务管理功能。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aaarnv/claude-skills --skill herobrine

安装后在 Claude Code 中输入/herobrine确认已加载。

附带文件scripts/manage-agent.shscripts/run-agent.sh

详细介绍

定时自主 Agent

让 Claude Code 自动运行。创建按计划执行任意提示词的 Agent——晨间简报、夜间构建、定期研究——并直接发送到你的 Beeper。

Claude Code 不只是交互式工具。它还是一个守护进程。


工作原理

┌─────────────────┐     ┌──────────────┐     ┌─────────────────┐
│  /herobrine │────▶│  macOS       │────▶│  claude -p      │
│  create          │     │  launchd     │     │  (headless)     │
└─────────────────┘     └──────────────┘     └────────┬────────┘
                                                       │
                                              ┌────────▼────────┐
                                              │  Deliver via     │
                                              │  Beeper + notif  │
                                              └─────────────────┘
  1. 定义一个 Agent:名称、提示词和计划
  2. 创建 macOS launchd plist,以便按时触发
  3. 运行器通过 claude -p 和 --dangerously-skip-permissions 执行(完全自主)
  4. 结果发送到你的 Beeper 聊天,并保存到本地日志
  5. macOS 通知确认任务已完成

设置

1. 安装脚本

将运行器和管理脚本复制到 ~/.claude/agents/:

mkdir -p ~/.claude/agents/schedules ~/.claude/agents/logs
cp scripts/run-agent.sh ~/.claude/agents/run-agent.sh
cp scripts/manage-agent.sh ~/.claude/agents/manage-agent.sh
chmod +x ~/.claude/agents/run-agent.sh ~/.claude/agents/manage-agent.sh
2. 配置 Beeper 投递(可选)

找到你的 Beeper“Note to Self”聊天 ID,并更新 manage-agent.sh 中默认的 DELIVERY_CHAT。每次运行后,Agent 都会以格式化的 Beeper 消息发送完整结果。

如果你不使用 Beeper,结果仍会保存到 ~/.claude/agents/logs/,并通过 macOS 通知送达。


操作

确定操作

如果 $ARGUMENTS 包含操作关键词(create、list、remove、run-now、logs),则使用该操作。否则,通过 AskUserQuestion 询问用户:

  • 创建新的定时 Agent
  • 列出所有定时 Agent
  • 移除定时 Agent
  • 立即运行——立即触发 Agent
  • 查看日志——查看过去 Agent 运行的日志

操作:创建

向用户收集以下信息(通过 AskUserQuestion 或参数):

  1. Agent 名称——简短标识符,使用小写字母和连字符(例如 stock-news、nightly-review)
  2. 提示词——发送给 Claude 的完整提示词。内容应详细。可包含技能调用,例如 /steve 或 /gsd:execute-plan
  3. 计划——易于理解的选项:
    • 每天早上 8 点 → 0 8 * * *
    • 每天晚上 6 点 → 0 18 * * *
    • 每小时 → every-1h
    • 每 30 分钟 → every-30m
    • 工作日早上 9 点 → 0 9 * * 1-5
    • 自定义 cron 或间隔
  4. 模型——opus、sonnet(默认)或 haiku
  5. 最大轮数——默认值:50

然后运行:

bash ~/.claude/agents/manage-agent.sh create "<name>" "<prompt>" "<schedule>" "$HOME" "<model>" <max_turns>
操作:列出
bash ~/.claude/agents/manage-agent.sh list
操作:移除

如果未提供 Agent 名称,则先列出 Agent,再询问要移除哪个。

bash ~/.claude/agents/manage-agent.sh remove "<name>"
操作:立即运行
bash ~/.claude/agents/manage-agent.sh run-now "<name>"
操作:日志
bash ~/.claude/agents/manage-agent.sh logs [agent-name]

使用场景

Agent提示词计划
stock-news研究今日股市的主要动态和科技公司财报。总结最重要的 5 件事。0 8 * * 1-5
pr-digest检查 my-org/my-repo 中所有未关闭的 PR。总结变更、标出问题,并说明需要哪些审批。0 9 * * 1-5
overnight-build使用 /steve 在 /path/to/project 中实现下一阶段0 2 * * *
security-scan审计 /path/to/repo,检查是否存在 OWASP 前 10 项漏洞。按严重程度报告发现的问题。0 6 * * 1
dep-updater检查 /path/to/project 中是否存在过时依赖项。创建包含安全更新的 PR。0 3 * * 0

文件结构

~/.claude/agents/
├── run-agent.sh              # Executes claude -p, delivers results
├── manage-agent.sh           # Create/list/remove/run-now/logs
├── schedules/                # Agent configs (JSON)
│   └── stock-news.json
└── logs/                     # Execution logs
    ├── stock-news_20260211_080000.log
    └── stock-news_launchd.log

~/Library/LaunchAgents/
└── com.claude.agent.stock-news.plist   # macOS scheduler

重要说明

  • Agent 使用 --dangerously-skip-permissions 运行——完全自主,不会询问
  • 每个 Agent 都有自己的 launchd plist,以确保可靠调度
  • Beeper 投递指令会注入提示词,因此启动的 Claude 实例会自行通过 MCP 处理投递
  • 日志会记录每次运行的完整输出和时间戳
  • Agent 可以调用其他技能(/steve、/rnv、/gsd:execute-plan)——它是一个完整的 Claude Code 实例

评论

支持 Markdown