omnius 1.0.608 → 1.0.610
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/.aiwg/addons/omnius-docs/README.md +3 -1
- package/.aiwg/addons/omnius-docs/manifest.json +4 -2
- package/.aiwg/addons/omnius-docs/skills/omnius-agent-onboarding/SKILL.md +70 -0
- package/.aiwg/addons/omnius-docs/skills/omnius-docs/SKILL.md +8 -4
- package/.aiwg/addons/omnius-rest-docs/README.md +2 -1
- package/.aiwg/addons/omnius-rest-docs/skills/omnius-rest-docs/SKILL.md +5 -3
- package/README.md +352 -108
- package/dist/discovery.d.ts +55 -2
- package/dist/index.js +8345 -6382
- package/dist/library.d.ts +2 -2
- package/dist/library.js +67 -7
- package/dist/scripts/vibevoice-asr-worker.py +195 -0
- package/dist/update-worker.js +211 -5
- package/docs/.vitepress/config.mts +3 -0
- package/docs/DISCOVERY.json +27446 -6695
- package/docs/DISCOVERY.md +437 -330
- package/docs/architecture/agent-system-map.md +176 -0
- package/docs/architecture/overview.md +5 -0
- package/docs/discovery/agent-map.json +119 -0
- package/docs/getting-started/install.md +1 -1
- package/docs/guides/agent-integration.md +69 -7
- package/docs/guides/dashboard.md +170 -0
- package/docs/guides/system-tray.md +28 -0
- package/docs/index.md +4 -1
- package/docs/reference/configuration.md +10 -0
- package/docs/reference/rest-api.md +161 -8
- package/docs/reference/slash-commands.md +31 -3
- package/docs/rest/INDEX.md +11 -10
- package/docs/rest/QUICKREF.md +39 -0
- package/docs/rest/endpoints/chat.md +24 -1
- package/docs/rest/endpoints/config.md +8 -1
- package/docs/rest/endpoints/discovery.md +21 -3
- package/docs/rest/endpoints/files.md +7 -2
- package/docs/rest/endpoints/memory.md +4 -0
- package/docs/rest/endpoints/run.md +17 -4
- package/docs/rest/endpoints/voice-vision.md +22 -5
- package/npm-shrinkwrap.json +2 -2
- package/package.json +6 -3
- package/templates/OMNIUS.md +29 -5
- package/voices/personaplex/quantize-weights.py +0 -167
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Web Dashboard
|
|
2
|
+
|
|
3
|
+
The Omnius daemon serves a zero-build, self-contained dashboard from the same
|
|
4
|
+
origin as the REST API. Start it with `omnius serve`, then open
|
|
5
|
+
`http://127.0.0.1:11435/`. The interface uses Omnius's compact NOCLIP-derived
|
|
6
|
+
style kit and shared responsive observability-card grids; the route registry in
|
|
7
|
+
`packages/cli/src/api/web-ui.ts` is the source of truth for pages and aliases.
|
|
8
|
+
|
|
9
|
+
## Routes
|
|
10
|
+
|
|
11
|
+
| Route | Alias | Operational surface |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| `/chat` | `/` | Stateful conversations, full history, active plan/context, attachments, files, and steering check-ins |
|
|
14
|
+
| `/agent` | - | One-shot agent task contract, persona/profile, isolation controls, run history, and event stream |
|
|
15
|
+
| `/voice` | - | Voicechat, exact TTS model selection, model options, ASR setup/activation/test, transcript, and TTS test |
|
|
16
|
+
| `/generate` | - | Image/video/audio/music generation, AV analysis, store relocation, model inventory, and global gallery |
|
|
17
|
+
| `/projects` | - | Workspace discovery, registration, activation, rename, removal, and current-context inspection |
|
|
18
|
+
| `/dashboard` | `/jobs` | System/GPU/resource state, processes, scheduler, services, usage, and update state |
|
|
19
|
+
| `/activity` | - | Run, tool, engine, memory, and server-event observability |
|
|
20
|
+
| `/discover` | - | Capability-catalog start points, intent search, and exact discovery-entry expansion |
|
|
21
|
+
| `/settings` | `/config` | Models, endpoints, voice, runtime behavior, access, keys, appearance, and service configuration |
|
|
22
|
+
|
|
23
|
+
The browser router and daemon HTML allow-list consume the same route registry,
|
|
24
|
+
so a page cannot be added in only one layer without a route test failing.
|
|
25
|
+
|
|
26
|
+
## Workspace Scope
|
|
27
|
+
|
|
28
|
+
The active workspace is global daemon state and scopes project preferences,
|
|
29
|
+
browser chat organization, TUI session discovery, files, model/theme choices,
|
|
30
|
+
and agent forms. The clickable brand at the top of the sidebar opens a searchable
|
|
31
|
+
workspace dialog sourced from `GET /v1/projects`. Selecting an entry calls
|
|
32
|
+
`POST /v1/projects/switch`; **Manage workspaces** opens `/projects`.
|
|
33
|
+
|
|
34
|
+
Every normal TUI start registers its working directory. The Projects page can
|
|
35
|
+
also call `GET /v1/projects/scan`, explicitly register a root, rename it, make it
|
|
36
|
+
current, or unregister it. Per-project preferences are server-managed through
|
|
37
|
+
`/v1/projects/preferences`; the client cannot overwrite the preference schema
|
|
38
|
+
version or `updatedAt` fields.
|
|
39
|
+
|
|
40
|
+
## Chats, TUI Sessions, And Agent Runs
|
|
41
|
+
|
|
42
|
+
Chats and agent runs are intentionally different records:
|
|
43
|
+
|
|
44
|
+
- A chat is a multi-turn conversation backed by the canonical daemon chat
|
|
45
|
+
store. It may have an active agent subprocess and a reactive partial reply.
|
|
46
|
+
- A TUI session is quality-filtered visual history imported from the selected
|
|
47
|
+
workspace. Its public id has a `tui:` prefix.
|
|
48
|
+
- An agent run is a one-shot execution record and form snapshot shown on the
|
|
49
|
+
Agent page; it is not inserted into the chat list.
|
|
50
|
+
|
|
51
|
+
The chat index calls `GET /v1/chat/sessions?root=<workspace>`. By default the
|
|
52
|
+
response combines persisted browser chats with importable TUI sessions. The
|
|
53
|
+
session-quality layer suppresses exit-only commands such as `/quit` and `/exit`,
|
|
54
|
+
manual-save placeholders, empty/noise-only transcripts, and duplicate normalized
|
|
55
|
+
TUI histories. Pass `include_tui=0` when an integration needs browser chats only.
|
|
56
|
+
|
|
57
|
+
Opening a chat calls `GET /v1/chat/sessions/{id}` and hydrates the complete
|
|
58
|
+
public message history, source transcript, token/timestamp metadata, and any
|
|
59
|
+
in-flight run. While a run is active, the page polls
|
|
60
|
+
`GET /v1/chat/sessions/{id}/status?since=<seq>` to restore unseen deltas rather
|
|
61
|
+
than rerunning the task. Summaries/titles and ghost-text follow-ups use the
|
|
62
|
+
dedicated summarize and suggest endpoints.
|
|
63
|
+
|
|
64
|
+
Search, pins, folders, folder open-state, and inline display renames are
|
|
65
|
+
workspace-scoped browser organization stored in local storage. They do not
|
|
66
|
+
rewrite the underlying daemon transcript. The current dashboard **del** and row
|
|
67
|
+
delete controls remove the browser-side organization entry only; a canonical
|
|
68
|
+
delete must use the admin-scoped `DELETE /v1/chat/sessions/{id}` endpoint. This
|
|
69
|
+
distinction prevents documentation from implying that hiding a row destroyed
|
|
70
|
+
server history.
|
|
71
|
+
|
|
72
|
+
During an active chat, typing can become a steering check-in. The raw user input
|
|
73
|
+
and its interpreted steering packet are persisted, rendered in the conversation,
|
|
74
|
+
and delivered to the runner at a turn boundary through `/v1/chat/check-in`.
|
|
75
|
+
|
|
76
|
+
## Agent Command Center
|
|
77
|
+
|
|
78
|
+
The Agent page keeps task definition and runtime observability together. It
|
|
79
|
+
contains the task contract, working directory/workspace synchronization,
|
|
80
|
+
persona/profile, model and endpoint selection, tool and sandbox controls,
|
|
81
|
+
isolation settings, run submission, captured output, and event history. Submit
|
|
82
|
+
with `POST /v1/run`, query `/v1/runs` or `/v1/runs/{id}`, read captured output at
|
|
83
|
+
`/v1/runs/{id}/output`, and abort with `DELETE /v1/runs/{id}`.
|
|
84
|
+
|
|
85
|
+
## Voice And ASR
|
|
86
|
+
|
|
87
|
+
The Voice page exposes the same control plane as the CLI and REST API:
|
|
88
|
+
|
|
89
|
+
1. Read `/v1/voice/state` and `/v1/voice/models`.
|
|
90
|
+
2. Switch an exact TTS model with `/v1/voice/models/switch`; starting or TTS
|
|
91
|
+
synthesis warms the selected engine instead of silently falling back.
|
|
92
|
+
3. Read `/v1/asr/engines`, choose an engine/model, run managed setup when its
|
|
93
|
+
runtime or weights are absent, activate it, then upload a real audio sample to
|
|
94
|
+
`/v1/asr/test` with optional names/hotwords/context.
|
|
95
|
+
4. Start `/v1/voicechat/ws` for full-duplex browser mic → ASR → agent text → TTS
|
|
96
|
+
audio. Transcript, partial/final state, agent text, synthesis boundaries, and
|
|
97
|
+
errors remain visible in the page.
|
|
98
|
+
|
|
99
|
+
TTS choices include GLaDOS, Overwatch, the packaged
|
|
100
|
+
`luxtts:announcer-testchamber03` reference, and enabled Voicebox models. ASR is
|
|
101
|
+
selected independently and includes Whisper, managed `transcribe-cli`, the
|
|
102
|
+
currently gated Nemotron adapter, and pinned Microsoft VibeVoice ASR. VibeVoice
|
|
103
|
+
is a completed-file backend (up to 60 minutes, with speakers/timestamps/context),
|
|
104
|
+
not an incremental PCM backend. On CUDA Jetson/ARM64, managed setup inherits the
|
|
105
|
+
host CUDA Torch build and hardware readiness uses `tegrastats` plus Torch CUDA
|
|
106
|
+
device properties; it never replaces the host build with generic PyPI Torch.
|
|
107
|
+
|
|
108
|
+
## Generate And Media Store
|
|
109
|
+
|
|
110
|
+
Generate lists available model adapters, accepts image/video/audio/music jobs,
|
|
111
|
+
shows model and progress state, and reads the project-independent global gallery
|
|
112
|
+
under `~/.omnius/media`. It also exposes:
|
|
113
|
+
|
|
114
|
+
- AV analysis through `POST /v1/media/av/analyze`;
|
|
115
|
+
- store inspection/migration through `/v1/media/store` and `/v1/media/migrate`;
|
|
116
|
+
- store relocation with a dry-run or background job through
|
|
117
|
+
`/v1/media/relocate`, with progress from `/v1/media/relocate/status`;
|
|
118
|
+
- raw media streaming through `/v1/media/file`.
|
|
119
|
+
|
|
120
|
+
Heavy runtimes and weights remain in the unified Omnius model store; they are
|
|
121
|
+
not copied into each workspace or shipped in the npm package.
|
|
122
|
+
|
|
123
|
+
## Dashboard, Activity, Discovery, And Settings
|
|
124
|
+
|
|
125
|
+
The Dashboard page combines resource metrics, GPU/VRAM placement, Ollama pool
|
|
126
|
+
state, process/run cards, scheduled work, user services, token usage, and update
|
|
127
|
+
progress. Activity consumes the SSE event stream and presents run/tool/memory/
|
|
128
|
+
engine state. Discover begins from `/v1/discovery/bootstrap`, searches the
|
|
129
|
+
machine catalog, and expands exact entries without requiring source inspection.
|
|
130
|
+
Settings groups model/endpoint, voice, runtime, access/key, appearance, and
|
|
131
|
+
service controls while preserving project scope.
|
|
132
|
+
|
|
133
|
+
## Verified Updates
|
|
134
|
+
|
|
135
|
+
The dashboard polls `/v1/system` every 10 seconds. When its semver-safe registry
|
|
136
|
+
check reports `latest_version`, the normally hidden update controls become exact
|
|
137
|
+
version buttons. Clicking one:
|
|
138
|
+
|
|
139
|
+
1. preflights the live daemon version;
|
|
140
|
+
2. sends `POST /v1/update` with that exact semver;
|
|
141
|
+
3. polls `GET /v1/update` every two seconds for the durable operation id, phase,
|
|
142
|
+
live subprocess output, failure remediation, and verification evidence;
|
|
143
|
+
4. requires the installed package, resolved executable, restarted daemon,
|
|
144
|
+
installed package hash, daemon boot hash, and target version to agree;
|
|
145
|
+
5. reconnects event/model/health views only after verification succeeds.
|
|
146
|
+
|
|
147
|
+
If the tray was running, the coordinator relaunches and verifies it. A failed or
|
|
148
|
+
timed-out update stays visibly failed and includes the update log path; it is not
|
|
149
|
+
reported as complete merely because an npm child exited.
|
|
150
|
+
|
|
151
|
+
## Authentication And Remote Access
|
|
152
|
+
|
|
153
|
+
Loopback is the default and the safest dashboard deployment. If REST bearer keys
|
|
154
|
+
are configured, the browser stores the selected key locally and sends it through
|
|
155
|
+
the same scope policy as external clients (`read` < `run` < `admin`). Remote
|
|
156
|
+
access should use a tunnel or an authenticated share URL; changing
|
|
157
|
+
`/v1/admin/access` is loopback-only even when the current policy is `any`.
|
|
158
|
+
|
|
159
|
+
Useful diagnostics:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
curl -s http://127.0.0.1:11435/health
|
|
163
|
+
curl -s http://127.0.0.1:11435/version
|
|
164
|
+
curl -s http://127.0.0.1:11435/v1/routes
|
|
165
|
+
curl -s http://127.0.0.1:11435/v1/projects
|
|
166
|
+
curl -s http://127.0.0.1:11435/v1/update
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
For the complete supported API use the [REST reference](../reference/rest-api.md),
|
|
170
|
+
and for bearer-key behavior use the [authentication map](../reference/auth-map.md).
|
|
@@ -46,6 +46,34 @@ version, dashboard and log shortcuts, service-manager-aware daemon controls,
|
|
|
46
46
|
login-startup control, and **Quit indicator**. Daemon stop is a separate,
|
|
47
47
|
explicit menu action.
|
|
48
48
|
|
|
49
|
+
## Health And Updates
|
|
50
|
+
|
|
51
|
+
The indicator refreshes daemon health and update availability at startup and
|
|
52
|
+
every 10 seconds. Update discovery uses the same cached registry lookup and
|
|
53
|
+
semver comparator as the CLI and dashboard, so an older registry/cache value is
|
|
54
|
+
never presented as an upgrade.
|
|
55
|
+
|
|
56
|
+
The first menu row always shows the live daemon version and health. It is greyed
|
|
57
|
+
and non-clickable while that version is current. When a newer exact version is
|
|
58
|
+
available, the same row changes to **update to vX.Y.Z available** and becomes the
|
|
59
|
+
primary update button. While an update runs it displays the durable transaction
|
|
60
|
+
phase; if verification fails it stays clickable as a retry and its tooltip shows
|
|
61
|
+
the remediation/error instead of silently returning to the current state.
|
|
62
|
+
|
|
63
|
+
Clicking the row starts the same verified global update transaction as
|
|
64
|
+
`POST /v1/update` and `/update quick`. The coordinator:
|
|
65
|
+
|
|
66
|
+
1. installs the exact target through the real global npm flow;
|
|
67
|
+
2. verifies the installed package and resolved `omnius` executable;
|
|
68
|
+
3. restarts the daemon and verifies the target runtime and boot/package hashes;
|
|
69
|
+
4. relaunches and verifies the indicator because it was running when the update
|
|
70
|
+
started.
|
|
71
|
+
|
|
72
|
+
State persists in `~/.omnius/update-state.json` and detailed output in
|
|
73
|
+
`~/.omnius/update.log`, so a daemon or tray restart does not turn an incomplete
|
|
74
|
+
install into a false success. The dashboard can inspect the same operation with
|
|
75
|
+
`GET /v1/update`.
|
|
76
|
+
|
|
49
77
|
## Linux / Ubuntu
|
|
50
78
|
|
|
51
79
|
GNOME needs a StatusNotifier/AppIndicator host. Ubuntu Desktop normally ships
|
package/docs/index.md
CHANGED
|
@@ -7,10 +7,12 @@ Omnius is an autonomous local-first agent runtime with a TUI, REST daemon, P2P s
|
|
|
7
7
|
- [Discovery Cascade](./DISCOVERY.md)
|
|
8
8
|
- [Machine Discovery Catalog](./DISCOVERY.json)
|
|
9
9
|
- [Agent And Service Integration](./guides/agent-integration.md)
|
|
10
|
+
- [Agent System Map](./architecture/agent-system-map.md)
|
|
10
11
|
|
|
11
12
|
Agents should begin with `omnius discover "<need>"`, expand a result with
|
|
12
13
|
`omnius show <id>`, and read only the referenced artifact needed for the
|
|
13
|
-
current task.
|
|
14
|
+
current task. Small-context agents should expand one workflow; coding agents
|
|
15
|
+
should additionally expand the owning layer and module.
|
|
14
16
|
|
|
15
17
|
## Start Here
|
|
16
18
|
|
|
@@ -23,6 +25,7 @@ current task.
|
|
|
23
25
|
## Workflows
|
|
24
26
|
|
|
25
27
|
- [TUI Workflows](./guides/tui-workflows.md)
|
|
28
|
+
- [Web Dashboard](./guides/dashboard.md)
|
|
26
29
|
- [Sponsor And COHERE](./guides/sponsor-and-cohere.md)
|
|
27
30
|
- [Realtime Conversation](./guides/realtime.md)
|
|
28
31
|
- [Telegram](./guides/telegram.md)
|
|
@@ -18,6 +18,10 @@ Configuration is layered from environment, global user settings, project setting
|
|
|
18
18
|
| `OMNIUS_DAEMON` | Start in daemon mode when set to `1` |
|
|
19
19
|
| `OMNIUS_FORCE_NO_THINK` | Force `think: false` for Qwen-style backends |
|
|
20
20
|
| `OMNIUS_THINK_AUTO` | Enable opt-in automatic thinking mode trigger |
|
|
21
|
+
| `OMNIUS_ASR_CUDA_VISIBLE_DEVICES` | Exact CUDA GPU index or UUID used for managed ASR activation; multi-device masks are rejected (Jetson's integrated GPU is `0`) |
|
|
22
|
+
| `OMNIUS_VIBEVOICE_PYTHON` | Host Python used to create the VibeVoice venv; its CUDA-enabled Torch is inherited with `--system-site-packages` |
|
|
23
|
+
| `OMNIUS_VIBEVOICE_ATTN` | VibeVoice attention implementation (`sdpa` by default; use a host-supported implementation) |
|
|
24
|
+
| `OMNIUS_VIBEVOICE_MAX_NEW_TOKENS` | Explicit VibeVoice structured-transcript generation ceiling (default `32768`) |
|
|
21
25
|
|
|
22
26
|
## Provider Key Precedence
|
|
23
27
|
|
|
@@ -61,6 +65,12 @@ Project runtime state:
|
|
|
61
65
|
|
|
62
66
|
User-global state may live under `~/.omnius/`, including runtime API keys and voice clone references.
|
|
63
67
|
|
|
68
|
+
The persisted `asrEngine` and `asrModel` settings select one exact entry from
|
|
69
|
+
the canonical ASR registry. Selection is not readiness: clients should inspect
|
|
70
|
+
`GET /v1/asr/status` before treating a backend as active. Managed VibeVoice
|
|
71
|
+
runtime state is stored below `~/.omnius/runtimes/asr/`; its Hugging Face
|
|
72
|
+
weights use the unified model cache rather than the project or npm package.
|
|
73
|
+
|
|
64
74
|
## Auth Key Format
|
|
65
75
|
|
|
66
76
|
```text
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# REST API Reference
|
|
2
2
|
|
|
3
|
-
This is the maintained human
|
|
3
|
+
This is the maintained human inventory for the supported Omnius daemon API. The
|
|
4
|
+
machine contract is generated by `packages/cli/src/api/openapi.ts` and served at
|
|
5
|
+
`/openapi.json`; every operation in that contract must appear here, and the
|
|
6
|
+
generated REST block in the root README must match this file byte-for-byte after
|
|
7
|
+
heading normalization. Browser HTML routes and implementation-only compatibility
|
|
8
|
+
bridges are documented separately and are not part of the stable REST contract.
|
|
4
9
|
|
|
5
10
|
Run the drift check before publishing docs:
|
|
6
11
|
|
|
@@ -21,6 +26,12 @@ pnpm docs:check
|
|
|
21
26
|
| `GET` | `/api-docs` | OpenAPI alias |
|
|
22
27
|
| `GET` | `/swagger-ui` | Swagger UI alias |
|
|
23
28
|
| `GET` | `/redoc` | ReDoc renderer |
|
|
29
|
+
| `GET` | `/` | HATEOAS API root when the client does not request HTML |
|
|
30
|
+
| `GET` | `/help` | Compact daemon integration help |
|
|
31
|
+
| `GET` | `/v1/routes` | Flat grep-friendly daemon route summary |
|
|
32
|
+
| `GET` | `/routes` | Route-summary compatibility alias |
|
|
33
|
+
| `GET` | `/asyncapi.json` | AsyncAPI 2.6 voicechat WebSocket contract |
|
|
34
|
+
| `GET` | `/asyncapi` | AsyncAPI compatibility alias |
|
|
24
35
|
|
|
25
36
|
## Health And Observability
|
|
26
37
|
|
|
@@ -41,7 +52,8 @@ pnpm docs:check
|
|
|
41
52
|
|
|
42
53
|
| Method | Path | Purpose |
|
|
43
54
|
| --- | --- | --- |
|
|
44
|
-
| `GET` | `/v1/discovery` |
|
|
55
|
+
| `GET` | `/v1/discovery/bootstrap` | Compact agent bootstrap and start-here map |
|
|
56
|
+
| `GET` | `/v1/discovery` | Search layers, workflows, runtimes, modules, stores, and capabilities |
|
|
45
57
|
| `GET` | `/v1/discovery/{id}` | Expand one stable capability entry |
|
|
46
58
|
|
|
47
59
|
## Inference And Chat
|
|
@@ -57,11 +69,42 @@ pnpm docs:check
|
|
|
57
69
|
| `POST` | `/v1/embeddings` | OpenAI-compatible embeddings |
|
|
58
70
|
| `POST` | `/api/embed` | Ollama-compatible embeddings alias |
|
|
59
71
|
| `GET` | `/api/tags` | Ollama-compatible model tags |
|
|
60
|
-
| `
|
|
72
|
+
| `POST` | `/realtime` | Text-only voice-adapter reply from a transcript |
|
|
73
|
+
| `POST` | `/v1/realtime` | Auth-scoped realtime adapter alias |
|
|
74
|
+
| `GET` | `/v1/chat/sessions` | Workspace-scoped persisted browser chats and importable TUI sessions |
|
|
75
|
+
| `GET` | `/v1/chat/sessions/{id}` | Hydrate full session history, transcript, and in-flight state |
|
|
76
|
+
| `DELETE` | `/v1/chat/sessions/{id}` | Permanently delete a canonical chat or TUI history session |
|
|
61
77
|
| `POST` | `/v1/chat/sessions/{id}/summarize` | Generate + cache an inference-based session title/summary |
|
|
62
78
|
| `POST` | `/v1/chat/suggest-followup` | Suggest one short next-message follow-up (ghost-text input) |
|
|
63
79
|
| `GET` | `/v1/chat/sessions/{id}/status` | Reactive recall: live run status + unseen deltas (`?since=<seq>`) |
|
|
64
80
|
| `POST` | `/v1/chat/check-in` | Steering check-in for active chat |
|
|
81
|
+
| `POST` | `/v1/chat/attachments` | Upload an attachment for a stateful chat |
|
|
82
|
+
|
|
83
|
+
### Session History Contract
|
|
84
|
+
|
|
85
|
+
`GET /v1/chat/sessions` is a history index, not merely a list of processes that
|
|
86
|
+
are currently active. It returns canonical persisted browser chats for the
|
|
87
|
+
selected workspace and, by default, quality-filtered TUI visual sessions that
|
|
88
|
+
can be imported on demand. Pass `?root=/absolute/workspace` to scope the list and
|
|
89
|
+
`?include_tui=0` to omit TUI history. Exit-only inputs such as `/quit` and
|
|
90
|
+
`/exit`, manual-save noise, empty transcripts, and duplicate normalized TUI
|
|
91
|
+
sessions are rejected by the session-quality projection rather than presented as
|
|
92
|
+
chats.
|
|
93
|
+
|
|
94
|
+
Selecting a row should call `GET /v1/chat/sessions/{id}`. That response hydrates
|
|
95
|
+
the complete public message history (system prompts are intentionally omitted),
|
|
96
|
+
the original TUI transcript when applicable, token counts, timestamps, source
|
|
97
|
+
and project identity, and any in-flight run with a bounded partial-output tail.
|
|
98
|
+
Use the `status` endpoint with `?since=<seq>` for cheap reactive polling while a
|
|
99
|
+
run is active. `DELETE /v1/chat/sessions/{id}` is an admin operation and removes
|
|
100
|
+
the canonical record; deleting only a browser-side row does not remove daemon
|
|
101
|
+
history.
|
|
102
|
+
|
|
103
|
+
`POST /realtime` and `/v1/realtime` are text-only conversation adapters. They
|
|
104
|
+
accept transcript text through `message`, `text`, `recent_turn`, `asr_text`, or
|
|
105
|
+
`callerText`, optionally accept adapter-local `soul_md`, and can return plain
|
|
106
|
+
text with `Accept: text/plain` or `format: "text"`. ASR and TTS remain separate
|
|
107
|
+
operations.
|
|
65
108
|
|
|
66
109
|
## Agentic Runs
|
|
67
110
|
|
|
@@ -70,6 +113,7 @@ pnpm docs:check
|
|
|
70
113
|
| `POST` | `/v1/run` | Submit agentic task |
|
|
71
114
|
| `GET` | `/v1/runs` | List runs |
|
|
72
115
|
| `GET` | `/v1/runs/{id}` | Get run details |
|
|
116
|
+
| `GET` | `/v1/runs/{id}/output` | Read captured run output and status |
|
|
73
117
|
| `DELETE` | `/v1/runs/{id}` | Abort run |
|
|
74
118
|
| `POST` | `/v1/todos` | Create or update todos for current session |
|
|
75
119
|
| `GET` | `/v1/todos` | List sessions with todos |
|
|
@@ -109,6 +153,9 @@ pnpm docs:check
|
|
|
109
153
|
| `GET` | `/v1/projects/preferences` | Read project preferences |
|
|
110
154
|
| `PUT` | `/v1/projects/preferences` | Patch project preferences |
|
|
111
155
|
| `DELETE` | `/v1/projects/preferences` | Reset project preferences |
|
|
156
|
+
| `GET` | `/v1/projects/scan` | Scan configured roots for discoverable workspaces |
|
|
157
|
+
| `GET` | `/v1/admin/access` | Read the daemon network access mode |
|
|
158
|
+
| `POST` | `/v1/admin/access` | Change and persist access mode from loopback only |
|
|
112
159
|
|
|
113
160
|
## Skills, Commands, Tools, MCP
|
|
114
161
|
|
|
@@ -132,6 +179,37 @@ pnpm docs:check
|
|
|
132
179
|
| `GET` | `/v1/codegraph/snapshot` | Code graph snapshot |
|
|
133
180
|
| `GET` | `/v1/codegraph/events` | Code graph SSE |
|
|
134
181
|
|
|
182
|
+
### Registering Application-Specific Tools
|
|
183
|
+
|
|
184
|
+
Applications can register their own tools so Omnius agents can discover and
|
|
185
|
+
invoke them alongside built-ins. `transport.type` selects the bridge:
|
|
186
|
+
|
|
187
|
+
- `http` makes Omnius POST `{name, args, session_id}` to the application's
|
|
188
|
+
`callback_url` and relay the result.
|
|
189
|
+
- `mcp` proxies to a named tool on an MCP server and can auto-connect from the
|
|
190
|
+
supplied connection descriptor.
|
|
191
|
+
|
|
192
|
+
Registrations persist per workspace at `.omnius/external-tools.json`, appear in
|
|
193
|
+
`GET /v1/tools`, and use the same scope and off-device security gates as built-in
|
|
194
|
+
tools. Registration needs `run` scope; a non-loopback caller needs `admin`.
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
curl -s -X POST localhost:11435/v1/tools/register -H 'content-type: application/json' -d '{
|
|
198
|
+
"name": "lookup_order",
|
|
199
|
+
"description": "Look up an order by id",
|
|
200
|
+
"parameters": {"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},
|
|
201
|
+
"security": {"requires_scope":"run","risk":"low"},
|
|
202
|
+
"transport": {"type":"http","callback_url":"https://app.internal/tools/lookup_order","auth_header":"Bearer …"}
|
|
203
|
+
}'
|
|
204
|
+
curl -s localhost:11435/v1/tools/lookup_order
|
|
205
|
+
curl -s -X POST localhost:11435/v1/tools/lookup_order/call -H 'content-type: application/json' -d '{"args":{"id":"A-1001"}}'
|
|
206
|
+
curl -s -X POST localhost:11435/v1/tools/lookup_order/eval -H 'content-type: application/json' -d '{"cases":[{"name":"known","args":{"id":"A-1001"},"expect":{"success":true}}]}'
|
|
207
|
+
curl -s -X DELETE localhost:11435/v1/tools/lookup_order
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
The MCP equivalent uses a transport such as
|
|
211
|
+
`{"type":"mcp","server":"acme","tool":"search","connect":{"url":"https://app.internal/mcp","transport":"streamable-http"}}`.
|
|
212
|
+
|
|
135
213
|
## AIWG
|
|
136
214
|
|
|
137
215
|
| Method | Path | Purpose |
|
|
@@ -157,6 +235,10 @@ pnpm docs:check
|
|
|
157
235
|
| `POST` | `/v1/memory/write` | Write memory |
|
|
158
236
|
| `GET` | `/v1/memory/episodes` | List episodes |
|
|
159
237
|
| `GET` | `/v1/memory/failures` | List failure records |
|
|
238
|
+
| `POST` | `/v1/memory/ingest` | Ingest content or files into memory |
|
|
239
|
+
| `GET` | `/v1/memory/entities` | List extracted memory entities |
|
|
240
|
+
| `POST` | `/v1/memory/jobs/run` | Run a named memory-maintenance job |
|
|
241
|
+
| `POST` | `/v1/memory/feedback` | Record relevance or quality feedback for a memory item |
|
|
160
242
|
| `GET` | `/v1/sessions` | List task sessions |
|
|
161
243
|
| `GET` | `/v1/sessions/{id}` | Get session history |
|
|
162
244
|
| `GET` | `/v1/context` | Current context snapshot |
|
|
@@ -166,12 +248,22 @@ pnpm docs:check
|
|
|
166
248
|
| `GET` | `/v1/context/restore` | Build restore prompt |
|
|
167
249
|
| `POST` | `/v1/context/compact` | Request compaction |
|
|
168
250
|
|
|
251
|
+
Context-window dumps are written before backend inference for main agents,
|
|
252
|
+
sub-agents, internal runners, and adversary audits. Query
|
|
253
|
+
`GET /v1/context/window-dumps?agent_type=main` for summaries with signal/noise
|
|
254
|
+
metrics, or fetch a full payload by id. Dumps include focus-supervisor state when
|
|
255
|
+
a next-action contract is active. Set `OMNIUS_CONTEXT_WINDOW_DUMP_DIR` to move
|
|
256
|
+
the store, `OMNIUS_DISABLE_CONTEXT_WINDOW_DUMPS=1` to disable it, and
|
|
257
|
+
`OMNIUS_FOCUS_SUPERVISOR=off|auto|strict` to tune focus enforcement.
|
|
258
|
+
|
|
169
259
|
## Files, Nexus, Ollama Pool
|
|
170
260
|
|
|
171
261
|
| Method | Path | Purpose |
|
|
172
262
|
| --- | --- | --- |
|
|
173
263
|
| `GET` | `/v1/files` | List workspace directory |
|
|
174
264
|
| `POST` | `/v1/files/read` | Read workspace file |
|
|
265
|
+
| `GET` | `/v1/files/raw` | Stream raw workspace bytes with content type and range support |
|
|
266
|
+
| `HEAD` | `/v1/files/raw` | Inspect raw-file response metadata |
|
|
175
267
|
| `GET` | `/v1/nexus/status` | Nexus peer state |
|
|
176
268
|
| `GET` | `/v1/sponsors` | Sponsor directory cache |
|
|
177
269
|
| `GET` | `/v1/ollama/pool/processes` | Ollama process inventory |
|
|
@@ -188,13 +280,20 @@ pnpm docs:check
|
|
|
188
280
|
| `POST` | `/v1/voice/models/switch` | Switch and enable an exact TTS model by default |
|
|
189
281
|
| `GET` | `/v1/voice/supertonic-settings` | Voice tuning settings |
|
|
190
282
|
| `POST` | `/v1/voice/supertonic-settings` | Update voice tuning settings |
|
|
191
|
-
| `GET` | `/v1/
|
|
192
|
-
| `
|
|
283
|
+
| `GET` | `/v1/asr/engines` | Canonical ASR engines/models, capabilities, readiness, and selection |
|
|
284
|
+
| `GET` | `/v1/asr/status` · `/v1/asr/selection` | Selected engine/model and runtime status |
|
|
285
|
+
| `PATCH` | `/v1/asr/selection` | Persist and activate an exact engine/model |
|
|
286
|
+
| `POST` | `/v1/asr/activate` | Activate and persist an exact engine/model |
|
|
287
|
+
| `POST` | `/v1/asr/engines/{engineId}/setup` | Install a managed runtime and pinned weights |
|
|
288
|
+
| `POST` | `/v1/asr/transcriptions` · `/v1/asr/test` | Transcribe/test using the real selected backend |
|
|
289
|
+
| `GET` | `/v1/voice/asr-models` | Compatibility registry alias |
|
|
290
|
+
| `POST` | `/v1/voice/asr-models/switch` | Compatibility activation alias |
|
|
193
291
|
| `POST` | `/v1/voice/tts` | Synthesize speech |
|
|
194
292
|
| `POST` | `/v1/audio/speech` | OpenAI-compatible TTS alias |
|
|
195
293
|
| `POST` | `/v1/voice/transcribe` | Transcribe audio |
|
|
294
|
+
| `POST` | `/v1/voice/asr` | Legacy transcription alias |
|
|
196
295
|
| `POST` | `/v1/audio/transcriptions` | OpenAI-compatible transcription alias |
|
|
197
|
-
| `POST` | `/v1/voice/transcribe/stream` |
|
|
296
|
+
| `POST` | `/v1/voice/transcribe/stream` | Isolated final transcription over SSE (no shared mic state or fake partials) |
|
|
198
297
|
| `POST` | `/v1/voice/clone-refs` | Upload voice clone reference |
|
|
199
298
|
| `GET` | `/v1/voice/clone-refs` | List clone references |
|
|
200
299
|
| `POST` | `/v1/voice/clone-refs/upload` | Upload clone reference |
|
|
@@ -205,6 +304,8 @@ pnpm docs:check
|
|
|
205
304
|
| `POST` | `/v1/voice/speak` | Broadcast speech to voicechat clients |
|
|
206
305
|
| `GET` | `/v1/voicechat/ws` | WebSocket upgrade for full-duplex voicechat |
|
|
207
306
|
| `POST` | `/v1/vision/describe` | Vision describe placeholder |
|
|
307
|
+
| `POST` | `/v1/vision/embed` | Create a vision embedding from media |
|
|
308
|
+
| `POST` | `/v1/audio/embed` | Create an audio embedding from audio input |
|
|
208
309
|
|
|
209
310
|
`POST /v1/voice/tts` and `/v1/audio/speech` automatically warm the daemon.
|
|
210
311
|
An explicit model must render exactly or the request fails; Omnius does not
|
|
@@ -214,6 +315,19 @@ Overwatch, `luxtts:announcer-testchamber03`, and the selected Voicebox suite.
|
|
|
214
315
|
Set `OMNIUS_VOICEBOX_MODELS=all` for every carried-in Voicebox model, leave it
|
|
215
316
|
at `stable` for the default set, or provide a comma-separated subset.
|
|
216
317
|
|
|
318
|
+
ASR selection is independent from TTS selection. The registry currently exposes
|
|
319
|
+
OpenAI Whisper, managed `transcribe-cli`, NVIDIA Nemotron (reported unavailable
|
|
320
|
+
until its legacy bootstrap is migrated), and Microsoft VibeVoice ASR. VibeVoice
|
|
321
|
+
uses the exact pinned `microsoft/VibeVoice-ASR` checkpoint, reports setup and
|
|
322
|
+
activation separately, supports completed files up to 60 minutes with speakers,
|
|
323
|
+
timestamps, and `?context=` hotwords, and is deliberately not advertised as an
|
|
324
|
+
incremental PCM backend. Its managed setup inherits the host CUDA-enabled Torch
|
|
325
|
+
build (needed on Jetson/ARM64), never installs generic PyPI Torch, and activation
|
|
326
|
+
requires one explicit capable GPU. Discrete Linux uses `nvidia-smi` process/GPU
|
|
327
|
+
evidence; Jetson/L4T uses NVIDIA's documented `tegrastats` plus CUDA Torch device
|
|
328
|
+
properties because `nvidia-smi` is unavailable there. Model weights live under
|
|
329
|
+
the unified Omnius ASR cache and are not shipped in the npm package.
|
|
330
|
+
|
|
217
331
|
## Generative Media
|
|
218
332
|
|
|
219
333
|
All generation is backed by the unified `~/.omnius` model store and shared venvs (single source of truth — no per-project duplication). Generated files are consolidated into the global gallery at `~/.omnius/media/{images,videos,audio,music}`.
|
|
@@ -239,13 +353,35 @@ All generation is backed by the unified `~/.omnius` model store and shared venvs
|
|
|
239
353
|
| --- | --- | --- |
|
|
240
354
|
| `GET` | `/v1/engines` | Long-running engine status |
|
|
241
355
|
| `GET` | `/v1/scheduled` | List scheduled jobs |
|
|
242
|
-
| `
|
|
356
|
+
| `DELETE` | `/v1/scheduled/all` | Delete all tasks, timers, cron entries, and persisted sources |
|
|
243
357
|
| `GET` | `/v1/scheduled/status` | Scheduler status |
|
|
358
|
+
| `POST` | `/v1/scheduled/{id}` | Enable or disable one scheduled task or user timer |
|
|
359
|
+
| `DELETE` | `/v1/scheduled/{id}` | Delete one scheduled task or user timer |
|
|
244
360
|
| `POST` | `/v1/scheduled/kill` | Kill scheduled job |
|
|
245
361
|
| `POST` | `/v1/scheduled/fixup` | Reconcile scheduled state |
|
|
246
|
-
| `
|
|
362
|
+
| `GET` | `/v1/scheduled/reconcile` | Preview scheduled reconciliation |
|
|
363
|
+
| `POST` | `/v1/scheduled/reconcile` | Preview or apply scheduled reconciliation |
|
|
247
364
|
| `GET` | `/v1/services/systemd` | Systemd service status |
|
|
365
|
+
| `POST` | `/v1/services/systemd/{unit}` | Act on one user-level systemd unit |
|
|
248
366
|
| `GET` | `/v1/update` | Self-update status |
|
|
367
|
+
| `POST` | `/v1/update` | Start an exact-version verified global update transaction |
|
|
368
|
+
|
|
369
|
+
### Verified Global Update Transaction
|
|
370
|
+
|
|
371
|
+
`POST /v1/update` is not a CLI-local package edit. It starts one durable
|
|
372
|
+
transaction that installs the requested exact npm version globally, verifies
|
|
373
|
+
the installed package and resolved `omnius` executable, restarts and verifies
|
|
374
|
+
the daemon, verifies package/hash/runtime agreement, and relaunches the tray if
|
|
375
|
+
it was running. The response is `202` with operation state; poll
|
|
376
|
+
`GET /v1/update` for live phase, subprocess output, verification evidence, and
|
|
377
|
+
the final success or failure. Concurrent transactions and requests with no
|
|
378
|
+
available target return `409`.
|
|
379
|
+
|
|
380
|
+
The web dashboard and native tray both use this same endpoint. Update discovery
|
|
381
|
+
is shared and semver-aware, so an older cached registry result cannot downgrade
|
|
382
|
+
or falsely present an update. A completed transaction means the global package,
|
|
383
|
+
executable, daemon, and tray runtime were all reconciled—not merely that `npm`
|
|
384
|
+
exited successfully.
|
|
249
385
|
|
|
250
386
|
## AIMS Governance
|
|
251
387
|
|
|
@@ -268,3 +404,20 @@ All generation is backed by the unified `~/.omnius` model store and shared venvs
|
|
|
268
404
|
| `GET` | `/v1/aims/oversight` | Human oversight gates |
|
|
269
405
|
| `GET` | `/v1/aims/decisions` | Consequential decision log |
|
|
270
406
|
| `GET` | `/v1/aims/config-history` | Config change history |
|
|
407
|
+
|
|
408
|
+
## Browser And Compatibility Surfaces
|
|
409
|
+
|
|
410
|
+
The dashboard HTML routes (`/`, `/chat`, `/agent`, `/voice`, `/generate`,
|
|
411
|
+
`/projects`, `/dashboard`, `/jobs`, `/activity`, `/discover`, `/settings`, and
|
|
412
|
+
`/config`) are documented in the [dashboard guide](../guides/dashboard.md). They
|
|
413
|
+
are pages, not JSON API operations; `/` returns the HATEOAS JSON root when the
|
|
414
|
+
client does not request HTML.
|
|
415
|
+
|
|
416
|
+
Swagger/ReDoc trailing-slash variants, `/api/docs/*` static assets, and
|
|
417
|
+
`/favicon.ico` exist for browsers. They are delivery details rather than stable
|
|
418
|
+
integration endpoints. The daemon also retains browser/legacy bridges at
|
|
419
|
+
`/v1/model`, `/v1/endpoint`, `/v1/theme`, `/v1/tor/*`, `/v1/remote-proxy`, and
|
|
420
|
+
`/v1/command`. New clients should prefer `/v1/config/model`,
|
|
421
|
+
`/v1/config/endpoint`, `/v1/config`, and `/v1/commands/{cmd}`. Compatibility
|
|
422
|
+
handlers may accept additional HTTP verbs for old dashboard bundles; only the
|
|
423
|
+
methods in the supported inventory above are contractual.
|
|
@@ -24,7 +24,7 @@ Command metadata drives the TUI, REST command proxy, gateway exposure, and agent
|
|
|
24
24
|
| Tools And Skills | 6 |
|
|
25
25
|
| External Gateways | 2 |
|
|
26
26
|
| Secrets | 2 |
|
|
27
|
-
| Interface |
|
|
27
|
+
| Interface | 10 |
|
|
28
28
|
| Administration | 2 |
|
|
29
29
|
| Planned | 8 |
|
|
30
30
|
|
|
@@ -1376,13 +1376,18 @@ Toggle TTS voice feedback
|
|
|
1376
1376
|
| Safety | none |
|
|
1377
1377
|
| Aliases | - |
|
|
1378
1378
|
| Args | - |
|
|
1379
|
-
| Subcommands | clone |
|
|
1379
|
+
| Subcommands | clone, asr |
|
|
1380
1380
|
|
|
1381
1381
|
Signatures:
|
|
1382
1382
|
|
|
1383
1383
|
- `/voice` - Toggle TTS voice feedback
|
|
1384
|
-
- `/voice <model>` - Set
|
|
1384
|
+
- `/voice <model>` - Set voice: glados, overwatch, luxtts:announcer-testchamber03, kokoro, luxtts, misotts, supertonic, or a selected voicebox_* model
|
|
1385
1385
|
- `/voice clone <file>` - Set voice clone reference audio (wav/mp3/ogg/flac)
|
|
1386
|
+
- `/voice asr` - Open ASR system and model selection
|
|
1387
|
+
- `/voice asr status` - Show selected ASR engine/model and activation state
|
|
1388
|
+
- `/voice asr list` - List ASR engines, models, and live/file capabilities
|
|
1389
|
+
- `/voice asr use <engine> [model]` - Select and activate an installed ASR engine/model
|
|
1390
|
+
- `/voice asr setup <engine> [model] [device=N]` - Install pinned ASR runtime/weights and activate on an exact CUDA device
|
|
1386
1391
|
- `/voice clone glados` - Generate clone ref from GLaDOS for LuxTTS/MisoTTS voice cloning
|
|
1387
1392
|
- `/voice clone overwatch` - Generate clone ref from Overwatch for LuxTTS/MisoTTS voice cloning
|
|
1388
1393
|
|
|
@@ -1957,6 +1962,29 @@ Signatures:
|
|
|
1957
1962
|
|
|
1958
1963
|
- `/emojis` - Toggle emoji rendering in TUI messages
|
|
1959
1964
|
|
|
1965
|
+
### /indicator
|
|
1966
|
+
|
|
1967
|
+
Start the native system indicator and report readiness
|
|
1968
|
+
|
|
1969
|
+
| Field | Value |
|
|
1970
|
+
| --- | --- |
|
|
1971
|
+
| Category | Interface |
|
|
1972
|
+
| Status | implemented |
|
|
1973
|
+
| Surfaces | tui |
|
|
1974
|
+
| Safety | userOnly |
|
|
1975
|
+
| Aliases | /tray |
|
|
1976
|
+
| Args | - |
|
|
1977
|
+
| Subcommands | start, status |
|
|
1978
|
+
|
|
1979
|
+
Signatures:
|
|
1980
|
+
|
|
1981
|
+
- `/indicator` - Start the native system indicator and report readiness
|
|
1982
|
+
- `/indicator start` - Start the native system indicator and report readiness
|
|
1983
|
+
- `/indicator status` - Report native system indicator readiness and daemon health
|
|
1984
|
+
- `/tray` - Alias for /indicator
|
|
1985
|
+
- `/tray start` - Alias for /indicator start
|
|
1986
|
+
- `/tray status` - Alias for /indicator status
|
|
1987
|
+
|
|
1960
1988
|
### /mouse
|
|
1961
1989
|
|
|
1962
1990
|
Toggle terminal mouse tracking
|
package/docs/rest/INDEX.md
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
This directory is the human-readable REST API reference for Omnius. It is meant to be explored incrementally by agents and humans.
|
|
4
4
|
|
|
5
5
|
For intent-first lookup, start with
|
|
6
|
-
[Discovery](./endpoints/discovery.md), `GET /v1/discovery`,
|
|
6
|
+
[Discovery](./endpoints/discovery.md), `GET /v1/discovery/bootstrap`,
|
|
7
|
+
`GET /v1/discovery`, or the bundled
|
|
7
8
|
[`DISCOVERY.json`](../DISCOVERY.json). Use this index after the catalog points
|
|
8
9
|
to an endpoint family.
|
|
9
10
|
|
|
@@ -94,29 +95,29 @@ Scopes:
|
|
|
94
95
|
| Family | Representative endpoints |
|
|
95
96
|
| --- | --- |
|
|
96
97
|
| Health | `/health`, `/health/ready`, `/health/startup`, `/version`, `/metrics` |
|
|
97
|
-
| Discovery | `/v1/discovery`, `/v1/discovery/{id}` |
|
|
98
|
-
| Inference and chat | `/v1/models`, `/v1/chat/completions`, `/v1/
|
|
98
|
+
| Discovery | `/v1/discovery/bootstrap`, `/v1/discovery`, `/v1/discovery/{id}` |
|
|
99
|
+
| Inference and chat | `/v1/models`, `/v1/chat/completions`, `/v1/chat`, `/realtime`, `/v1/realtime`, `/v1/chat/sessions`, `/v1/chat/sessions/{id}`, `/v1/chat/check-in` |
|
|
99
100
|
| AIWG | `/v1/aiwg`, `/v1/aiwg/frameworks`, `/v1/aiwg/skills`, `/v1/aiwg/use`, `/v1/aiwg/expand` |
|
|
100
|
-
| Runs | `/v1/run`, `/v1/runs`, `/v1/runs/{id}`, `/v1/todos`, `/v1/todos/{session_id}` |
|
|
101
|
+
| Runs | `/v1/run`, `/v1/runs`, `/v1/runs/{id}`, `/v1/runs/{id}/output`, `/v1/todos`, `/v1/todos/{session_id}` |
|
|
101
102
|
| Config | `/v1/config`, `/v1/config/model`, `/v1/config/endpoint`, `/v1/config/endpoint/test`, `/v1/config/endpoint/history`, `/v1/share/generate` |
|
|
102
103
|
| Metering and audit | `/v1/usage`, `/v1/audit`, `/v1/cost`, `/v1/system` |
|
|
103
104
|
| Runtime keys | `/v1/keys`, `/v1/keys/{prefix}` |
|
|
104
105
|
| Profiles | `/v1/profiles`, `/v1/profiles/{name}` |
|
|
105
|
-
| Files | `/v1/files`, `/v1/files/read` |
|
|
106
|
+
| Files | `/v1/files`, `/v1/files/read`, `/v1/files/raw` |
|
|
106
107
|
| Skills and commands | `/v1/skills`, `/v1/skills/{name}`, `/v1/commands`, `/v1/commands/{cmd}` |
|
|
107
108
|
| MCP | `/v1/mcps`, `/v1/mcps/{name}`, `/v1/mcps/{name}/call` |
|
|
108
109
|
| Tools | `/v1/tools`, `/v1/tools/{name}`, `/v1/tools/{name}/call`, `/v1/hooks`, `/v1/agents` |
|
|
109
|
-
| Memory | `/v1/memory`, `/v1/memory/search`, `/v1/memory/write`, `/v1/memory/
|
|
110
|
+
| Memory | `/v1/memory`, `/v1/memory/search`, `/v1/memory/write`, `/v1/memory/ingest`, `/v1/memory/entities`, `/v1/memory/jobs/run`, `/v1/memory/feedback` |
|
|
110
111
|
| Events | `/v1/events` |
|
|
111
112
|
| Sessions and context | `/v1/sessions`, `/v1/sessions/{id}`, `/v1/context`, `/v1/context/window-dumps`, `/v1/context/window-dumps/{id}`, `/v1/context/save`, `/v1/context/restore`, `/v1/context/compact` |
|
|
112
113
|
| Nexus | `/v1/nexus/status`, `/v1/sponsors` |
|
|
113
114
|
| Ollama pool | `/v1/ollama/pool/processes`, `/v1/ollama/pool/cleanup` |
|
|
114
|
-
| Voice and audio | `/v1/voice/state`, `/v1/voice/models`, `/v1/voice/tts`, `/v1/audio/speech`, `/v1/
|
|
115
|
-
| Vision | `/v1/vision/describe` |
|
|
116
|
-
| Projects | `/v1/projects`, `/v1/projects/current`, `/v1/projects/switch`, `/v1/projects/register`, `/v1/projects/rename`, `/v1/projects/preferences` |
|
|
115
|
+
| Voice and audio | `/v1/voice/state`, `/v1/voice/models`, `/v1/voice/tts`, `/v1/audio/speech`, `/v1/asr/engines`, `/v1/asr/selection`, `/v1/asr/activate`, `/v1/asr/transcriptions`, `/v1/asr/test`, `/v1/audio/transcriptions`, `/v1/voicechat/ws` |
|
|
116
|
+
| Vision/audio embeddings | `/v1/vision/describe`, `/v1/vision/embed`, `/v1/audio/embed` |
|
|
117
|
+
| Projects | `/v1/projects`, `/v1/projects/current`, `/v1/projects/switch`, `/v1/projects/register`, `/v1/projects/rename`, `/v1/projects/scan`, `/v1/projects/preferences` |
|
|
117
118
|
| Code graph | `/v1/codegraph/snapshot`, `/v1/codegraph/events` |
|
|
118
119
|
| Scheduled jobs | `/v1/scheduled`, `/v1/scheduled/all`, `/v1/scheduled/status`, `/v1/scheduled/kill`, `/v1/scheduled/fixup`, `/v1/scheduled/reconcile` |
|
|
119
|
-
| Services and update | `/v1/services/systemd`, `/v1/update` |
|
|
120
|
+
| Services and update | `/v1/services/systemd`, `/v1/services/systemd/{unit}`, `/v1/update` |
|
|
120
121
|
| AIMS | `/v1/aims`, `/v1/aims/policies`, `/v1/aims/roles`, `/v1/aims/resources`, `/v1/aims/impact-assessments`, `/v1/aims/lifecycle`, `/v1/aims/data-quality`, `/v1/aims/transparency`, `/v1/aims/usage`, `/v1/aims/suppliers`, `/v1/aims/incidents`, `/v1/aims/oversight`, `/v1/aims/decisions`, `/v1/aims/config-history` |
|
|
121
122
|
|
|
122
123
|
## Realtime REST Flag
|