clavue-v1 1.2.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 +81 -16
- package/dist/cli.js +435 -401
- package/dist/login-redirect-command.js +7 -6
- package/dist/mao-command.js +1 -1
- package/dist/openai-responses-adapter.js +3 -3
- package/dist/provider-setup.js +1 -1
- package/docs/combo-review-and-official-mode-plan-2026-09-01.md +14 -6
- package/docs/release-notes-v1.3.0.md +86 -0
- package/package.json +1 -1
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,7 +88,7 @@ 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
|
|
|
93
94
|
## Quick Start: Official Clavue Cloud
|
|
@@ -96,10 +97,10 @@ Official mode is a provider profile, not a second runtime: the same tools,
|
|
|
96
97
|
compaction, permissions, and route inspection as every custom-API profile —
|
|
97
98
|
only the credential source and the model catalog differ.
|
|
98
99
|
|
|
99
|
-
1.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
the
|
|
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:
|
|
103
104
|
|
|
104
105
|
```text
|
|
105
106
|
主模型: clavue-2.1 (official 27B coding model, 128K, premium pool)
|
|
@@ -109,8 +110,11 @@ Opus: clavue-2.1-rev (review-oriented; a different family from clavue-2.1
|
|
|
109
110
|
also works as CLAVUE_COMBO_REVIEW for cross-family review)
|
|
110
111
|
```
|
|
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
|
+
|
|
112
116
|
`auto` is also accepted. The CLI talks to `api.clavue.com/v1/messages`
|
|
113
|
-
(Anthropic Messages
|
|
117
|
+
(Anthropic Messages-compatible protocol) and `/provider current` shows your plan and remaining
|
|
114
118
|
points from the `x-clavue-points-*` response headers. Official identity is
|
|
115
119
|
decided by exact host match only — a third-party gateway can never be
|
|
116
120
|
mistaken for the official cloud.
|
|
@@ -145,7 +149,8 @@ clavue-v1 provider doctor # diagnose source-of-truth, drift, validation, and nex
|
|
|
145
149
|
clavue-v1 provider validate
|
|
146
150
|
```
|
|
147
151
|
|
|
148
|
-
|
|
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.
|
|
149
154
|
|
|
150
155
|
## First Useful Session
|
|
151
156
|
|
|
@@ -163,13 +168,13 @@ On first launch, Clavue should make the setup choice obvious:
|
|
|
163
168
|
|
|
164
169
|
```text
|
|
165
170
|
请选择 API 配置模式:
|
|
166
|
-
|
|
171
|
+
使用 clavue OAuth
|
|
167
172
|
自定义 API 配置
|
|
168
173
|
使用 CCR 代理
|
|
169
174
|
跳过(稍后手动配置)
|
|
170
175
|
```
|
|
171
176
|
|
|
172
|
-
- Use
|
|
177
|
+
- Use clavue OAuth when you want the official Clavue membership flow.
|
|
173
178
|
- Use custom API configuration when you have an API base URL plus API key or auth token.
|
|
174
179
|
- Use CCR proxy when your environment already standardizes on a compatible proxy route.
|
|
175
180
|
- Skip only when you want to configure later with `clavue-v1 provider` or `/provider`.
|
|
@@ -224,6 +229,27 @@ CLAVUE_COMBO_REVIEW_FIX_LOOP=1 # opt-in: a chain-end "P0:" verdict gra
|
|
|
224
229
|
`docs/evals/combo-review/`), so the defaults do not spend your time until
|
|
225
230
|
the discriminating experiment justifies it.
|
|
226
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
|
+
|
|
227
253
|
## Long-Running Session Memory
|
|
228
254
|
|
|
229
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`.
|
|
@@ -244,7 +270,7 @@ Version check:
|
|
|
244
270
|
|
|
245
271
|
```bash
|
|
246
272
|
npx -y clavue-v1 --version
|
|
247
|
-
npx -y clavue-v1@1.
|
|
273
|
+
npx -y clavue-v1@1.3.0 --version
|
|
248
274
|
# available after a global install
|
|
249
275
|
clavue-v1 --version
|
|
250
276
|
```
|
|
@@ -255,14 +281,28 @@ Provider/config entry point:
|
|
|
255
281
|
clavue-v1 provider
|
|
256
282
|
```
|
|
257
283
|
|
|
258
|
-
|
|
284
|
+
clavue OAuth:
|
|
259
285
|
|
|
260
286
|
```bash
|
|
261
287
|
clavue-v1 auth login
|
|
262
|
-
clavue-v1
|
|
288
|
+
clavue-v1 auth status --text
|
|
289
|
+
clavue-v1 auth logout
|
|
263
290
|
```
|
|
264
291
|
|
|
265
|
-
|
|
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
|
+
```
|
|
266
306
|
|
|
267
307
|
## In-Session Workflows
|
|
268
308
|
|
|
@@ -297,7 +337,22 @@ The Mao supervisor ledger is still used internally by delivery gates; user-facin
|
|
|
297
337
|
|
|
298
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.
|
|
299
339
|
|
|
300
|
-
`/
|
|
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.
|
|
301
356
|
|
|
302
357
|
```text
|
|
303
358
|
/retro
|
|
@@ -305,6 +360,16 @@ Typing `agent teams` at the start of a prompt opens the same native `/team` flow
|
|
|
305
360
|
/retro onboarding and route validation
|
|
306
361
|
```
|
|
307
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
|
+
|
|
308
373
|
Companion commands are still available and can either follow the current app provider or bind to a saved `/provider` profile independently.
|
|
309
374
|
|
|
310
375
|
```text
|