Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Byted Bytehouse Hybrid Search

v1.0.0

ByteHouse 混合检索 Skill,支持全文检索 + 向量检索,结合 RRF 重排算法实现更精准的检索结果。当用户需要在ByteHouse数据库中进行全文检索 + 向量检索,结合 RRF 重排算法实现更精准的检索结果时,使用此Skill。

0· 94·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for volcengine-skills/byted-bytehouse-hybrid-search.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Byted Bytehouse Hybrid Search" (volcengine-skills/byted-bytehouse-hybrid-search) from ClawHub.
Skill page: https://clawhub.ai/volcengine-skills/byted-bytehouse-hybrid-search
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install byted-bytehouse-hybrid-search

ClawHub CLI

Package manager switcher

npx clawhub@latest install byted-bytehouse-hybrid-search
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description (ByteHouse hybrid search with RRF) matches the code and SKILL.md: the code implements full-text + vector search, embedding generation, and RRF re-ranking. However the registry metadata lists no required environment variables or primary credential while the code and SKILL.md clearly require ByteHouse connection info and an Ark/OpenAI API key — this is an internal inconsistency.
!
Instruction Scope
SKILL.md instructs installing clickhouse-connect and volcengine SDK and to set environment variables for BYTEHOUSE_* and ARK_API_KEY. The runtime code enforces these (it raises ValueError if BYTEHOUSE_HOST/BYTEHOUSE_PASSWORD or ARK_API_KEY are missing), generates embeddings, and executes SQL (CREATE TABLE, INSERT, queries) against the target ByteHouse instance. The instructions do not request or read any unrelated system files, but they do prompt the agent to collect and use secrets (DB password and API key).
Install Mechanism
This is instruction-only with no install spec; there is no packaged install step that would download arbitrary artifacts. SKILL.md recommends pip install of clickhouse-connect, volcengine-python-sdk[ark], numpy, scipy. No extracted downloads or obscure URLs are used.
!
Credentials
The registry claims no required env vars, but the code requires BYTEHOUSE_HOST, BYTEHOUSE_PASSWORD (and ARK_API_KEY) and will fail without them. That mismatch is meaningful: sensitive credentials are necessary for the skill to function but are not declared in metadata/primary credential fields. Also SKILL.md and code disagree on embedding model name and default dimension, and SKILL.md's pip install list does not include the openai package that the code uses.
Persistence & Privilege
The skill does not request persistent 'always' inclusion and does not modify other skills or system-wide settings. It opens network connections to ByteHouse and the configured embedding API (Ark via OpenAI-compatible client), which is expected for its purpose.
What to consider before installing
This skill appears to implement the advertised hybrid search, but the package metadata and README disagree with the code about what it needs. Before installing or running it: - Treat it as requiring sensitive credentials: you must provide BYTEHOUSE_HOST and BYTEHOUSE_PASSWORD (ByteHouse DB access) and ARK_API_KEY (embedding API). Don't assume the registry declared these. Use least-privilege credentials and a test account. - Note the discrepant defaults: SKILL.md suggests an embedding model and dimension (doubao-embedding-vision-251215 / 1536) but embedding.py sets a different default model and dimensions (doubao-embedding-text-240715 / 2560). Verify you want the model/dimension used by the code. - SKILL.md's pip instructions omit the openai package that embedding.py imports; ensure your environment installs the openai client (or adapt the code to the volcengine SDK) to avoid runtime surprises. - Run in an isolated environment (container/vm) and review network traffic if you need to be sure where data is sent; the code contacts the configured ARK_BASE_URL and the ByteHouse host only. - If you don't trust the source, ask the publisher to correct the registry metadata (declare required env vars and primary credential) and to align SKILL.md with the code. If anything else looks unexpected after that, reconsider installation.

Like a lobster shell, security has layers — review code before you run it.

latestvk97d217b0d411gccqp4qhtmy6183mm60
94downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

ByteHouse 混合检索 Skill

🚀 快速开始

