{
  "schemaVersion": "1.0",
  "item": {
    "slug": "qdrant-advanced",
    "name": "Qdrant Advanced",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/yoder-bawt/qdrant-advanced",
    "canonicalUrl": "https://clawhub.ai/yoder-bawt/qdrant-advanced",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/qdrant-advanced",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=qdrant-advanced",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "backup.sh",
      "ingest.sh",
      "manage.sh",
      "migrate.sh"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/qdrant-advanced"
    },
    "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/qdrant-advanced",
    "agentPageUrl": "https://openagent3.xyz/skills/qdrant-advanced/agent",
    "manifestUrl": "https://openagent3.xyz/skills/qdrant-advanced/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/qdrant-advanced/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Qdrant Advanced",
        "body": "Production-ready Qdrant vector database operations for AI agents. Complete toolkit for semantic search, document ingestion, collection management, backups, and migrations."
      },
      {
        "title": "Quick Start",
        "body": "# Set environment variables\nexport QDRANT_HOST=\"localhost\"\nexport QDRANT_PORT=\"6333\"\nexport OPENAI_API_KEY=\"sk-...\"\n\n# List collections\nbash manage.sh list\n\n# Create a collection\nbash manage.sh create my_collection 1536 cosine\n\n# Ingest a document\nbash ingest.sh /path/to/document.txt my_collection paragraph\n\n# Search\nbash search.sh \"my search query\" my_collection 5"
      },
      {
        "title": "Scripts Overview",
        "body": "ScriptPurposeKey Featuressearch.shSemantic searchMulti-collection, filters, score thresholdsingest.shDocument ingestionContextual chunking, batch upload, progressmanage.shCollection managementCreate, delete, list, info, optimizebackup.shSnapshotsFull collection snapshots, restore, listmigrate.shMigrationsCollection-to-collection, embedding model upgrades"
      },
      {
        "title": "Environment Variables",
        "body": "VariableRequiredDefaultDescriptionQDRANT_HOSTNolocalhostQdrant server hostnameQDRANT_PORTNo6333Qdrant server portOPENAI_API_KEYYes*-OpenAI API key for embeddingsQDRANT_API_KEYNo-Qdrant API key (if auth enabled)\n\n*Required for ingest and search operations"
      },
      {
        "title": "Semantic Search",
        "body": "bash search.sh <query> <collection> [limit] [filter_json]\n\nExamples:\n\n# Basic search\nbash search.sh \"machine learning tutorials\" my_docs 10\n\n# With metadata filter\nbash search.sh \"deployment guide\" my_docs 5 '{\"must\": [{\"key\": \"category\", \"match\": {\"value\": \"devops\"}}]}'\n\n# Score threshold\nbash search.sh \"error handling\" my_docs 10 \"\" 0.8\n\nOutput:\n\n{\n  \"results\": [\n    {\n      \"id\": \"doc-001\",\n      \"score\": 0.92,\n      \"text\": \"When handling errors in production...\",\n      \"metadata\": {\"source\": \"docs/error-handling.md\"}\n    }\n  ]\n}"
      },
      {
        "title": "Document Ingestion",
        "body": "bash ingest.sh <file_path> <collection> [chunk_strategy] [metadata_json]\n\nChunk Strategies:\n\nStrategyDescriptionBest ForparagraphSplit by paragraphs (\\n\\n)Articles, docssentenceSplit by sentencesShort contentfixedFixed 1000 char chunksCode, logssemanticSemantic boundariesLong documents\n\nExamples:\n\n# Ingest with paragraph chunking\nbash ingest.sh article.md my_collection paragraph\n\n# With custom metadata\nbash ingest.sh api.md my_collection paragraph '{\"category\": \"api\", \"version\": \"2.0\"}'\n\n# Ingest multiple files\nfor f in docs/*.md; do\n    bash ingest.sh \"$f\" my_collection paragraph\ndone"
      },
      {
        "title": "Collection Management",
        "body": "bash manage.sh <command> [args...]\n\nCommands:\n\nCommandArgumentsDescriptionlist-List all collectionscreatename dim distanceCreate new collectiondeletenameDelete collectioninfonameGet collection infooptimizenameOptimize collection\n\nExamples:\n\nbash manage.sh list\nbash manage.sh create my_vectors 1536 cosine\nbash manage.sh create my_vectors 768 euclid\nbash manage.sh info my_vectors\nbash manage.sh optimize my_vectors\nbash manage.sh delete my_vectors"
      },
      {
        "title": "Backup & Restore",
        "body": "bash backup.sh <command> [args...]\n\nCommands:\n\nCommandArgumentsDescriptionsnapshotcollection [snapshot_name]Create snapshotrestorecollection snapshot_nameRestore from snapshotlistcollectionList snapshotsdeletecollection snapshot_nameDelete snapshot\n\nExamples:\n\n# Create snapshot\nbash backup.sh snapshot my_collection\nbash backup.sh snapshot my_collection backup_2026_02_10\n\n# List snapshots\nbash backup.sh list my_collection\n\n# Restore\nbash backup.sh restore my_collection backup_2026_02_10\n\n# Delete old snapshot\nbash backup.sh delete my_collection old_backup"
      },
      {
        "title": "Migration",
        "body": "bash migrate.sh <source_collection> <target_collection> [options]\n\nMigration Types:\n\nCopy Collection: Same embedding model, different name\nModel Upgrade: Upgrade to new embedding model (re-embeds)\nFilter Migration: Migrate subset with filter\n\nExamples:\n\n# Simple copy\nbash migrate.sh old_collection new_collection\n\n# With model upgrade (re-embeds all content)\nbash migrate.sh old_collection new_collection --upgrade-model\n\n# Filtered migration\nbash migrate.sh old_collection new_collection --filter '{\"category\": \"public\"}'\n\n# Batch size for large collections\nbash migrate.sh old_collection new_collection --batch-size 50"
      },
      {
        "title": "Chunking Deep Dive",
        "body": "The ingest script provides intelligent chunking to preserve context:"
      },
      {
        "title": "Paragraph Chunking",
        "body": "Splits on double newlines\nPreserves paragraph structure\nAdds overlap of 2 sentences between chunks\nBest for: Articles, documentation, blogs"
      },
      {
        "title": "Sentence Chunking",
        "body": "Splits on sentence boundaries\nMinimal overlap\nBest for: Short content, tweets, quotes"
      },
      {
        "title": "Fixed Chunking",
        "body": "Fixed 1000 character chunks\n200 character overlap\nBest for: Code files, logs, unstructured text"
      },
      {
        "title": "Semantic Chunking",
        "body": "Uses paragraph + header detection\nPreserves document structure\nBest for: Long documents with headers"
      },
      {
        "title": "API Reference",
        "body": "All scripts use Qdrant REST API:\n\nGET    /collections              # List collections\nPUT    /collections/{name}       # Create collection\nDELETE /collections/{name}       # Delete collection\nGET    /collections/{name}       # Collection info\nPOST   /collections/{name}/points/search     # Search\nPUT    /collections/{name}/points           # Upsert points\nPOST   /snapshots                # Create snapshot\nGET    /collections/{name}/snapshots         # List snapshots\n\nFull docs: https://qdrant.tech/documentation/"
      },
      {
        "title": "Performance Tips",
        "body": "Batch uploads: ingest.sh automatically batches uploads (default 100)\nOptimize after bulk insert: bash manage.sh optimize my_collection\nUse filters: Narrow search scope with metadata filters\nSet score thresholds: Filter low-quality matches\nIndex metadata: Add payload indexes for faster filtering"
      },
      {
        "title": "\"Connection refused\"",
        "body": "Check Qdrant is running: curl http://$QDRANT_HOST:$QDRANT_PORT/healthz\nVerify host/port environment variables"
      },
      {
        "title": "\"Collection not found\"",
        "body": "List collections: bash manage.sh list\nCheck collection name spelling"
      },
      {
        "title": "\"No search results\"",
        "body": "Verify documents were ingested: bash manage.sh info my_collection\nCheck vector dimensions match (e.g., 1536 for text-embedding-3-small)\nTry lowering score threshold"
      },
      {
        "title": "Embedding errors",
        "body": "Verify OPENAI_API_KEY is set\nCheck API key has quota available\nVerify network access to OpenAI API"
      },
      {
        "title": "Snapshot fails",
        "body": "Check disk space available\nVerify Qdrant has snapshot permissions\nFor large collections, try during low-traffic periods"
      },
      {
        "title": "Requirements",
        "body": "Qdrant server v1.0+\ncurl, python3, bash\nOpenAI API key (for embeddings)\nNetwork access to Qdrant and OpenAI"
      },
      {
        "title": "See Also",
        "body": "Qdrant Docs: https://qdrant.tech/documentation/\nOpenAI Embeddings: https://platform.openai.com/docs/guides/embeddings\nVector Search Guide: https://qdrant.tech/documentation/concepts/search/"
      }
    ],
    "body": "Qdrant Advanced\n\nProduction-ready Qdrant vector database operations for AI agents. Complete toolkit for semantic search, document ingestion, collection management, backups, and migrations.\n\nQuick Start\n# Set environment variables\nexport QDRANT_HOST=\"localhost\"\nexport QDRANT_PORT=\"6333\"\nexport OPENAI_API_KEY=\"sk-...\"\n\n# List collections\nbash manage.sh list\n\n# Create a collection\nbash manage.sh create my_collection 1536 cosine\n\n# Ingest a document\nbash ingest.sh /path/to/document.txt my_collection paragraph\n\n# Search\nbash search.sh \"my search query\" my_collection 5\n\nScripts Overview\nScript\tPurpose\tKey Features\nsearch.sh\tSemantic search\tMulti-collection, filters, score thresholds\ningest.sh\tDocument ingestion\tContextual chunking, batch upload, progress\nmanage.sh\tCollection management\tCreate, delete, list, info, optimize\nbackup.sh\tSnapshots\tFull collection snapshots, restore, list\nmigrate.sh\tMigrations\tCollection-to-collection, embedding model upgrades\nEnvironment Variables\nVariable\tRequired\tDefault\tDescription\nQDRANT_HOST\tNo\tlocalhost\tQdrant server hostname\nQDRANT_PORT\tNo\t6333\tQdrant server port\nOPENAI_API_KEY\tYes*\t-\tOpenAI API key for embeddings\nQDRANT_API_KEY\tNo\t-\tQdrant API key (if auth enabled)\n\n*Required for ingest and search operations\n\nDetailed Usage\nSemantic Search\nbash search.sh <query> <collection> [limit] [filter_json]\n\n\nExamples:\n\n# Basic search\nbash search.sh \"machine learning tutorials\" my_docs 10\n\n# With metadata filter\nbash search.sh \"deployment guide\" my_docs 5 '{\"must\": [{\"key\": \"category\", \"match\": {\"value\": \"devops\"}}]}'\n\n# Score threshold\nbash search.sh \"error handling\" my_docs 10 \"\" 0.8\n\n\nOutput:\n\n{\n  \"results\": [\n    {\n      \"id\": \"doc-001\",\n      \"score\": 0.92,\n      \"text\": \"When handling errors in production...\",\n      \"metadata\": {\"source\": \"docs/error-handling.md\"}\n    }\n  ]\n}\n\nDocument Ingestion\nbash ingest.sh <file_path> <collection> [chunk_strategy] [metadata_json]\n\n\nChunk Strategies:\n\nStrategy\tDescription\tBest For\nparagraph\tSplit by paragraphs (\\n\\n)\tArticles, docs\nsentence\tSplit by sentences\tShort content\nfixed\tFixed 1000 char chunks\tCode, logs\nsemantic\tSemantic boundaries\tLong documents\n\nExamples:\n\n# Ingest with paragraph chunking\nbash ingest.sh article.md my_collection paragraph\n\n# With custom metadata\nbash ingest.sh api.md my_collection paragraph '{\"category\": \"api\", \"version\": \"2.0\"}'\n\n# Ingest multiple files\nfor f in docs/*.md; do\n    bash ingest.sh \"$f\" my_collection paragraph\ndone\n\nCollection Management\nbash manage.sh <command> [args...]\n\n\nCommands:\n\nCommand\tArguments\tDescription\nlist\t-\tList all collections\ncreate\tname dim distance\tCreate new collection\ndelete\tname\tDelete collection\ninfo\tname\tGet collection info\noptimize\tname\tOptimize collection\n\nExamples:\n\nbash manage.sh list\nbash manage.sh create my_vectors 1536 cosine\nbash manage.sh create my_vectors 768 euclid\nbash manage.sh info my_vectors\nbash manage.sh optimize my_vectors\nbash manage.sh delete my_vectors\n\nBackup & Restore\nbash backup.sh <command> [args...]\n\n\nCommands:\n\nCommand\tArguments\tDescription\nsnapshot\tcollection [snapshot_name]\tCreate snapshot\nrestore\tcollection snapshot_name\tRestore from snapshot\nlist\tcollection\tList snapshots\ndelete\tcollection snapshot_name\tDelete snapshot\n\nExamples:\n\n# Create snapshot\nbash backup.sh snapshot my_collection\nbash backup.sh snapshot my_collection backup_2026_02_10\n\n# List snapshots\nbash backup.sh list my_collection\n\n# Restore\nbash backup.sh restore my_collection backup_2026_02_10\n\n# Delete old snapshot\nbash backup.sh delete my_collection old_backup\n\nMigration\nbash migrate.sh <source_collection> <target_collection> [options]\n\n\nMigration Types:\n\nCopy Collection: Same embedding model, different name\nModel Upgrade: Upgrade to new embedding model (re-embeds)\nFilter Migration: Migrate subset with filter\n\nExamples:\n\n# Simple copy\nbash migrate.sh old_collection new_collection\n\n# With model upgrade (re-embeds all content)\nbash migrate.sh old_collection new_collection --upgrade-model\n\n# Filtered migration\nbash migrate.sh old_collection new_collection --filter '{\"category\": \"public\"}'\n\n# Batch size for large collections\nbash migrate.sh old_collection new_collection --batch-size 50\n\nChunking Deep Dive\n\nThe ingest script provides intelligent chunking to preserve context:\n\nParagraph Chunking\nSplits on double newlines\nPreserves paragraph structure\nAdds overlap of 2 sentences between chunks\nBest for: Articles, documentation, blogs\nSentence Chunking\nSplits on sentence boundaries\nMinimal overlap\nBest for: Short content, tweets, quotes\nFixed Chunking\nFixed 1000 character chunks\n200 character overlap\nBest for: Code files, logs, unstructured text\nSemantic Chunking\nUses paragraph + header detection\nPreserves document structure\nBest for: Long documents with headers\nAPI Reference\n\nAll scripts use Qdrant REST API:\n\nGET    /collections              # List collections\nPUT    /collections/{name}       # Create collection\nDELETE /collections/{name}       # Delete collection\nGET    /collections/{name}       # Collection info\nPOST   /collections/{name}/points/search     # Search\nPUT    /collections/{name}/points           # Upsert points\nPOST   /snapshots                # Create snapshot\nGET    /collections/{name}/snapshots         # List snapshots\n\n\nFull docs: https://qdrant.tech/documentation/\n\nPerformance Tips\nBatch uploads: ingest.sh automatically batches uploads (default 100)\nOptimize after bulk insert: bash manage.sh optimize my_collection\nUse filters: Narrow search scope with metadata filters\nSet score thresholds: Filter low-quality matches\nIndex metadata: Add payload indexes for faster filtering\nTroubleshooting\n\"Connection refused\"\nCheck Qdrant is running: curl http://$QDRANT_HOST:$QDRANT_PORT/healthz\nVerify host/port environment variables\n\"Collection not found\"\nList collections: bash manage.sh list\nCheck collection name spelling\n\"No search results\"\nVerify documents were ingested: bash manage.sh info my_collection\nCheck vector dimensions match (e.g., 1536 for text-embedding-3-small)\nTry lowering score threshold\nEmbedding errors\nVerify OPENAI_API_KEY is set\nCheck API key has quota available\nVerify network access to OpenAI API\nSnapshot fails\nCheck disk space available\nVerify Qdrant has snapshot permissions\nFor large collections, try during low-traffic periods\nRequirements\nQdrant server v1.0+\ncurl, python3, bash\nOpenAI API key (for embeddings)\nNetwork access to Qdrant and OpenAI\nSee Also\nQdrant Docs: https://qdrant.tech/documentation/\nOpenAI Embeddings: https://platform.openai.com/docs/guides/embeddings\nVector Search Guide: https://qdrant.tech/documentation/concepts/search/"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/yoder-bawt/qdrant-advanced",
    "publisherUrl": "https://clawhub.ai/yoder-bawt/qdrant-advanced",
    "owner": "yoder-bawt",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/qdrant-advanced",
    "downloadUrl": "https://openagent3.xyz/downloads/qdrant-advanced",
    "agentUrl": "https://openagent3.xyz/skills/qdrant-advanced/agent",
    "manifestUrl": "https://openagent3.xyz/skills/qdrant-advanced/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/qdrant-advanced/agent.md"
  }
}