← Back to Skills Marketplace
sora-mury

Dual Retrieval

by sune · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
95
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dual-retrieval
Description
Combines M-Flow graph topology and QMD BM25+vector retrieval to merge and rank results for precise multi-hop and semantic search.
README (SKILL.md)

Dual Retrieval Skill - Phase 4

描述

双重检索:M-Flow(图拓扑检索)+ QMD(BM25+向量检索)优势互补。

M-Flow vs QMD 对比

特性 M-Flow QMD
检索方式 图拓扑 + Bundle Search BM25 + 向量 + rerank
适合场景 精确问答、多跳推理 关键词搜索、语义相似
记忆结构 四层 Cone Graph 多 Collection
优势 时间推理、关联推理 灵活、已配置

工作流程

Query → 
  ├── M-Flow.search() → Episode + Facet + Entity
  └── QMD search → 文件 + 片段
      ↓
结果合并 → 去重 → 排序 → 返回

文件结构

dual-retrieval/
├── SKILL.md
├── scripts/
│   ├── __init__.py      # DualRetrievalPipeline
│   └── test_dual.py     # 测试

依赖

  • m-flow-memory skill (MFlowMemory)
  • QMD (qmd tools)
Usage Guidance
This skill does what it claims (combines M-Flow and QMD results) but the implementation reads a hard-coded local QMD SQLite database and dynamically loads a local 'm-flow' module without declaring those accesses. Before installing or running: - Treat this as potentially accessing private local documents (QMD DB). Do not run it in an environment with sensitive data unless you reviewed or sandboxed it. - Inspect or run the scripts in a safe, isolated environment (disposable VM or container). Confirm the C:/Users/Administrator/.cache/qmd/index.sqlite path and any data it contains. - If you expect to use it, ask the author to parameterize the DB path and m-flow location (don’t hard-code C:\Users\Administrator...), declare required config paths in metadata, and avoid printing or writing raw document content. - Verify the dynamically loaded m-flow code is from a trusted source before allowing the skill to import it. - If you cannot confirm these changes, consider the skill suspicious and avoid granting it access to your real data or environment.
Capability Analysis
Type: OpenClaw Skill Name: dual-retrieval Version: 1.0.0 The skill implements a dual retrieval pipeline but contains several indicators of poor security hygiene and environment-specific targeting. Most notably, scripts/qmd_search.py hardcodes an absolute path to a sensitive user directory (C:/Users/Administrator/.cache/qmd/index.sqlite), which is a privacy risk and a vulnerability. Additionally, the bundle includes diagnostic scripts like scripts/check_qmd_schema.py and scripts/qmd_debug.py that dump database schema and sample data to the console, which could facilitate unauthorized data inspection. While these behaviors align with the stated goal of document retrieval, the hardcoded high-privilege paths and data-dumping utilities warrant a suspicious classification.
Capability Assessment
Purpose & Capability
The name and description match the code: it combines M-Flow and QMD search results and implements merging strategies. However, the skill expects local QMD artifacts and a local 'm-flow' skill directory (loaded dynamically) even though SKILL.md and registry metadata declare no config paths or credentials. The requirement to access a local QMD DB and a sibling skill directory is not declared in the metadata.
Instruction Scope
SKILL.md describes the high-level pipeline but does not mention reading the user's local QMD SQLite DB or writing a report to disk. The included Python code directly opens C:/Users/Administrator/.cache/qmd/index.sqlite, issues arbitrary SQL, prints sample rows, and the test writes a report to a knowledge/ directory. Those file accesses and outputs are outside what the SKILL.md explicitly documents and could expose private data.
Install Mechanism
There is no installer (instruction-only from registry perspective). That reduces supply-chain risk. However, the skill includes Python code files that will be executed when the skill is used; no network downloads or third-party package installations are declared in the install metadata.
Credentials
The skill requests no environment variables or credentials, yet it reads a hard-coded, absolute Windows path (C:/Users/Administrator/.cache/qmd/index.sqlite) and attempts to load a .env from a sibling m_flow directory. Access to a user's local document index (QMD DB) is equivalent to requesting access to potentially sensitive data and should have been declared as a required config path or credential. Dynamic importing of a local 'm-flow' skill directory also implies access to code and env that belong to other skills without declaration.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It does write a report file in the test code (knowledge/dual-retrieval-report.md) and may create directories, but it does not modify other skills' configurations or request persistent agent-level privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dual-retrieval
  3. After installation, invoke the skill by name or use /dual-retrieval
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: M-Flow + QMD hybrid retrieval pipeline
Metadata
Slug dual-retrieval
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Dual Retrieval?

Combines M-Flow graph topology and QMD BM25+vector retrieval to merge and rank results for precise multi-hop and semantic search. It is an AI Agent Skill for Claude Code / OpenClaw, with 95 downloads so far.

How do I install Dual Retrieval?

Run "/install dual-retrieval" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Dual Retrieval free?

Yes, Dual Retrieval is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Dual Retrieval support?

Dual Retrieval is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Dual Retrieval?

It is built and maintained by sune (@sora-mury); the current version is v1.0.0.

💬 Comments