前言¶
DSH(DeepSeek Harness)的理念是「一切皆插件」。對於開發者而言,完成一個本地項目的發佈通常涉及多個步驟:創建 GitHub 倉庫、提交代碼、同步需求進度到 Linear、發佈到 npm 以及在社區發佈公告。這些操作分散且繁瑣,容易遺漏環節。
dsh-deploy-master 是一個 DSH 部署助手插件,旨在將「本地項目發佈到 GitHub + 同步 Linear + 發佈 npm + 加入社區」這一整套流程自動化。它作爲 host 側 tool 插件運行,通過註冊工具和注入工作流提示詞,讓對話 agent 變成部署助手。
核心功能¶
該插件提供了以下核心能力:
- GitHub 自動發佈:通過
dsh_deploy_github工具,執行git init/commit/push,調用 GitHub API 創建倉庫、設置 topics、打 tag 併發布 release。 - 同步 Linear:通過
dsh_deploy_linear工具,在 Linear 中創建需求 issue 或更新進度 issue(狀態、優先級、描述)。 - 可配置 / 運行時詢問:所有配置項既可在
cordis.yml中設置,也支持在對話中由 agent 向用戶詢問後作爲參數傳入。缺失配置時,工具會返回提示。 - 發佈到 npm + 加入社區:通過
dsh_deploy_npm執行npm publish,並自動帶上dsh-plugin/deepseek-harness/dshtopics,參與 deepseek-harness 社區與 dsh-plugin topic。 - 社區公告:通過
dsh_deploy_announce工具,在社區倉庫的 GitHub Discussions 裏發佈插件公告(默認分類爲 “Show Your Plugins!”)。
安裝與啓用¶
在終端執行以下命令安裝插件:
dsh plugin --profile web add dsh-deploy-master
安裝完成後,需要重啓 dsh 進程以使配置生效。
配置¶
插件依賴的配置項主要位於 cordis.yml 或 profile 的 patch 層中。以下爲關鍵配置項示例:
- 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
所有字段均可留空。當配置缺失時,dsh_deploy_check 工具會報告狀態,工作流提示詞會引導 agent 在對話中向用戶索取參數,每次調用工具時可覆蓋配置。
註冊的工具¶
插件註冊了以下工具:
| 工具名 | 作用 |
|---|---|
dsh_deploy_check |
查看配置狀態(哪些 key 已填/缺失) |
dsh_deploy_github |
本地項目 → GitHub(建倉/推送/topics/tag/release) |
dsh_deploy_linear |
同步需求/進度到 Linear(創建/更新 issue) |
dsh_deploy_npm |
npm publish |
dsh_deploy_announce |
在社區 Discussions 發佈插件公告 |
dsh_deploy_help |
能力與工作流說明 |
使用示例¶
直接在對話中下達指令即可。例如:
幫我把當前項目發佈到 GitHub(倉庫名 dsh-github-sidebar、公開),同步需求到 Linear,併發布到 npm。
agent 會先執行 dsh_deploy_check 檢查配置。如果配置缺失(如 token 或倉庫名),它會先向用戶詢問,確認後依次執行 GitHub → Linear → npm 的流程。
安全與權限說明¶
- Token 傳遞:所有 token 均通過 Config 或工具參數傳遞,不寫入磁盤。
dsh_deploy_npm使用NODE_AUTH_TOKEN環境變量注入。 - GitHub 推送:
dsh_deploy_github推送時使用https://<owner>:<token>@github.com/...的一次性 URL,不會將 token 寫入.git/config。 - 權限建議:建議使用具有最小權限的專用 token,並在完成後輪換。
適用場景與注意¶
該插件適用於需要快速將本地代碼標準化發佈到 GitHub、管理 Linear 需求進度並接入 DSH 社區的開發者。
注意事項:
* 插件以當前 dsh 進程的權限運行,安裝前建議檢查源碼與許可證(MIT)。
* 生態背景:DSH 社區目錄(SkillHub)與 DeepSeek / 幻方無官方從屬關係。
總結¶
dsh-deploy-master 通過工具注入和工作流引導,將分散的發佈動作整合爲一個自然語言指令。對於習慣使用 DSH 進行開發調試的用戶,這一插件能有效降低部署和社區維護的門檻。