{"_id":"@anspire-ai/ai-search-dsh-plugin","_rev":"4-68a54e8eb3f21254570216b983561189","name":"@anspire-ai/ai-search-dsh-plugin","dist-tags":{"latest":"0.5.2"},"versions":{"0.4.1":{"name":"@anspire-ai/ai-search-dsh-plugin","version":"0.4.1","keywords":["dsh-plugin","deepseek-harness","ai-search","search","anspire"],"license":"MIT","_id":"@anspire-ai/ai-search-dsh-plugin@0.4.1","maintainers":[{"name":"michaelyma","email":"myg133@hotmail.com"}],"homepage":"https://github.com/myg133/anspire-ai-search#readme","bugs":{"url":"https://github.com/myg133/anspire-ai-search/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"2d622912b06535853e2c813203b687a7cc9f4e52","tarball":"https://registry.npmjs.org/@anspire-ai/ai-search-dsh-plugin/-/ai-search-dsh-plugin-0.4.1.tgz","fileCount":8,"integrity":"sha512-J/R3YA7Sreju7zTChwFp/5yfOBUjYnIn/XLnsr/3xg1XBqNnZ35TxfD/+m7Gq6zkA+73JCQ+hd0kDPDjDj2T9w==","signatures":[{"sig":"MEYCIQDtC153NbzK5JQpn3MtdPCRZGseWi744SY/4K2m4F3pegIhAMZBfxXwxLEpOE2+BWe49uixw8VaQYLJg6Uqyy+kTP1t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49451},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"gitHead":"1b31116547f8e94942a24f6416d4f99648fb545d","_npmUser":{"name":"michaelyma","email":"myg133@hotmail.com"},"repository":{"url":"git+https://github.com/myg133/anspire-ai-search.git","type":"git"},"_npmVersion":"11.9.0","description":"Anspire AI Search plugin for DeepSeek Harness (dsh) — 全网搜索 + 垂域结构化数据","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7"},"_npmOperationalInternal":{"tmp":"tmp/ai-search-dsh-plugin_0.4.1_1787124877654_0.40408056396308645","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anspire-ai/ai-search-dsh-plugin","version":"0.5.0","keywords":["dsh-plugin","deepseek-harness","ai-search","search","anspire"],"license":"MIT","_id":"@anspire-ai/ai-search-dsh-plugin@0.5.0","maintainers":[{"name":"michaelyma","email":"myg133@hotmail.com"}],"homepage":"https://github.com/myg133/anspire-ai-search#readme","bugs":{"url":"https://github.com/myg133/anspire-ai-search/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"e27b07c875810a7e02c9f2b59393c152fa25b662","tarball":"https://registry.npmjs.org/@anspire-ai/ai-search-dsh-plugin/-/ai-search-dsh-plugin-0.5.0.tgz","fileCount":8,"integrity":"sha512-5PlGIWBxUXceNw7fI6IVtgdVU9qLFtz/0NVmV/WH2sPk7NP4NacHg7qAEiOxDDwVa4CbV/hwYC6DReBypAFSVg==","signatures":[{"sig":"MEUCIQC6Bv6AFBu6FG+qQcT9a5u2j22I1Vf+sbGCQI4WPDwUqQIgX5Nxe16kIo7t4u51KkgiIH4WJ6HfK3ZyELaht3hS/A4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anspire-ai%2fai-search-dsh-plugin@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49981},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"gitHead":"7b0a4abaca418b1a003013f51be26aac2c44cc6e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed23ea1-d816-42f1-8db6-1e07df482b4e"}},"repository":{"url":"git+https://github.com/myg133/anspire-ai-search.git","type":"git"},"_npmVersion":"12.0.2","description":"Anspire AI Search plugin for DeepSeek Harness (dsh) — 全网搜索 + 垂域结构化数据","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7"},"_npmOperationalInternal":{"tmp":"tmp/ai-search-dsh-plugin_0.5.0_1787125302133_0.8958470286961779","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@anspire-ai/ai-search-dsh-plugin","version":"0.5.1","keywords":["dsh-plugin","deepseek-harness","ai-search","search","anspire"],"license":"MIT","_id":"@anspire-ai/ai-search-dsh-plugin@0.5.1","maintainers":[{"name":"michaelyma","email":"myg133@hotmail.com"}],"homepage":"https://github.com/myg133/anspire-ai-search#readme","bugs":{"url":"https://github.com/myg133/anspire-ai-search/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"078053b03f9c740c9995438d6c444f0b2860e024","tarball":"https://registry.npmjs.org/@anspire-ai/ai-search-dsh-plugin/-/ai-search-dsh-plugin-0.5.1.tgz","fileCount":8,"integrity":"sha512-cqbXGGaqjXDko9ZgVicbqvdDR9r3IElul2PDAlOhx4FVB8UrgqAb2enr4yVX2rczfGjOab2/daT4mGhorPEKyw==","signatures":[{"sig":"MEQCIAvYJxN+Lg1p1csxYnr3AdBxhLFNT2kqRi88NKPYfgZ+AiBBOHeV9R7cbYbUaFwnwCjeoGMUtjMAqf7HRwivzaA4MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anspire-ai%2fai-search-dsh-plugin@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49721},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"gitHead":"29f23f69879db5a3ef1f0142201409d557086f40","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed23ea1-d816-42f1-8db6-1e07df482b4e"}},"repository":{"url":"git+https://github.com/myg133/anspire-ai-search.git","type":"git"},"_npmVersion":"12.0.2","description":"Anspire AI Search plugin for DeepSeek Harness (dsh) — 全网搜索 + 垂域结构化数据","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7"},"_npmOperationalInternal":{"tmp":"tmp/ai-search-dsh-plugin_0.5.1_1787144268250_0.015418821554174178","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@anspire-ai/ai-search-dsh-plugin","version":"0.5.2","description":"Anspire AI Search plugin for DeepSeek Harness (dsh) — 全网搜索 + 垂域结构化数据","type":"module","main":"index.js","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Anspire-AI/ai-search-dsh.git"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"keywords":["dsh-plugin","deepseek-harness","ai-search","search","anspire"],"engines":{"node":">=18"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings"]}},"gitHead":"b5b77616409258a70f05513208676b726d7e668c","_id":"@anspire-ai/ai-search-dsh-plugin@0.5.2","bugs":{"url":"https://github.com/Anspire-AI/ai-search-dsh/issues"},"homepage":"https://github.com/Anspire-AI/ai-search-dsh#readme","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-bKT39ikkN/F7bojoiwhgxYfxyA5xFi6Qd1KTigq7XOmBG1NOw4RrDGhuKukyLf5+5NurtHterKJjCG5fqwkDNA==","shasum":"2f365c36b769877454256aa65d43297f5e197b65","tarball":"https://registry.npmjs.org/@anspire-ai/ai-search-dsh-plugin/-/ai-search-dsh-plugin-0.5.2.tgz","fileCount":8,"unpackedSize":49721,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anspire-ai%2fai-search-dsh-plugin@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDg6U9FCA4Pc0hOdN3nN/4CmD11IOwz/Rp3vo2CvfoYqwIgGDBujDje5hX8VsCMQlY4qVDrLwKDJGRtTPGYEt3z+oI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:76abdef4-ada1-45b9-8026-c5e743c3c438"}},"directories":{},"maintainers":[{"name":"michaelyma","email":"myg133@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-search-dsh-plugin_0.5.2_1787154113377_0.6728176995996125"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-19T07:34:37.487Z","modified":"2026-08-19T15:41:53.900Z","0.4.1":"2026-08-19T07:34:37.802Z","0.5.0":"2026-08-19T07:41:42.290Z","0.5.1":"2026-08-19T12:57:48.392Z","0.5.2":"2026-08-19T15:41:53.531Z"},"bugs":{"url":"https://github.com/Anspire-AI/ai-search-dsh/issues"},"license":"MIT","homepage":"https://github.com/Anspire-AI/ai-search-dsh#readme","keywords":["dsh-plugin","deepseek-harness","ai-search","search","anspire"],"repository":{"type":"git","url":"git+https://github.com/Anspire-AI/ai-search-dsh.git"},"description":"Anspire AI Search plugin for DeepSeek Harness (dsh) — 全网搜索 + 垂域结构化数据","maintainers":[{"name":"michaelyma","email":"myg133@hotmail.com"}],"readme":"# @anspire-ai/ai-search-dsh-plugin\n\nAnspire AI Search 的 [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) 插件。\n\n为 agent 提供全网搜索能力：网页 / 图片 / 视频检索 + 垂域结构化数据（天气、股票、汇率、油价、万年历等），作为回答实时性问题的依据。## 安装\n\n两种方式任选其一：\n\n**方式一：npm（推荐，版本即发布 tag）**\n\n```bash\ndsh plugin --profile <name> add @anspire-ai/ai-search-dsh-plugin\n```\n\n**方式二：GitHub（固定 commit，获取未发布的改动）**\n\n```bash\ndsh plugin --profile <name> add github:Anspire-AI/ai-search-dsh#develop\n# 或固定到具体提交：github:Anspire-AI/ai-search-dsh#<sha>\n```\n\n> 两种方式的插件功能完全一致；npm 方式随 `v*` tag 自动发布，GitHub 方式可吃到 develop 分支的最新改动。\n> 本插件为纯 JavaScript（无构建步骤），GitHub 安装无需在 `pnpm-workspace.yaml` 中放行构建。\n\n**从旧包名升级**（曾以 `anspire-ai-search-dsh-plugin` 无 scope 名义安装过）：先 `dsh plugin --profile <name> remove anspire-ai-search-dsh-plugin` 再按上述方式安装；已保存的配置（settings.yaml）不受影响。\n\n## 配置\n\n### 方式一：UI 插件设置页（推荐）\n\n启动 dsh 后打开 **Settings → Plugins → anspire-ai-search**，直接在页面配置：\n\n| 配置项 | 说明 |\n|--------|------|\n| `region` | 服务区域（下拉二选一）：`ai-search-cn`（国内，默认）/ `ai-search-global`（海外） |\n| `apiKey` | Anspire API KEY，密钥框输入、自动脱敏；区域下方提供「获取 anspire-ai-search api-key」链接，点击即可前往申请 |\n| `timeoutMs` | 请求超时（毫秒），默认 30000 |\n| `defaultTopK` | 默认返回条数，默认 10 |\n\n**服务区域**：国内与海外为独立服务，API KEY 不通用。区域与申请入口的对应关系见插件设置页内的链接。\n\n**修改即时生效**（live），无需重启 dsh。配置持久化在 dsh 的 `settings.yaml`，由 dsh 统一管理。\n\n> 卡片在「插件配置」tab 中，与终端/agent 循环/网页搜索并列。展开卡片即可编辑，支持「已覆盖」标记与恢复默认。API KEY 为密钥框输入（不回显）。\n\n### 方式二：环境变量（兜底/CI 场景）\n\n```bash\nexport ANSPIRE_API_KEY=\"你的 key\"   # 申请入口见插件设置页链接\n```\n\n兼容的环境变量名：`ANSPIRE_API_KEY` > `ANPSIRE_API_KEY` > `DSP_ANSPIRE_KEY`（按此顺序取第一个非空）。\n\n优先级：**UI 设置页 > 环境变量**。\n\n### 进阶：patch 行覆盖（部署级默认值）\n\n默认配置（`index.js` schema 默认值）：\n\n```js\n{\n  region: 'ai-search-cn',   // 服务区域，决定请求端点\n  timeoutMs: 30_000,\n  defaultTopK: 10,\n}\n```\n\n在 profile 為 `cordis.patch.yml` 中覆盖（按 id 定位本插件插入的行；`config` 是整体替换，需重述全部键）：\n\n```yaml\n# profile 的 cordis.patch.yml（~/.dsh/profiles/<name>/cordis.patch.yml）\n- id: anspire-ai-search\n  config:\n    region: 'ai-search-global'\n    timeoutMs: 20000\n    defaultTopK: 20\n```\n\n## 提供的工具\n\n### `anspire_search`\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `query` | string | ✅ | 搜索词，≤64 字符 |\n| `topK` | number | | 返回条数 10/20/30/40/50，默认 10 |\n| `insite` | string | | 限定站点，逗号分隔，最多 20 个 |\n| `fromTime` | string | | 起始时间 `2025-01-01 00:00:00` |\n| `toTime` | string | | 结束时间 |\n| `searchType` | string | | `web`（默认）/ `image` / `video` |\n| `regionMode` | number | | `0` 国内（默认）/ `1` 海外 / `2` 混合 |\n\n输出为编号列表文本：标题 / 摘要 / 链接 / 日期 / 相关度。垂类词（如「北京天气」）自动返回结构化垂域数据。\n\n## 开发\n\n```bash\ngit clone git@github.com:Anspire-AI/ai-search-dsh.git\ncd anspire-ai-search/code        # develop 分支即 bundle 根\nnode --test 'test/*.test.js'     # 运行测试（Node ≥18，零依赖）\n```\n\n### 发布（npm）\n\n打 tag 自动发布（CI：测试 → 版本同步自 tag → pack 冒烟 → OIDC 发布）：\n\n```bash\ngit tag v0.5.0 && git push origin v0.5.0\n```\n\n前置（一次性）：npm org `@anspire-ai` 的 Trusted Publisher 已配置指向本仓库的 `publish-npm.yml`。\n\n### bundle 结构说明\n\n- `cordis.patch.yml` 用 `- insert: [...]` 块向 entry 列表**追加**插件行。不要写成裸 `- id:` 行——那是「覆盖已存在 entry」语义，目标不存在时整条 patch 会被 loader 静默跳过（`patch: entry not found`），插件不加载。\n- `index.js` 不导出 `Config`。cordis loader 要求 `Config[\"~standard\"].validate`（Standard Schema 接口），普通对象会 TypeError。配置直接经 patch 行的 `config` 键流入 `apply(ctx, config)`，未提供时用内置默认值。\n\n## License\n\nMIT\n","readmeFilename":"README.md"}