Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

opensearch-vector-searchopensearch 向量搜索

Agent Skill

用于搭建或维护带检索增强的 RAG 工作流,适合让 Agent 处理知识库问答、向量检索、来源引用和事实核查。它可以辅助整理数据接入、Embedding、向量库、召回参数和回答生成流程。使用时需要确认数据来源、更新频率、召回阈值和引用展示方式,避免把未命中的资料或过期内容包装成确定事实。

总安装

5,949

周安装

243

GitHub Stars

公开资料未说明

下载量

1,925
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:opensearch-vector-search(opensearch 向量搜索)
来源仓库:https://github.com/norrishuang/opensearch-vector-search
安装命令:
openclaw skills install opensearch-vector-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install opensearch-vector-search

简介

基于 Amazon OpenSearch 构建矢量检索知识库,用于 RAG 问答流程。

  • 覆盖集群配置、量化优化与成本控制等全链路实践指导。
  • 支持向量索引管理与召回参数调整,适配多种 Embedding 模型。
  • 需自行维护数据源更新频率与引用展示规范,避免误判未命中内容。
  • 安装命令:openclaw skills install opensearch-vector-search

SKILL.md

name
opensearch-vector-search
version
1.3.0
repository
https://github.com/norrishuang/opensearch-vector-search-skill
description
|
requirements
env
description
AWS credentials for pricing API (boto3). Only needed when running the pricing script.
optional
true
description
AWS secret key. Only needed when running the pricing script.
optional
true
tools

OpenSearch Vector Search Expert

GitHub: norrishuang/opensearch-vector-search-skill — Issues, PRs, and new reference contributions are welcome!

Safety Notes

  • Pricing script (scripts/get_opensearch_pricing.py): Makes outbound HTTPS requests to the AWS Pricing API (pricing.us-east-1.amazonaws.com). Requires boto3 and valid AWS credentials. The script is read-only (fetches public pricing data) and does not modify any AWS resources. Only run it when the user explicitly requests cost estimation.
  • Reference examples: Code snippets in references/ contain example API calls to localhost:9200 (standard OpenSearch endpoint). These are documentation examples only — do NOT execute them automatically. Present them to the user as configuration references.
  • Cluster analyzer (scripts/analyze_cluster.py): Connects to a user-provided OpenSearch cluster and performs read-only analysis. It NEVER creates, modifies, or deletes any indices or data. Only run it when the user explicitly provides cluster credentials (URL + username/password).

Knowledge Base Structure

Read the corresponding reference file based on the question type:

Question TypeReference FileKeywords
Vector search, k-NN, HNSW, disk modereferences/vector-search.mdvector, knn, hnsw, warmup, disk mode, on_disk
Quantization techniquesreferences/quantization-techniques.mdquantization, compression, binary, byte, fp16, product quantization
Cost optimization, instance sizing, memory calcreferences/cost-optimization.mdcost, pricing, instance, memory calculation, cluster sizing, budget
Cluster tuning, JVM, thread poolsreferences/cluster-tuning.mdJVM, heap, thread pool, node role, shard allocation
Performance benchmarks, dataset sizingreferences/performance-benchmarks.mdbenchmark, QPS, latency, recall, dataset size
Indexing strategies, mappingreferences/indexing-strategies.mdindex, mapping, shard, replica, lifecycle
Query optimizationreferences/query-optimization.mdquery, filter, aggregation, cache, pagination
Optimized instances (OR1/OR2/OM2/OI2)references/optimized-instances.mdoptimized, OR1, OR2, OM2, OI2, S3 durability, indexing throughput
Live cluster analysisscripts/analyze_cluster.pyanalyze cluster, connect, diagnose, review config, health check

Core Workflows

1. Answering Vector Search Configuration Questions

  1. Read references/vector-search.md
  2. Recommend in-memory mode or disk mode based on user scenario (latency requirements, data scale, QPS)
  3. Provide specific mapping JSON configuration
  4. Recommend FAISS engine + cosine similarity + 7/8 series instances

