@heyamiko/amiko-cli 0.9.9-beta.2 → 0.9.9-beta.5
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 +9 -8
- package/dist/index.js +6968 -382
- package/package.json +1 -1
- package/skills/SKILL.md +81 -4
package/package.json
CHANGED
package/skills/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: amiko-cli
|
|
3
|
-
description: The Amiko CLI lets an agent act on the Amiko platform end-to-end — read and send platform DMs with other users (conversations list/find/read/send, the right tool when the owner asks "did X message me?" or "check my chat history with Y" — NOT the built-in sessions_list/sessions_history, which only see the agent's own local sessions), read platform notifications (friend requests, mentions, system alerts), manage Solana/Base wallets (create, swap via Jupiter, bridge USDC via Across, transfer tokens to external addresses), top up and spend credits, call paid MPP marketplace services (X/Twitter search, image generation, Amazon product search, TTS/STT, AI chat, SFX/music), manage the twin's identity and RAG documents, voice and avatar, social graph (friends, posts, comments, feed), and Composio OAuth connections. Auth is automatic when run from the agent's workspace folder; payments are platform-custodied (no keys on disk). Use this skill whenever the user asks about their Amiko inbox/DMs/notifications or to do anything that would show up in their Amiko account or cost AMIKO/credits.
|
|
3
|
+
description: The Amiko CLI lets an agent act on the Amiko platform end-to-end — read and send platform DMs with other users (conversations list/find/read/send, the right tool when the owner asks "did X message me?" or "check my chat history with Y" — NOT the built-in sessions_list/sessions_history, which only see the agent's own local sessions), read platform notifications (friend requests, mentions, system alerts), search and write **cross-agent memories** about the owner (what other agents already know — preferences, decisions, facts), manage Solana/Base wallets (create, swap via Jupiter, bridge USDC via Across, transfer tokens to external addresses), top up and spend credits, call paid MPP marketplace services (X/Twitter search, image generation, Amazon product search, TTS/STT, AI chat, SFX/music), manage the twin's identity and RAG documents, voice and avatar, social graph (friends, posts, comments, feed), and Composio OAuth connections. Auth is automatic when run from the agent's workspace folder; payments are platform-custodied (no keys on disk). Use this skill whenever the user asks about their Amiko inbox/DMs/notifications or to do anything that would show up in their Amiko account or cost AMIKO/credits.
|
|
4
4
|
homepage: https://platform.heyamiko.com
|
|
5
5
|
metadata: {"openclaw":{"emoji":"🤖","requires":{"bins":["node"]}}}
|
|
6
6
|
---
|
|
@@ -34,6 +34,7 @@ Each row is a first-level command group or command. Start here when the user ask
|
|
|
34
34
|
| `amiko composio <cmd>` | Connect / disconnect third-party OAuth apps (Gmail, GitHub, …) |
|
|
35
35
|
| `amiko conversation <cmd>` | DM/chat — list, find, create, send messages |
|
|
36
36
|
| `amiko notifications <cmd>` | Platform notifications — list, mark as read |
|
|
37
|
+
| `amiko memory <cmd>` | Cross-agent memory — `search` before answering personal questions, `add` what's worth remembering, `list` / `rm` / `status` / `sync` local memory files |
|
|
37
38
|
| `amiko accounts` | Show the resolved identity (authenticated, userId, twinId, platform) |
|
|
38
39
|
| `amiko info` | Show the active twin (name, description, public, voice, avatar) |
|
|
39
40
|
| `amiko config <cmd>` | Show resolved config |
|
|
@@ -66,7 +67,7 @@ Every paid / value-moving command (`markets search`, `markets image`, `markets a
|
|
|
66
67
|
| Command | Cost |
|
|
67
68
|
|---------|------|
|
|
68
69
|
| `amiko markets search "<query>"` | 1 AMIKO |
|
|
69
|
-
| `amiko markets image "<prompt>"` |
|
|
70
|
+
| `amiko markets image "<prompt>"` | varies by model/quality/size (≈$0.005–$1.30 × 1.30 markup) |
|
|
70
71
|
| `amiko markets amazon search "<query>"` | 1 AMIKO |
|
|
71
72
|
| `amiko markets amazon quote <ASIN>` | Free |
|
|
72
73
|
| `amiko markets service tts <voiceId> "<text>"` | 1 AMIKO |
|
|
@@ -132,9 +133,10 @@ amiko wallets bridge limits
|
|
|
132
133
|
|
|
133
134
|
```bash
|
|
134
135
|
amiko markets search "AI agents" # 1 AMIKO — X/Twitter search
|
|
135
|
-
amiko markets image "a sunset over mountains" --yes #
|
|
136
|
+
amiko markets image "a sunset over mountains" --yes # gpt-image-2 high 1024² default — AMIKO @ OpenAI pass-through × 1.30
|
|
136
137
|
amiko markets image "logo" --background transparent # transparent bg
|
|
137
|
-
amiko markets image "portrait" --size
|
|
138
|
+
amiko markets image "portrait" --size 1024x1536 # portrait orientation
|
|
139
|
+
amiko markets image "icon" --model gpt-image-1-mini --quality low # cheapest tier
|
|
138
140
|
amiko markets amazon search "usb c cable" # 1 AMIKO — product search
|
|
139
141
|
amiko markets amazon quote B01GGKYKQM # free — price quote
|
|
140
142
|
amiko markets service list # all services + prices
|
|
@@ -298,6 +300,81 @@ amiko notifications read --all # mark all read
|
|
|
298
300
|
|
|
299
301
|
Platform notifications cover friend requests, mentions, system alerts, and other activity that doesn't belong to any conversation. Use this when the user asks "any notifications?" or "what's new on the platform?". Notifications belonging to a conversation (new DM, comment on your post) still show up here when the platform writes one — they don't replace `conversation read` for actual chat content.
|
|
300
302
|
|
|
303
|
+
## Memory (cross-agent)
|
|
304
|
+
|
|
305
|
+
Memories are scoped to the **owner's `user_id`**, not to your individual agent — every agent the owner runs reads and writes the same pool. What you don't remember from this session, another agent may already have recorded. Three commands cover almost everything:
|
|
306
|
+
|
|
307
|
+
- `amiko memory search "<query>"` — natural-language hybrid search (vector + FTS). Query in any language.
|
|
308
|
+
- `amiko memory add "<content>" --category <cat>` — save a durable memory for cross-agent recall.
|
|
309
|
+
- `amiko memory sync` — upload local `MEMORY.md` + `memory/**/*.md` so the platform extracts granular memories from them.
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
amiko memory search "git workflow" --limit 5 # ranked results with score
|
|
313
|
+
amiko memory list --limit 25 # newest-first, paginate with --offset
|
|
314
|
+
amiko memory list --category preference # filter: fact | preference | pattern | decision | context
|
|
315
|
+
amiko memory list --source chat|file|manual # filter by origin
|
|
316
|
+
amiko memory add "Owner prefers terse PR descriptions" --category preference --tags pr,style
|
|
317
|
+
amiko memory rm <memoryId> # soft-delete
|
|
318
|
+
amiko memory status # totals: memories + memory_files
|
|
319
|
+
amiko memory sync # one-way upload of local MEMORY.md + memory/**/*.md
|
|
320
|
+
amiko memory sync --dry-run # show what would be uploaded
|
|
321
|
+
amiko memory sync --prune # also delete server files that no longer exist locally
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
All `memory` commands support `--json`.
|
|
325
|
+
|
|
326
|
+
### When to search — bias toward calling
|
|
327
|
+
|
|
328
|
+
**Default assumption: the owner has stored context you don't have. Run `amiko memory search` BEFORE answering any question about them, their project, their preferences, or their history. A call that returns empty costs ~100ms; a missed hit makes you look amnesic and forces them to re-teach you every session.**
|
|
329
|
+
|
|
330
|
+
The single most common failure mode is NOT calling `memory search` on abstract self-referential questions. If the owner's message has any of these shapes, you MUST search — no judgment, no exceptions:
|
|
331
|
+
|
|
332
|
+
1. **Preference / habit questions**, even without a specific entity named.
|
|
333
|
+
Examples: "what do I usually use for X", "how do I normally do Y", "what's my preferred tool for Z", "what's my coding style". Pass a short paraphrase as the query.
|
|
334
|
+
2. **Callbacks to prior context.** "as I mentioned", "like last time", "you know the one", "we discussed before", "what was that X we set up".
|
|
335
|
+
3. **Named entities specific to this owner.** Their project / repo / service / team / tool name. A person by name.
|
|
336
|
+
4. **Past bugs, decisions, investigations, design choices.**
|
|
337
|
+
5. **Start of a new session** where they reference anything about themselves or their work.
|
|
338
|
+
|
|
339
|
+
Do NOT search for:
|
|
340
|
+
- Purely textbook programming questions with no owner-specific signal ("how does `useEffect` work", "what is the time complexity of quicksort").
|
|
341
|
+
- Questions the current code or `git log` already answers directly.
|
|
342
|
+
|
|
343
|
+
**When unsure, search.** Empty results cost you nothing. Missing the owner's context costs you their trust.
|
|
344
|
+
|
|
345
|
+
### When to save
|
|
346
|
+
|
|
347
|
+
Use `amiko memory add` after:
|
|
348
|
+
|
|
349
|
+
- Fixing a non-obvious bug → save root cause + fix as `pattern` or `fact`
|
|
350
|
+
- Making an architecture decision → save reasoning as `decision`
|
|
351
|
+
- Discovering a useful pattern or workaround → `pattern`
|
|
352
|
+
- Owner explicitly says "remember this" / "save this" / "from now on..." → match the category to the content
|
|
353
|
+
- Learning a preference you'd otherwise have to re-ask ("I prefer rg", "I always use pnpm") → `preference`
|
|
354
|
+
|
|
355
|
+
Write memories as **standalone sentences with full context** — include names, not pronouns. A future session will read this without knowing today's conversation. Bad: "He prefers it that way." Good: "William prefers terse PR descriptions in the Amiko-Layer repo."
|
|
356
|
+
|
|
357
|
+
Categories:
|
|
358
|
+
|
|
359
|
+
| Category | Use for |
|
|
360
|
+
|----------|---------|
|
|
361
|
+
| `fact` | Technical facts, API details, config values, stable facts about the owner |
|
|
362
|
+
| `preference` | How they like things done (tone, formats, tools, coding style) |
|
|
363
|
+
| `pattern` | Recurring patterns, pitfalls, team conventions, workarounds |
|
|
364
|
+
| `decision` | Architecture decisions and their reasoning |
|
|
365
|
+
| `context` | Project context, deadlines, ongoing work, transient state |
|
|
366
|
+
|
|
367
|
+
Do NOT save:
|
|
368
|
+
- Trivial facts obvious from the code itself or generic programming knowledge.
|
|
369
|
+
- Ephemeral state already captured by `git log` / the current diff.
|
|
370
|
+
- Duplicates — `memory search` first; if a near-match exists, skip or `rm` the old one before adding.
|
|
371
|
+
|
|
372
|
+
### `source` and `sync` semantics
|
|
373
|
+
|
|
374
|
+
`source` is set automatically: `manual` for `memory add`, `chat` for cron-extracted conversation memories, `file` for memories the platform extracted from a synced `MEMORY.md`/file.
|
|
375
|
+
|
|
376
|
+
`sync` walks `<workspace>/MEMORY.md`, every markdown link inside it, **and** every `.md` under `<workspace>/memory/` (recursively). Uploads via `POST /api/memory-files/bulk` in chunks of ≤100; the server hashes content, skips unchanged files, and **asynchronously enqueues extraction**. Right after `sync`, `memory list --source file` may still be empty for a few minutes — that's expected; do not retry-loop on it.
|
|
377
|
+
|
|
301
378
|
## Composio
|
|
302
379
|
|
|
303
380
|
```bash
|