メインコンテンツへスキップ
G

dsh-plugins

genesis-agents/dsh-plugins

A source library for DeepSeek Harness: 72 feeds on an hourly timer, a reader with transcripts and translation, and a publisher that turns what it collects into a podcast, a digest, or a report

インストール

dsh plugin --profile web add github:genesis-agents/dsh-plugins

README

dsh-plugins

Plugins for DeepSeek Harness. One directory per plugin; each is a self-contained package with its own package.json.

PluginOn npmWhat it does
dsh-agents-swarm@ai4gensteam/dsh-agents-swarmA source library — 72 feeds on an hourly timer, a reader with transcripts and translation, and a publisher that turns what it collects into a podcast, a digest or a report
dsh-web-search-serper@ai4gensteam/dsh-web-searchWeb search for the ctx.web seam over interchangeable backends: Serper, Tavily, Brave
dsh-brand-mineA brand mark and wordmark in the sidebar and conversation hero slots
dsh-agent-presetsAgent presets kept in git, published into the writable preset root at boot

The directory name and the package name differ for the search plugin: the directory kept -serper from when Serper was the only backend, the package did not. What the harness resolves is always the package name.

Install

You need a harness first — these are plugins for one, not programs:

npm install -g @deepseek-ai/dsh
dsh --version                  # verified against 0.1.1-rc.2

Then add the plugins to the profile's package.json and let the harness mount them:

{
  "dependencies": {
    "@ai4gensteam/dsh-agents-swarm": "^0.3.2",
    "@ai4gensteam/dsh-web-search": "^0.3.2"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@ai4gensteam/dsh-agents-swarm",
        "@ai4gensteam/dsh-web-search"
      ]
    }
  }
}
cd ~/.dsh/profiles/web && npm install
dsh web --no-open        # then open http://127.0.0.1:3080

Bundle order is load order: a patch only sees what was applied before it, so a bundle placed ahead of the one it customises gets overwritten by it.

Node 24 or newer — dsh-agents-swarm uses node:sqlite unguarded.

Each plugin's own README covers its settings and the keys it needs. Nothing works without them, and none of them are in this repository.

Develop against a checkout

git clone https://github.com/genesis-agents/dsh-plugins
cd dsh-plugins && ./deploy/setup.sh

setup.sh links every plugin into ~/.dsh/profiles/web and installs their dependencies. It is idempotent, safe to re-run after a pull, and it merges — plugins in your profile that this repo does not own are left alone.

One argument, the only genuinely per-machine choice, is where the source library lives:

./deploy/setup.sh                                # this machine owns it
./deploy/setup.sh https://box.tailnet.ts.net     # proxy to the machine that does
./deploy/setup.sh /srv/data/swarm-sources.sqlite # own one at a chosen path

Then ./deploy/doctor.sh to check the result, and ./deploy/release-check.sh before trusting anything that was published.

Why lib/ is committed

A git install fetches sources, not build output, so a consumer running dsh plugin add github:... would otherwise receive a package that cannot load. The alternative is a self-contained prepare script — see docs/user/develop/basic/publish.md in the harness repository and the turtle-ui example.

Documentation

  • Architecture — what runs where, the pipeline, the data, the seams, and a table of failures that do not announce themselves
  • 洞察 — a landing plan — the design for the stage between collecting and publishing, and what the comparable systems taught it
  • Running it on a Mac mini — a migration that was actually carried out, including the steps whose first draft was wrong
  • deploy/ — setup, health check, self-update, release

License

MIT

関連プラグイン