Dsh-Github

August 15, 2026 · View on GitHub

Dsh-Github

中文 | [English] | dsh-plugin topic

platform for install version license dsh-plugin

Publish your DeepSeek Harness plugins to GitHub with a single command.

Built specifically for DeepSeek Harness — smarter · more convenient · auto-polished. Post-publish tweaks, UI refinements and beautification all happen in the same session.

GitHub Cover


features Features

FeatureDescription
one-commandOne-command publishTriggered from the DeepSeek Harness settings page — one command uploads your complete local plugin source to a GitHub repository
ai sessionSmart AI sessionPublishing spawns a dedicated AI session that handles repo creation, source upload and push automatically
topicAuto topic taggingThe repository is tagged with the dsh-plugin topic so the DSH plugin ecosystem can find it
bilingualBilingual READMEAuto-generates a bilingual README (Chinese & English) plus a dark-tech banner for a global audience
polishOngoing polishPost-publish fixes, UI detail tweaks and beautification continue in the same session — no need to republish
secureSecure by designYour GitHub token is only injected via environment variables and never written into any committed file

install Installation

This is a Web plugin — the one-command install below is the recommended path.

Run this in any terminal:

dsh plugin --profile web add github:LvsH13/dsh-github

The command runs pnpm add inside your web profile directory, adding dsh-github to its dependencies automatically. Then add the plugin to the insert list of cordis.patch.yml as described in the Configuration section, and restart dsh web.

tip If dsh is not found, install DeepSeek Harness first — the dsh CLI becomes globally available afterwards.

manual Option 2: Manual install

  1. Open your web profile directory (default %USERPROFILE%\.dsh\profiles\web, customizable via the DSH_HOME environment variable);

  2. Add the package to dependencies in package.json:

    "dsh-github": "github:LvsH13/dsh-github"
    
  3. Add the plugin to the insert list of cordis.patch.yml (see the Configuration section);

  4. Restart DeepSeek Harness (dsh web).

preset Note on Agent-preset plugins

For Agent-preset plugins: copy the plugin directory into your preset root (e.g. %USERPROFILE%\.dsh\.agent-presets\) and restart — it takes effect immediately. This plugin is a Web plugin, so it uses the install methods above instead.


usage Usage

  1. Start DeepSeek Harness (dsh web) and open the settings page — find the Git 发布 / Git Pub (GitPub) entry;
  2. Fill in the publish details: plugin source directory, repository name, description, design requirements, language mode and visibility — then paste your Personal Access Token (see the tutorial below);
  3. Click Publish — a dedicated AI session is created automatically;
  4. The session automatically: creates the GitHub repo → uploads the plugin source → adds the dsh-plugin topic → generates the bilingual README & cover → pushes to GitHub;
  5. After publishing, keep requesting fixes, UI polish or beautification in the same session — no need to leave the harness.

token Getting a Personal Access Token (step-by-step)

Publishing plugins requires a GitHub Personal Access Token — think of it as a "publish-only key". The whole process takes about 2 minutes:

  1. Open GitHub and sign in: visit https://github.com/login in your browser and sign in (create an account first via Sign up if you don't have one);
  2. Open settings: click your avatar in the top-right corner → choose Settings from the dropdown menu;
  3. Find Developer settings: scroll all the way down the left-hand settings menu and click Developer settings at the very bottom;
  4. Open the tokens page: click Personal access tokens in the left menu to expand it, then click Tokens (classic);

    Direct link: https://github.com/settings/tokens (open it while signed in to jump straight there)

  5. Create a token: click the green Generate new token button in the top-right, then choose Generate new token (classic);
  6. Add a note: in the Note field, type something like dsh-github-publish so you can recognize it later;
  7. Set an expiration: in Expiration, pick a duration — 30 days is recommended (plenty for one publish, and shorter is safer);
  8. Select scopes: tick repo in the Select scopes area (the whole repo group, including repo:status, repo_deployment, public_repo, etc., is selected automatically) — this permission is required to publish repositories;
  9. Generate the token: click the green Generate token button at the bottom of the page;
  10. Copy the token: a string starting with ghp_ appears at the top of the page — click the copy button on its right;

    warning Important: this string is shown only once. Once you close or refresh the page it is gone forever — copy and store it safely right away;

  11. Paste it into the plugin: return to DeepSeek Harness → Settings → Git 发布 / Git Pub, and paste the token into the Personal Access Token field (used for this session only, never saved);
  12. Publish: fill in the remaining details and click Publish — the AI session automatically handles repo creation, upload, polish and push;
  13. Delete it afterwards (recommended): once publishing is done, go back to https://github.com/settings/tokens and click Delete next to the token to eliminate any risk of leakage.

Quick path: github.com → avatar → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token (classic)

Troubleshooting:

  • 401/403 or insufficient permissions: check that the repo scope is selected and the token hasn't expired; simply generate a fresh token;
  • Token rejected: make sure you didn't copy extra spaces or miss characters — copy and paste again;
  • Security: treat the token like a password — never share it, never put it in code or chat logs. This plugin only uses it to access your own repositories, and only via environment variables — it is never written to disk.

config Configuration

SettingLocationDescription
DSH_HOMEEnvironment variableDSH data root, defaults to %USERPROFILE%\.dsh
web profile$DSH_HOME\profiles\web\The profile directory holding web-plugin dependencies and patches
package.jsoninside the web profileDeclares plugin packages under dependencies
cordis.patch.ymlinside the web profileThe user patch layer — add the plugin's id/name to the insert list

Example cordis.patch.yml (inserting dsh-github after an existing row):

- id: <existing-row-id>
  insert:
    - dsh-github

tip The anchor row id depends on the current composed tree — run dsh --profile web --dump-config to inspect it.

Token safety: your GitHub token is only injected through environment variables (e.g. $env:GHPUB_TOKEN = (Get-Content -Raw <path>).Trim()), never written into any committed file, and never shown in plain text in conversations.


screenshots Screenshots

Settings page — Git Pub entryOne-command publish session
Settings page Git Pub entryPublish session

The result: your GitHub repository page — bilingual README + dark-tech cover + dsh-plugin topic

Published GitHub repository page

Want more screenshots (installation steps, token setup, before/after polish)? Drop them into the images\ folder of this session's workspace and they will be laid out here automatically.


license License

MIT © 2026 LvsH13

Made for DeepSeek Harness · dsh-plugin topic