Skip to content

v0.1.0 — dsh-tinyfish-search 首发 / Initial Release

Choose a tag to compare

@maxwell-feng maxwell-feng released this 30 Aug 13:57
· 11 commits to main since this release

v0.1.0 — dsh-tinyfish-search 首发 / Initial Release

中文

TinyFish 搜索后端插件:把 DeepSeek Harness 内置的 web_search 工具接入 TinyFish Search API。

  • 在 web 能力缝(ctx.web)上注册 TinyFish 网页搜索提供方(ID:tinyfish),内置 web_search 改为调用 GET https://api.search.tinyfish.ai,不再走 DeepSeek 的 Anthropic 兼容端点。
  • 每次搜索不消耗一次模型调用——纯 REST GET 请求,携带 X-API-Key 头;TinyFish Search 在任意钱包余额下免费。
  • 结果归一化(title / snippet / url / date → WebSearchSource),按 URL 去重,并在请求层提前遵守 maxResults 上限。
  • 配置(bundle patch 层):apiKey(secret 角色)、apiKeyEnv(默认 TINYFISH_API_KEY)、baseURL(默认 TinyFish 官方端点)。
  • 错误映射遵循缝接口词表:WEB_PROVIDER_CREDENTIAL_MISSING / WEB_PROVIDER_ERROR / WEB_ABORTED
  • 以可安装 bundle 发布(dsh.bundle + cordis.patch.yml):dsh plugin --profile web add dsh-tinyfish-search
  • 8 项单元测试全部通过(node:test,mock fetch);真实密钥端到端实测通过。
  • 安装与配置详见 README(中英双语)。

已知限制

  • 目前只透出缝接口的 query / maxResults;TinyFish 的扩展参数(locationlanguagedomain_typerecency_minutes 等)暂未透传。

English

A TinyFish-backed search provider plugin for DeepSeek Harness: reroutes the built-in web_search tool to the TinyFish Search API.

  • Registers a TinyFish web search provider (ID: tinyfish) on the web capability seam (ctx.web); the built-in web_search now calls GET https://api.search.tinyfish.ai instead of the DeepSeek Anthropic-compatible endpoint.
  • No LLM turn is consumed per search — a plain REST GET with the X-API-Key header; TinyFish Search is free at any wallet balance.
  • Normalizes results (title / snippet / url / date → WebSearchSource), dedupes by URL, and honors maxResults early at the request layer.
  • Config (bundle patch layer): apiKey (secret role), apiKeyEnv (default TINYFISH_API_KEY), baseURL (default TinyFish canonical endpoint).
  • Errors follow the seam vocabulary: WEB_PROVIDER_CREDENTIAL_MISSING / WEB_PROVIDER_ERROR / WEB_ABORTED.
  • Ships as an installable bundle (dsh.bundle + cordis.patch.yml): dsh plugin --profile web add dsh-tinyfish-search
  • All 8 unit tests pass (node:test, mocked fetch); live end-to-end search verified with a real key.
  • Installation and configuration: see the README (bilingual).

Known limitations

  • Only the seam's query / maxResults surface is exposed so far; TinyFish extras (location, language, domain_type, recency_minutes, …) are not forwarded yet.