关于 herobrine
herobrine 是用于在 macOS 上定时运行 Claude Code 的 skill。它根据提示词和计划创建 launchd 任务,保存运行日志,并可通过 Beeper 和 macOS 通知发送结果。
主要功能
- 01创建、列出、移除或立即运行 Agent
- 02使用 launchd 安排运行时间
- 03设置提示词、模型和轮次上限
- 04保存带时间戳的运行日志
- 05通过 Beeper 和通知发送结果
适用场景
- 01定时接收市场或研究摘要
- 02定时审查未关闭的 Pull Request
- 03安排夜间项目任务
- 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 │
└─────────────────┘
- 定义一个 Agent:名称、提示词和计划
- 创建 macOS launchd plist,以便按时触发
- 运行器通过
claude -p和--dangerously-skip-permissions执行(完全自主) - 结果发送到你的 Beeper 聊天,并保存到本地日志
- 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 或参数):
- Agent 名称——简短标识符,使用小写字母和连字符(例如
stock-news、nightly-review) - 提示词——发送给 Claude 的完整提示词。内容应详细。可包含技能调用,例如
/steve或/gsd:execute-plan - 计划——易于理解的选项:
- 每天早上 8 点 →
0 8 * * * - 每天晚上 6 点 →
0 18 * * * - 每小时 →
every-1h - 每 30 分钟 →
every-30m - 工作日早上 9 点 →
0 9 * * 1-5 - 自定义 cron 或间隔
- 每天早上 8 点 →
- 模型——
opus、sonnet(默认)或haiku - 最大轮数——默认值:
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