@hanzo/dev 0.6.91 → 0.6.92

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
@@ -1,407 +1,172 @@
1
- <img src="docs/images/every-logo.png" alt="Every Code Logo" width="400">
2
-
3
- &ensp;
4
-
5
- **Every Code** (Code for short) is a fast, local coding agent for your terminal. It's a community-driven fork of `openai/codex` focused on real developer ergonomics: Browser integration, multi-agents, theming, and reasoning control — all while staying compatible with upstream.
6
-
7
- &ensp;
8
-
9
- ## What's new
10
-
11
- - **Latest long-session stability sweep** (post-0.6): Auto Drive and Auto Review are now decoupled so background reviews no longer block the command flow. `Esc` returns control immediately and typing works while review finalization continues.
12
-
13
- - **Operational upgrades in this cycle**
14
- - Auto Review metadata (branch/worktree context) remains queryable through the active Auto Drive session after completion.
15
- - Terminal agents are compacted and archived so heavy payloads are reduced while review linkage is preserved.
16
- - Core `core`, coordinator, and TUI state maps now have hard caps with bounded drop/trim behavior.
17
- - Auto Drive conversation/update queues are bounded in the coordinator; TUI has bounded prompt/agent/runtime caches.
18
- - Background review notes are added as non-blocking history-visible notes instead of foreground task-injection.
19
- - TUI housekeeping lifecycle is bounded with deterministic stop control.
20
- - Stress tests now cover heavy agent churn plus concurrent Auto Review + Esc/typing responsiveness.
21
-
22
- - **New/updated models and agents**
23
- - Auto Drive CLI model support includes `gpt-5.3-codex` (planning/problem-solving) and `gpt-5.3-codex-spark` (fast coding/fix loops), with `medium | high | xhigh` reasoning controls.
24
- - Frontline and alias-aware agent model handling now includes `code-gpt-5.3-codex` and `code-gpt-5.3-codex-spark`, with compatibility alias upgrades for `gpt-5.1-codex`, `gpt-5.1-codex-mini`, `gpt-5.2-codex`, etc.
25
- - Auto Drive decision schema and coordinator payloads now enforce bounded history while preserving goal and recent context.
26
-
27
- See commit `60727b068` and related Auto Drive hardening commits in git history for details.
28
-
29
- - **Auto Review** – background ghost-commit watcher runs reviews in a separate worktree whenever a turn changes code; uses `codex-5.1-mini-high` and reports issues plus ready-to-apply fixes without blocking the main thread.
30
- - **Code Bridge** – Sentry-style local bridge that streams errors, console, screenshots, and control from running apps into Code; ships an MCP server; install by asking Code to pull `https://github.com/just-every/code-bridge`.
31
- - **Plays well with Auto Drive** – reviews run in parallel with long Auto Drive tasks so quality checks land while the flow keeps moving.
32
- - **Quality-first focus** – the release shifts emphasis from "can the model write this file" to "did we verify it works".
33
- - _From v0.5.0:_ rename to Every Code, upgraded `/auto` planning/recovery, unified `/settings`, faster streaming/history with card-based activity, and more reliable `/resume` + `/undo`.
34
-
35
- [Read the full notes in RELEASE_NOTES.md](docs/release-notes/RELEASE_NOTES.md)
36
-
37
- &ensp;
38
-
39
- ## Why Every Code
40
-
41
- - 🚀 **Auto Drive orchestration** – Multi-agent automation that now self-heals and ships complete tasks.
42
- - 🌐 **Browser Integration** – CDP support, headless browsing, screenshots captured inline.
43
- - 🤖 **Multi-agent commands** – `/plan`, `/code` and `/solve` coordinate multiple CLI agents.
44
- - 🧭 **Unified settings hub** – `/settings` overlay for limits, theming, approvals, and provider wiring.
45
- - 🎨 **Theme system** – Switch between accessible presets, customize accents, and preview live via `/themes`.
46
- - 🔌 **MCP support** – Extend with filesystem, DBs, APIs, or your own tools.
47
- - 🔒 **Safety modes** – Read-only, approvals, and workspace sandboxing.
48
-
49
- &ensp;
50
-
51
- ## AI Videos
52
-
53
- &ensp;
54
-
55
- <p align="center">
56
- <a href="https://www.youtube.com/watch?v=Ra3q8IVpIOc">
57
- <img src="docs/images/video-auto-review-play.jpg" alt="Play Auto Review video" width="100%">
58
- </a><br>
59
- <strong>Auto Review</strong>
60
- </p>
61
-
62
- &ensp;
63
-
64
1
  <p align="center">
