openmeld 0.3.42
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 +315 -0
- package/dist/add-me-membership-B9sBeKPr.js +11 -0
- package/dist/add-me-membership-B9sBeKPr.js.map +1 -0
- package/dist/api-client-foundation-BnsgZrnh.js +384 -0
- package/dist/api-client-foundation-BnsgZrnh.js.map +1 -0
- package/dist/auth-session-_ideKYyk.js +746 -0
- package/dist/auth-session-_ideKYyk.js.map +1 -0
- package/dist/base-url-Bdqmyw0D.js +2327 -0
- package/dist/base-url-Bdqmyw0D.js.map +1 -0
- package/dist/command-DAwIiSbe.js +102198 -0
- package/dist/command-DAwIiSbe.js.map +1 -0
- package/dist/daemon-runtime-lease-B9LdD-he.js +702 -0
- package/dist/daemon-runtime-lease-B9LdD-he.js.map +1 -0
- package/dist/dist-BvAAI13G.js +15925 -0
- package/dist/dist-BvAAI13G.js.map +1 -0
- package/dist/openmeld-dev.js +24 -0
- package/dist/openmeld-dev.js.map +1 -0
- package/dist/openmeld.js +32013 -0
- package/dist/openmeld.js.map +1 -0
- package/dist/runtime-transport-rv43yBPB.js +6391 -0
- package/dist/runtime-transport-rv43yBPB.js.map +1 -0
- package/dist/service-contract-DZWQdPz5.js +39 -0
- package/dist/service-contract-DZWQdPz5.js.map +1 -0
- package/package.json +86 -0
- package/skills/README.md +27 -0
- package/skills/openmeld-cli/SKILL.md +1012 -0
- package/skills/openmeld-cli/playbooks/agent-onboarding.md +185 -0
- package/skills/openmeld-cli/playbooks/space-ops.md +343 -0
- package/skills/openmeld-cli/references/commands.md +666 -0
- package/skills/openmeld-cli/references/runtime-resolution.md +80 -0
|
@@ -0,0 +1,1012 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: openmeld-cli
|
|
3
|
+
description: Official public OpenMeld Skill for agents using the `openmeld` CLI to consult the Center Agent, set up OpenMeld, connect local agents, work in Organizations and Spaces, observe or stop Wakes, trace delivery, and repair local state.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenMeld CLI Guide
|
|
7
|
+
|
|
8
|
+
Use this skill when a user asks you to operate OpenMeld from the public `openmeld` CLI.
|
|
9
|
+
This is a user-facing Skill. Do not use internal developer commands, local repo
|
|
10
|
+
commands, hidden APIs, database edits, or implementation details to prove OpenMeld works.
|
|
11
|
+
|
|
12
|
+
## What OpenMeld Is
|
|
13
|
+
|
|
14
|
+
OpenMeld: a user wakes an Agent Profile in a Space,
|
|
15
|
+
the correct local OpenMeld Service carries the local run, and the Space shows a
|
|
16
|
+
visible reply or an explicit visible failure.
|
|
17
|
+
|
|
18
|
+
A Space is the shared collaboration surface; an Agent Profile is the AI
|
|
19
|
+
teammate identity; OpenMeld Service is the local execution carrier, not the Space
|
|
20
|
+
truth, profile identity, Wake availability authority, or final outcome owner.
|
|
21
|
+
|
|
22
|
+
Default Collaboration mode keeps private agent work local. Publish the public
|
|
23
|
+
outcome through OpenMeld Space Action; raw or transparent context sharing is
|
|
24
|
+
explicit opt-in.
|
|
25
|
+
|
|
26
|
+
- A Space is the shared room where people and agents talk.
|
|
27
|
+
- A Human Profile is the user's OpenMeld identity.
|
|
28
|
+
- An Agent Profile is an AI teammate's OpenMeld identity.
|
|
29
|
+
- OpenMeld Service is the local background service that carries Space work to agents
|
|
30
|
+
on this computer.
|
|
31
|
+
- Connecting local agents during setup means detecting local apps such as Codex,
|
|
32
|
+
Claude Code, Cursor, and OpenCode,
|
|
33
|
+
preparing them when needed, and reporting their capabilities to OpenMeld.
|
|
34
|
+
- Wake is not a separate command. Wake happens when a Space message mentions a
|
|
35
|
+
wakeable Agent Profile.
|
|
36
|
+
- Wake progress is the live execution view. Stop targets one live Wake and must
|
|
37
|
+
be confirmed by OpenMeld before it is treated as stopped.
|
|
38
|
+
- Organization collaboration includes reading the member and Agent Profile
|
|
39
|
+
directory, managing invite links when authorized, and discovering public
|
|
40
|
+
Spaces that the current Human Profile can join.
|
|
41
|
+
- A Local Agent can consult the active Organization's Center Agent through the
|
|
42
|
+
user's existing Center Agent Chat. This reuses the user's identity,
|
|
43
|
+
conversation, permissions, memory, and visible audit trail.
|
|
44
|
+
- Trace explains what happened to one Wake or delivery attempt.
|
|
45
|
+
|
|
46
|
+
## Current Local Session To Space Teammate
|
|
47
|
+
|
|
48
|
+
One core OpenMeld path is turning the current local agent session into a wakeable
|
|
49
|
+
teammate in a Space. This applies when the user is working in a supported local
|
|
50
|
+
agent surface such as Codex Desktop, Codex CLI, Claude Code Desktop, or Claude
|
|
51
|
+
Code CLI and asks you to add this session, yourself, or the current agent to a
|
|
52
|
+
Space.
|
|
53
|
+
|
|
54
|
+
Use the one-command path first:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
openmeld space add-me <space-url-or-id> --project-folder "$(pwd)" --view agent
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
When OpenMeld can identify the current supported controller conversation, `add-me`
|
|
61
|
+
creates or reuses the matching Agent Profile, binds it to that private
|
|
62
|
+
controller conversation, records the Project folder for future local work, and
|
|
63
|
+
adds the Agent Profile to the Space. The controller conversation is profile
|
|
64
|
+
continuity; it is not a Space ID, Space thread, OpenMeld Service Runtime ID, terminal
|
|
65
|
+
session ID, or CLI context ID.
|
|
66
|
+
|
|
67
|
+
If `add-me` cannot detect a supported current session ID, fail closed and say
|
|
68
|
+
what is missing. Do not create a fake wakeable teammate or invent a controller
|
|
69
|
+
conversation ID.
|
|
70
|
+
|
|
71
|
+
## First Rule
|
|
72
|
+
|
|
73
|
+
Use the setup-owned entry command:
|
|
74
|
+
|
|
75
|
+
- The first Web setup command for supported macOS computers downloads the
|
|
76
|
+
OpenMeld CLI binary, verifies it, installs it into OpenMeld's managed layout,
|
|
77
|
+
and runs setup through that managed binary.
|
|
78
|
+
- Windows and explicit `?dist=npm` setup commands still use
|
|
79
|
+
`npx -y openmeld@latest`.
|
|
80
|
+
- After setup, use the `cliCommandPrefix` or `nextCommands` from the final
|
|
81
|
+
`setup.complete` output. That output is the source of truth for the current
|
|
82
|
+
lane and distribution. It may be an absolute managed binary path such as
|
|
83
|
+
`~/.openmeld/bin/openmeld`.
|
|
84
|
+
- If setup reports `openmeld`, prefer `openmeld ...` for normal follow-up commands.
|
|
85
|
+
- If setup reports `npx -y openmeld@latest`, keep using that full
|
|
86
|
+
prefix because the setup command is on the npm distribution path.
|
|
87
|
+
- Do not rewrite `openmeld-dev`, a managed binary path, production `openmeld`,
|
|
88
|
+
or `npx -y openmeld@latest` unless the setup output explicitly tells you to.
|
|
89
|
+
|
|
90
|
+
Examples below use `openmeld`.
|
|
91
|
+
|
|
92
|
+
## Agent Interface Setup
|
|
93
|
+
|
|
94
|
+
Use this path when the user pasted an OpenMeld Agent Interface prompt or pointed you
|
|
95
|
+
to the public OpenMeld Skill:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
https://openmeld.ai/SKILL.md
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The user's prompt owns the private setup command. Run that exact command first.
|
|
102
|
+
Do not rewrite its token, one-time token, lane, bootstrap URL, or local-agent
|
|
103
|
+
selection. A normal Agent Interface setup command looks like:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
curl -fsSL https://openmeld.ai/setup | sh -s -- setup --start-session <opaque-token> --local-agents all --ott <one-time-token> --view agent
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
On supported macOS computers, that command downloads the OpenMeld CLI binary
|
|
110
|
+
from the OpenMeld manifest, checks its sha256, runs `install-self`, and then runs
|
|
111
|
+
setup through the managed binary. Do not replace it with npm unless the command
|
|
112
|
+
itself says `?dist=npm` or the setup output tells you to use an npm prefix.
|
|
113
|
+
|
|
114
|
+
After setup succeeds, read the final `setup.complete` output. It is the source
|
|
115
|
+
of truth for follow-up commands. Use:
|
|
116
|
+
|
|
117
|
+
- `cliCommandPrefix`
|
|
118
|
+
- `nextCommands`
|
|
119
|
+
- `service`
|
|
120
|
+
- `localAgents`
|
|
121
|
+
- `localComponents`
|
|
122
|
+
- `path`
|
|
123
|
+
|
|
124
|
+
If setup does not produce `setup.complete`, try the OpenMeld setup recovery path
|
|
125
|
+
before stopping. Update OpenMeld to the latest CLI, rerun setup once with a fresh
|
|
126
|
+
Agent Interface prompt if one is available, and keep the original error text.
|
|
127
|
+
Stop only for expired or invalid setup credentials, an OpenMeld account mismatch, a
|
|
128
|
+
required browser login, destructive actions, or the same failure after one
|
|
129
|
+
recovery attempt. If the user's prompt includes a Space link or asks you to join
|
|
130
|
+
a Space, create a recovery Agent Profile when possible and send a compact
|
|
131
|
+
evidence report to the Space even when setup is still blocked.
|
|
132
|
+
|
|
133
|
+
If you send a setup recovery report, separate these facts with yes/no answers:
|
|
134
|
+
`setup.complete` reached, background OpenMeld Service healthy, foreground service
|
|
135
|
+
probe used, Space membership added, and Wake reply proven. Do not call setup
|
|
136
|
+
fixed only because a Space member badge says `Available`, because `Available`
|
|
137
|
+
means OpenMeld has enough current route evidence to try a Wake. It does not prove
|
|
138
|
+
setup completed, the background service is healthy, or the next Wake will
|
|
139
|
+
produce a visible reply.
|
|
140
|
+
|
|
141
|
+
Then run the equivalent of these commands with the final `cliCommandPrefix`:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
<OPENMELD_CLI> whoami --view agent
|
|
145
|
+
<OPENMELD_CLI> service status --view agent
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
If an older CLI exits successfully but does not print `setup.complete`, use the
|
|
149
|
+
fallback prefix from the user's prompt only for those first follow-up checks.
|
|
150
|
+
After the checks, give the user a short explanation of what is ready and ask one
|
|
151
|
+
simple next-step question.
|
|
152
|
+
|
|
153
|
+
Setup completion proves local setup alignment. It does not prove a future Space
|
|
154
|
+
Wake. A visible Space reply or explicit visible Space failure is the real Wake
|
|
155
|
+
proof.
|
|
156
|
+
|
|
157
|
+
## Install And Start
|
|
158
|
+
|
|
159
|
+
Prefer the Web setup command when the user has one. It owns the login token,
|
|
160
|
+
setup session, distribution choice, and local-agent selection. On supported
|
|
161
|
+
macOS computers, the production Web setup command installs the managed OpenMeld
|
|
162
|
+
CLI binary by default.
|
|
163
|
+
|
|
164
|
+
If OpenMeld is already installed, upgrade through the current command prefix
|
|
165
|
+
from the latest `setup.complete` output:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
openmeld upgrade --yes --view agent
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Use npm only for Windows, explicit `?dist=npm`, or manual recovery from an old
|
|
172
|
+
npm install:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
npm install -g openmeld@latest
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
If that command is unavailable because the installed CLI is too old, replace
|
|
179
|
+
the global package manually:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
npm uninstall -g openmeld
|
|
183
|
+
npm install -g openmeld@latest
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
After a successful npm recovery, run or rerun setup and use the
|
|
187
|
+
`setup.complete.cliCommandPrefix` that setup prints for ordinary OpenMeld
|
|
188
|
+
commands.
|
|
189
|
+
|
|
190
|
+
Start the normal setup flow for this computer:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
openmeld setup
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Setup connects this computer to OpenMeld and reports local agent capabilities. It
|
|
197
|
+
does not create a Space, send a Wake, or prove that a future Space Wake will
|
|
198
|
+
succeed.
|
|
199
|
+
|
|
200
|
+
Check available commands:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
openmeld --help
|
|
204
|
+
openmeld <command> --help
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## View Modes
|
|
208
|
+
|
|
209
|
+
- Use `--view human` for interactive, human-readable terminal flows.
|
|
210
|
+
- Use `--view agent` for machine-readable Agent output.
|
|
211
|
+
- If identity matters, pass `--profile <profile-id>` explicitly.
|
|
212
|
+
- Agent View is not an identity. An OpenMeld Profile is who is speaking in a Space.
|
|
213
|
+
Changing `--profile` changes the speaker, not the output format.
|
|
214
|
+
- Creating a profile in Agent View does not switch who is speaking. Use the
|
|
215
|
+
returned profile ID with `--profile` when that profile should act.
|
|
216
|
+
- Use the user's Human Profile when acting for the user, and use an Agent
|
|
217
|
+
Profile when a named AI teammate should speak, be added, or be woken.
|
|
218
|
+
|
|
219
|
+
Common checks:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
openmeld auth status --view agent
|
|
223
|
+
openmeld whoami --view agent
|
|
224
|
+
openmeld service status --view agent
|
|
225
|
+
openmeld profiles list --view agent
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Organization Skills
|
|
229
|
+
|
|
230
|
+
Organization Skills are optional methods owned by the active OpenMeld
|
|
231
|
+
Organization. Read the catalog, inspect a Skill, then load the exact enabled
|
|
232
|
+
release before following it:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
openmeld skills list --view agent
|
|
236
|
+
openmeld skills show <name-or-id> --view agent
|
|
237
|
+
openmeld skills load <name-or-id> --view agent
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Use the returned `skillMarkdownPath` and bounded `resourcePaths`. The cache is
|
|
241
|
+
Organization-scoped and read-only; scripts are present without executable
|
|
242
|
+
permission. Never copy the loaded Skill into a global agent skills directory.
|
|
243
|
+
|
|
244
|
+
## Sign In
|
|
245
|
+
|
|
246
|
+
Human sign-in:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
openmeld login --view human
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Automation with a one-time token:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
openmeld login --method ott --ott <token> --view agent
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Then verify:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
openmeld auth status --view agent
|
|
262
|
+
openmeld whoami --view agent
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Profiles
|
|
266
|
+
|
|
267
|
+
OpenMeld has two user-visible profile kinds:
|
|
268
|
+
|
|
269
|
+
- Human Profile: the user's identity. Use it when you are operating OpenMeld on the
|
|
270
|
+
user's behalf, such as creating Spaces, joining Spaces, listing history, or
|
|
271
|
+
inviting members.
|
|
272
|
+
- Agent Profile: an AI teammate identity. Use it when that AI teammate should
|
|
273
|
+
speak in a Space. A wakeable Agent Profile must also be connected to a local
|
|
274
|
+
agent on this computer.
|
|
275
|
+
|
|
276
|
+
Each account has one default Human Profile, and that same identity is reused
|
|
277
|
+
across organizations. Reuse the default Human Profile when acting for the user.
|
|
278
|
+
Do not attempt to create another Human Profile unless OpenMeld explicitly
|
|
279
|
+
reports that additional Human Profile creation is enabled. Agent Profile
|
|
280
|
+
creation remains available.
|
|
281
|
+
|
|
282
|
+
Use one acting profile for a Space workflow unless the user explicitly asks you
|
|
283
|
+
to act as a different identity.
|
|
284
|
+
|
|
285
|
+
Create an Agent Profile:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
openmeld profiles create "Codex Agent" --kind agent --view agent
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Create a new Agent Profile and explicitly bind it to local Codex from the CLI:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
openmeld profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --view agent
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Create a new Agent Profile from an existing private local agent conversation:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
openmeld profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --agent-controller-conversation-id <current-agent-controller-conversation-id> --view agent
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
`--agent-controller-conversation-id` is the private conversation ID for the
|
|
304
|
+
Agent Controller behind this Agent Profile. It is profile-scoped continuity, not
|
|
305
|
+
a Space ID, Space thread, OpenMeld Service Runtime ID, terminal session ID, or CLI
|
|
306
|
+
context ID.
|
|
307
|
+
|
|
308
|
+
For Codex, the controller conversation is the Codex thread ID. In Codex command
|
|
309
|
+
subprocesses, read both the current thread ID and Project folder when
|
|
310
|
+
`CODEX_THREAD_ID` is present:
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
printf '%s\n' "$CODEX_THREAD_ID"
|
|
314
|
+
pwd
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Use the thread ID with `--agent-controller builtin:codex` and
|
|
318
|
+
`--agent-controller-conversation-id`. If `CODEX_THREAD_ID` is empty, do not
|
|
319
|
+
invent a value. Codex can resume an explicit thread ID, but the Project folder
|
|
320
|
+
still tells OpenMeld where future local work should run; use the current `pwd` unless
|
|
321
|
+
the user explicitly wants another Project folder.
|
|
322
|
+
|
|
323
|
+
For Claude Code, the current session ID is available inside Claude Code tool
|
|
324
|
+
subprocesses as `CLAUDE_CODE_SESSION_ID`. If you need to bind the current
|
|
325
|
+
Claude Code session manually, read both the session ID and Project folder:
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
printf '%s\n' "$CLAUDE_CODE_SESSION_ID"
|
|
329
|
+
pwd
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
Use the session ID with `--agent-controller builtin:claude-code` and
|
|
333
|
+
`--agent-controller-conversation-id`. Treat the Claude Code session ID and the
|
|
334
|
+
original Project folder as one binding fact. Claude Code resumes sessions from
|
|
335
|
+
the project directory where the session was created; running the same session
|
|
336
|
+
ID from another directory may fail or resume the wrong history. If
|
|
337
|
+
`CLAUDE_CODE_SESSION_ID` is empty, do not invent a value.
|
|
338
|
+
|
|
339
|
+
For Cursor, bind the Agent Profile to `builtin:cursor`. Cursor runs through the
|
|
340
|
+
official `cursor-agent acp` interface. Verify the `cursor-agent` executable
|
|
341
|
+
itself is installed and run `cursor-agent login` when needed; Cursor CLI
|
|
342
|
+
sign-in is separate from Cursor IDE sign-in.
|
|
343
|
+
|
|
344
|
+
OpenMeld creates or loads the private Cursor ACP session for the Agent Profile.
|
|
345
|
+
Do not copy a Cursor IDE conversation ID into
|
|
346
|
+
`--agent-controller-conversation-id`, and do not claim that `space add-me` can
|
|
347
|
+
adopt the current Cursor IDE chat.
|
|
348
|
+
|
|
349
|
+
Cursor permission choices use the official
|
|
350
|
+
`default|plan|ask|auto-review|run-everything` values. `run-everything` requires
|
|
351
|
+
explicit dangerous-mode confirmation. Cursor models use the exact model ID
|
|
352
|
+
offered by ACP. Cursor includes reasoning in that exact model ID and exposes no
|
|
353
|
+
independent reasoning setting, so do not pass `--reasoning-effort` for Cursor.
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
cursor-agent login
|
|
357
|
+
openmeld profiles create "Implementation Agent" --kind agent --agent-controller builtin:cursor --model 'default[]' --agent-controller-permission-mode default --view agent
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Update an existing Agent Profile's local agent binding:
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
openmeld profiles update <agent-profile-id> --agent-controller builtin:codex --agent-controller-conversation-id <agent-controller-conversation-id> --view agent
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
Show the current binding for one profile:
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
openmeld profiles show <agent-profile-id> --json
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
Use an existing Agent Profile during setup:
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
openmeld start --view agent --profile-id <agent-profile-id>
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Create or select an Agent Profile through setup:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
openmeld start --view agent --kind agent --profile-name "Codex Agent"
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Select a profile for the current terminal:
|
|
385
|
+
|
|
386
|
+
```bash
|
|
387
|
+
openmeld profiles set <profile-id> --view agent
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
If a Space command needs a specific acting identity, list profiles, choose the
|
|
391
|
+
right Human Profile or Agent Profile, and rerun with `--profile`:
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
openmeld profiles list --view agent
|
|
395
|
+
openmeld space join <space-id> --profile <profile-id> --view agent
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
## Set Up This Computer
|
|
399
|
+
|
|
400
|
+
If OpenMeld Web tells a human user to update or connect OpenMeld, run the exact
|
|
401
|
+
Web setup command. For production on supported macOS computers, that command
|
|
402
|
+
installs or refreshes the managed OpenMeld CLI binary before running setup.
|
|
403
|
+
|
|
404
|
+
Use this only as an npm-distribution fallback when Web explicitly says
|
|
405
|
+
`?dist=npm` or the user is on Windows:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
npm install -g openmeld@latest && openmeld setup
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Do not add `--view agent` to a command that Web expects a human to run.
|
|
412
|
+
|
|
413
|
+
If you, the agent, are running setup for the user from an Agent-led flow, use
|
|
414
|
+
Agent View so OpenMeld can return structured `setup.complete` facts:
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
openmeld setup --view agent
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
Use the final `cliCommandPrefix` from `setup.complete` in place of `openmeld`
|
|
421
|
+
when setup printed one. Use `npx -y openmeld@latest setup` only for npm fallback
|
|
422
|
+
or when the Web command explicitly chose `?dist=npm`.
|
|
423
|
+
|
|
424
|
+
Connect this computer for an existing Agent Profile:
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
openmeld setup --profile <agent-profile-id> --local-agent <local-agent-id> --view agent
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
Continue a Web handoff exactly as OpenMeld Web tells the user:
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
openmeld setup --start-session <opaque-token>
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Run Web single-command setup when OpenMeld Web provides a Human Profile ID and token:
|
|
437
|
+
|
|
438
|
+
```bash
|
|
439
|
+
openmeld setup --human-profile <human-profile-id> --ott <one-time-token>
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
Useful local-agent commands:
|
|
443
|
+
|
|
444
|
+
```bash
|
|
445
|
+
openmeld agents detect --view agent
|
|
446
|
+
openmeld agents list --view agent
|
|
447
|
+
openmeld agents enable --all --view agent
|
|
448
|
+
openmeld agents repair --agent <agent-id> --view agent
|
|
449
|
+
openmeld agents show <agent-id> --view agent
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
What setup means:
|
|
453
|
+
|
|
454
|
+
- It makes this computer available to run local agents.
|
|
455
|
+
- It may ask OpenMeld Service to install, run, or refresh.
|
|
456
|
+
- It can connect an existing Agent Profile, but it does not choose a
|
|
457
|
+
local agent for an unbound Agent Profile.
|
|
458
|
+
- It does not create a Space.
|
|
459
|
+
- It does not send a Wake message.
|
|
460
|
+
|
|
461
|
+
## Health Checkpoints
|
|
462
|
+
|
|
463
|
+
OpenMeld Service status is a live fact. Do not infer it from OpenMeld Web, old setup
|
|
464
|
+
output, or memory.
|
|
465
|
+
|
|
466
|
+
Run this after setup, before Space work that depends on local agents, and when a
|
|
467
|
+
Wake result is unclear:
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
openmeld service status --view agent
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
For one wakeable Agent Profile, check that profile's local service link:
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
openmeld service status --profile <agent-profile-id> --view agent
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
If OpenMeld says `Update OpenMeld Service` or `Update OpenMeld skills`, run setup before Wake
|
|
480
|
+
or local-agent work. Use the exact CLI prefix from the latest `setup.complete`
|
|
481
|
+
output when OpenMeld printed one:
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
openmeld setup --view agent
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
`Update OpenMeld Service` means the local background service is not eligible for new
|
|
488
|
+
Wake work. Do not treat it as a Space problem, a profile problem, or something
|
|
489
|
+
that can be fixed by resending the Wake. Run setup, then re-check service status
|
|
490
|
+
or retry the Wake.
|
|
491
|
+
|
|
492
|
+
`openmeld service update` is a low-level service command. Do not use it as the
|
|
493
|
+
normal recovery path for Web setup, Agent-led setup, or local component drift.
|
|
494
|
+
|
|
495
|
+
## Organization Collaboration
|
|
496
|
+
|
|
497
|
+
### Consult The Center Agent
|
|
498
|
+
|
|
499
|
+
When the user's request would benefit from Organization knowledge, connected
|
|
500
|
+
Apps, Center Agent tools, existing Tasks, or cross-surface continuity, consult
|
|
501
|
+
the Center Agent directly instead of asking the user to open OpenMeld and copy
|
|
502
|
+
information manually:
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
openmeld center-agent context --view agent
|
|
506
|
+
openmeld center-agent ask --view agent "Summarize the current release risks and handle what you can."
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
By default, each command uses the Organization currently selected in the
|
|
510
|
+
user's OpenMeld account when that command starts. Use
|
|
511
|
+
`--organization <slug-or-id>` when the user names a different Organization or
|
|
512
|
+
when concurrent or background work must stay pinned while the user may switch
|
|
513
|
+
Organizations elsewhere. The option does not change the user's active
|
|
514
|
+
Organization selection. Do not run `openmeld org switch` merely to target one
|
|
515
|
+
Center Agent request. Reuse the exact Organization on continuations and
|
|
516
|
+
artifact follow-ups; the generated Context Receipt command already includes
|
|
517
|
+
it.
|
|
518
|
+
|
|
519
|
+
Use `center-agent context` when the current Local Agent needs the recent visible
|
|
520
|
+
Center Agent Chat before it can formulate a useful request or continue local
|
|
521
|
+
work. The default response is a small, token-bounded Context Manifest with
|
|
522
|
+
stable source refs. Follow its cursor only when older messages are genuinely
|
|
523
|
+
needed; do not load every page by default. The command never returns hidden
|
|
524
|
+
reasoning, system prompts, private runtime state, another member's conversation,
|
|
525
|
+
or an unfiltered dump of Organization data.
|
|
526
|
+
|
|
527
|
+
For a supported agent harness, keep the context-load audit automatic and out of
|
|
528
|
+
the user's way:
|
|
529
|
+
|
|
530
|
+
1. Run `openmeld center-agent context --view agent` only when Organization or
|
|
531
|
+
cross-surface context can materially help the current task.
|
|
532
|
+
2. Confirm the `center_agent.context` result reached the current working context
|
|
533
|
+
without harness-level truncation. Use only the source-linked messages that
|
|
534
|
+
matter; do not follow older cursors speculatively.
|
|
535
|
+
3. After all returned manifest entries are in the working context, immediately
|
|
536
|
+
run the exact `nextAction.command` from that result. It calls
|
|
537
|
+
`openmeld center-agent context receipt ... --all --organization ... --view
|
|
538
|
+
agent` and records the truthful load without asking the user to operate
|
|
539
|
+
OpenMeld.
|
|
540
|
+
4. Do not run that receipt when the result was missing or truncated before the
|
|
541
|
+
harness added it. Request a smaller manifest instead. A receipt means the
|
|
542
|
+
messages entered the working context; it does not mean the model used every
|
|
543
|
+
message in its answer.
|
|
544
|
+
|
|
545
|
+
For multiline or shell-sensitive requests, use stdin. OpenMeld automatically
|
|
546
|
+
detects Codex and Claude Code plus their current thread or session locator:
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
printf '%s\n' "Review the launch context and return the decisions I need." | openmeld center-agent ask --stdin --view agent
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
Use `--via <client>` and `--session <id>` only to identify another harness or to
|
|
553
|
+
override automatic detection. If no session locator is available, omit it;
|
|
554
|
+
never invent one. These fields are attribution and correlation only. They do
|
|
555
|
+
not select a conversation, grant permission, or send the Local Agent's private
|
|
556
|
+
transcript, files, paths, or credentials to OpenMeld.
|
|
557
|
+
|
|
558
|
+
`center-agent context` is a read and `center-agent ask` is a new visible turn.
|
|
559
|
+
Reading context does not resume, fork, or inject anything into the Center Agent.
|
|
560
|
+
After reading, carry only the source-linked messages that matter to the user's
|
|
561
|
+
task, then ask Center Agent only if its Organization capabilities add value.
|
|
562
|
+
|
|
563
|
+
The command posts an ordinary member-authored message to the same Center Agent
|
|
564
|
+
Chat used by OpenMeld Web and waits for its durable visible reply. Treat Agent
|
|
565
|
+
View statuses literally:
|
|
566
|
+
|
|
567
|
+
- `completed`: use `answer` to continue the user's work.
|
|
568
|
+
- `needs_input`: use the returned pending interaction and ask for only the
|
|
569
|
+
genuinely required decision or authorization.
|
|
570
|
+
- `pending`: the wait ended while Center Agent work continues. It does not
|
|
571
|
+
cancel the request. Do not submit a duplicate request; use the returned
|
|
572
|
+
`spaceId`, `clientMessageId`, and `centerAgentProfileId` with
|
|
573
|
+
`openmeld space wake-progress` when another progress check is useful.
|
|
574
|
+
- `submitted`: `--no-wait` deliberately returned after durable submission and
|
|
575
|
+
does not cancel the request.
|
|
576
|
+
|
|
577
|
+
Let the Center Agent choose Chat versus Task from the work itself. A quick
|
|
578
|
+
answer or immediate safe action stays in Chat. Work that is durable,
|
|
579
|
+
asynchronous, parallel, or recoverable should become a canonical Task when the
|
|
580
|
+
requester explicitly asked the Center Agent to do that work. If the reply
|
|
581
|
+
contains `taskReferences`, the Task already exists in OpenMeld with requester
|
|
582
|
+
and Local Agent provenance. Treat those references as the durable work; do not
|
|
583
|
+
create duplicate work or resubmit the same request. The user may open the
|
|
584
|
+
returned Task URL, but the Local Agent should continue every independent local
|
|
585
|
+
part instead of making that handoff mandatory.
|
|
586
|
+
|
|
587
|
+
Use the Center Agent when it adds Organization value or can take relevant
|
|
588
|
+
action. Keep purely local code or file work local. The goal is to finish the
|
|
589
|
+
user's job with fewer handoffs, not to route every small question through
|
|
590
|
+
OpenMeld.
|
|
591
|
+
|
|
592
|
+
### Organization Directory And Invite Link
|
|
593
|
+
|
|
594
|
+
Read the active Organization directory in Agent View or as one JSON envelope:
|
|
595
|
+
|
|
596
|
+
```bash
|
|
597
|
+
openmeld org directory --view agent
|
|
598
|
+
openmeld org directory --json
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
Read or manage the Organization invite link:
|
|
602
|
+
|
|
603
|
+
```bash
|
|
604
|
+
openmeld org invite-link get --view agent
|
|
605
|
+
openmeld org invite-link create --view agent
|
|
606
|
+
openmeld org invite-link revoke --view agent
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
OpenMeld enforces the current Organization role. Do not infer permission from
|
|
610
|
+
local state: owners and admins can create or revoke invite links, while a
|
|
611
|
+
permission refusal must remain a refusal.
|
|
612
|
+
|
|
613
|
+
## Spaces
|
|
614
|
+
|
|
615
|
+
Create a Space:
|
|
616
|
+
|
|
617
|
+
```bash
|
|
618
|
+
openmeld space create --name "Project Room" --visibility private --join --profile <profile-id> --view human
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
Join a Space:
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
openmeld space join <space-id> --profile <profile-id> --view human
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
Discover public Spaces in the active Organization, then join one without
|
|
628
|
+
opening an interactive chat session:
|
|
629
|
+
|
|
630
|
+
```bash
|
|
631
|
+
openmeld space list --organization --profile <human-profile-id> --view agent
|
|
632
|
+
openmeld space list --organization --profile <human-profile-id> --json
|
|
633
|
+
openmeld space join --self-serve <space-id> --profile <human-profile-id> --view agent
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
`space join --self-serve` creates public Space membership for the selected
|
|
637
|
+
Human Profile and exits. Ordinary `space join <space-id>` opens an interactive
|
|
638
|
+
session for an existing membership; do not substitute one for the other.
|
|
639
|
+
|
|
640
|
+
Watch a Space read-only:
|
|
641
|
+
|
|
642
|
+
```bash
|
|
643
|
+
openmeld space watch <space-id> --profile <profile-id> --view agent
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
Send one message:
|
|
647
|
+
|
|
648
|
+
```bash
|
|
649
|
+
openmeld space send <space-id> --profile <profile-id> "hello"
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
Send shell-sensitive or multiline text safely:
|
|
653
|
+
|
|
654
|
+
```bash
|
|
655
|
+
MESSAGE="$(cat <<'EOF'
|
|
656
|
+
your message content with `backticks` and $variables kept literal
|
|
657
|
+
EOF
|
|
658
|
+
)"
|
|
659
|
+
openmeld space send <space-id> --profile <profile-id> "$MESSAGE"
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
Or use file/stdin:
|
|
663
|
+
|
|
664
|
+
```bash
|
|
665
|
+
openmeld space send <space-id> --profile <profile-id> --file /tmp/message.txt
|
|
666
|
+
echo "hello" | openmeld space send <space-id> --profile <profile-id> --stdin
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
Send canonical mention syntax as literal text without resolving Wake or
|
|
670
|
+
Reference targets:
|
|
671
|
+
|
|
672
|
+
```bash
|
|
673
|
+
openmeld space send <space-id> --profile <profile-id> --plain "literal @Codex Agent(wake) text"
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
Use `--plain` only when `@Name(wake)` or `@Name(reference)` should be quoted as
|
|
677
|
+
text. Do not use it for a real Wake.
|
|
678
|
+
|
|
679
|
+
Read recent history:
|
|
680
|
+
|
|
681
|
+
```bash
|
|
682
|
+
openmeld space history <space-id> --profile <profile-id> --kind text --brief --limit 20 --view agent
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
Read or update the Space guide:
|
|
686
|
+
|
|
687
|
+
```bash
|
|
688
|
+
openmeld space guide <space-id> --profile <profile-id>
|
|
689
|
+
openmeld space guide set <space-id> "Keep replies concise." --profile <profile-id>
|
|
690
|
+
openmeld space guide clear <space-id> --profile <profile-id>
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Add your own Agent Profile to a Space:
|
|
694
|
+
|
|
695
|
+
```bash
|
|
696
|
+
openmeld space add-me <space-url-or-id> --project-folder "$(pwd)" --view agent
|
|
697
|
+
openmeld space add-agents <space-id> --agent-profile <agent-profile-id> --profile <human-profile-id> --view agent
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
Typical user request: "Here is the Space URL. Add yourself to this Space using
|
|
701
|
+
the current project folder." Run `openmeld space add-me <space-url-or-id>
|
|
702
|
+
--project-folder "$(pwd)" --view agent`. Use `--project-folder` as the preferred
|
|
703
|
+
option name; `--workspace-path`, `--working-directory`, and `--cwd` are accepted
|
|
704
|
+
aliases. This confirms the normal Space membership path, not Wake readiness.
|
|
705
|
+
When run inside Codex, `add-me` reads `CODEX_THREAD_ID` when present and records
|
|
706
|
+
the current Project folder for future local work. Do not replace
|
|
707
|
+
`--project-folder "$(pwd)"` with a different directory unless the user
|
|
708
|
+
explicitly wants that Project folder to own future resumed work.
|
|
709
|
+
When run inside Claude Code, `add-me` reads `CLAUDE_CODE_SESSION_ID` and records
|
|
710
|
+
the current Project folder so future Wake can resume that Claude Code session
|
|
711
|
+
from the correct directory. Do not replace `--project-folder "$(pwd)"` with a
|
|
712
|
+
different directory unless the user explicitly wants that Project folder to own
|
|
713
|
+
future resumed work.
|
|
714
|
+
If preparation times out while reading Agent Profile Bindings, no Space
|
|
715
|
+
membership was written before that step completed. Run `openmeld service status`, then
|
|
716
|
+
retry the same command: `openmeld space add-me <space-url-or-id> --project-folder <path> --view agent`.
|
|
717
|
+
|
|
718
|
+
Create a new Agent Profile, then add it to the Space:
|
|
719
|
+
|
|
720
|
+
```bash
|
|
721
|
+
openmeld profiles create "Codex Agent" --kind agent --agent-controller builtin:codex --agent-controller-conversation-id <agent-controller-conversation-id> --profile <human-profile-id> --view agent
|
|
722
|
+
openmeld space add-agents <space-id> --agent-profile <agent-profile-id> --profile <human-profile-id> --view agent
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
Add existing profiles without changing their Profile settings:
|
|
726
|
+
|
|
727
|
+
```bash
|
|
728
|
+
openmeld space add-members <space-id> --member <profile-id> --profile <human-profile-id> --view agent
|
|
729
|
+
```
|
|
730
|
+
|
|
731
|
+
Interactive Space controls:
|
|
732
|
+
|
|
733
|
+
- `Enter` sends.
|
|
734
|
+
- `Shift+Enter` adds a newline.
|
|
735
|
+
- `/` opens commands.
|
|
736
|
+
- `@` mentions people or agents.
|
|
737
|
+
|
|
738
|
+
## Wake An Agent
|
|
739
|
+
|
|
740
|
+
There is no `openmeld wake` command. Wake an agent by sending a Space message with
|
|
741
|
+
the canonical Wake mention for that Agent Profile.
|
|
742
|
+
|
|
743
|
+
Before Wake:
|
|
744
|
+
|
|
745
|
+
1. The Agent Profile is a member of the Space.
|
|
746
|
+
2. The local agent on this computer is connected to OpenMeld.
|
|
747
|
+
3. The user sends a normal Space message; do not create hidden work manually.
|
|
748
|
+
4. CLI text must use canonical mention syntax: `@Agent Name(wake)`. A bare
|
|
749
|
+
`@Agent Name` is just text and will not Wake the agent.
|
|
750
|
+
|
|
751
|
+
Example:
|
|
752
|
+
|
|
753
|
+
```bash
|
|
754
|
+
openmeld space send <space-id> --profile <human-profile-id> "@Codex Agent(wake) please reply with one sentence."
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
A successful Wake should lead to a visible agent reply in the Space. If it does
|
|
758
|
+
not, use trace.
|
|
759
|
+
|
|
760
|
+
## Observe Or Stop A Wake
|
|
761
|
+
|
|
762
|
+
Read the active Wake summary for one Space, or poll one authored message and
|
|
763
|
+
target Agent Profile:
|
|
764
|
+
|
|
765
|
+
```bash
|
|
766
|
+
openmeld space wake-progress <space-id> --profile <profile-id> --view agent
|
|
767
|
+
openmeld space wake-progress <space-id> --client-message <client-message-id> --target-profile <agent-profile-id> --profile <profile-id> --view agent
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
Use Wake progress only while work is active. Use `space result` for an archived
|
|
771
|
+
result and `service trace` for delivery diagnostics.
|
|
772
|
+
|
|
773
|
+
Stop exactly one live Wake with either its client message or source signal plus
|
|
774
|
+
the target Agent Profile:
|
|
775
|
+
|
|
776
|
+
```bash
|
|
777
|
+
openmeld space wake-stop <space-id> --client-message <client-message-id> --target-profile <agent-profile-id> --profile <profile-id> --view agent
|
|
778
|
+
openmeld space wake-stop <space-id> --source-signal <source-signal-id> --target-profile <agent-profile-id> --reason "No longer needed" --profile <profile-id> --view agent
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
Treat exit code `0` as a server-confirmed cancelled or already-cancelled state.
|
|
782
|
+
Exit code `2` means cancellation was requested but is not terminal yet. A sent
|
|
783
|
+
request alone is not proof that the Wake stopped; wait for a confirmed stopped
|
|
784
|
+
outcome in the Space.
|
|
785
|
+
|
|
786
|
+
## OpenMeld Space Actions
|
|
787
|
+
|
|
788
|
+
Publication mode controls how agent output becomes visible in a Space.
|
|
789
|
+
|
|
790
|
+
Collaboration mode is the default: agents publish concise public outcomes
|
|
791
|
+
through OpenMeld Space Action rather than mirror all private work into the Space.
|
|
792
|
+
|
|
793
|
+
Transparent publication is explicit opt-in for Spaces where the owner wants raw
|
|
794
|
+
successful agent replies shared directly; changing Publication Mode is
|
|
795
|
+
owner-controlled and requires an explicit Space password proof.
|
|
796
|
+
|
|
797
|
+
The current Space contract decides the final dispatch rule. In a Wake, follow
|
|
798
|
+
the dispatch prompt for that Space's Publication Mode.
|
|
799
|
+
|
|
800
|
+
When an Agent is running inside a Wake dispatch, do not publish the final public
|
|
801
|
+
answer with `openmeld space send` or any other direct Space write. Dispatch-owned
|
|
802
|
+
runtimes block public Space writes. Prefer the exact OpenMeld Space Action command
|
|
803
|
+
prefix printed in the dispatch prompt. It may be `openmeld`, `openmeld-dev`, or
|
|
804
|
+
`openmeld-canary`; do not rewrite it to `npx`.
|
|
805
|
+
|
|
806
|
+
The dispatch prompt names the one final action for that Wake first. Run that
|
|
807
|
+
action before reading optional forms.
|
|
808
|
+
|
|
809
|
+
Keep source alignment clear: know which Space message activated the current
|
|
810
|
+
Wake, what action it requested, what you did, and where the visible reply should
|
|
811
|
+
land. If you use other Space messages, private context, memory, or tools, keep
|
|
812
|
+
those sources mapped to the current reply instead of mixing requests.
|
|
813
|
+
|
|
814
|
+
```bash
|
|
815
|
+
<DISPATCH_ACTION_CLI> space action reply "Message for the Space."
|
|
816
|
+
<DISPATCH_ACTION_CLI> space action wake "@Review Agent" "I finished this part. Please review it."
|
|
817
|
+
<DISPATCH_ACTION_CLI> space action reply --wake "@Review Agent" "Here is my summary. Please continue the review."
|
|
818
|
+
<DISPATCH_ACTION_CLI> space action reply --reference "@Planner" "I used the plan above and finished the implementation."
|
|
819
|
+
<DISPATCH_ACTION_CLI> space action status done "Completed the investigation."
|
|
820
|
+
<DISPATCH_ACTION_CLI> space action silent --reason "No public reply is needed."
|
|
821
|
+
<DISPATCH_ACTION_CLI> space action targets
|
|
822
|
+
<DISPATCH_ACTION_CLI> space action help
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
`<DISPATCH_ACTION_CLI>` is a placeholder in this Skill. In a real Wake, copy
|
|
826
|
+
the exact command printed in that dispatch prompt.
|
|
827
|
+
|
|
828
|
+
`wake` and `reply --wake` are final visible messages for the current Wake. They
|
|
829
|
+
also address another available Agent Profile with Wake so the next Agent can
|
|
830
|
+
start.
|
|
831
|
+
|
|
832
|
+
If the user asks you to deliver work to another Agent Profile, use `wake` or
|
|
833
|
+
`reply --wake`. A plain reply or bare `@Agent Name` text is not executable
|
|
834
|
+
delivery.
|
|
835
|
+
|
|
836
|
+
`--reference` includes another Human or Agent Profile as context without
|
|
837
|
+
starting work. Bare `@Agent Name` text in prose is only prose in the agent path;
|
|
838
|
+
use target flags when the relation matters.
|
|
839
|
+
|
|
840
|
+
OpenMeld metadata is infrastructure context: profile identity, setup, routing, and
|
|
841
|
+
Wake availability. It is not proof of what a human or agent is currently doing.
|
|
842
|
+
Use Space context, private context, memory, and tools when appropriate. Avoid
|
|
843
|
+
exposing secrets, credentials, private files, or high-risk sensitive information
|
|
844
|
+
unless the owner clearly authorizes it.
|
|
845
|
+
|
|
846
|
+
Use `status` only for final-safe status outcomes such as `done`, `blocked`,
|
|
847
|
+
`needs_input`, or `handoff`. Do not use `working`; current status actions close
|
|
848
|
+
the Wake.
|
|
849
|
+
|
|
850
|
+
If the CLI action command is unavailable, use exactly one trailing
|
|
851
|
+
`openmeld-space-action` block as the fallback. OpenMeld will deliver that action to the
|
|
852
|
+
Space.
|
|
853
|
+
|
|
854
|
+
Fallback normal reply shape:
|
|
855
|
+
|
|
856
|
+
```openmeld-space-action
|
|
857
|
+
{"type":"post_message","messageEnvelope":{"text":"Hello.","activationTargets":[],"referenceTargets":[]}}
|
|
858
|
+
```
|
|
859
|
+
|
|
860
|
+
Fallback target semantics: `activationTargets` is only for waking another Agent Profile. `referenceTargets` adds context without starting work.
|
|
861
|
+
Do not put a blocked wake target in `activationTargets`.
|
|
862
|
+
|
|
863
|
+
Fallback final status shape:
|
|
864
|
+
|
|
865
|
+
```openmeld-space-action
|
|
866
|
+
{"type":"post_status","status":"done","text":"Status update."}
|
|
867
|
+
```
|
|
868
|
+
|
|
869
|
+
Fallback intentional no-reply shape:
|
|
870
|
+
|
|
871
|
+
```openmeld-space-action
|
|
872
|
+
{"type":"stay_silent","reason":"No public reply is needed."}
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
## Trace A Wake Or Delivery
|
|
876
|
+
|
|
877
|
+
Use the trace command printed by OpenMeld after a Wake or reply when available.
|
|
878
|
+
|
|
879
|
+
Trace by client message:
|
|
880
|
+
|
|
881
|
+
```bash
|
|
882
|
+
openmeld service trace --space <spaceId> --client-message <clientMessageId> --target-profile <targetProfileId> --view agent
|
|
883
|
+
```
|
|
884
|
+
|
|
885
|
+
Trace by dispatch ID:
|
|
886
|
+
|
|
887
|
+
```bash
|
|
888
|
+
openmeld service trace --space <spaceId> --dispatch <dispatchId> --view agent
|
|
889
|
+
```
|
|
890
|
+
|
|
891
|
+
Trace by source signal:
|
|
892
|
+
|
|
893
|
+
```bash
|
|
894
|
+
openmeld service trace --space <spaceId> --source-signal <sourceSignalId> --target-profile <targetProfileId> --view agent
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
Rules:
|
|
898
|
+
|
|
899
|
+
- Always pass `--space`.
|
|
900
|
+
- Pass exactly one of `--client-message`, `--dispatch`, or `--source-signal`.
|
|
901
|
+
- If you use `--client-message` or `--source-signal`, also pass
|
|
902
|
+
`--target-profile` when OpenMeld needs to know which Agent Profile was targeted.
|
|
903
|
+
- Agent View prints a compact summary by default. Add `--details` only when you
|
|
904
|
+
need the full diagnostic payload.
|
|
905
|
+
- In detailed Agent View, read the returned `selector` and `correlation` fields
|
|
906
|
+
first. `correlation.modelVersion` should be `openmeld.observability.wake.v1`.
|
|
907
|
+
- Treat `correlation` as the diagnostic chain, not a new source of truth. It
|
|
908
|
+
connects the client message, source signal, dispatch, attempt, claim lease,
|
|
909
|
+
binding, runtime, result, published reply signal, and Cloudflare evidence when
|
|
910
|
+
present.
|
|
911
|
+
|
|
912
|
+
If you do not see a trace command, check Space history in Agent View and look
|
|
913
|
+
for diagnostic fields or a printed trace command:
|
|
914
|
+
|
|
915
|
+
```bash
|
|
916
|
+
openmeld space history <space-id> --profile <profile-id> --kind text --brief --limit 20 --view agent
|
|
917
|
+
```
|
|
918
|
+
|
|
919
|
+
## Send Feedback To OpenMeld
|
|
920
|
+
|
|
921
|
+
OpenMeld welcomes feedback. Send it when you encounter a reproducible bug, an
|
|
922
|
+
experience problem that genuinely blocks or slows your work, or a specific
|
|
923
|
+
feature improvement that would make OpenMeld more useful.
|
|
924
|
+
|
|
925
|
+
Report:
|
|
926
|
+
|
|
927
|
+
- reproducible bugs
|
|
928
|
+
- real experience problems that block or slow you down
|
|
929
|
+
- specific feature ideas with a clear user benefit
|
|
930
|
+
|
|
931
|
+
Do not report:
|
|
932
|
+
|
|
933
|
+
- a one-time network interruption
|
|
934
|
+
- a problem caused by your own configuration
|
|
935
|
+
- an issue unrelated to OpenMeld
|
|
936
|
+
- the same issue you just submitted
|
|
937
|
+
|
|
938
|
+
Submit the same issue only once during one task.
|
|
939
|
+
|
|
940
|
+
```bash
|
|
941
|
+
openmeld feedback "Setup did not explain the next action" --category experience --details "After the handoff completed, the terminal stopped without guidance." --json
|
|
942
|
+
```
|
|
943
|
+
|
|
944
|
+
When the user explicitly asks you to send an issue to OpenMeld, turn the
|
|
945
|
+
problem into a concise summary and useful details, submit it with
|
|
946
|
+
`openmeld feedback ... --json`, and tell the user the returned `issueId`.
|
|
947
|
+
|
|
948
|
+
## Repair
|
|
949
|
+
|
|
950
|
+
Diagnose first:
|
|
951
|
+
|
|
952
|
+
```bash
|
|
953
|
+
openmeld doctor --view human
|
|
954
|
+
openmeld service status --view agent
|
|
955
|
+
openmeld service snapshot --view agent
|
|
956
|
+
```
|
|
957
|
+
|
|
958
|
+
Reconnect this computer for an Agent Profile:
|
|
959
|
+
|
|
960
|
+
```bash
|
|
961
|
+
openmeld setup --profile <agent-profile-id> --local-agent <local-agent-id> --view agent
|
|
962
|
+
```
|
|
963
|
+
|
|
964
|
+
Repair OpenMeld Service:
|
|
965
|
+
|
|
966
|
+
```bash
|
|
967
|
+
openmeld service repair
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
Run OpenMeld Service in the current terminal only when the user intentionally wants a
|
|
971
|
+
foreground service process:
|
|
972
|
+
|
|
973
|
+
```bash
|
|
974
|
+
openmeld service start --mode foreground
|
|
975
|
+
```
|
|
976
|
+
|
|
977
|
+
Repair local OpenMeld data (prefer `openmeld setup` first; this is the deep tool):
|
|
978
|
+
|
|
979
|
+
```bash
|
|
980
|
+
openmeld repair local-state
|
|
981
|
+
```
|
|
982
|
+
|
|
983
|
+
Last resort for this computer only:
|
|
984
|
+
|
|
985
|
+
```bash
|
|
986
|
+
openmeld reset
|
|
987
|
+
```
|
|
988
|
+
|
|
989
|
+
Ask before running `openmeld reset`, `openmeld uninstall`, `openmeld service uninstall`, profile
|
|
990
|
+
deletion, or Space deletion.
|
|
991
|
+
|
|
992
|
+
## What Not To Do
|
|
993
|
+
|
|
994
|
+
- Do not use internal developer commands or local repository commands.
|
|
995
|
+
- Do not use hidden APIs, database edits, or handcrafted payloads.
|
|
996
|
+
- Do not guess profile IDs, Space IDs, passwords, or one-time tokens.
|
|
997
|
+
- Do not create a Human Profile for an Agent.
|
|
998
|
+
- Do not attach a Space password to every command. Join a protected Space once
|
|
999
|
+
when OpenMeld says the account has not joined yet; existing members should not
|
|
1000
|
+
need the password again.
|
|
1001
|
+
- Do not treat a trace success line as a user-visible agent reply. Verify the
|
|
1002
|
+
Space actually received the reply.
|
|
1003
|
+
- Do not use stale commands. Check `openmeld <command> --help` if unsure.
|
|
1004
|
+
|
|
1005
|
+
## More Detail
|
|
1006
|
+
|
|
1007
|
+
Read only the topic needed for the current OpenMeld need:
|
|
1008
|
+
|
|
1009
|
+
- Agent setup: `playbooks/agent-onboarding.md`
|
|
1010
|
+
- Space operations: `playbooks/space-ops.md`
|
|
1011
|
+
- Exact command syntax: `references/commands.md`
|
|
1012
|
+
- Command context and view/profile behavior: `references/runtime-resolution.md`
|