7a0da7932b
Backwards Compatibility / Verify Encryption Constants (push) Waiting to run
Backwards Compatibility / PyPI Version Compatibility (push) Waiting to run
Backwards Compatibility / Database Migration Tests (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
CodeQL Advanced / Analyze (python) (push) Waiting to run
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-form] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-metrics] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-workflow] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [settings-core] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [settings-pages] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [history-news] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [library] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [link-analytics] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [mobile] (push) Blocked by required conditions
Docker Tests (Consolidated) / detect-changes (push) Waiting to run
Docker Tests (Consolidated) / Build Test Image (push) Waiting to run
Docker Tests (Consolidated) / All Pytest Tests + Coverage (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [accessibility] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [api-crud] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-login] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-pages] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-register] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [chat-core] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [chat-lifecycle] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) [error-benchmark] (push) Blocked by required conditions
Docker Tests (Consolidated) / UI Tests (Puppeteer) (push) Blocked by required conditions
Docker Tests (Consolidated) / Accessibility Tests (push) Blocked by required conditions
Docker Tests (Consolidated) / LLM Unit Tests (push) Blocked by required conditions
Docker Tests (Consolidated) / LLM Example Tests (push) Blocked by required conditions
Docker Tests (Consolidated) / Production Image Smoke Test (push) Blocked by required conditions
Docker Tests (Consolidated) / Infrastructure Tests (push) Blocked by required conditions
OSSF Scorecard / OSSF Security Scorecard Analysis (push) Waiting to run
OSV-Scanner (Scheduled) / scan-scheduled (push) Failing after 0s
Create Release / test-gate (push) Has been cancelled
Create Release / release-gate (push) Has been cancelled
Create Release / ci-gate (push) Has been cancelled
Create Release / version-check (push) Has been cancelled
Create Release / e2e-test-gate (push) Has been cancelled
Create Release / responsive-test-gate (push) Has been cancelled
Create Release / compat-test-gate (push) Has been cancelled
Create Release / compose-integration-gate (push) Has been cancelled
Create Release / vulture-gate (push) Has been cancelled
Create Release / build (push) Has been cancelled
Create Release / provenance (push) Has been cancelled
Create Release / prerelease-docker (push) Has been cancelled
Create Release / publish-docker (push) Has been cancelled
Create Release / create-release (push) Has been cancelled
Create Release / cleanup-changelog (push) Has been cancelled
Create Release / trigger-pypi (push) Has been cancelled
Create Release / monitor-pypi (push) Has been cancelled
Create Release / Clean up orphan prerelease tags and signatures (push) Has been cancelled
307 lines
7.9 KiB
Markdown
307 lines
7.9 KiB
Markdown
# CLI Tools Reference
|
|
|
|
Local Deep Research includes command-line tools for benchmarking and rate limit management.
|
|
|
|
## Table of Contents
|
|
|
|
- [Benchmarking CLI](#benchmarking-cli)
|
|
- [Rate Limiting CLI](#rate-limiting-cli)
|
|
- [MCP Server CLI](#mcp-server-cli)
|
|
|
|
---
|
|
|
|
## Benchmarking CLI
|
|
|
|
Run benchmarks to evaluate search quality and compare configurations.
|
|
|
|
### Basic Usage
|
|
|
|
```bash
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands <command> [options]
|
|
```
|
|
|
|
### Commands
|
|
|
|
#### `simpleqa` - Run SimpleQA Benchmark
|
|
|
|
Tests factual question answering accuracy.
|
|
|
|
```bash
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands simpleqa [options]
|
|
```
|
|
|
|
**Options:**
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `--examples` | 100 | Number of questions to test |
|
|
| `--iterations` | 3 | Search iterations per question |
|
|
| `--questions` | 3 | Questions per iteration |
|
|
| `--search-tool` | searxng | Search engine to use |
|
|
| `--search-strategy` | source_based | Strategy (source-based, focused-iteration, focused-iteration-standard, topic-organization) |
|
|
| `--search-model` | (default) | LLM model for research |
|
|
| `--search-provider` | (default) | LLM provider |
|
|
| `--eval-model` | (default) | Model for answer evaluation |
|
|
| `--eval-provider` | (default) | Provider for evaluation |
|
|
| `--output-dir` | ~/.local-deep-research/benchmark_results | Results directory |
|
|
| `--human-eval` | false | Use human evaluation |
|
|
| `--no-eval` | false | Skip evaluation phase |
|
|
| `--custom-dataset` | - | Path to custom dataset |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Run 50 examples with Ollama
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands simpleqa \
|
|
--examples 50 \
|
|
--search-provider ollama \
|
|
--search-model llama3.2
|
|
```
|
|
|
|
#### `browsecomp` - Run BrowseComp Benchmark
|
|
|
|
Tests complex reasoning and multi-step research.
|
|
|
|
```bash
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands browsecomp [options]
|
|
```
|
|
|
|
Same options as `simpleqa`.
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Run BrowseComp with focused-iteration strategy
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands browsecomp \
|
|
--examples 20 \
|
|
--search-strategy focused-iteration \
|
|
--iterations 5
|
|
```
|
|
|
|
#### `compare` - Compare Configurations
|
|
|
|
Compare multiple search configurations on the same dataset.
|
|
|
|
```bash
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands compare [options]
|
|
```
|
|
|
|
**Options:**
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `--dataset` | simpleqa | Dataset to use (simpleqa, browsecomp) |
|
|
| `--examples` | 20 | Examples per configuration |
|
|
| `--output-dir` | ~/.local-deep-research/benchmark_results/comparison | Results directory |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Compare configurations
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands compare \
|
|
--dataset simpleqa \
|
|
--examples 30
|
|
```
|
|
|
|
#### `list` - List Available Benchmarks
|
|
|
|
```bash
|
|
python -m local_deep_research.benchmarks.cli.benchmark_commands list
|
|
```
|
|
|
|
Shows available benchmark datasets and their descriptions.
|
|
|
|
---
|
|
|
|
## Rate Limiting CLI
|
|
|
|
Monitor and manage the adaptive rate limiting system.
|
|
|
|
### Basic Usage
|
|
|
|
```bash
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli <command> [options]
|
|
```
|
|
|
|
### Commands
|
|
|
|
#### `status` - Show Rate Limit Statistics
|
|
|
|
View current rate limit data for search engines.
|
|
|
|
```bash
|
|
# All engines
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli status
|
|
|
|
# Specific engine
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli status --engine DuckDuckGoSearchEngine
|
|
```
|
|
|
|
**Output columns:**
|
|
|
|
| Column | Description |
|
|
|--------|-------------|
|
|
| Engine | Search engine name |
|
|
| Base Wait | Current wait time in seconds |
|
|
| Range | Min-max wait times |
|
|
| Success | Success rate percentage |
|
|
| Attempts | Total request attempts |
|
|
| Updated | Last update timestamp |
|
|
|
|
**Example output:**
|
|
|
|
```
|
|
Rate Limit Statistics:
|
|
--------------------------------------------------------------------------------
|
|
Engine Base Wait Range Success Attempts Updated
|
|
--------------------------------------------------------------------------------
|
|
DuckDuckGoSearchEngine 2.50 1.0s - 5.0s 95.2% 150 12-26 14:30
|
|
ArXivSearchEngine 0.50 0.5s - 1.0s 99.8% 85 12-26 12:15
|
|
```
|
|
|
|
#### `reset` - Reset Engine Rate Limits
|
|
|
|
Clear learned rate limit data for an engine.
|
|
|
|
```bash
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli reset --engine <engine_name>
|
|
```
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Reset DuckDuckGo rate limits
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli reset --engine DuckDuckGoSearchEngine
|
|
```
|
|
|
|
Use this when:
|
|
- Rate limits are too conservative
|
|
- After API changes
|
|
- When switching environments
|
|
|
|
#### `export` - Export Rate Limit Data
|
|
|
|
Export rate limit statistics in various formats.
|
|
|
|
```bash
|
|
# Table format (default)
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli export
|
|
|
|
# CSV format
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli export --format csv
|
|
|
|
# JSON format
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli export --format json
|
|
```
|
|
|
|
**Formats:**
|
|
|
|
| Format | Use Case |
|
|
|--------|----------|
|
|
| `table` | Human-readable display |
|
|
| `csv` | Spreadsheet import |
|
|
| `json` | Programmatic processing |
|
|
|
|
**Example CSV output:**
|
|
|
|
```csv
|
|
engine_type,base_wait_seconds,min_wait_seconds,max_wait_seconds,last_updated,total_attempts,success_rate
|
|
DuckDuckGoSearchEngine,2.5,1.0,5.0,1703612400,150,0.952
|
|
```
|
|
|
|
#### `cleanup` - Remove Old Data
|
|
|
|
Clean up rate limit data older than a specified number of days.
|
|
|
|
```bash
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli cleanup --days <days>
|
|
```
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
# Remove data older than 30 days
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli cleanup --days 30
|
|
|
|
# Remove data older than 7 days
|
|
python -m local_deep_research.web_search_engines.rate_limiting.cli cleanup --days 7
|
|
```
|
|
|
|
---
|
|
|
|
## MCP Server CLI
|
|
|
|
Run the MCP server for Claude Desktop integration.
|
|
|
|
### Basic Usage
|
|
|
|
```bash
|
|
# Via entry point
|
|
ldr-mcp
|
|
|
|
# Via module
|
|
python -m local_deep_research.mcp
|
|
```
|
|
|
|
The server communicates over STDIO (stdin/stdout for JSON-RPC, stderr for logs). It is designed to be launched by Claude Desktop, not run interactively.
|
|
|
|
### Environment Variables
|
|
|
|
Set via Claude Desktop config `env` block or shell environment:
|
|
|
|
| Variable | Description | Example |
|
|
|----------|-------------|---------|
|
|
| `LDR_LLM_PROVIDER` | LLM provider | `openai`, `ollama`, `anthropic` |
|
|
| `LDR_LLM_MODEL` | Model name | `gpt-4`, `llama3:8b` |
|
|
| `LDR_LLM_OPENAI_API_KEY` | OpenAI API key | `sk-...` |
|
|
| `LDR_SEARCH_TOOL` | Default search engine | `searxng`, `arxiv`, `wikipedia` |
|
|
| `LDR_SEARCH_SEARCH_STRATEGY` | Default strategy | `source-based`, `focused-iteration` |
|
|
|
|
See [MCP Server Guide](mcp-server.md) for full documentation.
|
|
|
|
---
|
|
|
|
## Common Engine Names
|
|
|
|
When using the rate limiting CLI, use these engine class names:
|
|
|
|
| Engine | Class Name |
|
|
|--------|------------|
|
|
| DuckDuckGo | `DuckDuckGoSearchEngine` |
|
|
| SearXNG | `SearXNGSearchEngine` |
|
|
| Brave | `BraveSearchEngine` |
|
|
| arXiv | `ArXivSearchEngine` |
|
|
| PubMed | `PubMedSearchEngine` |
|
|
| Semantic Scholar | `SemanticScholarSearchEngine` |
|
|
| Wikipedia | `WikipediaSearchEngine` |
|
|
| GitHub | `GitHubSearchEngine` |
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Benchmark Not Starting
|
|
|
|
- Verify LLM provider is configured
|
|
- Check search engine is available
|
|
- Ensure sufficient disk space for results
|
|
|
|
### Rate Limit Data Missing
|
|
|
|
- Run some searches first to generate data
|
|
- Check database file exists
|
|
- Try `status` without `--engine` flag
|
|
|
|
### Export Permission Error
|
|
|
|
- Check write permissions on output directory
|
|
- Use a different output directory
|
|
|
|
---
|
|
|
|
## See Also
|
|
|
|
- [Architecture Overview](architecture/OVERVIEW.md) - System architecture
|
|
- [Troubleshooting](troubleshooting.md) - Common issues
|
|
- [BENCHMARKING.md](BENCHMARKING.md) - Detailed benchmark documentation
|