dsh-web-access
Agent 与会话 活跃维护

dsh-web-access

NexusAgentX/dsh-web-access

支持多供应商网页内容搜索抓取,支持在ctx.web获取数据,可自动提取GitHub仓库、PDF文档、YouTube视频的核心内容,拓展AI应用网页能力,配置简单开箱即用。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
589 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:NexusAgentX/dsh-web-access
git clone https://github.com/NexusAgentX/dsh-web-access.git
git clone git@github.com:NexusAgentX/dsh-web-access.git
README.md main

dsh-web-access

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 可以直接接着用。