开发与工程 slack-bottask-queuesqlitegit-automationworkspace-isolationgithub-prs

Sleepless Agent

将 Claude Code Pro 的闲置时段用于持续处理开发任务。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Sleepless Agent 是一个以 Claude Code CLI 和 Python Agent SDK 驱动的 24/7 开发任务守护进程。它可通过 Slack 命令或本地 `sle` CLI 接收任务,并将任务持久化到 SQLite 队列。守护进程在隔离工作区中执行任务,保存结果与元数据,并可按任务类型执行 Git 提交和拉取请求创建。其调度逻辑会通过 `claude /usage` 检查 Claude Code Pro 用量,并按昼夜阈值暂停或恢复新任务生成。Slack 是可选接口;项目还提供 Linux systemd 和 macOS launchd 的部署方式。

用户通过 /thinksle think 提交想法或项目任务,Slack Bot 或 CLI 将其写入 SQLite Task Queue。daemon.py 的事件循环调度任务,claude_code_executor.py 通过 Python Agent SDK 调用 Claude Code CLI,并为任务分配隔离工作区;复杂任务可配置 Planner、Worker、Evaluator 三类代理及各自的最大轮次。results.py 保存输出和元数据,monitor.py 提供健康检查和指标,claude /usage 的结果用于决定是否继续生成和调度任务。随机想法可提交到 thought-ideas 分支;带 -p 的项目任务可创建 feature/<project>-<task_id> 分支,并在安装且配置 gh 时创建 PR。

  1. 拥有 Claude Code Pro 的个人开发者,希望在夜间把零散技术想法自动排入任务队列并保留执行结果。
  2. 使用 Slack 协作的工程团队,希望以 `/think -p backend ...` 提交后端任务,并通过功能分支和 PR 进行人工审查。
  3. 不想配置 Slack 的命令行用户,希望通过 `sle think`、`sle check` 和 `sle report` 在本机管理任务。
  4. 需要并行处理彼此独立开发工作的用户,希望每个任务使用独立工作区,避免任务文件相互覆盖。
  5. 需要控制 Claude Code Pro 日间消耗的用户,希望按可配置的昼夜用量阈值自动暂停新增任务。

这个 Agent 有哪些优点和局限?

优点
  • Slack 命令与 `sle` CLI 对齐,且不配置 Slack 也可运行。
  • SQLite 队列、结果存储、报告、日志和指标均落在本地工作区,便于持续运行与追踪。
  • 每个任务拥有隔离工作区,并为项目任务提供功能分支、自动提交和可选 PR 创建流程。
  • 用量监控采用可配置的昼夜阈值,可在夜间更积极地使用 Claude Code Pro 容量。
局限
  • 核心执行依赖 Claude Code CLI、其登录状态及 Claude Code Pro 用量,未记录其他模型或 API 适配器。
  • 启用 Slack 需要工作区管理员配置 Socket Mode、OAuth scopes、事件订阅和两类令牌。
  • 自动 PR 创建依赖可选的 `gh` CLI,并且远程 Git 仓库配置需要用户自行设置。
  • 任务会读写本地工作区并执行 Git 操作;采用自动提交或自动生成任务前需评估项目隔离和审查流程。

如何安装或部署这个 Agent?

需要 Python 3.11+、Node.js、Git,以及已登录的 Claude Code CLI。安装:pip install sleepless-agent;安装 CLI:npm install -g @anthropic-ai/claude-code;随后执行 claude login 并用 claude --version 验证。首次可直接运行 sle daemon,再用 sle think "Research async Python patterns" 提交任务;Slack 不是必需项。若启用 Slack,创建 Socket Mode 应用,配置 SLACK_BOT_TOKENSLACK_APP_TOKEN.env,然后运行 sle daemon

如何使用这个 Agent?

启动 sle daemon 后,使用 sle think "Build onboarding flow" -p backend 创建项目任务,或用 sle think "Explore async patterns" 提交随机想法。使用 sle check 查看守护进程、队列和用量,使用 sle usage 查看 Claude Code Pro 用量,使用 sle report 7 查看任务详情;sle cancel 9 会将任务或项目移入回收站,可用 sle trash restore <project> 恢复。需要替换默认存储位置时,可使用 sle --db-path ./tmp/tasks.db --results-path ./tmp/results check。Slack 配置完成后,可使用对应的 /think/check/usage/report/cancel/trash 命令;/chat <project> 可在专用线程中开始交互会话。

常见问题

必须使用 Slack 吗?
不必。README 明确说明 `sle` CLI 可在未配置 Slack 的情况下运行;Slack 只是实时提交任务和查看状态的可选接口。
需要 Claude API key 吗?
不需要。该项目使用 Claude Code CLI;文档要求安装 CLI、执行 `claude login`,并说明不再需要 Claude API key。
达到用量阈值后会发生什么?
新任务生成会暂停,正在运行的任务会正常完成,待处理任务留在队列中;用量重置后会自动恢复。
项目任务会直接合并代码吗?
文档描述的是创建功能分支、自动提交并创建供审查的 PR;未说明会自动合并 PR。

相关 Agents