DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Pilot — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-pilot

Pilot

为你的 DeepSeek Harness agent 提供操作能力——采用原生权限模型实现自主浏览器操作。Accessibility-ref 页面快照让纯文本模型无需视觉或猜测 CSS 选择器即可导航、执行操作和测试。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-pilot@0.1.1
README兼容性版本

兼容性与来源证明

Pilot 以 dsh-pilot 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.1stable
2026/8/17
0.1.0stable
2026/8/16

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
89.9 kB
文件数
16
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 2
周下载
185
安全扫描
✓ v0.1.1 扫描通过
最近提交
2026/8/17
查看源码 ↗
项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 search-research 分类下经过校验的插件。

Browser Skill Dsh Plugin@wxg-prc-cpg/browser-skill-dsh-plugin向模型提供 BrowserSkill 浏览器自动化(browser_* 工具)的 DeepSeek Harness 工具插件Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:13 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl 无需密钥;Parallel/Perplexity/SerpBase/DeepSeek 需要密钥),支持时间筛选、平台搜索和 web_fetch,并提供网页设置界面。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。

README

dsh-pilot

English | 中文

Hands for your DeepSeek Harness agent — autonomous browser operation with a native permission model.

Your dsh agent can already see pages (dsh-preview); dsh-pilot lets it drive them: navigate, read any page as a numbered accessibility tree, act on elements by ref, wait for conditions, upload files, and test complete flows — all without vision, CSS-selector guessing, or a second model. Built for text-only models: the page IS text.

What it looks like

Real, unedited runs from a headless dsh agent (DeepSeek-V4-Pro):

Form flow, fully autonomous. This is what pilot_snapshot actually returns for a registration page — the agent's entire view of it:

- heading "用户注册" [level=1] [ref=e2]
- generic [ref=e3]:
  - text: 用户名
  - textbox "用户名" [ref=e5]
  - text: 邮箱
  - textbox "邮箱" [ref=e7]
  - text: 套餐
  - combobox "套餐" [ref=e9]:
    - option "免费版" [selected]
    - option "专业版"
  - checkbox "同意服务条款" [ref=e11]
  - button "提交注册" [ref=e12]
  - button "重置" [ref=e13]

From there: fill e5 and e7, select 专业版 on e9, check e11, click e12, pilot_wait for the success text (hit in 5ms), screenshot, close. Zero console errors, zero selectors written, no vision model in the loop.

Permissions that follow the session — the same agent asked to open https://example.com:

  • under the default workspace-write session: refused — the approval chain answered unavailable and the agent was told exactly what config to request;
  • under danger-full-access (the user opted out of prompts): opens silently, no gate in the way.

That is the design: the plugin never invents a second permission system. It reads the dsh session's own durable permission events and behaves accordingly.

Install

dsh plugin --profile web add dsh-pilot

Uses your installed Google Chrome / Microsoft Edge automatically; otherwise run npx playwright install chromium once and set browserChannels: [chromium]. Requires Node ^22.19 || >=24.

Tools

ToolWhat it does
pilot_navigategoto / back / forward / reload, tabs. The single origin-gated entry; decisions are enforced at the network layer (redirects, link-outs, history moves included).
pilot_snapshotThe page as an accessibility tree with [ref=e12] markers bound to concrete elements — shadow DOM and same-origin iframes (f1e3) included.
pilot_actclick / type / press / hover / select / check / uncheck / upload by ref. Reports console errors it caused and whether it navigated.
pilot_waitWait for a selector, text, URL fragment, or network idle — returns satisfied: false instead of blind-retry loops.
pilot_screenshotViewport or full-page PNG into the workspace, for the human.
pilot_closeClose tabs when done.

Refs come from playwright's engine-bound accessibility snapshots (aria-ref locators — the same mechanism playwright-mcp uses in production), so snapshot order can never misdirect an action. Stale refs are refused with instructions to re-snapshot.

The permission model

  1. localhost always works — frontend testing needs no setup.
  2. allowedOrigins pre-authorizes known-good origins/hostnames.
  3. Anything else follows the dsh session (newOriginPolicy: auto, the default):
    • session approval policy ask → a standard dsh approval card asks the user once per origin;
    • session under danger-full-access (approval policy never) → silent allow — a user who opted into full access is not re-gated by a plugin;
    • no approval channel (unattended automation) → fail closed.
  4. Network-layer fence: the decision is enforced by request interception on the browser context, so redirects, in-page link clicks, and back/forward cannot drift past the entry gate. Popups (window.open, target=_blank) are closed on arrival.
  5. Credential hygiene, independent of permission mode: typing/pressing into password fields is refused unless the deployment sets allowPasswordFields: true — dsh itself never lets credential literals reach model context, and neither does this plugin. Uploads are restricted to workspace files; downloads land in downloadDir.
  6. Page content is data, not instructions — the bundled skill drills this in.

Configuration

- id: pilot
  name: dsh-pilot
  config:
    headless: true
    browserChannels: [chrome, msedge, chromium]
    viewportWidth: 1280
    viewportHeight: 800
    navigationTimeoutMs: 15000
    actionTimeoutMs: 5000
    waitMaxMs: 60000
    snapshotMaxChars: 24000
    maxTabs: 8
    allowedOrigins: []
    newOriginPolicy: auto       # auto | ask | deny | allow
    allowPasswordFields: false
    profileDir: ''              # set a path to keep logged-in state (understand the risk)
    screenshotDir: .dsh-pilot
    downloadDir: .dsh-pilot/downloads
    maxConsoleMessages: 100
    registerSkill: true

profileDir opt-in gives the agent a persistent browser profile — everything logged in inside that profile becomes operable by the agent. Leave empty for a fresh isolated context per run.

Known limitations

  • Approved origins accumulate for the plugin instance's lifetime and are shared across sessions of one dsh process (one shared browser context).
  • Canvas-rendered content has no accessibility semantics; pilot_screenshot shows it to the human, and screenshot→vision-model routing is on the roadmap.
  • Headless rendering differs from a desktop browser (pointer lock, some GPU paths, OS dialogs).
  • playwright-core is pinned to ~1.62.0: the ref-bearing snapshot mode is validated per minor version before upgrading.

Family

PluginWhat it gives your agent
dsh-preview👁 Eyes — verify what it builds: open, read, screenshot, self-check
dsh-pilot (this repo)✋ Hands — operate any page by accessibility refs, with a native permission model
dsh-review🔍 Judgement — find defects, then try to refute each one before reporting it
dsh-design🎨 Taste — constrain the choices, then measure whether the result kept them

Each installs independently and they coexist. Design rationale and milestones: DESIGN.md.

Development

git clone https://github.com/Viger1/dsh-pilot.git && cd dsh-pilot
corepack pnpm install
corepack pnpm run build
dsh plugin --profile web add /absolute/path/to/dsh-pilot

License

MIT