dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
HubaKing/dsh-community-plugins
DeepSeek Harness (dsh) plugin: registers a global skill that teaches agents how to discover, evaluate and install community plugins from the GitHub dsh-plugin topic, dshmarket and npm. | DSH 社区插件生态指南 skill:让 agent 学会发现、评估、安装社区插件。
PROJECT TOPICS
PROJECT README
A DeepSeek Harness (dsh) plugin that registers a global skill for discovering, evaluating and installing community plugins — from the GitHub
dsh-plugintopic, the dshmarket GUI, and npm.
Looking for a DeepSeek Harness plugin to install? This bundle adds the dsh-community-plugins skill to every agent session: agents learn which marketplace tools are already installed (market_search, dshmarket), how to search the dsh-plugin ecosystem, how to vet a plugin before installing it, and how to install via dsh plugin (npm, GitHub, tarball, or link: development mode).
DeepSeek Harness plugins provide capabilities through two complementary mechanisms: Tools and Skills.
Tool (e.g. market_search) |
Skill (registered by this plugin) | |
|---|---|---|
| Nature | Capability channel: callable functions | Context knowledge: when, why, and how to call |
| Installed by | dsh-plugin-marketplace etc. |
This plugin |
| Effect alone | Tool exists, but the agent does not recognize it | No marketplace interface to call |
Installing a marketplace tool alone is not enough. An LLM agent's behavior is driven by context knowledge:
web_search has an intuitive description and is any model's default generic approach;market_search is a DSH-specific tool. Without this skill, the agent does not know it exists, does not associate it with installing plugins, and does not understand the local profile layout, the bundle mechanism, the vetting workflow, or the restart requirement.Without this plugin, agents fall back to generic web search. With it, every new session's agent automatically knows which marketplaces and tools are installed, which structured channels to query first, how to vet sources, how to install through the official mechanism, and how to verify the result. In practice, on the same environment, agents relied on web search before the skill was active, and invoked market_search directly with accurate install commands on their first response afterwards.
dsh-community-plugins appears in every session's <available_skills> catalogdsh-plugin topic, npm, dshmarket registry snapshotdsh plugin command, GitHub direct install, tarball, link: development modePrerequisite: dsh CLI (or invoke apps/cli/lib/bin.js from the dsh install root). Choose one of the following:
# GitHub direct install (pure JS, zero dependencies, no build authorization)
dsh plugin --profile web add github:HubaKing/dsh-community-plugins
# Gitee mirror (faster in mainland China)
dsh plugin --profile web add https://gitee.com/HubaKing/dsh-community-plugins.git
# tarball (works offline)
curl -LO https://github.com/HubaKing/dsh-community-plugins/releases/download/v0.1.2/dsh-community-plugins-0.1.2.tgz
dsh plugin --profile web add ./dsh-community-plugins-0.1.2.tgz
# source + link (development mode, edits take effect immediately)
git clone https://github.com/HubaKing/dsh-community-plugins.git "${DSH_HOME:-~/.dsh}/plugins/dsh-community-plugins"
dsh plugin --profile web add link:${DSH_HOME:-~/.dsh}/plugins/dsh-community-plugins
Restart dsh after installing (bundle layers are composed at startup). Installation succeeds when dsh-community-plugins appears in <available_skills> of a new session.
When
dshis not on PATH, usenode <dsh install root>/apps/cli/lib/bin.js plugin --profile web add <spec>.
| File | Responsibility |
|---|---|
index.js |
Plugin entry: registers the skills/ directory into the global ctx.skills registry |
cordis.patch.yml |
Bundle patch layer: the - insert: row mounts the plugin at profile startup |
skills/dsh-community-plugins/SKILL.md |
The skill body the agent reads |
package.json |
Declares the dsh.bundle.patch manifest |
Key points:
prepare script or allowBuilds authorization (the build gate for TypeScript plugins, per the official docs)index.js re-reads from disk on every discovery; editing SKILL.md requires no restart or reinstallexport const name + export function apply(ctx) + dsh.bundle manifestEdit skills/dsh-community-plugins/SKILL.md; changes take effect on save, then git push to share with other users.
dsh-community-plugins/
├── index.js # Plugin entry (skill registration)
├── cordis.patch.yml # Bundle patch layer
├── package.json # dsh.bundle manifest
├── README.md # English
├── docs/
│ └── lang/
│ └── README_zh.md # 中文
└── skills/
└── dsh-community-plugins/
└── SKILL.md # The guide read by agents
apply/inject, lifecycledsh-plugin topic — community plugin aggregationMIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。