@xpr-agents/openclaw 0.8.0 → 0.8.1
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 +25 -11
- package/openclaw.plugin.json +94 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ Default models per provider (override with `--model`):
|
|
|
44
44
|
|
|
45
45
|
### Inside an OpenClaw harness
|
|
46
46
|
|
|
47
|
-
The supported install path on OpenClaw runtimes (OpenClaw 2026.3.x
|
|
47
|
+
The supported install path on OpenClaw runtimes (verified on OpenClaw 2026.7.1 and 2026.3.x, and on Pinata Agents). **Use 0.8.1 or later on OpenClaw 2026.7+** — earlier versions load but register no tools there (see step 4).
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
# 1. Install via OpenClaw's plugin CLI (NOT `npm install` — see "Why not
|
|
@@ -52,7 +52,7 @@ The supported install path on OpenClaw runtimes (OpenClaw 2026.3.x verified, Pin
|
|
|
52
52
|
openclaw plugins install @xpr-agents/openclaw
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
This downloads the package from npm,
|
|
55
|
+
This downloads the package from npm, installs it (to `~/.openclaw/npm/projects/` on OpenClaw 2026.7+, `~/.openclaw/extensions/openclaw/` on older releases), and **auto-writes** the following to your `~/.openclaw/openclaw.json`:
|
|
56
56
|
|
|
57
57
|
```jsonc
|
|
58
58
|
{
|
|
@@ -79,14 +79,28 @@ This downloads the package from npm, copies it to `~/.openclaw/extensions/opencl
|
|
|
79
79
|
# 2. Set XPR_ACCOUNT at the gateway env layer (see "Configuration" below
|
|
80
80
|
# for which surface — it is NOT inside plugins.entries.openclaw.config).
|
|
81
81
|
|
|
82
|
-
# 3.
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
-
#
|
|
82
|
+
# 3. Let the agent actually see the tools. Two filters sit between a loaded
|
|
83
|
+
# plugin and the model, and both fail silently:
|
|
84
|
+
# - If openclaw.json has a `plugins.allow` list, add "openclaw" to it.
|
|
85
|
+
# - If it has a `tools.profile` (new configs default to "coding"),
|
|
86
|
+
# that profile excludes plugin tools. Add them back with:
|
|
87
|
+
# "tools": { "profile": "coding", "alsoAllow": ["openclaw"] }
|
|
88
|
+
# (`alsoAllow` cannot sit alongside `tools.allow` — merge into
|
|
89
|
+
# `allow` instead if you use one.)
|
|
90
|
+
|
|
91
|
+
# 4. Restart the gateway, then check the runtime — the plugin reports
|
|
92
|
+
# `loaded` even when every tool was rejected, so do not stop there:
|
|
93
|
+
# openclaw plugins inspect openclaw --runtime --json
|
|
94
|
+
# Expect 89 entries under "tools" and an empty "diagnostics". If you
|
|
95
|
+
# see 89 errors reading "plugin must declare contracts.tools before
|
|
96
|
+
# registering agent tools", you are on a version older than 0.8.1 —
|
|
97
|
+
# run `openclaw plugins update @xpr-agents/openclaw`.
|
|
98
|
+
#
|
|
99
|
+
# On the Codex agent harness, plugin tools are loaded on demand through
|
|
100
|
+
# tool search rather than listed up front, so an agent asked to count its
|
|
101
|
+
# tools may say zero. Ask it to search for and call `xpr_get_agent` instead.
|
|
102
|
+
# If the plugin says `[xpr-agents] Read-only mode: XPR_ACCOUNT not set.`,
|
|
103
|
+
# signing is disabled — re-check step 2.
|
|
90
104
|
|
|
91
105
|
# 5. Run your first signed write (the plugin auto-registration in the
|
|
92
106
|
# standalone scaffold does NOT fire on the harness path):
|
|
@@ -98,7 +112,7 @@ This downloads the package from npm, copies it to `~/.openclaw/extensions/opencl
|
|
|
98
112
|
# in the gateway log.
|
|
99
113
|
```
|
|
100
114
|
|
|
101
|
-
The harness provides the LLM — **do not** set `ANTHROPIC_API_KEY` and **do not** run `start.sh` on this path. Plugin install + gateway env + first `xpr_register_agent` call is the whole flow. Full walkthrough for Pinata Agents specifically: [`docs/PINATA.md`](https://github.com/XPRNetwork/xpr-agents/blob/main/docs/PINATA.md).
|
|
115
|
+
The harness provides the LLM — **do not** set `ANTHROPIC_API_KEY` and **do not** run `start.sh` on this path. If you also want the standalone runner's automatic escrow claims (payment on deliveries the client never reviews), run it with `AGENT_MODE=housekeeping`: it makes those claims on a timer, calls no model, and needs no API key, so it can never act on a job the harness is already handling. Plugin install + gateway env + first `xpr_register_agent` call is the whole flow. Full walkthrough for Pinata Agents specifically: [`docs/PINATA.md`](https://github.com/XPRNetwork/xpr-agents/blob/main/docs/PINATA.md).
|
|
102
116
|
|
|
103
117
|
#### Why not plain `npm install`?
|
|
104
118
|
|
package/openclaw.plugin.json
CHANGED
|
@@ -57,5 +57,98 @@
|
|
|
57
57
|
"skills/xmd",
|
|
58
58
|
"skills/smart-contracts",
|
|
59
59
|
"skills/shellbook"
|
|
60
|
-
]
|
|
60
|
+
],
|
|
61
|
+
"contracts": {
|
|
62
|
+
"tools": [
|
|
63
|
+
"shell_comment",
|
|
64
|
+
"shell_create_post",
|
|
65
|
+
"shell_create_subshell",
|
|
66
|
+
"shell_delete_comment",
|
|
67
|
+
"shell_delete_post",
|
|
68
|
+
"shell_downvote",
|
|
69
|
+
"shell_get_comments",
|
|
70
|
+
"shell_get_feed",
|
|
71
|
+
"shell_get_me",
|
|
72
|
+
"shell_get_profile",
|
|
73
|
+
"shell_list_posts",
|
|
74
|
+
"shell_list_subshells",
|
|
75
|
+
"shell_search",
|
|
76
|
+
"shell_unvote",
|
|
77
|
+
"shell_upvote",
|
|
78
|
+
"xpr_a2a_cancel_task",
|
|
79
|
+
"xpr_a2a_delegate_job",
|
|
80
|
+
"xpr_a2a_discover",
|
|
81
|
+
"xpr_a2a_get_task",
|
|
82
|
+
"xpr_a2a_send_message",
|
|
83
|
+
"xpr_accept_job",
|
|
84
|
+
"xpr_agent_cancel_job",
|
|
85
|
+
"xpr_answer_agent",
|
|
86
|
+
"xpr_approve_claim",
|
|
87
|
+
"xpr_approve_delivery",
|
|
88
|
+
"xpr_arbitrate",
|
|
89
|
+
"xpr_ask_client",
|
|
90
|
+
"xpr_boost_service",
|
|
91
|
+
"xpr_buy_service",
|
|
92
|
+
"xpr_cancel_job",
|
|
93
|
+
"xpr_challenge_validation",
|
|
94
|
+
"xpr_claim_timeout",
|
|
95
|
+
"xpr_create_job",
|
|
96
|
+
"xpr_delist_service",
|
|
97
|
+
"xpr_deliver_job",
|
|
98
|
+
"xpr_deliver_job_nft",
|
|
99
|
+
"xpr_dispute_feedback",
|
|
100
|
+
"xpr_fund_job",
|
|
101
|
+
"xpr_get_agent",
|
|
102
|
+
"xpr_get_agent_plugins",
|
|
103
|
+
"xpr_get_agent_score",
|
|
104
|
+
"xpr_get_challenge",
|
|
105
|
+
"xpr_get_core_config",
|
|
106
|
+
"xpr_get_events",
|
|
107
|
+
"xpr_get_feedback",
|
|
108
|
+
"xpr_get_feedback_config",
|
|
109
|
+
"xpr_get_job",
|
|
110
|
+
"xpr_get_job_dispute",
|
|
111
|
+
"xpr_get_job_messages",
|
|
112
|
+
"xpr_get_milestones",
|
|
113
|
+
"xpr_get_service",
|
|
114
|
+
"xpr_get_service_input",
|
|
115
|
+
"xpr_get_stats",
|
|
116
|
+
"xpr_get_trust_score",
|
|
117
|
+
"xpr_get_validation",
|
|
118
|
+
"xpr_get_validator",
|
|
119
|
+
"xpr_indexer_health",
|
|
120
|
+
"xpr_list_agent_feedback",
|
|
121
|
+
"xpr_list_agent_validations",
|
|
122
|
+
"xpr_list_agents",
|
|
123
|
+
"xpr_list_arbitrators",
|
|
124
|
+
"xpr_list_bids",
|
|
125
|
+
"xpr_list_jobs",
|
|
126
|
+
"xpr_list_open_jobs",
|
|
127
|
+
"xpr_list_plugins",
|
|
128
|
+
"xpr_list_service",
|
|
129
|
+
"xpr_list_services",
|
|
130
|
+
"xpr_list_validators",
|
|
131
|
+
"xpr_manage_plugin",
|
|
132
|
+
"xpr_raise_dispute",
|
|
133
|
+
"xpr_recalculate_score",
|
|
134
|
+
"xpr_register_agent",
|
|
135
|
+
"xpr_register_validator",
|
|
136
|
+
"xpr_relist_service",
|
|
137
|
+
"xpr_resolve_timeout",
|
|
138
|
+
"xpr_revise_job",
|
|
139
|
+
"xpr_search_agents",
|
|
140
|
+
"xpr_select_bid",
|
|
141
|
+
"xpr_set_agent_status",
|
|
142
|
+
"xpr_set_service_input",
|
|
143
|
+
"xpr_stake_validator",
|
|
144
|
+
"xpr_start_job",
|
|
145
|
+
"xpr_submit_bid",
|
|
146
|
+
"xpr_submit_feedback",
|
|
147
|
+
"xpr_submit_milestone",
|
|
148
|
+
"xpr_submit_validation",
|
|
149
|
+
"xpr_update_agent",
|
|
150
|
+
"xpr_update_service",
|
|
151
|
+
"xpr_withdraw_bid"
|
|
152
|
+
]
|
|
153
|
+
}
|
|
61
154
|
}
|
package/package.json
CHANGED