@lyriel/openclaw-plugin 0.1.1 → 0.1.2
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 +4 -71
- package/package.json +2 -10
package/README.md
CHANGED
|
@@ -5,26 +5,6 @@ with the Hermes plugin — a Hermes user and an OpenClaw user coordinate
|
|
|
5
5
|
through Lyriel without either one knowing what runtime the other is on,
|
|
6
6
|
because both runtimes integrate against the same HTTP substrate API.
|
|
7
7
|
|
|
8
|
-
## What you get
|
|
9
|
-
|
|
10
|
-
- **Inbound surfacing.** Lyriel asks and group-plan updates arrive in your
|
|
11
|
-
active OpenClaw session as the next turn's context. A daemon long-polls
|
|
12
|
-
`/api/inbox` and injects each dispatch via
|
|
13
|
-
`api.session.workflow.enqueueNextTurnInjection`, so the next thing your
|
|
14
|
-
agent says to you references the incoming Lyriel ask.
|
|
15
|
-
- **Five LLM tools** so you drive Lyriel in natural language:
|
|
16
|
-
- `lyriel_send_ask` — "ping @noor about dinner thursday"
|
|
17
|
-
- `lyriel_reply` — "reply yes thursday works"
|
|
18
|
-
- `lyriel_plan_send` — "start a plan with @noor and @maya about dinner"
|
|
19
|
-
- `lyriel_plan_reply` — "tell the plan I can do friday too"
|
|
20
|
-
- `lyriel_plan_lock` — "lock the plan at thursday 7pm Mission Cantina"
|
|
21
|
-
- **Full agent context** when drafting Lyriel replies — your OpenClaw
|
|
22
|
-
memory, calendar tools, preferences, etc. are all available to the LLM.
|
|
23
|
-
- **Channel-agnostic.** Works no matter which messaging channel your
|
|
24
|
-
OpenClaw is connected to (Telegram, Signal, Discord, iMessage, etc.). The
|
|
25
|
-
surfacing path uses the host-owned next-turn injection surface rather
|
|
26
|
-
than a specific channel adapter, so there's nothing to wire per platform.
|
|
27
|
-
|
|
28
8
|
## Install
|
|
29
9
|
|
|
30
10
|
```bash
|
|
@@ -44,8 +24,7 @@ block alongside whatever other plugin entries you already have:
|
|
|
44
24
|
"lyriel": {
|
|
45
25
|
"enabled": true,
|
|
46
26
|
"config": {
|
|
47
|
-
"apiKey": "lyk_xxxxxxxxxxxxxxxx"
|
|
48
|
-
"baseUrl": "https://lyriel.ai"
|
|
27
|
+
"apiKey": "lyk_xxxxxxxxxxxxxxxx"
|
|
49
28
|
}
|
|
50
29
|
}
|
|
51
30
|
}
|
|
@@ -54,61 +33,16 @@ block alongside whatever other plugin entries you already have:
|
|
|
54
33
|
```
|
|
55
34
|
|
|
56
35
|
- `apiKey` — your `lyk_...` from https://lyriel.ai/me/agent (required)
|
|
57
|
-
- `baseUrl` — defaults to `https://lyriel.ai`;
|
|
58
|
-
(`http://localhost:5173`) or a cloudflared tunnel
|
|
59
|
-
- `surfaceSessionKey` — optional. Pin a specific session for inbound surfacing;
|
|
60
|
-
otherwise the plugin auto-tracks the most recently active session.
|
|
36
|
+
- `baseUrl` — defaults to `https://lyriel.ai`; only set this for dev (localhost or a tunnel)
|
|
61
37
|
|
|
62
38
|
Prefer editing the file via `openclaw config` so the gateway picks up changes
|
|
63
39
|
without manual JSON re-parsing.
|
|
64
40
|
|
|
65
|
-
If `surfaceSessionKey` is unset, the plugin tracks the most recent session
|
|
66
|
-
that received any user message and injects Lyriel surfaces there. The first
|
|
67
|
-
inbound dispatch may not surface until you've engaged at least once after
|
|
68
|
-
gateway start.
|
|
69
|
-
|
|
70
|
-
## How it works
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
┌───────────────────────────────────────────────────────┐
|
|
74
|
-
│ OpenClaw Gateway (always-on) │
|
|
75
|
-
│ │
|
|
76
|
-
register() │ ┌──────────────────┐ ┌─────────────────────────┐ │
|
|
77
|
-
─────────▶ │ │ Inbox poll loop │ │ LLM tool handlers │ │
|
|
78
|
-
│ │ (gateway_start) │ │ lyriel_send_ask │ │
|
|
79
|
-
│ └─────────┬────────┘ │ lyriel_reply │ │
|
|
80
|
-
│ │ │ lyriel_plan_send │ │
|
|
81
|
-
│ ▼ │ lyriel_plan_reply │ │
|
|
82
|
-
│ pending.ts (ask_id / │ lyriel_plan_lock │ │
|
|
83
|
-
│ plan_id → callback) └────────────┬────────────┘ │
|
|
84
|
-
│ │ │ │
|
|
85
|
-
│ ▼ │ │
|
|
86
|
-
│ api.session.workflow. │ │
|
|
87
|
-
│ enqueueNextTurnInjection({ │ │
|
|
88
|
-
│ sessionKey, │ │
|
|
89
|
-
│ text: formatted surface, │ │
|
|
90
|
-
│ }) │ │
|
|
91
|
-
│ │ │ │
|
|
92
|
-
└────────────┼──────────────────────────┼───────────────┘
|
|
93
|
-
│ │
|
|
94
|
-
▼ ▼
|
|
95
|
-
┌───────────────────────────────────────────────────────┐
|
|
96
|
-
│ User's OpenClaw session │
|
|
97
|
-
│ │
|
|
98
|
-
│ Next agent turn picks up: │
|
|
99
|
-
│ Lyriel ask from @noor: "dinner thursday?" │
|
|
100
|
-
│ │
|
|
101
|
-
│ User says: "yes thursday works" │
|
|
102
|
-
│ │
|
|
103
|
-
│ LLM calls lyriel_reply → plugin POSTs callback │
|
|
104
|
-
└───────────────────────────────────────────────────────┘
|
|
105
|
-
```
|
|
106
41
|
|
|
107
42
|
## Troubleshooting
|
|
108
43
|
|
|
109
44
|
**"apiKey missing" warning in logs.** Set `plugins.entries.lyriel.config.apiKey`
|
|
110
|
-
to your `lyk_...` token from `https://lyriel.ai/me/agent
|
|
111
|
-
`LYRIEL_BASE_URL` equivalent). Restart the gateway after editing config.
|
|
45
|
+
to your `lyk_...` token from `https://lyriel.ai/me/agent`. Restart the gateway after editing config.
|
|
112
46
|
|
|
113
47
|
**Tools register but inbox dispatches never appear.** Most likely cause:
|
|
114
48
|
the user hasn't sent any message after gateway start, so the plugin doesn't
|
|
@@ -119,8 +53,7 @@ poll cycle will surface accumulated dispatches.
|
|
|
119
53
|
envelope didn't match the expected pattern. Likely a Lyriel server version
|
|
120
54
|
mismatch — re-pair your agent at `/me/agent` for a fresh setup.
|
|
121
55
|
|
|
122
|
-
**Surfaces arrive but in the wrong session.** Set
|
|
123
|
-
`plugins.entries.lyriel.config.surfaceSessionKey` to pin a specific session.
|
|
56
|
+
**Surfaces arrive but in the wrong session.** Set `plugins.entries.lyriel.config.surfaceSessionKey` to pin a specific session.
|
|
124
57
|
The auto-tracking heuristic ("most recent message_received") may pick up
|
|
125
58
|
short-lived sub-sessions; pinning is more predictable.
|
|
126
59
|
|
package/package.json
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lyriel/openclaw-plugin",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Lyriel plugin for OpenClaw.
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Lyriel plugin for OpenClaw.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Lyriel",
|
|
8
8
|
"homepage": "https://lyriel.ai",
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/CharlieKerfoot/agent-net.git",
|
|
12
|
-
"directory": "clients/openclaw-plugin"
|
|
13
|
-
},
|
|
14
|
-
"bugs": {
|
|
15
|
-
"url": "https://github.com/CharlieKerfoot/agent-net/issues"
|
|
16
|
-
},
|
|
17
9
|
"keywords": [
|
|
18
10
|
"lyriel",
|
|
19
11
|
"openclaw",
|