@heyditto/cli 1.5.0 → 1.7.0
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 +73 -16
- package/dist/cli.js +459 -412
- package/dist/cli.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npm install -g @heyditto/cli
|
|
7
|
-
heyditto init --
|
|
7
|
+
heyditto init --name "NAME_OF_AGENT" --json # the name is set once, here
|
|
8
8
|
|
|
9
9
|
heyditto save "I prefer TypeScript over JS for new projects"
|
|
10
10
|
heyditto search "language preferences"
|
|
@@ -45,7 +45,7 @@ You can also reorder your `PATH` so the npm global bin comes before `/usr/bin`,
|
|
|
45
45
|
Agents can self-provision without a browser, email, or OTP:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
heyditto init --
|
|
48
|
+
heyditto init --json
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
The command creates a free claimable agent account, stores the key in
|
|
@@ -56,16 +56,16 @@ that link. The claim token is carried in the query string (`?t=...`).
|
|
|
56
56
|
|
|
57
57
|
### Name the agent at init
|
|
58
58
|
|
|
59
|
-
Decide the agent's name **before** you run `init` and pass it with `--
|
|
59
|
+
Decide the agent's name **before** you run `init` and pass it with `--name`:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
heyditto init --
|
|
62
|
+
heyditto init --name "NAME_OF_AGENT" --json
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
The caller name is set **once, at account creation**, and it labels everything
|
|
66
66
|
the agent saves: after a human claims the account, the agent's memories show up
|
|
67
67
|
in the owner's graph as an *external agent thread* titled by this name. If you
|
|
68
|
-
init without `--
|
|
68
|
+
init without `--name`, the name defaults to `agent` and every memory is
|
|
69
69
|
labeled `agent` — generic and hard to tell apart from other agents.
|
|
70
70
|
|
|
71
71
|
So: use the agent's own name, or a name the user has already chosen, and set it
|
|
@@ -88,19 +88,43 @@ heyditto save <content> [--source <s>] [--source-context <c>]
|
|
|
88
88
|
heyditto search <query>... [--include-public] [--filter-username <u>]
|
|
89
89
|
heyditto fetch <id>... [--memory-format full|outline|blocks]
|
|
90
90
|
heyditto list [--username <u>] [--limit <n>] [--offset <n>] [--source <s>]
|
|
91
|
+
heyditto my-memories [--limit <n>] [--offset <n>] [--source <s>]
|
|
91
92
|
heyditto update <id> [--content <text>|--content-file <path>] [--title <t>]
|
|
92
93
|
[--source-context <c>] [--edits-json <json>|--edits-file <path>]
|
|
93
94
|
[--base-revision <n>]
|
|
94
95
|
heyditto publish <id> [--title <t>] [--privacy-mode <mode>]
|
|
95
96
|
heyditto unpublish (--memory-id <id>|--share-id <id>|<id>)
|
|
97
|
+
heyditto delete <memory-id> --confirm
|
|
96
98
|
heyditto subjects <query> [--top-k <n>]
|
|
99
|
+
heyditto subject-edges <subject-id> [--limit <n>] [--min-weight <n>] [--kg <alias>]
|
|
97
100
|
heyditto memories <subject-id>... [--query <q>]
|
|
98
101
|
heyditto network <pair-id> [--limit <n>]
|
|
99
|
-
heyditto
|
|
100
|
-
heyditto
|
|
101
|
-
heyditto
|
|
102
|
+
heyditto friends
|
|
103
|
+
heyditto knowledge-graphs
|
|
104
|
+
heyditto graph-sharing (--enable|--disable) [--title <t>] [--description <d>]
|
|
105
|
+
heyditto graphs create <name>
|
|
106
|
+
heyditto graphs list
|
|
107
|
+
heyditto graphs available
|
|
108
|
+
heyditto graphs add <@username>
|
|
109
|
+
heyditto graphs remove <@username>
|
|
110
|
+
heyditto graphs subscribers
|
|
111
|
+
heyditto graphs sharing (--enable|--disable) [--title <t>] [--description <d>]
|
|
112
|
+
heyditto init [--name <name>] [--subscribe <@graph>]... [<@graph>...] [--json]
|
|
113
|
+
heyditto login [<key>] [--paste] [--stdin]
|
|
114
|
+
heyditto logout
|
|
115
|
+
heyditto status [--output <format>]
|
|
102
116
|
heyditto config
|
|
103
|
-
heyditto help
|
|
117
|
+
heyditto help [command]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Help
|
|
121
|
+
|
|
122
|
+
Use `-h` or `--help` globally or after any command:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
heyditto --help
|
|
126
|
+
heyditto search --help
|
|
127
|
+
heyditto graphs add --help
|
|
104
128
|
```
|
|
105
129
|
|
|
106
130
|
### `save`
|
|
@@ -142,8 +166,13 @@ List saved memories, or public DittoHub publishes for a username.
|
|
|
142
166
|
```bash
|
|
143
167
|
heyditto list --limit 10
|
|
144
168
|
heyditto list --username peyton --limit 10 --output json
|
|
169
|
+
heyditto my-memories --source cli --limit 10 --output json
|
|
145
170
|
```
|
|
146
171
|
|
|
172
|
+
`my-memories` is the CLI wrapper for `list_my_memories`. It only lists your
|
|
173
|
+
saved memories, while `list --username <u>` can switch to public DittoHub
|
|
174
|
+
publishes for another user.
|
|
175
|
+
|
|
147
176
|
### `update`
|
|
148
177
|
|
|
149
178
|
Edit a saved memory in place. Replace the full body with `--content` or
|
|
@@ -154,10 +183,7 @@ Block edits require the current revision returned by `save` or a previous
|
|
|
154
183
|
```bash
|
|
155
184
|
heyditto update <memory-id> --content-file revised.md --output json
|
|
156
185
|
heyditto fetch <memory-id> --memory-format outline --output json
|
|
157
|
-
heyditto update <memory-id>
|
|
158
|
-
--edits-json '[{"op":"replace_text","blockId":"2","find":"old","replace":"new","expectedCount":1}]' \
|
|
159
|
-
--base-revision 3 \
|
|
160
|
-
--output json
|
|
186
|
+
heyditto update <memory-id> --edits-file edits.json --base-revision 3 --output json
|
|
161
187
|
```
|
|
162
188
|
|
|
163
189
|
### `publish` / `unpublish`
|
|
@@ -170,6 +196,15 @@ heyditto publish <memory-id> --title "Launch notes" --privacy-mode scan_and_bloc
|
|
|
170
196
|
heyditto unpublish --share-id abc123def4 --output json
|
|
171
197
|
```
|
|
172
198
|
|
|
199
|
+
### `delete`
|
|
200
|
+
|
|
201
|
+
Permanently delete a saved memory. This is destructive, so the CLI requires
|
|
202
|
+
`--confirm`.
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
heyditto delete <memory-id> --confirm --output json
|
|
206
|
+
```
|
|
207
|
+
|
|
173
208
|
### `subjects`
|
|
174
209
|
|
|
175
210
|
Search the subject (topic) graph. Returns subject ids you can pass to `memories` or `network`.
|
|
@@ -177,8 +212,11 @@ Search the subject (topic) graph. Returns subject ids you can pass to `memories`
|
|
|
177
212
|
```bash
|
|
178
213
|
heyditto subjects "memory architecture"
|
|
179
214
|
heyditto subjects "performance" --top-k 5
|
|
215
|
+
heyditto subject-edges <subject-id> --limit 10 --min-weight 0.5 --output json
|
|
180
216
|
```
|
|
181
217
|
|
|
218
|
+
`subject-edges` is the CLI wrapper for `get_subject_edges`.
|
|
219
|
+
|
|
182
220
|
### `memories`
|
|
183
221
|
|
|
184
222
|
Fetch memory previews scoped to specific subjects.
|
|
@@ -196,6 +234,14 @@ Traverse a memory's network (related memories via shared subjects).
|
|
|
196
234
|
heyditto network <pair-id> --limit 30
|
|
197
235
|
```
|
|
198
236
|
|
|
237
|
+
### `friends`
|
|
238
|
+
|
|
239
|
+
List Ditto friends for commands that need usernames.
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
heyditto friends --output json
|
|
243
|
+
```
|
|
244
|
+
|
|
199
245
|
### `graphs`
|
|
200
246
|
|
|
201
247
|
Manage the public knowledge graphs you're subscribed to. Subscribed graphs are
|
|
@@ -206,35 +252,46 @@ your own graph or an app's graph, since those aren't subscriptions.
|
|
|
206
252
|
```bash
|
|
207
253
|
heyditto graphs create feedback-triager # create a NEW dedicated graph you own (mint its CI key in the Ditto UI)
|
|
208
254
|
heyditto graphs list # graphs you're subscribed to
|
|
255
|
+
heyditto graphs available # readable knowledge graphs, including main/app graphs
|
|
209
256
|
heyditto graphs add @minos # subscribe to @minos's public graph
|
|
210
257
|
heyditto graphs remove @minos # unsubscribe
|
|
211
258
|
heyditto graphs subscribers # who's subscribed to your graph
|
|
259
|
+
heyditto graphs sharing --disable # disable public subscriptions to your graph
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Top-level aliases are also available:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
heyditto knowledge-graphs --output json
|
|
266
|
+
heyditto graph-sharing --enable --title "Support Graph" --description "Public support notes"
|
|
212
267
|
```
|
|
213
268
|
|
|
214
269
|
### `status`
|
|
215
270
|
|
|
216
271
|
Print whether `DITTO_API_KEY` is set and the configured MCP endpoint resolves.
|
|
217
272
|
|
|
218
|
-
### `init
|
|
273
|
+
### `init`
|
|
219
274
|
|
|
220
275
|
Create a free claimable agent account and save its key locally. Use `--json` for
|
|
221
276
|
machine-readable output that includes `apiKeyStored`, `userID`, and `claimURL`.
|
|
222
277
|
Share `claimURL` with the human owner. The CLI stores the generated key locally
|
|
223
278
|
without printing it. The claim URL uses a `?t=...` query parameter.
|
|
224
279
|
|
|
225
|
-
Pass `--
|
|
280
|
+
Pass `--name <name>` to set the agent's name. This is set once at init,
|
|
226
281
|
defaults to `agent`, labels every memory the agent saves, and (after the account
|
|
227
282
|
is claimed) becomes the title of the agent's external thread in the owner's
|
|
228
283
|
graph. Choose it up front — renaming after init isn't yet supported. See
|
|
229
284
|
[Name the agent at init](#name-the-agent-at-init).
|
|
230
285
|
|
|
286
|
+
`--agent-caller <name>` is still accepted as a backward-compatible alias.
|
|
287
|
+
|
|
231
288
|
### `config`
|
|
232
289
|
|
|
233
290
|
Print a Claude Desktop / Cursor / generic-MCP-client config snippet for the Ditto memory server.
|
|
234
291
|
|
|
235
292
|
## Environment
|
|
236
293
|
|
|
237
|
-
- `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --
|
|
294
|
+
- `DITTO_API_KEY` (optional) — MCP API key override. Agents can instead run `heyditto init --json` for no-human setup.
|
|
238
295
|
- `DITTO_API_BASE` (optional) — API base URL. Defaults to `https://api.heyditto.ai`. Useful for local dev (`http://localhost:3400`).
|
|
239
296
|
|
|
240
297
|
## Output
|