dsh-web-access

by nexusagentx

工具与能力github收录于 08-23

DeepSeek Harness 的网页搜索、URL 抽取与视频/PDF/GitHub 内容理解

Web search, URL extraction, and video/PDF/GitHub understanding for DeepSeek Harness.

安装

dsh plugin --profile web add github:nexusagentx/dsh-web-access

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

Web search, URL extraction, and video/PDF/GitHub understanding for DeepSeek Harness.

English | 中文

This plugin ports the pi-web-access product onto dsh:

  • web_search / web_access_search with 20+ providers and fallback
  • fetch_content for pages, GitHub clones, PDFs, YouTube, and local video
  • get_search_content for stored slices and passage find
  • source_check for claim verification
  • optional ctx.web providers so official web_search / web_fetch can use the same backends
  • /websearch, /curator, /search, /google-account, /webaccess
  • Web UI overlay registered on the official shell.overlay slot via dsh.client (falls back to a script inject if the client graph misses the package)
  • Official card: 'web' search/fetch cards, background-fetch notices, and image attachments when ctx.attachments is present

It is an independent plugin. It is not affiliated with DeepSeek AI.

Install

dsh plugin --profile web add dsh-web-access

If the profile already has official @deepseek-ai/dsh-tool-web web_search, this plugin registers as web_access_search instead of colliding. Set replaceOfficialSearch: true or disable official search to keep the web_search name.

- id: dsh-web-access
  name: dsh-web-access
  config:
    replaceOfficialSearch: false
    registerProviders: true

To point official tools at this backend:

- id: web
  name: '@deepseek-ai/dsh-web'
  config:
    searchProvider: web-access
    fetchProvider: web-access

Config

Reads web-access.json or the older web-search.json from:

  1. $DSH_WEB_ACCESS_DIR
  2. $PI_CODING_AGENT_DIR (so existing pi-web-access configs just work)
  3. $DSH_HOME
  4. $XDG_CONFIG_HOME/dsh or $XDG_CONFIG_HOME/pi
  5. ~/.dsh or ~/.pi

A zero-config Exa / DuckDuckGo / SearXNG setup works the same way as pi-web-access. Add provider keys for more backends.

Tools

web_search({ query: "TypeScript 5.9 rewriteRelativeImportExtensions" })
web_search({ queries: ["query 1", "query 2"], workflow: "auto-summary" })
fetch_content({ url: "https://docs.example.com/guide" })
fetch_content({ url: "https://github.com/owner/repo" })
fetch_content({ url: "https://youtube.com/watch?v=abc", prompt: "What libraries are shown?" })
get_search_content({ responseId: "abc123", urlIndex: 0 })
source_check({ claim: "The API supports streaming responses" })

Default workflow is auto-summary (generate a summary without opening the curator; deterministic if no summary model is available). summary-review opens the HTTP curator and prints a URL. If the curator cannot auto-open a browser, open the printed URL manually.

Provider keys such as jinaApiKey / JINA_API_KEY enable Jina Search (jina). Config example: "summaryGenerationDeadlineMs": 30000. summaryGenerationDeadlineMs is capped at 600000.

License

MIT

Inspired by pi-web-access (MIT). See NOTICE.


中文

给 DeepSeek Harness 用的联网插件:多提供方搜索回退、带 SSRF 的抓取,以及 GitHub / PDF / YouTube 提取。

dsh plugin --profile web add dsh-web-access

官方已经挂了 web_search 时,本插件会改用 web_access_search,避免重名。现有 ~/.pi/web-search.json 可以直接接着用。

原始 README: https://github.com/NexusAgentX/dsh-web-access/blob/main/README.md ↗