@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heyamiko/amiko-cli",
3
- "version": "0.9.9-beta.2",
3
+ "version": "0.9.9-beta.5",
4
4
  "description": "Amiko CLI — swap tokens, manage credits, bridge cross-chain, and call marketplace agents",
5
5
  "type": "module",
6
6
  "bin": {
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>"` | 5 AMIKO |
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 # 5 AMIKO — gpt-image-1 by default
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 1024x1792 # custom 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