@atolis-hq/wake

中文文档
0.4.112发布于 2026/10/24Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 7412

Local autonomous agent control plane for software development

原始使用文档
文档目录10 节
  1. Table of Contents
  2. The Problem
  3. Vision
  4. Feature Overview
  5. Where the Work Happens
  6. Supported Agent CLIs
  7. Getting Started
  8. Documentation
  9. Issues & Feature Requests
  10. License
logo

Wake

Autonomous software engineering control plane

last update CI/CD status open issues license latest tag npm version runs in docker


Wake is a control plane for autonomous software engineering. It watches the channels your team already uses, coordinates agent activity and involves humans when needed, and keeps the durable record attached to the work instead of the terminal session that happened to run it.

Create an issue, assign Wake, and keep doing your own work. Wake investigates, asks for input when human judgment matters, proposes a plan, launches local coding-agent CLIs to implement changes, opens pull requests, and carries the conversation forward wherever the work is already happening.

Table of Contents

The Problem

Modern coding agents are powerful, but sustained development work still needs a lot of manual orchestration. Agents are usually started by hand, tied to one CLI surface, and optimized for interactive sessions instead of managed execution over time.

That leaves hard operational gaps: deciding what should happen next, choosing the right tool and model for each step, preserving state across interruptions, running deterministic housekeeping outside the LLM path, and letting a human resume the exact local session when direct intervention is fastest.

Wake exists to close that gap. It wraps existing agent CLIs in a local control plane that can apply scripted routing rules, move work through explicit lifecycle steps, resume or hand off sessions, and keep deterministic processes out of the token-burning path wherever possible.

Vision

Wake should make reliable, resumable, token-aware autonomous engineering practical. The default operating model is asynchronous and channel-driven: work enters through durable external systems, Wake keeps humans in the loop at useful decision points, and execution happens locally in an inspectable workspace or sandbox.

Wake is not trying to replace coding agents, issue trackers, or source control. It coordinates across them. Over time it should become the layer that picks work, decides the next step, invokes the right local tool or deterministic process, persists state, and resumes later without losing context.

For more detail, see docs/vision.md and docs/architecture.md.

Feature Overview

  • Wake decides, the agent runs. Choosing the CLI, model, and lifecycle transition is a control-plane decision; agents do the work and report an outcome.
  • Issue-driven by default. Wake currently integrates with GitHub Issues and reports questions, approvals, progress, and results back through the ticket.
  • Explicit lifecycle stages. Work can move through configurable stages such as refinement and implementation instead of disappearing into one opaque session.
  • Event-sourced and restart-safe. The durable record is an append-only event log; projections can be rebuilt, and the loop can crash and resume without losing its place.
  • Reusable eventing packages. @atolis-hq/eventing supplies persistence-neutral event contracts and runtime services; the separate @atolis-hq/eventing-filesystem package supplies Node filesystem adapters. Wake's Bootstrap composition selects those adapters, so domain modules never depend on the filesystem package.
  • Canonical work discussion. GitHub comments and Wake agent reports are recorded in one immutable conversation per work item, preserving origin and context independently of the surface where they appeared.
  • Local and inspectable. Everything lives in a plain-file Wake home directory: config.yaml, config.workflows.yaml, prompts/, SETUP.md, and workspaces/ at the top level for what you edit or browse day-to-day, with durable/internal state (events, projections, runs, logs, sandbox auth) nested under a hidden .wake/.
  • Durable handoffs. Agent stages can publish work-item artifacts outside Git workspaces. Wake passes only a scoped manifest to later agents, which fetch content on demand through a run-bound MCP capability. The web work item Artifacts tab offers inline viewing for .md files (case insensitive), with raw HTML disabled, a download link, and Back to artifacts navigation.
  • Sandbox-oriented execution. Wake can run from a persistent Docker sandbox with durable auth state and mounted Wake home data.
  • Runner agnostic. Claude Code, Codex, Cursor, and fake runners sit behind runner adapters so Wake owns policy and routing rather than depending on one provider.
  • Human resumption. A human can pick up the exact local agent session when a direct terminal intervention is the best way forward.
  • Operator correlation escape hatch. wake correlate <resourceUri> <workItemId> lets an operator hand-declare that a resource (a PR, a Slack thread, etc.) belongs to an existing work item when nothing detected the link automatically. See docs/configuration.md.