2. Capacity Planning & Instance Sizing (Most Common Scenario)

After user provides vector count and dimensions:

  1. Read references/cost-optimization.md for memory calculation formulas and examples
  2. Calculate using the standard HNSW memory formula (source: AWS official blog):
   Unquantized (float32):
     Memory = 1.1 × (4 × d + 8 × m) × num_vectors × (replicas + 1) bytes
   
   Quantized (FAISS engine, compressed vectors in memory):
     FP16 (2x):    Memory = 1.1 × (2 × d + 8 × m) × num_vectors × (replicas + 1)
     Byte (4x):    Memory = 1.1 × (1 × d + 8 × m) × num_vectors × (replicas + 1)
     Binary 4-bit: Memory = 1.1 × (d/2 + 8 × m) × num_vectors × (replicas + 1)
     Binary 2-bit: Memory = 1.1 × (d/4 + 8 × m) × num_vectors × (replicas + 1)
     Binary 1-bit: Memory = 1.1 × (d/8 + 8 × m) × num_vectors × (replicas + 1)
   
   Where: d=vector dimensions, m=HNSW connections (default 16), num_vectors=total vector count
  1. Apply OpenSearch node memory allocation rules:
   JVM Heap = min(node_memory × 50%, 32GB)
   Remaining memory = node_memory - JVM Heap
   KNN available memory = remaining × 75%  (with knn.memory.circuit_breaker.limit=70%, ~35% of node memory)
  1. Select instance type, ensuring total cluster KNN available memory > vector index memory requirement
  2. Run pricing script for real-time pricing (see below)

3. Cost Estimation (with Real-Time Pricing)

When user needs cost estimation:

  1. Complete capacity planning above
  2. Run pricing script for real-time prices:
   python3 scripts/get_opensearch_pricing.py --region <region> --instance-type <type>
  1. Calculate monthly cost:
   Instance cost = unit_price × node_count × (1 + replica_count)
   EBS cost = capacity(GB) × $0.08 + additional IOPS charges
   Total cost = Instance cost + EBS cost
  1. Compare cost differences across quantization options

4. Live Cluster Analysis (When User Provides Cluster Credentials)

When the user provides an OpenSearch cluster URL and credentials, use the cluster analyzer to connect and review their vector search configuration. This is read-only — never modify the cluster.