环境准备

pip install clickhouse-connect volcengine-python-sdk[ark] numpy scipy

环境变量配置

优先从环境变量读取配置,禁止硬编码明文敏感信息

# ByteHouse 配置
export BYTEHOUSE_HOST="<你的ByteHouse连接地址>"
export BYTEHOUSE_PORT="<ByteHouse端口>"
export BYTEHOUSE_USER="<ByteHouse用户名>"
export BYTEHOUSE_PASSWORD="<ByteHouse密码>"
export BYTEHOUSE_DATABASE="<默认数据库,可选,默认default>"
export BYTEHOUSE_SECURE="<是否启用加密,可选,默认true>"

# 火山引擎方舟 API 配置
export ARK_API_KEY="<火山引擎方舟API密钥>"
export ARK_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"
export EMBEDDING_MODEL="doubao-embedding-vision-251215"  # 文本向量化模型
export EMBEDDING_DIMENSIONS="1536"  # 向量维度,可选,默认1536

如果环境变量未配置,会自动提示用户输入。


📚 核心能力

1. 文本向量化

基于豆包文本向量化模型生成文本向量,支持任意长度中文文本。

2. 双索引构建

索引类型说明适用场景
全文倒排索引基于BM25算法的全文检索,支持关键词匹配精准关键词召回
向量索引基于HNSW的向量相似度检索,支持语义匹配语义相似召回

3. 核心功能

功能方法说明
全文检索fulltext_search()基于BM25的全文检索,返回BM25分数
向量检索vector_search()基于余弦相似度的向量检索,返回相似度分数
混合检索+RRF重排hybrid_search()双路召回后使用RRF算法重排,返回最终结果
自动生成向量insert_document()/batch_insert_documents()插入文档时自动生成向量并存储,无需手动处理
单个文档向量更新update_document_embedding()为单个文档重新生成并更新向量
批量补全缺失向量batch_update_missing_embeddings()自动扫描表中所有缺少向量的文档,批量生成并补全向量

4. RRF重排算法

Reciprocal Rank Fusion 算法,综合全文检索和向量检索的排名结果,公式:

score = Σ 1 / (k + rank)

默认k=60,可自定义调整。


📖 代码实现

完整示例代码实现位于 scripts/ 目录:

快速使用

from scripts import ByteHouseHybridSearch

# 初始化客户端
search = ByteHouseHybridSearch(connection_type="http")

# 创建混合检索表(自动构建全文索引和向量索引)
search.create_hybrid_table("my_hybrid_index")

# 插入文档(自动生成向量 + 存储原始文本)
search.insert_document("my_hybrid_index", doc_id=1, 
                      title="ByteHouse 混合检索", 
                      content="ByteHouse 支持全文检索和向量检索,可实现混合检索能力")

# 混合检索(自动执行全文+向量检索,RRF重排返回结果)
results = search.hybrid_search("my_hybrid_index", query="ByteHouse检索能力", top_k=10)

⚙️ 最佳实践

建表配置

CREATE TABLE {table_name} (
    `doc_id` UInt64,
    `title` String,
    `content` String,
    `embedding` Array(Float32),
    -- 全文倒排索引(version=2支持BM25分数)
    INDEX content_idx content TYPE inverted('standard', '{"version":"v2"}') GRANULARITY 1,
    -- 向量索引(HNSW算法,余弦相似度)
    INDEX embedding_idx embedding TYPE HNSW_SQ('DIM={vec_dimensions}', 'metric=COSINE', 'M=32', 'EF_CONSTRUCTION=256') GRANULARITY 1
)
ENGINE = MergeTree()
ORDER BY doc_id
SETTINGS 
    index_granularity = 1024,
    enable_vector_index_preload = 1

RRF参数调整

  • 当全文检索结果更重要时,可降低rrf_k值(推荐30-60)
  • 当向量检索结果更重要时,可提高rrf_k值(推荐60-100)

🔗 参考文档

Comments

Loading comments...