cubox
Original:🇺🇸 English
Translated
Cubox CLI is a callable personal reading memory system that enables you to search, read, and use saved content, perform semantic (RAG-based) queries, access articles, highlights, and metadata, save URLs, update content states, and retrieve annotations and structure such as folders and tags. Use this tool when a task depends on the user’s reading history or requires context from their Cubox library.
11installs
Sourceolcubo/cubox-cli
Added on
NPX Install
npx skill4agent add olcubo/cubox-cli cuboxTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →cubox-cli
Manage Cubox bookmarks via the command-line tool.
cubox-cliAuthentication
If any command fails with "not logged in", run and follow the interactive prompts.
cubox-cli auth loginCommands
All commands output JSON by default. Add for indented JSON, for human-readable output.
-o pretty-o textList Folders
bash
cubox-cli folder listReturns:
[{ "id", "nested_name", "name", "parent_id", "uncategorized" }]List Tags
bash
cubox-cli tag listReturns:
[{ "id", "nested_name", "name", "parent_id" }]Filter / Search Cards
bash
cubox-cli card list [flags]Flags:
- — filter by folder IDs
--folder ID,... - — filter by tag IDs
--tag ID,... - — starred cards only
--starred - /
--read— filter by read status--unread - — cards with annotations only
--annotated - — search by keyword
--keyword TEXT - ,
--start-time— filter by time range (see Time filtering below)--end-time - — page size (default 50)
--limit N - — cursor pagination (non-search mode)
--last-id CARD_ID - — page-based pagination (search mode, 1-based)
--page N - — auto-paginate all results
--all
Pagination rules:
- When is set (search mode): use
--keywordfor pagination,--pageis ignored--last-id - When is not set (browse mode): use
--keywordfor cursor-based pagination--last-id
Returns:
[{ "id", "title", "description", "domain", "read", "starred", "tags", "folder", "url", ... }]Get Card Detail
bash
cubox-cli card detail --id CARD_IDReturns full card with (markdown), , , and (AI summary + Q&A). Use to output only the markdown content.
contentauthorannotationsinsight-o textRAG Semantic Search
bash
cubox-cli card rag --query "QUERY_TEXT"Semantic search via natural language. Unlike , RAG understands intent and returns conceptually relevant cards. Must-read: RAG workflow — covers when to use RAG vs keyword, query refinement, progressive detail fetching, and re-ranking.
--keywordReturns: (same Card shape as )
[{ "id", "title", "description", "domain", "tags", "folder", "url", ... }]card listSave Web Pages
bash
cubox-cli save URL [URL...] [--title TEXT] [--desc TEXT] [--folder NAME] [--tag NAME,...]
cubox-cli save --json '[{"url":"...","title":"...","description":"..."}]' [--folder NAME] [--tag NAME,...]Save one or more web pages as bookmarks. Three input modes:
- URL arguments — simple:
cubox-cli save https://example.com https://b.com - Single with metadata —
cubox-cli save https://example.com --title "My Page" --desc "A description" - Batch via JSON —
cubox-cli save --json '[{"url":"https://a.com","title":"Title A"}]'
Folders and tags are specified by name (not ID), including nested paths like .
"parent/child"Update a Card
bash
cubox-cli update --id CARD_ID [flags]Flags:
- /
--star— toggle star--unstar - /
--read— toggle read status--unread - — archive the card
--archive - — move to folder by name (e.g.
--folder NAME;"parent/child"= Uncategorized)"" - — replace all tags (existing tags are removed and replaced)
--tag NAME,... - — add tags without affecting existing ones
--add-tag NAME,... - — remove specific tags only
--remove-tag NAME,... - — update title
--title TEXT - — update description
--description TEXT
Tag operation guide — choose the right flag based on user intent:
| User says | Flag | Behavior |
|---|---|---|
| "刷新/更改/替换/设置 tags" | | Replaces all tags (old tags removed) |
| "添加/新增/加上 tags" | | Appends tags (existing tags kept) |
| "删除/移除/去掉 tags" | | Removes only specified tags |
Folders and tags are specified by name (not ID). No need to query IDs first.
Delete Cards
bash
cubox-cli delete --id CARD_ID [--id ID2,...] [--dry-run]Delete cards by ID. Always first. Must-read: Dry Run Policy — agents must preview before deleting.
--dry-runList Annotations
bash
cubox-cli annotation list [flags]Flags:
- — filter by color
--color Yellow,Green,Blue,Pink,Purple - — search annotations
--keyword TEXT - ,
--start-time— filter by time range (same formats and rules as card list)--end-time - — page size (default 50)
--limit N - — cursor pagination
--last-id ID - — auto-paginate all results
--all
Returns:
[{ "id", "text", "note", "color", "card_id", ... }]Cubox Deep Links
Construct clickable Cubox links from any resource ID (card, folder, tag). No API call needed — just the ID + server. Must-read: Deep Links — URL patterns, scheme rules, and examples.
Default: — use scheme only when explicitly requested.
https://{server}/web/card/{ID}cubox://Time filtering
--start-time--end-time- resolves to start of day (00:00:00.000)
--start-time - resolves to end of day (23:59:59.999)
--end-time
Accepted formats: , , , (7 days ago), , , or full ISO timestamp.
todayyesterdaynow7d2026-01-012026-01-01 15:04:05Common time query patterns:
| Intent | Command |
|---|---|
| Today's cards | |
| Yesterday's cards | |
| Last 7 days | |
| Since a date | |
| Up to now | |
Common Workflows
Browse and read a card detail
bash
cubox-cli folder list
cubox-cli card list --folder FOLDER_ID --limit 10
cubox-cli card detail --id CARD_IDSearch for articles
bash
cubox-cli card list --keyword "machine learning" --page 1Save a page and star it
bash
cubox-cli save https://example.com --title "Example" --folder "Reading List"
cubox-cli update --id CARD_ID --starList cards with Cubox links
bash
cubox-cli auth status # determine server (cubox.pro or cubox.cc)
cubox-cli card list --limit 5 # get cards, then append link from ID
# For card ID 7247925101516031380 on cubox.pro:
# → https://cubox.pro/web/card/7247925101516031380Export all annotations
bash
cubox-cli annotation list --allUpdate Check
cubox-cli automatically checks for new versions in the background. When a newer version is available, the JSON output will contain a field:
_notice.updatejson
{
"data": [ "..." ],
"_notice": {
"update": {
"current": "0.1.0",
"latest": "0.2.0",
"message": "A new version of cubox-cli is available: 0.1.0 -> 0.2.0",
"command": "npm update -g cubox-cli && npx skills add OLCUBO/cubox-cli -g -y"
}
}
}When you see in output, after completing the user's current request, proactively offer to update:
_notice.update- Tell the user the current and latest version numbers
- Propose running the update (CLI and Skills must be updated together):
bash
npm update -g cubox-cli && npx skills add OLCUBO/cubox-cli -g -y- After the update, remind the user: exit and reopen the AI Agent to load the latest Skills
Rule: Do not silently ignore update notices. Even if the current task is unrelated, mention the available update after completing the user's request.
Security Rules
- Never expose sensitive credentials in plain text (API key/token, session data, auth headers).
- Treat Cubox API tokens as local secrets. Do not commit or copy them into repository files, screenshots, or shared notes.
- Before any write/destructive action (,
save,update), confirm user intent first. For deletion, always rundeleteand present the preview before execution.--dry-run - When demonstrating commands, use placeholders (for example ) instead of real values.
YOUR_API_KEY - Avoid leaving secrets in shell history where possible (for example, prefer temporary environment variables and clear them after use).
- If credentials are suspected to be leaked, instruct the user to rotate the Cubox API token from the extensions page immediately.
Notes
- Browse pagination uses cursor-based approach (). Search pagination uses page numbers (
--last-id).--page - The field in folders and tags shows the full hierarchy path (e.g.
nested_name)."Parent/Child" - Card detail includes AI-generated with summary and Q&A pairs when available.
insight - Config is stored at .
~/.config/cubox-cli/config.json