Preface¶
Adding network connectivity to agents in DeepSeek Harness (DSH) commonly involves directly using the model’s built-in search or wrapping a search API. The former often returns lengthy, concatenated text, while the latter is typically tied to a single engine and produces results not ideal for agent processing: link lists clutter the context, and domain-specific queries (like market prices, chemical formulas, or entertainment info) still require additional broad searches.
Argo (taxueseek/argo) is positioned differently: it is a multilingual search infrastructure designed specifically for agents, routing queries by domain and language to appropriate sources, and outputting concise JSON (evidence candidates with credibility breakdowns) rather than human-readable summary pages. This article introduces its capabilities, installation methods, and typical usage.
What It Is¶
Argo is maintained by taxueseek and categorized as a “network tool” in SkillHub, with approximately 108 stars and 7 forks on GitHub. The current version is v2.8.3, licensed under MIT, and requires Python 3.10+; when mounted via MCP, Node.js 18+ is also needed.
In short: Argo treats search as an evidence pipeline—language detection → domain routing → multi-engine retrieval → RRF fusion → evidence quick evaluation—ultimately delivering materials that agents can directly sort, fetch for verification, and that won’t overwhelm the context. It integrates web search and local file search, covering scenarios like Chinese, English, academic, code, shopping, finance, news, and encyclopedias. Currently, it supports over 120 engines and 60+ business domains, providing 10 MCP tools externally.
Core Features¶
Domain Routing and Vertical Sources¶
Argo doesn’t uniformly perform broad web searches for all queries. It automatically routes based on query content to the corresponding domain, prioritizing answer-type results from vertical sources. The README lists routing examples as follows:
| Query Type | Routing Direction |
|---|---|
| Kweichow Moutai stock price / AAPL pre-market | A-share / US stock market domain, prioritizing snapshot sources |
| The Shawshank Redemption lead actor / Inception director | Entertainment domain → IMDb, etc. |
| Messi’s club / Curry’s team | Sports domain → TheSportsDB, etc. |
| Where is the Eiffel Tower? | Geographical entity → OpenStreetMap, etc. |
| Aspirin molecular formula | Chemistry domain → PubChem-like answers |
| アニメ おすすめ / 한국 영화 추천 | Recognizes Japanese/Korean, routes to language-friendly sources |
Evidence Scoring and JSON Output¶
Results are structured JSON with credibility breakdowns rather than link lists. Key scoring dimensions include:
- selection: Domain authority, with SERP/redirection chains minimized
- absorption: Evidence density such as numbers, definitions, comparisons, disclosures
- freshness: Publication time
- consensus: Multi-source consistency
The composite score is approximately 0.40·selection + 0.35·absorption + 0.15·freshness + 0.10·engine_score. Result fields include selection, absorption, credibility_fast, evidence_flags, etc., making it easy for agents to sort directly.
Caching and Cost Control¶
Dual-layer caching (in-memory + SQLite) allows hot queries to return in about 10ms. It supports a budget mode, prioritizing free engines, with API keys being optional; when no key is configured, it uses free engines plus local local_* engines.
Deep Research¶
It can break down broad questions into multiple sub-queries, perform parallel multi-source collection, and indicate missing evidence, suitable for synthesis and research tasks. The DSH sub-package also offers wide_research for parallel research orchestration (see Installation Method B below).
Comparison with Common Approaches¶
| Dimension | Model’s Built-in Search | AI Search (Summary-type) | Aggregated Search | Argo |
|---|---|---|---|---|
| Result Format | Concatenated long text | Human-readable summary pages | SERP link lists | Concise JSON: Evidence candidates + credibility breakdown |
| Vertical Queries | Broad web search | Broad search then summary | Broad web search | Directly connects to vertical sources, provides answers directly |
| Evidence Credibility | No scoring | No structured scoring | No scoring | selection · absorption · freshness · consensus |
| Repeated Queries | Every query hits the web | Every query hits the web | Relies on page caching | Dual-layer caching, hot queries ~10ms |
| Multilingual | Depends on model | Depends on model | Depends on engine | Language detection + engine language parameters + multilingual support |
Installation and Enabling¶
GitHub is the only true installation source (npx github:taxueseek/argo or install.sh). Do not use npm install argo-search—the version on npm registry is an unofficial, outdated v1.0.1, not maintained by this repository.
Installing in DeepSeek Harness¶
Choose one of the following installation methods. After installation, restart dsh web for it to take effect.
Method A: Only 10 mcp__argo__* search tools (main package with bundle):
dsh plugin --profile web add "github:taxueseek/argo"
Method B: Search tools + wide_research parallel research orchestration (sub-package):
dsh plugin --profile web add "github:taxueseek/argo#main&path:packages/dsh-plugin"
The wide_research module in Method B only exists in the sub-package dependency tree; the same IDs mcp-argo / wide-research can be overridden at the user level via cordis.patch.yml.
Other Integration Methods¶
Quick MCP Mounting (suitable for Cursor, Claude Code, Kimi, etc.), requires installing PyYAML first:
pip3 install pyyaml
npx -y github:taxueseek/argo
Example MCP client configuration:
{
"mcpServers": {
"argo": {
"command": "npx",
"args": ["-y", "github:taxueseek/argo"]
}
}
}
Local Long-term Installation (script method recommended):
curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh | bash
Specify directory and link skill entry:
curl -fsSL https://raw.githubusercontent.com/taxueseek/argo/main/scripts/install.sh \
| bash -s -- --home "$HOME/.local/share/argo" --link "$HOME/.claude/skills/argo"
A more stable, completely Node-independent MCP setup: install the script first, then point to local Python:
{
"mcpServers": {
"argo": {
"command": "python3",
"args": ["/path/to/argo/scripts/mcp_server.py"]
}
}
}
Dependency Explanation¶
| Dependency | Required? | Purpose |
|---|---|---|
| PyYAML | ✅ | Reads configuration files; won’t run at all without it |
| curl_cffi | ❌ | Simulates browser TLS fingerprints to bypass anti-scraping sites |
| ddgs CLI | ❌ | 10 backend engines for local key-free search |
| realtime-index CLI | ❌ | Real-time indexing engine |
| Chrome / Playwright | ❌ | Page screenshots, JS-rendered pages, logged-in state scraping |
| pdfplumber / PyMuPDF | ❌ | PDF extraction (argo_pdf) |
The installation script only automatically installs PyYAML and curl_cffi; others are installed as needed.
Post-installation Self-check¶
python3 --version # Requires 3.10+
python3 -c "import yaml; print('PyYAML OK')"
python3 scripts/search.py --list-engines
Typical Usage¶
Command-line Search¶
After completing the script installation, you can directly use search.py for verification:
python3 ~/.local/share/argo/scripts/search.py "贵州茅台股价" --json
python3 ~/.local/share/argo/scripts/search.py --list-engines
MCP Tool Invocation¶
After mounting MCP, agents can use 10 mcp__argo__* tools to perform searches, fetches, deep research, etc. Responses are concise JSON with controllable snippets, which can be trimmed as needed to avoid overwhelming the context.
Agent Usage Recommendations¶
The README provides the following discipline, especially applicable to high-consequence queries (holdings, safety, factual accuracy):
- First
search→ check quick scores →fetchtop results → then conclude - Clearly specify data sources for numbers; list conflicting sources without forcing a merge
- Don’t treat search result pages or redirection chains as primary sources
- Treat social posts as sentiment and narratives, not factual truths
- For fact-checking, it’s better to add extra layered queries (source / comparison / subject)
Python Library Usage¶
Besides MCP and command lines, it can also be called directly in Python projects:
from search import super_search
Applicable Scenarios and Notes¶
Who it’s for: Developers who need to integrate web search into DSH or other agent frameworks and desire structured, verifiable, token-efficient results. It benefits scenarios like financial markets, entertainment/sports, academic/code, multilingual queries, and in-depth research.
Platform Compatibility: Supports all MCP-compatible clients like Claude Code, Cursor, Cline, Continue, Kimi, Grok Build, etc.; can also be used via pure command lines or Python library calls.
Security Note: The plugin runs with the current dsh process permissions and makes real network requests. Before installation, review the GitHub source code and MIT license to ensure dependencies and configurations meet your environment requirements. Logged-in professional searches (Zhihu, Xiaohongshu, official accounts, etc.) are disabled by default; enabling them depends on the browser and ego lite, so assess risks accordingly.
The SkillHub community directory is an independent site with no official affiliation to DeepSeek / High-Flyer; DSH’s philosophy is “everything is a plugin,” and Argo is one such network tool plugin.
Argo solves the core problem of changing “what search results should look like” from human-readable pages to agent-consumable evidence JSON. If you need multilingual, multi-domain, scoreable web search in DSH, you can start by installing and trying it from the directory page or GitHub.
- Directory Page: https://www.skillhub.cn/plugins/taxueseek/argo
- GitHub: https://github.com/taxueseek/argo