Prerequisites: User must explicitly provide:

  • Cluster URL (e.g., https://my-cluster.us-east-1.es.amazonaws.com)
  • Username and password (basic auth), OR --no-auth for clusters without authentication

Workflow:

  1. Ask for credentials if not provided: URL, username, password
  2. Run cluster overview to get health, nodes, and k-NN index list:
   python3 scripts/analyze_cluster.py --url <url> -u <user> -p <pass> --action cluster-overview -f pretty
  1. Analyze specific index if user specifies one, or pick the most important k-NN index:
   python3 scripts/analyze_cluster.py --url <url> -u <user> -p <pass> --action index-detail --index <index_name> -f pretty
  1. Analyze shard distribution for the target index:
   python3 scripts/analyze_cluster.py --url <url> -u <user> -p <pass> --action shard-analysis --index <index_name> -f pretty
  1. Run all analyses at once (for a comprehensive report):
   python3 scripts/analyze_cluster.py --url <url> -u <user> -p <pass> --action all --index <index_name> -f pretty
  1. Interpret the JSON output and present findings to the user:

- Cluster health status and node resource utilization - Vector field configurations (engine, dimensions, HNSW params, quantization) - Memory estimates vs actual cluster capacity - Auto-generated recommendations (from the script)

  1. Provide actionable advice based on findings:

- Suggest better engine/quantization if needed (provide example mapping JSON) - Suggest instance resizing if memory is over/under-provisioned - Suggest shard rebalancing if distribution is uneven - NEVER execute write operations — only provide example configurations for the user to apply

Cluster Analyzer Script Reference:

Usage:
  python3 scripts/analyze_cluster.py --url <url> -u <user> -p <pass> [options]

Actions:
  --action cluster-overview   Cluster health, nodes, k-NN stats, and all k-NN index summary (default)
  --action index-detail       Deep dive into a specific index's vector config + memory estimates
  --action shard-analysis     Shard distribution and sizing for a specific index
  --action all                Run all analyses

Options:
  --index <name>     Target a specific index (required for index-detail and shard-analysis)
  --no-auth          Connect without authentication
  --verify-ssl       Verify SSL certificates (default: skip)
  --format pretty    Human-readable JSON output

Output: JSON with these top-level keys:
  - cluster_overview: health, version, nodes (memory/CPU/JVM), knn_stats
  - knn_indices: list of all k-NN enabled indices with vector field summaries
  - index_detail/index_details: vector field configs, memory estimates, search stats
  - shard_analysis/shard_analyses: shard distribution across nodes
  - recommendations: auto-generated optimization suggestions with severity levels

Safety constraints for live cluster analysis:

  • The script is strictly read-only (uses only GET/CAT APIs)
  • NEVER create, update, or delete indices on the user's cluster
  • NEVER change cluster settings or mappings
  • Only provide example JSON configurations for the user to review and apply themselves
  • If the user asks to apply changes, provide the exact API calls/JSON but let the user execute them

Pricing Script Usage

# Query all instance prices for a region
python3 scripts/get_opensearch_pricing.py --region us-east-1

# Query specific instance type (no .search suffix needed)
python3 scripts/get_opensearch_pricing.py --region us-east-1 --instance-type r7g.xlarge

# JSON format output (for calculations)
python3 scripts/get_opensearch_pricing.py --region us-east-1 --instance-type r7g.xlarge --format json

Output fields: instance_type, vcpu, memory_gib, price_per_hour_usd, price_per_month_usd, network

Recommended Defaults

Always recommend these defaults unless user has specific requirements:

  • Engine: FAISS
  • Similarity: cosine
  • Instance family (Gen 7+ only, never recommend older generations):

- Vector search (k-NN): r7g/r8g/r8gd (memory-optimized, lowest search latency; r8g Graviton4 ~30% faster than r7g) - Indexing-heavy + vector: OR2 (optimized, S3 durability, good memory-to-price ratio) - Indexing-heavy (no vector): OM2 (highest indexing throughput, 15% faster than OR1) - Large dataset with NVMe: OI2 (storage-optimized, no EBS needed) - Do NOT recommend: r6g, r5, m5, c5, i3, or any older instance families

  • HNSW parameters: ef_construction=512, m=16
  • Quantization preference: Byte (4x) for production, Binary (32x) for aggressive cost optimization
  • Disk mode threshold: Consider when data > 50M vectors and 100-200ms latency is acceptable

Instance Selection Decision Tree

Is this primarily a vector search (k-NN) workload?
├─ YES → r7g/r8g/r8gd (best search latency, standard EBS; prefer r8g for Graviton4)
│        └─ Need S3 durability? → OR2 (accept 10s refresh interval tradeoff)
├─ Mixed (logs + vectors) → OR2 for log nodes, r7g/r8g for vector nodes
└─ NO (logs/observability/analytics)
   ├─ Write-heavy → OM2 (highest ingest throughput)
   ├─ Balanced → OR2 (good all-around with S3 durability)
   └─ Need NVMe IOPS → OI2

Response Template

Organize cost/sizing answers in this structure:

  1. Requirements confirmation: Vector count, dimensions, QPS, latency requirements
  2. Memory calculation: Raw size → quantized size → required KNN memory
  3. Cluster configuration: Instance type × count, shards, replicas
  4. Cost estimation: Instance cost + EBS cost = monthly total
  5. Optimization suggestions: Quantization comparison, Reserved Instance discounts

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

90.25%
按下载量换算1,737

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills