autopilot-ai 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -92,19 +92,15 @@ Earlier kimiflare versions ran on Cloudflare Workers AI / AI Gateway. On the fir
92
92
  - Your settings (theme, MCP/LSP servers, hooks, memory, sessions, cost history) carry over.
93
93
  - Model ids are migrated (`@cf/moonshotai/kimi-k2.6` → `moonshotai/kimi-k2.6`, and so on), and the retired Cloudflare fields (OAuth login, gateway, Unified Billing, provider keys) are removed from `config.json`.
94
94
  - Memory keeps working unchanged: embeddings use the same `bge-base-en-v1.5` model, now via OpenRouter.
95
- - `/gateway`, `autopilot auth cloudflare`, `--cloud` and the Cloud-only commands are gone. `/multi-agent` (Commute) still deploys to your Cloudflare account and keeps using `CLOUDFLARE_ACCOUNT_ID` / `CLOUDFLARE_API_TOKEN` for that.
95
+ - `/gateway`, `autopilot auth cloudflare`, `--cloud` and the Cloud-only commands are gone. `/multi-agent` (Commute) is retired; subagents now run locally through Hotcell.
96
96
 
97
- ### Local Hotcell research workers
97
+ ### Subagents
98
98
 
99
- `spawn_worker` can optionally run read-only research in a local [Hotcell](https://github.com/sinameraji/hotcell) sandbox instead of the remote Commute worker. Install and start Hotcell, add your OpenRouter key to the Hotcell host key store (`hotcell keys add openrouter`), then opt in with either:
99
+ For substantial tasks, the agent can hand independent investigations to **subagents**: separate Autopilot instances that each explore the repository in their own local [Hotcell](https://github.com/sinameraji/hotcell) sandbox and report back cited findings. Several subagents run in parallel behind a single approval while the main agent keeps the conversation and does the edits. You don't need to ask for them; say "don't use subagents" to opt out, or "use subagents" to insist.
100
100
 
101
- ```sh
102
- KIMIFLARE_WORKER_BACKEND=hotcell autopilot
103
- ```
101
+ Setup: install and start Hotcell, then add your OpenRouter key to its host key store (`hotcell keys add openrouter`). The real key never enters a sandbox. Subagents are read-only (no edits, shell, PRs, or MCP) and see the committed, pushed state of your branch. See [docs/subagents.md](docs/subagents.md) for limits and troubleshooting.
104
102
 
105
- or add `"workerBackend": "hotcell"` to `~/.config/kimiflare/config.json`. Remote workers remain the default. Each local worker uses an isolated cell with a pinned clean Git revision and a Hotcell-enforced spend ceiling; the exact active session model is passed through. The real provider key stays in Hotcell's host key store.
106
-
107
- The current local backend is **research-only**: workers cannot write files, run shell commands, create PRs, or use MCP tools. They can inspect repository files only inside the cloned workspace; environment files, VCS metadata, and credential paths are blocked. The parent workspace must be clean and have a credential-free HTTPS or SSH `origin` that the Hotcell daemon can clone. Local uncommitted changes are never copied. Results are returned for coordinator review and are not applied automatically. Hotcell CLI/daemon setup and gateway availability are required.
103
+ While subagents run they are listed above the prompt (Ink) or in the activity panel (`/agents`, Camouflage). `/subagents cancel <n>` stops one without interrupting the turn.
108
104
 
109
105
  ### Model
110
106
 
@@ -312,7 +308,8 @@ autopilot
312
308
  | `/reasoning` | Toggle chain-of-thought display |
313
309
  | `/model` | Pick a model from OpenRouter's catalog (or `/model <id>`, `/model list [filter]`) |
314
310
  | `/jev` | Ask Jev for a typed, scoped one-shot decision |
315
- | `/subagents off\|suggest\|auto` | Set the harness's subagent routing policy (default: `suggest`) |
311
+ | `/subagents` | List running subagents; `/subagents cancel <n>\|all` stops them; `/subagents off\|suggest\|auto` sets the delegation policy (default: `auto`) |
312
+ | `/now` | Run your latest queued message now instead of after the current turn (also `Ctrl+G` in Ink) |
316
313
  | `/key` | Show your OpenRouter key's spend and credit (`/key set <key>`, `/key clear`) |
317
314
  | `/cost` | Show OpenRouter-confirmed cost by session, day, month and all time |
318
315
  | `/update` | Check for updates |
@@ -320,9 +317,9 @@ autopilot
320
317
 
321
318
  ### Subagent routing
322
319
 
323
- `/subagents suggest` is the default. `off` disables harness-initiated suggestions; `suggest` recommends a worker for likely parallel work but tells the coordinator to ask before dispatch; `auto` lets the coordinator call `spawn_worker` when confidence is high. Explicit requests to use agents or work without them take precedence over this automatic policy. `/subagents auto` is also available through `KIMIFLARE_SUBAGENT_POLICY=auto` or `subagentPolicy: "auto"` in config.
320
+ `/subagents auto` is the default: on substantial tasks the agent is asked to look for independent parts and delegate them, and it decides whether delegation is worth it. `suggest` only hints at delegation for likely parallel work, and `off` disables harness guidance (you can still ask for subagents explicitly). Explicit requests to use subagents or to work without them always win. Set the policy with `/subagents`, `KIMIFLARE_SUBAGENT_POLICY`, or `subagentPolicy` in config.
324
321
 
325
- The harness never starts a worker directly. The coordinator remains responsible for defining independent missions and synthesizing results. Jev is consulted only for substantial but ambiguous candidates, receives at most 1,200 characters of redacted task text (no chat history, project files, system prompt, or tool output), and has a 4-second timeout; any failure falls back to local sequential work. Clear routine or sequential tasks do not call Jev. Every `spawn_worker` call still requires its normal tool permission and obeys provider, read-only, spend, concurrency, and timeout limits—even in `auto` mode.
322
+ The harness never starts a subagent by itself: the agent calls the `subagent` tool, which always needs normal tool permission (one prompt covers a parallel batch) and obeys provider, read-only, spend, concurrency, and timeout limits. In Code Mode the `subagent` tool stays a direct tool next to `execute_code`. Jev is consulted only in `suggest` mode for substantial but ambiguous requests, receives at most 1,200 characters of redacted task text, and has a 4-second timeout.
326
323
 
327
324
  ## Running shell commands yourself
328
325
 
@@ -338,6 +335,18 @@ Type `!` followed by a command (for example `! gh auth login`) to run it in your
338
335
  | `Ctrl+T` | Open theme picker |
339
336
  | `Shift+Tab` | Cycle mode (edit → plan → auto) |
340
337
  | `↑` / `↓` | Walk prompt history |
338
+ | `Ctrl+G` | While the agent works: run your latest queued message now instead of after the turn |
339
+
340
+ ### Messages sent while the agent is working
341
+
342
+ A message you send mid-turn is triaged instead of always waiting in line:
343
+
344
+ - **interrupt** ("stop, that's the wrong file"): the turn stops at the next safe point and your message runs next. Running subagents are never cancelled by an interrupt; while they run, the message is delivered as soon as they finish.
345
+ - **steer** ("also handle the empty case"): folded into the current task at the agent's next step.
346
+ - **queue** ("after this, update the changelog", or anything unclear): runs as its own turn afterwards. The queue shows `Ctrl+G run this now` so you can promote it.
347
+ - **aside** ("how's it going?"): answered from the current state without disturbing the turn.
348
+
349
+ Clear phrasing is decided instantly; ambiguous messages get a quick model check (OpenRouter only), and anything uncertain is queued. Use `/subagents cancel <n>` to stop a single subagent.
341
350
 
342
351
  ## Logs
343
352