agdi 2026.2.21 → 2026.2.22
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/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/docs/_site/concepts/features.html +1 -1
- package/docs/_site/start/getting-started.html +1 -1
- package/docs/_site/start/onboarding-overview.html +1 -1
- package/docs/_site/start/onboarding.html +1 -1
- package/docs/_site/start/openclaw.html +1 -1
- package/docs/_site/start/showcase.html +1 -1
- package/docs/_site/start/wizard.html +1 -1
- package/docs/docs.json +1888 -1892
- package/extensions/bluebubbles/README.md +1 -1
- package/extensions/bluebubbles/package.json +2 -2
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +2 -2
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +2 -2
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +2 -2
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/package.json +2 -2
- package/extensions/mattermost/package.json +2 -2
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/package.json +2 -2
- package/extensions/nextcloud-talk/package.json +2 -2
- package/extensions/nostr/package.json +2 -2
- package/extensions/open-prose/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +2 -2
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/package.json +2 -2
- package/extensions/zalouser/package.json +2 -2
- package/package.json +1 -1
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +3 -3
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +15 -15
- package/skills/clawhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +1 -1
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/healthcheck/SKILL.md +36 -36
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +6 -6
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +8 -8
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/docs/start/showcase.md +0 -416
- package/docs/zh-CN/start/showcase.md +0 -423
|
@@ -30,7 +30,7 @@ If you’re looking for **how to use BlueBubbles as an agent/tool user**, see:
|
|
|
30
30
|
- BlueBubbles posts JSON to the gateway HTTP server.
|
|
31
31
|
- Normalize sender/chat IDs defensively (payloads vary by version).
|
|
32
32
|
- Skip messages marked as from self.
|
|
33
|
-
- Route into core reply pipeline via the plugin runtime (`api.runtime`) and `
|
|
33
|
+
- Route into core reply pipeline via the plugin runtime (`api.runtime`) and `agdi/plugin-sdk` helpers.
|
|
34
34
|
- For attachments/stickers, use `<media:...>` placeholders when text is empty and attach media paths via `MediaUrl(s)` in the inbound context.
|
|
35
35
|
|
|
36
36
|
## Config (core)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/bluebubbles",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI BlueBubbles channel plugin",
|
|
5
5
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"order": 75
|
|
29
29
|
},
|
|
30
30
|
"install": {
|
|
31
|
-
"npmSpec": "@
|
|
31
|
+
"npmSpec": "@agdi/bluebubbles",
|
|
32
32
|
"localPath": "extensions/bluebubbles",
|
|
33
33
|
"defaultChoice": "npm"
|
|
34
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/feishu",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Feishu/Lark channel plugin (community maintained by @m1heng)",
|
|
5
5
|
"type": "module",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"quickstartAllowFrom": true
|
|
30
30
|
},
|
|
31
31
|
"install": {
|
|
32
|
-
"npmSpec": "@
|
|
32
|
+
"npmSpec": "@agdi/feishu",
|
|
33
33
|
"localPath": "extensions/feishu",
|
|
34
34
|
"defaultChoice": "npm"
|
|
35
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/googlechat",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "AGDI Google Chat channel plugin",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"order": 55
|
|
33
33
|
},
|
|
34
34
|
"install": {
|
|
35
|
-
"npmSpec": "@
|
|
35
|
+
"npmSpec": "@agdi/googlechat",
|
|
36
36
|
"localPath": "extensions/googlechat",
|
|
37
37
|
"defaultChoice": "npm"
|
|
38
38
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/line",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "AGDI LINE channel plugin",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"quickstartAllowFrom": true
|
|
23
23
|
},
|
|
24
24
|
"install": {
|
|
25
|
-
"npmSpec": "@
|
|
25
|
+
"npmSpec": "@agdi/line",
|
|
26
26
|
"localPath": "extensions/line",
|
|
27
27
|
"defaultChoice": "npm"
|
|
28
28
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/matrix",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Matrix channel plugin",
|
|
5
5
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"quickstartAllowFrom": true
|
|
29
29
|
},
|
|
30
30
|
"install": {
|
|
31
|
-
"npmSpec": "@
|
|
31
|
+
"npmSpec": "@agdi/matrix",
|
|
32
32
|
"localPath": "extensions/matrix",
|
|
33
33
|
"defaultChoice": "npm"
|
|
34
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/mattermost",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "AGDI Mattermost channel plugin",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"order": 65
|
|
22
22
|
},
|
|
23
23
|
"install": {
|
|
24
|
-
"npmSpec": "@
|
|
24
|
+
"npmSpec": "@agdi/mattermost",
|
|
25
25
|
"localPath": "extensions/mattermost",
|
|
26
26
|
"defaultChoice": "npm"
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/msteams",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Microsoft Teams channel plugin",
|
|
5
5
|
"type": "module",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"order": 60
|
|
30
30
|
},
|
|
31
31
|
"install": {
|
|
32
|
-
"npmSpec": "@
|
|
32
|
+
"npmSpec": "@agdi/msteams",
|
|
33
33
|
"localPath": "extensions/msteams",
|
|
34
34
|
"defaultChoice": "npm"
|
|
35
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/nextcloud-talk",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Nextcloud Talk channel plugin",
|
|
5
5
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"quickstartAllowFrom": true
|
|
26
26
|
},
|
|
27
27
|
"install": {
|
|
28
|
-
"npmSpec": "@
|
|
28
|
+
"npmSpec": "@agdi/nextcloud-talk",
|
|
29
29
|
"localPath": "extensions/nextcloud-talk",
|
|
30
30
|
"defaultChoice": "npm"
|
|
31
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/nostr",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Nostr channel plugin for NIP-04 encrypted DMs",
|
|
5
5
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"quickstartAllowFrom": true
|
|
26
26
|
},
|
|
27
27
|
"install": {
|
|
28
|
-
"npmSpec": "@
|
|
28
|
+
"npmSpec": "@agdi/nostr",
|
|
29
29
|
"localPath": "extensions/nostr",
|
|
30
30
|
"defaultChoice": "npm"
|
|
31
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/tlon",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "AGDI Tlon/Urbit channel plugin",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"quickstartAllowFrom": true
|
|
26
26
|
},
|
|
27
27
|
"install": {
|
|
28
|
-
"npmSpec": "@
|
|
28
|
+
"npmSpec": "@agdi/tlon",
|
|
29
29
|
"localPath": "extensions/tlon",
|
|
30
30
|
"defaultChoice": "npm"
|
|
31
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/zalo",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Zalo channel plugin",
|
|
5
5
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"quickstartAllowFrom": true
|
|
28
28
|
},
|
|
29
29
|
"install": {
|
|
30
|
-
"npmSpec": "@
|
|
30
|
+
"npmSpec": "@agdi/zalo",
|
|
31
31
|
"localPath": "extensions/zalo",
|
|
32
32
|
"defaultChoice": "npm"
|
|
33
33
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
2
|
+
"name": "@agdi/zalouser",
|
|
3
3
|
"version": "2026.2.16",
|
|
4
4
|
"description": "AGDI Zalo Personal Account plugin via zca-cli",
|
|
5
5
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"quickstartAllowFrom": true
|
|
28
28
|
},
|
|
29
29
|
"install": {
|
|
30
|
-
"npmSpec": "@
|
|
30
|
+
"npmSpec": "@agdi/zalouser",
|
|
31
31
|
"localPath": "extensions/zalouser",
|
|
32
32
|
"defaultChoice": "npm"
|
|
33
33
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@ description: Set up and use 1Password CLI (op). Use when installing the CLI, ena
|
|
|
4
4
|
homepage: https://developer.1password.com/docs/cli/get-started/
|
|
5
5
|
metadata:
|
|
6
6
|
{
|
|
7
|
-
"
|
|
7
|
+
"agdi":
|
|
8
8
|
{
|
|
9
9
|
"emoji": "🔐",
|
|
10
10
|
"requires": { "bins": ["op"] },
|
|
@@ -48,9 +48,9 @@ The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, a
|
|
|
48
48
|
Example (see `tmux` skill for socket conventions, do not reuse old session names):
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
SOCKET_DIR="${
|
|
51
|
+
SOCKET_DIR="${AGDI_TMUX_SOCKET_DIR:-${AGDI_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/agdi-tmux-sockets}}"
|
|
52
52
|
mkdir -p "$SOCKET_DIR"
|
|
53
|
-
SOCKET="$SOCKET_DIR/
|
|
53
|
+
SOCKET="$SOCKET_DIR/agdi-op.sock"
|
|
54
54
|
SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
|
|
55
55
|
|
|
56
56
|
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: apple-notes
|
|
3
|
-
description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks
|
|
3
|
+
description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Agdi to add a note, list notes, search notes, or manage note folders.
|
|
4
4
|
homepage: https://github.com/antoniorodr/memo
|
|
5
5
|
metadata:
|
|
6
6
|
{
|
|
7
|
-
"
|
|
7
|
+
"agdi":
|
|
8
8
|
{
|
|
9
9
|
"emoji": "📝",
|
|
10
10
|
"os": ["darwin"],
|
package/skills/blucli/SKILL.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bluebubbles
|
|
3
3
|
description: Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
|
|
4
|
-
metadata: { "
|
|
4
|
+
metadata: { "agdi": { "emoji": "🫧", "requires": { "config": ["channels.bluebubbles"] } } }
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# BlueBubbles Actions
|
|
8
8
|
|
|
9
9
|
## Overview
|
|
10
10
|
|
|
11
|
-
BlueBubbles is
|
|
11
|
+
BlueBubbles is Agdi’s recommended iMessage integration. Use the `message` tool with `channel: "bluebubbles"` to send messages and manage iMessage conversations: send texts and attachments, react (tapbacks), edit/unsend, reply in threads, and manage group participants/names/icons.
|
|
12
12
|
|
|
13
13
|
## Inputs to collect
|
|
14
14
|
|
|
@@ -28,7 +28,7 @@ If the user is vague ("text my mom"), ask for the recipient handle or chat guid
|
|
|
28
28
|
"action": "send",
|
|
29
29
|
"channel": "bluebubbles",
|
|
30
30
|
"target": "+15551234567",
|
|
31
|
-
"message": "hello from
|
|
31
|
+
"message": "hello from Agdi"
|
|
32
32
|
}
|
|
33
33
|
```
|
|
34
34
|
|
package/skills/camsnap/SKILL.md
CHANGED
package/skills/canvas/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Canvas Skill
|
|
2
2
|
|
|
3
|
-
Display HTML content on connected
|
|
3
|
+
Display HTML content on connected Agdi nodes (Mac app, iOS, Android).
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
@@ -40,7 +40,7 @@ The canvas host server binds based on `gateway.bind` setting:
|
|
|
40
40
|
**Key insight:** The `canvasHostHostForBridge` is derived from `bridgeHost`. When bound to Tailscale, nodes receive URLs like:
|
|
41
41
|
|
|
42
42
|
```
|
|
43
|
-
http://<tailscale-hostname>:18793/
|
|
43
|
+
http://<tailscale-hostname>:18793/__agdi__/canvas/<file>.html
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
This is why localhost URLs don't work - the node receives the Tailscale hostname from the bridge!
|
|
@@ -57,7 +57,7 @@ This is why localhost URLs don't work - the node receives the Tailscale hostname
|
|
|
57
57
|
|
|
58
58
|
## Configuration
|
|
59
59
|
|
|
60
|
-
In `~/.
|
|
60
|
+
In `~/.agdi/agdi.json`:
|
|
61
61
|
|
|
62
62
|
```json
|
|
63
63
|
{
|
|
@@ -106,13 +106,13 @@ HTML
|
|
|
106
106
|
Check how your gateway is bound:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
cat ~/.
|
|
109
|
+
cat ~/.agdi/agdi.json | jq '.gateway.bind'
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
Then construct the URL:
|
|
113
113
|
|
|
114
|
-
- **loopback**: `http://127.0.0.1:18793/
|
|
115
|
-
- **lan/tailnet/auto**: `http://<hostname>:18793/
|
|
114
|
+
- **loopback**: `http://127.0.0.1:18793/__agdi__/canvas/<file>.html`
|
|
115
|
+
- **lan/tailnet/auto**: `http://<hostname>:18793/__agdi__/canvas/<file>.html`
|
|
116
116
|
|
|
117
117
|
Find your Tailscale hostname:
|
|
118
118
|
|
|
@@ -123,7 +123,7 @@ tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//'
|
|
|
123
123
|
### 3. Find connected nodes
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
|
|
126
|
+
agdi nodes list
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
Look for Mac/iOS/Android nodes with canvas capability.
|
|
@@ -137,7 +137,7 @@ canvas action:present node:<node-id> target:<full-url>
|
|
|
137
137
|
**Example:**
|
|
138
138
|
|
|
139
139
|
```
|
|
140
|
-
canvas action:present node:mac-63599bc4-b54d-4392-9048-b97abd58343a target:http://peters-mac-studio-1.sheep-coho.ts.net:18793/
|
|
140
|
+
canvas action:present node:mac-63599bc4-b54d-4392-9048-b97abd58343a target:http://peters-mac-studio-1.sheep-coho.ts.net:18793/__agdi__/canvas/snake.html
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
### 5. Navigate, snapshot, or hide
|
|
@@ -156,9 +156,9 @@ canvas action:hide node:<node-id>
|
|
|
156
156
|
|
|
157
157
|
**Debug steps:**
|
|
158
158
|
|
|
159
|
-
1. Check server bind: `cat ~/.
|
|
159
|
+
1. Check server bind: `cat ~/.agdi/agdi.json | jq '.gateway.bind'`
|
|
160
160
|
2. Check what port canvas is on: `lsof -i :18793`
|
|
161
|
-
3. Test URL directly: `curl http://<hostname>:18793/
|
|
161
|
+
3. Test URL directly: `curl http://<hostname>:18793/__agdi__/canvas/<file>.html`
|
|
162
162
|
|
|
163
163
|
**Solution:** Use the full hostname matching your bind mode, not localhost.
|
|
164
164
|
|
|
@@ -168,7 +168,7 @@ Always specify `node:<node-id>` parameter.
|
|
|
168
168
|
|
|
169
169
|
### "node not connected" error
|
|
170
170
|
|
|
171
|
-
Node is offline. Use `
|
|
171
|
+
Node is offline. Use `agdi nodes list` to find online nodes.
|
|
172
172
|
|
|
173
173
|
### Content not updating
|
|
174
174
|
|
|
@@ -180,14 +180,14 @@ If live reload isn't working:
|
|
|
180
180
|
|
|
181
181
|
## URL Path Structure
|
|
182
182
|
|
|
183
|
-
The canvas host serves from `/
|
|
183
|
+
The canvas host serves from `/__agdi__/canvas/` prefix:
|
|
184
184
|
|
|
185
185
|
```
|
|
186
|
-
http://<host>:18793/
|
|
187
|
-
http://<host>:18793/
|
|
186
|
+
http://<host>:18793/__agdi__/canvas/index.html → ~/clawd/canvas/index.html
|
|
187
|
+
http://<host>:18793/__agdi__/canvas/games/snake.html → ~/clawd/canvas/games/snake.html
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
-
The `/
|
|
190
|
+
The `/__agdi__/canvas/` prefix is defined by `CANVAS_HOST_PATH` constant.
|
|
191
191
|
|
|
192
192
|
## Tips
|
|
193
193
|
|
package/skills/clawhub/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: clawhub
|
|
|
3
3
|
description: Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
|
|
4
4
|
metadata:
|
|
5
5
|
{
|
|
6
|
-
"
|
|
6
|
+
"agdi":
|
|
7
7
|
{
|
|
8
8
|
"requires": { "bins": ["clawhub"] },
|
|
9
9
|
"install":
|
|
@@ -73,5 +73,5 @@ clawhub publish ./my-skill --slug my-skill --name "My Skill" --version 1.2.0 --c
|
|
|
73
73
|
Notes
|
|
74
74
|
|
|
75
75
|
- Default registry: https://clawhub.com (override with CLAWHUB_REGISTRY or --registry)
|
|
76
|
-
- Default workdir: cwd (falls back to
|
|
76
|
+
- Default workdir: cwd (falls back to Agdi workspace); install dir: ./skills (override with --workdir / --dir / CLAWHUB_WORKDIR)
|
|
77
77
|
- Update command hashes local files, resolves matching version, and upgrades to latest unless --version is set
|