chutes-build 0.2.0 → 0.3.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.
Files changed (2) hide show
  1. package/README.md +124 -69
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -1,77 +1,54 @@
1
1
  # Chutes Build
2
2
 
3
+ **A privacy-first, open-source coding agent built for the [Chutes](https://chutes.ai) ecosystem.**
4
+
3
5
  [![CI](https://github.com/TheStreamCode/chutes-build/actions/workflows/ci.yml/badge.svg)](https://github.com/TheStreamCode/chutes-build/actions/workflows/ci.yml)
4
6
  [![npm version](https://img.shields.io/npm/v/chutes-build.svg)](https://www.npmjs.com/package/chutes-build)
5
7
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
6
8
 
7
- Chutes Build is a privacy-first, open-source coding agent optimized for the
8
- [Chutes](https://chutes.ai) ecosystem. It combines an interactive terminal UI,
9
- coding tools, model routing, parallel subagents, multimodal generation, web
10
- research, browser automation, and local memory in one CLI.
9
+ ![Chutes Build](assets/chutes/video/chutes-build-hero.gif)
10
+
11
+ One CLI, no compromises: an interactive terminal UI, a full coding agent
12
+ runtime, native Chutes model routing, parallel subagents, multimodal
13
+ generation, web research, browser automation, and local memory — with
14
+ telemetry, remote trace upload, and phone-home update checks off by default.
11
15
 
12
16
  ![Chutes Build terminal UI](assets/chutes/screenshot/chutes-build.png)
13
17
 
14
18
  > **Development preview:** the project is under active development. Build it
15
19
  > from source and review agent actions before approving changes.
16
20
 
17
- ## What is included
21
+ ## Contents
22
+
23
+ - [Highlights](#highlights)
24
+ - [Quick start](#quick-start)
25
+ - [Features](#features)
26
+ - [Configuration](#configuration)
27
+ - [Privacy & security](#privacy--security)
28
+ - [Project](#project)
29
+
30
+ ## Highlights
31
+
32
+ - 🔒 **Privacy by construction** — telemetry, remote error reporting, automatic
33
+ update checks, remote trace upload, and upstream session sharing are all
34
+ disabled by default.
35
+ - ⚡ **Chutes-native inference** — live model discovery, `Auto (Chutes Router)`
36
+ as the default, and automatic fallback when a model is temporarily
37
+ unavailable.
38
+ - 🧭 **Advisor** — an on-demand reasoning agent that reviews plans, blockers,
39
+ and completion claims without ever taking over the executor loop.
40
+ - 🧩 **Subagent orchestration** — concurrent fan-out with isolated worktrees
41
+ for real parallel decomposition, not just sequential delegation.
42
+ - 🎨 **Multimodal, natively** — image, video, music, speech, and on-demand OCR,
43
+ built directly into the Rust runtime instead of a bolted-on MCP process.
44
+ - 🧠 **Hybrid memory & voice** — full-text plus semantic vector recall, and
45
+ hold-to-record voice dictation, both on by default.
46
+
47
+ See [Features](#features) below for the complete list.
18
48
 
19
- - **Chutes-native inference:** API-key authentication, live model discovery,
20
- `Auto (Chutes Router)` as the first model choice, configurable fallback
21
- chains, and automatic retry when a selected model is temporarily unavailable.
22
- - **Coding agent runtime:** repository inspection, edits, shell commands,
23
- planning, goals, MCP servers, skills, sessions, worktrees, and permission
24
- controls inherited from the mature upstream runtime.
25
- - **Advisor:** a read-only, on-demand reasoning agent that reviews plans,
26
- difficult decisions, blockers, and completion claims without taking over the
27
- executor loop. Reasons at maximum effort by default. `/advisor on|off`
28
- toggles it; `/advisor <model>` pins a specific model (e.g. your largest or
29
- highest-tier available one — Chutes' catalog carries no price/size metadata
30
- to pick one automatically); `/advisor default` clears the pin.
31
- - **Subagent orchestration:** foreground and background workers, concurrent
32
- fan-out, multi-worker waits, bounded nesting, and isolated worktrees. The
33
- `chutes-build-orchestrator` preset is tuned for parallel decomposition.
34
- - **Chutes account:** read-only subscription, quota, and usage access through
35
- `get_chutes_usage`, a compact plan/quota indicator in the TUI, and detailed
36
- `/usage` output. Per-model statistics remain disabled unless requested.
37
- - **Chutes media:** live discovery and invocation for image generation and
38
- editing, video, music, speech, and other supported Chutes media models through
39
- `list_media_models`, `describe_media_model`, and `generate_media`. This is the
40
- native Rust integration of the `chutes-media-mcp` workflow, so Chutes Build
41
- does not need to spawn a separate Node/MCP process for its core media tools.
42
- Generated output crosses the tool/ACP/TUI boundary as a typed artifact:
43
- images use bounded lazy previews, videos use a two-frame rolling decoder,
44
- and music/speech expose local pause/resume, seek, volume, duration, and
45
- waveform controls with native-player fallback. Media work starts only while
46
- inference is idle, never autoplays, and stays off the TUI render thread.
47
- - **Capability routing:** image inputs stay with the selected model when it
48
- supports vision and are otherwise delegated to a vision-capable Chutes route.
49
- - **On-demand OCR:** the `ocr_page` tool extracts text verbatim from a single
50
- image or PDF page via a dedicated Chutes vision model, independent of the
51
- active chat model's vision support. Returns extracted text only — the image
52
- itself is never added to the conversation.
53
- - **Current coding documentation:** Context7 search and documentation tools are
54
- built in and avoid sending credentials or known secrets.
55
- - **Official Chutes research:** before answering Chutes-specific questions, the
56
- main agent and subagents consult both the official
57
- [documentation](https://chutes.ai/docs) and [news](https://chutes.ai/news),
58
- treating directly relevant official pages as primary authority.
59
- - **Research and browser tools:** native web search (DuckDuckGo by default,
60
- optionally Brave) plus agentic Chrome/Edge control through a local DevTools
61
- connection and an isolated temporary browser profile.
62
- - **Local memory:** Chutes Build maintains a secret-filtered `memories.md` file
63
- and can be launched with `--no-memory` when a stateless session is preferred.
64
- Recall is hybrid by default — full-text search combined with semantic vector
65
- search against a built-in Chutes-hosted embedding model.
66
- - **Voice input:** hold-to-record dictation transcribes speech into the prompt
67
- box. Enabled by default; activation is always manual (mic icon, `/voice`, or
68
- Ctrl+Space) — Chutes Build never records without an explicit press.
69
- - **Time awareness and wellness:** the agent receives the local date, time, and
70
- timezone and can suggest a break after long or late sessions.
71
- - **Privacy by construction:** telemetry, remote error reporting, automatic
72
- update checks, remote trace upload, and upstream session sharing are disabled.
49
+ ## Quick start
73
50
 
74
- ## Install with npm
51
+ ### Install with npm
75
52
 
76
53
  Release builds install without a Rust toolchain:
77
54
 
@@ -89,7 +66,7 @@ npx chutes-build
89
66
  The npm launcher selects a native binary for Windows, macOS, or Linux. It does
90
67
  not collect telemetry and does not download executables from an install script.
91
68
 
92
- ## Build from source
69
+ ### Build from source
93
70
 
94
71
  Prerequisites:
95
72
 
@@ -109,7 +86,7 @@ cargo build -p chutes-build --release
109
86
  The Windows executable is `target\release\chutes-build.exe`; on macOS and
110
87
  Linux it is `target/release/chutes-build`.
111
88
 
112
- ## Quick start
89
+ ### First run
113
90
 
114
91
  Run `chutes-build` with no prior setup and log in from the welcome screen:
115
92
  press `l` for "Login with Chutes" (opens your browser) or `k` to paste a
@@ -136,7 +113,81 @@ when no preference has been saved. Select a concrete model with `/model` or
136
113
  `chutes-build --model <model-id>`. Inspect the resolved catalog with
137
114
  `chutes-build models`.
138
115
 
139
- ## Model selection, reasoning, and routing
116
+ ## Features
117
+
118
+ ### Agent & coding
119
+
120
+ - **Coding agent runtime:** repository inspection, edits, shell commands,
121
+ planning, goals, MCP servers, skills, sessions, worktrees, and permission
122
+ controls inherited from the mature upstream runtime.
123
+ - **Advisor:** a read-only, on-demand reasoning agent that reviews plans,
124
+ difficult decisions, blockers, and completion claims without taking over the
125
+ executor loop. Reasons at maximum effort by default. `/advisor on|off`
126
+ toggles it; `/advisor <model>` pins a specific model (e.g. your largest or
127
+ highest-tier available one — Chutes' catalog carries no price/size metadata
128
+ to pick one automatically); `/advisor default` clears the pin.
129
+ - **Subagent orchestration:** foreground and background workers, concurrent
130
+ fan-out, multi-worker waits, bounded nesting, and isolated worktrees. The
131
+ `chutes-build-orchestrator` preset is tuned for parallel decomposition.
132
+
133
+ ### Chutes integration
134
+
135
+ - **Chutes-native inference:** API-key authentication, live model discovery,
136
+ `Auto (Chutes Router)` as the first model choice, configurable fallback
137
+ chains, and automatic retry when a selected model is temporarily unavailable.
138
+ - **Chutes account:** read-only subscription, quota, and usage access through
139
+ `get_chutes_usage`, a compact plan/quota indicator in the TUI, and detailed
140
+ `/usage` output. Per-model statistics remain disabled unless requested.
141
+ - **Chutes media:** live discovery and invocation for image generation and
142
+ editing, video, music, speech, and other supported Chutes media models through
143
+ `list_media_models`, `describe_media_model`, and `generate_media`. This is the
144
+ native Rust integration of the `chutes-media-mcp` workflow, so Chutes Build
145
+ does not need to spawn a separate Node/MCP process for its core media tools.
146
+ Generated output crosses the tool/ACP/TUI boundary as a typed artifact:
147
+ images use bounded lazy previews, videos use a two-frame rolling decoder,
148
+ and music/speech expose local pause/resume, seek, volume, duration, and
149
+ waveform controls with native-player fallback. Media work starts only while
150
+ inference is idle, never autoplays, and stays off the TUI render thread.
151
+ - **Capability routing:** image inputs stay with the selected model when it
152
+ supports vision and are otherwise delegated to a vision-capable Chutes route.
153
+ - **On-demand OCR:** the `ocr_page` tool extracts text verbatim from a single
154
+ image or PDF page via a dedicated Chutes vision model, independent of the
155
+ active chat model's vision support. Returns extracted text only — the image
156
+ itself is never added to the conversation.
157
+
158
+ ### Research & tools
159
+
160
+ - **Current coding documentation:** Context7 search and documentation tools are
161
+ built in and avoid sending credentials or known secrets.
162
+ - **Official Chutes research:** before answering Chutes-specific questions, the
163
+ main agent and subagents consult both the official
164
+ [documentation](https://chutes.ai/docs) and [news](https://chutes.ai/news),
165
+ treating directly relevant official pages as primary authority.
166
+ - **Research and browser tools:** native web search (DuckDuckGo by default,
167
+ optionally Brave) plus agentic Chrome/Edge control through a local DevTools
168
+ connection and an isolated temporary browser profile.
169
+
170
+ ### Memory & voice
171
+
172
+ - **Local memory:** Chutes Build maintains a secret-filtered `memories.md` file
173
+ and can be launched with `--no-memory` when a stateless session is preferred.
174
+ Recall is hybrid by default — full-text search combined with semantic vector
175
+ search against a built-in Chutes-hosted embedding model.
176
+ - **Voice input:** hold-to-record dictation transcribes speech into the prompt
177
+ box. Enabled by default; activation is always manual (mic icon, `/voice`, or
178
+ Ctrl+Space) — Chutes Build never records without an explicit press.
179
+ - **Time awareness and wellness:** the agent receives the local date, time, and
180
+ timezone and can suggest a break after long or late sessions.
181
+
182
+ ### Privacy by construction
183
+
184
+ Telemetry, remote error reporting, automatic update checks, remote trace
185
+ upload, and upstream session sharing are disabled. See
186
+ [Privacy & security](#privacy--security) below for the full data boundary.
187
+
188
+ ## Configuration
189
+
190
+ ### Model selection, reasoning, and routing
140
191
 
141
192
  Auto sends `model-router` requests to the Chutes router endpoint, allowing the
142
193
  service to select a model for the task and handle cold or unavailable capacity.
@@ -174,7 +225,7 @@ remain router decisions.
174
225
  Selecting `Instant` can reduce reasoning latency, but it intentionally changes
175
226
  the model's reasoning behavior and is never enabled silently.
176
227
 
177
- ## Account plan and quota
228
+ ### Account plan and quota
178
229
 
179
230
  When authenticated, Chutes Build fetches subscription usage, plan metadata, and
180
231
  quota data concurrently. The TUI status bar shows the plan plus the rolling
@@ -184,7 +235,7 @@ run `/usage` for every active window, percentage, and reset time. If aggregate
184
235
  quota usage is unavailable, the client falls back concurrently to the
185
236
  documented per-chute quota endpoints.
186
237
 
187
- ## Optional web and browser configuration
238
+ ### Optional web and browser configuration
188
239
 
189
240
  Web search uses DuckDuckGo without a dedicated key. For Brave Search:
190
241
 
@@ -216,7 +267,9 @@ limited to 512 MiB by default (`CHUTES_MAX_MEDIA_BYTES`, hard ceiling 2 GiB),
216
267
  while workspace inputs are limited to 64 MiB by default
217
268
  (`CHUTES_MAX_INPUT_ASSET_BYTES`, hard ceiling 512 MiB).
218
269
 
219
- ## Local data
270
+ ## Privacy & security
271
+
272
+ ### Local data
220
273
 
221
274
  User-level state defaults to `~/.chutes-build` or the directory set in
222
275
  `CHUTES_BUILD_HOME`. Project memory is stored in `memories.md`. Configuration,
@@ -225,7 +278,7 @@ explicitly calls an external service.
225
278
 
226
279
  See [PRIVACY.md](PRIVACY.md) for the exact network and data boundaries.
227
280
 
228
- ## Security model
281
+ ### Security model
229
282
 
230
283
  Chutes Build is an agent capable of reading files, running commands, editing
231
284
  code, and controlling an isolated browser. Use it only in repositories you
@@ -234,7 +287,9 @@ for sensitive work. Never place API keys in prompts, source files, or committed
234
287
  configuration. See the [security review](docs/security-review.md) for release
235
288
  controls, trust boundaries, and tracked dependency exceptions.
236
289
 
237
- ## Project provenance
290
+ ## Project
291
+
292
+ ### Provenance
238
293
 
239
294
  Chutes Build is a substantially modified fork of
240
295
  [`xai-org/grok-build`](https://github.com/xai-org/grok-build). The upstream
@@ -249,7 +304,7 @@ and reviewed through the documented [upstream synchronization
249
304
  procedure](docs/upstream-sync.md); upstream changes are never merged or released
250
305
  automatically.
251
306
 
252
- ## Contributing
307
+ ### Contributing
253
308
 
254
309
  Issues and focused pull requests are welcome. Read
255
310
  [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md), and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chutes-build",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Privacy-first coding agent optimized for the Chutes ecosystem",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Michael Gasperini (Mikesoft)",
@@ -34,12 +34,12 @@
34
34
  "verify:release": "node npm/scripts/verify-release.mjs"
35
35
  },
36
36
  "optionalDependencies": {
37
- "chutes-build-darwin-arm64": "0.2.0",
38
- "chutes-build-darwin-x64": "0.2.0",
39
- "chutes-build-linux-arm64-gnu": "0.2.0",
40
- "chutes-build-linux-x64-gnu": "0.2.0",
41
- "chutes-build-win32-arm64": "0.2.0",
42
- "chutes-build-win32-x64": "0.2.0"
37
+ "chutes-build-darwin-arm64": "0.3.0",
38
+ "chutes-build-darwin-x64": "0.3.0",
39
+ "chutes-build-linux-arm64-gnu": "0.3.0",
40
+ "chutes-build-linux-x64-gnu": "0.3.0",
41
+ "chutes-build-win32-arm64": "0.3.0",
42
+ "chutes-build-win32-x64": "0.3.0"
43
43
  },
44
44
  "keywords": [
45
45
  "ai",