前言¶
DeepSeek Harness (DSH) 的核心能力在於交互式的會話與智能體運行。當需要處理部署級別的定時任務,或者在後臺靜默執行固定的操作流程時,現有的交互模式顯得不夠直接。syncended/deepseek-harness-automations 插件正是爲此設計的,它爲 DSH 提供了持久化、可配置的 Cron 任務調度能力。
插件定位¶
這是一個由 syncended 維護的 DSH 插件,旨在爲 DeepSeek Harness 插件生態提供標準的 Cron 調度支持。每個任務的觸發都會啓動一個新的、持久化的 Harness Agent,並連接到指定的工作區、模型路由、智能體預設和權限預設。
核心功能¶
該插件提供了一套完整的調度與執行控制機制:
- 調度支持:支持標準的五字段 Cron 表達式,並支持 UTC 或 IANA 時區。
- 精細化配置:每個任務可獨立配置工作區、提供商/模型、推理力度、智能體預設和權限預設。
- 任務管理:支持啓用/禁用、立即運行、編輯、刪除、取消,以及查看最近的運行歷史。
- 重疊與誤觸發策略:
- 重疊策略:
skip(跳過)、queue(排隊)、allow(允許併發)。 - 誤觸發策略:
skip(標記爲跳過)、run-once(合併執行)。
- 重疊策略:
- 狀態管理:使用原子操作管理所有者私有的狀態文件(默認位於
$DSH_HOME/automations/state)。 - 執行快照:提供不可變的執行快照和 Occurrence Key,確保重放安全的准入控制。
- 可擴展執行器:支持擴展執行器註冊表(MVP 版本包含
agent)。
安裝與啓用¶
安裝前請確保滿足以下環境要求:
* Node.js 22 或更新版本。
* DeepSeek Harness 版本 0.1.1-rc.2 或兼容版本,且 dsh web profile 可正常工作。
使用官方 npm 包安裝:
dsh plugin --profile web add @syncended/dsh-automations
安裝或升級後,請重啓 dsh web 進程,刷新頁面,然後通過主側邊欄的 Automations 或 Settings → Automations 進入管理界面。
配置與使用¶
在創建任務時,建議先創建一個小型的禁用任務,保存後使用 Run now 功能驗證選定的模型、工作區和權限預設。
調度設置¶
- 簡單模式:支持 Minutes、Hourly、Daily、Weekdays、Weekly。
- 自定義模式:選擇 Custom 可暴露原始的五字段 Cron 表達式(
minute hour day-of-month month day-of-week)。 - 時區:支持 UTC 或 IANA 時區(如
Europe/Berlin)。
任務配置¶
- Workspace:選擇現有工作區或手動輸入絕對路徑,該路徑將作爲 Agent 的當前工作目錄和
workspace-write根目錄。 - Agent & Access:配置 Prompt(用戶消息)、模型選擇、推理力度、智能體預設和權限預設。
- 高級設置:在摺疊的 Advanced 區域可配置超時時間、重疊策略和誤觸發策略。
插件配置¶
對於本地 Web profile,默認配置通常足夠。如需調整,請編輯 $DSH_HOME/profiles/web/cordis.patch.yml 中的 automations 配置項。修改後需重啓 Host。
- id: automations
config:
maxConcurrentRuns: 2
historyLimit: 1000
misfireGraceMs: 60000
maxOutputChars: 65536
allowedProjectRoots:
- /home/me/projects
# 可選:指定狀態文件路徑
# statePath: /absolute/private/path/state.json
配置項說明:
* allowedProjectRoots:留空表示接受 Harness 主機賬戶可解析的任何目錄。若 Web 界面暴露在受信任機器之外,建議配置具體根目錄。路徑通過 realpath 規範化處理。
* 數值範圍:maxConcurrentRuns 1-32,historyLimit 10-10,000,misfireGraceMs 0-86,400,000,maxOutputChars 1024-1,048,576。
注意事項¶
- 版本兼容:MVP 階段兼容
@deepseek-ai/dsh0.1.1-rc.2和0.1.2-rc.1。 - 單主機限制:當前 Worker 爲單主機模式。
- 崩潰處理:Cron 入口和運行歷史是持久化的。如果主機在運行過程中崩潰,已啓動的運行任務不會被重試(會被標記爲
interrupted),這是爲了避免在網絡或文件操作中產生靜默的重複副作用。 - Exactly-once:該插件不提供 Exactly-once 執行語義。需要 Exactly-once 的外部副作用必須在任務本身或目標系統中實現冪等性。
- 權限控制:
danger-full-access僅在作業作者選擇配置了該權限的預設時可用。 - API 訪問:管理 API 需要 JSON 格式數據及自定義的 Same-Origin Mutation Header。它繼承 DSH Web 服務器的信任邊界,無獨立的認證層。
結語¶
syncended/deepseek-harness-automations 爲 DeepSeek Harness 提供了可靠的調度基礎設施。它解決了在無活躍會話時啓動新工作區任務的需求,通過精細的權限和狀態控制,適合構建自動化的運維或數據處理流程。