前言¶
DeepSeek Harness(DSH)可以在本地通過自動化與提醒跑定時腳本,但不少任務需要長期在線、與本機無關的執行環境——例如日報生成、輕量 ETL、只在 VPS 上纔有依賴的腳本。常見做法是 SSH 或開放端口,安全組與密鑰管理成本不低;本機關機後 cron 也不會再跑。
下面介紹社區插件 dsh-remote-automation(維護者 knight8818,GitHub 分類爲工作流):在 DSH 側欄增加「雲端任務」頁面和一組 Agent 工具,通過雲廠商的零入站命令通道(阿里雲 Cloud Assistant、騰訊雲 TAT、AWS SSM)在你自己的 ECS / CVM / EC2 上執行腳本,無需 SSH、不必開放入站端口。
這是什麼¶
dsh-remote-automation 是 DeepSeek Harness 的宿主 + Web 客戶端插件(當前倉庫版本 0.4.0,MIT 許可證)。它解決的是:在 DSH 對話裏創建、查看、立即運行和刪除遠程定時任務,並把腳本與可選 cron 部署到實例上的指定目錄(默認 /opt/automation)。
已支持 阿里雲 ECS、騰訊雲 CVM、AWS EC2(SSM);雲廠商通過 lib/providers.js 與 lib/clients.js 抽象,README 說明 Azure / GCP 可按同一接口擴展。插件需要 Web profile(桌面版或 dsh web),在 webServer 上註冊側欄與 HTTP 路由;headless / SDK profile 無此服務,插件不會加載。
目錄頁:https://www.skillhub.cn/plugins/knight8818/dsh-remote-automation
源碼:https://github.com/knight8818/dsh-remote-automation
核心功能¶
側欄「雲端任務」¶
在側欄「自動化任務」下方新增「雲端任務」:可切換雲廠商、查看實時狀態、立即運行、看日誌、刪除。打開頁面即刷新,可見時輪詢。每個任務會記住創建時的雲廠商,之後切換默認廠商或腳本目錄,舊任務仍按原廠商運行、查詢與刪除。
創建任務時的分流¶
通過工具 automation_create 創建任務時會先問「雲端服務器」還是「本地 DSH 提醒」,沒有默認值。選雲端則在頁面當前選中的雲廠商上生成腳本與可選 cron;選本地則轉去創建 schedule_* 提醒。
零入站與憑證¶
實例側只走出站 HTTPS(例如 ecs.<region>.aliyuncs.com、tat.tencentcloudapi.com 或 ssm.<region>.amazonaws.com)。倉庫不含任何憑證;頁面僅展示打碼後的 AccessKey ID / SecretId,密鑰不回傳。配置寫入 $DSH_HOME/remote-automation/config.json(默認 ~/.dsh/remote-automation/config.json),權限 0600;環境變量可覆蓋(如 DSH_RA_PROVIDER、DSH_RA_SERVER_DIR 及各廠商對應變量,見 README 表格)。
Agent 工具¶
| 工具 | 作用 |
|---|---|
automation_create |
創建自動化任務;支持 command 內聯或 sourcePath 製品 |
cloud_task_list |
列出各廠商任務與實時狀態 |
cloud_task_run |
立即觸發(使用任務所屬廠商) |
cloud_task_logs |
查看日誌尾部 |
cloud_task_delete |
刪除腳本、cron 與日誌 |
狀態通過實例上只讀腳本反饋:運行中(pid 存活)、上次退出碼(日誌中 EXIT <code>)、最近日誌時間。插件只監控其創建的任務。
部署方式:內聯與製品¶
- 內聯(
command):單條命令或小腳本,≤ 12 KB。 - 製品(
sourcePath+entry):本地目錄打tar.gz並校驗sha256,經雲助手通道分塊下發到<腳本目錄>/tasks/<任務id>/,cron 之後只跑已解壓文件。製品硬上限 20 MB;超過 2 MB 時 README 建議改用對象存儲。阿里雲在製品 ≤ 24 KB 且具備ecs:SendFile權限時可原生下發,否則自動分塊。
倉庫自帶 AGENTS.md,便於 Agent 按文檔安裝、驗證與升級。
環境要求¶
| 要求 | 說明 |
|---|---|
| DeepSeek Harness | >= 0.2.0(需 bundle layer + 客戶端插件支持) |
| Node.js | >= 20 |
| 雲服務器 | 對應雲助手 / TAT / SSM Agent 在線 |
| 網絡 | 實例能出站訪問各廠商 API 的 443 端口 |
安裝與啓用¶
推薦讓 DSH 內的 Agent 按倉庫 AGENTS.md 安裝;也可在已安裝 dsh CLI 後執行官方命令(desktop 爲常見 profile 名,dsh web 時改爲 web):
npm install -g @deepseek-ai/dsh
dsh plugin --profile desktop add github:knight8818/dsh-remote-automation
不想全局安裝時:
npx --yes @deepseek-ai/dsh@latest plugin --profile desktop add github:knight8818/dsh-remote-automation
包聲明瞭 dsh.bundle.patch,上述命令會把 bundle layer 追加到 profile,一般無需手改 YAML。僅驗證是否寫入 layer:
dsh --profile desktop --dump-config | grep dsh-remote-automation
無論哪種安裝方式,裝完後需完全退出 DSH(含托盤)再啓動,宿主插件纔會掛載;只刷新頁面不夠。
配置要點¶
在側欄「雲端任務」頂部選擇 阿里雲 ECS、騰訊雲 CVM 或 AWS EC2,點「編輯」保存後即爲當前默認廠商。各廠商需填寫 RAM / CAM / IAM 子賬號密鑰、地域與實例 ID;README 提供最小權限 JSON(如阿里雲 ecs:RunCommand、ecs:DescribeInvocationResults 等,不含刪實例或改安全組)。
「腳本目錄」三家共用,默認 /opt/automation。已保存密鑰在輸入框留空保存則沿用舊值。
典型用法¶
在對話中說明意圖,例如:
每天 9 點,在雲端服務器上跑我的 daily-report 腳本。
Agent 會走 automation_create,先確認雲端或本地。部署本地目錄時可以說:
把本地 C:\work\etl 部署成每天 2 點的雲端任務,入口 bash run.sh
對應調用形如 automation_create({ name, sourcePath, entry, schedule })。
適用場景與注意¶
適合:已有阿里雲 / 騰訊雲 / AWS 實例、希望 DSH 統一編排「對話裏建任務 + 側欄看狀態」、且不想爲自動化單獨開 SSH 或入站端口的開發者。
注意:
- 插件以當前 DSH 進程權限運行;安裝前請自行審閱源碼與 MIT 許可證,雲賬號密鑰僅存本機
config.json,仍屬高敏感配置。 - 僅 Web profile 可用;純 headless / SDK 場景不會加載此插件。
- 社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,插件屬社區「一切皆插件」生態,非官方應用商店條目。
- 從 README 所述的手動安裝
0.1.x升級時,需先移除舊node_modules副本與cordis.patch.yml中重複的id: remote-automation,避免重複註冊。
結尾¶
dsh-remote-automation 把 DSH 的定時自動化延伸到自有的多雲實例:側欄管理、Agent 工具、零入站命令通道與可選製品部署,適合把「每天幾點在雲上跑腳本」收進同一套 Harness 工作流。