ccreach-dsh-web-search:在 DSH 里用 CCReach 做能力检索

前言

在 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 并不表示任务已成功执行,未知的价格与权限条件会在每条结果的元数据中显式保留。

这是什么

插件不调用模型 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、工作流等能力目录,并阅读来源与「待核实」类条件,而不是直接拿到合成答案的开发者。

注意:

  1. 插件以当前 dsh 进程权限运行;安装前请自行审阅 GitHub 源码 与 MIT 许可证。
  2. DSH 与 Cordis 相关 peer 依赖版本与 README 开发依赖一致时更易对齐;生产环境以你实际安装的 DSH 版本为准。
  3. 社区目录分类为「工作流」,与 CCReach 对 kind: workflow 等过滤能力一致;星标等统计以目录页实时数据为准。

结尾

ccreach-dsh-web-search 把 CCReach 的能力检索接到 DSH 的 WebSearch 抽象上:默认匿名、可选 API Key,配置层可筛类别与协议,结果强调证据与访问条件而非替 Agent 执行。需要安装步骤与字段映射时,以 GitHub README 为准;在社区浏览插件信息可打开 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye