{
  "schemaVersion": "1.0",
  "item": {
    "slug": "siphonclaw",
    "name": "Siphonclaw Skill",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/curtisgc1/siphonclaw",
    "canonicalUrl": "https://clawhub.ai/curtisgc1/siphonclaw",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/siphonclaw",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=siphonclaw",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/siphonclaw"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/siphonclaw",
    "agentPageUrl": "https://openagent3.xyz/skills/siphonclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/siphonclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/siphonclaw/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "SiphonClaw",
        "body": "Domain-agnostic document intelligence pipeline. Ingest PDFs, images, and spreadsheets into a searchable knowledge base with dual-track retrieval (text + visual), OCR, confidence scoring, and field capture.\n\nBuilt for field service engineers, researchers, mechanics, and anyone who needs fast answers from large document collections."
      },
      {
        "title": "What SiphonClaw Does",
        "body": "Ingest documents (PDF, Excel, images, screenshots) into a local vector database with text and visual embeddings\nSearch using triple hybrid retrieval: BM25 keyword matching + semantic text vectors + visual page embeddings, fused with RRF and reranked with a cross-encoder\nIdentify equipment, parts, or components from photos using vision models, then search the local knowledge base\nCapture field fixes and repair notes as first-class knowledge base entries for future retrieval\nScore every response with composite confidence (retrieval + faithfulness + relevance + coverage) and footnote-style source citations"
      },
      {
        "title": "MCP Tools",
        "body": "SiphonClaw exposes five tools via MCP for integration with agents and other MCP-compatible clients."
      },
      {
        "title": "siphonclaw_search",
        "body": "Search the knowledge base using triple hybrid retrieval (text + visual + keyword).\n\nParameters:\n\nNameTypeRequiredDescriptionquerystringyesNatural language search query or exact part number / error codetop_kintegernoNumber of results to return (default: 5, max: 20)filtersobjectnoMetadata filters (e.g., {\"source_type\": \"service_manual\", \"model\": \"ModelA\"})modestringnoSearch mode: \"hybrid\" (default), \"text\", \"visual\", \"keyword\"\n\nReturns:\n\n{\n  \"results\": [\n    {\n      \"content\": \"Extracted text from the matching chunk or page\",\n      \"source\": \"ServiceManual_ModelA.pdf\",\n      \"page\": 42,\n      \"section\": \"4.3 Transformer Replacement\",\n      \"score\": 0.92,\n      \"match_type\": \"hybrid\"\n    }\n  ],\n  \"confidence\": 0.87,\n  \"confidence_tier\": \"Confident - verify part number\",\n  \"keywords_used\": [\"low voltage supply\", \"assembly mount\", \"ModelA\"],\n  \"citations\": [\"[1] ServiceManual_ModelA, page 42\", \"[2] Parts Catalog PC-1102, page 15\"]\n}"
      },
      {
        "title": "siphonclaw_ingest",
        "body": "Add a document or photo to the knowledge base. Supports PDF, Excel, images (JPG/PNG), and screenshots.\n\nParameters:\n\nNameTypeRequiredDescriptionfile_pathstringyesAbsolute path to the file to ingestsource_typestringnoDocument type hint: \"manual\", \"parts_catalog\", \"field_note\", \"photo\", \"other\" (default: auto-detect)metadataobjectnoAdditional metadata to attach (e.g., {\"model\": \"ModelA\", \"domain\": \"industrial\"})\n\nReturns:\n\n{\n  \"status\": \"ingested\",\n  \"file\": \"ServiceManual_ModelA.pdf\",\n  \"pages_processed\": 127,\n  \"chunks_created\": 843,\n  \"visual_pages_indexed\": 127,\n  \"ocr_pages\": 12,\n  \"duration_seconds\": 45.2\n}"
      },
      {
        "title": "siphonclaw_field_note",
        "body": "Save a field fix or repair note as a first-class knowledge base entry. These are indexed and retrievable in future searches, forming a learning loop.\n\nParameters:\n\nNameTypeRequiredDescriptionnotestringyesFree-text description of the fix, procedure, or observationmodelstringnoEquipment model or identifier (e.g., \"ModelA\")partsarray[string]noPart numbers used in the repair (e.g., [\"12345\", \"67890\"])procedure_refstringnoReference to a manual procedure (e.g., \"ServiceManual_ModelA section 4.3\")tagsarray[string]noFree-form tags for categorization (e.g., [\"hv_transformer\", \"calibration\"])\n\nReturns:\n\n{\n  \"status\": \"saved\",\n  \"field_note_id\": \"fn-2026-02-09-001\",\n  \"indexed\": true,\n  \"model\": \"ModelA\",\n  \"parts_cross_referenced\": [\"12345\"],\n  \"retrievable\": true\n}"
      },
      {
        "title": "siphonclaw_identify",
        "body": "Send a photo of equipment, a part, a label, or an error screen. SiphonClaw uses vision models to identify what it sees, then searches the local knowledge base for relevant documentation. Falls back to web search if local confidence is low.\n\nParameters:\n\nNameTypeRequiredDescriptionimage_pathstringyesAbsolute path to the image file (JPG, PNG, HEIC)contextstringnoAdditional context about the image (e.g., \"circuit board inside equipment housing\")search_afterbooleannoAutomatically search the KB after identification (default: true)\n\nReturns:\n\n{\n  \"identification\": \"Industrial power supply board, Model PSU-200\",\n  \"visual_features\": [\"green PCB\", \"3 large capacitors\", \"manufacturer logo visible\", \"part label partially obscured\"],\n  \"ocr_text\": \"PSU-200 REV C  SN: 4829103\",\n  \"search_results\": [\n    {\n      \"content\": \"PSU-200 replacement procedure...\",\n      \"source\": \"ServiceManual_ModelA.pdf\",\n      \"page\": 67,\n      \"score\": 0.94\n    }\n  ],\n  \"confidence\": 0.91,\n  \"web_search_used\": false\n}"
      },
      {
        "title": "siphonclaw_status",
        "body": "Get pipeline health, ingestion statistics, model availability, and cost tracking.\n\nParameters:\n\nNameTypeRequiredDescriptiondetailstringnoLevel of detail: \"summary\" (default), \"full\", \"costs\", \"models\"\n\nReturns:\n\n{\n  \"status\": \"healthy\",\n  \"knowledge_base\": {\n    \"total_documents\": 3164,\n    \"total_chunks\": 656000,\n    \"visual_pages_indexed\": 31200,\n    \"last_ingestion\": \"2026-02-09T14:30:00Z\"\n  },\n  \"models\": {\n    \"ocr\": {\"model\": \"qwen3-vl:latest\", \"provider\": \"ollama\", \"available\": true},\n    \"text_embedding\": {\"model\": \"bge-m3:latest\", \"provider\": \"ollama\", \"available\": true},\n    \"visual_embedding\": {\"model\": \"qwen3-vl-embed:2b\", \"provider\": \"ollama\", \"available\": true},\n    \"generation\": {\"model\": \"MiniMax-M2.5\", \"provider\": \"openrouter\", \"available\": true},\n    \"reasoning\": {\"model\": \"kimi-k2.5\", \"provider\": \"openrouter\", \"available\": true},\n    \"fallback\": {\"model\": \"glm-4.7-flash:latest\", \"provider\": \"ollama\", \"available\": true}\n  },\n  \"costs\": {\n    \"today\": \"$0.12\",\n    \"this_month\": \"$2.45\",\n    \"daily_budget\": \"$5.00\",\n    \"budget_remaining\": \"$4.88\"\n  },\n  \"dead_letter_queue\": {\n    \"pending_retry\": 2,\n    \"permanently_failed\": 1\n  }\n}"
      },
      {
        "title": "MCP Server",
        "body": "SiphonClaw runs as an MCP server that any MCP-compatible client (OpenClaw agents, Claude Desktop, etc.) can connect to.\n\n# Start the MCP server (stdio transport - default for OpenClaw)\npython mcp_server.py\n\n# Start with SSE transport (for HTTP-based clients)\npython mcp_server.py --sse --port 8000\n\nOpenClaw agent config (~/.openclaw/openclaw.json):\n\n{\n  \"mcpServers\": {\n    \"siphonclaw\": {\n      \"command\": \"python\",\n      \"args\": [\"mcp_server.py\"],\n      \"cwd\": \"/path/to/siphonclaw\"\n    }\n  }\n}\n\nClaude Desktop config (claude_desktop_config.json):\n\n{\n  \"mcpServers\": {\n    \"siphonclaw\": {\n      \"command\": \"python\",\n      \"args\": [\"/path/to/siphonclaw/mcp_server.py\"]\n    }\n  }\n}"
      },
      {
        "title": "Mode A: Hybrid Local + Cloud (Recommended)",
        "body": "Local models handle ingestion (OCR + embeddings) for free. Cloud APIs handle intelligence (generation + reasoning) for pennies per query.\n\nMonthly cost: ~$0.50-5/mo for typical use.\n\n# 1. Install SiphonClaw\ngit clone https://github.com/curtisgc1/siphonclaw.git && cd siphonclaw\npip install -r requirements.txt\n\n# 2. Install Ollama and pull local models (~10 GB total)\ncurl -fsSL https://ollama.com/install.sh | sh\nollama pull qwen3-vl:latest          # 6.1 GB - OCR\nollama pull bge-m3:latest             # ~1.5 GB - text embeddings\nollama pull qwen3-vl-embed:2b        # ~2 GB - visual embeddings\n\n# 3. Get OpenRouter API key (ONE key for all intelligence models)\n#    Visit: https://openrouter.ai -> Sign up -> Copy API key\nsiphonclaw config set openrouter_key sk-or-v1-xxxxx\n\n# 4. (Optional) Get Brave Search API key for web search fallback\n#    Visit: https://brave.com/search/api -> Sign up -> Free tier: 2,000 queries/mo\nsiphonclaw config set brave_key BSA-xxxxx\n\n# 5. Point to your documents and ingest\nsiphonclaw config set docs_path /path/to/my/docs\nsiphonclaw ingest\n\n# 6. Search\nsiphonclaw search \"part number for compressor valve\""
      },
      {
        "title": "Mode B: Full Cloud",
        "body": "Everything runs via OpenRouter. Simpler setup (no Ollama needed), but ingestion of large document sets costs $50-100+ in API tokens.\n\nFirst month: ~$50-105. After that: ~$0.50/mo.\n\n# 1. Install SiphonClaw\npip install siphonclaw\n\n# 2. Get OpenRouter API key\nsiphonclaw config set openrouter_key sk-or-v1-xxxxx\n\n# 3. Set ingestion mode to cloud\nsiphonclaw config set ingestion_mode cloud\n\n# 4. (Optional) Get Brave Search API key\nsiphonclaw config set brave_key BSA-xxxxx\n\n# 5. Point to your documents and ingest\nsiphonclaw config set docs_path /path/to/my/docs\nsiphonclaw ingest\n\n# 6. Search\nsiphonclaw search \"part number for compressor valve\""
      },
      {
        "title": "Cost Comparison",
        "body": "OperationMode A (Hybrid)Mode B (Full Cloud)Ingest 3,000 PDFs$0 (local)~$50-100 (OCR + embeddings)100 searches/month~$0.50 (API generation)~$0.50 (same)Monthly total~$0.50-5/mo~$50-105 first month, $0.50/mo after"
      },
      {
        "title": "Configuration Reference",
        "body": "SiphonClaw reads configuration from config/models.yaml and environment variables.\n\nEnvironment variables (via .env or shell):\n\nVariableRequiredDescriptionOPENROUTER_API_KEYMode A/BOpenRouter API key for intelligence modelsBRAVE_SEARCH_API_KEYnoBrave Search API key for web search fallbackOLLAMA_BASE_URLnoOllama server URL (default: http://127.0.0.1:11434)SIPHONCLAW_BUDGET_DAILYnoDaily API spend cap in USD (default: 5.00)SIPHONCLAW_DOCS_PATHnoPath to document directory for ingestion\n\nAgent config example (config.json):\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"siphonclaw\": {\n        \"openrouter_key\": \"sk-or-v1-xxxxx\",\n        \"brave_key\": \"BSA-xxxxx\",\n        \"docs_path\": \"/path/to/docs\",\n        \"ingestion_mode\": \"local\",\n        \"ollama_url\": \"http://127.0.0.1:11434\"\n      }\n    }\n  }\n}\n\nModel configuration: See config/models.yaml for full model tier configuration with ingestion and intelligence settings."
      }
    ],
    "body": "SiphonClaw\n\nDomain-agnostic document intelligence pipeline. Ingest PDFs, images, and spreadsheets into a searchable knowledge base with dual-track retrieval (text + visual), OCR, confidence scoring, and field capture.\n\nBuilt for field service engineers, researchers, mechanics, and anyone who needs fast answers from large document collections.\n\nWhat SiphonClaw Does\nIngest documents (PDF, Excel, images, screenshots) into a local vector database with text and visual embeddings\nSearch using triple hybrid retrieval: BM25 keyword matching + semantic text vectors + visual page embeddings, fused with RRF and reranked with a cross-encoder\nIdentify equipment, parts, or components from photos using vision models, then search the local knowledge base\nCapture field fixes and repair notes as first-class knowledge base entries for future retrieval\nScore every response with composite confidence (retrieval + faithfulness + relevance + coverage) and footnote-style source citations\nMCP Tools\n\nSiphonClaw exposes five tools via MCP for integration with agents and other MCP-compatible clients.\n\nsiphonclaw_search\n\nSearch the knowledge base using triple hybrid retrieval (text + visual + keyword).\n\nParameters:\n\nName\tType\tRequired\tDescription\nquery\tstring\tyes\tNatural language search query or exact part number / error code\ntop_k\tinteger\tno\tNumber of results to return (default: 5, max: 20)\nfilters\tobject\tno\tMetadata filters (e.g., {\"source_type\": \"service_manual\", \"model\": \"ModelA\"})\nmode\tstring\tno\tSearch mode: \"hybrid\" (default), \"text\", \"visual\", \"keyword\"\n\nReturns:\n\n{\n  \"results\": [\n    {\n      \"content\": \"Extracted text from the matching chunk or page\",\n      \"source\": \"ServiceManual_ModelA.pdf\",\n      \"page\": 42,\n      \"section\": \"4.3 Transformer Replacement\",\n      \"score\": 0.92,\n      \"match_type\": \"hybrid\"\n    }\n  ],\n  \"confidence\": 0.87,\n  \"confidence_tier\": \"Confident - verify part number\",\n  \"keywords_used\": [\"low voltage supply\", \"assembly mount\", \"ModelA\"],\n  \"citations\": [\"[1] ServiceManual_ModelA, page 42\", \"[2] Parts Catalog PC-1102, page 15\"]\n}\n\nsiphonclaw_ingest\n\nAdd a document or photo to the knowledge base. Supports PDF, Excel, images (JPG/PNG), and screenshots.\n\nParameters:\n\nName\tType\tRequired\tDescription\nfile_path\tstring\tyes\tAbsolute path to the file to ingest\nsource_type\tstring\tno\tDocument type hint: \"manual\", \"parts_catalog\", \"field_note\", \"photo\", \"other\" (default: auto-detect)\nmetadata\tobject\tno\tAdditional metadata to attach (e.g., {\"model\": \"ModelA\", \"domain\": \"industrial\"})\n\nReturns:\n\n{\n  \"status\": \"ingested\",\n  \"file\": \"ServiceManual_ModelA.pdf\",\n  \"pages_processed\": 127,\n  \"chunks_created\": 843,\n  \"visual_pages_indexed\": 127,\n  \"ocr_pages\": 12,\n  \"duration_seconds\": 45.2\n}\n\nsiphonclaw_field_note\n\nSave a field fix or repair note as a first-class knowledge base entry. These are indexed and retrievable in future searches, forming a learning loop.\n\nParameters:\n\nName\tType\tRequired\tDescription\nnote\tstring\tyes\tFree-text description of the fix, procedure, or observation\nmodel\tstring\tno\tEquipment model or identifier (e.g., \"ModelA\")\nparts\tarray[string]\tno\tPart numbers used in the repair (e.g., [\"12345\", \"67890\"])\nprocedure_ref\tstring\tno\tReference to a manual procedure (e.g., \"ServiceManual_ModelA section 4.3\")\ntags\tarray[string]\tno\tFree-form tags for categorization (e.g., [\"hv_transformer\", \"calibration\"])\n\nReturns:\n\n{\n  \"status\": \"saved\",\n  \"field_note_id\": \"fn-2026-02-09-001\",\n  \"indexed\": true,\n  \"model\": \"ModelA\",\n  \"parts_cross_referenced\": [\"12345\"],\n  \"retrievable\": true\n}\n\nsiphonclaw_identify\n\nSend a photo of equipment, a part, a label, or an error screen. SiphonClaw uses vision models to identify what it sees, then searches the local knowledge base for relevant documentation. Falls back to web search if local confidence is low.\n\nParameters:\n\nName\tType\tRequired\tDescription\nimage_path\tstring\tyes\tAbsolute path to the image file (JPG, PNG, HEIC)\ncontext\tstring\tno\tAdditional context about the image (e.g., \"circuit board inside equipment housing\")\nsearch_after\tboolean\tno\tAutomatically search the KB after identification (default: true)\n\nReturns:\n\n{\n  \"identification\": \"Industrial power supply board, Model PSU-200\",\n  \"visual_features\": [\"green PCB\", \"3 large capacitors\", \"manufacturer logo visible\", \"part label partially obscured\"],\n  \"ocr_text\": \"PSU-200 REV C  SN: 4829103\",\n  \"search_results\": [\n    {\n      \"content\": \"PSU-200 replacement procedure...\",\n      \"source\": \"ServiceManual_ModelA.pdf\",\n      \"page\": 67,\n      \"score\": 0.94\n    }\n  ],\n  \"confidence\": 0.91,\n  \"web_search_used\": false\n}\n\nsiphonclaw_status\n\nGet pipeline health, ingestion statistics, model availability, and cost tracking.\n\nParameters:\n\nName\tType\tRequired\tDescription\ndetail\tstring\tno\tLevel of detail: \"summary\" (default), \"full\", \"costs\", \"models\"\n\nReturns:\n\n{\n  \"status\": \"healthy\",\n  \"knowledge_base\": {\n    \"total_documents\": 3164,\n    \"total_chunks\": 656000,\n    \"visual_pages_indexed\": 31200,\n    \"last_ingestion\": \"2026-02-09T14:30:00Z\"\n  },\n  \"models\": {\n    \"ocr\": {\"model\": \"qwen3-vl:latest\", \"provider\": \"ollama\", \"available\": true},\n    \"text_embedding\": {\"model\": \"bge-m3:latest\", \"provider\": \"ollama\", \"available\": true},\n    \"visual_embedding\": {\"model\": \"qwen3-vl-embed:2b\", \"provider\": \"ollama\", \"available\": true},\n    \"generation\": {\"model\": \"MiniMax-M2.5\", \"provider\": \"openrouter\", \"available\": true},\n    \"reasoning\": {\"model\": \"kimi-k2.5\", \"provider\": \"openrouter\", \"available\": true},\n    \"fallback\": {\"model\": \"glm-4.7-flash:latest\", \"provider\": \"ollama\", \"available\": true}\n  },\n  \"costs\": {\n    \"today\": \"$0.12\",\n    \"this_month\": \"$2.45\",\n    \"daily_budget\": \"$5.00\",\n    \"budget_remaining\": \"$4.88\"\n  },\n  \"dead_letter_queue\": {\n    \"pending_retry\": 2,\n    \"permanently_failed\": 1\n  }\n}\n\nMCP Server\n\nSiphonClaw runs as an MCP server that any MCP-compatible client (OpenClaw agents, Claude Desktop, etc.) can connect to.\n\n# Start the MCP server (stdio transport - default for OpenClaw)\npython mcp_server.py\n\n# Start with SSE transport (for HTTP-based clients)\npython mcp_server.py --sse --port 8000\n\n\nOpenClaw agent config (~/.openclaw/openclaw.json):\n\n{\n  \"mcpServers\": {\n    \"siphonclaw\": {\n      \"command\": \"python\",\n      \"args\": [\"mcp_server.py\"],\n      \"cwd\": \"/path/to/siphonclaw\"\n    }\n  }\n}\n\n\nClaude Desktop config (claude_desktop_config.json):\n\n{\n  \"mcpServers\": {\n    \"siphonclaw\": {\n      \"command\": \"python\",\n      \"args\": [\"/path/to/siphonclaw/mcp_server.py\"]\n    }\n  }\n}\n\nSetup\nMode A: Hybrid Local + Cloud (Recommended)\n\nLocal models handle ingestion (OCR + embeddings) for free. Cloud APIs handle intelligence (generation + reasoning) for pennies per query.\n\nMonthly cost: ~$0.50-5/mo for typical use.\n\n# 1. Install SiphonClaw\ngit clone https://github.com/curtisgc1/siphonclaw.git && cd siphonclaw\npip install -r requirements.txt\n\n# 2. Install Ollama and pull local models (~10 GB total)\ncurl -fsSL https://ollama.com/install.sh | sh\nollama pull qwen3-vl:latest          # 6.1 GB - OCR\nollama pull bge-m3:latest             # ~1.5 GB - text embeddings\nollama pull qwen3-vl-embed:2b        # ~2 GB - visual embeddings\n\n# 3. Get OpenRouter API key (ONE key for all intelligence models)\n#    Visit: https://openrouter.ai -> Sign up -> Copy API key\nsiphonclaw config set openrouter_key sk-or-v1-xxxxx\n\n# 4. (Optional) Get Brave Search API key for web search fallback\n#    Visit: https://brave.com/search/api -> Sign up -> Free tier: 2,000 queries/mo\nsiphonclaw config set brave_key BSA-xxxxx\n\n# 5. Point to your documents and ingest\nsiphonclaw config set docs_path /path/to/my/docs\nsiphonclaw ingest\n\n# 6. Search\nsiphonclaw search \"part number for compressor valve\"\n\nMode B: Full Cloud\n\nEverything runs via OpenRouter. Simpler setup (no Ollama needed), but ingestion of large document sets costs $50-100+ in API tokens.\n\nFirst month: ~$50-105. After that: ~$0.50/mo.\n\n# 1. Install SiphonClaw\npip install siphonclaw\n\n# 2. Get OpenRouter API key\nsiphonclaw config set openrouter_key sk-or-v1-xxxxx\n\n# 3. Set ingestion mode to cloud\nsiphonclaw config set ingestion_mode cloud\n\n# 4. (Optional) Get Brave Search API key\nsiphonclaw config set brave_key BSA-xxxxx\n\n# 5. Point to your documents and ingest\nsiphonclaw config set docs_path /path/to/my/docs\nsiphonclaw ingest\n\n# 6. Search\nsiphonclaw search \"part number for compressor valve\"\n\nCost Comparison\nOperation\tMode A (Hybrid)\tMode B (Full Cloud)\nIngest 3,000 PDFs\t$0 (local)\t~$50-100 (OCR + embeddings)\n100 searches/month\t~$0.50 (API generation)\t~$0.50 (same)\nMonthly total\t~$0.50-5/mo\t~$50-105 first month, $0.50/mo after\nConfiguration Reference\n\nSiphonClaw reads configuration from config/models.yaml and environment variables.\n\nEnvironment variables (via .env or shell):\n\nVariable\tRequired\tDescription\nOPENROUTER_API_KEY\tMode A/B\tOpenRouter API key for intelligence models\nBRAVE_SEARCH_API_KEY\tno\tBrave Search API key for web search fallback\nOLLAMA_BASE_URL\tno\tOllama server URL (default: http://127.0.0.1:11434)\nSIPHONCLAW_BUDGET_DAILY\tno\tDaily API spend cap in USD (default: 5.00)\nSIPHONCLAW_DOCS_PATH\tno\tPath to document directory for ingestion\n\nAgent config example (config.json):\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"siphonclaw\": {\n        \"openrouter_key\": \"sk-or-v1-xxxxx\",\n        \"brave_key\": \"BSA-xxxxx\",\n        \"docs_path\": \"/path/to/docs\",\n        \"ingestion_mode\": \"local\",\n        \"ollama_url\": \"http://127.0.0.1:11434\"\n      }\n    }\n  }\n}\n\n\nModel configuration: See config/models.yaml for full model tier configuration with ingestion and intelligence settings."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/curtisgc1/siphonclaw",
    "publisherUrl": "https://clawhub.ai/curtisgc1/siphonclaw",
    "owner": "curtisgc1",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/siphonclaw",
    "downloadUrl": "https://openagent3.xyz/downloads/siphonclaw",
    "agentUrl": "https://openagent3.xyz/skills/siphonclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/siphonclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/siphonclaw/agent.md"
  }
}