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_githubtool, it runsgit 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_lineartool, 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_npmtool, it runsnpm publishand automatically adds thedsh-plugin/deepseek-harness/dshtopics, participating in the deepseek-harness community and dsh-plugin topic. - Community Announcement: Through the
dsh_deploy_announcetool, 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_npminjects them using theNODE_AUTH_TOKENenvironment variable. - GitHub Push: When pushing,
dsh_deploy_githubuses a one-time URL such ashttps://<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.