| search_knowledge | Hybrid search combining semantic search + BM25 keyword search with cross-encoder reranking.
Args:
query: Search query text
max_results: Maximum number of results (default: 5, max: 20)
category: Optional category filter (security, ctf, logscale, development, general, redteam, blueteam)
hybrid_alpha: Balance between semantic and keyword search (0.0 = keyword only, 1.0 = semantic only, default: 0.3)
Returns:
JSON string with search results including content, source, relevance score, and search method used
|
| get_document | Get the full content of a specific document.
Args:
filepath: Path to the document file
Returns:
JSON string with document content and metadata
|
| reindex_documents | Index or reindex all documents in the knowledge base.
Args:
force: If True, smart reindex (detects changes + rebuilds BM25). FAST.
full_rebuild: If True, nuclear rebuild (deletes everything, re-embeds ALL). Use if model changed.
Returns:
JSON string with indexing statistics
|
| list_categories | List all document categories with their document counts. |
| list_documents | List all indexed documents, optionally filtered by category.
Args:
category: Optional category filter
|
| get_index_stats | Get statistics about the knowledge base index. |
| add_document | Add a new document to the knowledge base from raw content.
Saves the content to the documents directory and indexes it immediately.
Args:
content: Full text content of the document
filepath: Relative path within documents dir (e.g., "security/new-technique.md")
category: Document category (security, ctf, logscale, development, general)
Returns:
JSON string with indexing results
|
| update_document | Update an existing document in the knowledge base.
Removes old chunks and re-indexes with new content.
Args:
filepath: Full path to the document file
content: New content for the document
Returns:
JSON string with update results
|
| remove_document | Remove a document from the knowledge base index.
Args:
filepath: Path to the document file
delete_file: If True, also delete the file from disk (default: False)
Returns:
JSON string with removal results
|
| add_from_url | Fetch content from a URL and add it to the knowledge base.
Fetches the page, strips HTML, converts to markdown, and indexes.
Args:
url: URL to fetch content from
category: Document category (default: general)
title: Optional title for the document (auto-detected if not provided)
Returns:
JSON string with indexing results
|
| search_similar | Find documents similar to a given document.
Uses the document's embedding to find semantically similar documents.
Args:
filepath: Path to the reference document
max_results: Number of similar documents to return (default: 5)
Returns:
JSON string with list of similar documents and similarity scores
|
| evaluate_retrieval | Evaluate retrieval quality with test queries.
Args:
test_cases: JSON string of test cases. Format: [{"query": "search term", "expected_filepath": "path/to/doc.md"}, ...]
Returns:
JSON string with MRR@5, Recall@5, and per-query results
|