@nevermined-io/openclaw-plugin 1.0.14 → 1.0.16
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 +40 -25
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/paid-endpoint.d.ts.map +1 -1
- package/dist/paid-endpoint.js +21 -11
- package/dist/paid-endpoint.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +49 -21
- package/dist/tools.js.map +1 -1
- package/docs/commands.md +12 -15
- package/docs/getting-started.md +5 -5
- package/docs/guide.md +6 -6
- package/docs/setup.md +3 -3
- package/package.json +2 -3
- package/skills/nevermined/SKILL.md +16 -20
- package/docs/links.md +0 -38
package/README.md
CHANGED
|
@@ -12,16 +12,19 @@ openclaw plugin install @nevermined-io/openclaw-plugin
|
|
|
12
12
|
|
|
13
13
|
The plugin supports two ways to provide your Nevermined API key:
|
|
14
14
|
|
|
15
|
-
### Option A:
|
|
15
|
+
### Option A: Slash command (recommended)
|
|
16
16
|
|
|
17
|
-
Use the `/
|
|
17
|
+
Use the `/nvm_login` command from any chat channel. This opens a browser window where you authenticate with Nevermined, and the API key is captured automatically.
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
/
|
|
21
|
-
/
|
|
22
|
-
/
|
|
20
|
+
/nvm_login # Login to sandbox (default)
|
|
21
|
+
/nvm_login live # Login to live environment
|
|
22
|
+
/nvm_login <api-key> # Paste an API key directly
|
|
23
|
+
/nvm_logout # Remove stored API key
|
|
23
24
|
```
|
|
24
25
|
|
|
26
|
+
On headless servers where a browser can't open, the command provides manual instructions with a login URL.
|
|
27
|
+
|
|
25
28
|
### Option B: Manual configuration
|
|
26
29
|
|
|
27
30
|
Add your API key directly to `openclaw.json`:
|
|
@@ -29,12 +32,19 @@ Add your API key directly to `openclaw.json`:
|
|
|
29
32
|
```json
|
|
30
33
|
{
|
|
31
34
|
"plugins": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
"entries": {
|
|
36
|
+
"nevermined": {
|
|
37
|
+
"enabled": true,
|
|
38
|
+
"config": {
|
|
39
|
+
"nvmApiKey": "sandbox:eyJhbG...",
|
|
40
|
+
"environment": "sandbox",
|
|
41
|
+
"planId": "<your-plan-id>",
|
|
42
|
+
"agentId": "<your-agent-id>",
|
|
43
|
+
"creditsPerRequest": 1,
|
|
44
|
+
"enablePaidEndpoint": false,
|
|
45
|
+
"agentEndpointPath": "/nevermined/agent"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
38
48
|
}
|
|
39
49
|
}
|
|
40
50
|
}
|
|
@@ -44,41 +54,46 @@ Add your API key directly to `openclaw.json`:
|
|
|
44
54
|
|
|
45
55
|
| Field | Required | Default | Description |
|
|
46
56
|
|-------|----------|---------|-------------|
|
|
47
|
-
| `nvmApiKey` | No | — | Your Nevermined API key (or use `/
|
|
57
|
+
| `nvmApiKey` | No | — | Your Nevermined API key (or use `/nvm_login`) |
|
|
48
58
|
| `environment` | No | `sandbox` | `sandbox` or `live` |
|
|
49
59
|
| `planId` | No | — | Default plan ID for subscriber tools |
|
|
50
60
|
| `agentId` | No | — | Default agent ID for multi-agent plans |
|
|
51
61
|
| `creditsPerRequest` | No | `1` | Credits consumed per request |
|
|
62
|
+
| `enablePaidEndpoint` | No | `false` | Enable the x402 paid HTTP endpoint on the gateway |
|
|
63
|
+
| `agentEndpointPath` | No | `/nevermined/agent` | HTTP path for the paid agent endpoint |
|
|
52
64
|
|
|
53
65
|
## Available Tools
|
|
54
66
|
|
|
55
|
-
###
|
|
67
|
+
### Slash Commands
|
|
56
68
|
|
|
57
|
-
|
|
|
58
|
-
|
|
59
|
-
|
|
|
60
|
-
|
|
|
69
|
+
| Command | Description |
|
|
70
|
+
|---------|-------------|
|
|
71
|
+
| `/nvm_login [environment]` | Authenticate via browser login or paste an API key |
|
|
72
|
+
| `/nvm_logout` | Remove stored API key |
|
|
61
73
|
|
|
62
74
|
### Subscriber Tools
|
|
63
75
|
|
|
64
76
|
| Tool | Description | Key Params |
|
|
65
77
|
|------|-------------|------------|
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
78
|
+
| `nevermined_checkBalance` | Check credit balance for a plan | `planId` |
|
|
79
|
+
| `nevermined_getAccessToken` | Get an x402 access token | `planId`, `agentId` |
|
|
80
|
+
| `nevermined_orderPlan` | Purchase a payment plan | `planId` |
|
|
81
|
+
| `nevermined_queryAgent` | Query an agent end-to-end | `agentUrl`, `prompt`, `planId`, `agentId` |
|
|
70
82
|
|
|
71
83
|
### Builder Tools
|
|
72
84
|
|
|
73
85
|
| Tool | Description | Key Params |
|
|
74
86
|
|------|-------------|------------|
|
|
75
|
-
| `
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
87
|
+
| `nevermined_registerAgent` | Register an agent with a plan | `name`, `agentUrl`, `planName`, `priceAmounts`, `priceReceivers`, `creditsAmount`, `tokenAddress` |
|
|
88
|
+
| `nevermined_createPlan` | Create a payment plan | `name`, `priceAmounts`, `priceReceivers`, `creditsAmount`, `tokenAddress` |
|
|
89
|
+
| `nevermined_listPlans` | List your plans | — |
|
|
78
90
|
|
|
79
91
|
## Documentation
|
|
80
92
|
|
|
81
|
-
- [
|
|
93
|
+
- [User Guide](./guide.md) — step-by-step tutorial building a paid Weather Oracle agent
|
|
94
|
+
- [Commands Reference](./commands.md) — full parameter documentation for all tools
|
|
95
|
+
- [Setup Reference](./setup.md) — detailed configuration options
|
|
96
|
+
- [Nevermined Docs](https://nevermined.ai/docs)
|
|
82
97
|
- [Payments SDK](https://github.com/nevermined-io/payments)
|
|
83
98
|
|
|
84
99
|
## License
|
package/dist/auth.js
CHANGED
|
@@ -35,7 +35,7 @@ export function getApiKeyUrl(environment) {
|
|
|
35
35
|
* API keys have the format "environment:base64token".
|
|
36
36
|
*/
|
|
37
37
|
export function looksLikeApiKey(value) {
|
|
38
|
-
return /^(sandbox|live
|
|
38
|
+
return /^(sandbox|live):/.test(value.trim());
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Starts a one-shot HTTP server, opens the Nevermined login page in the browser,
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,YAAY;AAEnD,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAA;AAQD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,WAA4B;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,QAAQ,QAAQ,CAAA;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,WAA4B;IACvD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,QAAQ,iCAAiC,CAAA;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -14,7 +14,7 @@ export function validateConfig(raw) {
|
|
|
14
14
|
}
|
|
15
15
|
export function requireApiKey(config) {
|
|
16
16
|
if (!config.nvmApiKey) {
|
|
17
|
-
throw new Error('Not authenticated. Run
|
|
17
|
+
throw new Error('Not authenticated. Run /nvm_login first.');
|
|
18
18
|
}
|
|
19
19
|
return config.nvmApiKey;
|
|
20
20
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;CAC3D,CAAC,CAAA;AAIF,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA8B;IAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;CAC3D,CAAC,CAAA;AAIF,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA8B;IAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA8B;IACrE,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC1B,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAA8B;KACnD,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paid-endpoint.d.ts","sourceRoot":"","sources":["../src/paid-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAA;AAErE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI,
|
|
1
|
+
{"version":3,"file":"paid-endpoint.d.ts","sourceRoot":"","sources":["../src/paid-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAA;AAErE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAEzE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI,CA8GN;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnF"}
|
package/dist/paid-endpoint.js
CHANGED
|
@@ -8,15 +8,7 @@ export function registerPaidEndpoint(api, getPayments, config, agentHandler) {
|
|
|
8
8
|
const path = config.agentEndpointPath ?? '/nevermined/agent';
|
|
9
9
|
const handler = agentHandler ?? mockWeatherHandler;
|
|
10
10
|
const routeHandler = async (req, res) => {
|
|
11
|
-
// 1.
|
|
12
|
-
const accessToken = getHeader(req.headers, 'payment-signature') ??
|
|
13
|
-
getHeader(req.headers, 'PAYMENT-SIGNATURE');
|
|
14
|
-
if (!accessToken) {
|
|
15
|
-
res.writeHead(402, { 'Content-Type': 'application/json' });
|
|
16
|
-
res.end(JSON.stringify({ error: 'Payment required — missing payment-signature header' }));
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
// 2. Build payment required descriptor
|
|
11
|
+
// 1. Build payment required descriptor
|
|
20
12
|
const planId = config.planId;
|
|
21
13
|
if (!planId) {
|
|
22
14
|
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
@@ -28,7 +20,19 @@ export function registerPaidEndpoint(api, getPayments, config, agentHandler) {
|
|
|
28
20
|
agentId: config.agentId,
|
|
29
21
|
httpVerb: 'POST',
|
|
30
22
|
});
|
|
23
|
+
const paymentRequiredHeader = Buffer.from(JSON.stringify(paymentRequired)).toString('base64');
|
|
31
24
|
const maxAmount = BigInt(config.creditsPerRequest ?? 1);
|
|
25
|
+
// 2. Extract payment signature
|
|
26
|
+
const accessToken = getHeader(req.headers, 'payment-signature') ??
|
|
27
|
+
getHeader(req.headers, 'PAYMENT-SIGNATURE');
|
|
28
|
+
if (!accessToken) {
|
|
29
|
+
res.writeHead(402, {
|
|
30
|
+
'Content-Type': 'application/json',
|
|
31
|
+
'payment-required': paymentRequiredHeader,
|
|
32
|
+
});
|
|
33
|
+
res.end(JSON.stringify({ error: 'Payment required — missing payment-signature header' }));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
32
36
|
// 3. Verify permissions (check credits without burning)
|
|
33
37
|
try {
|
|
34
38
|
const verification = await getPayments().facilitator.verifyPermissions({
|
|
@@ -37,7 +41,10 @@ export function registerPaidEndpoint(api, getPayments, config, agentHandler) {
|
|
|
37
41
|
maxAmount,
|
|
38
42
|
});
|
|
39
43
|
if (!verification.isValid) {
|
|
40
|
-
res.writeHead(402, {
|
|
44
|
+
res.writeHead(402, {
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
'payment-required': paymentRequiredHeader,
|
|
47
|
+
});
|
|
41
48
|
res.end(JSON.stringify({
|
|
42
49
|
error: 'Insufficient credits — order the plan first',
|
|
43
50
|
details: verification,
|
|
@@ -46,7 +53,10 @@ export function registerPaidEndpoint(api, getPayments, config, agentHandler) {
|
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
55
|
catch (err) {
|
|
49
|
-
res.writeHead(402, {
|
|
56
|
+
res.writeHead(402, {
|
|
57
|
+
'Content-Type': 'application/json',
|
|
58
|
+
'payment-required': paymentRequiredHeader,
|
|
59
|
+
});
|
|
50
60
|
res.end(JSON.stringify({
|
|
51
61
|
error: 'Payment verification failed',
|
|
52
62
|
message: err instanceof Error ? err.message : String(err),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paid-endpoint.js","sourceRoot":"","sources":["../src/paid-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAM9D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAsB,EACtB,WAA2B,EAC3B,MAA8B,EAC9B,YAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,IAAI,mBAAmB,CAAA;IAC5D,MAAM,OAAO,GAAG,YAAY,IAAI,kBAAkB,CAAA;IAElD,MAAM,YAAY,GAAqB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxD
|
|
1
|
+
{"version":3,"file":"paid-endpoint.js","sourceRoot":"","sources":["../src/paid-endpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,QAAQ,EAC3B,MAAM,EAAE,sBAAsB,GAC7B,UAAU,EAAE,CAgSd;AAID,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/E;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/C"}
|
package/dist/tools.js
CHANGED
|
@@ -173,42 +173,70 @@ export function createTools(getPayments, config) {
|
|
|
173
173
|
{
|
|
174
174
|
name: 'nevermined_createPlan',
|
|
175
175
|
label: 'Nevermined Create Plan',
|
|
176
|
-
description: 'Create a new payment plan on Nevermined',
|
|
176
|
+
description: 'Create a new payment plan on Nevermined. Supports fiat (Stripe), ERC20 tokens (USDC), and native crypto pricing.',
|
|
177
177
|
parameters: {
|
|
178
178
|
type: 'object',
|
|
179
179
|
properties: {
|
|
180
180
|
name: { type: 'string', description: 'Plan name' },
|
|
181
181
|
description: { type: 'string', description: 'Plan description' },
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
priceAmount: { type: 'string', description: 'Price amount — in cents for fiat (e.g. "100" = $1.00), in token smallest unit for crypto (e.g. "1000000" = 1 USDC)' },
|
|
183
|
+
receiver: { type: 'string', description: 'Receiver wallet address (0x...)' },
|
|
184
184
|
creditsAmount: { type: 'number', description: 'Number of credits in the plan' },
|
|
185
|
+
pricingType: { type: 'string', description: '"fiat" for Stripe/USD, "erc20" for ERC20 tokens like USDC, "crypto" for native token (default: crypto)' },
|
|
185
186
|
accessLimit: { type: 'string', description: '"credits" or "time" (default: credits)' },
|
|
186
|
-
tokenAddress: { type: 'string', description: 'ERC20 token address
|
|
187
|
+
tokenAddress: { type: 'string', description: 'ERC20 token contract address. Required when pricingType is "erc20".' },
|
|
187
188
|
},
|
|
188
|
-
required: ['name', '
|
|
189
|
+
required: ['name', 'priceAmount', 'receiver', 'creditsAmount'],
|
|
189
190
|
},
|
|
190
191
|
async execute(_id, params) {
|
|
191
192
|
const name = requireStr(params, 'name');
|
|
192
193
|
const description = str(params, 'description') ?? '';
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
.map((s) => BigInt(s.trim()));
|
|
196
|
-
const priceReceivers = requireStr(params, 'priceReceivers')
|
|
197
|
-
.split(',')
|
|
198
|
-
.map((s) => s.trim());
|
|
194
|
+
const priceAmount = BigInt(requireStr(params, 'priceAmount'));
|
|
195
|
+
const receiver = requireStr(params, 'receiver');
|
|
199
196
|
const creditsAmount = Number(requireStr(params, 'creditsAmount'));
|
|
197
|
+
const pricingType = (str(params, 'pricingType') ?? 'crypto');
|
|
200
198
|
const accessLimit = (str(params, 'accessLimit') ?? 'credits');
|
|
201
199
|
const tokenAddress = str(params, 'tokenAddress');
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
200
|
+
let priceConfig;
|
|
201
|
+
switch (pricingType) {
|
|
202
|
+
case 'fiat':
|
|
203
|
+
priceConfig = {
|
|
204
|
+
amounts: [priceAmount],
|
|
205
|
+
receivers: [receiver],
|
|
206
|
+
isCrypto: false,
|
|
207
|
+
tokenAddress: ZERO_ADDRESS,
|
|
208
|
+
contractAddress: ZERO_ADDRESS,
|
|
209
|
+
feeController: ZERO_ADDRESS,
|
|
210
|
+
externalPriceAddress: ZERO_ADDRESS,
|
|
211
|
+
templateAddress: ZERO_ADDRESS,
|
|
212
|
+
};
|
|
213
|
+
break;
|
|
214
|
+
case 'erc20':
|
|
215
|
+
if (!tokenAddress)
|
|
216
|
+
throw new Error('tokenAddress is required when pricingType is "erc20"');
|
|
217
|
+
priceConfig = {
|
|
218
|
+
amounts: [priceAmount],
|
|
219
|
+
receivers: [receiver],
|
|
220
|
+
isCrypto: true,
|
|
221
|
+
tokenAddress,
|
|
222
|
+
contractAddress: ZERO_ADDRESS,
|
|
223
|
+
feeController: ZERO_ADDRESS,
|
|
224
|
+
externalPriceAddress: ZERO_ADDRESS,
|
|
225
|
+
templateAddress: ZERO_ADDRESS,
|
|
226
|
+
};
|
|
227
|
+
break;
|
|
228
|
+
default:
|
|
229
|
+
priceConfig = {
|
|
230
|
+
amounts: [priceAmount],
|
|
231
|
+
receivers: [receiver],
|
|
232
|
+
isCrypto: true,
|
|
233
|
+
tokenAddress: tokenAddress ?? ZERO_ADDRESS,
|
|
234
|
+
contractAddress: ZERO_ADDRESS,
|
|
235
|
+
feeController: ZERO_ADDRESS,
|
|
236
|
+
externalPriceAddress: ZERO_ADDRESS,
|
|
237
|
+
templateAddress: ZERO_ADDRESS,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
212
240
|
const res = await getPayments().plans.registerPlan({ name, description, accessLimit }, priceConfig, {
|
|
213
241
|
isRedemptionAmountFixed: true,
|
|
214
242
|
redemptionType: 4,
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/docs/commands.md
CHANGED
|
@@ -10,7 +10,7 @@ The plugin provides slash commands for chat channels and gateway methods for pro
|
|
|
10
10
|
|
|
11
11
|
## Authentication
|
|
12
12
|
|
|
13
|
-
### `/
|
|
13
|
+
### `/nvm_login [environment]`
|
|
14
14
|
|
|
15
15
|
Authenticate with Nevermined via browser login.
|
|
16
16
|
|
|
@@ -18,29 +18,26 @@ Authenticate with Nevermined via browser login.
|
|
|
18
18
|
|-----------|------|----------|---------|-------------|
|
|
19
19
|
| `environment` | string | No | `sandbox` | `sandbox` or `live` |
|
|
20
20
|
|
|
21
|
-
**Gateway method:** `nevermined.login`
|
|
22
|
-
|
|
23
21
|
**Example:**
|
|
24
22
|
```
|
|
25
|
-
/
|
|
26
|
-
/
|
|
23
|
+
/nvm_login
|
|
24
|
+
/nvm_login live
|
|
25
|
+
/nvm_login sandbox:eyJhbG...
|
|
27
26
|
```
|
|
28
27
|
|
|
29
28
|
---
|
|
30
29
|
|
|
31
|
-
### `/
|
|
30
|
+
### `/nvm_logout`
|
|
32
31
|
|
|
33
32
|
Log out from Nevermined and remove the stored API key.
|
|
34
33
|
|
|
35
|
-
**Gateway method:** `nevermined.logout`
|
|
36
|
-
|
|
37
34
|
---
|
|
38
35
|
|
|
39
36
|
## Subscriber Tools
|
|
40
37
|
|
|
41
38
|
These tools are for users who want to subscribe to plans, check balances, and query agents.
|
|
42
39
|
|
|
43
|
-
### `
|
|
40
|
+
### `nevermined_checkBalance`
|
|
44
41
|
|
|
45
42
|
Check the credit balance for a payment plan.
|
|
46
43
|
|
|
@@ -60,7 +57,7 @@ Check the credit balance for a payment plan.
|
|
|
60
57
|
|
|
61
58
|
---
|
|
62
59
|
|
|
63
|
-
### `
|
|
60
|
+
### `nevermined_getAccessToken`
|
|
64
61
|
|
|
65
62
|
Get an x402 access token for authenticating requests to a Nevermined agent.
|
|
66
63
|
|
|
@@ -78,7 +75,7 @@ Get an x402 access token for authenticating requests to a Nevermined agent.
|
|
|
78
75
|
|
|
79
76
|
---
|
|
80
77
|
|
|
81
|
-
### `
|
|
78
|
+
### `nevermined_orderPlan`
|
|
82
79
|
|
|
83
80
|
Purchase (order) a Nevermined payment plan.
|
|
84
81
|
|
|
@@ -90,7 +87,7 @@ Purchase (order) a Nevermined payment plan.
|
|
|
90
87
|
|
|
91
88
|
---
|
|
92
89
|
|
|
93
|
-
### `
|
|
90
|
+
### `nevermined_queryAgent`
|
|
94
91
|
|
|
95
92
|
End-to-end agent query: acquires an x402 access token, sends the prompt to the agent URL with the `PAYMENT-SIGNATURE` header, and returns the response.
|
|
96
93
|
|
|
@@ -110,7 +107,7 @@ If the agent returns a 402 (Payment Required) response, the tool returns an erro
|
|
|
110
107
|
|
|
111
108
|
These tools are for agent builders who want to register agents and create payment plans.
|
|
112
109
|
|
|
113
|
-
### `
|
|
110
|
+
### `nevermined_registerAgent`
|
|
114
111
|
|
|
115
112
|
Register a new AI agent with an associated payment plan.
|
|
116
113
|
|
|
@@ -136,7 +133,7 @@ Register a new AI agent with an associated payment plan.
|
|
|
136
133
|
|
|
137
134
|
---
|
|
138
135
|
|
|
139
|
-
### `
|
|
136
|
+
### `nevermined_createPlan`
|
|
140
137
|
|
|
141
138
|
Create a standalone payment plan (without an agent).
|
|
142
139
|
|
|
@@ -159,7 +156,7 @@ Create a standalone payment plan (without an agent).
|
|
|
159
156
|
|
|
160
157
|
---
|
|
161
158
|
|
|
162
|
-
### `
|
|
159
|
+
### `nevermined_listPlans`
|
|
163
160
|
|
|
164
161
|
List the builder's payment plans. No parameters required.
|
|
165
162
|
|
package/docs/getting-started.md
CHANGED
|
@@ -26,10 +26,10 @@ openclaw plugin install @nevermined-io/openclaw-plugin
|
|
|
26
26
|
|
|
27
27
|
### Option A: Browser login (recommended)
|
|
28
28
|
|
|
29
|
-
Use the `/
|
|
29
|
+
Use the `/nvm_login` command from any connected chat channel:
|
|
30
30
|
|
|
31
31
|
```
|
|
32
|
-
/
|
|
32
|
+
/nvm_login
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
This opens a browser window where you authenticate with Nevermined. The API key is captured automatically and stored in your gateway config.
|
|
@@ -37,7 +37,7 @@ This opens a browser window where you authenticate with Nevermined. The API key
|
|
|
37
37
|
To target the live environment:
|
|
38
38
|
|
|
39
39
|
```
|
|
40
|
-
/
|
|
40
|
+
/nvm_login live
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
### Option B: Manual configuration
|
|
@@ -66,9 +66,9 @@ You can obtain an API key from the [Nevermined App](https://nevermined.app) unde
|
|
|
66
66
|
|
|
67
67
|
After authenticating, verify the plugin is working:
|
|
68
68
|
|
|
69
|
-
1. **Check your balance** — from any chat channel, the agent can call `
|
|
69
|
+
1. **Check your balance** — from any chat channel, the agent can call `nevermined_checkBalance` to verify connectivity.
|
|
70
70
|
|
|
71
|
-
2. **List plans** — call `
|
|
71
|
+
2. **List plans** — call `nevermined_listPlans` to see available payment plans.
|
|
72
72
|
|
|
73
73
|
## Next Steps
|
|
74
74
|
|
package/docs/guide.md
CHANGED
|
@@ -6,7 +6,7 @@ icon: "book-open"
|
|
|
6
6
|
|
|
7
7
|
# Building a Paid AI Agent with OpenClaw and Nevermined
|
|
8
8
|
|
|
9
|
-
The Nevermined OpenClaw plugin lets you monetize AI agents directly from chat channels. Subscribers pay per-request using the [x402 payment protocol](https://
|
|
9
|
+
The Nevermined OpenClaw plugin lets you monetize AI agents directly from chat channels. Subscribers pay per-request using the [x402 payment protocol](https://nevermined.ai/docs/api-reference/typescript/x402-protocol), and builders collect revenue automatically through on-chain payment plans.
|
|
10
10
|
|
|
11
11
|
This guide walks through building a **Weather Oracle** — a paid agent that serves weather forecasts and charges 1 credit per request.
|
|
12
12
|
|
|
@@ -216,7 +216,7 @@ The balance is cached for 60 seconds to avoid excessive API calls.
|
|
|
216
216
|
|
|
217
217
|
## How It Works
|
|
218
218
|
|
|
219
|
-
The plugin implements the [x402 payment protocol](https://
|
|
219
|
+
The plugin implements the [x402 payment protocol](https://nevermined.ai/docs/api-reference/typescript/x402-protocol) for agent-to-agent payments:
|
|
220
220
|
|
|
221
221
|
```
|
|
222
222
|
Subscriber Claw Builder Claw (Gateway)
|
|
@@ -240,8 +240,8 @@ Credits are managed on-chain through the Nevermined Protocol. The `verifyPermiss
|
|
|
240
240
|
|
|
241
241
|
## Next Steps
|
|
242
242
|
|
|
243
|
-
- [Commands Reference](./commands) — full parameter documentation for all tools
|
|
244
|
-
- [Setup Reference](./setup) — detailed configuration options
|
|
245
|
-
- [Nevermined Docs](https://
|
|
246
|
-
- [x402 Protocol](https://
|
|
243
|
+
- [Commands Reference](./commands.md) — full parameter documentation for all tools
|
|
244
|
+
- [Setup Reference](./setup.md) — detailed configuration options
|
|
245
|
+
- [Nevermined Docs](https://nevermined.ai/docs) — platform documentation
|
|
246
|
+
- [x402 Protocol](https://nevermined.ai/docs/api-reference/typescript/x402-protocol) — payment protocol specification
|
|
247
247
|
- [OpenClaw Plugin Development](https://docs.openclaw.ai/tools/plugin) — building OpenClaw plugins
|
package/docs/setup.md
CHANGED
|
@@ -54,17 +54,17 @@ The plugin reads its configuration from the `plugins.nevermined` section of your
|
|
|
54
54
|
|
|
55
55
|
The plugin supports a browser-based login flow identical to the [Nevermined CLI](/docs/api-reference/cli/getting-started):
|
|
56
56
|
|
|
57
|
-
1. User sends `/
|
|
57
|
+
1. User sends `/nvm_login` in any chat channel
|
|
58
58
|
2. The plugin starts a local HTTP server on a random port
|
|
59
59
|
3. A browser window opens to the Nevermined login page
|
|
60
60
|
4. After authentication, Nevermined redirects back with the API key
|
|
61
|
-
5. The key is stored in the
|
|
61
|
+
5. The key is stored in the plugin's in-memory config for the current session
|
|
62
62
|
|
|
63
63
|
The login times out after 5 minutes if no authentication is received.
|
|
64
64
|
|
|
65
65
|
### Logging Out
|
|
66
66
|
|
|
67
|
-
Send `/
|
|
67
|
+
Send `/nvm_logout` or call `nvm_logout` to remove the stored API key. All payment tools will require re-authentication after logout.
|
|
68
68
|
|
|
69
69
|
## Default Values
|
|
70
70
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nevermined-io/openclaw-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"description": "OpenClaw plugin for Nevermined — exposes subscriber and builder tools as gateway methods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,8 +34,7 @@
|
|
|
34
34
|
"typescript": "^5.4.0",
|
|
35
35
|
"eslint": "^8.57.0",
|
|
36
36
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
37
|
-
"@typescript-eslint/parser": "^7.0.0"
|
|
38
|
-
"zod": "^3.23.0"
|
|
37
|
+
"@typescript-eslint/parser": "^7.0.0"
|
|
39
38
|
},
|
|
40
39
|
"dependencies": {
|
|
41
40
|
"zod": "^3.23.0"
|
|
@@ -11,36 +11,29 @@ This plugin provides gateway tools for interacting with Nevermined AI agent paym
|
|
|
11
11
|
|
|
12
12
|
## Authentication
|
|
13
13
|
|
|
14
|
-
### `/
|
|
15
|
-
Authenticate with Nevermined via browser login. Opens a browser window to obtain an API key.
|
|
14
|
+
### `/nvm_login [environment]`
|
|
15
|
+
Authenticate with Nevermined via browser login. Opens a browser window to obtain an API key. You can also paste an API key directly: `/nvm_login <api-key>`.
|
|
16
16
|
- `environment` (optional) — `sandbox` or `live` (default: from config)
|
|
17
17
|
|
|
18
|
-
### `/
|
|
18
|
+
### `/nvm_logout`
|
|
19
19
|
Log out from Nevermined and remove the stored API key.
|
|
20
20
|
|
|
21
|
-
### `nevermined.login`
|
|
22
|
-
Gateway method equivalent of `/nvm-login`.
|
|
23
|
-
- `environment` (optional)
|
|
24
|
-
|
|
25
|
-
### `nevermined.logout`
|
|
26
|
-
Gateway method equivalent of `/nvm-logout`.
|
|
27
|
-
|
|
28
21
|
## Subscriber Tools
|
|
29
22
|
|
|
30
|
-
### `
|
|
23
|
+
### `nevermined_checkBalance`
|
|
31
24
|
Check credit balance for a payment plan.
|
|
32
25
|
- `planId` (optional if set in config) — the plan to check
|
|
33
26
|
|
|
34
|
-
### `
|
|
27
|
+
### `nevermined_getAccessToken`
|
|
35
28
|
Get an x402 access token for authenticating agent requests.
|
|
36
29
|
- `planId` (optional if set in config)
|
|
37
30
|
- `agentId` (optional if set in config)
|
|
38
31
|
|
|
39
|
-
### `
|
|
32
|
+
### `nevermined_orderPlan`
|
|
40
33
|
Purchase a payment plan.
|
|
41
34
|
- `planId` (optional if set in config)
|
|
42
35
|
|
|
43
|
-
### `
|
|
36
|
+
### `nevermined_queryAgent`
|
|
44
37
|
End-to-end agent query — acquires a token, calls the agent, returns the response.
|
|
45
38
|
- `agentUrl` (required) — the agent endpoint URL
|
|
46
39
|
- `prompt` (required) — the prompt to send
|
|
@@ -50,7 +43,7 @@ End-to-end agent query — acquires a token, calls the agent, returns the respon
|
|
|
50
43
|
|
|
51
44
|
## Builder Tools
|
|
52
45
|
|
|
53
|
-
### `
|
|
46
|
+
### `nevermined_registerAgent`
|
|
54
47
|
Register a new AI agent with a payment plan.
|
|
55
48
|
- `name` (required) — agent name
|
|
56
49
|
- `agentUrl` (required) — agent endpoint
|
|
@@ -58,14 +51,17 @@ Register a new AI agent with a payment plan.
|
|
|
58
51
|
- `priceAmounts` (required) — comma-separated prices in wei
|
|
59
52
|
- `priceReceivers` (required) — comma-separated receiver addresses
|
|
60
53
|
- `creditsAmount` (required) — number of credits
|
|
54
|
+
- `tokenAddress` (optional) — ERC20 token address (e.g. USDC). Omit for native token.
|
|
61
55
|
|
|
62
|
-
### `
|
|
63
|
-
Create a standalone payment plan.
|
|
56
|
+
### `nevermined_createPlan`
|
|
57
|
+
Create a standalone payment plan. Supports fiat (Stripe), ERC20 tokens (USDC), and native crypto pricing.
|
|
64
58
|
- `name` (required) — plan name
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
59
|
+
- `priceAmount` (required) — price in cents for fiat (e.g. "100" = $1.00), in token smallest unit for crypto (e.g. "1000000" = 1 USDC)
|
|
60
|
+
- `receiver` (required) — receiver wallet address (0x...)
|
|
67
61
|
- `creditsAmount` (required) — number of credits
|
|
62
|
+
- `pricingType` (optional) — `"fiat"` for Stripe/USD, `"erc20"` for ERC20 tokens like USDC, `"crypto"` for native token (default: crypto)
|
|
68
63
|
- `accessLimit` (optional) — `"credits"` or `"time"`
|
|
64
|
+
- `tokenAddress` (optional) — ERC20 token contract address. Required when pricingType is "erc20".
|
|
69
65
|
|
|
70
|
-
### `
|
|
66
|
+
### `nevermined_listPlans`
|
|
71
67
|
List your payment plans. No parameters.
|
package/docs/links.md
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Resources"
|
|
3
|
-
description: "Links to Nevermined documentation, SDKs, and community resources"
|
|
4
|
-
icon: "book"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Resources
|
|
8
|
-
|
|
9
|
-
## Nevermined Documentation
|
|
10
|
-
|
|
11
|
-
| Resource | Description |
|
|
12
|
-
|----------|-------------|
|
|
13
|
-
| [Nevermined Docs](https://docs.nevermined.app) | Full platform documentation |
|
|
14
|
-
| [Get Your API Key](https://docs.nevermined.app/docs/getting-started/get-your-api-key) | How to create a Nevermined account and obtain an API key |
|
|
15
|
-
| [Payment Plans](https://docs.nevermined.app/docs/api-reference/typescript/payment-plans-and-agents) | Creating and managing payment plans |
|
|
16
|
-
| [Querying Agents](https://docs.nevermined.app/docs/api-reference/typescript/querying-an-agent) | How to query agents using x402 access tokens |
|
|
17
|
-
| [x402 Protocol](https://docs.nevermined.app/docs/api-reference/typescript/x402-protocol) | The HTTP payment protocol specification |
|
|
18
|
-
|
|
19
|
-
## SDKs
|
|
20
|
-
|
|
21
|
-
| SDK | Language | Package |
|
|
22
|
-
|-----|----------|---------|
|
|
23
|
-
| [Payments SDK](https://github.com/nevermined-io/payments) | TypeScript | `@nevermined-io/payments` |
|
|
24
|
-
| [Payments SDK (Python)](https://github.com/nevermined-io/payments-py) | Python | `payments-py` |
|
|
25
|
-
| [Nevermined CLI](https://www.npmjs.com/package/@nevermined-io/cli) | TypeScript | `@nevermined-io/cli` |
|
|
26
|
-
|
|
27
|
-
## OpenClaw
|
|
28
|
-
|
|
29
|
-
| Resource | Description |
|
|
30
|
-
|----------|-------------|
|
|
31
|
-
| [OpenClaw Docs](https://docs.openclaw.ai) | OpenClaw gateway documentation |
|
|
32
|
-
| [Plugin Development](https://docs.openclaw.ai/tools/plugin) | How to build OpenClaw plugins |
|
|
33
|
-
|
|
34
|
-
## Support
|
|
35
|
-
|
|
36
|
-
- [GitHub Issues](https://github.com/nevermined-io/payments/issues) — report bugs or request features
|
|
37
|
-
- [Nevermined Discord](https://discord.gg/nevermined) — community support
|
|
38
|
-
- [Nevermined App](https://nevermined.app) — manage your account, plans, and agents
|