DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

nguyenhnhatquang /

nguyenhnhatquang/DSH-Plugins

仅 Topic 仓库

DeepSeek Harness plugins

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: main@2b12724a

DSH-Plugins

Plugins for DeepSeek Harness (dsh) — an agent harness built on Cordis where everything is a plugin.

Each package under packages/ is an independently installable dsh bundle.

Plugins

Package What it does
dsh-plugin-browserkit Gives agents a real browser to drive and to verify: accessibility snapshots, ref-based interaction, assertions, tabs, dialogs, login persistence, uploads, screenshots, console/network inspection, and CDP attach to an existing browser. One isolated browser per agent.

Install

# into a profile
dsh plugin --profile <profile> add <spec>     # spec: npm name, absolute path, tarball, or git URL

# verify the bundle composed
dsh --profile <profile> --dump-config
dsh --profile <profile> --dump-config-schema

The Desktop app owns its desktop profile, so the CLI refuses to manage it. Install through the GUI's Plugins page, or add a row to %USERPROFILE%\.dsh\cordis.patch.yml (the home layer applies to every profile).

Repository layout

packages/<name>/
  package.json        # name, dsh.bundle.patch, dependencies
  cordis.patch.yml    # the bundle's patch layer: which plugin rows it inserts
  lib/                # the plugin entry and its modules (plain ESM, no build step)
  locale/             # display metadata: meta.title, meta.description
  test/               # node:test suites

Plugins here ship plain ESM JavaScript with no build step. A dsh plugin is a module exporting name / inject / Config / apply, and a bundle is a package whose package.json declares which patch file inserts its rows. Neither needs a compiler, so a checked-out plugin can be loaded from an absolute path immediately — which is what scripts/dev-overlay.mjs does.

Development

pnpm install
pnpm test              # every package's node:test suite
pnpm run dev:overlay   # write .dev/overlay.cordis.patch.yml referencing the working tree

Conventions this repo follows

  • Function-plugin contract: named exports only, no default export — a default export makes the Loader discard inject.
  • Config is a native Schemastery schema, because the harness introspects it for --dump-config-schema and for configuration forms. A plain Standard-Schema object loads but fails the dump.
  • No hardcoded tunables: anything two deployments might set differently is a validated config field, and an unknown key fails at load instead of silently keeping a default.
  • Registrations are effects: anything registered through ctx unwinds on unload, so resources are released by ctx.effect(...) disposers rather than manual teardown.
  • Tool schemas stay inside the harness's JSON-Schema subset (type/oneOf/properties/required/additionalProperties/items/enum/const plus annotations). Each package pins this with a test: ToolRuntime.register() rejects the whole plugin entry otherwise, which is a startup failure rather than a runtime one.
  • Tests exercise the real thing. Fakes substitute for the harness context, not for the external system the plugin drives.

License

MIT — see each package's LICENSE.

—/ 5

暂无评分

需要先验证清单

Commit 2b12724a0d8c

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于