前言¶
在 DeepSeek Harness(DSH)里给智能体接「网页搜索」时,常见做法是走通用搜索引擎,拿到的是页面摘要或生成式答案。若你的目标是找可接入的数据源、工具、API、MCP 服务、Skill 或工作流,并需要带来源证据与访问条件说明,通用搜索往往对不上需求。
ccreach-dsh-web-search 由维护者 tyjean428 提供,在 DSH 的 web profile 中注册 WebSearchProvider.id = "ccreach",通过 dsh.bundle 补丁切换搜索提供方。它对接 CCReach 的能力检索 API,返回的是能力候选及其提供方入口信息,由上层 Agent 自行决定是否、以及如何调用;目录项、executable: true 或可访问的文档 URL 并不表示任务已成功执行,未知的价格与权限条件会在每条结果的元数据中显式保留。
这是什么¶
- 定位:CCReach capability-search provider for DeepSeek Harness。
- 维护者:tyjean428。
- 仓库:github.com/tyjean428/ccreach-dsh-web-search
- 社区目录:skillhub.cn 插件页(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
- 当前包版本(package.json):
0.1.0,许可证 MIT。
插件不调用模型 API;匿名访问为默认,无需 CCReach API Key 即可使用基础检索。
核心功能¶
与 DSH WebSearch 的集成¶
安装后,补丁会将 web profile 中对应行的完整配置替换为 searchProvider: ccreach,并插入 web-search-ccreach 行;其他 provider 仍保持挂载。后续 profile / home / CLI 补丁可覆盖任一行;若自定义完整 web 配置,需自行保留原有的 fetchProvider 等设置。
检索语义¶
- 一次搜索对应一次对 CCReach 的 GET 请求;
request.query映射为查询参数q(含 Unicode 与保留字符的 URL 编码)。 - 当前 DSH 的
WebSearchRequest仅含query与maxResults,不支持按次传入分页或过滤器;过滤器在 provider 配置层设置,不会新增面向模型的工具参数。 - 结果映射为 Harness 的
WebSearchSource:access.docs_url或sources[0].url作为url;name→title;summary作为snippet首行;资源类型、协议、费用与认证状态、executable、missing_conditions等写入snippet第二行并标注为 CCReach 能力元数据。access.endpoint不会替代文档 URL,适配器也不会主动调用 endpoint。 WebSearchResult.content不填充;缺 URL 的结果会被过滤,再按请求上限截断。
凭证(可选)¶
默认匿名访问。若配置 Key,请求头会带 Authorization: Bearer <key>,供后续需认证能力使用;不会因此创建账号。
Harness 通常通过官方 credentials 服务解析:继承的环境变量 CCREACH_API_KEY 优先于 $DSH_HOME/.credentials.yaml(常见路径 ~/.dsh/.credentials.yaml)。也可在启动环境中设置:
export CCREACH_API_KEY='your-api-key'
凭证文件示例:
CCREACH_API_KEY: your-api-key
POSIX 下建议 chmod 600 ~/.dsh/.credentials.yaml;勿把密钥写进 profile 补丁或 Git。配置项 requireApiKey 默认为 false,仅在未来显式开启认证模式时才会因缺凭证而拒绝请求。
安装与启用¶
环境要求(README):Node.js ^22.19.0 || >=24.0.0,已安装 DeepSeek Harness 与 pnpm;已在 DSH 0.1.0-rc.6 上验证(DSH 仍为开发者预览,API 可能变化)。
包发布到 npm 后,在 web profile 安装:
dsh plugin --profile web add ccreach-dsh-web-search
dsh --profile web --dump-config
dsh --profile web
从本地源码目录安装时,需先构建再指向目录(README 示例):
cd ccreach-dsh-web-search
npm ci
npm run build
cd ..
dsh plugin --profile web add ./ccreach-dsh-web-search
卸载并恢复先前的 provider 选择:
dsh plugin --profile web remove ccreach-dsh-web-search
配置示例¶
可在较新的 profile 补丁里配置 web-search-ccreach 行,例如:
- id: web-search-ccreach
config:
baseURL: https://ccreach.com
category: data
kind: tool
protocol: http
free_only: false
executable_only: true
count: 10
常用字段(节选,默认值以 README 为准):
| 配置项 | 默认 | 含义 |
|---|---|---|
baseURL |
https://ccreach.com |
API 根地址,请求 api/search 或 api/meta |
category |
省略 | all/information/data/development/office/media/automation/research/agents 等 |
kind |
省略 | all/document/data_source/tool/agent/skill/workflow 等 |
protocol |
省略 | all/web/http/mcp/a2a/local 等 |
free_only |
省略 | 布尔,原样传给后端;未知费用不计为免费 |
executable_only |
省略 | 布尔,原样传给后端;不证明执行成功 |
count |
10 |
默认 limit,1–50;Harness request.maxResults 可覆盖,上限 50 |
apiKeyEnv |
CCREACH_API_KEY |
凭证环境变量名 |
典型用法与响应形态¶
README 给出了 2026-10-09 匿名请求 GET https://ccreach.com/api/search?q=weather&limit=1 的摘录。返回条目包含名称、摘要、resource_kind、protocols、executable、费用与认证状态、sources 与 access.docs_url、missing_conditions 等。映射后 Agent 看到的是带标题、URL 与两行 snippet(摘要 + 元数据)的 citeable 来源列表,便于下一步打开文档或评估接入条件。
完整字段示例见仓库内 examples/ccreach-response.json 与 examples/mapped-result.json。
适用场景与注意¶
适合:在 DSH web profile 下,希望 Agent 通过统一 WebSearch 接口检索 MCP 服务、工具、Skill、工作流等能力目录,并阅读来源与「待核实」类条件,而不是直接拿到合成答案的开发者。
注意:
- 插件以当前 dsh 进程权限运行;安装前请自行审阅 GitHub 源码 与 MIT 许可证。
- DSH 与 Cordis 相关 peer 依赖版本与 README 开发依赖一致时更易对齐;生产环境以你实际安装的 DSH 版本为准。
- 社区目录分类为「工作流」,与 CCReach 对
kind: workflow等过滤能力一致;星标等统计以目录页实时数据为准。
结尾¶
ccreach-dsh-web-search 把 CCReach 的能力检索接到 DSH 的 WebSearch 抽象上:默认匿名、可选 API Key,配置层可筛类别与协议,结果强调证据与访问条件而非替 Agent 执行。需要安装步骤与字段映射时,以 GitHub README 为准;在社区浏览插件信息可打开 SkillHub 目录页。