clavue-v1 1.1.0 → 1.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.
- package/README.md +129 -11
- package/dist/cli.js +467 -429
- package/dist/login-redirect-command.js +7 -6
- package/dist/mao-command.js +1 -1
- package/dist/openai-responses-adapter.js +5 -5
- package/dist/provider-setup.js +1 -1
- package/docs/combo-review-and-official-mode-plan-2026-09-01.md +200 -0
- package/docs/evals/combo-review/readout-2026-09-01.md +54 -0
- package/docs/evals/combo-review/readout-holdout-2026-09-01.md +72 -0
- package/docs/evals/combo-review/results.tsv +67 -0
- package/docs/release-notes-v1.2.0.md +65 -0
- package/docs/release-notes-v1.3.0.md +86 -0
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -35,6 +35,7 @@ Canonical primary command surfaces:
|
|
|
35
35
|
- `/provider`: configure, switch, validate, repair, copy, edit, delete, or save provider profiles.
|
|
36
36
|
- `/permissions` (`/approvals` compatibility alias): set the default permission mode so trusted development environments can run with less friction; use `/permissions autonomous` for an opt-in high-autonomy local development lane.
|
|
37
37
|
- `/team`: inspect local team readiness, active team config, and capability state.
|
|
38
|
+
- `/goal`: run a durable, evidence-gated goal loop with a persistent ledger and a bounded auto-continuation budget.
|
|
38
39
|
- `/retro`: run a multi-round repo retrospective and upgrade loop.
|
|
39
40
|
- `/tasks`: inspect task-board state for long-running work.
|
|
40
41
|
- `/resume`: continue saved sessions.
|
|
@@ -64,8 +65,8 @@ npx -y clavue-v1
|
|
|
64
65
|
Run a specific version with `npx`:
|
|
65
66
|
|
|
66
67
|
```bash
|
|
67
|
-
npx -y clavue-v1@1.
|
|
68
|
-
npx -y clavue-v1@1.
|
|
68
|
+
npx -y clavue-v1@1.3.0 --version
|
|
69
|
+
npx -y clavue-v1@1.3.0
|
|
69
70
|
```
|
|
70
71
|
|
|
71
72
|
Install globally from npm when you want the `clavue-v1` command to stay available:
|
|
@@ -87,9 +88,37 @@ curl -fsSL https://unpkg.com/clavue-v1/install.sh | bash
|
|
|
87
88
|
Install a specific version globally:
|
|
88
89
|
|
|
89
90
|
```bash
|
|
90
|
-
curl -fsSL https://unpkg.com/clavue-v1@1.
|
|
91
|
+
curl -fsSL https://unpkg.com/clavue-v1@1.3.0/install.sh | bash -s -- 1.3.0
|
|
91
92
|
```
|
|
92
93
|
|
|
94
|
+
## Quick Start: Official Clavue Cloud
|
|
95
|
+
|
|
96
|
+
Official mode is a provider profile, not a second runtime: the same tools,
|
|
97
|
+
compaction, permissions, and route inspection as every custom-API profile —
|
|
98
|
+
only the credential source and the model catalog differ.
|
|
99
|
+
|
|
100
|
+
1. Run `clavue-v1 auth login` (or choose `使用 clavue OAuth` during first
|
|
101
|
+
launch), sign in at `www.clavue.com`, and approve the device code.
|
|
102
|
+
2. Clavue stores the session as the `Clavue 官方` provider profile and activates
|
|
103
|
+
the official family automatically:
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
主模型: clavue-2.1 (official 27B coding model, 128K, premium pool)
|
|
107
|
+
Haiku: clavue-2.1-fast (same model, fast pool — higher daily quota)
|
|
108
|
+
Sonnet: clavue-2.1-pro (premium ceiling for planning and long-horizon work)
|
|
109
|
+
Opus: clavue-2.1-rev (review-oriented; a different family from clavue-2.1, so it
|
|
110
|
+
also works as CLAVUE_COMBO_REVIEW for cross-family review)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Manual fallback: create a member API key at `https://www.clavue.com/account`,
|
|
114
|
+
then add the `Clavue 官方` preset in `clavue-v1 provider`.
|
|
115
|
+
|
|
116
|
+
`auto` is also accepted. The CLI talks to `api.clavue.com/v1/messages`
|
|
117
|
+
(Anthropic Messages-compatible protocol) and `/provider current` shows your plan and remaining
|
|
118
|
+
points from the `x-clavue-points-*` response headers. Official identity is
|
|
119
|
+
decided by exact host match only — a third-party gateway can never be
|
|
120
|
+
mistaken for the official cloud.
|
|
121
|
+
|
|
93
122
|
## Quick Start: Custom API
|
|
94
123
|
|
|
95
124
|
Fastest path for custom API users:
|
|
@@ -120,7 +149,8 @@ clavue-v1 provider doctor # diagnose source-of-truth, drift, validation, and nex
|
|
|
120
149
|
clavue-v1 provider validate
|
|
121
150
|
```
|
|
122
151
|
|
|
123
|
-
|
|
152
|
+
`clavue-v1 auth login` is the clavue OAuth entry point. Custom API users can
|
|
153
|
+
continue to use `clavue-v1 provider` without an OAuth login.
|
|
124
154
|
|
|
125
155
|
## First Useful Session
|
|
126
156
|
|
|
@@ -138,13 +168,13 @@ On first launch, Clavue should make the setup choice obvious:
|
|
|
138
168
|
|
|
139
169
|
```text
|
|
140
170
|
请选择 API 配置模式:
|
|
141
|
-
|
|
171
|
+
使用 clavue OAuth
|
|
142
172
|
自定义 API 配置
|
|
143
173
|
使用 CCR 代理
|
|
144
174
|
跳过(稍后手动配置)
|
|
145
175
|
```
|
|
146
176
|
|
|
147
|
-
- Use
|
|
177
|
+
- Use clavue OAuth when you want the official Clavue membership flow.
|
|
148
178
|
- Use custom API configuration when you have an API base URL plus API key or auth token.
|
|
149
179
|
- Use CCR proxy when your environment already standardizes on a compatible proxy route.
|
|
150
180
|
- Skip only when you want to configure later with `clavue-v1 provider` or `/provider`.
|
|
@@ -171,6 +201,55 @@ This package is intended for users who want an execution-first coding CLI with d
|
|
|
171
201
|
|
|
172
202
|
On macOS, Clavue avoids Keychain by default and stores local credentials in `~/.clavue/.credentials.json` so startup does not trigger system Keychain prompts. If you explicitly want the old Keychain behavior back, launch with `CLAVUE_USE_KEYCHAIN=1 clavue-v1`.
|
|
173
203
|
|
|
204
|
+
## Cross-Family Combo Review
|
|
205
|
+
|
|
206
|
+
The review slot puts an independent model family between "the code changed"
|
|
207
|
+
and "the work is done". Since 1.2.0 review is scheduled so it does not tax
|
|
208
|
+
every edit:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
CLAVUE_COMBO_MAIN=glm-5.3-flash # developer model (any slot model is passed through verbatim)
|
|
212
|
+
CLAVUE_COMBO_REVIEW=deepseek-v4-flash # reviewer — pick a different family than main
|
|
213
|
+
CLAVUE_COMBO_REVIEW_MODE=overlap # overlap (default) | serial
|
|
214
|
+
CLAVUE_COMBO_REVIEW_MIN_CHANGED_CHARS=80 # small edits accumulate; one review covers them
|
|
215
|
+
CLAVUE_COMBO_REVIEW_MAX_PER_CHAIN=3 # review budget per query chain
|
|
216
|
+
CLAVUE_COMBO_REVIEW_GRACE_MS=5000 # bounded wait for the final verdict at chain end
|
|
217
|
+
CLAVUE_COMBO_REVIEW_FIX_LOOP=1 # opt-in: a chain-end "P0:" verdict grants one bounded fix turn
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
- `overlap` fires the review hop without blocking; the verdict is injected
|
|
221
|
+
at the next loop boundary so the developer model actually acts on it.
|
|
222
|
+
In the shipped A/B it roughly halves the review tax versus `serial`
|
|
223
|
+
(+38% vs +94% wall-clock on the hard task).
|
|
224
|
+
- The reviewer is told which family wrote the code and which failure modes
|
|
225
|
+
that family is prone to. Same-family pairs still work; `/provider current`
|
|
226
|
+
flags them so you can choose an independent second opinion.
|
|
227
|
+
- Review-on and the fix loop stay opt-in: on oracle-complete tasks a
|
|
228
|
+
competent developer model saturates on its own (see
|
|
229
|
+
`docs/evals/combo-review/`), so the defaults do not spend your time until
|
|
230
|
+
the discriminating experiment justifies it.
|
|
231
|
+
|
|
232
|
+
## Subagent Model Matching
|
|
233
|
+
|
|
234
|
+
Subagents (`Agent` tool, `/agents` definitions, `Explore`, `Plan`, teams) pick their model in this order:
|
|
235
|
+
|
|
236
|
+
1. `CLAUDE_CODE_SUBAGENT_MODEL` (written by a provider profile's subagent slot) — an explicit global override that wins over everything.
|
|
237
|
+
2. The `model` the caller or agent definition asked for:
|
|
238
|
+
- a combo slot name — `light`, `main`, `plan`, `review` — resolves to that `CLAVUE_COMBO_*` model verbatim; an unconfigured `light` falls back to `haiku`, the other slots to `inherit`;
|
|
239
|
+
- `haiku` is the fast tier: with `CLAVUE_COMBO_LIGHT` set it runs there (this is what `Explore` uses), otherwise it follows `ANTHROPIC_DEFAULT_HAIKU_MODEL`;
|
|
240
|
+
- `sonnet` / `opus` follow the parent's exact model when the parent is the same tier, else `ANTHROPIC_DEFAULT_*_MODEL`.
|
|
241
|
+
3. `inherit` (the default) uses the parent conversation's model.
|
|
242
|
+
|
|
243
|
+
Safety net for non-Claude routes: a bare tier alias that is not pinned by any of the variables above, on a gateway whose parent model is not a Claude model, inherits the parent instead of asking the route for a `claude-*` ID it cannot serve. Set `CLAVUE_COMBO_LIGHT` (or the `ANTHROPIC_DEFAULT_*_MODEL` pins that provider profiles write) to route tiers deliberately.
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
CLAVUE_COMBO_MAIN=deepseek-v4 # developer
|
|
247
|
+
CLAVUE_COMBO_LIGHT=deepseek-v4-flash # Explore / haiku-tier subagents / agents with `model: light`
|
|
248
|
+
CLAVUE_COMBO_REVIEW=glm-5.3 # cross-family reviewer; agents with `model: review` run here too
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The `/agents` wizard lists configured slots first and shows what each tier currently resolves to, so an agent can be pinned to "the fast slot" without knowing the underlying model ID. Parallel subagents run through the same concurrency-safe tool batching as every other tool (`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`, default 10); use `run_in_background` for independent work and foreground for results you need before continuing.
|
|
252
|
+
|
|
174
253
|
## Long-Running Session Memory
|
|
175
254
|
|
|
176
255
|
Clavue automatically restarts normal long-running sessions with `--max-old-space-size=8192` before loading the full CLI. This prevents the common Node default ~4GB heap limit from killing large coding sessions with `Reached heap limit Allocation failed - JavaScript heap out of memory`.
|
|
@@ -191,7 +270,7 @@ Version check:
|
|
|
191
270
|
|
|
192
271
|
```bash
|
|
193
272
|
npx -y clavue-v1 --version
|
|
194
|
-
npx -y clavue-v1@1.
|
|
273
|
+
npx -y clavue-v1@1.3.0 --version
|
|
195
274
|
# available after a global install
|
|
196
275
|
clavue-v1 --version
|
|
197
276
|
```
|
|
@@ -202,14 +281,28 @@ Provider/config entry point:
|
|
|
202
281
|
clavue-v1 provider
|
|
203
282
|
```
|
|
204
283
|
|
|
205
|
-
|
|
284
|
+
clavue OAuth:
|
|
206
285
|
|
|
207
286
|
```bash
|
|
208
287
|
clavue-v1 auth login
|
|
209
|
-
clavue-v1
|
|
288
|
+
clavue-v1 auth status --text
|
|
289
|
+
clavue-v1 auth logout
|
|
210
290
|
```
|
|
211
291
|
|
|
212
|
-
|
|
292
|
+
The legacy Anthropic OAuth and long-lived `setup-token` flow are no longer
|
|
293
|
+
user-facing login paths. Protocol-compatible API providers remain available
|
|
294
|
+
through `clavue-v1 provider`.
|
|
295
|
+
|
|
296
|
+
Canonical configuration names:
|
|
297
|
+
|
|
298
|
+
```text
|
|
299
|
+
~/.clavue/.clavue.json global application state
|
|
300
|
+
~/.clavue/settings.json user settings
|
|
301
|
+
<project>/.clavue/settings.json shared project settings
|
|
302
|
+
<project>/.clavue/settings.local.json private project overrides
|
|
303
|
+
<project>/clavue.md project instructions
|
|
304
|
+
<project>/clavue.local.md private project instructions
|
|
305
|
+
```
|
|
213
306
|
|
|
214
307
|
## In-Session Workflows
|
|
215
308
|
|
|
@@ -244,7 +337,22 @@ The Mao supervisor ledger is still used internally by delivery gates; user-facin
|
|
|
244
337
|
|
|
245
338
|
Typing `agent teams` at the start of a prompt opens the same native `/team` flow instead of sending that phrase to the model as plain text. Agent teams are enabled by default in Clavue; set `CLAVUE_DISABLE_AGENT_TEAMS=1` or `CLAVUE_AGENT_TEAMS=0` before launch only if you need to disable them. Use `/team check` for a concrete readiness report.
|
|
246
339
|
|
|
247
|
-
`/
|
|
340
|
+
`/goal` turns a one-line objective into a durable mission. Clavue writes a ledger under `.clavue/goals/`, defines the plan itself, and keeps working across turns until evidence proves the objective, the budget runs out, or a real blocker appears. The loop is bounded: 20 auto-continued turns or 6 hours, whichever comes first. Exhaustion pauses the goal with an explicit `budget_exhausted` event; `/goal resume` grants a fresh budget. Completion is refused until at least one piece of evidence is on record, and starting a new goal supersedes the live one with an audit event.
|
|
341
|
+
|
|
342
|
+
```text
|
|
343
|
+
/goal ship the 1.3.0 release and verify npm, GitHub, and the website
|
|
344
|
+
/goal criteria npm run check passes on main
|
|
345
|
+
/goal evidence npm run test:fast passed (24 files)
|
|
346
|
+
/goal status
|
|
347
|
+
/goal pause waiting for the registry token
|
|
348
|
+
/goal resume
|
|
349
|
+
/goal complete release verified on npm and GitHub
|
|
350
|
+
/goal stop superseded by hotfix
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Only completed model turns advance the loop; `/goal status`, `/goal evidence`, and the other local subcommands never spend a turn or queue a duplicate mission prompt.
|
|
354
|
+
|
|
355
|
+
`/retro` runs a multi-round repo retrospective and upgrade loop guided by `PRODUCT.md` and `ARCHITECTURE.md`, with `AGENTS.md` as the contributor contract and older planning notes under `docs/` treated as historical context only when they still agree. When a `/goal` is active, `/retro` treats that objective as the outer mission and records kept slices as goal evidence.
|
|
248
356
|
|
|
249
357
|
```text
|
|
250
358
|
/retro
|
|
@@ -252,6 +360,16 @@ Typing `agent teams` at the start of a prompt opens the same native `/team` flow
|
|
|
252
360
|
/retro onboarding and route validation
|
|
253
361
|
```
|
|
254
362
|
|
|
363
|
+
`/review` reviews a pull request or local work with one rubric: findings anchored as `path:line`, severity markers `P0:`/`P1:`/`P2:`/`nit:` shared with the cross-family combo review hop, verified-vs-suspected labelling, and a single `Verdict:` line. With no argument it reviews the working tree when dirty, otherwise the current branch against its base.
|
|
364
|
+
|
|
365
|
+
```text
|
|
366
|
+
/review
|
|
367
|
+
/review --staged
|
|
368
|
+
/review --base origin/main
|
|
369
|
+
/review 128
|
|
370
|
+
/review 128 concurrency and error paths
|
|
371
|
+
```
|
|
372
|
+
|
|
255
373
|
Companion commands are still available and can either follow the current app provider or bind to a saved `/provider` profile independently.
|
|
256
374
|
|
|
257
375
|
```text
|