ur-agent 1.15.0 → 1.16.1
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 +30 -0
- package/README.md +3 -1
- package/dist/cli.js +1211 -860
- package/docs/AGENT_FEATURES.md +8 -0
- package/docs/AGENT_UPGRADE_1.16.0.md +102 -0
- package/docs/CODE_FEATURE_INVENTORY.md +1 -1
- package/docs/CONFIGURATION.md +51 -4
- package/docs/USAGE.md +19 -1
- package/docs/VALIDATION.md +21 -2
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -32,8 +32,16 @@ ur claim-ledger add --claim "..." --source web:https://example.com
|
|
|
32
32
|
ur claim-ledger validate
|
|
33
33
|
ur browser-qa validate
|
|
34
34
|
ur browser-qa run home-page-smoke --dry-run
|
|
35
|
+
ur --discover-ollama
|
|
36
|
+
ur --ollama-host http://192.168.1.50:11434
|
|
35
37
|
```
|
|
36
38
|
|
|
39
|
+
## v1.16.0 Additions
|
|
40
|
+
|
|
41
|
+
| Addition | Surface | What it adds |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| Network Ollama discovery | `ur --discover-ollama`, `ur --ollama-host <url>`, `settings.ollama` | Scans active local subnets for Ollama servers on port 11434, verifies via `/api/tags`, and shows a host picker for the current session. |
|
|
44
|
+
|
|
37
45
|
## v1.15.0 Additions
|
|
38
46
|
|
|
39
47
|
Seven additions from the 2026 agent-platform gap list. They keep UR local-first
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# UR Agent 1.16.0 Upgrade Notes
|
|
2
|
+
|
|
3
|
+
UR 1.16.0 adds local-network Ollama discovery. The agent can now find Ollama
|
|
4
|
+
servers on your LAN, let you pick one at startup, and remember the choice for
|
|
5
|
+
future sessions. The endpoint is no longer hardcoded to `localhost:11434`; it
|
|
6
|
+
can be set via settings, environment, or a CLI flag.
|
|
7
|
+
|
|
8
|
+
## Network Ollama Discovery
|
|
9
|
+
|
|
10
|
+
### One-time discovery at startup
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
ur --discover-ollama
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
UR scans the active local subnets (wired Ethernet and Wi-Fi/WLAN) for hosts
|
|
17
|
+
listening on port `11434`, verifies each one by fetching `/api/tags`, then shows
|
|
18
|
+
a picker with:
|
|
19
|
+
|
|
20
|
+
- `This computer` — your local `ollama serve` at `http://localhost:11434`
|
|
21
|
+
- every discovered LAN host and the number of models it advertises
|
|
22
|
+
|
|
23
|
+
Select a host and UR uses it for that session only. The choice is **not**
|
|
24
|
+
persisted, so plain `ur` continues to use `localhost:11434`.
|
|
25
|
+
|
|
26
|
+
### Enable discovery on every startup
|
|
27
|
+
|
|
28
|
+
Add to `~/.ur/settings.json`:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"ollama": {
|
|
33
|
+
"lanDiscovery": true
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The picker appears on every startup. The choice is still session-only and is
|
|
39
|
+
not written to settings.
|
|
40
|
+
|
|
41
|
+
### Point to a specific host without scanning
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
ur --ollama-host http://192.168.1.50:11434
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This is session-only and does not write settings. It takes precedence over
|
|
48
|
+
settings and `OLLAMA_HOST`.
|
|
49
|
+
|
|
50
|
+
### Persistent host via settings
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"ollama": {
|
|
55
|
+
"host": "http://192.168.1.50:11434"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
When `ollama.host` is set, UR uses it automatically. Precedence is:
|
|
61
|
+
|
|
62
|
+
1. `--ollama-host <url>` CLI flag
|
|
63
|
+
2. `OLLAMA_HOST` environment variable
|
|
64
|
+
3. `ollama.host` in user settings
|
|
65
|
+
4. fallback `http://localhost:11434`
|
|
66
|
+
|
|
67
|
+
## What Uses the Chosen Host
|
|
68
|
+
|
|
69
|
+
The resolved host is used everywhere UR talks to Ollama:
|
|
70
|
+
|
|
71
|
+
- interactive chat requests (`/api/chat`)
|
|
72
|
+
- installed-model listing (`/api/tags`)
|
|
73
|
+
- model metadata refresh (`/api/show`)
|
|
74
|
+
- local embeddings (`/api/embed`)
|
|
75
|
+
- `ur model-doctor`
|
|
76
|
+
- `ur doctor` / `ur sysinfo`
|
|
77
|
+
- startup preflight connectivity check
|
|
78
|
+
|
|
79
|
+
## Security Notes
|
|
80
|
+
|
|
81
|
+
LAN scanning is opt-in only. It never runs automatically unless you pass
|
|
82
|
+
`--discover-ollama` or set `ollama.lanDiscovery: true`. The scan is limited to
|
|
83
|
+
active local IPv4 interfaces and ignores loopback and link-local addresses. It
|
|
84
|
+
uses bounded concurrency and short timeouts so it finishes in a few seconds on a
|
|
85
|
+
/24 subnet.
|
|
86
|
+
|
|
87
|
+
## Release Verification
|
|
88
|
+
|
|
89
|
+
Run these before publishing:
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
bun test test/ollamaDiscovery.test.ts test/ollamaModels.test.ts test/ollamaTimeout.test.ts
|
|
93
|
+
bun run typecheck
|
|
94
|
+
npm pack --dry-run
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Optional local smoke checks:
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
bun src/entrypoints/cli.tsx --discover-ollama --help
|
|
101
|
+
bun src/entrypoints/cli.tsx --ollama-host http://localhost:11434 -p "hello"
|
|
102
|
+
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UR Agent code feature inventory
|
|
2
2
|
|
|
3
3
|
This file is a code-derived inventory of what this agent can do in the
|
|
4
|
-
`ur-agent` 1.
|
|
4
|
+
`ur-agent` 1.16.0 source tree. It is meant to cover behavior that is easy to
|
|
5
5
|
miss in user-facing documentation.
|
|
6
6
|
|
|
7
7
|
Sources traced include:
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -4,22 +4,69 @@ UR reads configuration from CLI flags, environment variables, and project or use
|
|
|
4
4
|
|
|
5
5
|
## Model Provider
|
|
6
6
|
|
|
7
|
-
UR runs models strictly through the local Ollama app. The request endpoint is
|
|
7
|
+
UR runs models strictly through the local Ollama app. The default request endpoint is:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
10
|
http://localhost:11434/api
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Any model exposed by that
|
|
13
|
+
Any model exposed by that Ollama app can be used, including local models and Ollama Cloud-backed models. UR does not call remote provider APIs directly and does not manage model API keys.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
### Reconfiguring the Ollama host
|
|
16
|
+
|
|
17
|
+
The endpoint can be changed from UR in three ways, in order of precedence:
|
|
18
|
+
|
|
19
|
+
1. `--ollama-host <url>` CLI flag (session only)
|
|
20
|
+
2. `OLLAMA_HOST` environment variable
|
|
21
|
+
3. `ollama.host` in user settings (`~/.ur/settings.json`)
|
|
22
|
+
|
|
23
|
+
Examples:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
# Session-only
|
|
27
|
+
ur --ollama-host http://192.168.1.50:11434
|
|
28
|
+
|
|
29
|
+
# Via environment
|
|
30
|
+
OLLAMA_HOST=http://192.168.1.50:11434 ur
|
|
31
|
+
|
|
32
|
+
# Persistent setting
|
|
33
|
+
ur --settings '{"ollama":{"host":"http://192.168.1.50:11434"}}'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Model selection environment variables still work the same way:
|
|
16
37
|
|
|
17
38
|
```sh
|
|
18
39
|
OLLAMA_MODEL=qwen3-coder:480b-cloud
|
|
19
40
|
UR_MODEL=qwen3-coder:480b-cloud
|
|
20
41
|
```
|
|
21
42
|
|
|
22
|
-
`OLLAMA_MODEL` selects the model name and takes precedence over `UR_MODEL`. If neither is set, UR lets its Ollama router choose from the model list advertised by the
|
|
43
|
+
`OLLAMA_MODEL` selects the model name and takes precedence over `UR_MODEL`. If neither is set, UR lets its Ollama router choose from the model list advertised by the configured Ollama app. If that discovery fails, the built-in fallback is `qwen3-coder:480b-cloud`.
|
|
44
|
+
|
|
45
|
+
### Discovering LAN Ollama servers
|
|
46
|
+
|
|
47
|
+
UR can scan your active local subnets for other Ollama servers and show a picker. This works for both wired Ethernet and wireless (Wi-Fi/WLAN) interfaces:
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
ur --discover-ollama
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This is **session-only**: the picker appears and the chosen host is used for
|
|
54
|
+
that session, but plain `ur` continues to use `localhost:11434` unless you set
|
|
55
|
+
`ollama.host` explicitly.
|
|
56
|
+
|
|
57
|
+
To make the picker appear on every startup, enable it in user settings:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"ollama": {
|
|
62
|
+
"lanDiscovery": true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The scan is limited to active local IPv4 interfaces, ignores loopback/link-local
|
|
68
|
+
addresses, and uses bounded concurrency with short timeouts. It is opt-in and
|
|
69
|
+
never runs automatically unless enabled.
|
|
23
70
|
|
|
24
71
|
## CLI Flags
|
|
25
72
|
|
package/docs/USAGE.md
CHANGED
|
@@ -64,7 +64,25 @@ ur --model qwen3-coder:480b-cloud
|
|
|
64
64
|
ur --model qwen2.5-coder:latest
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
UR talks
|
|
67
|
+
UR talks to the local Ollama app at `http://localhost:11434/api` by default, but you can point it at another Ollama server on your LAN or in another location:
|
|
68
|
+
|
|
69
|
+
```sh
|
|
70
|
+
# Discover and pick a LAN Ollama server at startup (session only)
|
|
71
|
+
ur --discover-ollama
|
|
72
|
+
|
|
73
|
+
# Point to a specific Ollama server for this session
|
|
74
|
+
ur --ollama-host http://192.168.1.50:11434
|
|
75
|
+
|
|
76
|
+
# Persistent setting (plain `ur` uses this host automatically)
|
|
77
|
+
ur --settings '{"ollama":{"host":"http://192.168.1.50:11434"}}'
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Precedence: `--ollama-host` > `OLLAMA_HOST` env > `ollama.host` setting > `localhost:11434`.
|
|
81
|
+
|
|
82
|
+
`--discover-ollama` shows the picker every time but does **not** save the choice;
|
|
83
|
+
use `ollama.host` in settings if you want plain `ur` to default to a LAN host.
|
|
84
|
+
|
|
85
|
+
Models exposed by the chosen Ollama app are valid, including local models and Ollama Cloud-backed models. UR does not call provider APIs directly or manage model API keys.
|
|
68
86
|
|
|
69
87
|
## Project Instructions
|
|
70
88
|
|
package/docs/VALIDATION.md
CHANGED
|
@@ -8,7 +8,8 @@ You need:
|
|
|
8
8
|
|
|
9
9
|
- A running Ollama server (`ollama serve`) with at least one model available
|
|
10
10
|
in the local Ollama app. Local models and Ollama Cloud-backed models both
|
|
11
|
-
work because UR talks to the
|
|
11
|
+
work because UR talks to the configured Ollama host.
|
|
12
|
+
- A second Ollama server on the LAN if you want to test network discovery.
|
|
12
13
|
- UR installed globally (`npm install -g ur-agent`) or this repo installed
|
|
13
14
|
globally (`bun add -g github:Maitham16/UR-mapek`) or a
|
|
14
15
|
local checkout (`bun run dev`).
|
|
@@ -17,7 +18,25 @@ You need:
|
|
|
17
18
|
|
|
18
19
|
```sh
|
|
19
20
|
ur --version
|
|
20
|
-
# expected: 1.
|
|
21
|
+
# expected: 1.16.0 (Ur)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 0.1 Network Ollama discovery (1.16.0)
|
|
25
|
+
|
|
26
|
+
With at least one other Ollama server reachable on your LAN:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
ur --discover-ollama
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Expected: a picker appears listing `This computer` plus the LAN host(s). Select
|
|
33
|
+
the LAN host, then run a prompt and confirm traffic goes to the selected host.
|
|
34
|
+
|
|
35
|
+
Without a LAN host, you can still verify host configuration:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
ur --ollama-host http://localhost:11434 -p "say hi"
|
|
39
|
+
ur --settings '{"ollama":{"host":"http://localhost:11434"}}' -p "say hi"
|
|
21
40
|
```
|
|
22
41
|
|
|
23
42
|
## 1. Marketplace tree resolves
|