65
- <a href="https://youtu.be/UOASHZPruQk">
66
- <img src="docs/images/video-auto-drive-new-play.jpg" alt="Play Introducing Auto Drive video" width="100%">
67
- </a><br>
68
- <strong>Auto Drive Overview</strong>
2
+ <img src="docs/logo.png" alt="Hanzo Dev" width="400">
69
3
  </p>
70
4
 
71
- &ensp;
5
+ # Hanzo Dev
72
6
 
73
- <p align="center">
74
- <a href="https://youtu.be/sV317OhiysQ">
75
- <img src="docs/images/video-v03-play.jpg" alt="Play Multi-Agent Support video" width="100%">
76
- </a><br>
77
- <strong>Multi-Agent Promo</strong>
78
- </p>
7
+ Hanzo Dev is our coding agent. It runs in your terminal, reads and edits the
8
+ repository you point it at, runs commands in a sandbox, and drives a browser
9
+ when a task needs one. Models are served by [Hanzo AI](https://hanzo.ai) —
10
+ `enso` and the `zen5` family — over the metered gateway at `api.hanzo.ai`.
79
11
 
80
- &ensp;
12
+ It ships inside the Hanzo CLI. `hanzo dev` is the command.
81
13
 
82
- ## Quickstart
14
+ | <img src="docs/screenshots/simple.png" alt="A session in progress" width="100%"><br>A session in progress | <img src="docs/screenshots/diff.png" alt="Reviewing a diff" width="100%"><br>Reviewing a diff |
15
+ |:--:|:--:|
16
+ | <img src="docs/screenshots/browser.png" alt="Driving a browser" width="100%"><br>Driving a browser | <img src="docs/screenshots/agents.png" alt="Several agents on one task" width="100%"><br>Several agents on one task |
83
17
 
84
- ### Run
18
+ ## Install
85
19
 
86
20
  ```bash
87
- npx -y @hanzo/dev
21
+ curl -fsSL https://hanzo.sh | sh
22
+ hanzo auth login
88
23
  ```
89
24
 
90
- ### Install & Run
25
+ `hanzo auth login` signs you in through Hanzo IAM and links the machine to your
26
+ account. Then, from any repository:
91
27
 
92
28
  ```bash
93
- npm install -g @hanzo/dev
94
- dev
29
+ hanzo dev
95
30
  ```
96
31
 
97
- Note: If another tool already provides a `code` command (e.g. VS Code), our CLI is also installed as `coder`. Use `coder` to avoid conflicts.
98
-
99
- **Authenticate** (one of the following):
100
-
101
- - **Sign in with ChatGPT** (Plus/Pro/Team; uses models available to your plan)
102
- - Run `code` and pick "Sign in with ChatGPT"
103
- - **API key** (usage-based)
104
- - Set `export OPENAI_API_KEY=xyz` and run `code`
105
-
106
- ### Install Claude & Gemini (optional)
107
-
108
- Every Code supports orchestrating other AI CLI tools. Install these and config to use alongside Code.
32
+ Give it the task on the command line to run headless instead:
109
33
 
110
34
  ```bash
111
- # Ensure Node.js 20+ is available locally (installs into ~/.n)
112
- npm install -g n
113
- export N_PREFIX="$HOME/.n"
114
- export PATH="$N_PREFIX/bin:$PATH"
115
- n 20.18.1
116
-
117
- # Install the companion CLIs
118
- export npm_config_prefix="${npm_config_prefix:-$HOME/.npm-global}"
119
- mkdir -p "$npm_config_prefix/bin"
120
- export PATH="$npm_config_prefix/bin:$PATH"
121
- npm install -g @anthropic-ai/claude-code @google/gemini-cli @qwen-code/qwen-code
122
-
123
- # Quick smoke tests
124
- claude --version
125
- gemini --version
126
- qwen --version
35
+ hanzo dev "fix the failing tests in ./core and explain what was wrong"
127
36
  ```
128
37
 
129
- > ℹ️ Add `export N_PREFIX="$HOME/.n"` and `export PATH="$N_PREFIX/bin:$PATH"` (plus the `npm_config_prefix` bin path) to your shell profile so the CLIs stay on `PATH` in future sessions.
130
-
131
- &ensp;
38
+ ## Choosing a model
132
39
 
133
- ## Commands
134
-
135
- ### Browser
40
+ Model ids come from the gateway, which is the only authority on the catalog —
41
+ there is no allowlist in the client.
136
42
 
137
43
  ```bash
138
- # Connect code to external Chrome browser (running CDP)
139
- /chrome # Connect with auto-detect port
140
- /chrome 9222 # Connect to specific port
141
-
142
- # Switch to internal browser mode
143
- /browser # Use internal headless browser
144
- /browser https://example.com # Open URL in internal browser
44
+ hanzo dev --model enso # our frontier model
45
+ hanzo dev --model enso-ultra # the largest reasoning tier
46
+ hanzo dev --model zen5-coder # tuned for code
145
47
  ```
146
48
 
147
- ### Agents
148
-
149
- ```bash
150
- # Plan code changes (Claude, Gemini and GPT-5 consensus)
151
- # All agents review task and create a consolidated plan
152
- /plan "Stop the AI from ordering pizza at 3AM"
153
-
154
- # Solve complex problems (Claude, Gemini and GPT-5 race)
155
- # Fastest preferred (see https://arxiv.org/abs/2505.17813)
156
- /solve "Why does deleting one user drop the whole database?"
49
+ Browse everything available with `curl https://catalog.hanzo.ai/v1/models`.
157
50
 
158
- # Write code! (Claude, Gemini and GPT-5 consensus)
159
- # Creates multiple worktrees then implements the optimal solution
160
- /code "Show dark mode when I feel cranky"
161
- ```
51
+ ## Backends
162
52
 
163
- ### Auto Drive
53
+ Hanzo Dev is the default and the one we build. The same session launcher can
54
+ also drive two other agents if you already have them installed, so you can keep
55
+ one set of habits across all three:
164
56
 
165
57
  ```bash
166
- # Hand off a multi-step task; Auto Drive will coordinate agents and approvals
167
- /auto "Refactor the auth flow and add device login"
168
-
169
- # Resume or inspect an active Auto Drive run
170
- /auto status
58
+ hanzo dev # our agent (default)
59
+ hanzo dev claude # or: hanzo code --claude
60
+ hanzo dev codex # or: hanzo code --codex
171
61
  ```
172
62
 
173
- ### General
174
-
175
- ```bash
176
- # Try a new theme!
177
- /themes
178
-
179
- # Change reasoning level
180
- /reasoning low|medium|high
63
+ `hanzo dev` is a spelling of `hanzo code dev`, not a second implementation —
64
+ every spelling resolves through the same launcher.
181
65
 
182
- # Switch models or effort presets
183
- /model
66
+ ## Options
184
67
 
185
- # Start new conversation
186
- /new
187
68
  ```
188
-
189
- ## CLI reference
190
-
191
- ```shell
192
- code [options] [prompt]
193
-
194
- Options:
195
- --model <name> Override the model for the active provider (e.g. gpt-5.1)
196
- --read-only Prevent file modifications
197
- --no-approval Skip approval prompts (use with caution)
198
- --config <key=val> Override config values
199
- --oss Use local open source models
200
- --sandbox <mode> Set sandbox level (read-only, workspace-write, etc.)
201
- --help Show help information
202
- --debug Log API requests and responses to file
203
- --version Show version number
69
+ hanzo dev [OPTIONS] [BACKEND|TASK] [TASK] [-- <PASSTHROUGH>...]
70
+
71
+ --model <MODEL> Gateway model id, e.g. enso, enso-ultra, zen5-coder
72
+ --backend <NAME> dev (default) | claude | codex
73
+ --brand <BRAND> Tenant for auth: hanzo | lux | zoo | pars | bootnode
74
+ --ask Ask before each action instead of auto-approving (alias: --safe)
75
+ --no-sandbox Drop the sandbox and auto-approve. Per-invocation, never persisted
76
+ --no-route Call the backend's own model account instead of the metered gateway
77
+ --no-mcp Do not attach the Hanzo MCP toolset
78
+ --project-mcp Also load the repo's own .mcp.json servers (off by default — a repo is untrusted)
79
+ --link / --no-link Stream the session to Hanzo cloud, or never
80
+ --resume <ID> Resume a prior linked session by its cloud session id
81
+ -c, --config <FILE> Use a specific config file
82
+ -v, --verbose Increase logging verbosity
204
83
  ```
205
84
 
206
- Note: `--model` only changes the model name sent to the active provider. To use a different provider, set `model_provider` in `config.toml`. Providers must expose an OpenAI-compatible API (Chat Completions or Responses).
207
-
208
- &ensp;
209
-
210
- ## Memory & project docs
211
-
212
- Every Code can remember context across sessions:
213
-
214
- 1. **Create an `AGENTS.md` or `CLAUDE.md` file** in your project root:
85
+ Anything after `--` is passed verbatim to the backend.
215
86
 
216
- ```markdown
217
- # Project Context
87
+ Two defaults worth knowing. Sessions run sandboxed and auto-approve inside that
88
+ sandbox; `--ask` tightens it, `--no-sandbox` removes it. Model calls route
89
+ through `api.hanzo.ai` so usage is metered on your Hanzo account; `--no-route`
90
+ sends them to the backend's own account instead.
218
91
 
219
- This is a React TypeScript application with:
92
+ ## In a session
220
93
 
221
- - Authentication via JWT
222
- - PostgreSQL database
223
- - Express.js backend
94
+ Type `/` for the full list. The ones you will reach for:
224
95
 
225
- ## Key files:
226
-
227
- - `/src/auth/` - Authentication logic
228
- - `/src/api/` - API client code
229
- - `/server/` - Backend services
230
96
  ```
231
-
232
- 2. **Session memory**: Every Code maintains conversation history
233
- 3. **Codebase analysis**: Automatically understands project structure
234
-
235
- &ensp;
236
-
237
- ## Non-interactive / CI mode
238
-
239
- For automation and CI/CD:
240
-
241
- ```shell
242
- # Run a specific task
243
- code --no-approval "run tests and fix any failures"
244
-
245
- # Generate reports
246
- code --read-only "analyze code quality and generate report"
247
-
248
- # Batch processing
249
- code --config output_format=json "list all TODO comments"
250
- ```
251
-
252
- &ensp;
253
-
254
- ## Model Context Protocol (MCP)
255
-
256
- Every Code supports MCP for extended capabilities:
257
-
258
- - **File operations**: Advanced file system access
259
- - **Database connections**: Query and modify databases
260
- - **API integrations**: Connect to external services
261
- - **Custom tools**: Build your own extensions
262
-
263
- Configure MCP in `~/.code/config.toml` Define each server under a named table like `[mcp_servers.<name>]` (this maps to the JSON `mcpServers` object used by other clients):
264
-
265
- ```toml
266
- [mcp_servers.filesystem]
267
- command = "npx"
268
- args = ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
269
- ```
270
-
271
- &ensp;
272
-
273
- ## Configuration
274
-
275
- Main config file: `~/.code/config.toml`
276
-
277
- > [!NOTE]
278
- > Every Code reads from both `~/.code/` and `~/.codex/` for backwards compatibility, but it only writes updates to `~/.code/`. If you switch back to Codex and it fails to start, remove `~/.codex/config.toml`. If Every Code appears to miss settings after upgrading, copy your legacy `~/.codex/config.toml` into `~/.code/`.
279
-
280
- ```toml
281
- # Model settings
282
- model = "gpt-5.1"
283
- model_provider = "openai"
284
-
285
- # Behavior
286
- approval_policy = "on-request" # untrusted | on-failure | on-request | never
287
- model_reasoning_effort = "medium" # low | medium | high
288
- sandbox_mode = "workspace-write"
289
-
290
- # UI preferences see THEME_CONFIG.md
291
- [tui.theme]
292
- name = "light-photon"
293
-
294
- # Add config for specific models
295
- [profiles.gpt-5]
296
- model = "gpt-5.1"
297
- model_provider = "openai"
298
- approval_policy = "never"
299
- model_reasoning_effort = "high"
300
- model_reasoning_summary = "detailed"
97
+ /plan create a comprehensive plan (multiple agents)
98
+ /solve solve a challenging problem (multiple agents)
99
+ /code perform a coding task (multiple agents)
100
+ /auto work autonomously on long tasks with Auto Drive
101
+ /agents create and configure agents
102
+ /browser open the internal browser
103
+ /chrome connect to a running Chrome over CDP
104
+ /diff show the git diff, including untracked files
105
+ /review review your changes for potential issues
106
+ /undo restore the workspace to the last snapshot
107
+ /branch work on a branch in a worktree
108
+ /merge merge the worktree branch back to the default
109
+ /model choose model and reasoning effort
110
+ /reasoning change reasoning effort (minimal/low/medium/high)
111
+ /theme switch color themes
112
+ /status session configuration and token usage
113
+ /limits weekly and hourly rate limits
114
+ /mcp manage MCP servers (status/on/off/add)
115
+ /init write an AGENTS.md for this repository
116
+ /resume resume a past session for this folder
117
+ /new start a new chat
301
118
  ```
302
119
 
303
- ### Environment variables
304
-
305
- - `CODE_HOME`: Override config directory location
306
- - `OPENAI_API_KEY`: Use API key instead of ChatGPT auth
307
- - `OPENAI_BASE_URL`: Use OpenAI-compatible API endpoints (chat or responses)
308
- - `OPENAI_WIRE_API`: Force the built-in OpenAI provider to use `chat` or `responses` wiring
309
-
310
- &ensp;
311
-
312
- ## FAQ
313
-
314
- **How is this different from the original?**
315
-
316
- > This fork adds browser integration, multi-agent commands (`/plan`, `/solve`, `/code`), theme system, and enhanced reasoning controls while maintaining full compatibility.
317
-
318
- **Can I use my existing Codex configuration?**
120
+ Full list with descriptions: [docs/slash-commands.md](docs/slash-commands.md).
319
121
 
320
- > Yes. Every Code reads from both `~/.code/` (primary) and legacy `~/.codex/` directories. We only write to `~/.code/`, so Codex will keep running if you switch back; copy or remove legacy files if you notice conflicts.
122
+ ## Project context
321
123
 
322
- **Does this work with ChatGPT Plus?**
124
+ Run `/init` in a repository and Hanzo Dev writes an `AGENTS.md` describing what
125
+ it found. Edit that file — it is read at the start of every session in that
126
+ directory, so it is where project conventions, architecture notes and "do not
127
+ touch this" rules belong.
323
128
 
324
- > Absolutely. Use the same "Sign in with ChatGPT" flow as the original.
129
+ ## Tools
325
130
 
326
- **Is my data secure?**
131
+ The Hanzo MCP toolset is attached by default: filesystem, shell, browser, and
132
+ the rest of the Hanzo surface. Add your own servers with `/mcp add`, or per
133
+ repository in `.mcp.json` — the latter is off unless you pass `--project-mcp`,
134
+ because a repository you just cloned should not get to run a server with your
135
+ session's key.
327
136
 
328
- > Yes. Authentication stays on your machine, and we don't proxy your credentials or conversations.
137
+ ## Documentation
329
138
 
330
- &ensp;
139
+ - [Getting started](docs/getting-started.md)
140
+ - [Configuration](docs/config.md)
141
+ - [Authentication](docs/authentication.md)
142
+ - [Sandboxing](docs/sandbox.md)
143
+ - [Themes](docs/THEME_CONFIG.md)
144
+ - [Hanzo docs](https://docs.hanzo.ai/docs)
331
145
 
332
- ## Contributing
333
-
334
- We welcome contributions! Every Code maintains compatibility with upstream while adding community-requested features.
335
-
336
- ### Development workflow
146
+ ## Building from source
337
147
 
338
148
  ```bash
339
- # Clone and setup
340
- git clone https://github.com/just-every/code.git
341
- cd code
342
- npm install
343
-
344
- # Build (use fast build for development)
149
+ git clone https://github.com/hanzoai/dev.git
150
+ cd dev
345
151
  ./build-fast.sh
346
-
347
- # Run locally
348
- ./code-rs/target/dev-fast/code
349
- ```
350
-
351
- #### Git hooks
352
-
353
- This repo ships shared hooks under `.githooks/`. To enable them locally:
354
-
355
- ```bash
356
- git config core.hooksPath .githooks
357
152
  ```
358
153
 
359
- The `pre-push` hook runs `./pre-release.sh` automatically when pushing to `main`.
360
-
361
- ### Opening a pull request
362
-
363
- 1. Fork the repository
364
- 2. Create a feature branch: `git checkout -b feature/amazing-feature`
365
- 3. Make your changes
366
- 4. Run tests: `cargo test`
367
- 5. Build successfully: `./build-fast.sh`
368
- 6. Submit a pull request
154
+ `./build-fast.sh` is the required check — it must pass cleanly, warnings
155
+ included. See [DEVELOPING.md](DEVELOPING.md) and [LLM.md](LLM.md) for the
156
+ workspace layout and the rules that apply inside it.
369
157
 
370
- &ensp;
371
-
372
- ## Legal & Use
373
-
374
- ### License & attribution
375
-
376
- - This project is a community fork of `openai/codex` under **Apache-2.0**. We preserve upstream LICENSE and NOTICE files.
377
- - **Every Code** (Code) is **not** affiliated with, sponsored by, or endorsed by OpenAI.
378
-
379
- ### Your responsibilities
380
-
381
- Using OpenAI, Anthropic or Google services through Every Code means you agree to **their Terms and policies**. In particular:
382
-
383
- - **Don't** programmatically scrape/extract content outside intended flows.
384
- - **Don't** bypass or interfere with rate limits, quotas, or safety mitigations.
385
- - Use your **own** account; don't share or rotate accounts to evade limits.
386
- - If you configure other model providers, you're responsible for their terms.
387
-
388
- ### Privacy
389
-
390
- - Your auth file lives at `~/.code/auth.json`
391
- - Inputs/outputs you send to AI providers are handled under their Terms and Privacy Policy; consult those documents (and any org-level data-sharing settings).
392
-
393
- ### Subject to change
394
-
395
- AI providers can change eligibility, limits, models, or authentication flows. Every Code supports **both** ChatGPT sign-in and API-key modes so you can pick what fits (local/hobby vs CI/automation).
158
+ ## Contributing
396
159
 
397
- &ensp;
160
+ Branch, make the change, make `./build-fast.sh` pass, open a pull request.
161
+ Bugs and feature requests: [github.com/hanzoai/dev/issues](https://github.com/hanzoai/dev/issues).
398
162
 
399
163
  ## License
400
164
 
401
- Apache 2.0 - See [LICENSE](LICENSE) file for details.
402
-
403
- Every Code is a community fork of the original Codex CLI. We maintain compatibility while adding enhanced features requested by the developer community.
165
+ Apache-2.0 — see [LICENSE](LICENSE).
404
166
 
405
- ## &ensp;
167
+ ## Lineage
406
168
 
407
- **Need help?** Open an issue on [GitHub](https://github.com/just-every/code/issues) or check our documentation.
169
+ Hanzo Dev is a fork of [just-every/code](https://github.com/just-every/code), which is
170
+ itself a fork of [openai/codex](https://github.com/openai/codex). Both are Apache-2.0,
171
+ and this repository preserves the upstream `LICENSE` and `NOTICE`. Hanzo Dev is not
172
+ affiliated with, sponsored by, or endorsed by either project.