{"_id":"ducksearch","_rev":"4-f49ce7c34f9b13157e3f487357c107dd","name":"ducksearch","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"ducksearch","version":"1.0.0","keywords":["duck","duckduckgo","search","web","scraper","cli","content"],"author":"","license":"MIT","_id":"ducksearch@1.0.0","maintainers":[{"name":"skillslm","email":"panw3i@gmail.com"}],"bin":{"ducksearch":"dist/cli-standalone.js"},"dist":{"shasum":"aa304a99971af22d42569fb903eb10f459be9a01","tarball":"https://registry.npmjs.org/ducksearch/-/ducksearch-1.0.0.tgz","fileCount":24,"integrity":"sha512-sjZmMbbQpZrlkeMl3HeISwAqfrid4/9/t3uvUu3nMEHZVQNaofRPVpyUMGyv271bDepgr2FLFk9M2eQFHDtNJQ==","signatures":[{"sig":"MEYCIQCvGrETt8YtEebQZk1xbcthkYNRjDPZGw3DUHBEsiAt/AIhAO7jjAFFVlrXtcHRk460iHXR3Yf6BXJeA+/zzG8zB1MN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106123},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"dev":"tsc --watch","build":"tsc","fetch":"node dist/cli-standalone.js fetch","start":"node dist/cli-standalone.js","search":"node dist/cli-standalone.js search"},"_npmUser":{"name":"skillslm","email":"panw3i@gmail.com"},"overrides":{"@modelcontextprotocol/sdk":{"zod":"^3.23.8"}},"_npmVersion":"11.7.0","description":"DuckSearch CLI - 网页搜索和内容提取命令行工具","directories":{},"_nodeVersion":"25.3.0","dependencies":{"zod":"^3.23.8","open":"^10.1.0","uuid":"^11.0.3","axios":"^1.7.9","cheerio":"^1.0.0","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/ducksearch_1.0.0_1769174727140_0.9098325820212738","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"ducksearch","version":"1.0.1","keywords":["duck","duckduckgo","search","web","scraper","cli","content"],"author":"","license":"MIT","_id":"ducksearch@1.0.1","maintainers":[{"name":"skillslm","email":"panw3i@gmail.com"}],"bin":{"ducksearch":"dist/cli-standalone.js"},"dist":{"shasum":"3c5b2178de653b6dcbe43a3f69f7050f6cfd6871","tarball":"https://registry.npmjs.org/ducksearch/-/ducksearch-1.0.1.tgz","fileCount":18,"integrity":"sha512-Dj5MWDGjUjx5yW46YjwwhUWKBwAfncBaOXSZ4bxNW3zWdhVx6DYrRoKNTaFvNWlxcOOGTJBCkf0r1v+cfmp10g==","signatures":[{"sig":"MEYCIQCUnBaVvEZXrNf6ITC6DlrZueXxx4PKOrWtu4cL4rPIlgIhAMIY6RrfikfrtP3hRFzH+ZuWyDQk9HtU7Yfwdux/w085","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52781},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"dev":"tsc --watch","build":"tsc","fetch":"node dist/cli-standalone.js fetch","start":"node dist/cli-standalone.js","search":"node dist/cli-standalone.js search"},"_npmUser":{"name":"skillslm","email":"panw3i@gmail.com"},"overrides":{"@modelcontextprotocol/sdk":{"zod":"^3.23.8"}},"_npmVersion":"11.7.0","description":"DuckSearch CLI - 网页搜索和内容提取命令行工具","directories":{},"_nodeVersion":"25.3.0","dependencies":{"zod":"^3.23.8","open":"^10.1.0","uuid":"^11.0.3","axios":"^1.7.9","cheerio":"^1.0.0","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/ducksearch_1.0.1_1769174778906_0.4278650204982182","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"ducksearch","version":"1.0.2","keywords":["duck","duckduckgo","search","web","scraper","cli","content"],"author":"","license":"MIT","_id":"ducksearch@1.0.2","maintainers":[{"name":"skillslm","email":"panw3i@gmail.com"}],"bin":{"ducksearch":"dist/cli-standalone.js"},"dist":{"shasum":"bcb61839a4835888023a95468bd86a3e6e68c342","tarball":"https://registry.npmjs.org/ducksearch/-/ducksearch-1.0.2.tgz","fileCount":18,"integrity":"sha512-B5l8Q3/2fFzjWfYOo67OXLwxsCq/JgE6SwWcyjHDirYy3gdgmOQsjNbQtGqNMBeY2PEmW27dF9G55PrJVwu8zw==","signatures":[{"sig":"MEUCIQDJrNH2dKP/G7JIcZRCrnWKLgtqCmqezOWOGNTGMaBW8QIgXcjGeRAcwShnoDHQ3gpLE4CBjqs4DTipuhdU7A3wmWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52687},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","scripts":{"dev":"tsc --watch","build":"tsc","fetch":"node dist/cli-standalone.js fetch","start":"node dist/cli-standalone.js","search":"node dist/cli-standalone.js search"},"_npmUser":{"name":"skillslm","email":"panw3i@gmail.com"},"overrides":{"@modelcontextprotocol/sdk":{"zod":"^3.23.8"}},"_npmVersion":"11.7.0","description":"ducksearch - 由微信公众号字节笔记本提供","directories":{},"_nodeVersion":"25.3.0","dependencies":{"zod":"^3.23.8","open":"^10.1.0","uuid":"^11.0.3","axios":"^1.7.9","cheerio":"^1.0.0","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/ducksearch_1.0.2_1769174881900_0.5921114010458357","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"ducksearch","version":"1.0.3","description":"ducksearch - 由微信公众号字节笔记本提供","main":"dist/index.js","type":"module","bin":{"ducksearch":"dist/cli-standalone.js"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/cli-standalone.js","search":"node dist/cli-standalone.js search","fetch":"node dist/cli-standalone.js fetch"},"keywords":["duck","duckduckgo","search","web","scraper","cli","content"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","axios":"^1.7.9","cheerio":"^1.0.0","commander":"^12.1.0","open":"^10.1.0","uuid":"^11.0.3","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.10.5","typescript":"^5.7.2"},"overrides":{"@modelcontextprotocol/sdk":{"zod":"^3.23.8"}},"types":"./dist/index.d.ts","_id":"ducksearch@1.0.3","_nodeVersion":"25.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-/LwIuXm52R2jDl8DXOooF+ORMYXrKyrA3tRC7JHY6bnKZMwBSGnZXrN0ZOlmuAb6+X9bv8FhzlgjJLrlPZtg3A==","shasum":"a7e17ecd08b56976282ae47dc2a9e52bc6f567ae","tarball":"https://registry.npmjs.org/ducksearch/-/ducksearch-1.0.3.tgz","fileCount":18,"unpackedSize":52595,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEbLkFguHEGa0dTnxijV7OcoPhl7HT2D49iiSU0EwJzqAiEArOUrbMDm/IXdL+lKtMTBSXPyvb2p+y/5Z/xgBi3zV/A="}]},"_npmUser":{"name":"skillslm","email":"panw3i@gmail.com"},"directories":{},"maintainers":[{"name":"skillslm","email":"panw3i@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ducksearch_1.0.3_1769174933921_0.3346813254743972"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-23T13:25:27.139Z","modified":"2026-01-23T13:28:54.189Z","1.0.0":"2026-01-23T13:25:27.270Z","1.0.1":"2026-01-23T13:26:19.039Z","1.0.2":"2026-01-23T13:28:02.037Z","1.0.3":"2026-01-23T13:28:54.061Z"},"license":"MIT","keywords":["duck","duckduckgo","search","web","scraper","cli","content"],"description":"ducksearch - 由微信公众号字节笔记本提供","maintainers":[{"name":"skillslm","email":"panw3i@gmail.com"}],"readme":"# ducksearch\n\n由微信公众号「字节笔记本」提供\n\n网页搜索和内容提取命令行工具\n\n## 功能特性\n\n- 🔍 **网络搜索**: 使用 DuckDuckGo 搜索引擎\n- 📥 **内容提取**: 获取网页纯文本内容\n- 🚀 **MCP 服务器**: 支持 Claude Code/MCP 集成\n- ⚡ **快速高效**: 内存管理和批处理优化\n\n## 使用方法\n\n### 1. 直接使用 (推荐)\n\n```bash\n# 搜索\nnpx ducksearch search \"关键词\"\n\n# 获取网页内容\nnpx ducksearch fetch https://example.com\n```\n\n### 2. 全局安装\n\n```bash\nnpm install -g ducksearch\n\n# 然后直接使用\nducksearch search \"关键词\"\nducksearch fetch https://example.com\n```\n\n## 命令详解\n\n### 网络搜索\n\n```bash\n# 基本搜索\nnpx ducksearch search \"关键词\"\n\n# 指定结果数量\nnpx ducksearch search \"关键词\" -n 20\n\n# 搜索并自动打开第一个结果\nnpx ducksearch search \"关键词\" -o\n```\n\n### 获取网页内容\n\n```bash\n# 获取网页内容(预览)\nnpx ducksearch fetch https://example.com\n\n# 获取原始 HTML\nnpx ducksearch fetch https://example.com --raw\n\n# 保存到文件\nnpx ducksearch fetch https://example.com -o output.txt\n\n# 输出 JSON 格式\nnpx ducksearch fetch https://example.com --json\n```\n\n## MCP 服务器配置\n\n在 Claude Code 中使用，添加到 MCP 配置：\n\n```json\n{\n  \"mcpServers\": {\n    \"ducksearch\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"ducksearch\", \"mcp\"]\n    }\n  }\n}\n```\n\n### MCP 工具\n\n1. **DuckDuckGoWebSearch**\n   - 输入: 搜索关键词和最大结果数\n   - 输出: 格式化的搜索结果列表\n\n2. **UrlContentExtractor**\n   - 输入: 单个 URL 或 URL 数组\n   - 输出: 网页纯文本内容\n\n## 技术栈\n\n- TypeScript\n- Node.js\n- Axios (HTTP 请求)\n- Cheerio (HTML 解析)\n- Commander.js (CLI 框架)\n- MCP SDK\n\n## 许可证\n\nMIT\n\n## 关注我们\n\n微信公众号：**字节笔记本**\n","readmeFilename":"README.md"}