ur-agent 1.34.0 → 1.35.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/CHANGELOG.md +24 -0
- package/QUALITY.md +10 -5
- package/README.md +72 -22
- package/RELEASE.md +11 -1
- package/dist/cli.js +87 -114
- package/docs/AGENT_FEATURES.md +2 -2
- package/docs/AGENT_TRENDS.md +1 -1
- package/docs/CONFIGURATION.md +11 -9
- package/docs/TROUBLESHOOTING.md +204 -0
- package/docs/USAGE.md +38 -16
- package/docs/VALIDATION.md +1 -1
- package/docs/providers.md +29 -21
- package/documentation/app.js +55 -13
- package/documentation/index.html +5 -5
- package/examples/provider_selection.md +45 -0
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
- package/docs/AGENT_UPGRADE_1.15.0.md +0 -129
- package/docs/AGENT_UPGRADE_1.16.0.md +0 -102
- package/docs/AGENT_UPGRADE_1.17.0.md +0 -32
- package/docs/AGENT_UPGRADE_1.18.0.md +0 -45
- package/docs/AGENT_UPGRADE_1.19.0.md +0 -41
- package/docs/AGENT_UPGRADE_1.20.0.md +0 -42
- package/docs/AGENT_UPGRADE_1.21.0.md +0 -58
- package/docs/AGENT_UPGRADE_1.22.0.md +0 -48
- package/docs/CODE_FEATURE_INVENTORY.md +0 -1042
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -161,11 +161,11 @@ while keeping them project-local and manifest-backed:
|
|
|
161
161
|
| Primitive | UR surface | Project-backed source |
|
|
162
162
|
| --- | --- | --- |
|
|
163
163
|
| Agent | `ur`, `ur agents`, `ur crew`, `ur bg`, `ur agent-templates` | `.ur/agents/`, `AGENTS.md`, `UR.md` |
|
|
164
|
-
| Rules | `ur context-pack scan`, `ur safety`,
|
|
164
|
+
| Rules | `ur context-pack scan`, `ur safety`, `/guardrails`, `/hooks` | `AGENTS.md`, `UR.md`, `.cursor/rules/*.mdc`, `.cursorrules`, `.ur/safety-policy.json`, `.ur/guardrails.json`, `.ur/hooks.json` |
|
|
165
165
|
| MCP | `ur mcp`, built-in MCP server mode, MCP tools/resources | `.mcp.json`, `.ur/mcp/`, plugin manifests |
|
|
166
166
|
| Skills | `/skills`, `/create-skill`, bundled skills, plugin skills | `.ur/skills/`, user skills, plugin skill folders |
|
|
167
167
|
| CLI | `ur --help`, `ur -p`, `ur exec`, `ur acp`, workflow subcommands | `package.json` scripts, `.ur/project-manifest.json`, `.ur/verify.json` |
|
|
168
|
-
| Models |
|
|
168
|
+
| Models | `/model`, `ur model-doctor`, model router, Ollama discovery | Ollama endpoint, settings, `OLLAMA_MODEL`, model metadata cache |
|
|
169
169
|
|
|
170
170
|
## v1.19.0 Additions
|
|
171
171
|
|
package/docs/AGENT_TRENDS.md
CHANGED
|
@@ -76,7 +76,7 @@ Inside an interactive session:
|
|
|
76
76
|
| Reliable repo editing | Covered | `ur repo-edit` builds a file/symbol index, performs AST-aware JS/TS identifier rename planning, previews patches before writing, and applies multi-file edits transactionally with rollback on syntax or check failure | Extend AST edits beyond identifier rename into import moves and signature-aware refactors |
|
|
77
77
|
| Permission and safety policy | Covered | `ur safety`, `.ur/safety-policy.json`, pre-Bash safety evaluation, read/write/execute/network command classes, destructive-command approval, sandbox recommendations, and secret exfiltration denial | Record sandbox attestation in every risky command's evidence trail |
|
|
78
78
|
| Project context management | Covered | `ur context-pack`, `.ur/project-manifest.json`, `.ur/context/*`, Project DNA, instruction files, verify gates, and task memory for decisions/constraints/commands/diffs | Feed the generated project manifest into subagent prompt selection and verifier gate choice |
|
|
79
|
-
| AGENTS.md interoperability | Covered | `AGENTS.md` loaded as runtime project context (before `UR.md`), plus imported
|
|
79
|
+
| AGENTS.md interoperability | Covered | `AGENTS.md` loaded as runtime project context (before `UR.md`), plus imported by the `/init` command | Keep aligned as the AGENTS.md spec evolves |
|
|
80
80
|
| Browser and computer-use workflows | Covered | `/browser`, `/chrome`, Playwright-aware tasks, WebSearch, WebFetch, risky-action approval | Add more release fixtures with screenshots and replay assertions |
|
|
81
81
|
| Provenance and citations | Partial | WebFetch source URLs, `/cite`, `/graph`, `/trace`, evidence ledgers | Add claim-to-source mapping for web/MCP answers |
|
|
82
82
|
| Evals and observability | Covered | verifier gates, `.ur/verify.json`, `/verify`, `/trace`, OpenTelemetry hooks, release checks, eval dashboard, benchmark adapters | Publish benchmark numbers from local reproducible suites |
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -10,9 +10,10 @@ UR-AGENT supports official provider access paths only:
|
|
|
10
10
|
OpenAI-compatible endpoints.
|
|
11
11
|
- Local/server providers: Ollama, LM Studio, llama.cpp, and vLLM OpenAI-compatible
|
|
12
12
|
server mode.
|
|
13
|
-
-
|
|
14
|
-
where officially supported. These
|
|
15
|
-
|
|
13
|
+
- Subscription CLI providers: Codex CLI, Claude Code CLI, Gemini CLI, and
|
|
14
|
+
Antigravity where officially supported. These dispatch turns through the
|
|
15
|
+
vendor's official CLI using your subscription login. They are optional and
|
|
16
|
+
never required for normal UR runtime.
|
|
16
17
|
|
|
17
18
|
UR-AGENT never scrapes browser sessions, extracts OAuth refresh tokens, reads
|
|
18
19
|
hidden provider auth files, bypasses provider restrictions, or proxies consumer
|
|
@@ -48,10 +49,10 @@ ur config set base_url <url>
|
|
|
48
49
|
|
|
49
50
|
Provider values accept canonical IDs and common aliases. Examples:
|
|
50
51
|
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `ollama`,
|
|
51
|
-
`lmstudio`, `LM Studio`, `llama.cpp`,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
`lmstudio`, `LM Studio`, `llama.cpp`, `vllm`, and the subscription CLI
|
|
53
|
+
providers `codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli`
|
|
54
|
+
(`gemini`), and `antigravity-cli` (`agy`). Values with spaces should be quoted
|
|
55
|
+
in shell commands.
|
|
55
56
|
|
|
56
57
|
In the interactive app, `/model` is provider-first: choose a provider, then
|
|
57
58
|
choose a model from that provider only. The picker labels providers as
|
|
@@ -70,8 +71,9 @@ ur provider status
|
|
|
70
71
|
The status output includes active provider, active model, access type,
|
|
71
72
|
credential type, and runtime backend.
|
|
72
73
|
|
|
73
|
-
API keys are
|
|
74
|
-
|
|
74
|
+
API keys are never written to UR settings files. Store one securely with
|
|
75
|
+
`ur connect <provider>` (OS keychain, with an encrypted file fallback), or set
|
|
76
|
+
it in the environment when you explicitly choose API mode:
|
|
75
77
|
|
|
76
78
|
```sh
|
|
77
79
|
OPENAI_API_KEY=...
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
Each entry lists the symptom, the likely cause, the fix, and a command that
|
|
4
|
+
verifies the fix.
|
|
5
|
+
|
|
6
|
+
## Install and startup
|
|
7
|
+
|
|
8
|
+
### `ur: command not found`
|
|
9
|
+
|
|
10
|
+
- Likely cause: the package is not installed globally, or the npm/bun global
|
|
11
|
+
bin directory is not on `PATH`.
|
|
12
|
+
- Fix: reinstall globally and check the global bin path.
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npm install -g ur-agent
|
|
16
|
+
npm prefix -g # ensure <prefix>/bin is on PATH
|
|
17
|
+
ur --version
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### `npm install -g ur-agent` fails
|
|
21
|
+
|
|
22
|
+
- Likely cause: permission errors on the global prefix, or an old Node.js.
|
|
23
|
+
- Fix: use a user-writable npm prefix (or a Node version manager), then retry.
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
npm config set prefix ~/.npm-global # then add ~/.npm-global/bin to PATH
|
|
27
|
+
npm install -g ur-agent
|
|
28
|
+
ur --version
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Bun is missing or too old
|
|
32
|
+
|
|
33
|
+
- Likely cause: UR runs through Bun; source checkouts and the GitHub install
|
|
34
|
+
path need Bun (this repository pins `bun@1.3.14`).
|
|
35
|
+
- Fix: install Bun, then rerun.
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
npm install -g bun # or: curl -fsSL https://bun.sh/install | bash
|
|
39
|
+
bun --version
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Invalid or corrupted settings
|
|
43
|
+
|
|
44
|
+
- Likely cause: malformed JSON in `~/.ur/settings.json` or project settings.
|
|
45
|
+
- Fix: repair the JSON or set values through safe config commands instead of
|
|
46
|
+
editing by hand.
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
ur config set provider ollama
|
|
50
|
+
ur provider status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Providers and models
|
|
54
|
+
|
|
55
|
+
### Provider selected but the model is unavailable
|
|
56
|
+
|
|
57
|
+
- Likely cause: the model was never pulled/served, or it belongs to a
|
|
58
|
+
different provider.
|
|
59
|
+
- Fix: pick a model scoped to the active provider.
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
ur provider status
|
|
63
|
+
ur config set model <model-from-this-provider> # or use /model in a session
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Selected model belongs to another provider
|
|
67
|
+
|
|
68
|
+
- Likely cause: provider was changed and the old model is incompatible; UR
|
|
69
|
+
warns and clears the model in this case.
|
|
70
|
+
- Fix: choose a model from the current provider's list.
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
ur provider status
|
|
74
|
+
# then in a session: /model
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Requests appear to hit the wrong backend
|
|
78
|
+
|
|
79
|
+
- Likely cause: a stale provider/model pair.
|
|
80
|
+
- Fix: inspect the runtime backend; there is no cross-provider fallback, so
|
|
81
|
+
the reported backend is the one receiving requests.
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
ur provider status
|
|
85
|
+
ur provider doctor
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Subscription CLI exits non-zero
|
|
89
|
+
|
|
90
|
+
- Likely cause: the vendor CLI (codex, claude, gemini, agy) is missing or not
|
|
91
|
+
logged in.
|
|
92
|
+
- Fix: install the official CLI and log in.
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
ur provider doctor codex-cli # or claude-code-cli, gemini-cli, antigravity-cli
|
|
96
|
+
ur auth chatgpt # or: ur auth claude | gemini | antigravity
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Provider produces output but exits with an error
|
|
100
|
+
|
|
101
|
+
- Likely cause: the vendor CLI wrote a partial result and then failed (quota,
|
|
102
|
+
network, auth expiry). UR reports the provider, model, and backend with the
|
|
103
|
+
failure instead of discarding the output silently.
|
|
104
|
+
- Fix: read the reported provider error, then re-check login/quota.
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
ur provider doctor <provider-id>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Model discovery fails / model list is empty
|
|
111
|
+
|
|
112
|
+
- Likely cause: for local/server providers the endpoint is down; for API
|
|
113
|
+
providers the key is missing, so only the curated fallback list shows.
|
|
114
|
+
- Fix: start the server or connect the key.
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
curl http://localhost:11434/api/tags # Ollama
|
|
118
|
+
curl http://localhost:1234/v1/models # LM Studio (llama.cpp: 8080, vLLM: 8000)
|
|
119
|
+
ur connect openai-api # store an API key securely
|
|
120
|
+
ur provider doctor
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Local server unreachable
|
|
124
|
+
|
|
125
|
+
- Likely cause: wrong `base_url` or the server is not running.
|
|
126
|
+
- Fix: point UR at the right endpoint.
|
|
127
|
+
|
|
128
|
+
```sh
|
|
129
|
+
ur config set base_url http://localhost:11434
|
|
130
|
+
ur provider doctor
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Sessions and workflows
|
|
134
|
+
|
|
135
|
+
### No visible progress in scripts
|
|
136
|
+
|
|
137
|
+
- Likely cause: `ur -p` prints the final result only.
|
|
138
|
+
- Fix: stream structured progress.
|
|
139
|
+
|
|
140
|
+
```sh
|
|
141
|
+
ur -p --output-format stream-json "explain this repository"
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Dry-run works but the real run fails
|
|
145
|
+
|
|
146
|
+
- Likely cause: `--dry-run` skips model calls and permissions; the real run
|
|
147
|
+
needs a reachable provider and permission approval.
|
|
148
|
+
- Fix: verify the provider, then run without `--dry-run` and approve prompts
|
|
149
|
+
(or scope tools explicitly).
|
|
150
|
+
|
|
151
|
+
```sh
|
|
152
|
+
ur provider status
|
|
153
|
+
ur -p --allowed-tools "Read,Edit,Bash(git:*)" "run the task"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Permission or sandbox issues
|
|
157
|
+
|
|
158
|
+
- Likely cause: the requested command is classified as write/execute/network
|
|
159
|
+
and requires approval, or sandbox dependencies are missing.
|
|
160
|
+
- Fix: inspect the policy and the sandbox status.
|
|
161
|
+
|
|
162
|
+
```sh
|
|
163
|
+
ur safety check --command "<the command>"
|
|
164
|
+
ur sandbox status
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Tests fail after an agent edit
|
|
168
|
+
|
|
169
|
+
- Likely cause: the edit broke a project gate.
|
|
170
|
+
- Fix: use the CI loop to repair with bounded attempts, or inspect verify
|
|
171
|
+
gates.
|
|
172
|
+
|
|
173
|
+
```sh
|
|
174
|
+
ur ci-loop --command "bun test" --max-attempts 3
|
|
175
|
+
ur test-first detect
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Integrations
|
|
179
|
+
|
|
180
|
+
### Plugin fails to load
|
|
181
|
+
|
|
182
|
+
- Likely cause: invalid manifest or wrong install scope.
|
|
183
|
+
- Fix: validate the manifest and re-check installed state.
|
|
184
|
+
|
|
185
|
+
```sh
|
|
186
|
+
ur plugin doctor
|
|
187
|
+
ur plugin list
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### ACP / editor connection issues
|
|
191
|
+
|
|
192
|
+
- Likely cause: the ACP server is not running, or the editor config block is
|
|
193
|
+
missing.
|
|
194
|
+
- Fix: check status, regenerate the editor config, and run the IDE doctor.
|
|
195
|
+
|
|
196
|
+
```sh
|
|
197
|
+
ur acp status
|
|
198
|
+
ur ide doctor
|
|
199
|
+
ur ide config zed # or vscode, cursor, windsurf, jetbrains, neovim
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
If a problem persists, run the repository's validation runbook
|
|
203
|
+
([docs/VALIDATION.md](VALIDATION.md)) and file an issue at
|
|
204
|
+
<https://github.com/Maitham16/UR/issues> with the exact command and output.
|
package/docs/USAGE.md
CHANGED
|
@@ -115,24 +115,25 @@ back to Ollama, Claude API does not fall back to Claude Code, and local/server
|
|
|
115
115
|
providers do not leak cloud model lists. Use `ur provider status` to inspect the
|
|
116
116
|
active provider, model, access type, and runtime backend.
|
|
117
117
|
|
|
118
|
-
The
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
The provider list shows API, local/server, and subscription CLI providers.
|
|
119
|
+
Subscription CLIs (Codex CLI, Claude Code, Gemini CLI, Antigravity) are
|
|
120
|
+
first-class: selecting one dispatches turns through the vendor's official CLI
|
|
121
|
+
using your subscription login (`ur auth <provider>`). The generic
|
|
122
|
+
`subscription` entry is an internal placeholder and is hidden from listings;
|
|
123
|
+
UR does not list fake subscription models.
|
|
122
124
|
|
|
123
125
|
Provider values accept canonical IDs and common aliases. For example,
|
|
124
126
|
`openai-api`, `anthropic-api`, `gemini-api`, `openrouter`, `ollama`,
|
|
125
|
-
`lmstudio`, `llama.cpp`, and `vllm` are
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
opt-in is enabled.
|
|
127
|
+
`lmstudio`, `llama.cpp`, and `vllm` are UR-native runtime providers, and
|
|
128
|
+
`codex-cli` (`chatgpt`), `claude-code-cli` (`claude`), `gemini-cli` (`gemini`),
|
|
129
|
+
and `antigravity-cli` (`agy`) are subscription CLI providers.
|
|
129
130
|
|
|
130
|
-
API modes are explicit
|
|
131
|
+
API modes are explicit. Keys are read from a key stored via
|
|
132
|
+
`ur connect <provider>` (OS keychain) or from the environment variables
|
|
131
133
|
`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, and
|
|
132
|
-
`OPENROUTER_API_KEY`.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
sessions, extracts OAuth tokens, or bypasses provider restrictions.
|
|
134
|
+
`OPENROUTER_API_KEY`. Subscription CLIs are optional, never required
|
|
135
|
+
dependencies, and never used as a silent fallback. UR-AGENT never scrapes
|
|
136
|
+
browser sessions, extracts OAuth tokens, or bypasses provider restrictions.
|
|
136
137
|
OpenAI-compatible local or cloud endpoints use `base_url` plus `model`.
|
|
137
138
|
|
|
138
139
|
Use `/model` in an interactive session to select provider first and model
|
|
@@ -208,6 +209,7 @@ Hooks are advisory by default. A `BeforeEdit`/`BeforeCommand`/`BeforeCommit` hoo
|
|
|
208
209
|
UR includes slash commands and CLI subcommands for common workflows:
|
|
209
210
|
|
|
210
211
|
- `/help` or `ur --help` for command discovery
|
|
212
|
+
- `ur connect ...` to connect provider accounts (subscription login or stored API key)
|
|
211
213
|
- `ur mcp ...` to configure MCP servers
|
|
212
214
|
- `ur plugin ...` to manage plugins and marketplaces. Marketplace plugins can
|
|
213
215
|
add MCP tools, commands, executable skills, templates, validators, language
|
|
@@ -238,6 +240,24 @@ UR includes slash commands and CLI subcommands for common workflows:
|
|
|
238
240
|
- `ur eval bench ...` to import local SWE-bench, Terminal-Bench, or Aider Polyglot exports
|
|
239
241
|
- `ur crew ...` to run lead+worker agent crews with optional automatic task decomposition
|
|
240
242
|
- `ur pattern ...` to run multi-agent collaboration patterns (PEER, DOE, concurrent, handoff, debate, parallel)
|
|
243
|
+
- `ur workflow ...` to define, validate, graph, run, and resume declarative agent workflows
|
|
244
|
+
- `ur goal ...` to track long-horizon objectives that persist across sessions
|
|
245
|
+
- `ur task ...` to run worktree-per-task sessions with PR handoff
|
|
246
|
+
- `ur worktree ...` to list, inspect, and clean up UR agent worktrees
|
|
247
|
+
- `ur automation ...` to store and run project-local scheduled automation specs
|
|
248
|
+
- `ur sandbox ...` to inspect sandbox/permission architecture and command approval levels
|
|
249
|
+
- `ur knowledge ...` to manage a curated project knowledge base with provenance
|
|
250
|
+
- `ur semantic-memory ...` to build and search the project-local memory index
|
|
251
|
+
- `ur claim-ledger ...` to map generated claims to their sources
|
|
252
|
+
- `ur route ...` to classify a task and recommend a subagent and collaboration pattern
|
|
253
|
+
- `ur model-doctor` and `ur model-route ...` to inspect local Ollama models and pick one by capability fit
|
|
254
|
+
- `ur local-first` to report readiness for offline/no-cloud environments
|
|
255
|
+
- `ur browser-qa ...` to validate and smoke-run browser QA replay fixtures
|
|
256
|
+
- `ur trigger ...` to parse GitHub/Slack webhook payloads and optionally launch a headless run
|
|
257
|
+
- `ur agent-templates ...`, `ur agent-task ...`, `ur agent-inspect`, `ur agent-features`, and `ur agent-trends` for agent template, PR handoff, timeline, and coverage utilities
|
|
258
|
+
- `ur role-mode ...` to install built-in Architect, Code, Debug, and Ask role modes
|
|
259
|
+
- `ur a2a ...` for Agent Card metadata, delegation tokens, and the opt-in A2A task server
|
|
260
|
+
- `ur sdk ...` to scaffold TS/Python headless SDK examples
|
|
241
261
|
- `ur doctor` to inspect CLI health
|
|
242
262
|
- `ur update` or `ur upgrade` to check for updates
|
|
243
263
|
|
|
@@ -253,11 +273,13 @@ Interactive sessions include a compact bottom status bar when stdout is a real
|
|
|
253
273
|
terminal:
|
|
254
274
|
|
|
255
275
|
```text
|
|
256
|
-
Ollama | llama3 | ask | main
|
|
276
|
+
Ollama | llama3 | ask | main
|
|
257
277
|
```
|
|
258
278
|
|
|
259
|
-
|
|
260
|
-
|
|
279
|
+
When a newer npm release exists, the bar appends an
|
|
280
|
+
`update <version> available` segment. The bar is not rendered in
|
|
281
|
+
non-interactive mode, CI, dumb terminals, or assistant viewer mode. Custom
|
|
282
|
+
status-line hooks override the built-in bar.
|
|
261
283
|
|
|
262
284
|
## IDE Integration
|
|
263
285
|
|
package/docs/VALIDATION.md
CHANGED
package/docs/providers.md
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
UR-AGENT integrates official model access paths only. API-key providers, local
|
|
4
4
|
runtimes, and OpenAI-compatible servers are UR-native backends: UR owns the
|
|
5
5
|
conversation loop, tool loop, streaming, errors, and output. Subscription CLI
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
providers (Codex CLI, Claude Code, Gemini CLI, Antigravity) are external app
|
|
7
|
+
bridges: they are first-class in `/model` and dispatch each turn through the
|
|
8
|
+
vendor's official CLI using your subscription login. They are optional, never
|
|
9
|
+
required dependencies, and never used as a silent fallback.
|
|
9
10
|
|
|
10
11
|
## Legal auth policy
|
|
11
12
|
|
|
@@ -35,7 +36,10 @@ variables only when the user explicitly selects API mode.
|
|
|
35
36
|
| LM Studio | local/server | UR-native | `openai-compatible:lmstudio` | local OpenAI-compatible server |
|
|
36
37
|
| llama.cpp | local/server | UR-native | `openai-compatible:llama.cpp` | local OpenAI-compatible server |
|
|
37
38
|
| vLLM | local/server | UR-native | `openai-compatible:vllm` | OpenAI-compatible server |
|
|
38
|
-
|
|
|
39
|
+
| Codex CLI | subscription | external app bridge | `subscription-cli:codex` | official Codex CLI login |
|
|
40
|
+
| Claude Code | subscription | external app bridge | `subscription-cli:claude-code` | official Claude Code CLI login |
|
|
41
|
+
| Gemini CLI | subscription | external app bridge | `subscription-cli:gemini` | official Gemini Code Assist login |
|
|
42
|
+
| Antigravity | subscription | external app bridge | `subscription-cli:antigravity` | official Antigravity CLI login, where supported |
|
|
39
43
|
|
|
40
44
|
## Commands
|
|
41
45
|
|
|
@@ -45,8 +49,11 @@ ur provider status
|
|
|
45
49
|
ur provider doctor
|
|
46
50
|
ur provider doctor codex-cli
|
|
47
51
|
ur provider doctor agy
|
|
48
|
-
#
|
|
52
|
+
# Subscription CLI logins (official vendor CLIs):
|
|
49
53
|
ur auth chatgpt
|
|
54
|
+
ur auth claude
|
|
55
|
+
ur auth gemini
|
|
56
|
+
ur auth antigravity
|
|
50
57
|
ur config set provider ollama
|
|
51
58
|
ur config set provider openai-api
|
|
52
59
|
ur config set provider anthropic-api
|
|
@@ -69,13 +76,13 @@ through that provider's backend:
|
|
|
69
76
|
|
|
70
77
|
- **API providers** make direct HTTP calls in each provider's native wire format: Anthropic uses `x-api-key` + `anthropic-version` against `/v1/messages`; OpenAI uses `Authorization: Bearer` against `/v1/chat/completions`; Gemini uses `x-goog-api-key` against `…:generateContent`; OpenRouter uses its OpenAI-compatible chat endpoint.
|
|
71
78
|
- **Local/server providers** connect to the configured local or OpenAI-compatible endpoint (`/v1/chat/completions` for LM Studio, llama.cpp and vLLM; the native tags/chat API for Ollama)
|
|
72
|
-
- **
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
- **Subscription CLI providers** (Codex CLI, Claude Code, Gemini CLI,
|
|
80
|
+
Antigravity) dispatch the turn through the vendor's official CLI using your
|
|
81
|
+
subscription login. Failures remain provider-scoped and never fall back to
|
|
82
|
+
Ollama or any other provider.
|
|
83
|
+
- The generic **`subscription`** entry is an internal placeholder with no
|
|
84
|
+
models and no backend; it is hidden from listings. Choose a specific
|
|
85
|
+
subscription CLI, API, or local/server provider instead.
|
|
79
86
|
|
|
80
87
|
The selected provider determines:
|
|
81
88
|
- Which backend receives your requests
|
|
@@ -170,7 +177,7 @@ ur config set provider anthropic-api
|
|
|
170
177
|
|
|
171
178
|
### API vs Subscription distinction
|
|
172
179
|
|
|
173
|
-
**
|
|
180
|
+
**Subscription CLI providers** require the vendor's official CLI login:
|
|
174
181
|
- `codex-cli` — Codex CLI subscription via `codex login`
|
|
175
182
|
- `claude-code-cli` — Claude Code subscription via `claude auth login`
|
|
176
183
|
- `gemini-cli` — Gemini Code Assist enterprise login
|
|
@@ -245,9 +252,9 @@ Warning: Current model "gpt-5.5" is not available for provider "anthropic-api" a
|
|
|
245
252
|
After changing provider, run /model or: ur config set model claude-sonnet-5
|
|
246
253
|
```
|
|
247
254
|
|
|
248
|
-
For
|
|
249
|
-
|
|
250
|
-
|
|
255
|
+
For subscription CLI providers, UR stores provider-scoped model IDs such as
|
|
256
|
+
`claude-code/sonnet`, and runtime dispatch validates the pair against the
|
|
257
|
+
provider's curated list before spawning the official CLI.
|
|
251
258
|
|
|
252
259
|
### Troubleshooting
|
|
253
260
|
|
|
@@ -257,11 +264,12 @@ unless `UR_ENABLE_EXTERNAL_APP_PROVIDERS=1` is set.
|
|
|
257
264
|
ur provider status
|
|
258
265
|
```
|
|
259
266
|
|
|
260
|
-
**
|
|
261
|
-
-
|
|
262
|
-
-
|
|
263
|
-
|
|
264
|
-
|
|
267
|
+
**Subscription CLI provider is not working:**
|
|
268
|
+
- Run `ur provider doctor <provider>` to check CLI presence and login status
|
|
269
|
+
- Install the vendor's official CLI if it is missing, then log in with
|
|
270
|
+
`ur auth <chatgpt|claude|gemini|antigravity>`
|
|
271
|
+
- Remember these run through the external vendor CLI; UR-native behavior
|
|
272
|
+
(API/local/server providers) does not require them
|
|
265
273
|
|
|
266
274
|
**Provider shows "unavailable":**
|
|
267
275
|
- Check API key: `echo $OPENAI_API_KEY`
|
package/documentation/app.js
CHANGED
|
@@ -39,7 +39,7 @@ const featureGroups = [
|
|
|
39
39
|
title: 'Knowledge and memory',
|
|
40
40
|
tags: ['retrieval', 'provenance', 'citations'],
|
|
41
41
|
text: 'Durable memory, semantic memory, curated knowledge sources, lexical or embedding retrieval, citations, claim ledgers, and research graph primitives.',
|
|
42
|
-
commands: ['ur knowledge', 'ur semantic-memory', 'ur remember', 'ur claim-ledger'],
|
|
42
|
+
commands: ['ur knowledge', 'ur semantic-memory', 'ur context-pack remember', 'ur claim-ledger'],
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
title: 'Evaluation and verification',
|
|
@@ -56,8 +56,8 @@ const featureGroups = [
|
|
|
56
56
|
{
|
|
57
57
|
title: 'Providers and auth',
|
|
58
58
|
tags: ['subscription', 'API', 'local', 'status bar'],
|
|
59
|
-
text: 'UR-native API/local/OpenAI-compatible runtimes,
|
|
60
|
-
commands: ['ur provider list', 'ur provider status', 'ur provider doctor agy', 'ur config set provider openai-api', 'ur config set provider ollama'],
|
|
59
|
+
text: 'UR-native API/local/OpenAI-compatible runtimes, first-class subscription CLI providers dispatched through the official vendor CLIs, provider doctor checks, secure API-key connect, non-secret config, fallback hints, and provider-aware status-bar output.',
|
|
60
|
+
commands: ['ur provider list', 'ur provider status', 'ur provider doctor agy', 'ur connect status', 'ur config set provider openai-api', 'ur config set provider ollama'],
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
title: 'Security and operations',
|
|
@@ -265,11 +265,60 @@ const commands = [
|
|
|
265
265
|
examples: ['ur goal add release-docs --objective "Ship professional docs" --workflow docs', 'ur goal note release-docs --note "Command reference drafted"', 'ur goal resume release-docs --dry-run', 'ur goal done release-docs'],
|
|
266
266
|
},
|
|
267
267
|
{
|
|
268
|
-
name: '
|
|
268
|
+
name: 'update',
|
|
269
269
|
category: 'Ops',
|
|
270
|
+
aliases: ['upgrade'],
|
|
271
|
+
summary: 'Check npm for UR-AGENT updates.',
|
|
272
|
+
examples: ['ur update', 'ur upgrade'],
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: 'connect',
|
|
276
|
+
category: 'Providers',
|
|
277
|
+
aliases: [],
|
|
278
|
+
summary: 'Connect a provider account: subscription login through the official CLI, or store an API key in the OS keychain.',
|
|
279
|
+
examples: ['ur connect status', 'ur connect codex-cli', 'ur connect openai-api --key <KEY>', 'ur connect logout openai-api'],
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: 'ide',
|
|
283
|
+
category: 'Interop',
|
|
270
284
|
aliases: [],
|
|
271
|
-
summary: '
|
|
272
|
-
examples: ['ur
|
|
285
|
+
summary: 'Manage IDE integrations: status, doctor, per-editor config, and inline diff bundles under .ur/ide/diffs.',
|
|
286
|
+
examples: ['ur ide status', 'ur ide doctor', 'ur ide config zed', 'ur ide diff capture --title "Parser fix"', 'ur ide diff list'],
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
name: 'skill',
|
|
290
|
+
category: 'Automation',
|
|
291
|
+
aliases: ['skills'],
|
|
292
|
+
summary: 'Executable skill workflows: list, show, run, and scaffold project skills.',
|
|
293
|
+
examples: ['ur skill list', 'ur skill init security-review', 'ur skill run security-review "src/auth.ts"'],
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: 'task',
|
|
297
|
+
category: 'Agents',
|
|
298
|
+
aliases: ['taskctl'],
|
|
299
|
+
summary: 'Start, run, and hand off worktree-per-task sessions with optional PR creation.',
|
|
300
|
+
examples: ['ur task list', 'ur task start parser-fix --worktree', 'ur task pr parser-fix --create --dry-run'],
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: 'sandbox',
|
|
304
|
+
category: 'Safety',
|
|
305
|
+
aliases: ['sandboxctl'],
|
|
306
|
+
summary: 'Inspect and manage the sandbox/permission architecture: status, dependency check, policy init, and command approval levels.',
|
|
307
|
+
examples: ['ur sandbox status', 'ur sandbox check', 'ur sandbox init'],
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: 'memory',
|
|
311
|
+
category: 'Knowledge',
|
|
312
|
+
aliases: [],
|
|
313
|
+
summary: 'Manage UR memory, including local retention policies by TTL, max entries, and decay.',
|
|
314
|
+
examples: ['ur memory retention show', 'ur memory retention set --ttl-days 30 --max-entries 500', 'ur memory retention prune'],
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: 'local-first',
|
|
318
|
+
category: 'Ops',
|
|
319
|
+
aliases: ['local', 'offline-readiness'],
|
|
320
|
+
summary: 'Show UR readiness for no-cloud, private, lab, offline, and edge/server environments.',
|
|
321
|
+
examples: ['ur local-first', 'ur local-first --json'],
|
|
273
322
|
},
|
|
274
323
|
{
|
|
275
324
|
name: 'knowledge',
|
|
@@ -369,13 +418,6 @@ const commands = [
|
|
|
369
418
|
summary: 'Scaffold requirements, design, and task documents under `.ur/specs`, track approvals, and run the task list one item at a time.',
|
|
370
419
|
examples: ['ur spec init demo --goal "1. add a utils.add function 2. add a test"', 'ur spec status demo', 'ur spec approve demo requirements', 'ur spec run demo --all --dry-run', 'ur spec generate demo tasks --dry-run'],
|
|
371
420
|
},
|
|
372
|
-
{
|
|
373
|
-
name: 'setup-token',
|
|
374
|
-
category: 'Ops',
|
|
375
|
-
aliases: [],
|
|
376
|
-
summary: 'Set up a long-lived authentication token when that subscription surface is enabled.',
|
|
377
|
-
examples: ['ur setup-token'],
|
|
378
|
-
},
|
|
379
421
|
{
|
|
380
422
|
name: 'exec',
|
|
381
423
|
category: 'Automation',
|
package/documentation/index.html
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<main id="content" class="content">
|
|
45
45
|
<header class="topbar">
|
|
46
46
|
<div>
|
|
47
|
-
<p class="eyebrow">Version 1.
|
|
47
|
+
<p class="eyebrow">Version 1.35.0</p>
|
|
48
48
|
<h1>UR-AGENT Documentation</h1>
|
|
49
49
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-AGENT.</p>
|
|
50
50
|
</div>
|
|
@@ -140,13 +140,13 @@ ur -p --output-format json "Review the current diff"</code></pre>
|
|
|
140
140
|
</div>
|
|
141
141
|
<div class="reference-grid">
|
|
142
142
|
<article>
|
|
143
|
-
<h3>
|
|
143
|
+
<h3>Subscription CLI providers</h3>
|
|
144
144
|
<pre><code>ur auth chatgpt
|
|
145
145
|
ur auth claude
|
|
146
146
|
ur auth gemini
|
|
147
147
|
ur auth antigravity
|
|
148
148
|
ur provider doctor agy</code></pre>
|
|
149
|
-
<p>
|
|
149
|
+
<p>Codex CLI, Claude Code, Gemini CLI, and Antigravity are first-class providers that dispatch each turn through the vendor's official CLI using your subscription login. They are optional, never required, and never used as a silent fallback. The generic subscription entry is an internal placeholder hidden from listings and exposes no fake models.</p>
|
|
150
150
|
</article>
|
|
151
151
|
<article>
|
|
152
152
|
<h3>API and local providers</h3>
|
|
@@ -155,11 +155,11 @@ ur config set provider openai-api
|
|
|
155
155
|
ur config set base_url http://localhost:11434/v1
|
|
156
156
|
ur config set model qwen3-coder:480b-cloud
|
|
157
157
|
ur config set provider.fallback ollama</code></pre>
|
|
158
|
-
<p>API providers require explicit selection and read keys
|
|
158
|
+
<p>API providers require explicit selection and read keys from a key stored via <code>ur connect</code> (OS keychain) or from environment variables. Local providers include Ollama, LM Studio, llama.cpp server mode, and vLLM OpenAI-compatible server mode. Subscription CLI providers (Codex CLI, Claude Code, Gemini CLI, Antigravity) dispatch through the official vendor CLIs.</p>
|
|
159
159
|
</article>
|
|
160
160
|
<article>
|
|
161
161
|
<h3>Status bar and updates</h3>
|
|
162
|
-
<pre><code>Ollama | llama3 | ask | main | update 1.
|
|
162
|
+
<pre><code>Ollama | llama3 | ask | main | update 1.35.1 available</code></pre>
|
|
163
163
|
<p>The interactive status bar shows only important runtime state: provider, model, mode, branch, active tasks, checks status when known, and update availability. It is hidden in CI, dumb terminals, and non-interactive mode.</p>
|
|
164
164
|
</article>
|
|
165
165
|
</div>
|