Sleepless Agent
将 Claude Code Pro 的闲置时段用于持续处理开发任务。
按维度查看评分与理由
证据显示:README 描述了混合自主模式(随机想法自动应用,严肃任务需审查),但未提供用户确认机制的实现细节;数据流描述为从 Slack 到任务队列到执行器,但未明确数据流透明性;敏感数据处理仅提及环境变量存储令牌,未说明加密或最小化;依赖列表未提供版本锁定或安全审计;外部效果包括自动 Git 提交和 PR 创建,但未说明用户确认或撤销机制;回滚仅通过 trash 命令软删除,未提供完整回滚;来源归属仅通过引用和许可证声明,未验证。扣分原因:缺乏具体实现证据,权限最小化、用户确认、数据流透明性、敏感数据处理、依赖安全、外部效果、回滚、来源归属均未充分展示。
证据显示:README 和 pyproject.toml 中的版本号不一致(README 提到 0.1.0,pyproject 为 0.1.2),但整体描述一致;依赖列表明确,但未提供版本锁定或镜像;失败消息未在文档中详细说明。扣分原因:版本不一致,依赖可用性未验证,失败消息文档不足。
证据显示:README 详细描述了多种使用场景(日常头脑风暴、生产修复、代码审计),并提供了 Slack 和 CLI 两种接口;能力边界通过任务类型和 workspace 约束说明;触发精度通过命令和参数定义;环境适配包括 Windows/WSL 的 PATH 问题和 systemd/launchd 部署。扣分原因:能力边界和触发精度主要基于文档,未提供代码验证。
证据显示:README 结构清晰,包含安装、配置、使用、架构、部署等章节;安装说明详细,包括 pip 和开发安装;命名稳定(sle 命令);提供了示例和 FAQ 链接;已知限制未明确列出;许可证为 MIT;版本信息在 pyproject 中,但 README 中版本不一致;维护责任未明确。扣分原因:已知限制缺失,版本不一致,维护责任不明确。
证据显示:输出可用性通过 CLI 和 Slack 命令展示,包括状态检查和报告;边际价值在于利用夜间未使用的 Claude 配额;成本效益未提供实际数据,仅声称最大化使用。扣分原因:成本效益缺乏数据支持。
证据显示:README 中的声明(如功能、架构)未提供代码引用或测试证据;跨来源验证仅通过文档链接,未提供独立验证;事实与推断未明确区分。扣分原因:声明缺乏可追溯性,交叉验证不足,事实与推断混淆。
- 版本号不一致:README 提到 0.1.0,pyproject 为 0.1.2,可能造成混淆。
- 依赖未锁定版本,存在供应链风险。
- 自动 Git 提交和 PR 创建可能产生意外外部影响,需谨慎配置。
- Slack 令牌等敏感信息仅通过环境变量存储,未说明加密措施。
这个 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 的部署方式。
用户通过 /think 或 sle 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。
- 拥有 Claude Code Pro 的个人开发者,希望在夜间把零散技术想法自动排入任务队列并保留执行结果。
- 使用 Slack 协作的工程团队,希望以
/think -p backend ...提交后端任务,并通过功能分支和 PR 进行人工审查。 - 不想配置 Slack 的命令行用户,希望通过
sle think、sle check和sle report在本机管理任务。 - 需要并行处理彼此独立开发工作的用户,希望每个任务使用独立工作区,避免任务文件相互覆盖。
- 需要控制 Claude Code Pro 日间消耗的用户,希望按可配置的昼夜用量阈值自动暂停新增任务。
这个 Agent 有哪些优点和局限?
- Slack 命令与
sleCLI 对齐,且不配置 Slack 也可运行。 - SQLite 队列、结果存储、报告、日志和指标均落在本地工作区,便于持续运行与追踪。
- 每个任务拥有隔离工作区,并为项目任务提供功能分支、自动提交和可选 PR 创建流程。
- 用量监控采用可配置的昼夜阈值,可在夜间更积极地使用 Claude Code Pro 容量。
- 核心执行依赖 Claude Code CLI、其登录状态及 Claude Code Pro 用量,未记录其他模型或 API 适配器。
- 启用 Slack 需要工作区管理员配置 Socket Mode、OAuth scopes、事件订阅和两类令牌。
- 自动 PR 创建依赖可选的
ghCLI,并且远程 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_TOKEN 和 SLACK_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 吗?
sle CLI 可在未配置 Slack 的情况下运行;Slack 只是实时提交任务和查看状态的可选接口。需要 Claude API key 吗?
claude login,并说明不再需要 Claude API key。