omnius 1.0.321 → 1.0.323
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 +220 -17
- package/dist/index.js +5168 -3762
- package/docs/reference/rest-api.md +16 -0
- package/docs/reference/slash-commands.md +108 -46
- package/npm-shrinkwrap.json +15 -15
- package/package.json +2 -2
|
@@ -189,6 +189,22 @@ pnpm docs:check
|
|
|
189
189
|
| `GET` | `/v1/voicechat/ws` | WebSocket upgrade for full-duplex voicechat |
|
|
190
190
|
| `POST` | `/v1/vision/describe` | Vision describe placeholder |
|
|
191
191
|
|
|
192
|
+
## Generative Media
|
|
193
|
+
|
|
194
|
+
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}`.
|
|
195
|
+
|
|
196
|
+
| Method | Path | Purpose |
|
|
197
|
+
| --- | --- | --- |
|
|
198
|
+
| `GET` | `/v1/media/models` | List available image/video/audio/music models |
|
|
199
|
+
| `GET` | `/v1/media/store` | Unified store disk usage + reclaimable legacy caches |
|
|
200
|
+
| `POST` | `/v1/media/migrate` | Dedup + migrate legacy per-group caches into the unified store |
|
|
201
|
+
| `POST` | `/v1/media/image` | Generate an image |
|
|
202
|
+
| `POST` | `/v1/media/video` | Generate a video |
|
|
203
|
+
| `POST` | `/v1/media/audio` | Generate a sound effect |
|
|
204
|
+
| `POST` | `/v1/media/music` | Generate music |
|
|
205
|
+
| `GET` | `/v1/media/gallery` | List previously generated media (global, newest first) |
|
|
206
|
+
| `GET` | `/v1/media/file` | Stream one generated media file |
|
|
207
|
+
|
|
192
208
|
## Engines And Scheduled Jobs
|
|
193
209
|
|
|
194
210
|
| Method | Path | Purpose |
|
|
@@ -14,11 +14,11 @@ Command metadata drives the TUI, REST command proxy, gateway exposure, and agent
|
|
|
14
14
|
|
|
15
15
|
| Category | Commands |
|
|
16
16
|
| --- | ---: |
|
|
17
|
-
| Core |
|
|
17
|
+
| Core | 26 |
|
|
18
18
|
| Models And Endpoints | 2 |
|
|
19
19
|
| Sessions And Control | 14 |
|
|
20
20
|
| Runtime | 12 |
|
|
21
|
-
| Media |
|
|
21
|
+
| Media | 11 |
|
|
22
22
|
| Network And P2P | 10 |
|
|
23
23
|
| Memory And Context | 1 |
|
|
24
24
|
| Tools And Skills | 6 |
|
|
@@ -26,7 +26,7 @@ Command metadata drives the TUI, REST command proxy, gateway exposure, and agent
|
|
|
26
26
|
| Secrets | 2 |
|
|
27
27
|
| Interface | 9 |
|
|
28
28
|
| Administration | 2 |
|
|
29
|
-
| Planned |
|
|
29
|
+
| Planned | 8 |
|
|
30
30
|
|
|
31
31
|
## Core
|
|
32
32
|
|
|
@@ -122,6 +122,33 @@ Signatures:
|
|
|
122
122
|
|
|
123
123
|
- `/cost` - Show session token cost breakdown
|
|
124
124
|
|
|
125
|
+
### /cron
|
|
126
|
+
|
|
127
|
+
Cron/scheduled job management
|
|
128
|
+
|
|
129
|
+
| Field | Value |
|
|
130
|
+
| --- | --- |
|
|
131
|
+
| Category | Core |
|
|
132
|
+
| Status | implemented |
|
|
133
|
+
| Surfaces | tui, rest, gateway |
|
|
134
|
+
| Safety | userOnly, networked |
|
|
135
|
+
| Aliases | - |
|
|
136
|
+
| Args | - |
|
|
137
|
+
| Subcommands | list, add, edit, pause, resume, run, remove, outputs, tick |
|
|
138
|
+
|
|
139
|
+
Signatures:
|
|
140
|
+
|
|
141
|
+
- `/cron` - Cron/scheduled job management
|
|
142
|
+
- `/cron list` - List cron jobs
|
|
143
|
+
- `/cron add <schedule> <prompt>` - Create a new cron job
|
|
144
|
+
- `/cron edit <id> <field> <val>` - Update a cron job field
|
|
145
|
+
- `/cron pause <id>` - Pause a cron job
|
|
146
|
+
- `/cron resume <id>` - Resume a paused cron job
|
|
147
|
+
- `/cron run <id>` - Execute a cron job immediately
|
|
148
|
+
- `/cron remove <id>` - Delete a cron job
|
|
149
|
+
- `/cron outputs <id>` - Show saved output files for a job
|
|
150
|
+
- `/cron tick` - Run scheduler tick
|
|
151
|
+
|
|
125
152
|
### /deep
|
|
126
153
|
|
|
127
154
|
Toggle deep context - relaxes compaction so large models use 85% of context
|
|
@@ -253,6 +280,24 @@ Signatures:
|
|
|
253
280
|
- `/hf clear` - Remove the persisted HF token
|
|
254
281
|
- `/hf cancel` - Cancel any pending HF token prompt and fall back immediately
|
|
255
282
|
|
|
283
|
+
### /insights
|
|
284
|
+
|
|
285
|
+
Show historical session insights
|
|
286
|
+
|
|
287
|
+
| Field | Value |
|
|
288
|
+
| --- | --- |
|
|
289
|
+
| Category | Core |
|
|
290
|
+
| Status | implemented |
|
|
291
|
+
| Surfaces | tui, rest, gateway, agentTool |
|
|
292
|
+
| Safety | none |
|
|
293
|
+
| Aliases | - |
|
|
294
|
+
| Args | - |
|
|
295
|
+
| Subcommands | - |
|
|
296
|
+
|
|
297
|
+
Signatures:
|
|
298
|
+
|
|
299
|
+
- `/insights` - Show historical session insights
|
|
300
|
+
|
|
256
301
|
### /music
|
|
257
302
|
|
|
258
303
|
Open music-generation model/setup menu
|
|
@@ -458,6 +503,24 @@ Signatures:
|
|
|
458
503
|
|
|
459
504
|
- `/think` - Toggle thinking/reasoning mode (Qwen3, DeepSeek-R1, etc.)
|
|
460
505
|
|
|
506
|
+
### /usage
|
|
507
|
+
|
|
508
|
+
Show current session token count and cost
|
|
509
|
+
|
|
510
|
+
| Field | Value |
|
|
511
|
+
| --- | --- |
|
|
512
|
+
| Category | Core |
|
|
513
|
+
| Status | implemented |
|
|
514
|
+
| Surfaces | tui, rest, gateway, agentTool |
|
|
515
|
+
| Safety | none |
|
|
516
|
+
| Aliases | - |
|
|
517
|
+
| Args | - |
|
|
518
|
+
| Subcommands | - |
|
|
519
|
+
|
|
520
|
+
Signatures:
|
|
521
|
+
|
|
522
|
+
- `/usage` - Show current session token count and cost
|
|
523
|
+
|
|
461
524
|
### /verbose
|
|
462
525
|
|
|
463
526
|
Toggle verbose mode
|
|
@@ -510,12 +573,16 @@ List all available models
|
|
|
510
573
|
| Safety | userOnly |
|
|
511
574
|
| Aliases | - |
|
|
512
575
|
| Args | - |
|
|
513
|
-
| Subcommands | evict, cleanup |
|
|
576
|
+
| Subcommands | 3d, cad, viewer, hf, evict, cleanup |
|
|
514
577
|
|
|
515
578
|
Signatures:
|
|
516
579
|
|
|
517
580
|
- `/models` - List all available models
|
|
518
581
|
- `/models` - Show unified ~/.omnius model store: disk usage, cached repos, last-used
|
|
582
|
+
- `/models 3d` - Select CAD/3D generation and reconstruction model adapters
|
|
583
|
+
- `/models cad` - Select text-to-CAD model adapters such as cad0
|
|
584
|
+
- `/models viewer [file]` - Start a temporary standalone CAD/3D viewer endpoint
|
|
585
|
+
- `/models hf list --modality 3d` - List curated and installed Hugging Face CAD/3D adapters
|
|
519
586
|
- `/models evict <repo>` - Remove a cached HF repo from the unified store to reclaim disk
|
|
520
587
|
- `/models evict --free <GB>` - LRU-evict cached models until <GB> of free disk is available
|
|
521
588
|
- `/models cleanup` - Migrate legacy per-repo .omnius/{image,video,audio}-gen caches into the unified store and delete the originals
|
|
@@ -953,14 +1020,13 @@ Scheduled tasks control panel (list/kill/toggle)
|
|
|
953
1020
|
| Status | implemented |
|
|
954
1021
|
| Surfaces | tui, rest, gateway |
|
|
955
1022
|
| Safety | userOnly |
|
|
956
|
-
| Aliases |
|
|
1023
|
+
| Aliases | - |
|
|
957
1024
|
| Args | - |
|
|
958
1025
|
| Subcommands | menu, list, kill |
|
|
959
1026
|
|
|
960
1027
|
Signatures:
|
|
961
1028
|
|
|
962
1029
|
- `/scheduler` - Scheduled tasks control panel (list/kill/toggle)
|
|
963
|
-
- `/cron` - Alias for /scheduler
|
|
964
1030
|
- `/scheduler menu` - Interactive scheduler menu (toggle/kill)
|
|
965
1031
|
- `/scheduler list` - List all scheduled tasks and timers
|
|
966
1032
|
- `/scheduler kill` - Kill schedulers + active runs (with escalation if needed)
|
|
@@ -1143,6 +1209,32 @@ Signatures:
|
|
|
1143
1209
|
|
|
1144
1210
|
- `/paste` - Attach clipboard image content to the current or next prompt
|
|
1145
1211
|
|
|
1212
|
+
### /pointcloud
|
|
1213
|
+
|
|
1214
|
+
Open point-cloud generation model/setup menu
|
|
1215
|
+
|
|
1216
|
+
| Field | Value |
|
|
1217
|
+
| --- | --- |
|
|
1218
|
+
| Category | Media |
|
|
1219
|
+
| Status | implemented |
|
|
1220
|
+
| Surfaces | tui, rest, gateway |
|
|
1221
|
+
| Safety | userOnly, networked |
|
|
1222
|
+
| Aliases | /points, /pcl, /point |
|
|
1223
|
+
| Args | - |
|
|
1224
|
+
| Subcommands | --image, setup, list, prewarm |
|
|
1225
|
+
|
|
1226
|
+
Signatures:
|
|
1227
|
+
|
|
1228
|
+
- `/pointcloud` - Open point-cloud generation model/setup menu
|
|
1229
|
+
- `/pointcloud --image <path>` - Generate a 3D point cloud PLY from an image using depth estimation
|
|
1230
|
+
- `/pointcloud --image <path> --model <model>` - Generate with an explicit depth model (depth-anything-v3-* or mda-*)
|
|
1231
|
+
- `/pointcloud --image <path1,path2> --backend mda` - Multi-view depth fusion from comma-separated image paths
|
|
1232
|
+
- `/pointcloud setup <depth-anything\|mda>` - Show setup commands for a point-cloud backend
|
|
1233
|
+
- `/pointcloud list` - List point-cloud models by backend, quality, and VRAM fit
|
|
1234
|
+
- `/pointcloud prewarm` - Download and warm up the selected depth model
|
|
1235
|
+
- `/points <args>` - Alias for /pointcloud
|
|
1236
|
+
- `/pcl <args>` - Alias for /pointcloud
|
|
1237
|
+
|
|
1146
1238
|
### /transcribe
|
|
1147
1239
|
|
|
1148
1240
|
Alias for /ingest <file>
|
|
@@ -1202,10 +1294,10 @@ Toggle TTS voice feedback
|
|
|
1202
1294
|
Signatures:
|
|
1203
1295
|
|
|
1204
1296
|
- `/voice` - Toggle TTS voice feedback
|
|
1205
|
-
- `/voice <model>` - Set voice: glados, overwatch, kokoro, luxtts, supertonic
|
|
1297
|
+
- `/voice <model>` - Set voice: glados, overwatch, kokoro, luxtts, misotts, supertonic
|
|
1206
1298
|
- `/voice clone <file>` - Set voice clone reference audio (wav/mp3/ogg/flac)
|
|
1207
|
-
- `/voice clone glados` - Generate clone ref from GLaDOS for LuxTTS
|
|
1208
|
-
- `/voice clone overwatch` - Generate clone ref from Overwatch for LuxTTS
|
|
1299
|
+
- `/voice clone glados` - Generate clone ref from GLaDOS for LuxTTS/MisoTTS voice cloning
|
|
1300
|
+
- `/voice clone overwatch` - Generate clone ref from Overwatch for LuxTTS/MisoTTS voice cloning
|
|
1209
1301
|
|
|
1210
1302
|
### /voicechat
|
|
1211
1303
|
|
|
@@ -1625,7 +1717,7 @@ Save Telegram bot token (persisted to settings)
|
|
|
1625
1717
|
| Safety | userOnly, networked, secretBearing, profileGated |
|
|
1626
1718
|
| Aliases | /tg |
|
|
1627
1719
|
| Args | --key <token> |
|
|
1628
|
-
| Subcommands | --key, --admin, status, stop, mode, subagents, auth, bot, poll, live-photo, draft, admins, personal, access, tools, delete-message, delete-messages, delete-reaction, delete-reactions |
|
|
1720
|
+
| Subcommands | --key, --admin, status, stop, disable, enable, mode, subagents, model, endpoint, auth, bot, poll, live-photo, draft, admins, personal, access, tools, delete-message, delete-messages, delete-reaction, delete-reactions |
|
|
1629
1721
|
|
|
1630
1722
|
Signatures:
|
|
1631
1723
|
|
|
@@ -1634,8 +1726,14 @@ Signatures:
|
|
|
1634
1726
|
- `/telegram` - Toggle Telegram bridge on/off (uses saved key)
|
|
1635
1727
|
- `/telegram status` - Show Telegram bridge status
|
|
1636
1728
|
- `/telegram stop` - Disconnect Telegram bridge
|
|
1729
|
+
- `/telegram disable` - Persistently disable Telegram long polling
|
|
1730
|
+
- `/telegram enable` - Re-enable Telegram long polling
|
|
1637
1731
|
- `/telegram mode auto\|chat\|action` - Set Telegram interaction routing: auto, fast chat, or action sub-agent
|
|
1638
1732
|
- `/telegram subagents <1-5>` - Set global Telegram work-slot limit across all chats/groups
|
|
1733
|
+
- `/telegram model` - Pick the Telegram-isolated model (model list from the Telegram endpoint)
|
|
1734
|
+
- `/telegram model <name\|reset>` - Set or clear the Telegram-isolated model (separate from main agent)
|
|
1735
|
+
- `/telegram endpoint` - Pick the Telegram-isolated backend endpoint (same menu as /endpoint, bot-scoped)
|
|
1736
|
+
- `/telegram endpoint <url\|reset> [--auth <t>]` - Set or clear the Telegram-isolated endpoint
|
|
1639
1737
|
- `/telegram auth` - Show a TUI-only one-time code for Telegram admin authentication
|
|
1640
1738
|
- `/telegram auth cancel` - Cancel the pending Telegram admin authentication code
|
|
1641
1739
|
- `/telegram bot <username> <text>` - Send a Bot API bot-to-bot message by @username
|
|
@@ -1968,24 +2066,6 @@ Signatures:
|
|
|
1968
2066
|
|
|
1969
2067
|
- `/deny` - Deny a pending gateway/admin action
|
|
1970
2068
|
|
|
1971
|
-
### /insights
|
|
1972
|
-
|
|
1973
|
-
Show session insights
|
|
1974
|
-
|
|
1975
|
-
| Field | Value |
|
|
1976
|
-
| --- | --- |
|
|
1977
|
-
| Category | Planned |
|
|
1978
|
-
| Status | planned |
|
|
1979
|
-
| Surfaces | tui |
|
|
1980
|
-
| Safety | none |
|
|
1981
|
-
| Aliases | - |
|
|
1982
|
-
| Args | - |
|
|
1983
|
-
| Subcommands | - |
|
|
1984
|
-
|
|
1985
|
-
Signatures:
|
|
1986
|
-
|
|
1987
|
-
- `/insights` - Show session insights
|
|
1988
|
-
|
|
1989
2069
|
### /plugins
|
|
1990
2070
|
|
|
1991
2071
|
List or manage plugins
|
|
@@ -2075,21 +2155,3 @@ Show or select tool exposure sets
|
|
|
2075
2155
|
Signatures:
|
|
2076
2156
|
|
|
2077
2157
|
- `/toolsets` - Show or select tool exposure sets
|
|
2078
|
-
|
|
2079
|
-
### /usage
|
|
2080
|
-
|
|
2081
|
-
Show usage and quota details
|
|
2082
|
-
|
|
2083
|
-
| Field | Value |
|
|
2084
|
-
| --- | --- |
|
|
2085
|
-
| Category | Planned |
|
|
2086
|
-
| Status | planned |
|
|
2087
|
-
| Surfaces | tui |
|
|
2088
|
-
| Safety | none |
|
|
2089
|
-
| Aliases | - |
|
|
2090
|
-
| Args | - |
|
|
2091
|
-
| Subcommands | - |
|
|
2092
|
-
|
|
2093
|
-
Signatures:
|
|
2094
|
-
|
|
2095
|
-
- `/usage` - Show usage and quota details
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.323",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.323",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
|
@@ -2094,12 +2094,12 @@
|
|
|
2094
2094
|
}
|
|
2095
2095
|
},
|
|
2096
2096
|
"node_modules/@types/node": {
|
|
2097
|
-
"version": "
|
|
2098
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-
|
|
2099
|
-
"integrity": "sha512-
|
|
2097
|
+
"version": "26.0.0",
|
|
2098
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.0.tgz",
|
|
2099
|
+
"integrity": "sha512-vf2YFi1iY9lHGwNJMs01biZFbKJkrZR1T6/MlzjhJLPdntOHLhTrDSnSVcdtvjihi4VQNlrFRIxLsDBlQpAipA==",
|
|
2100
2100
|
"license": "MIT",
|
|
2101
2101
|
"dependencies": {
|
|
2102
|
-
"undici-types": "
|
|
2102
|
+
"undici-types": "~8.3.0"
|
|
2103
2103
|
}
|
|
2104
2104
|
},
|
|
2105
2105
|
"node_modules/@types/sinon": {
|
|
@@ -4026,9 +4026,9 @@
|
|
|
4026
4026
|
}
|
|
4027
4027
|
},
|
|
4028
4028
|
"node_modules/hono": {
|
|
4029
|
-
"version": "4.12.
|
|
4030
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.
|
|
4031
|
-
"integrity": "sha512-
|
|
4029
|
+
"version": "4.12.26",
|
|
4030
|
+
"resolved": "https://registry.npmjs.org/hono/-/hono-4.12.26.tgz",
|
|
4031
|
+
"integrity": "sha512-uyZtpnYxM9CmQ7QsQknM4zN8EftNqhON1qYeIKM0Se67CCEe2c44xyGURwB0axX2fBDu1dqHrHAc1hmNT8ITkw==",
|
|
4032
4032
|
"license": "MIT",
|
|
4033
4033
|
"engines": {
|
|
4034
4034
|
"node": ">=16.9.0"
|
|
@@ -5239,9 +5239,9 @@
|
|
|
5239
5239
|
"license": "Apache-2.0 OR MIT"
|
|
5240
5240
|
},
|
|
5241
5241
|
"node_modules/nanoid": {
|
|
5242
|
-
"version": "5.1.
|
|
5243
|
-
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.
|
|
5244
|
-
"integrity": "sha512-
|
|
5242
|
+
"version": "5.1.14",
|
|
5243
|
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.14.tgz",
|
|
5244
|
+
"integrity": "sha512-5c8l8kVzqpnDPaicbEop/fV0Q1w16FmbWtVhMqugTozAwYdlIQojWH5a/M7UfziFmGdQRrUdV+EPzc9Xng3VAQ==",
|
|
5245
5245
|
"funding": [
|
|
5246
5246
|
{
|
|
5247
5247
|
"type": "github",
|
|
@@ -7197,9 +7197,9 @@
|
|
|
7197
7197
|
}
|
|
7198
7198
|
},
|
|
7199
7199
|
"node_modules/undici-types": {
|
|
7200
|
-
"version": "
|
|
7201
|
-
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-
|
|
7202
|
-
"integrity": "sha512-
|
|
7200
|
+
"version": "8.3.0",
|
|
7201
|
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
|
|
7202
|
+
"integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
|
|
7203
7203
|
"license": "MIT"
|
|
7204
7204
|
},
|
|
7205
7205
|
"node_modules/unlimited-timeout": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.323",
|
|
4
4
|
"description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -143,5 +143,5 @@
|
|
|
143
143
|
"transcribe-cli": "^2.0.1",
|
|
144
144
|
"viem": "2.47.4"
|
|
145
145
|
},
|
|
146
|
-
"readme": "# Omnius\n\nOmnius is a local-first agentic coding runtime: terminal UI, autonomous coding loop, REST daemon, model router, memory layer, media tools, Telegram bridge, and peer-to-peer inference mesh in one CLI.\n\nIt is designed for open-weight and user-controlled models first, while still routing cleanly through Ollama, vLLM, OpenAI-compatible endpoints, OpenRouter, Groq, Chutes, sponsor peers, COHERE peers, and other configured providers.\n\n[](https://www.npmjs.com/package/omnius)\n[](https://nodejs.org/)\n[](LICENSE)\n\n## Install\n\n```bash\nnpm install -g omnius\nomnius\n```\n\nRequirements:\n\n- Node.js 22 or newer\n- npm 10 or newer for published CLI use\n- pnpm 9 or newer for workspace development\n- A local model or configured remote endpoint\n\nStart the REST daemon:\n\n```bash\nomnius serve\n```\n\nThe daemon defaults to `http://127.0.0.1:11435`. Open the interactive API docs at `http://127.0.0.1:11435/docs`.\n\n## What Omnius Does\n\n- Runs autonomous coding tasks, edits files, executes tools, tests changes, and iterates on failures.\n- Provides a dense terminal UI for model selection, endpoint routing, task control, shell output, voice, sponsors, Telegram, and system telemetry.\n- Exposes a REST daemon with OpenAI/Ollama-compatible inference, agentic task execution, memory, skills, tools, MCP, events, voice, projects, and governance endpoints.\n- Routes models through local, cloud, sponsor, and peer-to-peer endpoints without assuming local Ollama is the only source.\n- Supports realtime spoken conversation for ASR/TTS clients through `/realtime` and REST `realtime: true`.\n- Supports image, video, sound, music, TTS, ASR, voice clone references, Telegram media workflows, and sponsor-provided media generation.\n- Keeps project runtime state in `.omnius/`, which is intentionally ignored by git.\n\n## Common Workflows\n\n```bash\nomnius \"inspect this repo and summarize the main entrypoints\"\nomnius serve\n```\n\n```text\n/help command help\n/model select or inspect the active model\n/endpoint select or configure local, cloud, sponsor, or peer endpoints\n/realtime toggle short ASR/TTS-oriented conversation mode\n/broker inspect model broker, RAM/VRAM thresholds, and loaded models\n/sponsor expose local or upstream capacity to peers\n/cohere participate in distributed COHERE inference\n/telegram configure or toggle the Telegram bridge\n/skills list explorable skills and docs memories\n/pause pause after the current turn boundary\n/stop interrupt the active run\n/resume resume saved state\n```\n\n## Current Feature Areas\n\n| Area | What to read |\n| --- | --- |\n| Install and setup | [Install](docs/getting-started/install.md), [First run](docs/getting-started/first-run.md), [Model providers](docs/getting-started/model-providers.md) |\n| Terminal workflows | [TUI workflows](docs/guides/tui-workflows.md), [Slash commands](docs/reference/slash-commands.md) |\n| REST daemon | [REST reference](docs/reference/rest-api.md), [REST quickref](docs/rest/QUICKREF.md), [OpenAPI source](docs/rest/openapi-source.md) |\n| Realtime voice chat | [Realtime guide](docs/guides/realtime.md) |\n| Sponsor and COHERE mesh | [Sponsor and COHERE guide](docs/guides/sponsor-and-cohere.md) |\n| Telegram bridge | [Telegram guide](docs/guides/telegram.md) |\n| Media generation | [Media guide](docs/guides/media-generation.md) |\n| Operations | [Runtime hygiene](docs/operations/runtime-hygiene.md), [Security and remote access](docs/operations/security-and-remote-access.md) |\n| Architecture | [Architecture overview](docs/architecture/overview.md) |\n| Agent-explorable docs | [Agent memory docs index](docs/agent-memory/INDEX.md) |\n\n## Recent Highlights\n\n- `/realtime` and REST `realtime: true` provide short, natural, SOUL.md-aware conversation for ASR/TTS clients.\n- Endpoint setup and sponsor setup aggregate models from all enabled endpoints, including external OpenAI-compatible routers.\n- `/sponsor` can expose text inference and media generation for image, video, sound, and music with per-modality limits.\n- Sponsor and COHERE status surfaces now use shared telemetry concepts: concurrency, request rate, daily tokens, peer usage, model usage, and remote system metrics.\n- The TUI reports token production rate as `t/s`, supports Shift+Enter multiline input, and renders dynamic shell output inside bounded Unicode cards.\n- Telegram state is scoped by user and group, supports durable reply preferences, and feeds raw platform/tool failures back into the agent loop.\n- Ollama pool cleanup now accounts for process groups and orphan runner processes that can keep VRAM pinned.\n- REST documentation is available both as human docs and as Omnius-discoverable docs skills.\n\n## REST API\n\nStart:\n\n```bash\nomnius serve\n```\n\nUseful entrypoints:\n\n```text\nGET /docs\nGET /openapi.json\nPOST /v1/chat\nPOST /v1/chat/completions\nPOST /v1/run\nGET /v1/events\nGET /v1/skills\nPOST /v1/tools/{name}/call\nWS /v1/voicechat/ws\n```\n\nFor shared deployments, use bearer keys:\n\n```bash\nOMNIUS_REST_API_KEYS=\"read-key:read:grafana,run-key:run:ci:60:100000:3,admin-key:admin:ops\" omnius serve\n```\n\nSee [docs/reference/rest-api.md](docs/reference/rest-api.md) for the maintained endpoint inventory. The canonical machine contract is generated from [packages/cli/src/api/openapi.ts](packages/cli/src/api/openapi.ts).\n\n## Agent-Explorable Documentation\n\nOmnius discovers project-local docs skills from `.aiwg/addons/*/skills`. The docs bundles in this repo expose high-signal entrypoints for agents:\n\n```text\n/skills omnius docs\nskill_execute name=\"omnius-docs\"\nskill_execute name=\"omnius-rest-docs\"\nskill_extract name=\"omnius-realtime-docs\" query=\"How does realtime REST mode work?\"\n```\n\nThe intended pattern is index first, targeted document second, not loading the whole manual into the active context.\n\n## Development\n\n```bash\npnpm install\npnpm -r build\npnpm docs:check\n```\n\nFocused checks used for the docs skill surface:\n\n```bash\npnpm --filter @omnius/execution exec vitest run tests/skill-discovery.test.ts\npnpm --filter omnius exec vitest run tests/realtime-mode.test.ts tests/command-registry.test.ts\n```\n\n## Publishing\n\nPublish only from `publish/`.\n\n```bash\ncd omnius\npnpm -r clean || true\nfind . -name 'tsconfig.tsbuildinfo' -not -path '*/node_modules/*' -delete\npnpm -r build\nnode scripts/build-publish.mjs\ncd publish\nmkdir -p .npm-cache\nNPM_CONFIG_CACHE=$(pwd)/.npm-cache npm pack --prefer-online --cache-min=0 --registry https://registry.npmjs.org/\nNPM_CONFIG_CACHE=$(pwd)/.npm-cache npm publish --access public --prefer-online --cache-min=0 --registry https://registry.npmjs.org/\n```\n\nBefore publishing, verify `README.md`, `package.json`, `dist/index.js`, and `dist/launcher.cjs` are in the tarball, and that `package.json` includes `readmeFilename: \"README.md\"` plus a string `readme`.\n\n## License\n\nOmnius is released under [CC-BY-NC-4.0](LICENSE) for non-commercial use. Commercial use, redistribution, hosted services, and enterprise deployment require a commercial license.\n"
|
|
146
|
+
"readme": "# Omnius\n\nOmnius is a local-first agentic coding runtime: terminal UI, autonomous coding loop, REST daemon, model router, memory layer, media tools, Telegram bridge, and peer-to-peer inference mesh in one CLI.\n\nIt is designed for open-weight and user-controlled models first, while still routing cleanly through Ollama, vLLM, OpenAI-compatible endpoints, OpenRouter, Groq, Chutes, sponsor peers, COHERE peers, and other configured providers.\n\n[](https://www.npmjs.com/package/omnius)\n[](https://nodejs.org/)\n[](LICENSE)\n\n## Install\n\n```bash\nnpm install -g omnius\nomnius\n```\n\nRequirements:\n\n- Node.js 22 or newer\n- npm 10 or newer for published CLI use\n- pnpm 9 or newer for workspace development\n- A local model or configured remote endpoint\n\nStart the REST daemon:\n\n```bash\nomnius serve\n```\n\nThe daemon defaults to `http://127.0.0.1:11435`. Open the interactive API docs at `http://127.0.0.1:11435/docs`.\n\n## What Omnius Does\n\n- Runs autonomous coding tasks, edits files, executes tools, tests changes, and iterates on failures.\n- Provides a dense terminal UI for model selection, endpoint routing, task control, shell output, voice, sponsors, Telegram, and system telemetry.\n- Exposes a REST daemon with OpenAI/Ollama-compatible inference, agentic task execution, memory, skills, tools, MCP, events, voice, projects, and governance endpoints.\n- Routes models through local, cloud, sponsor, and peer-to-peer endpoints without assuming local Ollama is the only source.\n- Supports realtime spoken conversation for ASR/TTS clients through `/realtime` and REST `realtime: true`.\n- Supports image, video, sound, music, TTS, ASR, voice clone references, Telegram media workflows, and sponsor-provided media generation.\n- Keeps project runtime state in `.omnius/`, which is intentionally ignored by git.\n\n## Common Workflows\n\n```bash\nomnius \"inspect this repo and summarize the main entrypoints\"\nomnius serve\n```\n\n```text\n/help command help\n/model select or inspect the active model\n/endpoint select or configure local, cloud, sponsor, or peer endpoints\n/realtime toggle short ASR/TTS-oriented conversation mode\n/broker inspect model broker, RAM/VRAM thresholds, and loaded models\n/sponsor expose local or upstream capacity to peers\n/cohere participate in distributed COHERE inference\n/telegram configure or toggle the Telegram bridge\n/skills list explorable skills and docs memories\n/pause pause after the current turn boundary\n/stop interrupt the active run\n/resume resume saved state\n```\n\n## Current Feature Areas\n\n| Area | What to read |\n| --- | --- |\n| Install and setup | [Install](docs/getting-started/install.md), [First run](docs/getting-started/first-run.md), [Model providers](docs/getting-started/model-providers.md) |\n| Terminal workflows | [TUI workflows](docs/guides/tui-workflows.md), [Slash commands](docs/reference/slash-commands.md) |\n| REST daemon | [REST reference](docs/reference/rest-api.md), [REST quickref](docs/rest/QUICKREF.md), [OpenAPI source](docs/rest/openapi-source.md) |\n| Realtime voice chat | [Realtime guide](docs/guides/realtime.md) |\n| Sponsor and COHERE mesh | [Sponsor and COHERE guide](docs/guides/sponsor-and-cohere.md) |\n| Telegram bridge | [Telegram guide](docs/guides/telegram.md) |\n| Media generation | [Media guide](docs/guides/media-generation.md) |\n| Operations | [Runtime hygiene](docs/operations/runtime-hygiene.md), [Security and remote access](docs/operations/security-and-remote-access.md) |\n| Architecture | [Architecture overview](docs/architecture/overview.md) |\n| Agent-explorable docs | [Agent memory docs index](docs/agent-memory/INDEX.md) |\n\n## Shared Media Dependencies\n\nImage, video, audio, and music generation share a **single, system-wide dependency store** instead of duplicating heavy runtimes per project or per Telegram group.\n\nEarlier builds wrote a private Python venv plus Hugging Face / Torch / pip caches under every scoped working directory (for example `…/telegram-creative/<group-id>/.omnius/image-gen/.venv`). On a busy machine the same multi-gigabyte diffusers stack and model weights were re-downloaded once per group — tens of gigabytes of pure duplication.\n\nEverything now resolves to one source of truth under `~/.omnius` (override with `OMNIUS_HOME`):\n\n| Location | Holds |\n| --- | --- |\n| `~/.omnius/runtimes/<kind>/.venv-<backend>` | One shared Python venv per kind+backend (image/video/audio) |\n| `~/.omnius/models/huggingface/{hub,transformers,diffusers}` | Shared model weights — downloaded once, reused everywhere |\n| `~/.omnius/models/{torch,cache,pip-cache}` | Shared Torch hub, XDG, and pip caches |\n| `~/.omnius/models/_meta.json` | LRU usage index for automatic disk-pressure eviction |\n| `~/.omnius/media/{images,videos,audio,music}` | Global generated-media gallery (project-independent) |\n\nProject directories keep only lightweight session artifacts; no venvs or model weights are written per project.\n\n**Migrate and dedup existing machines.** A one-time cleanup consolidates any legacy per-group caches into the unified store — unique weights are moved (never re-downloaded), duplicates and stale venvs are reclaimed:\n\n```bash\n# TUI — current project only\n/models cleanup\n# TUI — every project + nested scoped group on this machine (dry-run first)\n/models cleanup --all --dry-run\n/models cleanup --all\n```\n\n```bash\n# REST — preview, then apply\ncurl -s -X POST localhost:11435/v1/media/migrate -H 'content-type: application/json' -d '{\"dryRun\":true}'\ncurl -s -X POST localhost:11435/v1/media/migrate -H 'content-type: application/json' -d '{}'\n# Inspect store + reclaimable legacy caches\ncurl -s localhost:11435/v1/media/store\n```\n\n**Generate over REST.** The daemon (default `127.0.0.1:11435`, a port in the IANA dynamic/private range that avoids common system-service collisions) exposes the local generators so any user on the machine can list models, generate, and browse the global gallery without the CLI:\n\n```bash\ncurl -s localhost:11435/v1/media/models\ncurl -s -X POST localhost:11435/v1/media/image -H 'content-type: application/json' -d '{\"prompt\":\"a compact robot painter\"}'\ncurl -s -X POST localhost:11435/v1/media/music -H 'content-type: application/json' -d '{\"prompt\":\"warm lo-fi piano loop\"}'\ncurl -s localhost:11435/v1/media/gallery\n```\n\nThe same surface drives the **Generate** tab in the web UI (`http://127.0.0.1:11435`) — pick a kind (image/video/audio/music), choose a model loaded from the system, generate, and review every previously generated file in one global gallery.\n\n## Recent Highlights\n\n- `/realtime` and REST `realtime: true` provide short, natural, SOUL.md-aware conversation for ASR/TTS clients.\n- Endpoint setup and sponsor setup aggregate models from all enabled endpoints, including external OpenAI-compatible routers.\n- `/sponsor` can expose text inference and media generation for image, video, sound, and music with per-modality limits.\n- Sponsor and COHERE status surfaces now use shared telemetry concepts: concurrency, request rate, daily tokens, peer usage, model usage, and remote system metrics.\n- The TUI reports token production rate as `t/s`, supports Shift+Enter multiline input, and renders dynamic shell output inside bounded Unicode cards.\n- Telegram state is scoped by user and group, supports durable reply preferences, and feeds raw platform/tool failures back into the agent loop.\n- Ollama pool cleanup now accounts for process groups and orphan runner processes that can keep VRAM pinned.\n- REST documentation is available both as human docs and as Omnius-discoverable docs skills.\n\n## REST API\n\nStart the daemon (default `http://127.0.0.1:11435`; interactive docs at `/docs`, machine spec at `/openapi.json`):\n\n```bash\nomnius serve\n```\n\nFor shared deployments, gate access with scoped bearer keys (`read` < `run` < `admin`):\n\n```bash\nOMNIUS_REST_API_KEYS=\"read-key:read:grafana,run-key:run:ci:60:100000:3,admin-key:admin:ops\" omnius serve\n# then: Authorization: Bearer <key>\n```\n\nThe complete endpoint inventory follows. It is kept in lockstep with the served OpenAPI spec by `pnpm docs:check`; the canonical machine contract is generated from [`packages/cli/src/api/openapi.ts`](packages/cli/src/api/openapi.ts) and mirrored in [`docs/reference/rest-api.md`](docs/reference/rest-api.md).\n\n### Docs and compatibility aliases\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/docs` · `/api/docs` · `/swagger-ui` | Swagger UI |\n| `GET` | `/openapi.json` · `/openapi.yaml` · `/v3/api-docs` · `/swagger.json` · `/api-docs` | OpenAPI spec (JSON/YAML + aliases) |\n| `GET` | `/redoc` | ReDoc renderer |\n\n### Health and observability\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/health` · `/health/ready` · `/health/startup` | Liveness, backend readiness, startup probes |\n| `GET` | `/version` | Package version and platform |\n| `GET` | `/metrics` | Prometheus metrics |\n| `GET` | `/v1/events` | Server-sent event stream |\n| `GET` | `/v1/usage` | Token usage and rate limits |\n| `GET` | `/v1/audit` | Audit log query |\n| `GET` | `/v1/cost` | Cost tracker |\n| `GET` | `/v1/system` | CPU, RAM, GPU, and system snapshot |\n\n### Inference and chat\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/models` · `/api/tags` | Aggregated model list (OpenAI + Ollama tags) |\n| `POST` | `/v1/chat/completions` | OpenAI-compatible chat completion |\n| `POST` | `/v1/chat` | Stateful Omnius chat |\n| `POST` | `/api/chat` | Ollama-compatible chat alias |\n| `POST` | `/v1/generate` · `/api/generate` | One-shot generation (Ollama-compatible) |\n| `POST` | `/v1/embeddings` · `/api/embed` | Embeddings (OpenAI + Ollama aliases) |\n| `GET` | `/v1/chat/sessions` | Active chat sessions |\n| `POST` | `/v1/chat/check-in` | Steering check-in for active chat |\n\n### Agentic runs\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `POST` | `/v1/run` | Submit agentic task |\n| `GET` | `/v1/runs` · `/v1/runs/{id}` | List runs · get run details |\n| `DELETE` | `/v1/runs/{id}` | Abort run |\n| `POST`/`GET` | `/v1/todos` | Create/update · list sessions with todos |\n| `GET`/`DELETE` | `/v1/todos/{session_id}` | Get · delete session todos |\n| `POST` | `/v1/evaluate` | Evaluate a run |\n| `POST` | `/v1/index` | Trigger repository indexing |\n\n### Configuration, keys, profiles, projects\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET`/`PATCH` | `/v1/config` | Read · update daemon config |\n| `GET`/`PUT` | `/v1/config/model` | Current model · switch model |\n| `POST` | `/v1/config/model/check` | Probe model readiness |\n| `GET`/`PUT` | `/v1/config/endpoint` | Current endpoint · switch endpoint |\n| `POST` | `/v1/config/endpoint/test` | Probe endpoint |\n| `GET`/`DELETE` | `/v1/config/endpoint/history` | Endpoint history · remove item |\n| `POST` | `/v1/share/generate` | Generate remote-access share URL |\n| `GET`/`POST` | `/v1/keys` | List · mint runtime API keys |\n| `DELETE` | `/v1/keys/{prefix}` | Revoke runtime keys by prefix |\n| `GET`/`POST` | `/v1/profiles` | List · create tool profiles |\n| `GET`/`DELETE` | `/v1/profiles/{name}` | Get · delete profile |\n| `GET`/`DELETE` | `/v1/projects` | List · unregister projects |\n| `GET` | `/v1/projects/current` | Current project |\n| `POST` | `/v1/projects/switch` · `/v1/projects/register` · `/v1/projects/rename` | Switch · register · rename project |\n| `GET`/`PUT`/`DELETE` | `/v1/projects/preferences` | Read · patch · reset project preferences |\n\n### Skills, commands, tools, MCP\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/skills` · `/v1/skills/{name}` | List · load skill content |\n| `GET` | `/v1/commands` | List slash commands |\n| `POST` | `/v1/commands/{cmd}` | Execute slash command |\n| `GET` | `/v1/tools` · `/v1/tools/{name}` | List · tool metadata |\n| `POST` | `/v1/tools/{name}/call` | Call tool |\n| `GET` | `/v1/mcps` · `/v1/mcps/{name}` | List · MCP server details |\n| `POST` | `/v1/mcps/{name}/call` | Call MCP tool |\n| `GET` | `/v1/hooks` · `/v1/agents` | Hook registry · agent type registry |\n| `GET` | `/v1/codegraph/snapshot` · `/v1/codegraph/events` | Code graph snapshot · SSE |\n\n### AIWG\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/aiwg` | AIWG root and control map |\n| `GET` | `/v1/aiwg/frameworks` · `/v1/aiwg/frameworks/{name}` · `/v1/aiwg/frameworks/{name}/content` | List · details · tier-aware content |\n| `GET` | `/v1/aiwg/skills` · `/v1/aiwg/skills/{name}` | List · load AIWG skill |\n| `GET` | `/v1/aiwg/agents` · `/v1/aiwg/agents/{name}` | List · load AIWG agent |\n| `GET` | `/v1/aiwg/addons` | List AIWG addons |\n| `POST` | `/v1/aiwg/use` · `/v1/aiwg/expand` | Activation bundle · expand item |\n\n### Memory, sessions, context\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/memory` | Memory backend summary |\n| `POST` | `/v1/memory/search` · `/v1/memory/write` | Search · write memory |\n| `GET` | `/v1/memory/episodes` · `/v1/memory/failures` | List episodes · failures |\n| `GET` | `/v1/sessions` · `/v1/sessions/{id}` | List task sessions · get history |\n| `GET` | `/v1/context` | Current context snapshot |\n| `POST` | `/v1/context/save` · `/v1/context/compact` | Save entry · request compaction |\n| `GET` | `/v1/context/restore` | Build restore prompt |\n\n### Files, nexus, ollama pool\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/files` | List workspace directory |\n| `POST` | `/v1/files/read` | Read workspace file |\n| `GET` | `/v1/nexus/status` | Nexus peer state |\n| `GET` | `/v1/sponsors` | Sponsor directory cache |\n| `GET` | `/v1/ollama/pool/processes` | Ollama process inventory |\n| `POST` | `/v1/ollama/pool/cleanup` | Cleanup stale Ollama pool processes |\n\n### Voice, audio, vision\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/voice/state` | Voice runtime status |\n| `GET`/`POST` | `/v1/voice/models` · `/v1/voice/models/switch` | List · switch TTS model |\n| `GET`/`POST` | `/v1/voice/supertonic-settings` | Read · update voice tuning |\n| `GET`/`POST` | `/v1/voice/asr-models` · `/v1/voice/asr-models/switch` | List · switch ASR model |\n| `POST` | `/v1/voice/tts` · `/v1/audio/speech` | Synthesize speech (+ OpenAI alias) |\n| `POST` | `/v1/voice/transcribe` · `/v1/audio/transcriptions` · `/v1/voice/transcribe/stream` | Transcribe (+ alias + streaming) |\n| `GET`/`POST` | `/v1/voice/clone-refs` | List · upload clone reference |\n| `POST` | `/v1/voice/clone-refs/upload` · `/v1/voice/clone-refs/from-url` | Upload · fetch clone reference |\n| `POST` | `/v1/voice/clone-refs/{filename}/activate` · `/v1/voice/clone-refs/{filename}/rename` | Activate · rename clone reference |\n| `DELETE` | `/v1/voice/clone-refs/{filename}` | Delete clone reference |\n| `POST` | `/v1/voice/speak` | Broadcast speech to voicechat clients |\n| `GET` | `/v1/voicechat/ws` | WebSocket upgrade for full-duplex voicechat |\n| `POST` | `/v1/vision/describe` | Vision describe placeholder |\n\n### Generative media\n\nBacked by the unified `~/.omnius` store and shared venvs (see [Shared Media Dependencies](#shared-media-dependencies)). Outputs land in the global gallery at `~/.omnius/media/{images,videos,audio,music}`.\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/media/models` | List available image/video/audio/music models |\n| `GET` | `/v1/media/store` | Unified store disk usage + reclaimable legacy caches |\n| `POST` | `/v1/media/migrate` | Dedup + migrate legacy per-group caches into the unified store |\n| `POST` | `/v1/media/image` · `/v1/media/video` · `/v1/media/audio` · `/v1/media/music` | Generate media (run scope) |\n| `GET` | `/v1/media/gallery` | List previously generated media (global, newest first) |\n| `GET` | `/v1/media/file` | Stream one generated media file |\n\n### Engines and scheduled jobs\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/engines` | Long-running engine status |\n| `GET` | `/v1/scheduled` · `/v1/scheduled/all` · `/v1/scheduled/status` | List · list all · scheduler status |\n| `POST` | `/v1/scheduled/kill` · `/v1/scheduled/fixup` · `/v1/scheduled/reconcile` | Kill · reconcile · force reconcile |\n| `GET` | `/v1/services/systemd` | Systemd service status |\n| `GET` | `/v1/update` | Self-update status |\n\n### AIMS governance (ISO/IEC 42001:2023)\n\n| Method | Path | Purpose |\n| --- | --- | --- |\n| `GET` | `/v1/aims` | AIMS root and endpoint index |\n| `GET`/`PUT` | `/v1/aims/policies` | Policy register · replace |\n| `GET` | `/v1/aims/roles` · `/v1/aims/resources` | Roles · resource inventory |\n| `GET`/`POST` | `/v1/aims/impact-assessments` | List · file impact assessment |\n| `GET` | `/v1/aims/lifecycle` · `/v1/aims/data-quality` · `/v1/aims/transparency` · `/v1/aims/usage` · `/v1/aims/suppliers` | Lifecycle, data quality, transparency, usage, suppliers |\n| `GET`/`POST` | `/v1/aims/incidents` | List · file incident |\n| `GET` | `/v1/aims/oversight` · `/v1/aims/decisions` · `/v1/aims/config-history` | Oversight gates · decision log · config history |\n\nFor per-endpoint schemas, parameters, and response shapes, see the served `/openapi.json` and the maintained inventory in [`docs/reference/rest-api.md`](docs/reference/rest-api.md).\n\n## Agent-Explorable Documentation\n\nOmnius discovers project-local docs skills from `.aiwg/addons/*/skills`. The docs bundles in this repo expose high-signal entrypoints for agents:\n\n```text\n/skills omnius docs\nskill_execute name=\"omnius-docs\"\nskill_execute name=\"omnius-rest-docs\"\nskill_extract name=\"omnius-realtime-docs\" query=\"How does realtime REST mode work?\"\n```\n\nThe intended pattern is index first, targeted document second, not loading the whole manual into the active context.\n\n## Development\n\n```bash\npnpm install\npnpm -r build\npnpm docs:check\n```\n\nFocused checks used for the docs skill surface:\n\n```bash\npnpm --filter @omnius/execution exec vitest run tests/skill-discovery.test.ts\npnpm --filter omnius exec vitest run tests/realtime-mode.test.ts tests/command-registry.test.ts\n```\n\n## Publishing\n\nPublish only from `publish/`.\n\n```bash\ncd omnius\npnpm -r clean || true\nfind . -name 'tsconfig.tsbuildinfo' -not -path '*/node_modules/*' -delete\npnpm -r build\nnode scripts/build-publish.mjs\ncd publish\nmkdir -p .npm-cache\nNPM_CONFIG_CACHE=$(pwd)/.npm-cache npm pack --prefer-online --cache-min=0 --registry https://registry.npmjs.org/\nNPM_CONFIG_CACHE=$(pwd)/.npm-cache npm publish --access public --prefer-online --cache-min=0 --registry https://registry.npmjs.org/\n```\n\nBefore publishing, verify `README.md`, `package.json`, `dist/index.js`, and `dist/launcher.cjs` are in the tarball, and that `package.json` includes `readmeFilename: \"README.md\"` plus a string `readme`.\n\n## License\n\nOmnius is released under [CC-BY-NC-4.0](LICENSE) for non-commercial use. Commercial use, redistribution, hosted services, and enterprise deployment require a commercial license.\n"
|
|
147
147
|
}
|