@framers/agentos-ext-openwakeword 0.2.2 → 0.2.3

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 ADDED
@@ -0,0 +1,54 @@
1
+ # OpenWakeWord
2
+
3
+ This pack registers a wake-word provider for the AgentOS voice pipeline. It runs a local OpenWakeWord ONNX model through `onnxruntime-node` using audio energy and zero-crossing features.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @framers/agentos-ext-openwakeword
9
+ ```
10
+
11
+ Peer dependencies: `@framers/agentos` (`>=0.10.40`) and `onnxruntime-node` (`^1.17.0`).
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import { AgentOS } from '@framers/agentos';
17
+
18
+ const agentos = await AgentOS.create({
19
+ extensionManifest: {
20
+ packs: [
21
+ {
22
+ package: '@framers/agentos-ext-openwakeword',
23
+ options: {
24
+ modelPath: process.env.OPENWAKEWORD_MODEL_PATH,
25
+ threshold: 0.5,
26
+ keyword: 'hey mycroft',
27
+ },
28
+ },
29
+ ],
30
+ },
31
+ });
32
+ ```
33
+
34
+ ## Configuration
35
+
36
+ The pack reads no secrets. An explicit `modelPath` takes precedence over its environment fallback.
37
+
38
+ | Option | Secret id | Environment variable | Required | Default |
39
+ | --- | --- | --- | --- | --- |
40
+ | `modelPath` | None | `OPENWAKEWORD_MODEL_PATH` | No | `~/.agentos/models/openwakeword/hey_mycroft.onnx`, under the user's home directory |
41
+ | `threshold` | None | None | No | `0.5` |
42
+ | `keyword` | None | None | No | `hey mycroft` |
43
+
44
+ ## Notes
45
+
46
+ A local ONNX model file and the runtime peer dependency are needed for detection. The session loads on the first `detect` call; the pack does not download a model.
47
+
48
+ `detect` accepts signed PCM frames as `Int16Array`. The sample-rate argument is informational and is not validated or used to resample audio. The model receives a `float32` tensor named `input` containing normalized RMS energy and zero-crossing rate. Its input must accept that feature layout. The provider reads the leading probability from the leading output tensor.
49
+
50
+ A probability strictly greater than `threshold` returns `keyword`, `confidence` and `providerId`. Other results return `null`. `keyword` labels the detection and does not select the model. `reset` has no effect. `dispose` releases the loaded session when a release method exists and clears its reference.
51
+
52
+ ## License
53
+
54
+ Apache-2.0
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-ext-openwakeword",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Wake-word detection via OpenWakeWord ONNX models",
5
5
  "kind": "wake-word-provider",
6
6
  "extensionId": "openwakeword",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-ext-openwakeword",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Wake-word detection via OpenWakeWord ONNX models for AgentOS voice pipeline",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "onnxruntime-node": "^1.17.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@framers/agentos": "^0.13.40",
25
+ "@framers/agentos": "^0.13.47",
26
26
  "typescript": "^5.5.0",
27
27
  "vitest": "^3.2.7"
28
28
  },