🧩 Mayfly / DSH Plugin Marketplace
The official plugin marketplace for Mayfly and DeepSeek Harness (dsh): Ephemeral AI Lab's own plugins (source in this repo), curated dsh optional plugins, and community submissions.
Two things live here:
plugins/— the source of Ephemeral AI Lab's official plugins.registry/— the marketplace: one JSON manifest per listing. CI aggregates them intodist/index.json, the document Mayfly's/plugincommand and the website catalog consume.
⚡ Installing plugins
In Mayfly (TUI):
/plugin # browse, search, inspect, install, remove
/plugin install <id> # e.g. /plugin install loop
Or with the dsh CLI directly (works for any profile):
# npm source
dsh plugin --profile mayfly add @deepseek-ai/dsh-terminal-bash @deepseek-ai/dsh-tool-terminal
# GitHub source (monorepo subdirectories work; pinned refs preferred)
dsh plugin --profile mayfly add 'github:Ephemeral-AI-Lab/dsh-plugins#main&path:plugins/loop'
Restart the profile and start a new session after installing. Entries with
activation: profile-patch additionally need their rows in the profile's
cordis.patch.yml — the /plugin command does this for you; see
docs/market.md for the manual path.
📦 Current listings
| id | source | surfaces | what it adds |
|---|---|---|---|
codex-terminal |
official | server | Codex-style persistent shell: exec_command / write_stdin |
loop |
official | server · web | Recurring prompts & alarms: loop_* tools, /loop, Web panel |
mock |
official | server · web | Deterministic mock model turns: /mock run / replay (unstable) |
sessions |
official | server | Multi-session orchestration: session_status/create/send tools |
coding-plan |
official | server | Reuse codex login / grok login subscriptions as providers |
preset-builder |
official | web | Preset details page in dsh Web Settings |
workbench-ui |
official | web | The Web workbench frame other panels dock into |
sidechat |
official | server · web | Side-chat panel on the Web workbench (needs workbench-ui) |
terminal |
dsh | server | PTY terminal: terminal_open/send/read/signal/close/list |
lsp |
dsh | server | Read-only lsp navigation tool |
mcp |
dsh | server | MCP client: mcp__server__tool external tools |
acp |
dsh | server | Agent Client Protocol server |
code-runtime-ts |
dsh | server | run_code TypeScript worker-thread runtime |
code-runtime-py |
dsh | server | run_code Python runtime |
server plugins work in any frontend (tools render generically); web adds a
dsh Web client module; tui adds Mayfly-native UI. A plugin is useful in a
given frontend if it has server or that frontend's own contribution.
📥 Submitting a plugin
Published an npm package (or a GitHub repo with committed build output)? Submit a listing:
- Read
registry/community/README.md. - Copy
registry/submission-template.jsontoregistry/community/<slug>.jsonand open a PR. - CI scratch-installs every declared source; a maintainer reviews against the review checklist.
The manifest spec is docs/market.md — manifests are
discovery/install metadata only; the runtime contract is still your
package plus its cordis.patch.yml.
🛠️ Repository scripts
node scripts/validate-manifests.mjs # schema + semantics, zero deps
node scripts/verify-packages.mjs # npm tarball + GitHub scratch-install checks
node scripts/build-index.mjs # rebuild dist/index.json + dist/catalog.json
dist/ is generated — changes land through the index-publish workflow's
auto-merged PR, never by hand.
🛠️ Plugin development
Each plugin under plugins/ is an independently installable package:
cd plugins/loop
pnpm install
pnpm test
pnpm build
The source tree intentionally stays outside the DeepSeek Harness repository; dsh composes plugins through profile-scoped installation and patch layers. See AGENTS.md for the agent working rules and docs/ for architecture notes and how-to guides.
📚 Documentation
- Marketplace & manifest spec
- Plugin docs — each plugin directory has its own README
- Architecture & how-to guides
- Mayfly · Mayfly website
🤝 Contributing
Issues, ideas, and pull requests are welcome. Keep plugins focused, document their runtime contracts, and include tests for changes to tools, persistence, or UI behavior.
📄 License
Released under the MIT License.
还没有评论,来写第一条。