chutes-build 0.2.0 → 0.4.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/PRIVACY.md +39 -12
- package/README.md +182 -72
- package/package.json +7 -7
package/PRIVACY.md
CHANGED
|
@@ -8,13 +8,18 @@ sessions. There is no hidden opt-in or installation identifier.
|
|
|
8
8
|
|
|
9
9
|
The CLI may store configuration, an encrypted or OS-protected credential entry
|
|
10
10
|
where supported, sessions, logs, local exports, and user memory under
|
|
11
|
-
`~/.chutes-build` (or `CHUTES_BUILD_HOME`).
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
`~/.chutes-build` (or `CHUTES_BUILD_HOME`). Plugins, user roles/personas, and
|
|
12
|
+
managed bundled-agent definitions use that same root; setting
|
|
13
|
+
`CHUTES_BUILD_HOME` does not fall back to those resources in the default home.
|
|
14
|
+
Project memory is maintained in `memories.md`. Known secret formats are filtered
|
|
15
|
+
before memory writes, but users should still avoid entering secrets into
|
|
16
|
+
prompts.
|
|
14
17
|
|
|
15
18
|
`chutes-build trace` always creates a local archive. Remote session sharing and
|
|
16
|
-
upstream managed configuration commands
|
|
17
|
-
are disabled.
|
|
19
|
+
search, remote workspace exposure, upstream managed configuration commands, and
|
|
20
|
+
automatic update checks are disabled. Session storage is forced to local mode
|
|
21
|
+
even if inherited write-back settings are present. Updates are installed
|
|
22
|
+
manually.
|
|
18
23
|
|
|
19
24
|
Sampling diagnostics are disabled by default. When explicitly enabled with
|
|
20
25
|
`--log-sampling` or `CHUTES_BUILD_LOG_SAMPLING=1`, the local
|
|
@@ -34,22 +39,38 @@ remote preview, thumbnail, codec, waveform, or playback service is used.
|
|
|
34
39
|
|
|
35
40
|
## Outbound connections
|
|
36
41
|
|
|
37
|
-
Connections occur
|
|
42
|
+
Connections occur when required by startup model/account discovery or an
|
|
43
|
+
explicit hosted feature:
|
|
38
44
|
|
|
39
45
|
| Destination | Purpose | Data sent |
|
|
40
46
|
| --- | --- | --- |
|
|
41
|
-
| `model-router-ten.vercel.app` | default Chutes-compatible model routing | prompts, selected tool schemas, model
|
|
42
|
-
| `llm.chutes.ai` | Chutes inference
|
|
43
|
-
| `api.chutes.ai` | Chutes account and media APIs |
|
|
47
|
+
| `model-router-ten.vercel.app` | default Chutes-compatible model routing | prompts, selected context/tool schemas, model inputs, Chutes API credential |
|
|
48
|
+
| `llm.chutes.ai` | Chutes inference, model catalog, semantic memory, voice transcription, OCR, and vision | model requests and the selected inputs: prompts/context, memory chunks, audio, images, PDF pages, or sampled video frames; Chutes API credential |
|
|
49
|
+
| `api.chutes.ai` | Chutes account and media APIs | account requests, media parameters and user-selected media assets; Chutes API credential |
|
|
50
|
+
| `api.chutes.ai/idp` | OAuth sign-in and refresh | authorization code or refresh token, PKCE verifier, public/custom client ID, and a custom client secret only when configured |
|
|
44
51
|
| `chutes.ai/docs`, `chutes.ai/news` | mandatory primary-source verification for Chutes topics | requested official page URLs; no Chutes API credential |
|
|
45
52
|
| `context7.com` | current library documentation | library names and documentation queries; credentials and known secrets are rejected |
|
|
46
53
|
| DuckDuckGo or Brave Search | web search | search query; Brave receives only its dedicated key |
|
|
47
54
|
| User-selected web pages | web fetch/browser automation | normal HTTP/browser traffic required by the requested action |
|
|
48
55
|
| User-configured MCP servers/plugins | external tools | data required by the selected tool and its own configuration |
|
|
49
56
|
|
|
50
|
-
The Chutes API credential
|
|
51
|
-
hosts.
|
|
52
|
-
servers, or
|
|
57
|
+
The ambient Chutes API credential and cached Chutes session token are accepted
|
|
58
|
+
only for allowlisted HTTPS Chutes and router hosts. They are never reused for a
|
|
59
|
+
custom endpoint, web search, Context7, arbitrary websites, MCP servers, or
|
|
60
|
+
browser automation. Custom inference models must declare a dedicated
|
|
61
|
+
`api_key`/`env_key`; a custom model-catalog endpoint uses
|
|
62
|
+
`CHUTES_MODELS_API_KEY`.
|
|
63
|
+
|
|
64
|
+
Model catalog and account usage requests may run during startup after
|
|
65
|
+
authentication. Prompts and repository content are not sent by those discovery
|
|
66
|
+
requests. They leave the machine only in a model/tool request that needs them.
|
|
67
|
+
|
|
68
|
+
Semantic memory is local at rest, but hybrid recall uses a Chutes-hosted
|
|
69
|
+
embedding model and therefore sends the selected memory text chunks to Chutes.
|
|
70
|
+
Use `--no-memory` to disable both memory recall and writes for that session.
|
|
71
|
+
Voice capture is manual and sends the recorded audio only after activation.
|
|
72
|
+
OCR, vision, video analysis, and media generation send only the inputs selected
|
|
73
|
+
for that operation.
|
|
53
74
|
|
|
54
75
|
For Chutes research, the agent prefers direct official pages and indexes over a
|
|
55
76
|
broad search query. Search and page requests must not include credentials,
|
|
@@ -67,6 +88,12 @@ Browser actions can still disclose data to websites the user asks the agent to
|
|
|
67
88
|
visit. Review navigation, form submissions, uploads, and authenticated actions
|
|
68
89
|
before approval.
|
|
69
90
|
|
|
91
|
+
`chutes-build mcp list --json` intentionally reports configuration structure,
|
|
92
|
+
not credential material: environment/header values and URL credentials, query,
|
|
93
|
+
and fragment components are redacted. MCP servers and plugins still receive
|
|
94
|
+
the data required by tools the user enables, so their own privacy policies
|
|
95
|
+
apply.
|
|
96
|
+
|
|
70
97
|
## Disabling stateful features
|
|
71
98
|
|
|
72
99
|
- Start with `--no-memory` to disable agent memory for a session.
|
package/README.md
CHANGED
|
@@ -1,77 +1,55 @@
|
|
|
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
|
[](https://github.com/TheStreamCode/chutes-build/actions/workflows/ci.yml)
|
|
4
6
|
[](https://www.npmjs.com/package/chutes-build)
|
|
5
7
|
[](LICENSE)
|
|
6
8
|
|
|
7
|
-
Chutes Build
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+

|
|
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 disabled.
|
|
11
15
|
|
|
12
16
|

|
|
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
|
-
##
|
|
21
|
+
## Contents
|
|
22
|
+
|
|
23
|
+
- [Highlights](#highlights)
|
|
24
|
+
- [Quick start](#quick-start)
|
|
25
|
+
- [Features](#features)
|
|
26
|
+
- [Configuration](#configuration)
|
|
27
|
+
- [CLI reference](#cli-reference)
|
|
28
|
+
- [Privacy & security](#privacy--security)
|
|
29
|
+
- [Project](#project)
|
|
30
|
+
|
|
31
|
+
## Highlights
|
|
32
|
+
|
|
33
|
+
- 🔒 **Privacy by construction** — telemetry, remote error reporting, automatic
|
|
34
|
+
update checks, remote trace upload, and upstream session sharing are all
|
|
35
|
+
disabled at the product-policy level.
|
|
36
|
+
- ⚡ **Chutes-native inference** — live model discovery, `Auto (Chutes Router)`
|
|
37
|
+
as the default, and automatic fallback when a model is temporarily
|
|
38
|
+
unavailable.
|
|
39
|
+
- 🧭 **Advisor** — an on-demand reasoning agent that reviews plans, blockers,
|
|
40
|
+
and completion claims without ever taking over the executor loop.
|
|
41
|
+
- 🧩 **Subagent orchestration** — concurrent fan-out with isolated worktrees
|
|
42
|
+
for real parallel decomposition, not just sequential delegation.
|
|
43
|
+
- 🎨 **Multimodal, natively** — image, video, music, speech, and on-demand OCR,
|
|
44
|
+
built directly into the Rust runtime instead of a bolted-on MCP process.
|
|
45
|
+
- 🧠 **Hybrid memory & voice** — full-text plus semantic vector recall, and
|
|
46
|
+
hold-to-record voice dictation, both on by default.
|
|
47
|
+
|
|
48
|
+
See [Features](#features) below for the complete list.
|
|
18
49
|
|
|
19
|
-
|
|
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.
|
|
50
|
+
## Quick start
|
|
73
51
|
|
|
74
|
-
|
|
52
|
+
### Install with npm
|
|
75
53
|
|
|
76
54
|
Release builds install without a Rust toolchain:
|
|
77
55
|
|
|
@@ -89,7 +67,7 @@ npx chutes-build
|
|
|
89
67
|
The npm launcher selects a native binary for Windows, macOS, or Linux. It does
|
|
90
68
|
not collect telemetry and does not download executables from an install script.
|
|
91
69
|
|
|
92
|
-
|
|
70
|
+
### Build from source
|
|
93
71
|
|
|
94
72
|
Prerequisites:
|
|
95
73
|
|
|
@@ -109,7 +87,7 @@ cargo build -p chutes-build --release
|
|
|
109
87
|
The Windows executable is `target\release\chutes-build.exe`; on macOS and
|
|
110
88
|
Linux it is `target/release/chutes-build`.
|
|
111
89
|
|
|
112
|
-
|
|
90
|
+
### First run
|
|
113
91
|
|
|
114
92
|
Run `chutes-build` with no prior setup and log in from the welcome screen:
|
|
115
93
|
press `l` for "Login with Chutes" (opens your browser) or `k` to paste a
|
|
@@ -134,9 +112,102 @@ chutes-build
|
|
|
134
112
|
`Auto (Chutes Router)` is the first entry in the model picker and the default
|
|
135
113
|
when no preference has been saved. Select a concrete model with `/model` or
|
|
136
114
|
`chutes-build --model <model-id>`. Inspect the resolved catalog with
|
|
137
|
-
`chutes-build models`.
|
|
115
|
+
`chutes-build models` or machine-readable `chutes-build models --json`.
|
|
138
116
|
|
|
139
|
-
##
|
|
117
|
+
## Features
|
|
118
|
+
|
|
119
|
+
### Agent & coding
|
|
120
|
+
|
|
121
|
+
- **Coding agent runtime:** repository inspection, edits, shell commands,
|
|
122
|
+
planning, goals, MCP servers, skills, sessions, worktrees, and permission
|
|
123
|
+
controls inherited from the mature upstream runtime.
|
|
124
|
+
- **Local session lifecycle:** list, search, resume, fork, export, trace, and
|
|
125
|
+
delete sessions without a remote registry. Machine-readable list/search
|
|
126
|
+
output is available with `--json`; destructive commands require confirmation
|
|
127
|
+
unless `--yes` is supplied.
|
|
128
|
+
- **Advisor:** a read-only, on-demand reasoning agent that reviews plans,
|
|
129
|
+
difficult decisions, blockers, and completion claims without taking over the
|
|
130
|
+
executor loop. Reasons at maximum effort by default. `/advisor on|off`
|
|
131
|
+
toggles it; `/advisor <model>` pins a specific model (e.g. your largest or
|
|
132
|
+
highest-tier available one — Chutes' catalog carries no price/size metadata
|
|
133
|
+
to pick one automatically); `/advisor default` clears the pin.
|
|
134
|
+
- **Subagent orchestration:** foreground and background workers, concurrent
|
|
135
|
+
fan-out, multi-worker waits, bounded nesting, and isolated worktrees. The
|
|
136
|
+
`chutes-build-orchestrator` preset is tuned for parallel decomposition.
|
|
137
|
+
|
|
138
|
+
### Chutes integration
|
|
139
|
+
|
|
140
|
+
- **Chutes-native inference:** API-key authentication, live model discovery,
|
|
141
|
+
`Auto (Chutes Router)` as the first model choice, configurable fallback
|
|
142
|
+
chains, and automatic retry when a selected model is temporarily unavailable.
|
|
143
|
+
- **Chutes account:** read-only subscription, quota, and usage access through
|
|
144
|
+
`get_chutes_usage`, a compact plan/quota indicator in the TUI, and detailed
|
|
145
|
+
`/usage` output. Per-model statistics remain disabled unless requested.
|
|
146
|
+
- **Chutes media:** live discovery and invocation for image generation and
|
|
147
|
+
editing, video, music, speech, and other supported Chutes media models through
|
|
148
|
+
`list_media_models`, `describe_media_model`, and `generate_media`. This is the
|
|
149
|
+
native Rust integration of the `chutes-media-mcp` workflow, so Chutes Build
|
|
150
|
+
does not need to spawn a separate Node/MCP process for its core media tools.
|
|
151
|
+
Generated output crosses the tool/ACP/TUI boundary as a typed artifact:
|
|
152
|
+
images use bounded lazy previews, videos use a two-frame rolling decoder,
|
|
153
|
+
and music/speech expose local pause/resume, seek, volume, duration, and
|
|
154
|
+
waveform controls with native-player fallback. Media work starts only while
|
|
155
|
+
inference is idle, never autoplays, and stays off the TUI render thread.
|
|
156
|
+
- **Capability routing:** image inputs stay with the selected model when it
|
|
157
|
+
supports vision and are otherwise delegated to a vision-capable Chutes route.
|
|
158
|
+
- **On-demand OCR:** the `ocr_page` tool extracts text verbatim from a single
|
|
159
|
+
image or PDF page via a dedicated Chutes vision model, independent of the
|
|
160
|
+
active chat model's vision support. Returns extracted text only — the image
|
|
161
|
+
itself is never added to the conversation.
|
|
162
|
+
|
|
163
|
+
### Research & tools
|
|
164
|
+
|
|
165
|
+
- **Current coding documentation:** Context7 search and documentation tools are
|
|
166
|
+
built in and avoid sending credentials or known secrets.
|
|
167
|
+
- **Official Chutes research:** before answering Chutes-specific questions, the
|
|
168
|
+
main agent and subagents consult both the official
|
|
169
|
+
[documentation](https://chutes.ai/docs) and [news](https://chutes.ai/news),
|
|
170
|
+
treating directly relevant official pages as primary authority.
|
|
171
|
+
- **Research and browser tools:** native web search (DuckDuckGo by default,
|
|
172
|
+
optionally Brave) plus agentic Chrome/Edge control through a local DevTools
|
|
173
|
+
connection and an isolated temporary browser profile. Browser actions accept
|
|
174
|
+
either CSS selectors or the numeric element indices shown by snapshots.
|
|
175
|
+
|
|
176
|
+
### Memory & voice
|
|
177
|
+
|
|
178
|
+
- **Local memory:** Chutes Build maintains a secret-filtered `memories.md` file
|
|
179
|
+
and can be launched with `--no-memory` when a stateless session is preferred.
|
|
180
|
+
Recall is hybrid by default — full-text search combined with semantic vector
|
|
181
|
+
search against a built-in Chutes-hosted embedding model. Semantic recall
|
|
182
|
+
sends the selected memory chunks to that Chutes embedding endpoint; use
|
|
183
|
+
`--no-memory` when this is not appropriate.
|
|
184
|
+
- **Voice input:** hold-to-record dictation transcribes speech into the prompt
|
|
185
|
+
box. Enabled by default; activation is always manual (mic icon, `/voice`, or
|
|
186
|
+
Ctrl+Space) — Chutes Build never records without an explicit press.
|
|
187
|
+
- **Time awareness and wellness:** the agent receives the local date, time, and
|
|
188
|
+
timezone and can suggest a break after long or late sessions.
|
|
189
|
+
|
|
190
|
+
### Privacy by construction
|
|
191
|
+
|
|
192
|
+
Telemetry, remote error reporting, automatic update checks, remote trace
|
|
193
|
+
upload, upstream session sharing, and remote workspace exposure are disabled.
|
|
194
|
+
Updates are installed manually from npm or a release artifact. See
|
|
195
|
+
[Privacy & security](#privacy--security) below for the full data boundary.
|
|
196
|
+
|
|
197
|
+
## Configuration
|
|
198
|
+
|
|
199
|
+
### State root
|
|
200
|
+
|
|
201
|
+
User state defaults to `~/.chutes-build`. Set `CHUTES_BUILD_HOME` to relocate
|
|
202
|
+
the complete state tree, including configuration, credentials, sessions, logs,
|
|
203
|
+
trace exports, plugins, user roles/personas, and the managed bundled-agent
|
|
204
|
+
cache. Chutes Build does not combine roles or bundle data from the default home
|
|
205
|
+
with a custom state root.
|
|
206
|
+
|
|
207
|
+
Project-scoped `.chutes-build` directories remain inside their repositories and
|
|
208
|
+
continue to take precedence over user and bundled agent definitions.
|
|
209
|
+
|
|
210
|
+
### Model selection, reasoning, and routing
|
|
140
211
|
|
|
141
212
|
Auto sends `model-router` requests to the Chutes router endpoint, allowing the
|
|
142
213
|
service to select a model for the task and handle cold or unavailable capacity.
|
|
@@ -165,6 +236,12 @@ Fallback happens only for transient availability/capability responses and only
|
|
|
165
236
|
before response streaming begins. Chutes Build does not redirect requests or
|
|
166
237
|
credentials to a non-Chutes inference endpoint.
|
|
167
238
|
|
|
239
|
+
Ambient Chutes credentials are attached only to official Chutes/router
|
|
240
|
+
endpoints. Custom inference models must declare their own `api_key` or
|
|
241
|
+
`env_key`; a custom model-catalog endpoint uses the dedicated
|
|
242
|
+
`CHUTES_MODELS_API_KEY`. Neither receives `CHUTES_API_KEY` or a cached Chutes
|
|
243
|
+
session token implicitly.
|
|
244
|
+
|
|
168
245
|
The inference client shares pooled HTTP connections, enables TCP no-delay, and
|
|
169
246
|
forwards parsed SSE events without an application-level streaming buffer. Cold
|
|
170
247
|
starts and model-side generation can still dominate latency. Auto is the
|
|
@@ -174,7 +251,7 @@ remain router decisions.
|
|
|
174
251
|
Selecting `Instant` can reduce reasoning latency, but it intentionally changes
|
|
175
252
|
the model's reasoning behavior and is never enabled silently.
|
|
176
253
|
|
|
177
|
-
|
|
254
|
+
### Account plan and quota
|
|
178
255
|
|
|
179
256
|
When authenticated, Chutes Build fetches subscription usage, plan metadata, and
|
|
180
257
|
quota data concurrently. The TUI status bar shows the plan plus the rolling
|
|
@@ -184,7 +261,26 @@ run `/usage` for every active window, percentage, and reset time. If aggregate
|
|
|
184
261
|
quota usage is unavailable, the client falls back concurrently to the
|
|
185
262
|
documented per-chute quota endpoints.
|
|
186
263
|
|
|
187
|
-
|
|
264
|
+
### OAuth login (Sign in with Chutes)
|
|
265
|
+
|
|
266
|
+
Pressing `l` at the welcome screen (or `/login`) runs a standard OAuth 2.0 +
|
|
267
|
+
PKCE flow against Chutes' own identity provider. The built-in app is a public
|
|
268
|
+
client and does not bundle or require a client secret. Custom confidential
|
|
269
|
+
clients can be configured under
|
|
270
|
+
[Chutes' developer settings](https://chutes.ai/app/api):
|
|
271
|
+
|
|
272
|
+
```powershell
|
|
273
|
+
$env:CHUTES_BUILD_OAUTH2_CLIENT_ID = "cid_..."
|
|
274
|
+
$env:CHUTES_BUILD_OAUTH2_CLIENT_SECRET = "csc_..." # only if your app has one
|
|
275
|
+
chutes-build
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Both variables are read from the environment and are never written to
|
|
279
|
+
`config.toml` or any other file on disk. The custom secret is included in both
|
|
280
|
+
the initial token exchange and refresh requests. `k` / `/apikey` (pasting a
|
|
281
|
+
Chutes API key directly) needs no app registration.
|
|
282
|
+
|
|
283
|
+
### Optional web and browser configuration
|
|
188
284
|
|
|
189
285
|
Web search uses DuckDuckGo without a dedicated key. For Brave Search:
|
|
190
286
|
|
|
@@ -216,16 +312,28 @@ limited to 512 MiB by default (`CHUTES_MAX_MEDIA_BYTES`, hard ceiling 2 GiB),
|
|
|
216
312
|
while workspace inputs are limited to 64 MiB by default
|
|
217
313
|
(`CHUTES_MAX_INPUT_ASSET_BYTES`, hard ceiling 512 MiB).
|
|
218
314
|
|
|
219
|
-
##
|
|
315
|
+
## CLI reference
|
|
316
|
+
|
|
317
|
+
The complete command and option reference is in
|
|
318
|
+
[docs/cli-reference.md](docs/cli-reference.md). Interactive slash commands are
|
|
319
|
+
documented in [docs/slash-commands.md](docs/slash-commands.md). Installed
|
|
320
|
+
binaries remain authoritative for the exact version: use
|
|
321
|
+
`chutes-build --help` and `chutes-build <command> --help`.
|
|
322
|
+
|
|
323
|
+
## Privacy & security
|
|
324
|
+
|
|
325
|
+
### Local data
|
|
220
326
|
|
|
221
327
|
User-level state defaults to `~/.chutes-build` or the directory set in
|
|
222
328
|
`CHUTES_BUILD_HOME`. Project memory is stored in `memories.md`. Configuration,
|
|
223
|
-
sessions, logs, exports,
|
|
224
|
-
|
|
329
|
+
sessions, logs, exports, credentials, plugins, user roles/personas, and bundled
|
|
330
|
+
agent definitions remain local. Prompts, selected repository content, memory
|
|
331
|
+
embeddings, voice recordings, OCR/media inputs, and browser traffic leave the
|
|
332
|
+
machine only when their corresponding hosted feature is invoked.
|
|
225
333
|
|
|
226
334
|
See [PRIVACY.md](PRIVACY.md) for the exact network and data boundaries.
|
|
227
335
|
|
|
228
|
-
|
|
336
|
+
### Security model
|
|
229
337
|
|
|
230
338
|
Chutes Build is an agent capable of reading files, running commands, editing
|
|
231
339
|
code, and controlling an isolated browser. Use it only in repositories you
|
|
@@ -234,7 +342,9 @@ for sensitive work. Never place API keys in prompts, source files, or committed
|
|
|
234
342
|
configuration. See the [security review](docs/security-review.md) for release
|
|
235
343
|
controls, trust boundaries, and tracked dependency exceptions.
|
|
236
344
|
|
|
237
|
-
## Project
|
|
345
|
+
## Project
|
|
346
|
+
|
|
347
|
+
### Provenance
|
|
238
348
|
|
|
239
349
|
Chutes Build is a substantially modified fork of
|
|
240
350
|
[`xai-org/grok-build`](https://github.com/xai-org/grok-build). The upstream
|
|
@@ -249,7 +359,7 @@ and reviewed through the documented [upstream synchronization
|
|
|
249
359
|
procedure](docs/upstream-sync.md); upstream changes are never merged or released
|
|
250
360
|
automatically.
|
|
251
361
|
|
|
252
|
-
|
|
362
|
+
### Contributing
|
|
253
363
|
|
|
254
364
|
Issues and focused pull requests are welcome. Read
|
|
255
365
|
[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.
|
|
3
|
+
"version": "0.4.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.
|
|
38
|
-
"chutes-build-darwin-x64": "0.
|
|
39
|
-
"chutes-build-linux-arm64-gnu": "0.
|
|
40
|
-
"chutes-build-linux-x64-gnu": "0.
|
|
41
|
-
"chutes-build-win32-arm64": "0.
|
|
42
|
-
"chutes-build-win32-x64": "0.
|
|
37
|
+
"chutes-build-darwin-arm64": "0.4.0",
|
|
38
|
+
"chutes-build-darwin-x64": "0.4.0",
|
|
39
|
+
"chutes-build-linux-arm64-gnu": "0.4.0",
|
|
40
|
+
"chutes-build-linux-x64-gnu": "0.4.0",
|
|
41
|
+
"chutes-build-win32-arm64": "0.4.0",
|
|
42
|
+
"chutes-build-win32-x64": "0.4.0"
|
|
43
43
|
},
|
|
44
44
|
"keywords": [
|
|
45
45
|
"ai",
|