Current runner capability differences are documented in docs/runner-comparison.md.

Where the Work Happens

Wake has no chat UI you need to check for status. Your ticketing system is the interface: Wake posts progress updates, asks clarifying questions, and reports results as comments on the ticket, and reflects stage and status as labels on it. When it's ready, it opens a pull request against your repo the normal way. Reviewing, approving, and merging happen exactly where they already do today - nothing new to learn, no separate dashboard to babysit.

A local control-plane UI exists for operators who want to watch runs, inspect events, or use the dedicated Conversation tab on a work item to read its canonical timeline. When surfaces.api.conversationMessages.enabled is enabled, the same tab also lets an operator add a message that Wake records and may use to resume an eligible agent stage. The UI is a window into the same state - not a required part of the workflow. The API and UI require an operator login: run wake ui token to print a single-use pairing link or temporary code, then enter it in the UI. Successful logins persist for two years across browser and Wake-container restarts. Use wake ui token set <key> to replace the durable access key; replacement signs out existing sessions.

Analytics provides live reports with selectable windows, run outcome buckets, and summary metrics alongside today's system activity counters. See Analytics API and web UI for definitions.

Supported Agent CLIs

Wake wraps existing coding-agent CLIs rather than replacing them. Runner adapters currently exist for:

Each runner sits behind the same execution contract, so Wake's routing, lifecycle, and sandbox behavior stay the same regardless of which CLI executes a given activity. A fake runner adapter also exists for zero-token testing of the control plane itself. See docs/runner-comparison.md for capability differences between runners.

Getting Started

npm install -g @atolis-hq/wake
cd ~/
wake init ./wake-home
cd ./wake-home
# point your agent CLI at the scaffolded SETUP.md to finish configuring
# (e.g. "read SETUP.md and help me configure this")
wake sandbox build
wake sandbox up
wake sandbox setup
wake start

Full setup instructions are in docs/getting-started.md. Run wake --help at any time for the full command list, or see docs/cli.md for the full command reference.

Documentation

Issues & Feature Requests

Found a bug or have an idea for Wake? Open an issue - bug reports and feature requests are both welcome.

License

Wake is licensed under the Apache License 2.0.

版本与发布记录

@atolis-hq/wake 共发布 349 个版本,首次发布于 2026/07/19;过去 12 个月发布了 349 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.112latest2026/10/2415 天前
0.4.1112026/10/2315 天前
0.4.1102026/10/2117 天前
0.4.1092026/10/2118 天前
0.4.1082026/10/2118 天前
0.4.1072026/10/2118 天前

关于 @atolis-hq/wake 的常见问题

@atolis-hq/wake 是什么?

Local autonomous agent control plane for software development

如何安装 @atolis-hq/wake?

在项目目录运行 npm install @atolis-hq/wake,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 wake,可以用 npx wake 直接运行。

@atolis-hq/wake 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@atolis-hq/wake 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@atolis-hq/wake 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@atolis-hq/wake 可以商用吗?

@atolis-hq/wake 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@atolis-hq/wake 的下载量有多少?

根据 npm 官方下载统计,@atolis-hq/wake 在 2026/10/07 – 2026/11/05 这 30 天内被下载 7,412 次,日均约 247 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atolis-hq/wake 还在维护吗?

最新版本 0.4.112 发布于 2026/10/24(15 天前);至今共发布 349 个版本,其中过去 12 个月发布了 349 个;首次发布于 2026/07/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。