Knowhere
Use the Knowhere OpenClaw plugin to ingest local files or URLs, search stored documents, inspect parsed results, check jobs, and clean up stored document state.
Like a lobster shell, security has layers — review code before you run it.
License
Runtime requirements
SKILL.md
Knowhere Skill
This ClawHub skill depends on the Knowhere OpenClaw plugin and teaches agents
how to use the knowhere_* tools well.
Prerequisite
Install the plugin before using this skill:
openclaw plugins install @ontos-ai/knowhere-claw
Then enable the knowhere plugin entry in OpenClaw and restart OpenClaw.
When to Use Knowhere
Use Knowhere when the user wants to:
- ingest a local file or URL into the current scope
- inspect, summarize, or quote previously ingested documents
- inspect ingest jobs or import a completed Knowhere job
- preview, list, remove, or clear stored documents
- understand what fields exist inside the stored result package
Do not assume an uploaded attachment was already ingested. If the user asks you
to use an attached file and no existing Knowhere result already covers it, call
knowhere_ingest_document.
Tool Selection
knowhere_ingest_documentfor new local files or URLsknowhere_list_documentsto find candidatedocIdvalues in the current scopeknowhere_preview_documentfor a quick structural overviewknowhere_grepfor text search across chunk fieldsknowhere_read_result_fileformanifest.json,hierarchy.json,kb.csv, table HTML, or other text-like files underresult/knowhere_list_jobs,knowhere_get_job_status, andknowhere_import_completed_jobfor async jobsknowhere_remove_documentandknowhere_clear_scopefor cleanup
After ingesting a document, use the returned identifiers for follow-up operations instead of guessing names.
Recommended Workflow
- Ingest or import the document if it is not already in the store.
- Call
knowhere_list_documentsif you need to confirm the rightdocId. - Call
knowhere_preview_documentto get a structural overview. - Call
knowhere_grepwithconditions: [{ pattern: "your query" }]for the default text search path. - Narrow by
chunk.path,chunk.type, or other conditions when needed. - Call
knowhere_read_result_fileformanifest.json,hierarchy.json,kb.csv, or table HTML when the answer depends on raw package data.
Response Style
Keep tool-driven replies short and labeled.
- Reuse labels such as
Scope,Source,File,Chunks,Job ID, andNext - Prefer one short status line plus the key fields the user needs for the next step
- Keep
pathin your reasoning and answers when possible - Cite
chunkIdandpathwhen answering from retrieved chunks
Retrieval Rules
- Prefer
knowhere_grepfor text search - Use
knowhere_preview_documentbefore broad reads when the document is large or the relevant branch is unclear - For image or table questions, inspect matching
imageortablechunks and related manifest asset entries before answering - Do not rely on
full.mdalone when the question depends on exact structure, tables, or images - When a tool response contains
truncatedStrings: true, retry with a highermaxStringCharsbefore answering
Attachment Markers
When a prompt contains a marker like:
[media attached: /absolute/path/to/file.pdf (application/pdf) | handbook.pdf]
Use:
- the exact absolute path as
filePath - the visible filename as
fileName
Tool Usage Examples
Ingest a local file:
{
"filePath": "/tmp/uploads/handbook.pdf",
"fileName": "handbook.pdf"
}
Ingest a URL:
{
"url": "https://example.com/report-2026.pdf",
"title": "Q1 Report"
}
Preview a document:
{
"docId": "handbook-1234"
}
Search across chunk fields:
{
"docId": "paper-pdf-a370ef58",
"conditions": [{ "pattern": "npm audit" }]
}
Read manifest JSON:
{
"docId": "handbook-1234",
"filePath": "manifest.json",
"mode": "json"
}
Files
2 totalComments
Loading comments…
