Introduction

The philosophy of DSH (DeepSeek Harness) is “Everything is a plugin.” For developers, publishing a local project usually involves multiple steps: creating a GitHub repository, committing code, syncing requirement progress to Linear, publishing to npm, and posting an announcement in the community. These operations are scattered and cumbersome, making it easy to miss steps.

dsh-deploy-master is a DSH deployment assistant plugin designed to automate the entire workflow of “publish a local project to GitHub + sync Linear + publish npm + join the community.” It runs as a host-side tool plugin, registers tools, and injects workflow prompts to turn the conversational agent into a deployment assistant.

Core Features

This plugin provides the following core capabilities:

  • GitHub Automatic Publishing: Through the dsh_deploy_github tool, it runs git init/commit/push, calls the GitHub API to create a repository, set topics, create a tag, and publish a release.
  • Linear Sync: Through the dsh_deploy_linear tool, it creates a requirement issue or updates a progress issue in Linear (status, priority, description).
  • Configurable / runtime inquiry: All configuration items can be set in cordis.yml, and they can also be provided by the agent asking the user during the conversation and passing the values as parameters. If configuration is missing, the tool returns a prompt.
  • npm Publishing + Community Participation: Through the dsh_deploy_npm tool, it runs npm publish and automatically adds the dsh-plugin / deepseek-harness / dsh topics, participating in the deepseek-harness community and dsh-plugin topic.
  • Community Announcement: Through the dsh_deploy_announce tool, it publishes a plugin announcement in the community repository’s GitHub Discussions (default category: “Show Your Plugins!”).

Installation & Activation

Run the following command in the terminal to install the plugin:

dsh plugin --profile web add dsh-deploy-master

After installation, restart the dsh process to apply the configuration.

Configuration

Plugin-dependent configuration items are mainly located in cordis.yml or the profile patch layer. The following is a key configuration example:

- id: dsh-deploy-master
  config:
    githubToken: ghp_xxxx            # GitHub PAT(需包含 repo 和 workflow 权限)
    githubOwner: your-username       # token 所属用户名
    npmToken: npm_xxxx               # npm granular token(需包含 publish 和 bypass-2FA 权限)
    linearApiKey: lin_api_xxxx       # Linear API key
    linearTeamKey: OLY               # Linear team key
    topics: [dsh-plugin, deepseek-harness, dsh]
    gitCommand: [git]
    discussionOwner: deepseek-ai           # 公告发布到的社区仓库 owner
    discussionRepo: deepseek-harness       # 公告发布到的社区仓库名
    discussionCategory: "Show Your Plugins!"   # 公告发布到的讨论分类
    injectWorkflowPrompt: true

All fields can be left empty. When configuration is missing, the dsh_deploy_check tool reports the status, and the workflow prompt guides the agent to request parameters from the user in the conversation. Each tool invocation can override the configuration.

Registered Tools

The plugin registers the following tools:

Tool Name Purpose
dsh_deploy_check View configuration status (which keys are filled in/missing)
dsh_deploy_github Local project → GitHub (create repo/push/topics/tag/release)
dsh_deploy_linear Sync requirement/progress to Linear (create/update issues)
dsh_deploy_npm npm publish
dsh_deploy_announce Publish a plugin announcement in community Discussions
dsh_deploy_help Capabilities and workflow description

Usage Example

Issue the command directly in the conversation. For example:

Please publish my current project to GitHub (repository name dsh-github-sidebar, public), sync the requirement to Linear, and publish it to npm.

The agent will first run dsh_deploy_check to verify the configuration. If configuration is missing (such as a token or repository name), it asks the user first, and after confirmation executes the GitHub → Linear → npm flow in sequence.

Security & Permissions

  • Token forwarding: All tokens are passed via Config or tool parameters and are not written to disk. dsh_deploy_npm injects them using the NODE_AUTH_TOKEN environment variable.
  • GitHub Push: When pushing, dsh_deploy_github uses a one-time URL such as https://<owner>:<token>@github.com/... and does not write the token into .git/config.
  • Permission recommendation: Use a dedicated token with least privilege, and rotate it after completion.

Use Cases & Notes

This plugin is suitable for developers who need to quickly standardize and publish local code to GitHub, manage Linear requirement progress, and connect to the DSH community.

Notes:
* The plugin runs with the permissions of the current dsh process; inspect the source code and license (MIT) before installation.
* Ecosystem context: The DSH community catalog (SkillHub) has no official affiliation with DeepSeek / High-Flyer.

Summary

Through tool injection and workflow guidance, dsh-deploy-master consolidates scattered publishing actions into a single natural-language instruction. For users accustomed to using DSH for development and debugging, this plugin can effectively lower the barrier to deployment and community maintenance.

Plugin Catalog | GitHub Repository