{
  "schemaVersion": "1.0",
  "item": {
    "slug": "voyageai-skill",
    "name": "Voyage AI CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/mrlynn/voyageai-skill",
    "canonicalUrl": "https://clawhub.ai/mrlynn/voyageai-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/voyageai-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=voyageai-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/vector-search.md",
      "references/models.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/voyageai-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/voyageai-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/voyageai-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voyageai-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voyageai-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "🧭 Voyage AI Skill",
        "body": "Uses the vai CLI (voyageai-cli) for Voyage AI embeddings, reranking, and MongoDB Atlas Vector Search. Pure Node.js — no Python required."
      },
      {
        "title": "Setup",
        "body": "npm install -g voyageai-cli"
      },
      {
        "title": "Environment Variables",
        "body": "VariableRequired ForDescriptionVOYAGE_API_KEYembed, rerank, store, search, similarity, ingest, pingModel API key from MongoDB AtlasMONGODB_URIstore, search, index, ingest, ping (optional)Atlas connection string\n\nGet your API key: MongoDB Atlas → AI Models → Create model API key"
      },
      {
        "title": "embed — Generate embeddings",
        "body": "vai embed \"What is MongoDB?\"\nvai embed \"search query\" --model voyage-4-large --input-type query --dimensions 512\nvai embed --file document.txt --input-type document\ncat texts.txt | vai embed\nvai embed \"hello\" --output-format array"
      },
      {
        "title": "rerank — Rerank documents",
        "body": "vai rerank --query \"database performance\" --documents \"MongoDB is fast\" \"SQL is relational\"\nvai rerank --query \"best database\" --documents-file candidates.json --top-k 3"
      },
      {
        "title": "store — Embed and store in Atlas",
        "body": "vai store --db mydb --collection docs --field embedding \\\n  --text \"MongoDB Atlas is a cloud database\" \\\n  --metadata '{\"source\": \"docs\"}'\n\n# Batch from JSONL\nvai store --db mydb --collection docs --field embedding --file documents.jsonl"
      },
      {
        "title": "search — Vector search",
        "body": "vai search --query \"cloud database\" --db mydb --collection docs \\\n  --index vector_index --field embedding\n\n# With pre-filter\nvai search --query \"performance\" --db mydb --collection docs \\\n  --index vector_index --field embedding --filter '{\"category\": \"guides\"}' --limit 5"
      },
      {
        "title": "index — Manage vector search indexes",
        "body": "vai index create --db mydb --collection docs --field embedding \\\n  --dimensions 1024 --similarity cosine --index-name my_index\nvai index list --db mydb --collection docs\nvai index delete --db mydb --collection docs --index-name my_index"
      },
      {
        "title": "models — List available models",
        "body": "vai models\nvai models --type embedding\nvai models --type reranking\nvai models --json"
      },
      {
        "title": "ping — Test connectivity",
        "body": "vai ping\nvai ping --json"
      },
      {
        "title": "config — Manage persistent configuration",
        "body": "vai config set api-key \"pa-your-key\"\necho \"pa-your-key\" | vai config set api-key --stdin\nvai config get\nvai config delete api-key\nvai config path\nvai config reset"
      },
      {
        "title": "demo — Interactive guided walkthrough",
        "body": "vai demo\nvai demo --no-pause\nvai demo --skip-pipeline\nvai demo --keep"
      },
      {
        "title": "explain — Learn about AI concepts",
        "body": "vai explain                      # List all topics\nvai explain embeddings\nvai explain reranking\nvai explain vector-search\nvai explain rag\nvai explain cosine-similarity\nvai explain two-stage-retrieval\nvai explain input-type\nvai explain models\nvai explain api-keys\nvai explain api-access\nvai explain batch-processing"
      },
      {
        "title": "similarity — Compare text similarity",
        "body": "vai similarity \"MongoDB is a document database\" \"MongoDB Atlas is a cloud database\"\nvai similarity \"database performance\" --against \"MongoDB is fast\" \"PostgreSQL is relational\"\nvai similarity --file1 doc1.txt --file2 doc2.txt\nvai similarity \"text A\" \"text B\" --json"
      },
      {
        "title": "ingest — Bulk import with progress",
        "body": "vai ingest --file corpus.jsonl --db myapp --collection docs --field embedding\nvai ingest --file data.csv --db myapp --collection docs --field embedding --text-column content\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding \\\n  --model voyage-4 --batch-size 100 --input-type document\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding --dry-run"
      },
      {
        "title": "completions — Shell completion scripts",
        "body": "vai completions bash    # Output bash completion script\nvai completions zsh     # Output zsh completion script\n\n# Install bash completions\nvai completions bash >> ~/.bashrc && source ~/.bashrc\n\n# Install zsh completions\nvai completions zsh > ~/.zsh/completions/_vai"
      },
      {
        "title": "help — Display help",
        "body": "vai help\nvai help embed\nvai embed --help"
      },
      {
        "title": "Embed → Store → Search Pipeline",
        "body": "# 1. Store documents\nvai store --db myapp --collection articles --field embedding \\\n  --text \"MongoDB Atlas provides a fully managed cloud database\" \\\n  --metadata '{\"title\": \"Atlas Overview\"}'\n\n# 2. Create index\nvai index create --db myapp --collection articles --field embedding \\\n  --dimensions 1024 --similarity cosine --index-name article_search\n\n# 3. Search\nvai search --query \"how does cloud database work\" \\\n  --db myapp --collection articles --index article_search --field embedding"
      },
      {
        "title": "Two-Stage Retrieval (Embed + Rerank)",
        "body": "# 1. Get candidates via vector search\nvai search --query \"database scaling\" --db myapp --collection articles \\\n  --index article_search --field embedding --limit 20 --json > candidates.json\n\n# 2. Rerank for precision\nvai rerank --query \"database scaling\" --documents-file candidates.json --top-k 5"
      },
      {
        "title": "Bulk Ingest Pipeline",
        "body": "# 1. Validate data (dry run)\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding --dry-run\n\n# 2. Ingest with progress\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding\n\n# 3. Create index\nvai index create --db myapp --collection docs --field embedding \\\n  --dimensions 1024 --similarity cosine"
      },
      {
        "title": "Global Flags",
        "body": "FlagDescription--jsonMachine-readable JSON output--quietSuppress non-essential output"
      },
      {
        "title": "References",
        "body": "Model Catalog — All models with pricing and specs\nVector Search Patterns — Atlas Vector Search integration guide"
      }
    ],
    "body": "🧭 Voyage AI Skill\n\nUses the vai CLI (voyageai-cli) for Voyage AI embeddings, reranking, and MongoDB Atlas Vector Search. Pure Node.js — no Python required.\n\nSetup\nnpm install -g voyageai-cli\n\nEnvironment Variables\nVariable\tRequired For\tDescription\nVOYAGE_API_KEY\tembed, rerank, store, search, similarity, ingest, ping\tModel API key from MongoDB Atlas\nMONGODB_URI\tstore, search, index, ingest, ping (optional)\tAtlas connection string\n\nGet your API key: MongoDB Atlas → AI Models → Create model API key\n\nCommand Reference (14 commands)\nembed — Generate embeddings\nvai embed \"What is MongoDB?\"\nvai embed \"search query\" --model voyage-4-large --input-type query --dimensions 512\nvai embed --file document.txt --input-type document\ncat texts.txt | vai embed\nvai embed \"hello\" --output-format array\n\nrerank — Rerank documents\nvai rerank --query \"database performance\" --documents \"MongoDB is fast\" \"SQL is relational\"\nvai rerank --query \"best database\" --documents-file candidates.json --top-k 3\n\nstore — Embed and store in Atlas\nvai store --db mydb --collection docs --field embedding \\\n  --text \"MongoDB Atlas is a cloud database\" \\\n  --metadata '{\"source\": \"docs\"}'\n\n# Batch from JSONL\nvai store --db mydb --collection docs --field embedding --file documents.jsonl\n\nsearch — Vector search\nvai search --query \"cloud database\" --db mydb --collection docs \\\n  --index vector_index --field embedding\n\n# With pre-filter\nvai search --query \"performance\" --db mydb --collection docs \\\n  --index vector_index --field embedding --filter '{\"category\": \"guides\"}' --limit 5\n\nindex — Manage vector search indexes\nvai index create --db mydb --collection docs --field embedding \\\n  --dimensions 1024 --similarity cosine --index-name my_index\nvai index list --db mydb --collection docs\nvai index delete --db mydb --collection docs --index-name my_index\n\nmodels — List available models\nvai models\nvai models --type embedding\nvai models --type reranking\nvai models --json\n\nping — Test connectivity\nvai ping\nvai ping --json\n\nconfig — Manage persistent configuration\nvai config set api-key \"pa-your-key\"\necho \"pa-your-key\" | vai config set api-key --stdin\nvai config get\nvai config delete api-key\nvai config path\nvai config reset\n\ndemo — Interactive guided walkthrough\nvai demo\nvai demo --no-pause\nvai demo --skip-pipeline\nvai demo --keep\n\nexplain — Learn about AI concepts\nvai explain                      # List all topics\nvai explain embeddings\nvai explain reranking\nvai explain vector-search\nvai explain rag\nvai explain cosine-similarity\nvai explain two-stage-retrieval\nvai explain input-type\nvai explain models\nvai explain api-keys\nvai explain api-access\nvai explain batch-processing\n\nsimilarity — Compare text similarity\nvai similarity \"MongoDB is a document database\" \"MongoDB Atlas is a cloud database\"\nvai similarity \"database performance\" --against \"MongoDB is fast\" \"PostgreSQL is relational\"\nvai similarity --file1 doc1.txt --file2 doc2.txt\nvai similarity \"text A\" \"text B\" --json\n\ningest — Bulk import with progress\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding\nvai ingest --file data.csv --db myapp --collection docs --field embedding --text-column content\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding \\\n  --model voyage-4 --batch-size 100 --input-type document\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding --dry-run\n\ncompletions — Shell completion scripts\nvai completions bash    # Output bash completion script\nvai completions zsh     # Output zsh completion script\n\n# Install bash completions\nvai completions bash >> ~/.bashrc && source ~/.bashrc\n\n# Install zsh completions\nvai completions zsh > ~/.zsh/completions/_vai\n\nhelp — Display help\nvai help\nvai help embed\nvai embed --help\n\nCommon Workflows\nEmbed → Store → Search Pipeline\n# 1. Store documents\nvai store --db myapp --collection articles --field embedding \\\n  --text \"MongoDB Atlas provides a fully managed cloud database\" \\\n  --metadata '{\"title\": \"Atlas Overview\"}'\n\n# 2. Create index\nvai index create --db myapp --collection articles --field embedding \\\n  --dimensions 1024 --similarity cosine --index-name article_search\n\n# 3. Search\nvai search --query \"how does cloud database work\" \\\n  --db myapp --collection articles --index article_search --field embedding\n\nTwo-Stage Retrieval (Embed + Rerank)\n# 1. Get candidates via vector search\nvai search --query \"database scaling\" --db myapp --collection articles \\\n  --index article_search --field embedding --limit 20 --json > candidates.json\n\n# 2. Rerank for precision\nvai rerank --query \"database scaling\" --documents-file candidates.json --top-k 5\n\nBulk Ingest Pipeline\n# 1. Validate data (dry run)\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding --dry-run\n\n# 2. Ingest with progress\nvai ingest --file corpus.jsonl --db myapp --collection docs --field embedding\n\n# 3. Create index\nvai index create --db myapp --collection docs --field embedding \\\n  --dimensions 1024 --similarity cosine\n\nGlobal Flags\nFlag\tDescription\n--json\tMachine-readable JSON output\n--quiet\tSuppress non-essential output\nReferences\nModel Catalog — All models with pricing and specs\nVector Search Patterns — Atlas Vector Search integration guide"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mrlynn/voyageai-skill",
    "publisherUrl": "https://clawhub.ai/mrlynn/voyageai-skill",
    "owner": "mrlynn",
    "version": "1.4.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/voyageai-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/voyageai-skill",
    "agentUrl": "https://openagent3.xyz/skills/voyageai-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/voyageai-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/voyageai-skill/agent.md"
  }
}