{"_id":"@dhicoc/dsh-codex-web-search-mcp","_rev":"4-f809d6001d919cea2c3ee04be2e60713","name":"@dhicoc/dsh-codex-web-search-mcp","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@dhicoc/dsh-codex-web-search-mcp","version":"1.0.0","keywords":["dsh","dsh-plugin","mcp","codex","grok","web-search","deep-research","search"],"license":"MIT","_id":"@dhicoc/dsh-codex-web-search-mcp@1.0.0","maintainers":[{"name":"dhicoc","email":"1964366186@qq.com"}],"homepage":"https://github.com/dhicoc/dsh-codex-web-search-mcp#readme","bugs":{"url":"https://github.com/dhicoc/dsh-codex-web-search-mcp/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3803220e42bffdcf2a99ab947c3a6f3dae0c648c","tarball":"https://registry.npmjs.org/@dhicoc/dsh-codex-web-search-mcp/-/dsh-codex-web-search-mcp-1.0.0.tgz","fileCount":4,"integrity":"sha512-UML6Kuh9Ado/S1IXK37O7o78QLiokUfjes6DjkclllIN9G+bBDlV75wWvJ0GgESLHnbe8vpVpU1/8h8Mdny68g==","signatures":[{"sig":"MEYCIQCJKYaMxdRMn/Im/dkPmzo50wTxcnu5o+vCpFlHyj+rWgIhAM/26+HMvpm7US+y0JEo9Eifo2EEOyRP9gsLwfwmx2Z6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9348},"type":"module","gitHead":"e6cbfacfc96e06b8283878d71f5d721ba621db10","_npmUser":{"name":"dhicoc","email":"1964366186@qq.com"},"repository":{"url":"git+https://github.com/dhicoc/dsh-codex-web-search-mcp.git","type":"git"},"_npmVersion":"10.9.7","description":"dsh plugin: register codex-web-search-mcp (model-independent OpenAI Codex / Grok web search & deep research MCP server) as a native dsh MCP tool set (mcp__codex-web-search__*).","directories":{},"_nodeVersion":"22.22.2","dependencies":{"codex-web-search-mcp":"^2.3.1","@deepseek-ai/dsh-mcp-client":"0.1.0-rc.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-codex-web-search-mcp_1.0.0_1786886354851_0.5024160490343526","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dhicoc/dsh-codex-web-search-mcp","version":"1.0.1","keywords":["dsh","dsh-plugin","mcp","codex","grok","web-search","deep-research","search"],"license":"MIT","_id":"@dhicoc/dsh-codex-web-search-mcp@1.0.1","maintainers":[{"name":"dhicoc","email":"1964366186@qq.com"}],"homepage":"https://github.com/dhicoc/dsh-codex-web-search-mcp#readme","bugs":{"url":"https://github.com/dhicoc/dsh-codex-web-search-mcp/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"558ae32caf638452885c57eb23565222b3497bdc","tarball":"https://registry.npmjs.org/@dhicoc/dsh-codex-web-search-mcp/-/dsh-codex-web-search-mcp-1.0.1.tgz","fileCount":4,"integrity":"sha512-AgKDw/ZoQQbkCu3lpkBEdhaARmzcFUrRdXmLPSV9/xh3OCoudmLQTR5tQaUqF0uhft54FkHqAn3kHBXPxiChPg==","signatures":[{"sig":"MEUCIQCTzUKgvxK4MQWl1bqn7y1a+j1DJHVgItw1CMaP4CKtXgIgH+NYvTYO1kpn/GA/t5dSqXD9OZwF+7BSehvg/uSqtU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9897},"type":"module","gitHead":"89f26d2c50bbec470fd411f9da8278392139b218","_npmUser":{"name":"dhicoc","email":"1964366186@qq.com"},"repository":{"url":"git+https://github.com/dhicoc/dsh-codex-web-search-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"dsh plugin: register codex-web-search-mcp (model-independent OpenAI Codex / Grok web search & deep research MCP server) as a native dsh MCP tool set (mcp__codex-web-search__*).","directories":{},"_nodeVersion":"24.12.0","dependencies":{"codex-web-search-mcp":"^2.3.1","@deepseek-ai/dsh-mcp-client":"0.1.0-rc.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-codex-web-search-mcp_1.0.1_1786893533819_0.4697484319951606","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dhicoc/dsh-codex-web-search-mcp","version":"1.0.2","keywords":["dsh","dsh-plugin","mcp","codex","grok","web-search","deep-research","search"],"license":"MIT","_id":"@dhicoc/dsh-codex-web-search-mcp@1.0.2","maintainers":[{"name":"dhicoc","email":"1964366186@qq.com"}],"homepage":"https://github.com/dhicoc/dsh-codex-web-search-mcp#readme","bugs":{"url":"https://github.com/dhicoc/dsh-codex-web-search-mcp/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"5ec8a05a24c35762e289d8d060ab99a07f3f8c30","tarball":"https://registry.npmjs.org/@dhicoc/dsh-codex-web-search-mcp/-/dsh-codex-web-search-mcp-1.0.2.tgz","fileCount":5,"integrity":"sha512-sLDmuw3CaZW9AIFlQflJ/1bTM1Ux8eBubmYKBkMwqxSOJ1Ig2/A9y7KeLlymXTfEJHH+G9rIVkhXS5Ny9uNd/Q==","signatures":[{"sig":"MEQCIAWyoE8Pmvzg109BAMq4xMJQ9gVJ0HvGNOsktc/cALiBAiAT8BmsqbV7GXBIGALySgPRXIx0IAFPygBd2MOnPGcIGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10256},"main":"./index.js","type":"module","exports":"./index.js","gitHead":"391d9859e07fd6788b720d034b7588b2c60dadfa","_npmUser":{"name":"dhicoc","email":"1964366186@qq.com"},"repository":{"url":"git+https://github.com/dhicoc/dsh-codex-web-search-mcp.git","type":"git"},"_npmVersion":"11.7.0","description":"dsh plugin: register codex-web-search-mcp (model-independent OpenAI Codex / Grok web search & deep research MCP server) as a native dsh MCP tool set (mcp__codex-web-search__*).","directories":{},"_nodeVersion":"24.12.0","dependencies":{"codex-web-search-mcp":"^2.3.1","@deepseek-ai/dsh-mcp-client":"0.1.0-rc.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-codex-web-search-mcp_1.0.2_1786895743325_0.8508740725152513","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@dhicoc/dsh-codex-web-search-mcp@1.1.0","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"compatibility":{"dshReleases":{"0.1.7-rc.2":"compatible","0.2.0-rc.1":"compatible","0.2.0-rc.2":"compatible"}}},"bugs":{"url":"https://github.com/dhicoc/dsh-codex-web-search-mcp/issues"},"dist":{"shasum":"18023ba85dce305985157191f40e73addd738231","tarball":"https://registry.npmjs.org/@dhicoc/dsh-codex-web-search-mcp/-/dsh-codex-web-search-mcp-1.1.0.tgz","fileCount":6,"integrity":"sha512-5GU/19/DWRG36U02AFt5ZARm3qeM521xZ3hqcF5BBGGsvPyuy6B98spa9j7O2Iy2oHi8luwrjYKbS2/TbiJWtA==","signatures":[{"sig":"MEUCICKSzstyxCdEBc4YAsqHH24fO8QZgdg0Fiui6Qk7DyzeAiEA9wqI6SSV7XNf8YNCqE9LinZNEGRQndNdnKAVVmyj2js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFplOfPxyOEKeLYD+vX9kV5RJfpZSCpTASg6KLX1EwG9AiBWFHtkHLfBQIXIETBys0TtDma3dBrl3k+bq97xkzW4mA=="}],"unpackedSize":14674},"main":"./index.js","name":"@dhicoc/dsh-codex-web-search-mcp","type":"module","engines":{"node":">=20.0.0"},"exports":"./index.js","gitHead":"7d8328a2e0d10954ac4a15366c8fd18a3f4c7a30","license":"MIT","scripts":{"test":"node test.mjs"},"version":"1.1.0","_npmUser":{"name":"dhicoc","email":"1964366186@qq.com"},"homepage":"https://github.com/dhicoc/dsh-codex-web-search-mcp#readme","keywords":["dsh","dsh-plugin","mcp","codex","grok","web-search","deep-research","search"],"repository":{"url":"git+https://github.com/dhicoc/dsh-codex-web-search-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"dsh plugin: register codex-web-search-mcp (model-independent OpenAI Codex / Grok web search & deep research MCP server) as a native dsh MCP tool set (mcp__codex-web-search__*).","directories":{},"maintainers":[{"name":"dhicoc","email":"1964366186@qq.com"}],"_nodeVersion":"22.23.2","dependencies":{"codex-web-search-mcp":"^2.3.1","@deepseek-ai/dsh-mcp-client":"0.2.0-rc.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-codex-web-search-mcp_1.1.0_1790693971787_0.1028769084168406"}}},"time":{"created":"2026-08-16T13:19:14.659Z","modified":"2026-09-29T14:59:32.076Z","1.0.0":"2026-08-16T13:19:14.977Z","1.0.1":"2026-08-16T15:18:53.969Z","1.0.2":"2026-08-16T15:55:43.469Z","1.1.0":"2026-09-29T14:59:31.907Z"},"bugs":{"url":"https://github.com/dhicoc/dsh-codex-web-search-mcp/issues"},"license":"MIT","homepage":"https://github.com/dhicoc/dsh-codex-web-search-mcp#readme","keywords":["dsh","dsh-plugin","mcp","codex","grok","web-search","deep-research","search"],"repository":{"url":"git+https://github.com/dhicoc/dsh-codex-web-search-mcp.git","type":"git"},"description":"dsh plugin: register codex-web-search-mcp (model-independent OpenAI Codex / Grok web search & deep research MCP server) as a native dsh MCP tool set (mcp__codex-web-search__*).","maintainers":[{"name":"dhicoc","email":"1964366186@qq.com"}],"readme":"# dsh-codex-web-search-mcp\n[![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com)\n\n中文 | [English](README.en.md)\n\n把 [codex-web-search-mcp](https://github.com/dhicoc/codex-web-search-mcp)（模型无关的\nOpenAI Codex / Grok 联网搜索与深度研究 MCP server，Rust 独立二进制）接进\n[DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) 的\n**一键插件**。\n\n安装并重启 `dsh web` 后，3 个工具会以 dsh 原生 MCP 工具形式出现：\n\n| 工具 | dsh 内名称 |\n| --- | --- |\n| 单步搜索 | `mcp__codex-web-search__codex_web_search` |\n| 多步深度研究 | `mcp__codex-web-search__codex_web_research` |\n| 抓正文 | `mcp__codex-web-search__web_fetch` |\n\n> 与普通 Claude Code / Cursor 的 MCP 接入不同——本插件**不依赖任何模型厂商**，\n> 搜索走 Codex 独立搜索端点，换 Gemini / OpenRouter / 本地模型都不受影响。\n\n---\n\n## 前置条件（重要）\n\n本插件依赖以下已发布到 npm 的包来分发跨平台二进制：\n\n- `@dhicoc/dsh-codex-web-search-mcp`：本 dsh 插件；\n- `codex-web-search-mcp`：跨平台命令及其平台二进制依赖；\n- `@dhicoc/codex-web-search-mcp-*`：各平台的预编译二进制包。\n\n正常使用时不需要手动安装这些依赖，`dsh plugin` 会自动解析并安装它们。\n二进制分发包源码在\n[`dhicoc/codex-web-search-mcp`](https://github.com/dhicoc/codex-web-search-mcp)，\n发布维护流程见下方「发布二进制包」。\n\n---\n\n## 安装\n\n### npm 发布版（推荐）\n\n```bash\n# 安装已发布的 npm 版本，并注册到 web profile\ndsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp\n\n# 重启 dsh web 生效（Web bundle 无 HMR，必须重启进程）\ndsh web\n```\n\n安装后验证：\n\n```bash\ndsh --profile web --dump-config\n```\n\n输出中应出现 `mcp-codex-web-search`，并包含 `serverName: codex-web-search` 和\n`command: codex-web-search-mcp`。在会话中即可让 agent 调用\n`codex_web_search` / `codex_web_research` / `web_fetch`。\n\n> 如果默认 npm 镜像提示 `404 Not Found`，通常表示镜像尚未同步新包。可临时指定\n> npm 官方 registry 重试：\n>\n> ```bash\n> dsh plugin --profile web add @dhicoc/dsh-codex-web-search-mcp --registry=https://registry.npmjs.org\n> ```\n\n### 从 GitHub 安装（开发/预发布）\n\n只有在测试仓库中尚未发布的提交时才使用 GitHub 源：\n\n```bash\ndsh plugin --profile web add github:dhicoc/dsh-codex-web-search-mcp\ndsh web\n```\n\n### 凭证（二选一）\n\n1. **推荐**：先 `codex login`（OAuth 写 `~/.codex/auth.json`），server 自动读取，无需任何配置。\n2. **免 auth.json**：设环境变量 `CODEX_ACCESS_TOKEN`（可选 `CODEX_ACCOUNT_ID`）。\n   在 `cordis.patch.yml` 里取消 `env:` 注释，用 dsh 的 `!!js process.env.*` 引用，\n   密钥不落盘。\n\n没有有效凭证时，3 个工具会返回清晰的中文报错，而不是崩溃。\n\n---\n\n## 本地测试（未发布 npm 包时）\n\n如果需要测试本地源码，可在 web profile 内使用 `link:` 指向本插件仓库的绝对路径：\n\n```bash\ndsh plugin --profile web add link:<本插件仓库绝对路径>\ndsh web\n```\n\n如果本插件依赖的 `codex-web-search-mcp` 也尚未发布，可先在其仓库执行\n`npm link`，再在本插件仓库执行 `npm link codex-web-search-mcp`，最后安装本插件的\n`link:` 版本。普通用户不需要这些步骤，应使用上面的 npm 发布版安装方式。\n\n---\n\n## 卸载与还原\n\n```bash\ndsh plugin --profile web remove @dhicoc/dsh-codex-web-search-mcp\n```\n\n删除插件即移除 `mcp-codex-web-search` 这一行，dsh 不再加载该 MCP server，\n不影响其它能力。\n\n---\n\n## 降级：不用插件，直接用 dsh 原生 MCP 配置\n\ndsh 内置 `@deepseek-ai/dsh-mcp-client` 本就会读 `.mcp.json` / `~/.dsh/mcp.json`。\n如果你不想走插件，也可以手动把下面这段写进任一 MCP 配置文件（效果等价）：\n\n```json\n{\n  \"mcpServers\": {\n    \"codex-web-search\": {\n      \"command\": \"codex-web-search-mcp\"\n    }\n  }\n}\n```\n\n或在 `~/.dsh/profiles/web/cordis.patch.yml` 追加：\n\n```yaml\n- insert:\n    - id: mcp-codex-web-search\n      name: '@deepseek-ai/dsh-mcp-client'\n      config:\n        serverName: codex-web-search\n        transport: stdio\n        command: codex-web-search-mcp\n```\n\n---\n\n## 发布二进制包（维护者）\n\n> 二进制需在 `dhicoc/codex-web-search-mcp` 仓库根的 `npm/platforms/<平台>/bin/` 下就位\n> （统一名 `bin/codex-web-search-mcp[.exe]`，可从 Releases v2.3.1 下载）。再按依赖顺序发布：\n\n1. 依次发布 5 个平台子包（在 `dhicoc/codex-web-search-mcp` 仓库根执行）：\n\n   ```bash\n   cd npm/platforms/win32-x64 && npm publish --access public\n   cd ../win32-arm64 && npm publish --access public\n   cd ../darwin-universal && npm publish --access public\n   cd ../linux-x64 && npm publish --access public\n   cd ../linux-arm64 && npm publish --access public\n   ```\n\n2. 再发布 umbrella 包（带 bin shim + optionalDependencies）：\n\n   ```bash\n   cd ../.. && npm publish --access public\n   ```\n\n3. 最后在本插件仓库发布本插件：\n\n   ```bash\n   npm publish --access public\n   ```\n\n4. 给仓库打 `dsh-plugin` topic，自动被 awesome-dsh-plugins 收录。\n\n---\n\n## 工作原理\n\n- 本仓库是一个**配置型 Cordis bundle**：`cordis.patch.yml` 借用 dsh 自带的\n  `@deepseek-ai/dsh-mcp-client`，用一行 `config` 把它实例化成指向\n  `codex-web-search-mcp` 二进制的 stdio server（`serverName: codex-web-search`）。\n- `codex-web-search-mcp` 依赖通过 `optionalDependencies` 按当前平台拉取对应\n  预编译二进制包，并暴露 `bin/codex-web-search-mcp` 命令（一个轻量 JS shim，\n  运行时定位已安装的平台二进制并 spawn，**无需 postinstall**，规避 pnpm\n  `allowBuilds` 墙）。\n\n## 许可证\n\nMIT（与上游 codex-web-search-mcp 一致）。\n","readmeFilename":"README.md"}